当前位置: 首页 > 工具软件 > UIMA Java > 使用案例 >

java有自然语言处理的库吗_关于java:有一个很好的自然语言处理库

牟嘉
2023-12-01

我需要在当前模块中实现一些NLP。 我正在寻找一些可以帮助我的好图书馆。 我遇到了'LingPipe',但无法完全遵循如何使用它。

基本上,我们需要实现一个功能,其中应用程序可以解释用简体中文输入的客户指令(交付说明)。 例如:

将于明天中午12点起床

请在6月10日之后发货

请不要在星期三之前发送

在订单中再添加10个XYZ单位

请参阅stackoverflow.com/questions/22904025/

LingPipe非常好,文档齐全。你也可以看看:

OpenNLP

斯坦福大学NLP

Apache UIMA

CogComp,NLP

框架网络

最后一个可能是您感兴趣的,虽然我不知道是否有任何现成的Java实现(也许这对你的问题来说太大了枪:-)

保罗使用DSL的想法可能更容易,更快速地实施,并且更可靠地为您的客户使用。我也会建议首先考虑一下。

我根据我从这个论坛和网上其他地方收集的意见提交了我的报告。我还提出了你建议的其他选项,并且Biz已经决定暂停这一选择(现在开始研发以找到最佳候选者)。

如果你比较LingPipe和其他你列出哪一个你更喜欢?我这个问题并不仅仅针对@Winnie的问题,我认为它是出于一般目的。

查看MALLET:mallet.cs.umass.edu

我认为您是否选择使用NLP可能取决于您系统的具体要求。是否要求接受自由形式的英语,或者只接受某些指令?构建支持用户需要传达的领域的特定于语言的语言可能比对自由格式文本进行全面的语义分析更容易。

在Java领域,Groovy对构建DSL有一些支持。

以下是需求文档中的几行:'..并且用户应该能够以简单的英语输入注释或特殊指令。然后,系统应解析用户指令并使用正确的值填充订单的相关字段(如果有)。"

这是一个非常模糊的要求。例如,音符必须在语法上正确吗?我不确定提出要求的各方是否熟悉NLP的状态,但他们描述的问题主要是阅读理解或自然语言理解,这是被描述为"圣洁"的问题之一。 NLP的圣杯。我很怀疑你会找到一个可以为你"做到这一点"的软件包 - 给用户提供一个可以指定有限数量的特殊指令的用户界面可能更为现实。

对于其他JVM语言,请参阅

Scala:Scala NLP - Breeze and Epic(相关spark-project.org)

Clojure:clojure-opennlp

Scala NLP的NLP部分名为Epic似乎仍然很快就会到来。

 类似资料: