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

标签 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.

对于第一个,它必须确定它是检索请求,因为它是“获取”调用,并且与书籍和日期有关。在第二个文本中需要提取关键字“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/

相关文章:

python - 如何在处理文本时使用 pandas 忽略 CSV 列中的空值?

parallel-processing - 特征选择、特征提取、特征权重的区别

c# - 遇到死胡同时如何以编程方式穿越迷宫

java - JVM启动后Java类路径是最终的吗?

java - 在 Spring 中实现策略设计模式的最佳方式

java - jackson 是否会错误地序列化任何货币值(value)?

构建正确英语句子的 C# 库

java - 99 瓶啤酒在墙上 - 减法循环

python - 如何从另一种语言单词创建英文字母字符串?

artificial-intelligence - PACMAN:吃掉所有点的捷径