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

时间:2013-01-15 13:55:32

标签: tags nlp keyword nltk

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

Solution 1

Solution 2

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

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

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

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

请帮帮我。 最好的问候。

1 个答案:

答案 0 :(得分:2)

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

开源工具:

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:

Alchemy API(http://www.alchemyapi.com/api/keyword-extraction/

zemanta API(http://www.zemanta.com/developer/

雅虎术语提取api(http://developer.yahoo.com/contentanalysis/