У меня есть корпус диахроний c с текстами для разных организаций, каждый с 1969 по 2019 год. Для каждой организации я хочу сравнить текст за 1969 год и текст за 1970, 1970 и 1971, и т. Д. c. Тексты в течение нескольких лет отсутствуют.
Другими словами,
У меня есть корпус, cc, который я преобразовал в dfm Теперь я хочу использовать textstat_simil
:
ncsimil <- textstat_simil(dfm.cc,
y = NULL,
selection = NULL,
margin = "documents",
method = "jaccard",
min_simil = NULL)
При этом каждый текст сравнивается с любым другим текстом, в результате получается 2,6+ миллиона строк. Мне действительно нужно только сравнить определенные тексты с текстом непосредственно выше, например:
TextA
TextB
Text C
TextD (имеет NA)
TextE
Итак, мне нужна статистика jaccard c для A и B
B и C, и (поскольку некоторые имеют значения NA)
D и E
Мне любопытно, что y =
в textstat_simil
Пакет Quanteda говорит:
"y - необязательное соответствие целевой матрицы x в поле, на котором будет вычисляться сходство или расстояние. "
Мне не ясно, что это означает.
Означает ли это, что я могу создать два разных фрейма данных
A
B
C
D
E
и
B
C
D
E
F
Чтобы я получил статистику сходства c для
A и B
B и C
и так далее?
Или есть лучший способ сделать это?
Отредактировано, начиная здесь ... Я преобразовал в data.frame:
df <- convert(dfm.cc, to = "data.frame")
Я сделал bind_cols, чтобы добавить docvars и счетчики токенов ( 2405 столбцов - короткие тексты).
Я выделил исходные тексты в серии, например,
OrgA 1970, 1st_in_Series_Yes, TokCount 1 ... et c.
OrgA 1971, 1st_in_Series_No, TokCount 1 ... et c.
OrgA 1972, 1st_in_Series_No, TokCount 1 ... et c.
OrgA 1973, NA
OrgA 1974, 1st_in_Series_Yes, TokCount 1 ... et c.
OrgZ 1975, 1st_in_Series_No, TokCount 1 ... et c.
Чтобы не сравнивать
OrgA 1973 NA с OrgA 1972
или
OrgA 1974 с OrgA 1973
Отсюда должно работать ручное вычисление Jaccard , но, вероятно, есть более умный способ. Поделитесь пожалуйста решениями. Спасибо.