Что нужно для НЛП? - PullRequest
       3

Что нужно для НЛП?

1 голос
/ 10 августа 2010

при условии, что я ничего не знаю обо всем и что я начинаю программировать СЕГОДНЯ, что, по вашему мнению, мне необходимо выучить, чтобы начать работать с обработкой естественного языка?

Я боролся с некоторыми методами разбора строк, но до сих пор это просто раздражает меня и заставляет создавать ужасный код. Я ищу новые свежие идеи о том, как создать Remember The Milk API для анализа ввода пользователя, чтобы обеспечить форму ввода для быстрого ввода данных, основанную не на полях, а на простых однострочных фразах.

РЕДАКТИРОВАТЬ : RTM - система списка задач. Таким образом, чтобы ввести задачу, вам не нужно вводить каждое поле для заполнения значений (имя задачи, срок выполнения, местоположение и т. Д.). Вы можете просто ввести фразу типа «Встреча стоматолога в понедельник в 2 часа дня в Wh whatPlace», и она проанализирует ее и заполнит все поля для вас.

У меня нет каких-либо технических ограничений, поскольку это будет личный проект, но я больше знаком с миром .NET. На самом деле, я не уверен, что это вопрос языка, но если это необходимо, я более чем готов выучить новый язык, чтобы сделать это.

Мой проект связан с личными финансами, поэтому фразы больше похожи на «Потратил 10 долларов на кофе прошлой ночью с моей девушкой», и он будет заполнять местоположение, сумму в $$$, теги и другие вещи.

Большое спасибо за любые указания, которые вы могли бы дать мне!

Ответы [ 2 ]

3 голосов
/ 10 августа 2010

Это не требует полной НЛП.Простого извлечения информации на основе шаблонов, вероятно, будет достаточно.Основная идея состоит в том, чтобы маркировать текст, затем распознавать / классифицировать определенные ключевые слова и, наконец, распознавать шаблоны / фразы.

В вашем примере токенизация дает вам «Стоматолог», «назначение», «понедельник», «в», «2PM», «in», «WheverPlace».Ваш инструмент распознает, что «понедельник» - это день недели, «2PM» - это время и т. Д. Наконец, вы можете найти шаблоны, такие как [at] [TIME] и [in] [Place], и ​​использовать их для заполненияполя.

Фреймворк, подобный GATE , может помочь, но даже это может быть больший молот, чем вам действительно нужно.

1 голос
/ 10 августа 2010

Посмотрите на NLTK, это хороший ресурс для начинающих программистов, интересующихся NLP. http://www.nltk.org/
Он написан на python, который является одним из самых простых языков программирования.

Теперь, когда я понимаю вашу проблему, вот мое решение:

Вы можете разработать своего рода ограниченный словарь, в котором все суммы должны заканчиваться знаком $ или в любое время должны быть в форме 00:00 и / или заканчиваться AM / PM, что касается обнаружения предметов, вы можете использовать список объекты из онтологии, такие как Open Cyc. Open Cyc может предоставить вам список всех объектов, таких как пиво, кофе, хлеб, молоко и т. Д. Это поможет вам обнаружить объекты в короткой фразе. Тем не менее, это был бы очень нечеткий подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...