基于评论挖掘技术的在线商品评论对销量的影响——以亚马逊手机销售为例PPT模板下载:行业PPT模板:节日PPT模板:素材下载:背景图片:图表下载:优秀PPT下载:教程:教程:教程:资料下载:课件下载:范文下载:试卷下载:教案下载:概述——全文思路源数据获取数据预处理情感词典程度副词词典LDA模型获取产品特征值产品特征情感极性程度计算非评论内容数据建立评论对销量的回归方程源数据获取利用爬虫软件“网络神采”于2014年4月3日在亚马逊网(Amazon.com)上爬取了手机销售排行榜上前100名的产品信息。主要包括:销售排名、产品名称、产品市场价格、产品现价、折扣、评论数量、评论平均星级以及每条评论的评论内容。源数据获取对采集的数据进行了初步的清理,删除了评论内容小于10的数据,最后获得91款手机数据,并按照原排名排序,下图是相应的描述性统计:评论总数量约为3万条,足够我们进行下一步的特征抽取工作。返回评论数据预处理分句:每条评论可能由多个句子组成,每一句话所谈到的内容或者产品特征均不相同。如果以每条评论为单位来进行产品特征评论语句来分类容易产生混淆。分句用Python语言及其扩展包实现。例:“这款手机质量好,就是价钱有点贵。”对每一条评论语句进行分句处理,这样上面例句就将分为“这款手机质量好,”和“就是价钱有点贵。”两个句子,分别可以很好的表示“质量”与“价钱”这两个特征。评论数据预处理分词与词性标注:无论是产品的特征词还是情感观点词都需要通过分词从连续的句子中分离出来,而这些往往都是名词和形容词,所以分词之后对词性的标注将有利于我们识别这些词,这为之后的文本处理工作奠定了数据基础。与英文分词不同,中文词与词之间不能够严格的按照空格来区分,所以中文的分词工作需要利用某些方法来进行。本文采用python语言的jieba扩展包来分词。同时导入用户自定义词典,即存在于自定义词典中的词语不会被错误的分割,增加分词的准确性。例:“这款手机质量好,”通过jieba分词和词性标注过后得到结果为:“这/r款/q手机/n质量/n好/a,/w”像“手机”“质量”都被标注为名词,“好”被标注为形容词。评论数据预处理去除停用词:文本中一些介词、量词、助词、标点符号等对文本研究无意义的词,需要剔除,所以我们还需要对这些评论语料进行停用词过滤和标点符号过滤。停用词和标点符号的过滤可以采用根据停用词表,用Python语言编写过滤程序,取出停用词。例:“这款手机质量好,”在经过分词和词性标注后,对其进行停用词过滤,其结果为:“手机/n质量/n好/a”。指示代词“这”量词“款”和标点符号“,”就被过滤掉,留下的是可能成为产品特征和情感观点的词。返回LDA模型获取产品特征值LDA模型:一种非监督机器学习技术,可以用来识别大规模文档集(documentcollection)或语料库(corpus)中潜藏的主题信息。采用了词袋(bagofwords)的方法,这种方法将每一篇文档视为一个词频向量,从而将文本信息转化为了易于建模的数字信息。但是词袋方法没有考虑词与词之间的顺序,这简化了问题的复杂性,同时也为模型的改进提供了契机。每一篇文档代表了一些主题所构成的一个概率分布,而每一个主题又代表了很多单词所构成的一个概率分布。LDA模型获取产品特征值对于每一篇文档,LDA模型的生成步骤如下:1.首先选择一个N,N代表的是这篇文档的单词总数,N服从泊松分布,即N~Poisson(ξ)。2.选择θ,θ是一个列向量,代表的是这篇文档中每个主题发生的概率。θ服从狄利特雷分布,即θ~Dirichlet(α)分布,α是Dirichlet分布的参数。3.对于N各单词中的每一个:4.选择该单词属于的主题Zn,Zn服从Multinomial(θ)多项分布。5.选择Wn,Wn是根据有条件的概率分布p(Wn|Zn,β)产生的。β是一个KXV维的矩阵,其中βij=P(wi=1|zj=1)(I=1,2,3,…,K;j=1,2,3,…,V)表示的是在主题zj下单词wi的生成概率。LDA模型获取产品特征值通过对评论语料进行预处理,使得语料信息不再是杂乱无章、无规律可循的,因而为我们接下来用91款手机所有的评论信息作为评论语料,找到消费者在购买手机时所重点关注的产品特征。基于LDA模型的产品特征提取的基本流程:LDA模型获取产品特征值名词过滤:产品特征大多数为名词,所以还需要在预处理语料的基础上剔除掉其他词,只留下名词,这样再一次缩小产品特征词的提取范围。并不是评论语料中所有的名词都可以作为产品的特征词,一些名词往往不是产品特征,例如“时间”、“地点”、“人物”、“东西”等。为了得到能够较为准确的表达产品特征的候选词,我们需要对上述名词语料进行名词过滤处理。使用过滤规则对名词进行名词过滤处理是常用的方法。LDA模型获取产品特征值过滤规则(1)和(2)中的专有名词可以通过词性标签过滤掉,使用jieba分词二级词性标注后,可以对一些特有名词进行特定的标注。这样通过名词过滤规则可以将大部分出现频率较高但并不是产品特征的名词过滤掉。例:人名使用标签nr表示,方位词使用标签f表示,地名使用标签ns表示,机构团体使用标签nt表示,字母专名使用nx表示,其他专属名词用nz表示。LDA模型获取产品特征值同义词合并:中文对某一特征可以用多种方式表达,例如“价钱”、“价格”、“价位”表达的都是一个意思。在网络评论中,消费者往往都有自己的语言习惯,不会使用同一的表达方式,从而导致某些表达方式因为出现频率过高被选出来而其他的则不能被选出来。为了解决这个问题,在LDA模型提取特征词之前将表达同一个意思的不同表达词汇统一用一个词来表示。LDA模型获取产品特征值reviews:处理过的评论语料synonym:整个同义词词林syn表示某个词汇的所有表达方式。遍历reviews中所有的词汇,对每一个词汇word在synonym中每一个syn中查询,找到相同的则用该syn中第一个表达方式替换掉原word。这样大部分的同义词都用一个表达方式表示出来了。LDA模型获取产品特征值LDA模型特征提取:我们需要通过得到每个主题下词汇的概率分布P(w|z=j),w表示词汇,z表示主题;并且通过设定一个阀值ε,只有大于这个阀值的词才能成为产品特征,即I={Wji|Pwji≥ε}。所以应用LDA模型进行特征词的提取,我们需要确定的参数有:①LDA模型中的超参数,即主题分布和词汇分布的Dirichlet先验分布中的超参数α和β;②LDA模型中的主题数目K;③每个主题下特征词的候选阀值ε。本文取α=50/K,β=0.01,K=8,阀值ε=0.05LDA模型获取产品特征值使用python拓展包中的LDA模块进行特征词提取。具体步骤如下:1)以评论语料中所有词汇最为LDA模型的词典2)使用上述词典对所有评论语料转换为LDA模型语料库3)使用LDA模型对语料库进行训练4)得到每个主题下词汇的概率分布5)使用阀值筛选出合适的词作为产品特征词LDA模型获取产品特征值最后得到的产品特征如下表所示,总计42个产品特征词:返回情感极性判断与程度计算利用情感词典进行情感极性和极性程度的计算大致步骤如下图:建立情感词典:首先我们需要建立情感极性词典,也就是正面情感词典和负面情感词典,其中包含了一些表示情感极性的词,例如“好”、“漂亮”、“差”、“烂”等词。情感极性判断与程度计算在得到了情感极性词典之后只能对语句进行情感极性的判断,要计算极性程度还需要另外一些词典,其中最重要的就是副词词典。副词词典包含的主要是否定副词和程度副词,否定副词可以在一定程度上提高情感词典对语句极性判断的准确率。例:“质量不好”,在使用了否定副词词典后结果就为负向;另外通过程度副词比如“较”、“极”、“稍微”、“有点”,并给不同程度的副词赋予不同的权值,可以在情感极性基础上计算极性程度。情感极性判断与程度计算完整的情感词典:情感极性判断与程度计算对情感词典赋权值:有了情感词典和程度词词典,在进行程度计算之前还需要对不同程度词赋予不同的权值。极性程度计算:对含有特征词的语句进行以下极性程度计算,并以均值代表该产品特征的极性程度正向:score=1负向:score=-1Score=score*weight偶数:score=score奇数:score=-score情感极性判断与程度计算对抓取的91款手机评论语料分别进行上述操作,得到消费者对每款手机每个产品特征的情感极性和极性程度(正数表示正向情感程度,负数表示负向情感程度)。以其中一款手机为例,我们最后得到的数据为:情感极性判断与程度计算返回模型设定:Y=α0+α1x1i+α2x2i+α3x3i+…+α46x46i+μi,其中μ表示随机变量,下标i=1,2…N,表示不同款手机建立评论对销量的回归方程逐步回归:因为并不是所有的解释变量即产品特征都对销量有显著的影响,所以我们需要去掉不显著的解释变量。因此本文使用SAS软件对该模型采用逐步回归方法,此方法可以选取对被解释变量显著影响的解释变量,剔除不显著的变量,并且可以在一定程度上解决解释变量之间的多重共线性问题。模型结果模型结果R-Square=0.7341:模型拟合程度效果良好;P值0.1:最后筛选出来的解释变量对被解释变量显著影响;方差膨胀因子(VIF)10:解释变量之间没有存在明显的多重共线性。Ln(排名)=5.37585+-0.18325*ln(评论数量)+-0.88034*折扣+-0.66208*价格评分+-1.41087*质量评分+-0.74448*声音评分+-1.0409*软件评分+-0.41592*物流评分+0.41957*客服评分+-0.70012*功能评分+-1.28309*待机时间评分+-0.35642*拍照评分+-0.48806*发票评分+-0.15567*贴膜评分+-0.4332*操作评分模型结果各个解释变量的系数都为负数评价越高排名越靠前,即销量越高。能够显著影响销量的产品特征只有“价格”、“质量”、“声音”等12个特征根据其系数大小可以判断出各个特征对销量影响的程度返回Python语言及其扩展包一种面向对象、解释型的计算机程序设计语言,在1989年由GuidovanRossum发明。语法明确并且很少出现有歧义的语法,使得python源代码具有更好的可读性。完全面向对象的语言,任何的函数、字符串、数字、模块都是对象,并且完全支持重载、继承、多态等,增强了代码的重复利用率。拓展性很强,提供了大量的API和工具方便程序员使用其他语言如C、C++来编写拓展模块,因此常被称为一种“胶水语言”。开源性,拥有强大的外援包,这些扩展包往往提供一些特制的功能方便其他程序员使用,从而增加了开发效率,减少重复性劳动。返回jieba扩展包这个拓展包可以实现对中文文本的分词以及词性标注工作,并提供三种模式:精确模式、全模式和搜索引擎模式。Jieba扩展包在处理中文文本时效果显著。返回谢谢!