论文部分内容阅读
摘要:电子书籍网站的用户评论真实客观地反映了读者对书籍的感受,因此对书评的情感分析研究具有学术及商业价值。该文研究了情感分析在该领域的机器学习模型,以情感字典作为主观内容识别,通过神经网络语言模型对情感字典扩充,运用机器学习方法,设计书评领域情感分析模型,并深入探讨了逻辑回归等分类算法,采用多种评价指标分析不同模型效果。结果表明运用主客观分类之后的模型更适合判断读者情感倾向。
关键词: 在线书评;情感分析;情感词典;模型分析;可视化
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2017)33-0206-03
Abstract:User reviews in e-book website truly reflect reader feeling about e-book,so the research of sentiment analysis of book reviews has academic and commercial value. Discussing on machine learing models for sentiment analysis,using sentiment lexicon as subjective content recognition,through the neural network language model to extend the emotional dictionary, the use of machine learning methods, design evaluation of the field of emotional analysis model.Analysis of the logic regression classification algorithm, the use of a variety of evaluation indicators. analysis of different model results, the results show that the use of subjective and objective classification of the model is more suitable to judge the reader’s emotional tendencies.
Key words:online book review; sentiment analysis; sentiment lexico; model analysis; visualization
随着移动网络的发展和网络文学的兴起,越来越多的读者倾向于使用手机、平板电脑等移动端设备购买、阅读电子书籍,并在网上分享各自的对书籍的评价以及对剧情的讨论。书评不仅是对书籍的价值判断和评论,同时对作者以及后来的读者都有着不可代替的参考性[1]。有研究发现近一半的读者在决定阅读之前会查看书籍的相关书评,书评对于读者的阅读决策有着重要的影响[2]。如果充分收集这些书评并对其进行综合分析,直观地揭示读者对于某本书籍的褒贬态度或情感倾向,将有助于作者了解作品的不足,从而进行改进。但目前绝大多数书评没有被有效利用,在大量的书评中,读者无法直观得出结论。而且,书评的内容都是碎片化的,篇幅长短不一,需要对其重新进行分类和情感分析才能挖掘其中反馈用户褒贬态度或情感倾向的有用信息。
情感分析 (Sentiment Analysis) 又称评论挖掘或意见挖掘(Opinion Mining),指的是对某些商品评论的文本内容进行分析,发现评论人对这些商品的褒贬态度和意见[3]。主要任务包括主题抽取、意见持有者识别、评论范围确定和情感极性分析[4]。在线评论的特点对情感分析的研究有着重大的学术价值以及直观而广阔的商业价值,目前在世界各国的计算机领域中,情感分析都成为了科学研究的热点方向[5-7]。而词相量(word vector)的提出为情感分析引入了更多的优秀算法[8],常用的算法有逻辑回归(Logistic Regression)、朴素贝叶斯(Naive Bayes)、决策树(Decision Tree)、支持相量机(Support Vector Machine,SVM)、K近邻(k-Nearest Neighbor,KNN)等[9-10]。
1 书评情感分析模型
为了准确得到书评的情感分析结果,本文以机器学习方法结合自然语言处理方法对书评进行意见挖掘预处理和情感分析。本文重点在于对用户评论的分析处理从而得到对整本书的情感倾向其构建情感分析模型如图1所示。
主要流程为:
1) 数据抓取,选定网站抓取高质量;
2) 数据预处理,对于抓取的语料总会包含一些脏数据需要清洗;
3) 自然语言处理,对整个语料进行分句,识别主观内容,分词,
4) 词相量训练,基于Hownet扩充情感词典;
5) 对语料进行人工分类,确定标签,用机器学习的方法训练构建模型。
2 书评数据抓取及预处理
本文的书评数据来自于某网络小说网站的用户评论,为获取用户关于某一本具体小说的评论数据,首先要打開这个网站,进入到某本小说,便可以显示关于此小说的评论数据,利用网络信息采集工具抓取评论数据,每一条记录包括用户名、评论内容、回复时间、评分,所有数据最终导入到excel中保存。为了确保抓取的数据对问题的研究有价值,需要对数据进行预处理。数据预处理主要包括:
1) 重复评论内容。这种评论主要是用户为了赚取经验等行为和提高或降低某本书的平均评分,这种数据对真实的正负面评论会造成很严重的影响,需要将其删除只保留一条记录。 2) 干扰信息。书评有大于50字的要求,因此有很多的评论中有凑字数的无意义内容需要删除;广告信息与主题无关也需要删除。
3 自然语言处理
3.1 主客观内容识别及分词
考虑到书评文本的性质,是对一本书的评价,主要内容为主观句,将每一条评论进行分句。对分句内容,以Hownet词典作为基础识别主观句,其他句子则删除。剩下的句子都认为是主观句,再对其进行分词。本文使用jieba 0.39进行分词,加上书籍领域词典,分词能基本保证准确。
本模型的主客观句识别以情感词典未基础,对于情感词典的扩充是整个流程的重要内容。本文以Hownet词典为基础,将整个语料作为字典,过滤在情感词典出现而语料中没有出现的词语。词典扩充方面,使用词向量开源工具Word2Vec对语料训练,寻找距离相近词语,再添加到情感词典,充分提高词典利用效率。
3.2 机器学习算法
对于书评的情感分析,本文采用以下几种典型的机器学习方法:朴素贝叶斯、随机森林决策树、逻辑回归(Logistic Regression)、knn、SVM、多层感知器 (Multi-layer Perceptron,MLP)、梯度提升决策树(Gradient Boosting Decision Tree,GBDT)、adaboost等。这里对Logistic Regression进行说明
Logistic regression(逻辑回归)是当前比较常用的机器学习算法,用于估计某种事物的可能性,根据预测函数对输入的数据进行判断。逻辑回归作为有监督学习,在使用算法之前,必须要收集一批标注好的数据作为训练集。假设训练集中每个评论样本可以用一个m维向量表示,则得到一组训练数据:
[D=(x1,y1),(x2,y2)…(xN,yN)] (1)
其中,y在{0,1}中取值。
逻辑回归中Logistic函数
[h(z)=11 e-z] (2)
在机器学习模型中,实际就是在决策函数限定在某组条件下,这组限定条件决定了模型的假设空间。逻辑回归模型的假设是:
[P(y=1|x;θ)=h(θTx)=11 e-θT*x] (3)
其中[gh]为上述Logistic函数,相应的决策函数为:
[y*=1, if P(y=1|x)>0.5] (4)
在一般情况下选择0.5作为阈值,根据实际应用可以选择不同的阈值,如果对正例的判别准确率要求高,可以选择阈值大一点,对正例的召回率要求高,则可以选择阈值小一点。
Logistic回归方法用最大似然估计来进行学习,找到一组参数,使得在这组参数下,数据似然度越大。在Logistic回归模型中,单个样本的后验概率为:
[P(y|x;θ)=(hθ(x))y(1-hθ(x))1-y?y={0,1}] (5)
则整个样本似然函数为:
[L(θ)=(hθ(x(i)))y(i)(1-hθ(x(i)))1-y(i)] (6)
取对数可以得到对数似然度:
[l(θ)=i=1my(i)logh(x(i)) (1-y(i))log(1-h(x(i)))] (7)
上面求得的便是损失函数(cost function),要求其最小值可以使用梯度下降法,对[l(θ)]求微分可得:
[ddθjl(θ)=i=1m(y-hθ(x))xj] (8)
[θj:=θj αi=1m(y(i)-hθ(x(i)))x(i)j,j={0,1,…,n}] (9)
4 实验分析
对于书评情感分析问题,通过word2vec工具将词向量化,运用多种机器学习方法对词向量进行训练,对分析结果在几个典型的指标上进行比较,从而确定最优的机器学习算法。
本文共抓取书评20000条,其中有10000条未标注评论,5000条正向评论,5000条负向评论。经过第二节预处理之后剩余书评18342条。实验设计对剩余评论分别进行主客观内容分析再情感分析和直接情感分析对比。实验结果采用可视化方法分析。在识别正负情绪的准确率方面各算法的表现如图2所示。
从测试的结果来看,使用主客观内容识别对正确区别两种情绪的概率明显上升。最为明显的是Adaboost算法和随机梯度下降算法,分别对正向情绪和负向情绪识别概率提升了16%和14%,总体上,正确识别情绪概率提升了1%-9%。其中总体效果较好的是SVM算法和逻辑回归算法。
图3所示的是精确率、召回率与f1值。精確率(Precision)是指在所有预测的“真”的样本中,实际是真的的占比;召回率(Recall)是指在所有实际为真的样本中,被预测的“真”的占比;f1值则是两个指标的调和平均。一般来说,要提高精确率会导致召回率的下降,如果f1等于1表示等同实际预测,为0代表随机预测,为-1则表示预测结果与真实结果完全相反。在使用主客观识别后,对朴素贝叶斯、随机梯度下降和Adaboost算法提升明显。
图4 所示的是各分类器的AUC和Kappa系数。AUC表示分类器的性能优越性,取值为[0,1]数值越大性能越优。Kappa系数则是对模型一致性评价结果,Kappa结果为[-1,1],但通常取值为[0,1]。不使用主客观识别时所有算法的Kappa系数均在0.41到0.6之间,只有中等一致性。使用主客观识别后对表现为较好的一致性。
5 结束语
在线书评反映了读者对书籍的真实感受与看法,怎样精准把握读者对书籍的满意度和需求,是作者长期关注的问题,具有重要的研究意义和商业价值。针对在线书评随意性和旧词新义的特点,运用网页抓取技术、自然语言处理、机器学习模型,本文提出了先使用主客观识别在情感分析的模型,以真实的在线书评为例,对其进行情感分析,利用该模型减少无关语句对情感分析的影响。实验结果表明,本文提出的方法是可行的。但是,本文尚存在一些不足,本文未对评论实体进行识别,无法确切分析读者不满意的地方且并未对评论者进行关联;对情感词典的构建与扩充不够完善。另外在线书评是实时变化的,用户评论自动分析是下一步需要研究的方向。 参考文献:
[1] 李明. 网络书评的多元价值与社会文化传播功能[J]. 图书馆杂志,2013,32(11):30-33 44.
[2] 张紫琼,叶强,李一军. 互联网商品评论情感分析研究综述[J]. 管理科学学报,2010,13 (6):84-96.
[3] Double Click. Search before the Purchase - Understanding Buyer Search Activity as it Builds to Online Purchase [R]. 2005.
[4] Pang B,Lee L,Vaithyanathan S Thumbs up? Sentiment classification using machine learning techniques [C] ∥Proceedings ofthe 2002 Conference on Empirical Methods in Natural LanguageProcessing (EMNLP),Morristown NJ USA,Association for Computational Linguistics,2002: 79-6.
[5] 張磊,陈贞翔,杨波. 社交网络用户的人格分析与预测[J]. 计算机学报,2014,37(8):1877-1894.
[6] 蓝天广. 电子商务产品在线评论的细粒度情感强度分析[D].北京:北京邮电大学,2015.
[7] Khan, Aamera ZH, Mohammad Atique,Thakare V M. Combining lexicon-based and learning-based methods for Twitter sentiment analysis[C]. International Journal of Electronics, Communication and Soft Computing Science
关键词: 在线书评;情感分析;情感词典;模型分析;可视化
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2017)33-0206-03
Abstract:User reviews in e-book website truly reflect reader feeling about e-book,so the research of sentiment analysis of book reviews has academic and commercial value. Discussing on machine learing models for sentiment analysis,using sentiment lexicon as subjective content recognition,through the neural network language model to extend the emotional dictionary, the use of machine learning methods, design evaluation of the field of emotional analysis model.Analysis of the logic regression classification algorithm, the use of a variety of evaluation indicators. analysis of different model results, the results show that the use of subjective and objective classification of the model is more suitable to judge the reader’s emotional tendencies.
Key words:online book review; sentiment analysis; sentiment lexico; model analysis; visualization
随着移动网络的发展和网络文学的兴起,越来越多的读者倾向于使用手机、平板电脑等移动端设备购买、阅读电子书籍,并在网上分享各自的对书籍的评价以及对剧情的讨论。书评不仅是对书籍的价值判断和评论,同时对作者以及后来的读者都有着不可代替的参考性[1]。有研究发现近一半的读者在决定阅读之前会查看书籍的相关书评,书评对于读者的阅读决策有着重要的影响[2]。如果充分收集这些书评并对其进行综合分析,直观地揭示读者对于某本书籍的褒贬态度或情感倾向,将有助于作者了解作品的不足,从而进行改进。但目前绝大多数书评没有被有效利用,在大量的书评中,读者无法直观得出结论。而且,书评的内容都是碎片化的,篇幅长短不一,需要对其重新进行分类和情感分析才能挖掘其中反馈用户褒贬态度或情感倾向的有用信息。
情感分析 (Sentiment Analysis) 又称评论挖掘或意见挖掘(Opinion Mining),指的是对某些商品评论的文本内容进行分析,发现评论人对这些商品的褒贬态度和意见[3]。主要任务包括主题抽取、意见持有者识别、评论范围确定和情感极性分析[4]。在线评论的特点对情感分析的研究有着重大的学术价值以及直观而广阔的商业价值,目前在世界各国的计算机领域中,情感分析都成为了科学研究的热点方向[5-7]。而词相量(word vector)的提出为情感分析引入了更多的优秀算法[8],常用的算法有逻辑回归(Logistic Regression)、朴素贝叶斯(Naive Bayes)、决策树(Decision Tree)、支持相量机(Support Vector Machine,SVM)、K近邻(k-Nearest Neighbor,KNN)等[9-10]。
1 书评情感分析模型
为了准确得到书评的情感分析结果,本文以机器学习方法结合自然语言处理方法对书评进行意见挖掘预处理和情感分析。本文重点在于对用户评论的分析处理从而得到对整本书的情感倾向其构建情感分析模型如图1所示。
主要流程为:
1) 数据抓取,选定网站抓取高质量;
2) 数据预处理,对于抓取的语料总会包含一些脏数据需要清洗;
3) 自然语言处理,对整个语料进行分句,识别主观内容,分词,
4) 词相量训练,基于Hownet扩充情感词典;
5) 对语料进行人工分类,确定标签,用机器学习的方法训练构建模型。
2 书评数据抓取及预处理
本文的书评数据来自于某网络小说网站的用户评论,为获取用户关于某一本具体小说的评论数据,首先要打開这个网站,进入到某本小说,便可以显示关于此小说的评论数据,利用网络信息采集工具抓取评论数据,每一条记录包括用户名、评论内容、回复时间、评分,所有数据最终导入到excel中保存。为了确保抓取的数据对问题的研究有价值,需要对数据进行预处理。数据预处理主要包括:
1) 重复评论内容。这种评论主要是用户为了赚取经验等行为和提高或降低某本书的平均评分,这种数据对真实的正负面评论会造成很严重的影响,需要将其删除只保留一条记录。 2) 干扰信息。书评有大于50字的要求,因此有很多的评论中有凑字数的无意义内容需要删除;广告信息与主题无关也需要删除。
3 自然语言处理
3.1 主客观内容识别及分词
考虑到书评文本的性质,是对一本书的评价,主要内容为主观句,将每一条评论进行分句。对分句内容,以Hownet词典作为基础识别主观句,其他句子则删除。剩下的句子都认为是主观句,再对其进行分词。本文使用jieba 0.39进行分词,加上书籍领域词典,分词能基本保证准确。
本模型的主客观句识别以情感词典未基础,对于情感词典的扩充是整个流程的重要内容。本文以Hownet词典为基础,将整个语料作为字典,过滤在情感词典出现而语料中没有出现的词语。词典扩充方面,使用词向量开源工具Word2Vec对语料训练,寻找距离相近词语,再添加到情感词典,充分提高词典利用效率。
3.2 机器学习算法
对于书评的情感分析,本文采用以下几种典型的机器学习方法:朴素贝叶斯、随机森林决策树、逻辑回归(Logistic Regression)、knn、SVM、多层感知器 (Multi-layer Perceptron,MLP)、梯度提升决策树(Gradient Boosting Decision Tree,GBDT)、adaboost等。这里对Logistic Regression进行说明
Logistic regression(逻辑回归)是当前比较常用的机器学习算法,用于估计某种事物的可能性,根据预测函数对输入的数据进行判断。逻辑回归作为有监督学习,在使用算法之前,必须要收集一批标注好的数据作为训练集。假设训练集中每个评论样本可以用一个m维向量表示,则得到一组训练数据:
[D=(x1,y1),(x2,y2)…(xN,yN)] (1)
其中,y在{0,1}中取值。
逻辑回归中Logistic函数
[h(z)=11 e-z] (2)
在机器学习模型中,实际就是在决策函数限定在某组条件下,这组限定条件决定了模型的假设空间。逻辑回归模型的假设是:
[P(y=1|x;θ)=h(θTx)=11 e-θT*x] (3)
其中[gh]为上述Logistic函数,相应的决策函数为:
[y*=1, if P(y=1|x)>0.5] (4)
在一般情况下选择0.5作为阈值,根据实际应用可以选择不同的阈值,如果对正例的判别准确率要求高,可以选择阈值大一点,对正例的召回率要求高,则可以选择阈值小一点。
Logistic回归方法用最大似然估计来进行学习,找到一组参数,使得在这组参数下,数据似然度越大。在Logistic回归模型中,单个样本的后验概率为:
[P(y|x;θ)=(hθ(x))y(1-hθ(x))1-y?y={0,1}] (5)
则整个样本似然函数为:
[L(θ)=(hθ(x(i)))y(i)(1-hθ(x(i)))1-y(i)] (6)
取对数可以得到对数似然度:
[l(θ)=i=1my(i)logh(x(i)) (1-y(i))log(1-h(x(i)))] (7)
上面求得的便是损失函数(cost function),要求其最小值可以使用梯度下降法,对[l(θ)]求微分可得:
[ddθjl(θ)=i=1m(y-hθ(x))xj] (8)
[θj:=θj αi=1m(y(i)-hθ(x(i)))x(i)j,j={0,1,…,n}] (9)
4 实验分析
对于书评情感分析问题,通过word2vec工具将词向量化,运用多种机器学习方法对词向量进行训练,对分析结果在几个典型的指标上进行比较,从而确定最优的机器学习算法。
本文共抓取书评20000条,其中有10000条未标注评论,5000条正向评论,5000条负向评论。经过第二节预处理之后剩余书评18342条。实验设计对剩余评论分别进行主客观内容分析再情感分析和直接情感分析对比。实验结果采用可视化方法分析。在识别正负情绪的准确率方面各算法的表现如图2所示。
从测试的结果来看,使用主客观内容识别对正确区别两种情绪的概率明显上升。最为明显的是Adaboost算法和随机梯度下降算法,分别对正向情绪和负向情绪识别概率提升了16%和14%,总体上,正确识别情绪概率提升了1%-9%。其中总体效果较好的是SVM算法和逻辑回归算法。
图3所示的是精确率、召回率与f1值。精確率(Precision)是指在所有预测的“真”的样本中,实际是真的的占比;召回率(Recall)是指在所有实际为真的样本中,被预测的“真”的占比;f1值则是两个指标的调和平均。一般来说,要提高精确率会导致召回率的下降,如果f1等于1表示等同实际预测,为0代表随机预测,为-1则表示预测结果与真实结果完全相反。在使用主客观识别后,对朴素贝叶斯、随机梯度下降和Adaboost算法提升明显。
图4 所示的是各分类器的AUC和Kappa系数。AUC表示分类器的性能优越性,取值为[0,1]数值越大性能越优。Kappa系数则是对模型一致性评价结果,Kappa结果为[-1,1],但通常取值为[0,1]。不使用主客观识别时所有算法的Kappa系数均在0.41到0.6之间,只有中等一致性。使用主客观识别后对表现为较好的一致性。
5 结束语
在线书评反映了读者对书籍的真实感受与看法,怎样精准把握读者对书籍的满意度和需求,是作者长期关注的问题,具有重要的研究意义和商业价值。针对在线书评随意性和旧词新义的特点,运用网页抓取技术、自然语言处理、机器学习模型,本文提出了先使用主客观识别在情感分析的模型,以真实的在线书评为例,对其进行情感分析,利用该模型减少无关语句对情感分析的影响。实验结果表明,本文提出的方法是可行的。但是,本文尚存在一些不足,本文未对评论实体进行识别,无法确切分析读者不满意的地方且并未对评论者进行关联;对情感词典的构建与扩充不够完善。另外在线书评是实时变化的,用户评论自动分析是下一步需要研究的方向。 参考文献:
[1] 李明. 网络书评的多元价值与社会文化传播功能[J]. 图书馆杂志,2013,32(11):30-33 44.
[2] 张紫琼,叶强,李一军. 互联网商品评论情感分析研究综述[J]. 管理科学学报,2010,13 (6):84-96.
[3] Double Click. Search before the Purchase - Understanding Buyer Search Activity as it Builds to Online Purchase [R]. 2005.
[4] Pang B,Lee L,Vaithyanathan S Thumbs up? Sentiment classification using machine learning techniques [C] ∥Proceedings ofthe 2002 Conference on Empirical Methods in Natural LanguageProcessing (EMNLP),Morristown NJ USA,Association for Computational Linguistics,2002: 79-6.
[5] 張磊,陈贞翔,杨波. 社交网络用户的人格分析与预测[J]. 计算机学报,2014,37(8):1877-1894.
[6] 蓝天广. 电子商务产品在线评论的细粒度情感强度分析[D].北京:北京邮电大学,2015.
[7] Khan, Aamera ZH, Mohammad Atique,Thakare V M. Combining lexicon-based and learning-based methods for Twitter sentiment analysis[C]. International Journal of Electronics, Communication and Soft Computing Science