楼主: 张群0703
3764 3

[问答] R语言做文本挖掘的主题模型 [推广有奖]

  • 0关注
  • 2粉丝

本科生

43%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
99 点
帖子
73
精华
0
在线时间
62 小时
注册时间
2014-8-11
最后登录
2015-1-4

楼主
张群0703 发表于 2014-9-26 12:01:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
大家好,我用R语言做文本挖掘的主题模型的时候,运行程序,程序能正常出结果,也能现在每个文本的TOP5关键字,但是关键字和文本对不上,顺序全都乱了。
举个例子,第一个文本是:在某无名湖地区连日来发生多起工人被袭事件,凶手非常神秘,从遗留下来的痕迹,以及无意中拍下的一段影像看,更像是一种从未被人类发现过的怪兽。不得已之下,人们只好求救于著名的神秘生物研究专家阿德金斯和猛兽杀手龙格尔,他们的工作很简单,追踪它,找到它,干掉它。
但是主题模型的结果,对应的关键字却是:李子、音乐、才华、管理、梦想。
我把我的程序贴出来,麻烦大家帮我看一下:
csv<-read.csv("e:/test.csv",header=T,stringsAsFactors=F)
mystopwords<-unlist(read.table("e:/StopWords.txt",stringsAsFactors=F))
library(tm)
removeNumbers<-function(x){ret=gsub("[0-9 0 1 2 3 4 5 6 7 8 9]","",x)}
wordsegment<-function(x){
library(Rwordseg)
segmentCN(x)
}
removeStopWords<-function(x,words){
ret<-character(0)
index<-1
it_max<-length(x)
while(index<=it_max){
if(length(words[words==x[index]])<1)ret<-c(ret,x[index])
index<-index+1
}
ret
}
sample.words<-lapply(csv$test,removeNumbers)
sample.words<-lapply(sample.words,wordsegment)
sample.words<-lapply(sample.words,removeStopWords,mystopwords)
corpus<-Corpus(VectorSource(sample.words))
(sample.dtm<-DocumentTermMatrix(corpus,control=list(wordLengths=c(2,5))))

k<-nrow(csv)
library(topicmodels)
SEED<-2012
sample_TM<-LDA(sample.dtm,k=k,control=list(seed=SEED))
Terms<-terms(sample_TM,5)
还希望了解的大神指点一下我哪里出了问题




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:主题模型 文本挖掘 R语言 运行程序 关键字 主题 模型

沙发
张群0703 发表于 2014-9-26 12:03:24
怎么还需要审核啊?

藤椅
艾东NO 发表于 2014-9-26 14:32:50
还是有点不明白                                                                        
                                       
                                                     
                                                     
                                             
                                                                 
                                                                                 

板凳
pmp55 发表于 2014-10-7 22:11:21
你的topic是人工设定的吧?设定了有几个?如果程序能运行出结果,你可以看下文本对应的是哪个TOPIC就知道问题出在哪了。一般最好算perpelexity,找出最佳的topic数量,然后再运行LDA。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-21 19:09