Я хочу рассчитать попарные частоты слов большого количества твитов, которые я собрал. Так что я могу использовать их для визуализации в Gephi (сетевой график). Текущие данные выглядят так (это символ).Преобразование большого символа в частотную матрицу слов для Gephi в R
head(Tweet_text)
[1] "habits that separates successful persons from mediocre persons habit success startup entrepreneurship"
[2] "business entrepreneurship tech watch youtube star casey neistat ride a drone dressed as santa"
[3] "how to beat procrastination work deadlines workculture productivity management hr hrd entrepreneurship"
[4] "reading on entrepreneurship and startups and enjoying my latte"
[5] "not a very nice way to encourage entrepreneurship and in the same sentence dog another company"
[6] "us robotics founder on earlyday internet entrepreneurship articles management"
структура выглядит следующим образом:
str(Tweet_text)
chr [1:8661] "habits that separates successful persons from mediocre persons habit success startup entrepreneurship" ...
В этом наборе данных выборки, у меня есть 8661 твитов. Теперь я хочу рассчитать попарные частоты слов во всех этих твитах, которые я могу экспортировать в Gephi. Конечный результат я ищу заключается в следующем:
+------------------------+--------------+------+
| term1 | term 2 | Freq |
+------------------------+--------------+------+
| entrepreneurship | startup | 2 |
+------------------------+--------------+------+
Так что я начал использовать функцию DocumentTermMatrix в пакете тм:
dtm <- DocumentTermMatrix(Corpus(VectorSource(Tweet_text)))
Это работал (см ниже частоты «успеха» в первый твит):
inspect(dtm[1, c("success")])
<<DocumentTermMatrix (documents: 1, terms: 1)>>
Non-/sparse entries: 1/0
Sparsity : 0%
Maximal term length: 7
Weighting : term frequency (tf)
Terms
Docs success
1 1
После этого я пытался поставить эти частоты в нужном формате таблицы с:
m<-as.matrix(dtm)
m[m>=1] <- 1
m <- m %*% t(m)
Dat_Freq <- as.data.frame(as.table(m))
Но теперь начинается первая проблема, что матрица слишком велика. Рядом с этим я не знаю, как я могу ограничить парно-словочастоты определенным значением. Для примера пара должна иметь частоту> 10, чтобы матрица не достигла больших значений.
Понравился бы ваш совет по этому вопросу, как я могу получить эти парные частоты в формате csv.
Все самое лучшее :)
Thanks Yannis P.! Раньше я не знал эту книгу, поэтому я обязательно ее проверю. Я прокомментирую, если найду решение :). И да, вы правы, мне нужно сначала очистить стоп-слова. –
Нашел некоторое время, чтобы проверить, и библиотека tidytext отлично работает для парных частот слов! Спасибо, Яннис! –
Кажется, это новый «переход» для обработки текста в R –