数极客首页

R语言数据挖掘实战案例:电商评论情感分析

本文的结构

如下

经过
对客户的评论,中止

一系列的办法

中止

剖析

,得出客户关于
某个商品的各方面的态度和情感倾向,以及客户注重商品的哪些属性,商品的优点和缺陷
分别是什么,商品的卖点是什么,等等..

2.文本挖掘

主要的思想.

由于言语
数据的特殊性,我们主要是将一篇句子中的关键词提取出来,从而将一个评论的关键词也提取出来,然后依据

关键词所占的权重,这里我们用空间向量的模型,将每个特征关键词转化为数字向量,然后计算其距离

,然后聚类,得到情感的三类,分别是正面的,负面的,中性的.用以代表客户对商品的情感倾向.

3.文本挖掘

的主要流程:

点击快速开端
—新建任务,输入任务名点击下一步,翻开
京东美的热水器页面

然后软件自动跳转到第一个商品的细致

页面,我们点击评论,在弹出页面中点击 点击这个元素,看到评论也有很多页,这时我们又需求
创建

一个循环列表,同上,点击下一页—循环点击.然后点击我们需求
抓取的评论文本,在弹出页面中点击创建

一个元素列表以处置
一组元素—-点击添加到列表—继续编辑列表,然后点击第2个评论在弹出页面中点击添加到列表—循环,再点击评论的文本选择抓取这个元素的文本.好了,此时软件会循环抓取本页面的文本,如图:

本例运用
了京东平台下关于
美的热水器的客户评论作为剖析

对象,依照

流程,第一
我们运用
八爪鱼在京东网站上爬取了客户关于
美的热水器的评论,部分

数据如下!

文本短,基本

上大量的评论就是一句话.

情感倾向显然
:显然
的词汇 如”好” “能够

言语
不规范

:会呈现
一些网络用词,符号,数字等

重复

性大:一句话呈现
词语重复

数据量大.

故我们需求
对这些数据中止

数据预处置
,先中止

数据清洗,

编辑距离

去重其实就是一种字符串之间相似

度计算的办法

。给定两个字符串,将字符串A转化为字符串B所需求
的删除、插入、交流

等操作步骤的数据量
就叫做从A到B的编辑途径
。而最短的编辑途径
就叫字符串A、B的编辑距离

。比如

,“还没正式运用
,不知道

怎样,但装置

的资料

费的确

有点高,380”与“还没运用
,不知道

质量怎样
,但装置

的资料

费的确

贵,380”的编辑距离

就是9.

第一
,针对重复

的评论我们要去重,即删掉重复

的评论.

另外一句话中呈现
的重复

词汇,这会影响一个评论中关键词在整体中呈现
的频率太高而影响剖析

结果.我们要将其紧缩
.

还有一些无意义的评论,像是自动好评的,我们要辨认

并删去.

4.3紧缩
语句的规则:

1.若读入与上列表相同,下为空,则放下

2.若读入与上列表相同,下有,判别
重复

, 清空下表

3.若读入与上列表相同,下有,判别
不重,清空上下

4.若读入与上列表不同,字符>=2,判别
重复

,清空上下

5.若读入与上列表不同,下为空,判别
不重,继续放上

6.若读入与上列表不同,下有,判别
不重,放下

7.读完后,判别
上下,若重则紧缩
.

4.4然后我们再中止

中文的分词,分词的大致原理是:

中文分词是指将一段汉字序列切分红
独立的词。分词结果的精确

性对文本挖掘

效果至关重要。目前分词算法主要包括四种:字符串匹配算法、基于了解

的算法、基于统计的办法

和基于机器学习的算法。

1.字符串匹配算法是将待分的文本串和词典中的词中止

精确

匹配,假定

词典中的字符串出往常

当前的待分的文本中,阐明

匹配胜利

。常用的匹配算法主要有正向最大匹配、逆向最大匹配、双向最大匹配和最小切分。

2.基于了解

的算法是经过
模仿

理想
中人对某个句子的了解

的效果中止

分词。这种办法

需求
中止

句法结构

剖析

,同时需求
运用
大量的言语
学问
和信息,比较

复杂。

3.基于统计的办法

是应用
统计的思想中止

分词。单词由单字构成,在文本中,相邻字共同呈现
的次数越多,他们构成词的概率就越大;因而

能够

