1、第11章: 观点挖掘,广东外语外贸大学杜剑峰 ,Web数据挖掘,2,简介 事实和观点,万维网中两类文本信息事实观点目前的搜索引擎查找事实 (假设它们是正确的)事实可以使用主题词表示.搜索引擎不查找观点观点难以使用数个关键词表示人们怎样看Motorola手机?目前的搜索排序策略不适合观点检索或搜索.,Web数据挖掘,3,简介 用户生成内容,万维网中的口水话(Word-of-mouth)网民可以在评论站点、论坛、讨论组、博客和微博等地方就任何事件阐述个人的经历或观点 (称作用户生成内容)包含有价值的信息我们感兴趣的是: 在用户生成内容中挖掘观点 一个智能的很具挑战性的问题.实践中很有用.,Web数
2、据挖掘,4,简介 应用,商务和组织: 市场情报.工商企业花费大量的金钱搜集顾客的意见和观点.顾问、调查组, 等等个人: 在下列情况下会对他人的观点感兴趣购买产品或使用服务寻找政治话题的观点广告放置: 在用户生成内容中放置广告当用户称赞某个产品时放置广告. 当用户批判某个产品时放置竞争品牌的广告.观点检索/搜索: 提供观点的全面搜索,Web数据挖掘,5,两类评价,直接观点: 关于某个对象诸如产品、事件、主题和个人的情感表达比如, “the picture quality of this camera is great”主观的比较观点: 表示多于一个对象的不同点或相同点的关系. 通常表示一种次序.
3、比如, “car x is cheaper than car y.”客观的或主观的,Web数据挖掘,6,观点搜索 (Liu, Web Data Mining book, 2007),能够像通常的Web搜索一样方便地搜索观点吗?当你需要决策时, 你可能需要知道他人的观点你可以向搜索系统提出诸如下面的问题, 立即找到相关观点直接观点: “Motorola cell phones”比较观点: “Motorola vs. Nokia”现在还没有这种搜索方式!,Web数据挖掘,7,典型的观点搜索问题,查找观点持有者(个人或组织)对某个特定对象或对象的某个特征的观点. 比如, Bill Clinton对婚
4、外恋的观点是什么?查找关于某个对象(或对象的某些特征)的正面或负面的观点, 比如, 关于某个数字相机的顾客观点.某个政治话题的大众观点.查找关于某个对象的观点的变化情况.对象A比较对象B的观点是什么?Gmail vs. Hotmail,Web数据挖掘,8,查找关于某个对象的某个人的观点,在某些情况下, 通用的搜索引擎能够处理这个问题, 比如通过提供合适的关键字Bill Clinton对婚外恋的看法理由:个人或组织通常对某个主题持有唯一的观点. 该观点通常包含于一个文档中.因此, 可以使用合适的关键字找到该观点.,Web数据挖掘,9,查找关于某个对象的观点,以产品评论为例:搜索产品评论与一般的W
5、eb搜索是不同的.比如, 搜索关于“Motorola RAZR V3”的观点一般的Web搜索 (关于事实): 基于某种权威和相关性分数对页面排序用户浏览首页 (如果搜索是完美的)一个事实 = 多个事实观点搜索: 排序是可取的, 但是读取排在首位的评论是不够的, 因为它仅是某个人的观点.一个观点 多个观点,Web数据挖掘,10,观点汇总问题,评论可以看作是传统的调查报告.在传统的调研中, 返回的调查问卷可以用作原始数据. 对调研结果做汇总分析. 比如, 支持或反对某个问题的百分比, 等等. 在观点搜索中,能够产生汇总吗? 汇总应该是什么?,Web数据挖掘,11,提纲,观点挖掘 问题定义文档层次的
6、情感分类句子层次的情感分类基于特征的观点挖掘比较句子的观点挖掘总结,Web数据挖掘,12,观点挖掘(Hu and Liu, KDD-04; Liu, Web Data Mining book 2007),观点的基本要素观点持有者: 对于特定对象持有特定观点的个人或组织.对象: 观点表达的作用者观点: 观点持有者对一个对象的一种看法、态度或评价. 观点挖掘的目标: 很多 . 文档层次的目标: 评论的情感分类句子层次的目标: 主观或客观句子的识别, 主观句子的情感分类特征层次的目标: 识别对象特征, 找对象特征的同义词, ,Web数据挖掘,13,目标对象 (Liu, Web Data Mining
7、 book, 2006),对象 (object): 一个对象 o 是产品、个人、事件、组织或主题. o 表示为部件和子部件的一个概念层次.每个结点表示一个部件及其关联的属性.观点可以针对任意结点或结点的任意属性. 为了简化讨论, 我们统一使用特征 (features) 表示部件和属性.,Web数据挖掘,什么是观点? (Liu, Ch. in NLP handbook),观点是一个五元组 (oj, fjk, soijkl, hi, tl),其中oj 是目标对象.fjk 是oj的一个特征.soijkl 是观点持有者hi在时刻tl对对象oj的特征fjk作评价的情感值. soijkl 等于 +ve,
8、-ve, 或neu.hi 是观点持有者.tl 是观点表达的时刻.,14,Web数据挖掘,15,目标 观点挖掘,目标: 给定一个含有观点的文档, 找出所有的五元组 (oj, fjk, soijkl, hi, tl), 即挖掘五元组中五个部分的对应信息或者, 解决一些更简单的问题观点挖掘的作用无结构文本 结构数据传统的数据和可视化工具能够以各种方式对得到的数据作切片, 切块和可视化处理.允许定性和定量分析.,Web数据挖掘,16,基于特征的观点汇总 (Hu & Liu, KDD-2004),“I bought an iPhone a few days ago. It was such a nice
9、 phone. The touch screen was really cool. The voice quality was clear too. Although the battery life was not long, that is ok for me. However, my mother was mad with me as I did not tell her before I bought the phone. She also thought the phone was too expensive, and wanted me to return it to the sh
10、op. ”,基于特征的汇总:特征1: Touch screenPositive: 212The touch screen was really cool. The touch screen was so easy to use and can do amazing things. Negative: 6The screen is easily scratched.I have a lot of difficulty in removing finger marks from the touch screen. 特征2: battery life注意: 这里忽略观点持有者,Web数据挖掘,17,
11、可视化比较 (Liu et al. WWW-2005),Web数据挖掘,观点挖掘是一个难题!,(oj, fjk, soijkl, hi, tl),oj 目标对象: 命名实体抽取 (或更多问题)fjk oj的特征: 信息抽取soijkl 情感值: 情感判定hi 观点持有者: 信息/数据抽取tl 时刻: 数据抽取共指消解 (比如“马尔可夫模型”=“马氏模型”=“它”)同义词匹配 (比如voice = sound quality) 上述问题没有一个是完全解决好的!,18,Web数据挖掘,19,观点挖掘任务,在文档(或评论)层次:任务: 对整个评论作情感分类类: 正面, 负面, 中立假设: 每个文档
12、(或评论) 仅针对单一对象并且仅包含单一观点持有者的观点.在句子层次:任务1: 识别主观的/含观点的句子类: 客观的, 主观的(含观点的)任务2: 句子的情感分类类: 正面, 负面, 中立假设: 一个句子仅含有一个观点在很多情况下不成立, 我们可以进一步考虑分句或短语.,Web数据挖掘,20,观点挖掘任务 (续),在特征层次:任务1: 识别和抽取被观点持有者(即评论人)评价的对象特征. 任务2: 判定针对该特征的观点是正面的, 负面的还是中立的.任务3: 对特征的同义词作分组, 产生多个评论的基于特征的观点汇总.,Web数据挖掘,21,提纲,观点挖掘 问题定义文档层次的情感分类句子层次的情感分
13、类基于特征的观点挖掘比较句子的观点挖掘总结,Web数据挖掘,22,情感分类,基于观点持有者(作者)表达的总体情感对文档(即评论)归类, 正面, 负面, 或中立因为在我们的模型中, 对象 O 本身就是一个特征, 所以 情感分类 本质上判定每个文档(即评论)中表达O的观点.与基于主题的文本分类相似但不同.在基于主题的文本分类中, 主题词是很重要的. 在情感分类中, 情感词更重要, 比如great, excellent, horrible, bad, worst, 等等.,Web数据挖掘,23,非监督评论分类(Turney, ACL-02),数据: 从中获取的汽车, 银行, 电影, 和旅游目的地的评
14、论.方法: 三步步骤1:词性(Part of Speech, POS)标注从评论中抽取词性满足某些模式, 比如(1) JJ, (2) NN 的连续两个词 (双词短语).,Web数据挖掘,24,步骤2: 估计抽取出的短语的情感倾向 (SO)使用逐点的互信息情感倾向 (SO): SO(phrase) = PMI(phrase, “excellent”) - PMI(phrase, “poor”)使用AltaVista的near操作进行搜索, 根据命中的信息个数计算PMI和SO.,Web数据挖掘,25,步骤3: 计算所有短语的平均SO如果SO是正的, 则将评论归类为推荐的, 否则归类为不推荐的. 最
15、终的分类准确率:汽车 - 84%银行 - 80%电影 - 65.83% 旅游目的地 - 70.53%,Web数据挖掘,26,使用机器学习方法的情感分类 (Pang et al, EMNLP-02),该论文直接应用多个机器学习技术对电影评论归类为正面的和反面的. 尝试了三个分类技术:朴素贝叶斯最大熵支持向量机预处理操作: 否定标注, 一元语法 (单词), 二元语法, 词性标注, 定位.支持向量机: 最高准确率83% (一元语法),Web数据挖掘,27,根据评分特征的评论分类 (Dave, Lawrence and Pennock, WWW-03),选择一组特征 F = f1, f2, 注意: 是
16、机器学习技术中使用的特征, 不是产品特征. 对特征评分 C和C是类使用符号函数对评论 dj 分类: 准确率在 84-88% 之间,Web数据挖掘,28,提纲,观点挖掘 问题定义文档层次的情感分类句子层次的情感分类基于特征的观点挖掘比较句子的观点挖掘总结,Web数据挖掘,29,句子层次的情感分析,文档层次的情感分类对于大部分的应用来说太粗糙了. 考虑句子层次. 句子层次情感分析的绝大部分工作重点在于从新闻文章中识别主观句子.分类: 客观的和主观的所有技术使用机器学习的某些形式.比如, 使用朴素贝叶斯分类器 (Wiebe et al. ACL-99).,Web数据挖掘,30,使用学习模式 (Ril
17、loff and Wiebe, EMNLP-03),自举方法.首先使用一个高查准率的分类器自动识别一些主观的和客观的句子.使用两个高查准率(但低查全率) 的分类器,一个高查准率的主观分类器一个高查准率的客观分类器基于人工搜集的单词, 那些是好的主观线索.然后从这些识别到的主观和客观句子中学习模式集. 需要定义一些句法模板限制发现的模式类型.比如, passive-verb.然后使用学到的模式进一步抽取主观的和客观的句子 (该过程可以反复进行).,Web数据挖掘,31,主观性和极性(倾向) (Yu and Hazivassiloglou, EMNLP-03),对于主观句子或观点句子识别, 尝试三
18、种方法:句子相似度朴素贝叶斯分类多个朴素贝叶斯分类器对于观点倾向 (正面, 负面或中立) (又称极性) 分类, 使用与 (Turney, ACL-02)相似的方法, 但 使用更多的种子词 (不是两个) 并基于对数似然比 (log-likelihood ratio, LLR).对于每个词的分类, 以句子中单词的LLR分数平均值作为度量, 使用阈值确定正面, 负面或中立.,Web数据挖掘,32,下一步考虑什么?,在文档和句子层次的情感分类是有用的, 但是仍然不能发现观点持有者喜欢什么和不喜欢什么.对于对象的一个负面情感 不能说明观点持有者不喜欢对象的任何方面.对于对象的一个正面情感 不能说明观点持
19、有者喜欢对象的所有方面.我们需要深入到特征层次.,Web数据挖掘,33,提纲,观点挖掘 问题定义文档层次的情感分类句子层次的情感分类基于特征的观点挖掘比较句子的观点挖掘总结,Web数据挖掘,34,在深入到特征层次之前,讨论一下观点词或短语 (也称作极性单词, 观点支撑单词, 等等). 比如, 正面的: beautiful, wonderful, good, amazing, 负面的: bad, poor, terrible, cost someone an arm and a leg (idiom). 这些词明显对观点挖掘起作用编译该列表的三种方法:人工方法: 可行, 仅是一次性的工作基于文集
20、的方法基于词典的方法重要提示: 一些观点词是上下文独立的 (比如, good).一些观点词是上下文依赖的 (比如, long).,Web数据挖掘,35,基于文集的方法,依赖于大规模文集的句法或共现模式. (Hazivassiloglou and McKeown, ACL-97; Turney, ACL-02; Yu and Hazivassiloglou, EMNLP-03; Kanayama and Nasukawa, EMNLP-06; Ding and Liu SIGIR-07)能够找到领域 (非上下文!) 依赖的倾向 (正面, 负面, 或中立). (Turney, ACL-02) 和
21、(Yu and Hazivassiloglou, EMNLP-03) 是相似的. 对于单词或短语赋予观点倾向. (Yu and Hazivassiloglou, EMNLP-03) 与 (Turney, ACL-02) 不同在于:使用更多的种子词 (非两个) 和使用对象似然比 (非PMI).,Web数据挖掘,36,基于文集的方法 (续),使用连接词的约束(或惯例)识别观点词 (Hazivassiloglou and McKeown, ACL-97; Kanayama and Nasukawa, EMNLP-06; Ding and Liu, 2007). 比如,合取: 一起使用的形容词通常具有
22、相同的倾向 (Hazivassiloglou and McKeown, ACL-97). 比如, “This car is beautiful and spacious.” (合取)AND, OR, BUT, EITHER-OR, NEITHER-NOR具有相似的约束.使用下面方法学习 对象线性模型: 判定两个一起使用的形容词具有相同的倾向还是不同的倾向. 聚类: 产生两组词: 正面的和负面的文集: 1987 Wall Street Journal 文集的2100万单词.,Web数据挖掘,37,基于文集的方法 (续),(Kanayama and Nasukawa, EMNLP-06) 使用与
23、(Hazivassiloglou and McKeown, ACL-97) 类似的方法, 但针对日文单词:不使用学习方法, 它使用两个标准决定是否将一个单词加入到正面或负面词典中.使用一个初始的正面的和负面的种子单词库. (Ding and Liu, 2007) 同样使用连接词约束, 但有两个不同点使用连接词约束对产品特征赋予观点倾向. 同一领域的一个单词可能表示不同的观点倾向. “The battery life is long” (+) and “It takes a long time to focus” (-).找出领域的观点词是不足够的. 当没有大规模的文集时仍可使用.,Web数据挖
24、掘,基于文集的方法 (续),Qiu et al. IJCAI-2009提出一种双向传播方法使用观点和特征的依赖关系抽取观点词.观点词修饰对象特征, 比如,“This camera has long battery life”算法本质上从一组种子的观点词自举通过某些依赖关系的帮助,38,Web数据挖掘,39,基于词典的方法,一般使用WordNet的同义词和概念层次获取观点词从观点词的一个小的种子集合开始.使用该集合从WordNet中搜索同义词和反义词 (Hu and Liu, KDD-04; Kim and Hovy, COLING-04).事后可能需要人工检查.使用WordNet的附加信息 (
25、比如注释) (Andreevskaia and Bergler, EACL-06) 和学习方法 (Esuti and Sebastiani, CIKM-05).基于词典方法的弱点: 不能找到上下文依赖的观点词, 比如, small, long, fast.,Web数据挖掘,40,基于特征的观点挖掘和汇总 (Hu and Liu, KDD-04),聚焦于评论目标: 找出评论者 (观点持有者) 喜欢什么不喜欢什么产品特征及其观点由于关于特定对象的评论很多,所以必须生成 观点汇总.值得期待的是一个结构化的汇总.易于可视化和比较.类似但不同于多文档汇总.,Web数据挖掘,41,任务,具有三个任务任务1
26、: 抽取在每个评论中评价的对象特征.任务2: 判定关于特征的观点是正面的, 反面的还是中立的.任务3: 对特征同义词分组, 生成一个汇总.,Web数据挖掘,42,特征抽取 (Hu and Liu, KDD-04; Liu, Web Data Mining book 2007),频繁特征: 被多个评论者多次提及的特征.使用序列模式挖掘为什么使用基于频率的方法? 不同的评论者谈论不同的(不相关的)事情当讨论产品特征是, 他们使用趋向于相同的单词. 它们是主要的特征.序列模式挖掘寻找频繁的短语.Froogle(Google的对比购物网站)已经实现了该方法 (无词性约束).,Web数据挖掘,43,不频
27、繁的特征抽取,如何寻找不频繁的特征?观察点: 相同的观点词可以用于描述不同的特征和对象.“The pictures are absolutely amazing.”“The software that comes with it is amazing.”,频繁的特征,观点词,不频繁的特征,Web数据挖掘,使用依赖关系,使用相同的双向传播 方法 (Qiu et al. IJCAI-2009).使用观点和特征的依赖关系抽取特征.观点词修饰对象特征比如, “This camera has long battery life”算法使用一组种子观点词自举 (不需要输入特征词).抽取特征 (和观点词),4
28、4,Web数据挖掘,45,识别特征同义词,Liu et al (WWW-05) 作了一个仅使用WordNet的尝试.Carenini et al (K-CAP-05)提出了基于若干相似性度量的更复杂的方法, 但需要给定特征的概念层次. 系统映射每个发现的特征到概念层次的特征中. 相似性度量基于字符串相似度以及WordNet中的同义词.基于数字相机和DVD评论的实验结果说明了该方法很有前景.可以使用信息集成领域的很多思想.,Web数据挖掘,46,识别关于特征的观点倾向,对于每个特征, 识别评论者表达的情感或观点倾向. 基于句子处理, 同时考虑到一个句子可能包含多个特征. 不同的特征可能具有不同的
29、观点.比如,The battery life and picture quality are great (+), but the screen is small (-). 几乎所有的方法都使用观点词. 但需要注意: 某些观点词具有上下文独立的倾向, 比如, “great”.某些观点词具有上下文依赖的倾向, 比如, “small”,Web数据挖掘,47,观点词的聚集 (Hu and Liu, KDD-04; Ding and Liu, 2008),输入: 对子 (f, s), 其中f 是产品特征, s 是包含 f 的句子.输出: s中关于f的观点是正面的, 负面的还是中立的.两步方法: 步骤1
30、: 基于转折词(but, except that等等)切分句子. 步骤2: 处理包含f的部分sf. 设sf中的观点词为w1, ., wn. 对它们的倾向(1, -1, 0)求总和, 并对(f, s)赋予倾向值. 在(Ding and Liu, SIGIR-07)中, 步骤2改为 得到更好的结果. wi.o 是wi的观点倾向值. d(wi, f)是从 f 到wi 的距离.,Web数据挖掘,48,提纲,观点挖掘 问题定义文档层次的情感分类句子层次的情感分类基于特征的观点挖掘比较句子的观点挖掘总结,Web数据挖掘,49,比较的抽取(Jinal and Liu, SIGIR-06, AAAI-06;
31、Lius Web Data Mining book),重温: 两类评价直接观点: “This car is bad” 比较观点: “Car X is not as good as car Y”两类评价使用不同的语言构造子. 直接表达情感是好的. 比较可能更好.相对于什么,好还是坏?比较句子挖掘识别比较句子, 并且抽取句子中的比较关系.,Web数据挖掘,50,比较关系 (Jindal and Liu, 2006),可分级的不等分级: 大于 或 小于 关系Ex: “optics of camera A is better than that of camera B”相等: 相等 关系Ex: “ca
32、mera A and camera B both come in 7MP”最高/最低:大于 或 小于其他对象 的关系Ex: “camera A is the cheapest camera available in market”,Web数据挖掘,51,比较关系,无分级的关系: 比较两个或更多的对象, 但没有对它们分级. 比如下面模式的句子:针对某些特征, 对象A类似于或不同于对象B.对象A具有特征 F1, 对象B具有特征F2 (F1和F2通常是替代的特征).对象A具有特征 F, 但对象B没有.,Web数据挖掘,挖掘比较观点,目标: 给定一个含有观点的文档d, 抽取比较观点:(O1, O2,
33、F, po, h, t), 其中O1和O2是需要比较的对象, F是比较时考虑的两个对象的共同特征, po是观点持有者h偏好的对象, t是比较观点表达的时刻.这是不等分级的比较关系.注意: 没有正面的或负面的观点.,52,Web数据挖掘,53,提纲,观点挖掘 问题定义文档层次的情感分类句子层次的情感分类基于特征的观点挖掘比较句子的观点挖掘总结,Web数据挖掘,总结,简要定义和介绍了直接观点: 文档, 句子和特征层次比较观点: 不同类型的比较关系观点挖掘已经有很多应用.还有很大的技术挑战性: 准确率仍然是主要问题.可以用于观点挖掘的实验系统:RapidMiner: 使用文本分类技术进行文档层次的情感分类.Lingpipe: 使用自然语言理解领域的分类技术进行主观句子识别和句子层次的情感分类.,54,