【问题标题】:How to find Top n topics for a document如何查找文档的 Top n 主题
【发布时间】:2018-07-22 13:54:21
【问题描述】:

我正在使用 tf - IDF 对文档中的术语进行排名。当术语按 tf - IDF 的降序排列时,前“n”个术语与该文档最相关。 当我们选择一个文档时,必须显示该文档的前 'n' 个术语。 我的问题是如何确定'n'的值? 例如:对于一个文档术语按降序排列的 tf - IDF 如下:

文档 1

  1. 总裁
    1. 奥巴马
    2. 巴拉克
    3. 演讲
    4. 就职典礼
    5. 再次
    6. 接受

现在,当我想显示文档 1 的主题时,我只需要前 5 个词,因为所有其他词都与文档无关或不是主题。 我如何确定文档中的这个断点? 提前致谢

【问题讨论】:

    标签: information-retrieval tf-idf lda topic-modeling top-n


    【解决方案1】:

    关于您的示例数据,似乎存在问题,因为 6 到 10 是非信息性停用词,其中一些甚至是停用词,例如“the”。

    因此,您应该尝试的第一步是删除停用词。

    回到您的问题,在前 K 个关键字提取中选择 K 的值没有最佳实践。这因文档而异,因为有些文档比其他文档提供更多信息(通常是多主题的),这意味着这些文档应该具有更高的 K 值。

    确定停止点的一种方法是检查连续项之间的 tfidf 值之间的相对差异,然后在该相对差异变得高于阈值的点处停止,这表明存在较大的下降您正在输出的关键信息量。

    假设您已经为每个术语计算了一个 tfidf 分数,并按照它们的值的降序对它们进行了排序,计算以下 在添加每个新术语之前

    如果上面的表达式为真,其中 delta 是预定义的阈值,则添加新术语...因为新术语的信息量度量足够接近列表中已有的.否则,如果表达式为假,即差值大于 delta,则停止。

    注意:您可以使用不同的术语评分函数...而不仅仅是 tfidf。

    【讨论】:

    • 感谢您的回复。您能否建议其他评分功能是什么? (tf-idf 除外)谢谢
    • 您可以使用许多其他评分函数 - i) 术语的语言建模加权,ii) 术语的 BM25 加权,iii) 基于 LDA 的其他统计方法来找出术语的重要性...等
    • 会看看那些方法。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    相关资源
    最近更新 更多