1、褒贬新词的自动发现算法研究*收稿日期:2007-06-20 基金项目:国家973项目(2004CB318102)和河南省教育厅自然科学基金项目(2007520050) 昝红英1, 李 鸥1, 赵 科2 (1.郑州大学信息工程学院,河南 郑州 450052) (2.河南省焦作市技术监督局特种设备科检验所, 河南 焦作 454100) 摘 要:基于内容的文本褒贬评价属于文本情感计算的研究范畴。由于目前国内外文本褒贬评价的主要方法是通过文中出现的褒贬词等特征进行计算的,因此褒贬词表是文本内容褒贬倾向计算的重要资源。目前褒贬词资源库的建设一般是通过人工大量地浏览语料而抽取的,
2、耗时耗力,且不便于资源和系统的移植。文中在已有基本褒贬词表资源的基础上,提出了一种利用连词或副词搭配等结构模板进行褒贬新词的自动发现算法,有效地提高了褒贬词库建设的效率,为文本内容的褒贬评价提供了资源自动构建的可行方法。 关键词:情感计算;褒贬评价;褒贬词;结构模板 中图分类号:TP391 文献标识码:A 文章编号: Studies on the of Automatic Detection Arithmetic for Unknown Polar Words Hongying Zan1,Ou Li1,Ke Zhao2 (1. Colleges
3、of Information Engineering, Zhengzhou University, Zhengzhou, 450052, China) (2., The Checking Department of the Quality Technology Supervising Bureau, Jiaozuo, Henan Province, 454100, China) Abstract:The polarity estimating based on the text content is belong to the fields of text affective comput
4、ing. By now the main method of the polarity of the text content is estimated through the polar words in text. Hence, the polar words list is the important resource to the text polarity estimating. Usually, the construction of the polar words list is manually extracted after browsing huge of corpus.
5、This method is not only human expensing and time expensing, but also difficult to transplant the system to new fields. Based on the basic known polar words list, this paper has put forward a kind of arithmetic on automatic detection for unknown polar words utilizing the phrase model of conjunction o
6、r adverb collocations. The arithmetic will improve the efficiency of the polar words list construction, and will provide a doable approach to the automatic resource construction for the text polarity estimating. Key words:affective computing; polarity estimating; unknown polar words; phrase model
7、 近年来,随着网络的发展,以Web网页形式出现的文本信息越来越多,文本内容的褒贬评价则成为了具有很大应用需求的研究方向之一。网络信息的海量性、动态性、时新性使得人们越来越依赖于网络信传媒,Web信息逐渐成为人们获取信息的主要途径。为了更快更准地浏览自己需要的网页信息,人们预先往往对某些关注的实体,比如人物、公司、产品等相关信息有语义内容的褒贬性倾向,希望得到更符合自己需求的信息。例如,某个名人的粉丝也许会更关心网上对其偶像的正面报道信息,以满足自己心理上需求;而某公司公关部门也许更关心网上对本公司的负面报道信息,以及时做好预警处理准备。这些都涉及到文本内容的褒贬评价,而人工对网页内容进行
8、褒贬评价,只适用于范围小、语料少的情况。面对海量的、动态的、时新的Web信息,则必须利用机器的自动评价。褒贬词表是文本内容自动褒贬评价最基本的资源,相关资源的构建如果单靠人工获取,是非常耗费人工的,特别是资源常常需要不断的更新和扩展,对人工来说则是一个灾难性工作。 褒贬新词,即为原褒贬词表中没有的褒贬词,也称未登录褒贬词。本文基于已有的基本褒贬词表以及相关的语料,利用连词及相关搭配等结构模板,实现了一种褒贬新词的自动发现算法。因此褒贬词表便可通过语料进行动态扩充,以便以后的文本褒贬评价工作更为准确,也更加省时省力。 1 相关研究 有关人类情感的深入研究,早在19世纪末就已经开始。然
9、而,除了科幻小说当中,过去极少有人将“感情”和无生命的机器联系在一起。让计算机具有情感能力是由美国MIT大学Minsky在1985年提出的,问题不在于智能机器能否有任何情感,而在于机器实现智能时怎么能够没有情感。从此,赋予计算机情感能力并让计算机能够理解和表达情感的研究、探讨引起了计算机界许多人士的兴趣。美国MIT媒体实验室Picard教授[1]于1997年提出情感计算(Affective Computing)一词并给出了定义,即情感计算是关于情感、情感产生以及影响情感万面的计算。让机器(计算机)也具备“感情”,从感知信号中提取情感特征,分析人的情感与各种感知信号的关联,是国际上近几年刚刚兴起
10、的研究方向。Turney[2]提出了利用统计信息对单词进行语义倾向判断的新方法,他所处理的对象可以是形容词、副词、名词、动词。中文方面,Yuen等[3]提出了利用某些单个汉字的特点进行词语褒贬特性确认的研究,徐琳宏[4]等进行了语篇情感计算的研究。 情感计算是一个高度综合化的技术领域,涉及到心理学、认知科学等,为情感计算提供理论基础。人类情感的研究己经是一个非常古老的话题,心理学家、生理学家己经在这方面做了大量的工作。任何一种情感状态都可能会伴随几种生理或行为特征的变化;而某些生理或行为特征也可能起因于数种情感状态。因此,确定情感状态与生理或行为特征之间的对应关系是情感计算理论的一个基本前提
11、这些对应关系目前还不十分明确,需要作进一步的探索和研究。 2 实现平台 本文中所涉及的工作是由Sun公司提供的java语言来编程实现的。在开发过程中使用了Jcreator集成开发环境作为研发工具,其中使用的是Jdk版本为jdk1.5.0_08。 JDK(Java Development Kit)是Sun Microsystems针对Java的程序开发工具。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。Jcreator是一个轻量型的Java IDE。它的功能非常单一,最核心的功能就是可能编写Java源程序,并且
12、支持代码变色和code complete。但Jcreator有一个最显著的优点,就是运行速度快,并且占用资源少。Jcreator使用的是本地代码,因而速度更快,启动时需要先启动Java虚拟机。 3 褒贬新词发现 文本内容的褒贬评价具有重要应用价值,而评价工作的进行必然要涉及到褒贬词条的查找和提取。这个工作通常是由人工来完成的,即:人工阅读语料,主观提取褒贬词,然后给词语评定级别。基本的褒贬词语一共分有“+、-、*、~”四个褒贬级别,分别代表褒义、贬义、强褒、强贬。 实际工作中的语料的量是庞大的,人工完成褒贬词表构建的工作量十分繁重。因此,新词发现这项工作,可以在一定的人工抽取的褒贬
13、词形成的词表的基础之上来完成褒贬词的自动搜索和发现。其目标就是将语料中可能的褒贬新词自动抽取出来,并添加到原词表中以扩充基本褒贬词表。这样可以避免重复提取,节省宝贵的时间和人力资源,提高工作效率。 3.1新词发现语料 1.示例语料 联想/v 集团/n 携/v 旗/n 下/f Lenovo/nx 、/w Think/nx 品/n 牌/n 六/m 大/a 业务/n 共计/v 40/m 余款/n 创新/v 产品/n 、/w 百/m 余/m 项/q 专利/n 技术/n ,/w 亮相/v 第八/m 届/q 中国/ns 国际/n 高/v
14、 新/a 技术/n 交易会/n 。 2.语料分析 本文所涉及的语料都是经过分词软件处理过的,这里采用北京大学计算语言学研究所的中文分词与词性标注软件[5]。‘/’之后的字符或字符串代表的是词条的词性。上述语料中,背景颜色为灰色的词条就是文章中提到的褒贬词。褒贬词条一般都具有感情色彩,或褒义或贬义或中性。 3.2新词发现模板 汉语虽然用法灵活多变,但也有一些规律可循。也正因为有这样的规律存在,我们才可着手来这样实现新词发现工作。在此设计中用到的结构模板,就是规律的一个表现。例如,结构模板“虽然…但是…”一般起转折作用,如果“虽然”后有褒贬词,则根据这个规律,可以判定“但是”
15、后一般也会有褒贬词,并且很可能是褒贬极性相反的词条。又如,结构模板“不但…而且…”道理也基本相似,只是其关系非转折而为并列结构,这就意味着词条的褒贬极性很可能是相同的。因此,确定一些用法较为固定和规范的模板,可以在一定程度上实现褒贬新词的自动发现。 通过阅读语料,关注这类连词或副词的用法,提取出一部分结构模板并构造一些比较规范的例句来进行新词发现工作,其中的例句不仅可以便于用户理解工作原理,而且可以作为测试语料来检验新词发现工作的准确率。根据中文文本的特点,我们总结了单个词结构模板和双词结构模板,部分样例分别如表1和表2所示。 表1 单个词模板部分样例 模板词 例句 并且/c
16、做出正确的决定,并且坚持下去,才可能成功。 并/d 痛并快乐着 且/d 我现在生活幸福且满足,别无他求了。 但/d 他语气是重了点,但也是一片好意。 却/d 他没有付出努力,却得到了嘉奖,真是太不公平了。 表2 双词结构模板部分样例 模板词 例句 不仅/c 而且/c 这种药物不仅昂贵而且罕见,乃佳品中之佳品。 又/d 又/d 又大又圆 既/d 又/d 既快又好 只有/d 才/n 只有努力才能成功。 不是/d 而是/c 面对困难时的犹豫,不是谨慎,而是懦弱。 即使/c 也/d 即使目前没有成功,也不要轻言放弃。
17、 虽然/c 但是/c 他成绩虽然不错,但是动手能力很差。 尽管/c 还是/c 尽管他尽力了,还是没能入围。 或许/d 或许/d 或许他喜欢这种方式,或许讨厌,我们只有试试才知。 或/d 或/d 面对挑战,或成功,或失败。 3.3新词发现算法 算法的实现流程见图1,其中(1)(2)(3)(4)的含义为:(1)代表有褒贬词;(2)代表无褒贬词;(3)代表有褒贬词;(4)代表无褒贬词。 处理语料(将语料处理为单句成行格式) 读取一行语料 取一行中的每一个词条,判断词性是否为n、v、a、d、c、i、l中的一种 不符合,
18、则舍去 将符合条件的词条写入数组word[]中 模板词位置1记为site1,若仍有模板词,则为双词模板,记位置2为site2 处理数组,找出其中的之模板词条,记录下其在数组中的位置 单个词模板情况:处理一 双词模板情况:处理二 模板词之前 模板词之后 (1) (2) (3) (4) 模板词一之后 模板词二之后 (1) (2) (3) (4) 图 1 新词发现算法流程 首先,注意到结构模板中的词语类型均为/c或/d,根据这个去扫描分词处理后的语料,确定模板词的位置所在,记为site1,site2。其中: (1) 语料处
19、理:将成篇语料文章,按照标点(‘。’、‘!’、‘?’等结束符)分句,拆成单句成行的格式,即每一句是独立的一行。然后在以后的工作中,即可成行读入语料来进行处理。这是根据模板没有跨句使用的特点来设计的。 (2) 确定模板词位置:将读入的一行语料放入数组中,一个单元放一个词条,此处的词条是经过筛选的,按照词性进行抽取,即:将词性为n、v、d、a、c、i、l的词条抽出来放入数组之中。这样既可以将模板抽取出来,又可将根据词性判断可能为褒贬词的概率较大的词条抽取出来。这个抽取范围是可调的,根据进一步的分析语料,可以将褒贬词的词性搜索范围扩大,这样可以提高搜索成功的几率。模板的位置即可根据词条在数组中的
20、位置来确定。 其次,便开始褒贬词的搜索,搜索范围已经由模板词的位置限定。若site1之后有褒贬词,则搜索site2之后的所有词条,有褒贬词就放弃此行语料,若没有就将词性为名词、动词、形容词、副词等这些比较可能有褒贬性的词条(已筛选出存放在数组中)抽取出来,让用户自己选择。若site1后没有褒贬词,对于site2的处理也是如此。在搜索过程中,如果发现有和已发现的褒贬词同词性的词条时,就直接将其列为新词,放入界面的下拉框中供用户选择,若没有,则输出模板周围的5个词条来供用户选择,完成新词的抽取和添加。 图2是新词发现的程序界面,由界面中结果显示区的下拉框中的内容可以看出,由已知的褒贬词“成功”
21、 、“温柔” 、“快乐”,经过新词搜索,得到新词“失败” 、“努力” 、“幸福”、“痛”,该结果符合我们的需求,实现了预期的目标。 图2 新词发现的程序界面 3.4褒贬词表维护及基于词表维护的褒贬新词发现 利用自动发现算法抽取的褒贬新词,经过人工确认后就可直接进入褒贬词表,服务于褒贬资源的扩充与调整。因此,我们也开发了辅助的褒贬词表的维护功能模块。词表的维护主要完成词表间的交、并、差等运算。 利用词表维护的功能模块,也可以进行褒贬新词候选词条的初步发现,为文本中褒贬新词的自动发现提供一定的数据基础。 1.已知:文本A的所有词表(包含所有词条的词表)word_A,其褒贬词表
22、为polarity_A,文本B的总词表word_B,人工提取的褒贬词表为polarity_B。 2.目标:得到文本B的褒贬新词表,并和人工词表polarity_B进行比较。 3. 实现过程: (1) 得到文本A的非褒贬词的词表A_other: A_other=word_A - polarity_A (2) 得到文本B的初始褒贬词表newpolarity_B: newpolarity_B=word_B-A_other (3) 求公司B的褒贬词表初步候选realpolarity_B: realpolarity_B=newpolarity_B ∩ polarity_A 4 结
23、语 褒贬新词的自动发现实现了一定程度上褒贬资源的自动构建,该算法直接应用于文本呢荣的褒贬评价工作,大大节省了人工构建基本褒贬资源的投入,并将有利于褒贬系统在不同领域文本间的移植。 褒贬新词的发现是根据结构模板的特性,确定新词的褒贬倾向性。但是有些结构模板的极性不明确,则需要用户的交互确认操作。今后需要对文本的褒贬特性进行更深入细致的考察,总结更多的结构模板及褒贬对应规律,设计并实现更为准确和完备的褒贬新词算法。 参考文献 [1] Picard R W. Affective Computing[M], The MIT Press Cambridge, Massachusetts Lo
24、ndon, England, 1997 [2] Turney P, Littman M Measuring praise and criticism: Inference of semantic orientation from association[J]. ACM Transactions on Information Systems (TOIS), 2003, 21(4): 315~346 [3] Yuen, Raymond W.M, et al,. Morpheme-based derivation of bipolar semantic orientation of Chinese words. Proceedings of the 20th International Conference on Computational Linguistics(COLING-2004), pp 1008-1014. [4] 徐琳宏、林鸿飞,基于语义特征和本体的语篇情感计算,计算机研究与发展,2007年5月(增),pp356-360 [5] 俞士汶等,北大语料库加工规范:切分·词性标注·注音,Journal of Chinese Language and Computing, 2003,13(2),pp121-158






