0

给定一个主题,我如何计算文档“属于”该主题(即体育)的概率

这是我必须处理的:

1)我知道与该主题相关的文档中的常用词(消除所有停止词),以及包含该词的文档的百分比例如,如果主题是体育,我知道:

75% of sports documents have the word "play"
70% have the word "stadium"
40% have the word "contract"
30% have the word "baseball"

2)鉴于此,以及包含一堆单词的文档,我如何计算该文档属于该主题的概率?

4

3 回答 3

2

这是一个以主题为类、词为特征的模糊分类问题。通常你没有每个主题的词袋,而是一组文档和相关主题,所以我将首先描述这个案例。

找到概率的最自然的方法(与概率论中使用的相同)是使用朴素贝叶斯分类器。这个算法已经介绍过很多次了,这里就不赘述了。您可以在此概要或相关的Coursera NLP 讲座中找到很好的解释。

您还可以使用许多其他算法。例如,您的描述自然适合基于tf*idf的分类器。tf*idf(词频*逆文档频率)是现代搜索引擎中用于计算文档中单词重要性的统计量。对于分类,您可以计算每个主题的“平均文档”,然后以余弦相似度计算新文档与每个主题的接近程度。

如果您遇到的情况与您描述的完全一样——只有主题和相关词——只需将每个词袋视为一个文档,可能会重复常用词。

于 2013-07-28T09:06:26.557 回答
2

查看topic modelinghttps://en.wikipedia.org/wiki/Topic_model),如果您使用 python 编码,您应该查看 radim 的实现,gensim(http://radimrehurek.com/gensim/tut1.html)。否则,来自http://www.cs.princeton.edu/~blei/topicmodeling.html的许多其他实现

于 2013-07-29T06:35:47.360 回答
0

解决聚类问题的方法有很多。我建议从简单的逻辑回归开始并查看结果。如果您已经有预定义的本体集,您可以在下一阶段将它们添加为特征以提高准确性。

于 2013-07-28T06:32:42.980 回答