Четыре основных приложения обработки естественного языка:

Встраивание слов / ассоциация

Тематическое моделирование

Анализ настроений

Классификация текста

Этот блог посвящен упомянутым выше двум основным приложениям: встраиванию слов НЛП и тематическому моделированию. Два других приложения являются частью второго блога.

Встраивание слов / ассоциация

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

Главное понять, почему это важно ??

Если мы используем базовые методы, такие как мешок слов, каждый уникальный токен обрабатывается независимо. Например, «Цветок» и «Роза» так же непохожи, как «Цветок» и «Лев» в случае с Мешком слов, но в реальной жизни это не так. «Цветок» и «Роза» имеют сходство и, следовательно, не должны совпадать. рассматривается так же, как "Цветок" и "Лев", которые совершенно разные (сходство сильно зависит от содержания и цели модели)

Существует несколько алгоритмов встраивания слов. Я расскажу об одном из самых популярных алгоритмов - Google Word2vec.

Word2Vec от Google - это модель, которая предсказывает целевое слово из контекста соседних с ним слов. Модель сначала кодирует каждый токен, используя одну горячую кодировку, затем эти закодированные токены проходят через скрытый слой, где веса назначаются закодированным словам и выходным данным. этой модели является целевым словом

С помощью вложения слов можно раскрыть множество интересных отношений, самый известный пример - король-мужчина + женщина = королева.

Word2Vec представляет собой комбинацию двух методов: Непрерывный пакет слов (CBOW) и Модель пропуска грамматики.

Непрерывный набор слов (CBOW):

CBOW предсказывает вероятность слова с учетом контекста, который может быть отдельным словом или абзацем.

  1. Входные токены - это одна горячая кодировка
  2. Закодированные значения передаются через неглубокую нейронную сеть с тремя уровнями: входной слой, скрытый слой, выходной слой.
  3. Есть два набора гирь. один находится между входным и скрытым слоями, а второй - между скрытым и выходным слоями.
  4. Вход умножается на веса, скрытые на входе, и называется скрытой активацией.
  5. Скрытый ввод умножается на веса скрытого вывода и вычисляется вывод.
  6. Ошибка между выходом и целью вычисляется и распространяется обратно для корректировки весов.
  7. Вес между скрытым слоем и выходным слоем принимается как векторное представление слова слова.

Модель Skip-Gram

Skip-gram следует той же топологии, что и CBOW, в отличие от CBOW: он предсказывает контент по токену / слову.

Преимущества CBOW:

  1. Вероятностный. Предполагается, что он работает лучше, чем детерминированные модели.
  2. Не требует много памяти

Преимущества модели Скип-Грама:

  1. Модель скип-граммы может улавливать две семантики для одного слова
  2. Скип-грамма с отрицательной подвыборкой в ​​целом превосходит любой другой метод.

Давайте запачкаем руки с Gensim-Word2Vec

Тематическое моделирование

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

Тематические модели очень полезны для кластеризации документов, организации больших блоков текстовых данных, извлечения информации из неструктурированного текста и выбора функций. Например, New York Times использует тематические модели для улучшения своих механизмов рекомендаций пользователей по статьям. Различные профессионалы используют тематические модели для отраслей найма, где они стремятся извлечь скрытые особенности описания должностей и сопоставить их с подходящими кандидатами. Они используются для организации больших наборов данных электронной почты, отзывов клиентов и профилей пользователей в социальных сетях.

Темы обычно представляют собой важные слова в тексте.

  • Подсчет частот может быть одним из способов определения тем.
  • TF-IDF также можно использовать для тематического моделирования.
  • Или самый известный, LDA (Latent Dirichlet Allocation).

Скрытое размещение Дирихле:

LDA - это «генеративная вероятностная модель», состоящая из документов, которые, в свою очередь, состоят из токенов.

Вероятностная модель, оцененная LDA, состоит из двух таблиц: первая таблица описывает вероятность или шанс выбора токена при выборке определенной темы; вторая таблица описывает вероятность или шанс выбора темы при выборке конкретного документа.

Шаги LDA:

  1. Выберите свой уникальный набор токенов
  2. Выберите количество документов
  3. Выберите количество тем, которые вы хотите предсказать
  4. Выберите число от ненулевого до положительной бесконечности и назовите его альфа.
  5. Выберите число от ненулевого до положительной бесконечности и назовите его бета.
  6. Постройте жетоны по таблице тем. Для каждого столбца возьмите выборку из распределения Дирихле (распределение распределений), используя бета в качестве входных данных. Каждый образец заполняет каждый столбец в таблице, суммирует до одного и дает вероятность каждого токена на тему (столбец).
  7. Создайте документы по сравнению с таблицей тем. Для каждой строки возьмите выборку из распределения Дирихле, используя альфа в качестве входных данных. Каждый образец заполняет каждую строку в таблице, суммирует до единицы и дает вероятность каждой темы (столбца) для каждой композиции.
  8. Создайте фактические документы. Для каждого документа: 1) найдите его строку в таблице документа по сравнению с темами, 2) выберите тему на основе вероятностей в строке, 3) перейдите к таблице токенов по сравнению с темами, 4) найдите выбор темы, 5) выборка токена на основе вероятностей в столбце, 6) повторение с шага 2, пока вы не достигнете того, сколько частей было установлено в этом документе.

Использование Gensim для тематического моделирования

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

Надеюсь, вам понравилось читать !! Удачного обучения !!