【立委科普:基于关键词的舆情分类系统面临挑战】
屏蔽 |||
[Abstract] Five challenges to keyword-based sentiment classification: (1) domain portability; (2) micro-blogs: sentence/twit classification is a lot tougher than document classification; (3) when big data become small: big data load when sliced and diced based on the users' needs quickly becomes mall, and a precision-challenged classifier is bound to have trouble; (4) association of sentiments with object: e.g. comparative expressions like "Google is a lot better than Yahoo"; (5) too coarse-grained: no actionable insights, this is fatal.
做自动舆情挖掘(sentiment mining)已经好几年了,做之前思考这个课题又有好多年(当年我给这个方向的项目起了个名字,叫 Value Tagging,代码 VTag,大约2002年吧,做了一些可行性研究,把研发的 proposal 提交给老板,当时因为管理层的意见不一和工程及产品经理的合作不佳,使得我的研发组对这个关键项目没能上马,保守地说,由此而来的技术损失伤害了公司的起飞),该是做一个简单的科普式小结的时候了。本片科普随笔谈机器分类系统在舆情抽取中的应用,算是这个系列中的一篇。
首先对大数据的舆情挖掘是建立在对具体语言单位的舆情抽取(sentiment extraction)的基础之上。只有当语言海洋中千千万万的舆情表达被抽取存贮到某个数据库以后,我们才有条件针对具体的舆情问题(如某特定品牌的网络形象或某话题的舆情走势),搜索有代表性的舆情资料,并将搜索结果整合提炼,然后以某种方式(譬如《品牌舆情图》或《话题晴雨表》)表达给情报使用者。
舆情抽取的主流是利用机器学习基于关键词的分类(sentiment classification),通常的做法非常粗线条,就是把要处理的语言单位(通常是文章 document,或帖子 post)分类为正面(positive)和负面(negative),叫做 thumbs up and down classification。后来加入了中性(neutral),还有在中性之外加入一类 mixed (正反兼有)。这种做法非常流行快捷,在某个特定领域(譬如影评论坛),分类质量可以很高。我们以前的一位实习生做过这样的暑假项目,用的是简单的贝叶斯算法,在影评数据上精度也达到90%以上。这是因为在一个狭窄的领域里面,评论用语相当固定有限,正面负面的评价用词及其分布密度不同,界限清晰,识别自然不难。而且现在很多领域都不愁 labeled data,越来越多的用户评价系统在网络上运转,如 Amazon,Yelp,积累了大量的已经分类好的数据,给机器分类的广泛应用提供了条件。
但是,上述分类遇到了以下挑战。
首先,领域移植性不好,影评数据训练出来的分类器换到电子器件的客户评价分类上就不管用。要对多个领域训练出多个分类器,很耗时,效果也不能得到保证。于是有人开始研究独立于领域(domain-independent)的舆情分类,其假设前提是舆情表达各个领域之间既有领域独有的表述方式,也有共通的表达(比如,好/good 在任何领域都是正面的形容词,坏/bad 在任何领域都是负面的),而且二者有相当的信息冗余度。这个假设在语言单位较大(譬如长的帖子或文本)时,是成立的。因此,这个挑战不算是致命的。但是很多应用领域,语言单位不大,譬如社会媒体中风行的微博/tweets,就很短,这一点构成第二个挑战。
第二个挑战就是,语言单位的缩小使得分类所需要的词汇证据减少,分类难为无米之炊,精度自然大受影响。从文件到帖子到段落再到短句,语言单位每一步变小,舆情分类就日益艰难。这就是为什么多数分类支持的舆情系统在微博(tweets)主导的社会媒体应用时文本抽取质量低下的根本原因(一般精度不过50%-60%)。当然,文本抽取精度不好并不表明不可用,它可以用大数据来弥补(由于大数据信息天生的大冗余度,利用sampling、整合等方法,一个大数据源的整体精度可以远远高于具体文本抽取的精度),使得最终挖掘出来的舆情概貌还是靠谱的。然而,大数据即便在大数据时代也不是总是存在的,因为一个真实世界的应用系统需要提供各种数据切割(slicing n dicing)的功能,这就使得很多应用场景大数据变成了小数据,这是下面要谈的第三个问题。
第三是大数据切割的挑战。本来我们利用机器来应对大数据时代的信息挑战,起因就是信息时代的数据量之大。如果数据量小,蛮可以利用传统方式雇佣分析员,用人的分析来提供所要的情报,很多年以来的客户调查就是如此。可是现在大数据了,别说社会媒体整体的爆炸性增长,就是一个大品牌的粉丝网页(fan pages)或一个企业的官方网页,每时每刻所产生的数据也相当惊人,总之无法依靠人工去捕捉、监测情报的变化,以便随时调整与客户的互动策略。这是机器挖掘(无论分类还是更细致的舆情分析)不可不行的时代召唤和现实基础。但是,观察具体应用和情报需求的现场就会发现,用户不会满足于一个静态的、概览似的情报结果,他们所需要的是这样一个工具,它可以随时对原始数据和抽取情报进行各种各样的动态切割(slice/dice 原是烹饪术语,用在情报现场,就是,"to break a body of information down into smaller parts or to examine it from different viewpoints so that you can understand it better", 摘自 http://whatis.techtarget.com/definition/slice-and-dice)。舆情切割有种种不同依据的需求,譬如根据舆情的类别,根据男女的性别,根据数据源,根据时间或地理位置,根据数据的点击率等。有的时候还有多次切割的需求,譬如要看看美国加州(地理)的妇女(性别)对于某个品牌在去年夏季(时间)的舆论反映。最典型的切割应用是以时间为维度的《动态晴雨表》,可以反映一个研究对象的情报走势(trends)。譬如把一年的总数据,根据每月、每周、每日,甚至每小时予以切割,然后观察其分布走势,这对于监测和追踪新话题的舆情消长,对于新产品的发布,新广告的效用评估(譬如美式足球赛上的巨额品牌广告的客户效应)等,都有着至关重要的情报作用。总之,大数据很可能在具体应用时要被切割成小数据,一个分类精度不高(precision-challenged)的系统就会捉襟见肘,被大数据遮盖的缺陷凸显,被自然过滤净化的结果在小数据时会变得不再可信。
第四个挑战是找舆情对象的问题。在几乎所有的舆情分析应用中,舆情与舆情的对象必须联系起来,而这一基本要求常常成为舆情分类系统的软肋。当然,在特定数据源和场景中,可能不存在这个问题,比如对 Amazon/Yelp 这类客户评价数据 (review data) 的舆情分析,可以预设舆情的对象是已知的(往往在标题上,或者其他 meta data 的固定位子),每一个review都是针对这个对象(虽然不尽然,review中也可能提到其他的品牌或产品,但是总体上是没问题的,这是由 review data 的特性决定的)。然而在很多社会媒体的自发舆情表述中(譬如微博/脸书/论坛等),在舆情分类之后就有一个找对象的问题。这个问题在比较类语言表达中(比如,"谷歌比雅虎强老鼻子啦" 这样语句,正面评价“强”到底是指雅虎还是谷歌,这看似简单的问题,就难倒了一大帮机器学家,道理很简单,机器分类系统依靠的是keywords,一般没有语言结构的支持,更谈不上理解)。与青春躁动期的小屁孩也差不多,满腔情绪却找不到合适的表达或发泄对象,这几乎成了所有褒贬分类系统的克星。在随兴自发的社会媒体中,这类语言现象并不鲜见,一边夸张三一边骂李四更是网络粉丝们常见的表达(譬如方韩粉丝的网络大战)。
第五个挑战是颗粒度的问题。这是分类系统的致命伤,它们只知道数翘大拇指还是伸出中指的数量,这对舆情的总体概览有点意义,但是这远远不是最有价值的舆情情报,关于这一点,我在以前的科普随笔中论述过:
褒贬分析只提供舆情的一个概览,它本身并不是 actionable insights. 知道很多人喜欢或者不喜欢一个品牌,so what?企业还是不知道怎么办,最多是在广告宣传投资量的决策上有些参考价值,对于改进品牌产品,适应用户需求,褒贬舆情太过抽象,不能提供有价值的情报。这就要求舆情分析冲破两分、三分、五分的分类法,去发掘这些情绪的背后的动因(reasons/motivation),回答为什么网民喜欢(不喜欢)一个品牌的问题。譬如挖掘发现,原来喜欢麦当劳的主要原因是它发放优惠券,而不喜欢它的原因主要是嫌它热量太大,不利减肥。这样的舆情才是企业在了解自己品牌基本形象以后,最渴望得到的 actionable 情报,因为他们可以据此调整产品方向(如增加绿色品种和花样,水果、色拉等),改变广告策略(如强调其绿色的部分)。
摘自【立委科普:舆情挖掘的背后】
上面列举的机器舆情分类系统的挑战,并不是要否定机器学习在舆情领域的价值,而是要阐明以下的观点:粗线条的机器分类只是舆情自动分析的开始,万里长征的第一步,一个真正有价值的舆情挖掘系统还需要更多更细致的舆情自动抽取和挖掘的技术来支持。鉴于学界和业界 90% 以上自称做 sentiment 的系统,都是以机器分类作为基础支撑的,明白这一点尤其重要。那么什么是舆情抽取和挖掘系统所需要的完整的技术基础呢?且听下回分解吧(如果兴起的话)。
白马非马,人非人民。人民的呼声通过冗余才能听得见,否则就不是人民的声音,只是可有可无、可以忽略、听不见也不用听见的个体意见
日期: 02/15/2013 12:41:53
[1]zdlh 2013-2-16 01:08对于网络预审删帖这样的样本缺失和数据缺实,你怎么办 ?
博主回复(2013-2-16 02:03):不关我的事儿。铁路警察各管一段。但愿中国随着国家现代化民主化进程,随着新领导人倾听人民呼声的新政的实施,这个问题自然消解。
从技术上讲,在大数据的尺度下,不管什么原因缺失部分数据(server down,数据库 bug,数据提供人改主意突然把发出的帖子又很快删除,非民主社会的政府censorship,还有由于成本原因有意排除一些原始数据而只取一定比例的样本,还有垃圾过滤系统太aggressive的误删,或者我们系统本身查全率 (recall) 不理想,比如明明有褒贬却没有识别出来,等等等等:缺失是常态,而求全则是不现实也是不必要的),都不是大问题,as long as 这种缺失对于要挖掘的话题或品牌没有歧视性/针对性。大数据追求的是舆情动态和salient情报,而这些原则上都不会因为数据的部分缺失而改变,因为动态和 salience 的根基就是信息的高冗余度,而不是真正意义上的大海捞针。不亲手做系统,你难以想象互联网的大海里面,冗余的信息有多少。重要的是,冗余本身也是情报的题中应有之义。所谓舆情就是人民(客户)的呼声,而人民的呼声只有通过个体信息的大量冗余才能听得见。这与同一个情愿诉求为什么要征集成千上万的签名道理一样,至于最终是10万签名还是9万五千人签名了,完全不影响舆情的内容及其整体效应。
http://blog.sciencenet.cn/blog-362400-662101.html
上一篇:不错的话题——对技术社会价值的评价
下一篇:什么是分子?As2O3是个啥模样?