网络评论中情感词的获取及极性判断方法比较
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
网络评论中情感词的获取及极性判断方法比较 许璐蕾 (苏州市职业大学,江苏 苏州 215104) [ 摘 要] 研究了情感分析中情感词的识别、褒贬分析。情感词识别是根据词义并结合上下文判断这个词是否有情感倾 向性。阐述了情感词识别和情感词极性判断的两种方法和技术。实验结果表明两种方法都得到了较好的效果。 [ 关键词] 情感词;机器学习;极性判别 1.引言 随着 web2.0 的盛行,人们喜欢在网上购物,也喜欢对 商品进行评价。这些评价除了可以给商家厂家提供改进的 意见外,还可以给其他购买者提供不小的指导性意见。比如 一台笔记本的评价为: 屏幕宽,键盘舒服,内存大。缺点:硬盘小了点,音效差。既然买了,就用着。 图 1 评价示例 在这些评价中屏幕的“宽”,键盘的“舒服”等都是直接 给予我们信息的词,我们常常把它们叫做情感词。 2.情感词及情感词典 在评论性文章里,情感词常常表达了作者的某种情感 倾向[1]。情感词的获取是褒贬分析的基础。情感词的获取对 文章褒贬的极性判别有着重大的意义。在情感词中,大体分 为褒义、贬义和中性三类。其中褒义表示对产品正面的评 价,比如:“这个型号的笔记本运行速度快”等。贬义表示对 产品负面的评价,比如:“这个产品有危险”。中性词一般不 能表达出评论者的倾向,比如:“我今天买了新手机”。 我们需要通过有限的褒贬种子词典和语料资源构建起 褒义词词典与贬义词词典,词典中有情感词、词性、褒贬性 等元素。其中褒贬性为“1”表示这个词是褒义词,褒贬性为 [1]“-1”为贬义词,褒贬性为“0”为中性词。实验显示,部分情 感词极性相同但是它们之间有数量上的区别,因此比较合 理的方法是采用 -1 至 1 的实数表示。正的数字范围表示褒 义词,负的实数范围表示贬义词,中性词仍然用 0 表示。 3.情感词的获取及判断 在众多的情感词获取的方法中,目前有:方法一:以 [2][3]HowNet情感分析用词表作为基本辞典,人工整理带有褒 贬性标注信息的句子后对词典中的情感词作频率统计,以 此为依据标识词语的极性的褒贬。方法二:从 HowNet 中挑 选出情感词构建种子情感词典,找出与词典中的词在同一 个句子中共同出现的情感词,计算这个候选情感词和种子 情感词之间的 S0-PMI (semantic orientation-pointwise mutual information)来判断极性[4]。方法三:找出语料中包含种子情 感词和候选情感词的并列型复句和转折型复句,统计候选情 感词与任意种子情感词共现频数等参数后判定,加入种子词 典[5]。 在获取情感词的任务中,选择了基于种子词典加统计的 方式和基于机器学习的方式进行了实验,并比较它们之间的 优劣。 3.1 基于种子词典加统计的方式 该算法思路是以种子词典为基础,确定候选词,并根据 统计模型计算候选词的置信度,将置信度大于阈值的候选词 加 到 扩 展 词 典 中 [5]。 极性的判断依赖种子词在上下文 (context)语境中的语义信息和位置信息。 (1) 种子词典的选择 利用 HowNet 提供的“中英文情感分析用词语集”中的 中文正面情感词、负面情感词、正面评价词、负面评价词四个 文件挑选出情感词构成种子情感词库。 (2) 语料准备 从互联网中使用爬虫抓取“手机、笔记本、数码相机、汽 车”等多个领域带有倾向性的产品评论,去除无关信息和代 码后作为语料。 (3) 候选情感词获取 首先对语料进行分句、分词,得到包含种子情感词的句 子。对于包含标点符号的句子,根据每个子句的长度来识别 它属于单句还是复句。这是一种比较粗略的划分,但在没有 对句子进行较为精确地句法分析时,这也是一个比较简单和 有效地策略。 接着对复句需要确定复句关系。我们将复句关系归为两 大类:并列关系和转折关系。我们根据出现在子句开头的复 句关系词来判断复句关系。对于不含复句关系词的复句,无 法借助句法深层的结构关系和语义关系来精准地确定复句 关系,可以根据经验粗略地将其均归为并列复句。 我们在选择候选情感词时,需要基于如下的判断: (1) 情感词的词性可能为形容词和动词; (2) 情感词在句子中会并列出现或对称出现。比如: A 这台笔记本漂亮、大方、便宜。这是并列出现。 B 这台笔记本外观很漂亮,散热也很优秀。这是对称出 —————————————— 作者简介:许璐蕾,女,江苏苏州人,硕士,讲师,研究方向:计算机网络。 — 53 — 应用技术与研究 改变邻接情感词极性。比如: 这台笔记本外观很漂亮,但散热很糟糕。已知“漂亮”是 褒义词,所 以可以判断“糟糕”是个贬义词。 通过这些原则我们可以选出候选情感词,将种子词典记 为 D,其中 的情感词记为 x,候选情感词记为 r,进行如下统 计: 统计语料中出现 r 的句子数,以句子为单位计数,计算 现。 (3) 单 句中“和”、“但”这类连词和复句关系词会延续或 出 r 出现的 频数 Cr。 出现该情感词的句子数越多,频数越大。 统计语料 x 的句子数,以句子为单位计数,计算出频 数 CD。 中出现 统计 r 与 D 中任意情感词 x 共现的句子数,以句子为 (1) 构造训练文件 训练文件的格式为每行包含一个 token,每个 token 包 含多个列,各列之间用空格或制表格间隔。最后一列为分类 结果,其余各列则为特征向量,特征向量可根据具体的任务 确定。 选取的特征能否有效地指导分类关系到识别效果的好 坏。本文选取词、词性作为特征向量。 分类结果选用二值分类,Y 代表褒贬词,N 代表非褒贬 词;也可以与褒贬词极性判断同步完成,C 代表褒义词,D 代 表贬义词,N 代表非褒贬词。在训练文件中,分类结果我们使 用 HowNet 的褒贬词典让程序自动进行粗标注,再由人工完 成校对。 训练文件的样例如下: 单位计数,得到 Cr,r 与 x 共现的时候,在并 D。通常当一个词 列句子中,词 r 的褒贬性与 x 褒贬性相同,在转折结构中,词 r 的褒贬性与 x 的褒贬性相反。分别计算出词 r 与褒义词的 共现次数和与贬义词的共现次数。 基于小规模的实验得到阈值的设置:频数大于 30,与褒 义词共现次数大于 10,与贬义词共现次数大于 10。将高于阈 值的词归为情感词扩充词典。最后通过候选情感词和种子 情感词共现次数计算得到该词的褒贬性。在基于点间互信 息 SO-PMI 中,一个候选情感词 r 的褒贬性是通过它和一 组 褒 义 词 汇 Pwords 的点间互信息 减去一组贬义词汇 Nwords 的点间互信息计算得到,公式[1]为: SO-PMI(r)= 联想 nz 电脑 n 很 adv 安静 adj , w 外观 也 n c 很 adv 漂亮 adj 。 w N N N C N N N N C N Σ PMI(r,pword)- Σ PMI(r,nword) (1) pwowd∈Pwords nwowd∈Nwords (2) 特征模板选取 使用 CRF++ 必须自己确定特征模板,专门的宏% x [row,col]用于确定输入数据中的一个 token。row 用于确定 与当前的 token 的相对行数。col 用于确定绝对行数。如已知 下面的输入数据: 联想 nz 电脑 n 很 adv 安静 adj , w 外观 也 n c 很 adv 漂亮 adj 。 w N N N << 当前的 token 两个词 w1 和 w2 的同时出现的概率 PMI [1]计算公式为: PMI(w,w)=log( P(w1&w2) ) 12P(w1)P(w2) (2) 通过公式(1)和公式(2)计算得到的 SO-PMI(r),当值为 C 正时该词为褒义词,当为值为负时该词为贬义词。 上述方法可以多次滚雪球式进行,即在得到扩展词典后 N 将扩展词典与种子词典合并,得到一个较大规模的种子字 N 典,并重新开始抽取流程,得到一个新的扩展词典。如此往 N 复,直到扩展词典不再增加。 N 3.2 基于机器学习的方式[6] C 该算法思路是,首先标注一部分语料,并以此为训练集, N 让计算机自动地学习,并将学习到的知识运用于测试集。 机器学习模型选用 CRF [7]。 条件随机场(Conditional 特征模板形式为: Random Fields,CRFs)是一种新的概率图模型,它具有表达 %x[0,0] = 很 元素长距离依赖性和交叠性特征的能力,能方便地在模型 %x[0,1] = adv 中包含领域知识,且较好地解决了标注偏置问题等优点。 %x[-1,0] = 电脑 %x[-2,1] = nz CRF 模型在中文分词、命名实体识别等自然语言处理 %x[0,0]/%x[0,1] = 很 / adv 领域都取得了很好的表现,本文使用广泛使用的 CRF++ 开 ABC%x[0,1]123 = ABC 很 123 源工具,目前最新版本为 0.53。CRF++ 用 C++ 编写,包括 Linux 环境下的源代码和 Windows 下的可执行程序。 模板类型 Unigram template:第一个字符是 U,这是用于 描述 unigram feature 的模板。对给出一个模板如:U01:% x 步骤如下: [0,1],CRF 会自动的生成一个特征函数集合 (func1 ... — 54 — 应用技术与研究 funcN)。下面是我们在实验中使用的模板: iter=1 terr=0.1671940928 serr=0.8831168831 # Unigram obj=1406.329356 diff=0.3248438053 U00:%x[-2,0] iter=2 terr=0.1503164557 serr=0.8831168831 U01:%x[-1,0] obj=626.9159973 diff=0.5542182244 U02:%x[0,0] …… U03:%x[1,0] (4) 测试 U04:%x[2,0] U05:%x[-1,0]/%x[0,0] 将待识别文本也标注成类似训练文件的格式,但无需给 U06:%x[0,0]/%x[1,0] 出最后一列 (分类结果)。测试文本和训练文本的特征列数 U10:%x[-2,1] U11:%x[-1,1] 与每一列的特征含义需一致。 U12:%x[0,1]q 使用 crf_test 命令,格式如下: U13:%x[1,1] crf_test -m model_file test_files -o result_files U14:%x[2,1] 其中,model_file 为训练过程生成的模型文件,test_file U15:%x[-2,1]/%x[-1,1] 为测试文件,result_files 结果文件。结果文件格式和训练文 U16:%x[-1,1]/%x[0,1] 件一样。 U17:%x[0,1]/%x[1,1] U18:%x[1,1]/%x[2,1] 4.结论 U20:%x[-2,1]/%x[-1,1]/%x[0,1] U21:%x[-1,1]/%x[0,1]/%x[1,1] 经过小规模的测试,上述两种方法各有利弊。方法 1 容 U22:%x[0,1]/%x[1,1]/%x[2,1] 易实现,具有较高的效率,但是由于统计方法过于简单,没 有充分考虑上下文信息的条件概率和语言序列的转移概率 # Bigram 对其的影响。方法 2 在制作训练文件时需要较多的人工投 (3) 训练 入,训练的过程耗时校对,但识别效果优于方法 1。 使用 crf_learn 命令,格式如下: crf_learn template_file train_file model_file 其中,train_file 为 a 步骤准备的训练文件,template_file 参考文献: 为 b 节准备的模板文件,model_file 为 CRF++ 训练后生成的 [1] 娄德成,姚天昉.汉语句子语义极性分析和观点抽取方法的研 结果文件。 究[J].计算机应用,2006,26(11):2622-2625. 有两个主要的参数可以调整训练条件: [2] HowNet 词典:http://www.keenage.com. -c float:设置 CRF 的 hyper-parameter。这个参数将会调 [3] 王克,张春良,朱慕华等.基于情感词词典的中文文本客观分 节 overfitting 和 underfitting 之间的平衡。 析.见:赵军.第一届中文倾向性分析评测.北京:中国中文信息学会 -f NUM:设置特征的 cut-off 阈值。CRF++ 训练时只使 信息检索专业委员会,2008:56-62. 用出现次数不少于 NUM 的特征进行训练。默认值为 1。当 [4] 张猛,彭一凡,樊扬等.中文倾向性分析的研究.见:赵军.第 使用 CRF++ 训练大规模数据时,单一特征的数量过大时修 一届中文倾向性分析评测.北京:中国中文信息学会信息检索专业委 员会,2008:38-45. 改这个参数可以缩短训练时间。 [5] 乔春庚,孙丽华,吴韶等.基于模式的中文倾向性分析研本文实验中,上述参数均使用系统默认值。训练过程根 究. 见:赵军.第一届中文倾向性分析评测.北京:中国中文信息学会据训练文件的大小和模板文件的复杂程度需要持续几小时 信息 检索专业委员会,2008:21-31. 到几天,训练中系统会输出迭代信息如下: [6] B.Pang,L.Lee.A Sentimental Education:Sentiment Analysis iter=0 terr=0.7494725738 serr=1 obj=2082.968899 diff=1 Using Subjectivity Summarization Based on Minimum Cuts.In Proceed- ings of ACL,2004:271-278. [7] 陈建美,林鸿飞,杨志豪.基于语法的情感词汇自动获取[J]. 智能系统学报,2009,4(2):100-105. Comparison of the Two Methods of Sentiment Terms Identification on the Web Xu Lulei (Suzhou Vocational University,Suzhou 215104,Jiangsu) 【 Abstract 】 The sentiment terms identification is to detect whe ther this word show any emotion or sentiment .In this paper,we investigate on sentiment terms identification,sentiment terms’polarities recognition,and emphatically introduce two methods and of sentiment terms identification and sentiment terms’polarities recognition.The results of experiment show that we achieve preferable effects. 【 Keywords 】 emotional words;machine learning;polarity identification — 55 — 本文来源:https://www.wddqw.com/doc/38565d35a000a6c30c22590102020740be1ecd36.html