摘 要: 通过利用Apriori算法抽取评价对象的候选特征集,结合计算领域一致度和领域相关度对候选特征进行过滤,实现了对中文客户评论的对象特征挖掘,并且用实验验证了该方法的有效性。
关键词: 特征挖掘;领域一致度;领域相关度
评论挖掘是一种以从评论数据中探寻有用信息为目标的非结构化数据挖掘技术,主要包含评论对象的特征挖掘、评论观点挖掘、评论观点的极性以及强度判断、评论挖掘结果的汇总以及按用户观点排序4个子任务[1]。
评价对象的特征挖掘是指从大量的客户评论中挖掘出用户关注的评价对象特征。这一技术是分析用户对评价对象的具体特征所持的情感倾向的前提,其准确性和全面性是非常重要的。近年来,国内外研究人员对评价对象的特征挖掘进行深入研究,他们采用很多不同方法来对特征进行挖掘[2-6]。本文针对中文客户评论的特征挖掘的性能不够理想的问题[7],提出了一种基于Apriori算法抽取候选特征集,集成领域一致度和领域相关度方法对候选特征进行过滤的方法,实现中文客户评论对象的特征挖掘,并且通过实验验证这一方法的有效性。
1 评论对象的特征挖掘
中文客户评论对象的特征挖掘过程如图1所示。首先,输入不同评论对象的评论语料;然后对这些评论语料进行预处理,利用中科院计算所所研发的ICTCLAS系统对评论文本语料进行分词和二级词性标注,以评论语料中句子为单位,进行词性过滤,提取出评论语料中名词和具有名词功能的形容词或者动词或者名词短语作为项,每一篇评论项组合起来作为一个事务在事务文件中存为一行。将每个评论对象的所有评论语料中的事务都存储在一个事务文件中。经过预处理后,每个评论对象均有一个事务文件。然后,应用Apriori算法从事务文件中提取频繁项集,并通过剪枝方法去除掉一些不合适的频繁项,得到评价对象的候选特征集。最后,利用特征的领域相关度和领域一致度定义综合评定指标,根据该指标对候选特征进行过滤,得到评价对象的特征。
1.1 评价对象的候选特征挖掘
定义1 频繁项:设I是m个项目的集合,T是n个事务集合,其中每个事务S是一个项目集合,并满足S?哿I。由I中的若干项组成的集合称为项集,包含k个项的项集称为k-项集,包含项集的事务数称为该项集的出现频度。如果该项集的出现频度大于或等于预先设定的最小支持度,则称项集为频繁项。
定义2 邻近规则:假设f是频繁项,而且f包含n个词,评论句s包含f,而且在f中的词出现在s中的顺序为:w1,w2,…,wn。如果在s中wi和wi+1(i=1,…n-1)的距离不超过两个词,则可以说f在s中是邻近的。
定义3 独立支持度:频繁项f的独立支持度是指包含f本身但不包含f的超集的句子数量,即f的支持度减去f的超集支持度之和。若f的独立支持度大于最小支持度,则其符合独立支持度规则。
挖掘评价对象的候选特征过程如算法1所示。首先,应用Apriori算法从预处理得到的评价对象的事务文件中,提取满足最小支持度的频繁项集。通过分析评论对象特征的特性,发现3维以上频繁项不可能是特征,所以只提取3维及其以下的频繁项;然后,根据邻近规则,去掉不在其相邻位置的频繁项;根据独立支持度剪枝去掉被包含在其他频繁项的冗余频繁项;因为单字不可能是评价对象的特征,所以,删去频繁项集中的单字。
算法1 评价对象的候选特征挖掘
输入:评论语料事务文件W,评论语料库T
输出:频繁特征集L
方法:
int minsupport,int k;
//初始化最小支持度和频繁项集的最高维度
L0=Apriori(W,minsupport,k);
//通过Apriori算法得到频繁项集L0
for each f∈L0 do
//对于L0中的大于一维的项根据邻近规则重新计算支持度
if f.dimension﹥1 then//如果f的维度大于1
f.count=0;//f的支持度重新设置为0
for each t∈T do//对所有事务扫描一遍
if f在t中是邻近的do//若f在t中符合邻近规则
f.count++;//f的支持度加1
end if
end for
end if
end for
L1={f∈L0|f.count≧minsupport};
//删除支持度小于最小支持度的项集
for each f∈L1 do
//扫描候选项集L1计算每个一维频繁项的独立支持度
if f.dimension=1 then//若f的维度为1
S={l∈L1|fl,f≠l};
//得到包含项f的多维频繁项集S
for each l∈S do//扫描S中的多维频繁项
S.count+=l.count;
//S的支持度为项的支持度S中项的支持度之和
end for
f.count=f.count-S.count;//得到f的独立支持度
end if
end for
L2={l∈L1|f.count≧minsupport};
//删除独立支持度小于最小支持度的项
return L={l∈L2|f.length﹥1};//删除单字
其中,minsupport表示给定的最小支持度,k表示给定的频繁项集的最高维度。
1.2 评价对象的特征过滤
将不同的评价对象的评论语料看成是不同的领域的评论语料。真正的特征应该在不同领域的评论分布不均匀,在其相关领域的评论文档集中应分布比较均匀。
因此,本文通过计算特征的领域相关度及领域一致度,并对领域相关度和领域一致度进行量化,定义一个综合评定指标,根据这个指标可对应用Apriori算法挖掘出来的候选特征进行过滤。
(1)特征的领域相关度计算
特征的领域相关度表示特征与领域的相关程度。设总共有n个领域{D1,D2,…,Dn},则候选特征t对于某领域Di的领域相关度定义为:
(2)特征的领域一致度计算
特征的领域一致度表示特征在领域中的分布均匀度。设领域Di中有m个评论文档{d1,d2,…,dm},则候选特征t对于Di的领域一致度定义为:
其中,ft,dj表示特征t在文档dj中的频度。在式(3)中, H(t,Di)为信息熵,其值越大,表明t在各文档中分布越均匀,t是该领域的可能性就越大。当t在各文档中出现的频度相等的时候,H(t,Di)的值最大。
(3)综合评定指标的定义
当候选评价对象特征的领域相关度和领域一致度都很大时,该候选特征就可能是该领域的真正特征。因此,通过对两者的加权平均,可以定义候选评价对象特征t对领域Di的一个综合评定指标:
DW(t,Di)=α·DR(t|Di)+β·DC(t,Di)(5)
计算所有候选特征对于领域Di的DW(t,Di)值,按照从大到小排序。设置阈值θ,使得DW(t,Di)的值大于θ的候选特征为所选取的评价对象特征,小于θ的候选特征将从候选特征集中去除。
2 实验结果与分析
2.1 实验语料与性能评价指标
因中文产品评论观点挖掘发展还不成熟,缺少公开的、标准的语料库,目前研究主要采用从指定的网站(如英文的www.Amazon.com,中文的pinglun.IT168.com等)获取某类产品的产品评论来构建产品评论语料库[7]。所以本文选取的是从上述网站上下载下来的评论数据,包括手机、数码相机、DVD机、书籍以及服饰5类产品各1 000条评论数据。针对每一种产品评论,用人工标注的方法对评价对象特征进行识别和标注,不考虑那些在评论中没有出现或是出现的频率太低的特征,那么标注时要保证特征的支持度要大于Apriori算法中的最小支持度。
为了评估方法的性能,本文采取了查全率(recall),查准率(precision),F1-score来评价特征抽取的有效性。公式如下:
2.2 实验结果
在抽取评价对象的候选特征集阶段,利用Apriori算法抽取频繁项集时,选取的最小支持度为2%。综合5种商品的实验结果如表1所示,平均查全率为81.72%,平均查准率为62.87%。
在此实验中,一种产品的评论语料作为领域语料,那么其他4种评论语料则是作为过滤语料。比如手机的评论数据作为领域语料,那么数码相机、DVD机、书籍和服饰的评论数据将作为过滤语料。在量化特征的领域一致度和领域相关度后,对过滤的综合评定指标定义时,经过试验比较发现,α值取0.9左右,β值取0.25左右,阈值θ取1.8。过滤后的5种商品的实验结果如表2所示,平均查全率为77.07%,平均查准率为70.89%,比未过滤前查准率提高了8.02%。
特征过滤的实验结果与基于Apriori算法抽取候选特征的实验结果以及HU M等人的英文评论挖掘结果进行比较。以F1-score值作为参考,利用3个实验中都有的产品手机、数码相机和书籍的实验结果作比较,如表3所示。与基于Apriori算法抽取候选特征的实验结果来看,平均F1-score值提高了3.2%。以HU M和LIU B的实验结果来看,平均F1-score值提高了1.48。本方法提高了中文客户评论对象的特征挖掘性能。
本文通过利用Apriori算法抽取评价对象的候选特征集,结合计算领域一致度和领域相关度对候选特征进行过滤,实现了对中文客户评论的对象特征挖掘。通过实验验证了通过结合领域一致度和领域相关度的过滤效果,特征挖掘的性能得到提高,且略优于参考文献[2]关于英文评论的抽取性能。
在今后的工作中,将建立一个中文客户评论挖掘框架,在本文的基础上,针对已经挖掘出来的评价对象特征,进一步判断客户评论中对于这些评价对象特征的情感倾向分布。
参考文献
[1] POPESCU A M, ETZIONI O. Extracting product featuresand opinionsfrom reviews[J]. Proceedings of HLT-EMNLPVancouver, 2007:9-28.
[2] HU M, LIU B. Mining opinion featuresin customer reviews[C]. Proceedings of the Tenth ACM SIGKDD International Conerence on Knowledge Discovery and Data Mining, ACM, 2004:168-177.
[3] 姚天昉,聂青阳,李建超,等.一个用于汉语汽车评论的意见挖掘系统[C].中文信息处理前沿进展——中国中文信息学会成立二十五周年学术会议论文集.北京:中国中文信息学会,2006:260-281.
[4] YI J, NASUKAWA T, BUNESCUR R, et al. Sentiment analyzer: extracting sentiments about a given topic using natural language processing techniques[C]. Proceeding of the 3rd IEEE International Conference on Data Mining,Washington: IEEE Computer Society, 2003:427-434.
[5] SOMPRASERTSRI G, LALITROJWONG P. A maximum entropy model for product feature extraction in online customer reviews[C]. Proceeding of the 3rd IEEE International Conference on Data Mining, Washington: IEEE Computer Society, 2008: 575-580.
[6] ZHENG Y, YE L, WU G, et al. Extracting product features from chinese customer reviews[A]. Proceedings of 2008 3rd IEEE International Conference on Intelligent System and Knowledge Engineering[C]. 2008(1-2):285-290.
[7] 伍星,何中市,黄永文.产品评论挖掘研究综述[J].计算机工程与应用,2008,44(36):37-40.