基于频繁子树模式的评价对象抽取算法的设计与实现.docx
- 文档编号:3309794
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:17
- 大小:31.91KB
基于频繁子树模式的评价对象抽取算法的设计与实现.docx
《基于频繁子树模式的评价对象抽取算法的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于频繁子树模式的评价对象抽取算法的设计与实现.docx(17页珍藏版)》请在冰豆网上搜索。
基于频繁子树模式的评价对象抽取算法的设计与实现
基于频繁子树模式的评价对象抽取算法的设计与实现
摘要
评价对象抽取是指抽取出中文评论语料所针对的产品对象或产品属性,该工作是情感挖掘的重要步骤。
现有的方法多是通过启发式规则或者自然语言处理的方法,未能将依存句法中深层的统计关系利用起来。
为了解决这个问题,本文提出一种基于频繁子树模式的评价对象抽取方法。
本文主要研究工作如下:
(1)将多维频繁子树模式应用到评论性文本中评价对象的标注中,通过挖掘句子中依存关系树所蕴藏的评价对象各维度特征之间的统计概率关系,来正确标注评价对象。
该方法通过挖掘频繁依存子树模式以生成相应统计规则模式。
(2)针对频繁依存子树模式生成的大量统计规则,探讨了依存子树规则的冗余问题。
在此基础上,制定了规则精简策略。
关键词:
频繁子树模式,评价对象,依存关系树,情感挖掘
ExtractionofOpinionTargetsBasedOnFrequentSub-TreePattern
ABSTRACT
ExtractionofOpinionTargetsreferstoextracttheproductobjectorobject’sattributeofcommentinChinese,thisworkisanimportantprocessofemotionalmining.MostexistingmethodsusetheheuristicrulesorfeaturesofthenaturallanguageprocessingtoextractOpinionTargets,buttheydonottakeadvantagesofdeepstatisticalrelationshipsindependencysyntax.Inordertosolvethisproblem,thispaperpresentedamethodbasedonfrequentsub-treepattern.
Themainworksofthisdissertationareasfollows:
Multipledimensionalsub-treepatternsareadoptedtorecognizeopiniontargetsincommenttext.Themethodisfinebecausethestatisticalrelationshipshiddeninsentencesareexpressedbydependencyrelationshiptreepatterns.Andthemethodisakindoftypicalobjectivemethodbasedonstatisticsstrictlyminedfromlarge-scalecorpus.
Becausetherearetoomanyrulepatternsgeneratedfromfrequentdependencysub-treepatterns,redundancyinrulepatternsethasbeenstudiedandarulereductionstrategyismade,whichcanbeusedtoeffectivelyeliminateredundantrules.
Keywords:
Frequentsub-treepattern,OpinionTargets;DependencyRelationshipTree;
Emotionalmining;
第一章绪论
1.1课题背景与意义
1.1.1背景
随着信息时代的蓬勃发展,在互联网的建设过程中,越来越多的用户为其添砖加瓦。
互联网中出现了大量的具有感情色彩的评论信息,例如,很多用户会在在空间、微博、论坛上表达自己的情感,或在电子商务上发表对于某一产品的主观评论。
基于互联网中评论语料的语料库过大,覆盖率广,为了能从中快速有效的找出有价值的评论信息,情感分析技术应运而生。
因此,针对评论语料的情感分析技术被广泛应用于电子商务,舆情监控等重要领域。
情感分析又称作意见挖掘,它的目的就是对互联网中的主观性文本进行分析和挖掘,以辨别出该文本所表达的情感。
这项技术主要包括主客观判定、情感倾向判别、评价对象抽取等子任务。
评价对象抽取作为情感分析的一项基本任务,其目的是抽取主观性文本中所评价的对象。
1.1.2意义
在现有研究中,关于文本分类、短文本分类、关键词抽取特征提取、问题分类等相关的研究比较多,然而,关于评价对象抽取的研究比较少,所以我通过现有的研究来探索评价对象抽取的问题,发表自己的看法。
1.2国内外研究现状
评价对象抽取作为情感分析的一项基本任务,早已引起学者们的广泛关注,国内的中文倾向性分析评测COAE早在年便开始将评价对象设置为一项独立的子任务[1]。
针对评价对象抽取工作,目前国内外已经有了诸多的研究成果,抽取方法主要包括基于启发式规则和基于自然语言处理(NLP)这两种方法。
在启发式规则方面,Popescu[2]等人先自定义评价对象的模板,然后采用基于人工规则的方式抽取出评论目标,Li[3]等人则结合Wordnet、统计分析、电影理论等建立知识库,并基于此提出一种启发式的算法来抽取产品特征。
而在NLP方面,Kim和Hovy[4][5]等人曾尝试利用词语的部分词法、语义角色标注等特征,并结合最大熵模型等工具来进行目标对象的抽取,刘鸿宇[6]等人对语料进行词性标注、句法分析等处理,通过词性、共现频率等特征获得候选的评价对象集,而后使用频率过滤,PMI等方法得到最终的评价对象集。
但是,现有的评价对象抽取工作一般只是围绕NLP方面的各种语法特征进行研究,却未能有效利用依存句法中更深层次的统计关系,因此本文提出将频繁子树模式[7]应用于评价对象抽取中,将深层次的统计关系与词的多维属性相结合以抽取出评价对象。
1.3本文组织结构
下面为本论文的组织结构:
第一章为论文的绪论部分。
介绍了该课题的研究背景及其意义,还有目前的国内外研究现状,并给出整个论文的组织结构。
第二章为开发环境的介绍,介绍了本设计的开发环境,对所用到的软件进行简要介绍。
第三章为评价对象抽取算法的研究与设计,
第四章是详细设计,
第五章结束语。
1.4本章小结
本章主要对评价对象领域做了简要阐述,介绍了相关领域的研究背景与意义,说明了本文研究工作的意义;介绍了相关领域的发展过程及状况;最后,对本文的研究内容进行了描述,并从大体上概括了本文的研究逻辑与思路。
第二章
2.1运行环境
硬件环境:
CPU双核2.1GHz,内存4GB
软件环境:
MicrosoftVisualStudio2005
编程语言:
C++
2.2MicrosoftVisualStudio2005简介
VisualStudio2005是基于.NET2.0框架的。
它同时也能开发跨平台的应用程序,如开发使用微软操作系统的手机的程序等。
总体来说是一个非常庞大的软件,甚至包含代码测试功能。
这个版本的VisualStudio包含有众多版本,分别面向不同的开发角色。
MicrosoftVisualStudio简称VS,是美国微软公司的开发工具包系列产品。
VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、继承开发环境(IDE)等等。
缩写的目标代码适用于微软支持的所有平台,包括MicrosoftWindows、WindowsMobile、WindowsCE、NETFramework、NETCompactFramework和MicrosolfSliverlight及WindowsPhone。
其发展历程如下:
1997年,微软发布了VisualStudio97。
包含有面向Windows开发使用的VisualBasic5.0、VisualC++5.0,面向Java开发的VisualJ++和面向数据库开发的VisualFoxPro,还包含有创建DHTML(DynamicHTML)所需要的VisualInterDev。
其中,VisualBasic和VisualFoxPro使用单独的开发环境,其他的开发语言使用统一的开发环境。
1998年,微软发布了VisualStudio6.0。
所有开发语言的开发环境版本均升至6.0。
这也是VisualBasic最后一次发布,从下一个版本(7.0)开始,MicrosoftBasic进化成了一种新的面向对象的语言:
MicrosoftBasic.NET2002。
由于微软公司对于Sun公司Java语言扩充导致与Java虚拟机不兼容被Sun告上法庭,微软在后续的VisualStudio中不再包括面向Java虚拟机的开发环境。
2002年,随着.NET口号的提出与WindowsXP/OfficeXP的发布,微软发布了VisualStudio.NET(内部版本号为7.0)。
在这个版本的VisualStudio中,微软剥离了VisualFoxPro作为一个单独的开发环境以VisualFoxPro7.0单独销售,同时取消了VisualInterDev。
与此同时,微软引入了建立在.NET框架上(版本1.0)的托管代码机制以及一门新的语言C#(读作CSharp)。
C#是一门建立在C++和Java基础上的现代语言,是编写.NET框架的语言。
NET的通用语言框架机制(CommonLanguageRuntime,CLR),其目的是在同一个项目中支持不同的语言所开发的组件。
所有CLR支持的代码都会被解释成为CLR可执行的机器代码然后运行。
.NET控件是指以输入或操作数据的对象。
.NET控件是.NET平台下对数据和方法的封装。
有自己的属性和方法。
属性是控件数据的简单访问者。
方法则是控件的一些简单而可见的功能。
过去,开发人员将C/C++与Microsoft基础类(MFC)或应用程序快速开发(RAD)环境(如Microsoft®VisualBasic™)一起使用来创建这样的应用程序。
.NETFramework将这些现有产品的特点合并到了单个且一致的开发环境中,该环境大大简化了客户端应用程序的开发。
包含在.NETFramework中的Windows窗体类旨在用于GUI开发。
您可以轻松创建具有适应多变的商业需求所需的灵活性的命令窗口、按钮、菜单、工具栏和其他屏幕元素。
VisualBasic、VisualC++都被扩展为支持托管代码机制的开发环境,且VisualBasic.NET更是从VisualBasic脱胎换骨,彻底支持面向对象的编程机制。
而VisualJ++也变为VisualJ#。
后者仅语法同Java相同,但是面向的不是Java虚拟机,而是.NETFramework。
2003年,微软对VisualStudio2002进行了部分修订,以VisualStudio2003的名义发布(内部版本号为7.1)。
Visio作为使用统一建模语言(UML)架构应用程序框架的程序被引入,同时被引入的还包括移动设备支持和企业模版。
.NET框架也升级到了1.1。
2005年,微软发布了VisualStudio2005。
.NET字眼从各种语言的名字中被抹去,但是这个版本的VisualStudio仍然还是面向.NET框架的(版本2.0)。
2.3本章小结
本章主要介绍了开发的环境,包括硬件环境和软件环境。
之后主要介绍了所用到的开发软件MicrosoftVisualStudio,介绍了其技术、功能以及其发展历程。
第三章评价对象抽取算法的研究与设计
评价对象对短文本分类等自然语言处理有着重要的作用,然而,评价对象的识别却是个十分困难的任务。
本章围绕评价对象展开,主要对评价对象的性质、作用做简要阐述,对评价对象是别的困难及复杂性展开讨论,并就此问题对前人的研究成果作简要概述及分析。
本文提出多维树概念,给出多维频繁模式挖掘方案并应用于评价对象识别中,同时给出频繁模式精简及规则冲突解决方案。
3.1相关概念
3.1.1评价对象
意见挖掘是当前自然语言处理的研究热点之一,它帮助人们在大量产品评论中快速定位需要寻找的相关产品意见。
根据Kim和Hovy对意见的定义:
意见由四个元素组成,即主题(Topic)、持有(Holder)、陈述(Claim)、情感(Sentiment)。
这四个元素之间存在着内在的联系,即意见的持有者针对某主题发表了具有情感的意见陈述。
在这四个元素中,主题的抽取是其中最关键的。
准确又快速地定位网络客户评论的主题(即评价对象),这是正确进行情感分析的基础,这也是意见挖掘系统准确率的保证。
只有正确抽取评价对象,意见挖掘的结果才会准确可信。
评价对象抽取任务当中,最重要的就是主题的识别,而主题的识别的基础就是要正确的词性标注(Part-of-SpeechTagging)。
词性标注就是对于目标句子进行分词并标注上相应的词性。
在评论性文本中,即使是同一个情感词,与不同的评价对象搭配也可能产生差别的情感倾向,比如“纸币贬值得很快”和“股票涨得很快”这两个评论句,评价词同样为“快”,但显然可以看出,前者的情感倾向是负向的,而后者则为正向的。
因此,评价对象的抽取是意见挖掘中的一项必要步骤。
本文的研究是基于以下四种形式的评价对象进行的:
a)产品的整体,比如“这辆汽车真贵呀”中的“汽车”;
b)产品的某个成分或某一部件,如“这个车的底盘太低了”中的“底盘”;
c)产品的属性或其特征,如“这车的颜色我不喜欢”中的“颜色”。
d)与产品的相关概念,如“这车的生产厂家是江淮”中的“生产厂家”,
3.1.2依存关系树
依存句法是一种被广泛使用的句法形式,由法国语言学家L.Tesiniere在《结构句法基础》中提出。
该文中定义,词语之间的关系是有向的,具有支配关系,并将这种关系称为依存关系。
依存句法则通过分析语言单位之间依存关系来揭示句子结构。
为了提高依存句法分析的效率,逐渐有部分学者开始进行依存关系树的研究。
依存关系树是一棵树T=(F,B),其中F为结点集合,B为边集合。
边是有方向的,假如v 在依存关系树中,边通常从父结点指向其孩子结点。 依存关系树基于句子内部的依存关系所建立,其完整地保留了句子的语义信息,并且将中文语句所独有的句法结构特征信息更加直观地的表达出来,因此,可以将本来对句子的处理转化为对其相应的依存关系树的处理。 图1依存关系树示例 3.1.3主观性文本中句子的评价对象的复杂性 中文与英文有着很大的不同,不同于英文只是由26个字母组成,中文有着一定的复杂性。 它的复杂性如下: ①中文是一门意合性语言,没有固定的语言格式,也没有系统的语法。 中文是灵活变化的,只要能够表达出相对应的意思即可,没有时态等一些状态转换机制。 ②中文句子中语序、表达习惯等繁多。 中文虽然有主语、谓语、宾语、定语、状语、补语等一些句子成分,但各个成分在句子中的位置变化灵活,没有具体规律可循。 ③由于没有固定的语法,一些地方性表达习惯、网络环境表达习惯均渗透到日常表达中,甚至,某些词的意义发生了根本性的变化。 例如,“大爷”一词便至少有四个完全不同的意思: 第一,是一种第一人称或第二人称;第二,在中国北方,称父亲的哥哥为“大爷”,是对父辈长辈的称谓;第三,在中国南方,“大爷”是对爷爷辈的长辈的一种称谓;第四,部分地方语言和网络用语中,“大爷”是一种辱骂性词语。 主观性文本中句子的评价对象本身也有一定的复杂性。 第一,评价对象不属于传统句子成分。 在主观性文本中,评价对象既不属于某一种句子成分,也不属于某一类词性。 第二,评价对象在主观性文本中的句子中没有固定的词性、成分与位置关系。 1)词性复杂性为了探寻中心词在词性上的分布关系,本文对哈尔滨工业大学信息检索实验室的问题集语料库进行整理,统计出中心词在词性上的分布如表4.2所示。 整理发现,在上述语料库中,中心词为名词的占绝大多数,达到83.95%。 但中心词在其他词性上的分布也非常广泛,比例也不低。 由于语料库规模的局限性,中心词在词性上的分布特点并不能完全展现出,但可以肯定的是,中心词在真实环境中是词性多样的,并且这种多样性是不可小觑的。 2)位置复杂性 由于中文的灵活性及中心词的特点,中心词可能出现在问句中的任何地方。 中心词的这种位置上的复杂性也同样加大了其识别的困难。 表4.3以示例的形式阐述了中心词的位置多样性,其中,括号内的黑体词为该句中心词。 特征示例 位置复杂性1: (比萨饼/n)是/v用/v什么/r做/v的/u2: 水/n的/u(沸点/n)是/v多少/r度/q3: 发烧/v时/n不宜/v喝/v什么/r(饮料/n) 数量复杂性4: 乔治·华盛顿/nh(多/d)(大/a)年纪/n逝世/v5: 巴拿马/ns境内/nl有/v什么/r(运河/n)6: 乔治·华盛顿/nh是/v谁/r 成分复杂性7: IMF/ws是/v什么/r(组织/n)的/u简称/n8: 太阳/n与/c地球/n的/u(距离/n)是/v多少/r9: 什么/r是/v中国/ns的/u(国粹/n) 成分复杂性 中心词可作为任何语法成分出现在问句中,如表4.3所示。 本文对哈工大数据集进行相关整理,得出如表4.5所示的特点。 可知,中文问句中,中心词大多以主语形式或宾语形式出现,而且在该数据集中,这两种形式的中心词数目不相上下。 中心词作其他成分出现在问句中也占不小的比例。 表4.4问句在中心词数量上的分布 Table4.4QuestionsDistributiononFocusCount 中心词数量012≥3 问句个数3145638240102 表4.5问句在中心词语法成分上的分布 Table4.5FocusDistributiononGrammaticalItems 中心词为问句的语法成分宾语主语定语状语 问句个数204923441166368 3.2频繁子树模式 对语料库所生成所有依存关系树进行统计可以发现,有些子树结构在依存关系树中所处的结点经常包含该句的评价对象,有些则很少出现类似情况。 因此,本文引入频繁依存子树[8]的概念。 通常来说句子中的每个词语均有多个维度的属性,如词性、依存关系、位置等,在评价对象抽取时需要考虑多个属性的共同影响才能有效的提高抽取准确率,因此本文使用多属性的组合作为子树的节点。 文献[7]给出这种树的定义如下: 给定一棵树T=(V,E),其中V={props|props≠Ø,propsVEC}为树T的结点集,E={(x,y)|x,yV}为树的边集,VEC为结点的属性列表,也称为维度列表。 因此称树T为多维度树。 相较于传统树,多维度树的最大特点是每个结点值都是一个属性集合。 本文用依存子树模式来表达局部语言特征,故这些特征都由结点和边组成,其中,边表明词间的依赖关系,而结点由词的多维特征描述。 本文使用的属性列表如表1所示。 维度含义 序号词的位置编号 词当前词本身 依存词当前词所依存的词 词性当前词的词性 依存词词性依存词的词性 依存关系词与依存词之间的关系 标注是否是评价对象 表1属性列表 多维度频繁子树可以分为以下几种类型: (1)传统意义上的子树,即结构意义上的子树; (2)属性集合意义上的子树; (3)二者混合所产生的混合子树。 3.2.1频繁子树 通常,在子树的应用中,并不需要将所有子树全部找出,人们也并不对所有子树感兴趣,而只是对一些频繁出现的子树比较关心,并称这类子树为频繁子树。 定义1(支持度)令D表示树库,T为某一模式树,称D中出现T的记录条数与D的规模的比值为树库D对模式树T的支持度,记为suppD(T)。 图2支持度示例 由定义可知,函数f是一个布尔概念,其取值只与模式出现与否相关。 如图2.6所示,假设某树库D包含两条记录I1、I2,T1与T2分别是两个模式树。 可知,T1在I1中出现了2次,T2在I1中出现了1次,T3没有在I1中出现,则有fD(T1,I1)=fD(T2,I1)=1,fD(T3,I1)=0,suppD(T1)=suppD(T2)=1,suppD(T3)=0.5。 定义2(频繁子树)令D表示树库,I∈D表示树库中一条记录,T为某一模式树。 给定最小支持度阈值minsupp[0,1],若suppD(T)≥minsupp,则称模式树T在D中是频繁的,反之则称非频繁的。 图2中,若取minsupp=1,则T1与T2是频繁子树,而T3不是频繁子树。 3.2.2多维树 定义3(多维树)给定树T=(V,E),其中V={x|x≠Ø,x={prop1,prop2,…,propn}}为树T的结点集,E={(x,y)|x,yV}为树的边集,称树T为多维树。 {prop1,prop2,…,propn}为结点的属性列表,亦称树的维列表。 词词性依存关系 词词性评价对象标签 图3多维树示例 图3.为“DNA是什么意思? ”的依存关系树结构。 图中,多维树上方的属性列表为其对应的维列表。 定义4(维)给定多维树T,对于任一结点nT,函数dimT(n)=|n|称为结点n的维,|·|表示多维树结点n的属性集合的势。 称dim(T)=|{prop1,…,propn}|为多维树T的维。 3.2.4多维子树 由于多维树的结点值是属性集合,故多维子树不仅包括传统意义上的子树,即结构意义上的子树,还包括集合意义上的子树及二者混合产生的子树。 定义5(多维子树)给定多维树S=(Vs,Es),T=(Vt,Et)及一一映射: Vs→Vt,若有: 1)VsVt,2)当且仅当(x) 词词性依存关系 词词性评价对象标签 图4多维子树示例 例如在“DNA是什么意思? ”这个句子中,有一些常见的表述短语结构,其中“什么意思”便是其中一个,如图4所示。 其中,Sa是Ta的一棵结构多维子树,表示“什么意思”是一个常用短语;Sb是Tb的一棵混合多维子树,表示“与疑问代词保持某种依存关系的名词是评价对象”。 3.2.5多维频繁子树 定义6(支持度)令D表示多维树数据库,ID表示数据库中一条记录,T为某一多维模式树,则函数 (3.1) 称在树数据库D中记录I对多维模式树T的支持数。 函数 (3.2) 称为数据库D对多维模式树T的支持度。 定义7(多维频繁子树)在多维树树数据库D中,给定最小支持度阈值minsupp[0,1],对于某一多维模式子树T,当且仅当suppD(T)≥minsupp时,称多维模式树T在D中是频繁的,反之则称T在D中是非频繁的。 3.3评价对象识别方法 第一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 频繁 子树 模式 评价 对象 抽取 算法 设计 实现