基于朴素贝叶斯的细粒度意见挖掘
扫描二维码
随时随地手机看文章
引 言
网络社会的发展,一方面给人们的生活带来翻天覆地的变化,另一方面也产生了大量有价值的网络数据。人们可以享受网络带来的便利,也可以利用网络数据创造财富,这就需要从海量数据中挖掘价值。产品评论是网络数据的产物之一,分析评论文本的评价倾向,一方面可以很好地了解用户的反馈,另一方面也有助于产品的改进。粗粒度的意见挖掘是通过统计正负面文本的数量来判断一个产品的整体受欢迎程度。本文不同于粗粒度意见挖掘,旨在分析评论文本中的每个词,确保用户可以了解产品细节,通过分析每个词,从而挖掘出用户对产品各个属性的意见,即细粒度意见挖掘。细粒度意见挖掘的主体是词,而非文本,可以分析出产品评论中参与评价的各个要素,包括评价主体、正负面评价词以及其他的背景词。相比粗粒度意见挖掘更加精细,粗粒度的意见挖掘是一种粗糙的观点分析,其目的是分析篇章、句子级别文本的正负面观点。
篇章级别的意见挖掘反映的是文档整体的观点。文献 [1] 对评论文章整体的意见进行挖掘就是篇章级别的,其采用的是无监督学习算法,通过计算候选情感词与正负面情感种子词之间的点互信息(Point Mutual Information,PMI)值的差值来确定文章中所有情感词的平均情感值,也就是挖掘出文章整体的情感倾向。文献 [2] 提出基于深度学习的金融情感分析,采用 LSTM,doc2vec 和卷积神经网络三种模型对StockTwits 社区的股票评论进行情感分析。
句子级别的意见挖掘反映的是文本的观点。文献 [3]采用朴素贝叶斯方法对微博文本情感倾向性进行分类。文献 [4]提出一种半监督的方法将句子分为正面评价和负面评价。
细粒度意见挖掘是分析评论主体,及其相关的特征属性, 确保得到用户对产品各个属性的具体意见。主要有三类方法 : 关联规则法、机器学习法和深度学习法。
关联规则法 [5] 最早是由 Hu 等人提出,采用这种方法来挖掘文本中的评价对象和评价词。Popescu 等人在关联规则法的基础上,结合点互信息法,计算候选评价对象与规定标识词之间的点互信息值,从而挖掘出真正的评价对象,再通过句法关系来辅助挖掘评价词 [6]。Jin 等人在挖掘评价对象和评价词时,通过分析文本中评价词和评价对象的搭配规则后, 提出多种文本匹配模板,匹配正确的名词和形容词认为是评价对象和评价词 [7]。文献 [8] 也是提出一种评价词和评价对象之间的匹配模板,并基于此模板提出相关算法,实现了产品评价对象和对应评价词的挖掘。文献 [9] 提出采用深度学习的方法进行词嵌入学习、情感分类、意见提取和情感词典学习, 意见提取是采用深度学习的方法进行细粒度情感分析。
关联规则法和深度学习法都属于无监督学习方法,忽略了文本中大量有价值的语言特征,而机器学习法充分利用了文本的语言特征。
机器学习法最常用的学习模型是条件随机场(Conditional Random Filed,CRF)模型,陈炳丰等人首先采用经典的线性链条件随机场模型对汽车评论进行细粒度情感分析 [10],后来改进了模型,利用得到的双层结构的条件随机场模型,提取评论实体和评论情感倾向。张玥也是采用线性条件随机场模型,不同的是,没有改进模型,而是在原有特征的基础上, 将依存句法树中的树边特征作为新特征引入,来提取评价词和评价对象 [11]。这类方法主要通过特征选取的创新来提高情感分析的效果,但忽略了 CRF 需要大量标注数据,收集起来比较困难,人工标注也费时费力。
因此,为了充分利用语言特征,又避免标注大量的数据。本文提出将语言特征应用到朴素贝叶斯模型中来进行细粒度意见挖掘,朴素贝叶斯常常用于粗粒度意见挖掘,在细粒度意见挖掘中,主要利用语言特征的多样性来提高分类的精度。
1 提取特征
细粒度意见挖掘主要是识别文本中的评价对象、正面评价词和负面评价词。评价对象是用户关心的各种产品属性, 正负面评价词是用户对产品属性的直观感受与评价。丰富且有价值的语言特征有利于准确挖掘出这些意见要素,本文选取基本特征、评价信息特征、语义依存特征 3 种特征来挖掘意见要素。
(1) 基本特征包括词特征和词性特征。词特征,即产品评论中分析的主体,需要经过分词得到 ;词性特征,顾名思义,是每个词的词性,它对识别意见要素有至关重要的作用。常见的词性有 :名词、动词、形容词、副词等。在文本意见挖掘中,各意见要素有着一定的词性,如 :词性是形容词, 一般可认为是正负面评价词 ;是名词,一般认为是评论主体, 产品的属性,词性的正确识别有助于对词进行归类。
(2) 评价信息特征。为了准确挖掘出顾客对产品的评价,并将正负面评价分开,把分词后的各词与评价词典进行匹配,正确匹配的评价词见表 1 所列。
(3) 语义依存特征,指的是各词语之间的语义依赖关系, 通过这种关系可以更加准确地识别对产品主体的评价。语义依存特征与依存句法特征 [12]存在区别,前者可以将存在依赖关系的评价单元直接标记出来,而不会因为句法结构受到影响。
例如句子 1 :像素不错,就是内存有点小。这条评论中, “不错”修饰“像素”,“小”修饰“内存”,如果仅靠评价信息特征,可以识别出两个评价词,但具体对应哪个属性就容易出错,从而影响对产品属性的真实意见。采用提取语义依 存特征后,存在语义关联的两个词就被标记出来,如图1所示。
经过语义依存分析后,可看出“不错”和“内存”之间不存在语义依赖,“像素”与“小”之间也不存在语义依赖 ;而“像素”和“不错”之间,“内存”和“小”之间存在 Exp当事关系。这样,可以正确匹配评价单元,大大提高评价要素的识别率。详细特征描述见表 2 所列。
2 朴素贝叶斯
朴素贝叶斯(Naive Bayesian,NB)分类器是一种基于贝叶斯定理的分类方法,之所以称之为“朴素”,是因为它假设“待分类项的各特征之间相互独立”,从而简化问题,有效降低分类的复杂度。因此又把这种概率模型叫作独立特征模型 [3]。该模型主要是用贝叶斯定理来预估待分类项属于其他类别的概率。贝叶斯定理的计算公式为 :
此公式用于计算随机事件 X 和 Y 之间的条件概率,式中每一项详细描述如下 :
(1)X 是分类类别,分为 4 类 :评价对象、正面评价词、负面评价词和其他背景词,记为集合 X={m1,m2,m3,m4}。P(X)是分类类别出现的概率,为 0.25。
(2)Y 是待分类项,指分词后的每个词,可以用集合Y={a1,a2,…,ak} 来描述。其中,a 是 Y 的分类特征,共 有 4 类 :上文提到的词特征、词性特征、语义依存特征、评价信息特征。语义依存特征又用 3 个特征来表示,所以 k 为 6,即用六元特征来表示一个词,P(Y)是常数。
(3)P(Y/X)指在类别 X 中,待分类项 Y 出现的概率,可以通过计算待分类项的所有分类特征的条件概率得出,即 :
(4)基于上述 3 项,则待分项类 Y 属于类别 X 的条件概率 P(X/Y)即可求出,分别计算 p(m1/y),p(m2/y),p(m3/ y),p(m4/y),其中概率最大的类别即 y 的归属类别。在文本分类领域,朴素贝叶斯算法被普遍应用,但本文旨在利用该算法对词进行分类,所以分类前,需要标注一部分词作为训练数据集。
3 细粒度意见挖掘
细粒度意见挖掘,即识别评论文本中的评价要素,利用朴素贝叶斯算法的分类功能,识别各评价要素的具体过程如下 :
(1)用 LTP 语言云提取词、词性、语义依存特征,用评价词典提取评价信息特征。
(2)用特征集合来表示词,如一个词 Y 可表示为 { 词,词性,父节点词,父节点词词性,语义依存关系,评价信息 },这样一个词一行,多个词多行,最终构成特征文本,组成一类,形成分类的训练数据和测试数据。
(3)用朴素贝叶斯分类器对词分类,分类过程主要是计算分类特征的条件概率。由于分类特征有 6 个,则计算每个分类特征的概率时注意是位置对齐计算,如计算第一个特征的条件概率,则需要遍历特征文本中每行的第一个词,计算第二个特征的条件概率,则遍历特征文本中每行的第二个词,以此类推。
4 实验结果及分析
4.1 数据收集及预处理
本次实验语料是关于手机评论的,来自京东商城,共爬取了 8 762 条评论文本。经过人工分类,去除中立的评论文本,剩余文本信息分类见表 3 所列。
用人工对剩余的正负面评论进行预处理,过滤掉一些无效网址及字符,对文本分词 ;再提取所有词的特征,用六元特征表示一个词 ;最后进行五折交叉验证实验。将所有的词分为 5 份,其中 4 份进行分类,分成 4 类,形成贝叶斯分类器 ; 1 份为测试集,用于验证评价要素识别的效果。
4.2 细粒度意见挖掘结果
细粒度意见挖掘常用的模型是 CRF,故采用上文提取的特征,将 CRF 和朴素贝叶斯方法识别的效果进行比较。实验结果的评价指标用精准率 P(Precision)、召回率 R(Recall) 和 F-measure(精准率和召回率的调和平均值)来表示,见 表 4 所列。
从表 4 可看出,采用 CRF 模型和朴素贝叶斯模型评价对象的综合准确率分别达 76.1% 和 78.9%,朴素贝叶斯方法的综合准确率高些,正负面评价词的识别率也是朴素贝叶斯方法的高些。因此采用朴素贝叶斯方法进行细粒度意见挖掘是可行的,并且不需要细致地标注大量数据,节约资源。
5 结 语
本文结合朴素贝叶斯模型和文本语言特征,对产品评论进行细粒度意见挖掘。朴素贝叶斯模型常用于文本分类,是粗粒度的意见挖掘,分类特征单一 ;进行细粒度意见挖掘,则属于词分类,单一的特征不足以对词分类,故需要结合多种语言特征。这样既提高分类精度,又避免常用的 CRF 模型需要标注大量数据的不足,大大节省了人力物力。但本文方法仍然需要人工标注少量数据,如何实现自主标注或半自主标注是未来工作研究的重点。