使用余弦相似度对文档进行分类

时间:2019-06-11 08:20:44

标签: nlp classification data-science text-mining cosine-similarity

我有一组用于五个不同类别的文件,并且大多数文件未正确标记。目的是在每次上传文件时预测文件的正确类别。我使用余弦相似度与tf -idf一起预测了到目前为止,与余弦相似度最大的文档类别是很不错的结果,但我不确定这在将来会如何工作。同样,当正确标记文件类别时,为什么不使用余弦相似度来构建文档分类器而不是机器学习模型呢?非常感谢您对我的方法以及问题的回答。

1 个答案:

答案 0 :(得分:0)

Cosine similarity用于计算两个n维向量之间的角度。这些载体主要由嵌入产生。它们是经过预训练的模型,可产生词嵌入或固定大小的向量。

  

余弦相似度主要用于单词产生的向量   嵌入。如果您使用的是Doc2Vec之类的工具,   整个文档的向量。这些向量可以按以下方式分类   使用余弦相似度。

在您的情况下,您应该尝试使用“嵌入”层的LSTM文本分类器。一维卷积层也可能有用。

另外,指的是TF-IDF,它对于依赖于语料库中某些单词的文本分类很有用。具有较高词频和较少文档频率的词具有较高的TF-IDF分数。该模型学习根据这些分数对文本进行分类。

  

在大多数情况下,RNN是对文本进行分类的最佳方法。预训练嵌入的使用使模型高效。

同样重要的是,您可以尝试贝叶斯文本分类。在垃圾邮件分类中非常有用。

提示:

您可以相互实现上述方法,从而创建文本分类系统。按照类似的过程

  1. 从Doc2Vec生成嵌入。
  2. 将输入内容与其他文本的相似性进行比较,从而确定其类别。
  3. 使用LSTM网络中的嵌入来产生类概率。
  4. 应用贝叶斯文本分类。

步骤2,3,4提供了三个预测。如果多数预测是CLASS1,那么我们可以将系统输出为CLASS1!。