应用
字之间的共现概率来反映词的几率,统计相邻字的共现次数,计算它们的共现概率。当共现概率高于设定的阈值时,能够

以为
它们可能构成了词

4.最终
是基于机器学习的办法

:应用
机器学习中止

模型构建。构建大量已分词的文本作为锻炼
数据,应用
机器学习算法中止

模型锻炼
,应用
模型对未知文本中止

分词。

4.5得到分词结果后,

我们知道

,在句子中经常会有一些”了””啊””但是”这些句子的语气词,关联词,介词等等,这些词语关于
句子的特征没有贡献

,我们能够

将其去除,另外还有一些专有名词,针对此次剖析

案例,评论中经常会呈现
”热水器”,”中国”这是我们已知的,由于
我们原本

就是关于
热水器的评论中止

剖析

,故这些属于无用信息.我们也能够

删除.那么这里就要去除这些词.普通
是经过
树立
的自定义词库来删除.

4.6 我们处置
完分词结果后,

便能够

中止

统计,画出词频云图,来大致的了解

那些关键词的状况

,借此关于
我们下一步的剖析

,提供思索

的资料

.操作如下:

我们便开端
着手建模剖析

了,在模型的选择面前,有很多办法

,但总结下来就只需

两类,分别向量空间模型和概率模型,这里分别引见
一个代表模型

模型一: TF-IDF法:

但是理论

上,假定

一个词条在一个类的文档中频繁呈现
,则阐明

该词条能够

很好代表这个类的文本的特征,这样的词条应该给它们赋予较高的权重,并选来作为该类文本的特征词以区别与其它类文档。这就是IDF的缺乏
之处.

模型二:.LDA模型

传统判别
两个文档相似

性的办法

是经过
查看两个文档共同呈现
的单词的多少,如TF-IDF等,这种办法

没有思索
到文字背后的语义关联,可能在两个文档共同呈现
的单词很少致使

没有,但两个文档是相似

的。

举个例子,有两个句子分别如下:

“乔布斯离我们而去了。”

“苹果价钱
会不会降?”

能够

看到上面这两个句子没有共同呈现
的单词,但这两个句子是相似

的,假定

按传统的办法

判别
这两个句子肯定不相似

,所以在判别
文档相关性的时分
需求
思索
到文档的语义,而语义挖掘

的利器是主题模型,LDA就是其中一种比较

有效的模型。

LDA模型是一个无监视
的生成主题模型,其假定
:文档集中的文档是依照

一定的概率共享隐含主题汇合

,隐含主题汇合

则由相关词构成。这里一共有三个汇合

,分别是文档集、主题集和词集。文档集到主题集服从概率散布

,词集到主题集也服从概率散布

。往常

我们已知文档集和词集,依据

贝叶斯定理我们就有可能求出主题集。细致

的算法十分

复杂,这里不做多的解释,有兴味
的同窗
能够

参看如下资料

http://www.52analysis.com/shujuwajue/2609.html

http://blog.csdn.net/huagong_a … 37616

4.8 项目总结

1.数据的复杂性更高,文本挖掘

面对的非结构

性言语
,且文本很复杂.

2.流程不同,文本挖掘

更注重预处置
阶段

3.总的流程如下:

1.舆情剖析

2.搜索引擎优化

3.其他各行各业的辅助应用

6.剖析

工具:

ROST CM 6是武汉大学沈阳教授研发编码的国内目前独一
的以辅助人文社会科学研讨
的大型免费社会计算平台。该软件能够

完成
微博剖析

、聊天剖析

、全网剖析

、网站剖析

、阅读
剖析

、分词、词频统计、英文词频统计、流量剖析

、聚类剖析

等一系列文本剖析

,用户量超越
7000,提高

海内外100多所大学,包括剑桥大学、日本北海道大学、北京大学、清华大学、香港城市大学、澳门大学众多高校。下载地址: http://www.121down.com/soft/softview-38078.html

RStudio是一种R言语
的集成开发环境(IDE),其亮点是出色的界面设计及编程辅助工具。它能够

在多种平台上运转
,包括windows,Mac,Ubuntu,以及网页版。另外这个软件是免费和开源的,能够

在官方网页:www.rstudio.org

上下载。

7.1 Rostcm6完成
:

这是处置
前的文本内容,我们将爬取到的数据,只去除评论这一字段,然后保管
为TXT格式,翻开
如下,依照

流程我们先去除重复

和字符,英文,数字等项.

