Java 用于文本挖掘或聊天机器人的NLP

Java 用于文本挖掘或聊天机器人的NLP,java,nlp,artificial-intelligence,opennlp,Java,Nlp,Artificial Intelligence,Opennlp,我计划构建一个聊天机器人,它可以获取用户输入,分析和调用Java中的不同web服务。比如说, Get customers who bought books between 01/MAR/2019 and 10/MAR/2019. Get books published by ABC Publications. Create customer with name ABC and address 12, Hill View Street, London. 对于第一个,它必须确定它是一个检索请求

我计划构建一个聊天机器人,它可以获取用户输入,分析和调用Java中的不同web服务。比如说,

Get customers who bought books between 01/MAR/2019 and 10/MAR/2019. 
Get books published by ABC Publications. 
Create customer with name ABC and address 12, Hill View Street, London.
对于第一个,它必须确定它是一个检索请求,因为它是一个“Get”调用,它是关于书和日期的。在第二个文本中需要提取关键词“books”和出版物名称“ABC”。第三个是不同的,它是一个创建客户请求呼叫,带有名称和地址

由于我对Java比较熟悉,我正在寻找可以实现上述功能的NLP。在互联网上,我找到了更多关于OpenNLP和CoreNLP的信息。OpenNLP的示例和示例广泛可用


所以我想检查一下我的方向是否正确?我看到了很多其他东西,比如ApacheRuta UIMA,但不确定它是否适用于我的用例,因为我在net中找不到太多信息。

是的,我想说这两个NLP库在Java中被广泛使用。然而,如果你打算做一个不需要扩展或处理大数据的小项目,那么NLTK或spaCy(可能还有scikit learn)是一个不错的选择。这些都是基于Python的,但使用起来并不困难