我计划构建一个聊天机器人,它可以获取用户输入并分析并调用 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.
对于第一个,它必须确定它是检索请求,因为它是“获取”调用,并且与书籍和日期有关。在第二个文本中需要提取关键字“books”和出版物名称“ABC”。第三个不同,它是一个带有姓名和地址的创建客户请求调用。
由于我对Java更加熟悉,我正在寻找可以实现上述目标的NLP。在互联网上,我找到了有关 OpenNLP 和 CoreNLP 的更多信息。 OpenNLP 的示例和示例广泛可用。
所以我想检查一下我的方向是否正确?我看到了很多其他东西,例如 Apache Ruta UIMA,但不确定它是否适用于我的用例,因为我在网络上找不到太多信息。
最佳答案
是的,我想说这两个 NLP 库广泛用于 Java。但是,如果您要制作并不真正需要扩展或必须处理大数据的小型项目,那么 NLTK 或 spaCy(可能还有 scikit-learn)可能是一个不错的选择。这些都是基于Python的,但使用起来并不难。
关于java - 用于文本挖掘或聊天机器人的 NLP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55038634/