Как обнаружить заявления, сделанные о лицах, использующих НЛП
Я хочу исследовать использование НЛП для выявления негативных / неконструктивных комментариев, то есть тех, которые часто возникают при обсуждении политики в Интернете. Мне любопытно знать, что если дать такое предложение:
Ты либеральный двеб. Клинтон губит США своим неуместным поведением в качестве президента.
Возможно ли не только вывести сущности (вы, Клинтон) с помощью NER, но и получить дерево утверждений, сделанных в отношении каждой сущности:
+-----------------+ +------------------------+
| | | |
| | | |
| you | | Clinton |
| +------+ | +------+
| | | | | |
+--+--------------+ | | | |
| | +--+---------------------+ |
| | | |
| | | |
+-+-------+ +----+-----+ | +---------+----------+
| | | | +----+---------+ | |
| | | dweeb | | | | |
| liberal| | | | ruining US | | has inappropriate |
| | +----------+ | | | behavior as pres. |
+---------+ | | | |
+--------------+ +--------------------+
Возможно ли что-то подобное с НЛП?
2 ответа
Анализатор избирательных округов или анализатор зависимостей, возможно, плюс некоторый семантический анализ, чтобы дать вам больше информации об именованных и неименованных объектах, может быть тем, что вы ищете. Попробуйте вставить некоторые примеры предложений в http://corenlp.run/ или в http://demo.ark.cs.cmu.edu/parse, который применяет анализ зависимостей и семантический анализ, чтобы увидеть, относится ли это к типу вещей. ты ищешь.
Да, то, что вы ищете, безусловно, возможно с НЛП. Есть два подхода, которые вы должны изучить дальше.
1) Более быстрый подход с точки зрения кодирования, но требующий инвестиций в маркировку и обучение аннотированных данных, заключается в использовании функции "извлечения отношений" в структуре НЛП, такой как Stanford NLP, Spacy и т. Д. Однако вам придется выполнить некоторые настройки и обучение из моделей по умолчанию. Вот ссылка на образец статьи в блоге о том, как сделать это с NLTK, но вам следует искать более свежую статью, если вы идете по этому пути.
2) Более медленный подход с точки зрения кодирования, но не требующий маркировки данных и аннотации, упоминается @Gabriel при запуске анализатора зависимостей и конвейера NER сущности для ваших предложений, а затем с использованием набора ручных правил в вашем коде для извлечения отношений.