在 JAVA 中使用哪个 NLP 工具包? [关闭]

Posted

技术标签:

【中文标题】在 JAVA 中使用哪个 NLP 工具包? [关闭]【英文标题】:Which NLP toolkit to use in JAVA? [closed] 【发布时间】:2010-10-28 02:37:42 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

但是,如果您希望语料库中有很多多词术语。您可以使用最多产的n-grams for n=2 到 4,而不是只提取名词

【讨论】:

你能告诉我关于 POSTaggers 中的模型吗?这些是什么 ?如何训练 POSTagger ?我必须不时更新培训吗?我从哪里获得模型? 几个月前我用过他们的词性标注器。你不需要训练任何东西。他们提供了非常好的默认模型。这个模型基本上指定了哪些词应该被标记哪些词性..你首先下载它并按照自述文件的说明获得一些示例输出我不确定,但我认为它使用的标签是bulba.sdsu.edu/jeanette/thesis/PennTags.html的“字级”标签 稍后,您可以在文本类型上训练模型,您希望它具有注释但不要在早期阶段考虑这一点,因为这将是一件非常乏味的事情您可以从您的 java 代码中以编程方式调用这些库(我不确定执行该操作的确切过程),或者只是编写一个脚本,从命令行调用脚本并将其输出存储在一个文件中,然后您可以操作一个简单的方法来首先是这样做,然后从您的列表中删除所有封闭类标记的单词(en.wikipedia.org/wiki/Closed_class_word)【参考方案2】:

有一个 Apache 项目...我没有使用它,但是 OpenNLP 一个开源 Apache 项目。它在孵化器中,所以可能有点生。

来自jeff's search engine cafe 的这篇帖子还有许多其他建议。

【讨论】:

【参考方案3】:

这也可能是相关的: https://github.com/jdf/cue.language

它有停用词、单词和 ngram 频率,...

它是Wordle背后软件的一部分。

【讨论】:

【参考方案4】:

我最终使用了Alias`i Ling Pipe

【讨论】:

以上是关于在 JAVA 中使用哪个 NLP 工具包? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

哪个 Java Web 框架最适合 Web 设计人员? [关闭]

我应该使用哪个依赖注入工具? [关闭]

查找Java应用程序死锁原因的工具[关闭]

Java自然语言处理NLP工具包

java用哪个数据库在内存中存储数据? [关闭]

NLP项目数据库[关闭]