版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、手把手教你分析携程网评论数据中文文本挖掘包tm、tmcn、Rwordseg、Rweibo的安装文本分析的应用越来越广泛,这不,我的工作也开始涉及了文本分析,今天就讲讲关于评论数据的那点事。首先评论数据如何获取?一般通过网络爬虫的方式抓取各大网站的评论数据,本次分析数据就来源于携程网某酒店的评论,在同事的协助下,成功爬取该酒店的评论数据,于是我开始使用这些数据做相关的分析。本次文本分析中需要使用如下3个包:1) Rwordseg包用于分词2) tmcn用于词频统计3) wordcloud用于绘制文字云library(Rwordseg)library(tmcn)library(wordcloud)
2、#读取数据Evaluation<-read.csv(file=file.choose(),encoding='UFT-8')#剔除评论数据中含有的英文和数字text<-gsub('a-zA-Z0-9',",Evaluation$Evaluation)#分词segword<-segmentCN(strwords=text)#查看第一条评论的分词效果segword1#读取班据=*UFT-8*)Evaluation<-read.csv(fi1e=file.choose(),encoding#剔除评论数据中含有的英文和数字textgsu
3、b(1a-zA-ZO-91,11fEvaluationSEvalnation)#分词text)segword<-segmentCN(strwords#查看第一条评论的分询效果segwordl!1J81512229364350卬6471178859299“超级”出来”“周边”“酒店“"*ti“方便,,对面”“最近"卜了“1“享用”"单调”有H“出去“”地铁“就“H小H唾“aE“舒服”就H,.占T八“很“儿童”"的"“双打“吃”“浦STI宜:“施工“砥"”整个I*tl11正“没什么”,,不"“半价”H这个“"T&
4、quot;'E看点I早“大道”不用“马路”“看起来”I喻;I.,早春廿“特别”"好吃”“八十九”丁介格HU毕竟"也;“站”“走”H只II”比颔“的”“比较”“自助者”的“”鸡蛋"也“一般“早饭”“不”“不能”“出口”“很多路”II日IK正“简陋”“床”"安静"“稍微”寿“|”略,|“还“值”撇r每天进步一点点2015从上图的结果中发现,经分割后的词中有许多无意义的停止词,如“是”,“只”,“了”,“也”等,这些词是需要剔除的。关于停止词,可以到网上搜索获取。#读取停止词mystopwords<-read.table(file=fi
5、le.choose(),stringsAsFactors=FALSE)head(mystopwords)class(mystopwords)> rnystopwords<-read.tabile二file,chooseC)»stringsAsFactors二ALEE)> head(mystopwords)VI1 累累2 要3漏风声4 好些5 认识>class(mystopwords)l每天进步一点点20151irdata.frame"一由于读入的数据为数据框格式,需要将其转换为向量格式,即:mystopwords<-as.vector(myst
6、opwords,1)head(mystopwords)现在有了停止词词库,接下来需要将分割后的词与停止词词库进行比对,将含有停止词的词进行剔除。下面是自定义删除停止词的函数:removewords<-function(target_words,stop_words)target_words=target_wordstarget_words%in%stop_words=FALSEreturn(target_words)#将该函数应用到已分割的词中segword2<-sapply(X=segword,FUN=removewords,mystopwords)#查看已删除后的分词结果seg
7、word21> removewords<-functionCtarget.words,stop.words)+target_words=target_wordstarget_words%in%stop_words=FALSE+returnftarget_words)+> #将该心数应用到已分割的词中> segword2<-sapply(X=segword,FUN=removewords,mystopwords)> 排查看已删除后的分词结果> segword2l1“地铁r“浦东”大道“咄口“走”很多幽一穿,“马路”“施工”“简陋”“酒店”“不错“”床”“
8、舒服“15行五?主力11“早餐”“自助餐”“简单“打包饭”"好吃"22ii,五ii“儿童”畔价“八一谢进步除寝点201529”里调”“感觉”"撇下"“吃”从上图中显示,一些无意义的停止词已经被剔除,下面就使用比较干净的词绘制文字云,以大致查看分词效果。word_freq<-getWordFreq(string=unlist(segword2)opar<-par(no.readonly=TRUE)par(bg='black')# 绘制出现频率最高的前50个词wordcloud(words=word_freq$Word,freq=
9、word_freq$Freq,max.words=50,random.color=TRUE,colors=rainbow(n=7)par(opar)发现“不错”这个词非常明显,但到底是什么不错呢?下面来看一看都是哪些评论包含不错这样的字眼。# 根据频繁出现词汇,还原初始评价index<-NULLfor(iin1:length(segword)if(any(segwordi%in%'不错')=TRUE)index=unique(c(index,i)textindex将这些“不错”进行简化并组成含有“不错”字眼的评论有658条,这就需要人为干涉,词典。这是一个非常繁工的过程,
10、需要耐心的查看这些评论中都是怎么表达的情感的。经过约个小时的人为选词(不断反复查看),将这些词组成词典,并导入为自定义词汇。(可能该方法比较笨拙,如有更好的方法,还请看官指导)。# 自定义词汇words<-c('房间干净,服务不错,酒店不错','不错的酒店',不错的地方,卫生不错,'设施不错','设备不错,硬件不错,位置不错,地段不错,景色不错,景观不错,环境不错,风景不错',视野不错,夜景不错,口味不错,味道不错,感觉不错,态度不错,态度冷漠,态度冷淡','服务差劲,热情','热心'
11、,不热情,态度好,态度差',态度不好,素质差,质量不错','房间不错,浴缸不错,早餐不错,'早餐质量差,自助餐不错,'下午茶不错,'强烈推荐,推荐入住',值得推荐','性价比不错,隔音不错,体验不错,'不错的体验,设施陈旧','五星级酒店,'性价比不错','交通便利,交通方便,出行方便,房间小,价格不错,'前台效率太低,携程','地理位置,'陆家嘴)# 插入自定义词汇insertWords(strwords=words)由于上面的词汇都是经过简
12、化而成的,而原始评论可能是:“房间很干净”,“服务还是蛮不错的”,“酒店真心不错”等,所以就需要剔除这些干扰分词的词(“还是",“蛮”,“真心”,“的”等)。#根据业务情况、需要在原始评论中删除的字和词pattern<-c('还是','很也,'了','点','可以','还','是','真心','都','相当','大家','确实','挺','非常','应该
13、39;,'蛮','整体','里面','就','实在','总体','听说','有点','比较','质量','都是','够','十分','还算','极其','也算','方面','太','算是')# 将这些词组成“正则表达式”pattern2<-paste("",paste(
14、pattern,collapse=','),"",sep='')# 剔除原始评论中含有的这些干扰词汇text2<-gsub(pattern=pattern2,replacement='',x=text)好,经过清洗后,原始的评论相对简介而干净,下面对其进一步分词,记住,之前已经构建了自定义词汇,他会产生指定组合的词,如“酒店”,“不错”两个词组合为“酒店不错”。# 分词segword3<-segmentCN(strwords=text2)head(segword3)g31Je61JTJ3TJ1JTJTJuTJ3uu
15、3«JuuJ-uu21852963071223455rLrLflrLtrLrL花便«»再渡笑房加segmentCN(strwords-textZj粽用"Um"""反"恸充旧将筋做济世百无|船II口IIT瞅件助r袁波敬谭逐贝-B司,JL脸灯叮merrf-I-IMfl:I,服即例介.式旷骷男慌留稍电伴'®w“出口”中小“看起来H”个”“简里“II“八九“享用“不“”店«i甲足脸,度”由嗝禽打坏医豕黄方施上“酒店“"号“地铁“旁边”"新科“房间”拉开”"窗帘”“开
16、rr"回来,'”空调"“已经”“开门”。京快“这”不错”“堂“服务员“”不“热情”“没”“清洁“阿姨"”的“翟:然4襟泡舞点点2015“房“”卡“居然"# 新建停止词stopwords_v2<-c('不错','酒店','交通','前台',出差','价','去','免费','入','入彳3E','大道','吃','退','上海',
17、'说','床','态度',升级','地理','很好','号','住','服务员','房间','服务','设施',环境','位置')# 创建新添加的停止词mystopwords<-c(mystopwords,stopwords_v2)# 排除停止词segword4<-sapply(X=segword3,FUN=removewords,mystopwords)# 查看已删除后的分词
18、结果segword41根据上面的分词结果,再一次绘制文字云,具体如下:word_freq2<-getWordFreq(string=unlist(segword4)opar<-par(no.readonly=TRUE)par(bg='black')# 绘制出现频率最高的前50个词wordcloud(words=word_freq2$Word,freq=word_freq2$Freq,scale=c(4,0.1),max.words=50,random.color=TRUE,colors=rainbow(n=7)par(opar)发现还是有一些词影响了其真实情况,如“
19、早餐","房”等,需要进一步将其纳入停止词,因为这些词之前已经被组合成其他词汇。# 再一次清除停止词stopwords_v3<-c('早餐','嘴','电话','订','楼','人员','钟','修','办理','客人','品种','朋友','带','出门,'房',影响','硬彳牛','感觉',
20、9;想','验;洁','希望','送')segword5<-sapply(X=segword4,FUN=removewords,stopwords_v3)# 查看已删除后的分词结果segword51> #再一;青除停止词> stopv/ordsv3<-c(早髯.嘴.电话,'客人J品种朋友'丁带,J出门/废'.'超响,/送*)> segwordS.sapply(X=segword4»FUN> #查看已剧除后的分词结果> segword511“地格“浦东“出口
21、“走“8,惭工""简陌“舒服"“安昼”15“包诋“好吃“"鸡姿”讲“22 “享用“晚餐“早饭“单调”1订'STJ人员钟'J修,'办理、'硬件*J感觉','想','验T洁.J箱3=removewordsfstopwords_v3)路,r里下哆密"JL撒V-TIIU自助看“”简单H篝笑进步岫点点2015根据这次剔除的停止词,我们再绘制一次文字云:word_freq3<-getWordFreq(string=unlist(segword5)opar<-par(no.reado
22、nly=TRUE)par(bg="black")# 绘制出现频率最高的前50个词wordcloud(words=word_freq3$Word,freq=word_freq3$Freq,scale=c(4,0.1),max.words=50,random.c010r=TRUE,colors=rainbow(n=7)par(opar)发现文字云中含有相同意思的词汇,如“推荐”和“值得推荐”,这就要将这样的词汇合并为一个词汇,具体如下:# 将推荐和值得推荐合并segword6<-unlist(segword5)segword6segword6='推荐'<-'值得推荐'# 重新绘制文字云word_freq4<-getWordFreq(string=unlist(segword6)opar<-par(no.readonly=TRUE)par(bg="black")# 绘制出现频率最高的前50个词word
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小桥修建劳务合同范本
- 滨湖场地租赁合同范本
- 金属非金属矿山主要负责人安全考核题库
- 宁夏装修装饰合同范本
- 2025年农业产业化项目岗能力提高训练试题库及答案
- 成品粮采购合同范本
- 老年人用工合同范本
- 专用油墨项目可行性研究报告
- 三角烧杯具嘴项目可行性研究报告
- 三聚乙醛项目可行性研究报告
- 2026高考议论文范文19篇(完整版含真题立意+考场高分作文)
- 2026-2027学年苏教版(新教材)小学科学五年级上册(全册)知识点清单
- 2026年湖南省中考历史试卷(含答案)
- 《计算机程序设计员》教学大纲-初中级
- 500kV变压器保护及并联电抗器保护技术规范
- 两办意见、《条例》、八项硬措施、治本攻坚三年行动方案学习课件
- 同济大学浙江学院《免疫学及病原生物学》2023-2024学年第一学期期末试卷
- 设备部工作规划
- 提高有风险患者预防跌倒坠床护理措施落实率品管圈PDCA案例汇报
- 国内外设施园艺产业状况和发展教学课件
- GB 28316-2012 食品安全国家标准 食品添加剂 番茄红
评论
0/150
提交评论