Стратегии распознавания имен собственных в НЛП - PullRequest
12 голосов
/ 04 марта 2009

Мне интересно узнать больше о Обработка естественного языка (NLP), и мне любопытно, существуют ли в настоящее время какие-либо стратегии распознавания имен собственных в тексте, которые не основаны на распознавании по словарю? Кроме того, кто-нибудь может объяснить или дать ссылку на ресурсы, которые объясняют текущие методы на основе словаря? Кто является авторитетным экспертом по НЛП или каковы конкретные ресурсы по этому вопросу?

Ответы [ 8 ]

11 голосов
/ 04 марта 2009

Задача определения правильной части речи для слова в тексте называется Часть речевого тегирования . Например, тегер Brill использует комбинацию словарных (словарных) слов и контекстных правил. Я считаю, что некоторые из важных начальных словарных слов для этой задачи являются стоп-словами. Когда у вас есть (в основном правильные) части речи для ваших слов, вы можете начать строить более крупные структуры. Эта отраслевая книга проводит различие между распознаванием именных фраз (NP) и распознаванием именованных сущностей. О учебниках: Понимание естественного языка Аллена - хорошая, но немного устаревшая книга. Основы статистической обработки естественного языка - хорошее введение в статистическую НЛП. Обработка речи и языка немного более строгая и, возможно, более авторитетная. Ассоциация компьютерной лингвистики - ведущее научное сообщество по компьютерной лингвистике.

6 голосов
/ 04 марта 2009

Помимо словарного подхода, мне вспоминаются два других:

  • Подходы, основанные на шаблонах (в простой форме: все, что написано с заглавной буквы, является собственным именем)
  • Подходы машинного обучения (пометить собственные существительные в учебном корпусе и обучить классификатор)

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

Oxford Handbook of Computational Linguistics
(источник: oup.com )

4 голосов
/ 16 марта 2009

Попробуйте найти «распознавание именованных сущностей» - этот термин используется в литературе по НЛП для подобных вещей.

2 голосов
/ 04 марта 2009

Это зависит от того, что вы подразумеваете под словарным.

Например, одна из стратегий состоит в том, чтобы взять слова, которые не в словаре, и попытаться исходить из предположения, что они являются собственными существительными. Если это приводит к разумному анализу, рассмотрите предположение в предварительном порядке и продолжайте, в противном случае сделайте вывод, что это не так.

Другие идеи:

  • В позиции субъекта любой простой субъект без определителя является хорошим кандидатом.
  • То же самое в предлогах
  • В любой позиции основа притяжательного детерминанта (например, Боб в «Сестре Боба») - хороший кандидат

- MarkusQ

0 голосов
/ 18 января 2015

Хотя это для бенгальского языка, но он может нарисовать общую процедуру, определяемую собственно существительным. Поэтому я надеюсь, что это будет полезно для вас. Пожалуйста, проверьте следующую ссылку: http://www.mecs -press.org / ijmecs / ijmecs-v6-n8 / v6n8-1.html

0 голосов
/ 11 октября 2013

Если вы заинтересованы в реализации обработки на естественном языке, а Python - ваш язык программирования, то это может быть очень информативный ресурс: http://www.youtube.com/watch?v=kKe4M4iSclc

0 голосов
/ 29 августа 2013

если у вас есть такое предложение, как "кто такой Билл Гейтс" И если вы примените к нему часть речевого тегера. Это даст ответ как

"кто / WP есть / VBZ bill / NN gates / NNS? /."

Вы можете попробовать это онлайн на http://cst.dk/online/pos_tagger/uk/

Итак, вы получаете все существительные в этом предложении. Теперь вы можете легко извлечь эти существительные с помощью некоторого алгоритма. Я предлагаю использовать python, если вы используете обработку естественного языка. Он имеет NLTK (набор инструментов на естественном языке), с которым вы можете работать.

0 голосов
/ 18 декабря 2012

некоторые инструменты предложили: 1. Opennlp: для вашей задачи есть компонент распознавания именованных объектов 2. LingPipe: также компонент NER для него 3. Пакет Stanford NLP: превосходный пакет для академического использования, возможно, не для коммерческого использования. 4. nltk: пакет Python NLP

...