【问题标题】:Documents in training data belongs to a particular topic in LDA训练数据中的文档属于 LDA 中的特定主题
【发布时间】:2020-05-13 20:27:51
【问题描述】:

我正在解决一个问题,我的文本数据包含大约 10,000 个文档。我创建了一个应用程序,如果用户输入一些随机评论,它应该显示训练数据中存在的所有类似 cmets/文档。 就像在堆栈溢出中一样,如果您提出问题,它会显示之前提出的所有相关问题。 所以如果有人对如何做有任何建议,请回答。

其次,我正在尝试 LDA(Latent Dirichlet Allocation) 算法,我可以在其中获取我的新文档所属的主题,但是我将如何从训练数据中获取类似的文档。还有我应该如何选择LDA中的num_topics。

如果有人对 LDA 以外的算法有任何建议,请告诉我。

【问题讨论】:

    标签: python machine-learning nlp lda


    【解决方案1】:

    您可以尝试以下方法:

    1. Doc2vec - 这是非常流行的 word2vec 算法的扩展,它将单词映射到 N 维向量空间,这样在您的文档中非常接近出现的单词将在向量空间中非常接近出现。 U 可以使用预训练的词嵌入。在 word2vec here 上了解更多信息。 Doc2vec 是 word2vec 的扩展。这将允许您将每个文档映射到维度为 N 的向量。之后,您可以使用任何距离度量来查找与输入文档最相似的文档。
    2. Word Mover 的距离 - 这直接适合您的目的,也使用词嵌入。我已经在我的一个个人项目中使用了它,并且取得了非常好的效果。了解更多信息here

    此外,请确保在应用算法之前应用适当的文本清理。诸如大小写规范化、停用词删除、标点符号删除等步骤。这实际上取决于您的数据集。了解更多here

    希望对您有所帮助...

    【讨论】:

      猜你喜欢
      • 2012-06-25
      • 2015-06-17
      • 2020-12-25
      • 2012-07-24
      • 2017-02-01
      • 2019-09-12
      • 2017-12-29
      • 2022-01-14
      • 2014-01-25
      相关资源
      最近更新 更多