Аналитика социальных сетей —Семантика распространения

Английский лингвист Джон Ферт сказал в 1957 году: «Вы узнаете слово по компании, которую оно составляет».

Наиболее часто используемое представление слов – это "словные векторы". Существует два основных метода представления слов в виде векторов:

Матрица вхождений термин-документ, где каждая строка представляет собой термин в словаре, а каждый столбец представляет собой документ (например, веб-страницу, твит, книгу и т. д.)

Матрица совпадения терминов, где i-я строка и j-й столбец представляют появление i-го слова в контексте j-го слова.

«Каждое слово и документ теперь имеют соответствующее векторное представление — каждая строка представляет собой вектор, представляющий слово, а каждый столбец — это вектор, представляющий документ (или контекст, такой как твит, книга и т. д.)».

Матрица срок-документ

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

· В таблице ниже представлена ​​матрица терминов и документов, каждая запись которой представляет частоту использования термина в фильме::

Существует два способа создания матрицы совпадений:

Использование контекста вхождения (например, предложения):

Каждое предложение представлено как контекст (могут быть и другие определения). Если два термина встречаются в одном и том же контексте, говорят, что они произошли в одном и том же контексте.

Пропустить граммы (x-skip-n-grams):

Скользящее окно будет содержать (x+n) слов. Это окно теперь будет служить контекстом. Термины, которые встречаются в этом контексте одновременно, называются одновременными.

Наконец, давайте поговорим о том, что мы начали-

«Вы узнаете слово по компании, которую оно держит».

Векторы слов

Допустим, вам дан следующий абзац из книги «Гарри Поттер и Философский камень»:

«Извините, — хмыкнул он, когда крошечный старик споткнулся и чуть не упал. Прошло несколько секунд, прежде чем мистер Дурсль понял, что на мужчине был фиолетовый плащ. Он совсем не выглядел расстроенным из-за того, что его чуть не сбили с ног».

Давайте предположим, что наш словарный запас содержит только несколько слов, перечисленных ниже. После удаления стоп-слов и знаков препинания и сохранения только слов из нашего словаря абзац становится таким:

Человек споткнулся, плащ мужчины Дурсля споткнулся о землю

Создайте матрицу совпадений, используя этот абзац, используя метод 3 пропуска 2 грамма, и ответьте на следующие вопросы (выберите показатель сходства по вашему выбору).

Словарный запас будет таким:

(мужчина, споткнулся, секунды, Дурсль, плащ, расстроился, сбился, земля)

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

(Мужчина, споткнулся) (Мужчина, секунды) (Мужчина, Дурсль) (Мужчина, мужчина)

(споткнулся, секунды) (споткнулся, Дурсль) (споткнулся, мужчина) (споткнулся, плащ)

(секунды, Дурсли) (секунды, мужчина) (секунды, плащ) (секунды, расстроенные)

(Дурсль, мужчина) (Дурсль, плащ) (Дурсль, расстроенный) (Дурсль, сбитый с толку)

(мужчина, плащ) (мужчина, расстроен) (мужчина, постучал) (мужчина, земля)

(плащ, расстроен) (плащ, сбитый) (плащ, земля)

(расстроенный, сбитый с толку) (расстроенный, заземлившийся)

(стучал, земля)

Вложения Word:

Матрицы встречаемости и совпадения являются разреженными (действительно разреженными!) и многомерными. Говоря о высокой размерности — почему бы не уменьшить размерность с помощью методов матричной факторизации, таких как SVD и т. д.?

Именно на это и нацелены встраивания слов. Встраивания слов – это сжатая низкоразмерная версия гигантских матриц вхождений и совпадений.

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

Внедрение Word может быть создано с использованием следующих двух широких подходов:

Подход, основанный на частоте: уменьшение матрицы термина-документа (которая также может быть tf-idf, матрицей инцидентности и т. д.) с использованием метода уменьшения размерности, такого как SVD.

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

Скрытый семантический анализ

В LSA вы берете зашумленный многомерный вектор слова и проецируете его на пространство более низкого измерения. Низкомерное пространство является гораздо более богатым представлением семантики слова.

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

Помимо множества преимуществ, LSA имеет и некоторые недостатки. Во-первых, результирующие измерения не поддаются интерпретации (типичный недостаток любого метода матричной факторизации, такого как PCA). Кроме того, LSA не может решать такие проблемы, как полисемия. Например, мы упоминали ранее, что термин «Ява» имеет три значения, и представление термина в пространстве нижнего измерения будет представлять своего рода «среднее значение» термина, а не три разных значения.

Word2Vec

«Семантические закономерности и сходства являются наиболее важной частью Word-Vectors, которые могут быть зафиксированы с помощью модели word2vec, а не с помощью лексической/синтаксической обработки, такой как модели Bag of word».

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

Ближайшие соседи

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

Пропустить грамм и CBOW

skip-gram принимает целевое/данное слово в качестве входных данных и предсказывает контекстные слова (в окне), тогда как CBOW принимает контекстные термины в качестве входных данных и предсказывает целевой/данный термин.

Проще говоря, модель CBOW изучает встраивание, предсказывая текущее слово на основе его контекста. Модель пропуска грамм учится, предсказывая окружающие слова по текущему слову.

встраивания слов, обученные с использованием скип-грамм, немного «лучше», чем те, которые обучены с использованием CBOW для менее частых слов. Под «лучше» мы просто подразумеваем, что слова, похожие на нечастые слова, также будут нечастыми словами.

Вставки в перчатки

Ранее мы упоминали, что помимо Word2Vec, различными командами было разработано несколько других вложений слов. Одним из самых популярных является GloVe (Global Vectors for Words), разработанный исследовательской группой Стэнфорда. Эти вложения обучаются примерно на 6 миллиардах уникальных токенов и доступны в виде предварительно обученных векторов слов, готовых к использованию в текстовых приложениях.

