有没有一个很好的自然语言处理库

我需要在当前模块中实现一些NLP。 我正在寻找一些可以帮助我的好图书馆。 我遇到了“LingPipe”,但不能完全遵循如何使用它。
基本上,我们需要实现一个function,应用程序可以破译用英文input的客户指令(交付指令)。 例如:

  • 明天中午12点起床
  • 6月10日以后要求发货
  • 请不要在星期三之前发送
  • 在订单中再增加10个XYZ单位

LingPipe非常好,有据可查。 你也可以看看:

  • OpenNLP
  • 斯坦福大学NLP
  • Apache UIMA
  • CogComp,NLP
  • 框架networking

尽pipe我不知道是否有任何现成的Java实现(也许这对你的问题来说太大了,但是你可能会感兴趣):-)

Paul使用DSL的想法可能更容易,更快实施,并且更可靠地用于客户。 我也会build议先研究一下。

我认为你是否select使用NLP可能取决于你的系统的具体要求。 是否要求接受自由forms的英语,还是只接受某些指令? 构build一个特定于领域的语言来支持用户需要传达的内容比对自由forms的文本进行全面的语义分析要容易得多。

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

对于其他JVM语言请参阅

  • Scala : Scala NLP – Breeze和Epic(相关的spark-project.org )
  • Clojure: clojure-opennlp