Рассчитайте topi c частоту с учетом вероятностей слов, по тысячам тем и миллионам твитов - PullRequest
0 голосов
/ 22 января 2020

У меня есть данные Tweet, которые выглядят примерно так:

userID <- c("1","2","2")
text <- c("cat dog", "this is a fish tweet", "this tweet contains a topic")
testDF <- data.frame(userID, text)

У меня есть список из 2000 тем (полученных из http://wwbp.org/data.html), каждая со словами и соответствующей условной вероятностью. Похоже, что с 0 и 1 являются темами. Кроме того, темы 0 и 1 могут иметь перекрывающиеся слова, но, вероятно, с разными вероятностями.

topics

Для простоты это пример topi c df

term <- c("dog", "cat", "fish", "food")
topic <- c("pet","pet","pet","pet")
prob <- c(.84, .74, .44, .03)
testDF2 <- data.frame(term, topic, prob)

Мне нужно получить вероятность topi c для каждого твита, и расчет приведен ниже. enter image description here

Желаемый конечный результат: a способ узнать, о каких темах каждый userID говорит больше всего, но так как у меня 2000 тем, значит ли это, что мне нужно l oop через все 2000, что приведет к дополнительным 2000 столбцам с вероятностями для каждой? Я не уверен, как подойти к этому, так как мой набор данных содержит 1 миллион твитов.

Мои текущие мысли: al oop через каждое слово для каждого твита, поиск в таблице topi c и выполнение вычислений. Однако это приведет к 2000 столбцам и, вероятно, к слишком большому времени вычислений.

Заранее спасибо

...