Изменения

Перейти к: навигация, поиск

Обработка естественного языка

48 байт добавлено, 15:58, 22 января 2019
Нет описания правки
'''Обработка естественного языка''' (''Natural Language Processing'') {{- --}} пересечение [[Машинное обучение | машинного обучения]] и математической лингвистики<ref>[https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%BB%D0%B8%D0%BD%D0%B3%D0%B2%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0 Математическая лингвистика]</ref>, направленное на изучение методов анализа и синтеза естественного языка. Сегодня NLP применяется во многих сферах, в том числе в голосовых помощниках, автоматических переводах текста и фильтрации текста. Основными тремя направлениями являются: [[Распознавание речи | распознавание речи]]  (Speech Recognition), понимание естественного языка (Natural Language Understanding<ref>[https://en.wikipedia.org/wiki/Natural-language_understanding Natural Language Understanding]</ref> ) и генерация естественного языка (Natural Language Generation<ref>[https://en.wikipedia.org/wiki/Natural-language_generation Natural Language Generation]</ref>).
== Задачи ==
NLP решает большой набор задач, который можно разбить по уровням. Среди этих задач, можно выделить следующие:
=== Лемматизация ===
Данный подход является альтернативой стемминга. Основная идея в приведении слова к словарной форме {{- --}} лемме. Например для русского языка:
* для существительных — именительный падеж, единственное число
* для прилагательных — именительный падеж, единственное число, мужской род
=== Векторизация ===
Большинство математических моделей работают в векторных пространствах больших размерностей, поэтому необходимо отобразить текст в векторном пространстве. Основным походом являет bag-of-words (мешок слов): для документа формируется вектор размерности словаря, для каждого слова выделяется своя размерность, для документа записывается признак насколько часто слово встречается в нем, получаем вектор. Наиболее распространенным методом для вычисления признака является TF-IDF (TF {{- --}} term frequency, частота слова, IDF {{--- }} inverse document frequency, обратная частота документа). TF вычисляется, например, счетчиком вхождения слова. IDF обычно вычисляют как логарифм от числа документов в корпусе, разделённый на количество документов, где это слово представлено. Таким образом, если какое-то слово встретилось во всех документах корпуса, то такое слово не будет никуда добавлено. Плюсами мешка слов является простая реализация, однако данный метод теряет часть информации, например, порядок слов. Для уменьшения потери информации можно использовать мешок N-грамм (добавлять не только слова, но и словосочетания), или использовать методы векторных представлений слов {{--- }} это, например, позволяет снизить ошибку на словах с одинаковыми написаниями, но разными значениями.
=== Дедубликация ===
=== Семантический анализ ===
Семантический (смысловой) анализ текста {{- --}} выделение семантических отношений, формировании семантического представления. В общем случае семантическое представление является графом, семантической сетью, отражающим бинарные отношения между двумя узлами — смысловыми единицами текста. Глубина семантического анализа может быть разной, а в реальных системах чаще всего строится только лишь синтаксико-семантическое представление текста или отдельных предложений.
=== NER и Relation Extraction ===
Именованные сущности {{- --}} объекты из текста, которые могут быть отнесены к одной из заранее заявленных категорий (например, организации, личности, адреса). Идентификация ссылок на подобные сущности в тексте является задачей распознавания именованных сущностей. Определение семантических отношений между именованными сущностями или другими объектами текста, является задачей извлечения отношений. Эти два подхода применяются во многих задачах, например, извлечение синонимов из текста, автоматическом построении онтологий.
==Источники информации==
# [https://en.wikipedia.org/wiki/Natural_language_processing] {{- --}} статья на Википедии
[[Категория: Машинное обучение]] [[Категория: Обработка естественного языка]]
Анонимный участник

Навигация