有没有好的自然语言处理库[关闭]


90

我需要在当前模块中实现一些NLP。我正在寻找可以在这里为我提供帮助的优质图书馆。我遇到过“ LingPipe”,但无法完全了解如何使用它。
基本上,我们需要实现一项功能,使应用程序可以解密以纯英语键入的客户说明(交付说明)。例如:

  • 将于明天中午12:00接载
  • 6月10日之后要求交货
  • 请不要在星期三之前发送
  • 将XYZ再增加10个单位

Answers:


78

LingPipe非常好,有据可查。您还可以看一下:

尽管我不知道是否有任何现成的Java实现,但是最后一个特定的可能是您感兴趣的(无论如何,对于您的问题来说,这可能太强大了:-)

Paul使用DSL的想法可能更容易,更快地实现,并且对您的客户来说更可靠。我也建议先研究一下。


1
我根据从该论坛和网络上其他地方收集的输入信息提出了报告。我还建议了您建议的其他选择,而商务部已决定将其搁置(现在开始研发以寻找最佳人选)。
维尼

1
如果您将LingPipe与其他产品进行比较,您会列出哪一种?我问的不仅是@Winnie的问题,我问的是一般目的。
卡马奇(

1
查阅MALLET:mallet.cs.umass.edu
Samik R

11

我认为您是否选择使用NLP可能取决于系统的特定要求。是否要求接受自由格式的英语,还是仅接受某些说明?构建特定领域的语言可能会更容易支持用户需要传达的内容可能比对自由格式文本进行全面语义分析得多。

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


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

10
这是一个非常模糊的要求。例如,注释是否必须在语法上正确?我不确定提出要求的各方是否熟悉NLP的状态,但是他们所描述的问题本质上是阅读理解或自然语言理解,这是被描述为“圣洁”的问题之一。 NLP的“圣杯”。让我怀疑的是,您会找到一个可以为您“完成此操作”的程序包-为用户提供可以在其中指定数量有限的特殊说明的UI可能更现实。
保罗·莫里

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.