中文微博情感分析系统-LTLAB 上海交通大学中德语言技术联合实验室 报告人:周霄
简介 在本届评测设立的3个评测任务中,LTLAB分别参加了 任务1(观点句识别)和任务3(情感要素抽取)。 对于任务1:采用了基于分类器的方案,特征抽取时 考虑到了多种词性和句法特征。 对于任务3:参评系统结合了基于分类器的抽取和基 于模板的抽取两种方案,考虑到了词的统计信息和微 博特有的话题信息。
1. 预处理 预处理过程主要进行句子的分词、句法分析、以及评价词抽取。 鉴于微博文本的特殊性,预处理不直接对整句操作,而是将每个句 子划分成四种不同的成分: URL 用户名及转发标志:变现为:“@ + 用户名”,或“|| @ + 用户名” 话题:即一对“#”包裹的非空格字符 正常文本信息 分词和句法分析 分词使用了中科院的分词系统ICTCLAS,句法分析使用了Stanford Parser。 为了改善分词效果,评测小组成员从网络和评测样例数据中收集了一部 分常用网络用语,加入用户词典中。
1. 预处理 评价词抽取 基于评价词词典对词或词组进行匹配 分为正面评价词词典和负面评价词词典 词典来源由3部分构成:Hownet情感词集合、NTUSD情感词集合、 来自网络和评测数据样例的评价词 词典加入正则表达式模板,如“丢.{1,4}的脸”可以匹配“丢我的 脸” 对于抽取出的评价词,首先设定初始评价极性为词典中的极性; 然后向前一个范围内寻找是否含有表否定的词语,如“不”、 “没有”等,每找到一个词就对当前评价极性进行一次反转。
2. 观点句识别 基于VFI(Voting Feature Interval)分类器进行二值分类,正例即为观 点句: 人工标注了评测样例数据作为训练数据。 VFI分类器的原理较简单,它假设各维特征独立,每维特征对所有类标识进 行投票,每类的得分正比于该类得到的票数。 VFI分类器不显式考虑先验概率。由于训练数据不平衡(正例较少),因此 有助于提高结果的召回率。下表是我们在小范围数据上使用各种分类器得 到的结果。 准确率 召回率 F值 SVM 0.779 0.726 0.7516 NB 0.708 0.723 0.7154 Tree 0.719 0.689 0.7037 VFI 0.748 0.776 0.7617
2. 观点句识别 对于微博中的每一句,抽取如下几种特征: 根据实验结果,人工调整了个别特征的权重,调低了分类器 判分的阈值 基于词性的特征。选取了在观点句中常出现的词性或词性组合作 为特征,如:连词个数、代词个数、副词+形容词个数、 “不”+形容词个数等等 基于标点符号的特征:问号的数量和感叹号的数量 句中评价词的个数 纯粹表达主观意愿词的个数。评测要求纯粹表达主观意愿的句子 不算作观点句。针对这一要求,我们人工收集了一些纯粹表达主 观意愿词(如“祝愿”),并将句中该类词的数量作为一个特征 根据实验结果,人工调整了个别特征的权重,调低了分类器 判分的阈值
3. 情感要素抽取 主要使用基于分类器的方法,辅以基于模板的方法。使用评价 对象与评价词间的位置关系判别极性。 分类器同样采用VFI分类器。对于一条微博,首先抽取其中的 候选评价对象,然后对于微博中的每个观点句,分别判断每个 候选评价对象是否是其正确评价对象。 对微博m,抽取其中所有候选评价对象 对微博中的每一句,分别构建分类实例<候选评价对象, 句子> 对每一个分类实例,输出二值结果:true/false
3. 情感要素抽取 候选评价对象抽取 有两种情况:句子中长度小于阈值的、句法成分为NN、 NR、NP、IP、FW之一的词组;当前话题的关键词之一。 使用了两种方法抽取话题关键词: 方法一:使用话题中的名词。如“#假和尚搂女子#”,则抽 取关键词“和尚”、“女子” 方法二:使用话题中的名词词组,以及整个话题。即“假和 尚”、“女子”、“假和尚搂女子” 第二种方法的评测结果略好于方法一
3. 情感要素抽取 构建分类实例 对于每一个候选评价对象t,将其与微博中的每一句s分别组合构 成分类实例<t, s>。系统需要对每个分类实例判断true/false,对 应t 是/不是 s的评价对象 每个分类实例抽取以下特征: t的句法成分 t与s的距离,即t与s间隔的字数。若t在s中,则距离为0;若t在s之前, 则为一负值;若t在s之后,则为一正值 t是否是话题关键词 t是否出现在一对“#”之间 t在话题相关微博中出现的频次
rcmod, nsubj, amod, assmod, nn, vmod 3. 情感要素抽取 基于模板的方法 评测小组借鉴了史兴等人在COAE 2011论文集中使用的方法,对微博中所 有<依存关系,评价对象句法成分,评价词句法成分>都满足下表的三元 组进行抽取 成分 允许的类型 依存关系 rcmod, nsubj, amod, assmod, nn, vmod 评价对象 FW, NR, NT, NN 评价词 VA, JJ, VV 评价对象的极性判别 对每个评价对象,在一个窗口范围内寻找最近的评价词,若找到则使用 该评价词的极性 若窗口内无评价词,则计算句子中正负评价词的个数,以此判断评价对 象极性
4. 总结 经验 不足 两个任务中都使用到了VFI分类器,在保证准确率变化不大的情况下获得了较高的召回率。 构建适合网络语言的分词词表和情感词典较大程度的改善了结果。 机器学习方法+后续规则过滤是行之有效的方法。 不足 评价词抽取采用了较简单的词典匹配的方法,未考虑到上下文 人工收集词典的方式过于低效,不利于扩展 系统依赖于完整的依存句法分析,速度受到限制,不利于扩展
谢谢!