根据给定的单词概率,数千个主题和数百万条推文来计算主题频率

时间:2020-01-22 17:03:57

标签: r twitter probability lda topic-modeling

我有基本上像这样的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

为简单起见,这是一个示例主题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)

我需要获取每条推文的主题概率,其计算如下所示。enter image description here

所需的最终结果:一种查看每个用户ID讨论最多的主题的方法,但是既然我有2000个主题,这是否意味着我必须遍历所有2000个主题,从而导致每个主题都有2000个额外的列?我不确定该如何处理,因为我的数据集有100万条推文。

我目前的想法:循环遍历每个推文中的每个单词,在主题表中查找并进行计算。但是,这将导致2000列,并且可能会花费过多的计算时间。

预先感谢

0 个答案:

没有答案