如何从文本中提取关键字(标签)



我目前正在尝试在Java中实现标记引擎,并寻找从文本(文章)中提取关键字/标记的解决方案。我在stackoverflow上找到了一些解决方案,建议使用Pointwise Mutual Information。

解决方案1

解决方案2

我不能使用pyton和nltk,所以我必须自己实现它。但我不知道如何计算概率。等式是这样的:

PMI(term, doc) = log [ P(term, doc) / (P(term)*P(doc)) ]

我想知道的是如何计算p (term, doc)

我已经有一个大的文本语料库和一组文章。文章不是语料库的一部分。语料库是用lucene索引的。

请帮帮我。致以最亲切的问候。

有很多算法可以做到这一点:

开源工具:

kea(http://www.nzdl.org/Kea/)监督方法使用训练数据和控制词汇

maui indexer(http://code.google.com/p/maui-indexer/)它基本上是kea的扩展,提供了使用百科全书提取关键短语的设施。

carrot2(http://project.carrot2.org/)关键短语提取的无监督方法。它支持多种输入、输出格式和关键短语提取参数。

木槌主题建模模块(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/)

最新更新