Вероятностный анализ скрытой семантики (PLSA)

PLSA — это вероятностный метод тематического моделирования. Во-первых, мы фиксируем произвольное количество тем, которое является гиперпараметром (например, 10 тем во всех документах). Базовая модель, которую мы предполагаем, такова: каждый документ представляет собой набор некоторых тем, а каждая тема представляет собой набор некоторых терминов.

Задача алгоритма PLSA состоит в том, чтобы определить набор тем c. PLSA часто представляют в виде графической модели с заштрихованными узлами, представляющими наблюдаемые случайные величины (d, w), и незаштрихованными ненаблюдаемыми случайными величинами ©. Основная идея настройки процедуры оптимизации состоит в том, чтобы найти набор тем c, который максимизирует совместную вероятность P(d, w).

Неконтролируемое обучение — тематическое моделирование: зачем оно нам вообще нужно?

позвольте мне ответить, предположим, что вы менеджер по продукту в Amazon и хотите понять, о каких функциях недавно выпущенного продукта (скажем, Amazon Echo Dot) клиенты говорят в своих обзорах.

давайте предположим, что вы можете определить, что 50% людей говорят об оборудовании, 30% говорят о функциях, связанных с музыкой, а 20% говорят об упаковке продукта.

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

что такое Тема — основная идея, описанная в тексте

Высокий уровень интуиции, лежащей в основе тем. скажем, учитель читает лекцию о технологиях каждый день классу учащихся.

Я один из его учеников, переписал все его Гьяны и получил несколько ключевых слов, как показано ниже:

Распределение тем:: (o.5, o.5, 0) :: «Это основная идея тематического моделирования».

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

Тематическая модель дает два результата: 1. распределение тем в документе и 2. распределение слов в теме.

аналогично есть две задачи в тематическом моделировании —

  1. Определение темы — легко, каждый термин — это тема — распределение по словарю
  2. Оценка покрытия

предположим, что у нас есть две Темы: Магия и Наука —

Вероятностный латентно-семантический анализ (PLSA)

PLSA можно представить в виде графической модели, имеющей документы случайных переменных d, темы c и слова w.

Основная идея, используемая для вывода параметров, то есть цели оптимизации, состоит в том, чтобы максимизировать совместную вероятность p(w, d) наблюдения документов и слов (поскольку эти две переменные являются единственными наблюдаемыми переменными). Обратите внимание, что здесь вы делаете нечто очень умное (и сложное) — используете наблюдаемые случайные величины (d, w) для вывода ненаблюдаемой случайной величины c.

Используя правило Байеса, вы можете записать p(w, d) как:

p(w,d) = p(d) x p(w|d)

«вывод задача состоит в том, чтобы вычислить M x k вероятностей темы документа и k x N вероятностей термина темы».

скажем, есть M документов (представленных внешней пластиной на рисунке ниже), и для простоты предположим, что в каждом документе есть N слов (внутренняя пластина).

Терм p(w|d) представляет вероятность того, что слово w будет сгенерировано из документа d. Но наша модель предполагает, что слова генерируются из тем, которые, в свою очередь, генерируются из документов, поэтому мы можем записать p(w|d) как p(w|c). p(c|d), суммированное по всем k темам:

P(w|d) = ∑p(c|d) x p(w|c)

Итак, мы имеем P(w,d) = p(d) x ∑ [p(c|d) x p(w|c)]

Ограничение PLSA::основная проблема с PLSA заключается в том, что он имеет большое количество параметров, которые линейно растут вместе с документами».

Скрытое распределение Дирихле (LDA) —

в LDA предполагается, что распределения тема-документ и тема-термин являются распределениями Дирихле (параметризованными некоторыми переменными), и мы хотим вывести эти два распределения.

ниже представлена ​​схема пластины LDA-

«В отличие от PLSA, LDA — это параметрическая модель, т. е. нам не нужно изучать все отдельные вероятности. Скорее, мы предполагаем, что вероятности исходят из основного распределения вероятностей (распределение Дирихле), которое мы можем смоделировать, используя некоторые параметры».

например, в нормальном распределении у нас есть два параметра, то есть среднее значение и стандартное отклонение. и мы хотим вывести эти два распределения.

как указано выше на диаграмме пластин;

Альфа — «параметр распределения Дирихле, определяющий распределение документа по теме».
Эта — «параметр, определяющий распределение тема-термин.

Распределение Дирихле:

При значениях альфа ‹ 1 (рис. 4) большинство точек рассредоточено по краям, за исключением нескольких точек, находящихся в центре (разреженное распределение — у большинства тем низкая вероятность, а у некоторых доминирует).

При alpha=1 (рисунок-1) точки равномерно распределены по всему симплексу.

В альфа › 1 (рисунок 2, вверху справа) точки распределяются вокруг центра (т. е. все темы имеют сопоставимые вероятности, такие как (t1 = 0,32, t2 = 0,33, t3 = 0,35). ))

На рисунке внизу слева показано асимметричное распределение (не используется в LDA), при этом большинство точек близко к теме 2.

Ключевые выводы::

Разреженные темы — очень низкий альфа-канал означает, что в документе есть только одна тема или только один термин в данной теме — .
— если альфа-канал высокий, вы даже не прослушиваете данные. но если он умеренный, у вас есть смесь данных и оценок — .

Работа в процессе

В качестве варианта использования я работаю над очисткой твитов в реальном времени с помощью Twitter Api и применяю все методы НЛП для создания моделей LDA, преобразования слова в вектор, извлечения повествований и их кластеризации.

Продолжайте следить за обновлениями в этой рабочей области…