2011-05-07 100 views
5

是否有一个简单的使用Java库,可以接受一个字符串并返回一组字符串,这是关键字/关键字。java关键字提取

它不必特别聪明,只需使用停用词和词干匹配关键字即可。

我正在查看KEA包http://code.google.com/p/kea-algorithm/,但我无法弄清楚如何使用他们的代码。

理想情况下,有一个简单的示例文件将是很好的。在此期间,我将着手编写这本书!

编辑:当我说我看不出如何弄清楚如何使用他们的代码,我的意思是我看不到一个简单的方法。独立的班级本身具有可以完成大部分工作的有用方法。

+1

你是什么意思关键字/关键字句?像字符串内的正则表达式或其他东西? – 2011-05-07 04:38:10

+0

否....搜索引擎可以识别的关键字,我想从新闻文章中提取关键词,并从不同的新闻网站获取类似文章的列表(我知道有很多现有的服务可以做到这一点......它只是一点乐趣和为我学习)。 – Ankur 2011-05-07 04:47:42

+0

不错,我喜欢这个主意。你应该寻找/编写一个算法来计算字/词频率 – 2011-05-07 04:50:51

回答

1

您可以尝试Porter Stemming算法:java版本号为http://tartarus.org/~martin/PorterStemmer/java.txt,主页面号为http://tartarus.org/~martin/PorterStemmer/。它的旧,但没有做不好的工作。

+0

谢谢,但由于某种原因,结果相当差。 KEA库包含一个实现。我实际上决定暂时忽略词干。 – Ankur 2011-05-07 07:39:35

+0

一切都很好:很乐意帮忙。请让我知道你是否回到它:我会好奇你最终会用到什么。 – Femi 2011-05-07 07:43:57

2

这是一个相当古老的问题,可能OP已经解决了他的问题,但把它放在这里供其他人可能偶然发现如何使用KEA的问题。

对于KEA,您将需要一套训练集 - 您的一些文档需要设置关键字。培训数据由一个文档目录(.txt文件)和相应的关键字文件(.key文件)组成,每行一个关键字。您在此集上训练KEA,然后使用该模型提取其他文档中的关键字,这些关键字位于另一个.txt文件目录中。 KEA会在这个目录中写出相应的.key文件。

有关详细信息,看看在一个或多个以下:

1)KEA源分布具有TestKEA.java类其示出了如何从一个小的测试语料库中提取的关键字。自述文件详细介绍了所需的目录格式。

2)这篇博文有关于如何使用KEA的(有点简洁的IMO)说明。

http://kea-pranay.blogspot.com/2010/02/kea-key-extraction-algorithm.html

3)我的博客张贴这是我的最后一个周末写了,同时努力学习如何从语料库我有(其中已经手动关键字注释的关键字)。它具有Python代码以按照KEA期望的方式预处理数据,Scala(KEA提供Java API)代码来训练和运行提取器,Python代码用于分析和可视化生成的关键字。

http://sujitpal.blogspot.com/2014/08/keyword-extraction-with-kea.html