Какие методы я могу использовать для вычисления корреляции между словами в Quanteda?

Мой вопрос является продолжением этого.

После очистки моих текстовых данных и визуализации их с помощью wordcloud я хочу увидеть, какие слова коррелируют друг с другом. Вот проблема:

  1. quantedaимеет функцию textstat_simil, но написано подобие. Итак, одно и то же в данном случае «сходство» и «корреляция»? (Связано ли это с расстоянием?).

  2. Более того, мой dfm выглядит как бинарная матрица. Является ли в этом случае фи-корреляция (из статистики хи-квадрата) более выраженной? Могу ли я рассчитать это через quanteda?

  3. У вас, ребята, есть какой-либо другой контент, кроме исходного кода github, который более подробно объясняет методы вычисления показателей сходства или расстояния? (я не понял из этого кода, извините) .

Спасибо за терпение!


person Guilherme Parreira    schedule 16.01.2019    source источник


Ответы (1)


Чтобы вычислить корреляцию Pearson product-moment между функциями, вы должны использовать:

textstat_simil(x, method = “correlation”, margin = “features”)

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

Корреляция Пирсона была бы не самой подходящей для двоичных данных, и в настоящее время мы не применяем методы корреляции Спирмена или другие методы корреляции, более подходящие для категориальных или порядковых данных. Однако вы всегда можете привести dfm к обычной матрице (используя as.matrix()), а затем использовать методы stats::cor(), которые включают методы Спирмена.

Что касается последнего вопроса, то мы используем стандартную реализацию этих мер. Если вы хотите получить больше ясности в отношении того, что они означают, я предлагаю задать вопрос на Cross-Validated.

person Ken Benoit    schedule 18.01.2019
comment
Спасибо Кен! Чего я до сих пор не понял, так это Note об этой функции: если вы хотите вычислить сходство для нормализованного объекта dfm (контролируя переменную длину документа, для таких методов, как корреляция, для которых важны разные длины документа), затем оберните входную dfm в dfm_weight(x, опора). Есть ли у вас какой-либо материал/ссылка, которая показывает, где это имеет значение? - person Guilherme Parreira; 18.01.2019
comment
Корреляция документов, использующих абсолютные, а не относительные частоты, может давать результаты, которые трудно сравнивать напрямую, когда корреляции включают документы очень разной длины. В этом случае лучше использовать относительные частоты (это нормализация документа). - person Ken Benoit; 21.01.2019
comment
Спасибо! Думаю, я понял. Если в документе 2 слова, а в другом 100 слов, будет много слов, которые не появятся в первом документе, потому что слов недостаточно, а не потому, что между ними нет корреляции!! Я прав? (Взвешивание матрицы решит эту проблему). - person Guilherme Parreira; 21.01.2019