7.2 R的完成

这里需求
装置

几个必需
包,由于
有几个包装置

比较

复杂,这里给了链接http://blog.csdn.net/cl1143015 … 82731

大家能够

参看这个博客装置

包.装置

完成后就能够

开端
R文本挖掘

加载工作空间

library(rJava)

library(tmcn)

library(Rwordseg)

library(tm)

setwd(“F:/数据及程序/chapter15/上机实验”)

data1=readLines(“./data/meidi_jd_pos.txt”,encoding = “UTF-8″)

head(data1)

data<-data1[1:100]

—————————————————————#Rwordseg分词

data1_cut=segmentCN(data1,nosymbol=T,returnType=”tm”)

删除n,英文字母,数字

data1_cut=gsub(“”,””,data1_cut)

data1_cut=gsub(“[a-z]*”,””,data1_cut)

data1_cut=gsub(“d+”,””,data1_cut)

write.table(data1_cut,’data1_cut.txt’,row.names = FALSE)

Data1=readLines(‘data1_cut.txt’)

Data1=gsub(‘”‘,”,data1_cut)

length(Data1)

head(Data1)

———————————————————————– #加载工作空间

library(NLP)

library(tm)

library(slam)

library(topicmodels)

R言语
环境下的文本可视化及主题剖析

setwd(“F:/数据及程序/chapter15/上机实验”)

data1=readLines(“./data/meidi_jd_pos_cut.txt”,encoding = “UTF-8”)

head(data1)

stopwords<- unlist (readLines(“./data/stoplist.txt”,encoding = “UTF-8”))

stopwords = stopwords[611:length(stopwords)]

删除空格、字母

Data1=gsub(“”,””,Data1)

Data1=gsub(“[a~z]*”,””,Data1)

Data1=gsub(“d+”,””,Data1)

构建语料库

corpus1 = Corpus(VectorSource(Data1))

corpus1 = tm_map(corpus1,FUN=removeWords,stopwordsCN(stopwords))

树立
文档-词条矩阵

sample.dtm1 <- DocumentTermMatrix(corpus1, control = list(wordLengths = c(2, Inf)))

colnames(as.matrix(sample.dtm1))

tm::findFreqTerms(sample.dtm1,2)

unlist(tm::findAssocs(sample.dtm1,’装置

’,0.2))

—————————————————————–

#主题模型剖析

Gibbs = LDA(sample.dtm1, k = 3, method = “Gibbs”,control = list(seed = 2015, burnin = 1000,thin = 100, iter = 1000))

最可能的主题文档

Topic1 <- topics(Gibbs, 1)

table(Topic1)

每个Topic前10个Term

Terms1 <- terms(Gibbs, 10)

Terms1

——————————————————————- #用vec办法

分词

library(tmcn)

library(tm)

library(Rwordseg)

library(wordcloud)

setwd(“F:/数据及程序/chapter15/上机实验”)

data1=readLines(“./data/meidi_jd_pos.txt”,encoding = “UTF-8”)

d.vec1 <- segmentCN(data1,returnType = “vec”)

wc1=getWordFreq(unlist(d.vec1),onlyCN = TRUE)

wordcloud(wc1$Word,wc1$Freq,col=rainbow(length(wc1$Freq)),min.freq = 1000)

#

8.结果展示

与阐明

这是剖析

的部分

结果.能够

看到大部分

客户的评论包含积极心情
,阐明

了客户关于
美的热水器认可度比较

高称心

度也能够

,当然,我们仅凭情感剖析

的结果是无法看出,客户到底关于
哪些方面称心

,哪些方面不称心

,我们有什么能够

坚持
的中央
,又有哪些需求
改进

的中央
,这就需求
我们的另一项结果展示

.

装置

方面的问题

热水器价钱
方面比较

低价

热水器功用
方面 加热快,

京东的效劳
和送货比较

快.

另外值得我们留意
的是,云图里面,也有些”好”,”大”,”称心

”等等呈现
比较

多的词,我们尚且不知道

这些词背后的语义,这就需求
我们去找到相应的评论,提取出这些词相应的主题点.再加以优化剖析

的结果

来源:PPV ?文:@白加黑治感冒

本文采用「CC BY-SA 4.0 CN」协议转载学习交流,内容版权归原作者一切
,如涉作品、版权和其他问题请联络
「我们」处置

发表评论

评论已关闭。

相关文章