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

NLP for Text Mining or Chatbot

我正计划构建一个聊天机器人,它可以获取用户输入并分析和调用 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”调用,它是关于书和日期的。在第二个文本中需要提取关键字“书籍”和出版物名称“ABC”。第三个不同,它是一个带有姓名和地址的创建客户请求调用。

因为我对Java比较满意,所以我正在寻找可以实现上述目标的NLP。在互联网上,我找到了更多关于 OpenNLP 和 CoreNLP 的信息。示例和示例可广泛用于 OpenNLP。

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

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