So I have a specific use case where my colleagues have kept thousands of articles across the years deemed as "Good", among hundreds of thousands of other articles deemed as bad and they didn't keep!

My objective is to train an NLP Deep Learning Model to detect which articles are good and which are bad. Since I don't have the "Bad" articles I cannot use Binary Classification.

So my questions are: 1- is One-Class Text Classification is suitable for this task? 1.1- if yes, please let me know how to do it in the context of NLP. 2- Are there other solutions or suggestions for this use case?

P.S. I have found some research and code for similar use cases like Anomaly Detection and fraud detection, but the nature of this use case is different. Because first I have textual documents and what I found are tabular data. And second, is that I have thousands of documents that are labeled as "Good" among hundreds of thousands that are labeled "Bad" and were not kept in the database. But in the case of Anomaly Detection and Fraud detection or other similar use cases, most of the data is labeled as "Good" therefore we're looking for exceptions.

I'm really looking forward to your answers, suggestion, and thoughts and I'm very open to discussions. Thank You.


1 Answer 1


Since you mention deep learning, one option is to embedded the documents and then cluster the documents.

Each cluster could be labeled as "Good" or "Not Good". The labeling could be done by hand or automatically by voting with existing labels (e.g., if a majority of the documents are "Good" then the entire cluster is "Good").

The trained regions could also be used for prediction.

  • $\begingroup$ As I have explained I only have the "Good" documents, so that will not solve the issue, and that's why I was asking about an approach maybe for one-class classification using NLP. And labeling years of long articles by hand is far fetched. $\endgroup$
    – MXK
    Jul 6, 2021 at 16:30
  • 1
    $\begingroup$ Label only the clusters. You can pick the number of clusters. $\endgroup$ Jul 6, 2021 at 17:14
  • 2
    $\begingroup$ Little different - 1. Embed using a pre-trained 2. Cluster 3. Need some "Not good" examples to figure out the thresholds beyond which if a document is away from all the clusters then is a "Not good" document. 4. or instead of 3rd step, you may use the peripheral document's document distance as Threshold $\endgroup$
    – 10xAI
    Jul 7, 2021 at 16:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.