Кто-то может дать простое объяснение об элементах обработки естественного языка? - PullRequest
3 голосов
/ 28 июля 2011

Я новичок в обработке естественного языка и запутался в используемых терминах.

Что такое токенизация? POS-теги? Entity Identify?

Токенизация - это только разбиение текста на части, которые могут иметь значение или дать значение для этих частей? И смысл, как называется, когда я определяю, что что-то является существительным, глаголом или прилагательным. А если я хочу поделить на даты, имена, валюту?

Мне нужно простое объяснение областей / терминов, используемых в НЛП.

Ответы [ 3 ]

8 голосов
/ 28 июля 2011

Давайте использовать пример как

My cat's name is Pat.  He likes to sit on the mat.

Токенизация - это включение этих предложений в то, что мы называем токенами, которые в основном являются словами. Токены для этого предложения my, cat's, name, is, pat, he, likes, to sit, on, the, mat. (Иногда вы можете увидеть cat's как два жетона; это зависит от личных предпочтений и намерений).

POS означает «часть речи», поэтому пометить эти предложения для части речи будет означать запуск программы через программу, называемую POS-тегер, которая будет метить каждый токен в предложении для его части речи. Вывод тегера, написанного группой в Стэнфорде, в этом случае:

My_PRP$ cat_NN 's_POS name_NN is_VBZ Pat_NNP ._.
He_PRP likes_VBZ to_TO sit_VB on_IN the_DT mat_NN ._.

(Вот хороший пример того, что cat's рассматривается как два токена.)

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

<NAME>Pat</NAME>

для имени нашей кошки. Если бы было другое предложение типа

Pat is a part-time consultant for IBM in Yorktown Heights, New York.

теперь распознаватель будет обозначать три объекта (всего четыре, так как Pat будет помечен дважды).

<NAME>Pat</NAME>
<ORGANIZATION>IBM</ORGANIZATION>
<LOCATION>Yorktown Heights, New York</LOCATION>

Теперь о том, как на самом деле работают все эти инструменты, - совсем другая история. :)

7 голосов
/ 29 июля 2011

Добавить к объяснению dmn:

В целом, в НЛП вам следует обратить внимание на две темы:

  1. Статистический анализ на основе правил

  2. Анализ в полутяжелом и тяжелом весе

Статистический анализ использует статистические методы машинного обучения для классификации текста и в целом имеет хорошую точность и хороший отзыв. Основанный на правилах анализ методы в основном используют правила, собранные вручную, и имеют очень хорошую точность, но ужасный отзыв (в основном они идентифицируют случаи в ваших правилах, но не более того).

Анализ облегченного и тяжелого веса - это два подхода, которые вы увидите в поле. В целом, академическая работа тяжеловесная, с парсерами, модными классификаторами и множеством высокотехнологичных НЛП. В промышленности, в целом, акцент делается на данные, и многие академические вещи плохо масштабируются, и выход за рамки стандартных статистических или машинных методов обучения не принесет вам много пользы. Например, анализ в значительной степени бесполезен (и медленен), и поэтому анализ ключевых слов и ngram на самом деле довольно полезен, особенно когда у вас много данных. Например, Google Translate явно не настолько закулисен - у них просто так много данных, что они могут сокрушить всех остальных, независимо от того, насколько усовершенствовано их программное обеспечение для перевода.

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

Синтаксический анализ - это разбить предложение на фразы, произнесите фразу глагола, фразу существительного, предлогическую фразу и т. Д. И получите грамматическое дерево. Вы можете использовать онлайн-версию Stanford Parser , чтобы поиграть с примерами и почувствовать, что делает парсер. Например, допустим, у нас есть предложение

My cat's name is Pat.

Затем мы делаем POS-теги:

My/PRP$ cat/NN 's/POS name/NN is/VBZ Pat/NNP ./.

Используя POS-теги и обученный статистический парсер, мы получаем дерево разбора:

(ROOT
  (S
    (NP
      (NP (PRP$ My) (NN cat) (POS 's))
      (NN name))
    (VP (VBZ is)
      (NP (NNP Pat)))
    (. .)))

Мы также можем выполнить немного другой тип анализа, называемый анализом зависимости:

poss(cat-2, My-1)
poss(name-4, cat-2)
possessive(cat-2, 's-3)
nsubj(Pat-6, name-4)
cop(Pat-6, is-5)

N-граммы - это, в основном, наборы смежных слов длины n. Вы можете посмотреть n-грамм в данных Google здесь . Вы также можете делать n-граммы символов, которые интенсивно используются для исправления орфографии.

Анализ настроений анализирует текст, чтобы определить, что люди думают о чем-то или о чем упоминаются легкие вещи (например, бренды). Это включает в себя много взгляда на слова, которые обозначают эмоции.

Семантический анализ анализирует значение текста. Часто это принимает форму таксономий и онтологий, где вы группируете понятия (собака, кошка принадлежат животному и домашнему животному), но это очень неразвитая область. Здесь полезны такие ресурсы, как WordNet и Framenet.

3 голосов
/ 28 июля 2011

Чтобы ответить на более конкретную часть вашего вопроса: токенизация разбивает текст на части (обычно слова), не слишком заботясь об их значении. POS-теги устраняют неоднозначность между возможными частями речи (существительное, глагол и т. Д.), Это происходит после токенизации. Распознавание дат, имен и т. Д. Называется именованным распознаванием сущностей (NER).

...