Мне нужно реализовать НЛП в моем текущем модуле. Я ищу хорошую библиотеку, которая может мне здесь помочь. Я наткнулся на «LingPipe», но не мог полностью понять, как его использовать.
По сути, нам нужно реализовать функцию, при которой приложение может расшифровывать инструкции клиента (инструкции по доставке), набранные на простом английском языке. Например:
- Заберем завтра в 12:00
- Запросить доставку после 10 июня
- Пожалуйста, не отправляйте раньше среды
- Добавьте в заказ еще 10 единиц XYZ
Ответы:
LingPipe очень хорош и хорошо документирован. Вы также можете взглянуть на:
Последний вариант может вас заинтересовать, хотя я не знаю, есть ли какие-либо готовые реализации Java (и, может быть, это все равно слишком большое оружие для вашей проблемы :-)
Идею Пола об использовании DSL, вероятно, проще и быстрее реализовать, а также надежнее использовать для ваших клиентов. Я тоже рекомендую сначала изучить это.
источник
Я думаю, решите ли вы использовать NLP, может зависеть от конкретных требований к вашей системе. Требуется ли принимать английский в свободной форме, или будет принят только определенный набор инструкций? Может быть проще создать предметно-ориентированный язык , поддерживающий то, что ваши пользователи должны донести, чем проводить полноценный семантический анализ текста произвольной формы.
В области Java Groovy имеет некоторую поддержку для построения DSL .
источник
Для других языков JVM см.
источник