Есть ли хорошая библиотека для обработки естественного языка?

Мне нужно реализовать некоторые НЛП в моем текущем модуле. Я ищу хорошую библиотеку, которая может помочь мне здесь. Я наткнулся на "LingPipe", но не смог полностью понять, как его использовать.
По сути, нам нужно реализовать функцию, с помощью которой приложение может расшифровать инструкции клиента (инструкции по доставке), набранные простым английским языком. Например:

  • Заберу завтра в 12:00
  • Запрос доставки после 10 июня
  • Пожалуйста, не отправляйте до среды
  • Добавьте еще 10 единиц XYZ к заказу

3 ответа

Решение

LingPipe очень хорош и хорошо документирован. Вы также можете взглянуть на:

Последнее, в частности, может вас заинтересовать, хотя я не знаю, есть ли какие-либо легкодоступные реализации Java (и, может быть, это все равно слишком большая проблема для вашей проблемы:-)

Идея Пола об использовании DSL, вероятно, проще и быстрее реализовать, и она более надежна в использовании для ваших клиентов. Я бы тоже порекомендовал сначала разобраться с этим.

Я думаю, что вы решите использовать NLP или нет, может зависеть от конкретных требований вашей системы. Требуется ли принимать английский в произвольной форме или будет принят только определенный набор инструкций? Возможно, будет проще создать язык, специфичный для предметной области, который будет поддерживать то, что ваши пользователи должны передавать, чем проводить полный семантический анализ текста в произвольной форме.

В пространстве Java Groovy имеет некоторую поддержку для создания DSL.

Для других языков JVM см.

Другие вопросы по тегам