7

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

解决方案 1

解决方案 2

我不能使用 pyton 和 nltk,所以我必须自己实现它。但我不知道如何计算概率。方程如下所示:

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

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

我已经有一个朗格文本语料库和一系列文章。这些文章不是语料库的一部分。语料库使用 lucene 进行索引。

请帮帮我。此致。

4

1 回答 1

2

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

开源工具:

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

maui indexer( 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:

炼金术 API(http://www.alchemyapi.com/api/keyword-extraction/

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

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

于 2014-08-21T12:18:49.147 回答