在JAVA中使用哪个NLP工具包? [英] Which NLP toolkit to use in JAVA?

查看:124
本文介绍了在JAVA中使用哪个NLP工具包?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在研究一个项目,该项目包括一个网站,该网站连接到NCBI(国家生物技术信息中心)并在其中搜索文章.问题是我必须对所有结果进行一些文本挖掘. 我正在使用JAVA语言进行文本挖掘,并使用AJAX和ICEFACES进行网站开发. 我有什么: 搜索返回的文章列表. 每篇文章都有一个ID和一个摘要. 这个想法是从每个抽象文本中获取关键字. 然后比较所有摘要中的所有关键字,找到重复次数最多的关键字.因此,然后在网站上显示要搜索的相关词. 有任何想法吗 ? 我在网络上搜索了很多内容,我知道这里有命名实体识别,语音标记的一部分,还有关于基因和蛋白质的NER的GENIA词库,我已经尝试过词干分析...停用词列表等. 我只需要知道解决此问题的最佳方法即可. 非常感谢.

解决方案

我建议您使用POS标记和字符串标记化的组合,以从每个摘要中提取所有名词.然后使用某种字典/哈希来计算每个名词的出现频率,然后输出N个最多产的名词.将其与其他一些智能过滤机制结合起来可以很好地为您提供摘要中的重要关键字.
要进行POS标记,请在 http://nlp.stanford.edu/software/index上查看POS标记器. shtml

但是,如果您期望在语料库中有很多多词术语,而不是仅提取名词,您可以采用最多产的 解决方案

i would recommend you use a combination of POS tagging and then string tokenizing to extract all the nouns out of each abstract.. then use some sort of dictionary/hash to count the frequency of each of these nouns and then outputting the N most prolific nouns.. combining that with some other intelligent filtering mechanisms should do reasonably well in giving you the important keywords from the abstract
for POS tagging check out the POS tagger at
http://nlp.stanford.edu/software/index.shtml

However, if you are expecting a lot of multi-word terms in your corpus.. instead of extracting just nouns, you could take the most prolific n-grams for n=2 to 4

这篇关于在JAVA中使用哪个NLP工具包?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