【问题标题】:Document relevancy score based on topic modelling基于主题建模的文档相关性评分
【发布时间】:2018-12-30 11:12:19
【问题描述】:

我目前有一个使用 MALLET (http://mallet.cs.umass.edu/topics.php) 训练的主题模型,该模型基于大约 80 000 篇收集的新闻文章(这些文章都属于一个类别)。

我希望每次出现新文章时都给出相关性分数(可能与类别相关,也可能不相关)。有什么办法可以做到这一点?我已经阅读了 td-idf,但似乎是根据现有文章给出分数,而不是任何传入的新文章。最终目标是过滤掉可能不相关的文章。

非常感谢任何想法或帮助。谢谢!

【问题讨论】:

    标签: machine-learning nlp topic-modeling mallet relevance


    【解决方案1】:

    拥有模型(主题)后,您可以根据文档对新的未见文档进行测试(参数 --evaluator-filename [FILENAME] 是您传递新未见文档的位置)Topic Held-out probability

    主题保留概率

    --evaluator-filename [FILENAME] 上一节介绍了如何获取新文档的主题比例。我们经常想估计 新文档的对数概率,在所有主题上被边缘化 配置。使用 MALLET 命令 bin/mallet 评估主题 --help 获取有关使用保留概率估计的信息。与主题推理一样,您必须确保新数据是 与您的训练数据兼容。使用选项 --use-pipe-from MALLET 命令 bin/mallet import-file 中的 [MALLET TRAINING FILE] 或 import-dir 指定一个训练文件。

    注意:我确实使用了更多的 gensim LDA 和 LSI,您可以按如下方式传递新文件:

    new_doc = "Human computer interaction"
    new_vec = dictionary.doc2bow(new_doc.lower().split())
    print(lda_model[new_vec])
    
    #output: [(0, 0.020229542), (1, 0.49642297)
    

    解释:从2中可以看出(1, 0.49642297)的意思 topic(categories) 我们有新文档,主题 #1 很接近。因此,在您的情况下,您可以从输出列表中获取最大值,并且您的相关性 "coefficient" 如此高的系数在类别中并且不低(根据更好的可视化和您的如果您只有 #1 主题,而不仅仅是添加一个您想要考虑的最小值的简单阈值,并且如果确实失败了,例如 0.40,则不在该类别中)。

    【讨论】:

      猜你喜欢
      • 2016-11-18
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      • 1970-01-01
      • 1970-01-01
      • 2019-08-12
      • 1970-01-01
      • 2020-05-24
      相关资源
      最近更新 更多