Я планирую создать чат-бота, который сможет получать пользовательский ввод, анализировать и вызывать различные веб-сервисы на Java. Например,
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", он касается книги, а также даты. Во втором тексте необходимо извлечь ключевые слова «книги» и название публикации «Азбука». Третий отличается, это запрос на создание запроса клиента с именем и адресом.
Поскольку я чувствую себя более комфортно с Java, я ищу НЛП, который может достичь выше. В Интернете я нахожу больше на OpenNLP и CoreNLP. Примеры и образцы широко доступны для OpenNLP.
Итак, я хочу проверить, в правильном ли я направлении? Я вижу много других вещей, таких как Apache Ruta UIMA, но не уверен, что это применимо для моего случая использования, так как я не нахожу много информации в сети.