如何找到文档的前 n 个主题
How to find Top n topics for a document
我正在使用 tf - IDF 对文档中的术语进行排名。当术语按 tf - IDF 的降序排列时,前 'n' 个术语与该文档最相关。
当我们选择一个文档时,必须显示该文档的前 'n' 个术语。
我的问题是如何决定'n'的值?
例如:对于一个文档中的terms按降序排列的tf-IDF如下:
文档 1
- 总裁
- 奥巴马
- 巴拉克
- 演讲
- 就职典礼
- 来
- 看
- 再次
- 拍了
现在,当我想显示文档 1 的主题时,我只需要前 5 个术语,因为所有其他术语都不相关或与文档的主题无关。
我如何决定文档中术语的断点?
提前致谢
关于您的样本数据,似乎有问题,因为 6 到 10 是无信息的停用词,其中一些甚至是停用词,例如 'the'.
因此,您应该尝试的第一步是删除停用词。
回到你的问题,在top-K关键字提取中没有选择K值的最佳实践。这因文档而异,因为有些文档比其他文档提供更多信息(通常是多主题的),这意味着这些文档应该具有更高的 K 值。
决定停止点的一种方法是检查连续项之间的tfidf值之间的相对差异,然后在这个相对差异变得高于阈值的点停止,这表明有一个大的下降在您输出的关键信息量中。
假设您已经为每个术语计算了一个 tfidf 分数,并按照它们的值的降序对它们进行了排序,请计算以下内容
在添加每个新术语之前
如果上面的表达式为真,其中 delta 是一个预定义的阈值,添加新术语...因为新术语的信息量度足够接近已经在列表中的。否则如果表达式为假则停止,即差异大于增量。
注意:您可以使用不同的术语评分函数...而不仅仅是 tfidf。
我正在使用 tf - IDF 对文档中的术语进行排名。当术语按 tf - IDF 的降序排列时,前 'n' 个术语与该文档最相关。 当我们选择一个文档时,必须显示该文档的前 'n' 个术语。 我的问题是如何决定'n'的值? 例如:对于一个文档中的terms按降序排列的tf-IDF如下:
文档 1
- 总裁
- 奥巴马
- 巴拉克
- 演讲
- 就职典礼
- 来
- 看
- 再次
- 拍了
现在,当我想显示文档 1 的主题时,我只需要前 5 个术语,因为所有其他术语都不相关或与文档的主题无关。 我如何决定文档中术语的断点? 提前致谢
关于您的样本数据,似乎有问题,因为 6 到 10 是无信息的停用词,其中一些甚至是停用词,例如 'the'.
因此,您应该尝试的第一步是删除停用词。
回到你的问题,在top-K关键字提取中没有选择K值的最佳实践。这因文档而异,因为有些文档比其他文档提供更多信息(通常是多主题的),这意味着这些文档应该具有更高的 K 值。
决定停止点的一种方法是检查连续项之间的tfidf值之间的相对差异,然后在这个相对差异变得高于阈值的点停止,这表明有一个大的下降在您输出的关键信息量中。
假设您已经为每个术语计算了一个 tfidf 分数,并按照它们的值的降序对它们进行了排序,请计算以下内容 在添加每个新术语之前
如果上面的表达式为真,其中 delta 是一个预定义的阈值,添加新术语...因为新术语的信息量度足够接近已经在列表中的。否则如果表达式为假则停止,即差异大于增量。
注意:您可以使用不同的术语评分函数...而不仅仅是 tfidf。