Коррелирующая близость слов - PullRequest
5 голосов
/ 23 октября 2011

Допустим, у меня есть текстовая расшифровка диалога в течение периода приблизительно.1 час.Я хочу знать, какие слова происходят в непосредственной близости друг к другу.Какой тип статистического метода я бы использовал, чтобы определить, какие слова объединены в кластеры и насколько близко они находятся друг от друга?

Я подозреваю, что какой-то кластерный анализ или PCA.

1 Ответ

4 голосов
/ 23 октября 2011

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

  1. каждое слово является вершиной (или "узлом"), а
  2. левое и правое слова - ребра

Так что «я люблю собак» будет иметь 2 ребра и 3 вершины.

Теперь следующим шагом будет на основе этой модели решить, каково ваше определение «закрыть».

Вот тут и статистика.

Для определения "групп" коррелированных слов

  1. MCL кластеризация - это даст вам несколько кластеров, которые с алгоритмической точки зрения имеют высокие шансы их увидеть вместе.

  2. K означает кластеризацию - это даст вам «k» групп слов.

  3. Thresholding - это самый надежный и интуитивно понятный метод. Составьте график всех отношений для небольшого подмножества данных, которые вы понимаете (например, абзац из новостного ролика или статьи, которую вы прочитали), и запустите свой метод для создания графика, а также визуализируйте график с помощью такого инструмента, как graphviz или cytoscape. , Как только вы увидите взаимосвязь, вы сможете посчитать, сколько ребер обычно находится между разными словами, которые четко объединяются. Вы можете обнаружить, что, например, два слова, которые объединяются, будут иметь преимущество для каждых 5 экземпляров. Используйте это как обрезку и напишите свой собственный скрипт анализа графа, который выводит пары слов, которые имеют по крайней мере 1 ребро для каждых 5 экземпляров слова в вашем графе вершин.

    1. Оценка 3 по кривым ROC. Вы можете титровать это значение вашего среза все выше и выше, пока у вас не будет очень мало «кластеров». Если вы затем запустите свой алгоритм для абзаца с известными, ожидаемыми результатами (созданными человеком, который уже знает, какие слова должны сообщаться как коррелированные), вы можете оценить точность вашего алгоритма, используя характеристику приемника, которая сравнивает коррелированные слова вывод на предварительно рассчитанный золотой стандарт.
...