如何在R中使用Noun Phrases而不是单词执行LDA(潜在Dirichlet分配)?

时间:2015-06-22 14:21:00

标签: r lda topic-modeling

我想在短语层次上从我的文本生成主题,而不是在使用LDA(潜在Dirichlet分配)的单词级别生成主题。我怎么能在R?中做到这一点?

LDA将文件解释为词袋并生成带有组成单词的主题。例如,文本"阿森纳的样本输出在2014年和2015年连续两年赢得足总杯。他们是北伦敦的国王。",可以产生主题 [阿森纳 - 50%, FA - 20%, 杯 - 10%, 伦敦 - 10%, 国王 - 10%]

我希望它能在短语层次上返回主题,即 [Arsenal,fa cup,north london]

1 个答案:

答案 0 :(得分:2)

我不知道在R中自动提取短语的方法。但是,可以更改输入文本,使短语与下划线或其他字符保持在一起。例如,您可以执行以下操作:

example <- "Arsenal won FA cup in two consecutive years in 2014 and 2015. They are the kings of North London."

phrases <- c("FA cup", "North London")
phrasesNbsp <- gsub(" ", "_", phrases, fixed = TRUE)
for (i in 1:length(phrases)) {
  example <- gsub(phrases[i], phrasesNbsp[i], example, fixed = TRUE)
}
lda::lexicalize(example)