Bau*_*kel 6 tags nlp keyword nltk
我目前正在尝试用Java实现标记引擎,并搜索从文本(文章)中提取关键字/标记的解决方案.我在stackoverflow上找到了一些建议使用Pointwise Mutual Information的解决方案.
我不能使用pyton和nltk所以我必须自己实现它.但我不知道如何计算概率.等式看起来像这样:
PMI(term, doc) = log [ P(term, doc) / (P(term)*P(doc)) ]
Run Code Online (Sandbox Code Playgroud)
我想知道的是如何计算P(term,doc)
我已经有一个lange文本语料库和一组文章.这些文章不是语料库的一部分.语料库用lucene索引.
请帮帮我.最好的祝福.
有很多算法可以做到这一点:
开源工具:
kea(http://www.nzdl.org/Kea/)监督方法使用训练数据和受控词汇
maui 索引器(http://code.google.com/p/maui-indexer/)它基本上是 kea 的扩展,它提供了使用百科全书进行关键短语提取的设施。
carrot2( http://project.carrot2.org/ ) 用于关键短语提取的无监督方法。它支持多种输入、输出格式和关键短语提取参数。
mallet 主题建模模块( http://mallet.cs.umass.edu/topics.php )
斯坦福主题建模工具(http://nlp.stanford.edu/software/tmt/tmt-0.3/)
Mahout 聚类算法( http://mahout.apache.org/ )
商业API:
zemanta API(http://www.zemanta.com/developer/)
雅虎术语提取API(http://developer.yahoo.com/contentanalysis/)