tf-idf使用来自Google的unigram频率数据

时间:2013-07-17 20:49:37

标签: nlp tf-idf

我正试图在一系列政府文件中找出重要的术语。生成术语频率是没有问题的。

对于文档频率,我希望使用Peter Norvig在“美丽数据”中发布的handy Python scripts and accompanying data,其中包括来自Web的大量数据集中的unigrams频率。

然而,我对tf-idf的理解是“文档频率”是指包含术语的文档数量,而不是 这个术语的总词数,这就是我们所说的从Norvig脚本中获取。我仍然可以将这些数据用于粗略的tf-idf操作吗?

以下是一些示例数据:

word    tf       global frequency
china   1684     0.000121447
the     352385   0.022573582
economy 6602     0.0000451130774123
and     160794   0.012681757
iran    2779     0.0000231482902018
romney  1159     0.000000678497795593 

简单地将tf除以gf给出的“得分”高于“经济”,这是不对的。可能还有一些我缺少的基础数学吗?

1 个答案:

答案 0 :(得分:4)

据我了解,全球频率等于此处提到的“反向总词频”Robertson。从罗伯逊的这篇论文中可以看出:

One possible way to get away from this problem would be to make a fairly radical re-
placement for IDF (that is, radical in principle, although it may be not so radical 
in terms of its practical effects). ....
the probability from the event space of documents to the event space of term positions 
in the concatenated text of all the documents in the collection. 
Then we have a new measure, called here 
inverse total term frequency:
...
On the whole, experiments with inverse total term frequency weights have tended to show
that they are not as effective as IDF weights

根据本文,你可以使用反向全球频率作为IDF术语,虽然比标准术语更粗糙。

您还缺少stop words删除功能。几乎所有文档中都使用了诸如此类的单词,因此它们不提供任何信息。在tf-idf之前,你应该删除这些停用词。