中文短文本语法语义相似度算法
作者:廖志芳 周国恩 李俊锋 刘飞 蔡飞
来源:《湖南大学学报·自然科学版》2016年第02期
摘要:通过分析中文短文本的特征,提出了一种基于语法语义的短文本相似度算法.该算法结合中文语句语义的相似性以及语句语法的相似性,即计算具有相同句法结构的短文本的相似度以及考虑语句词组顺序对相似度的贡献,对中文短文本相似度进行计算.实验表明,本文提出的算法在中文短文本相似度计算结果上更加接近人们的主观判断并且拥有比较好的精确率与召回率.
关键词:语法语义相似度;语句相似性计算;HowNet;语料库;语法分析;语义分析;相似度计算
中图分类号:TP391.1 文献标识码:A
文章编号:1674-2974(2016)02-0135-06
短文本相似度计算在文章查重、信息检索、图像检索、智能机器问答、词义消歧和搜索引擎等多个领域有着非常广泛的应用[1],并在英文处理方面取得了许多实质性的成果,如机器人语音对话系统等.但是在中文信息处理中存在一些困难,例如未登录词识别问题、语法结构复杂和一词多义等[2].为此本文主要研究中文短文本(语句)相似度计算方法,并提高计算结果的精确度.
短文本相似度表示的是多个短文本(语句)之间的相似程度,属于一种度量参数,相似度值越高,则表明文本间越相似,反之越不相似[3].文本相似度包括语义和语法等方面,但是在实际中主要考虑语义层次的相似性,往往忽略了文本的语法结构对文本相似度的重要影响.
大量的研究证明短文本的语法结构对相似性的影响是非常重要的[4],但是当前基于HowNet[5]的中文短文本相似度计算大都是分析文本的语义层次的相似性,这样就会导致计算结果的精确度和召回率都不高,为了提高相似度计算的精确度和召回率,本文以HowNet为语料库和Stanford[6]为语法解析工具,在中文短文本的语义信息基础上加入了文本的语法结构信息来研究短文本相似度计算.字符串长度比较
1语句相似度计算
HowNet主要揭示了概念间关系及概念的属性间的关系,有关HowNet详细介绍可见参考文献[2],在此不赘述.
义原距离定义为两个义原间最短路径上边的数目[7].义原距离反映的是两个义原的相对关系,距离越大,则表明两者相似性越低,反之则越高.义原深度定义为两个义原的最近公共父节点到根节点的层次数.义原深度反映的是两个义原在义原层次结构中的绝对关系,深度越小,表明两者越不相似,反之则越相似.
2基于语法语义的相似度计算
目前基于中文短文本的相似度算法中,大多数研究者着眼于语句的语义层次,然而组成一个语句的不单单是词语本身的语义含义,还包括语法结构,例如一个句子包含不同的句法和词语顺序[8]等.
最近大量实验证明语句的语法结构对相似度有着重要的影响,不能忽视[4].例如,“今天我追赶了一只狗.”和“一只狗今天追赶了我.”这两个语句根据人的主观判断,是两种相反的意思,可是目前绝大多数相似度算法中这两个语句的相似度值是极其高的,甚至是1,即完全一样,这显然不合适.忽视了语句的语法信息,其计算结果往往缺乏合理性.
本文对中文语句的相似度算法进行改进,在计算相似度的时候,不但考虑语义信息,还将语句的语法结构加进来.本文涉及的语法结构主要从3方面来进行考虑:
1)具有相同语法结构的词语集合间的相似度;
2)两个语句中所包含的语法结构的相似性;
3)经过分词后的词组在语句中出现的位置的相似性.
为了解决目前中文领域大多数短文本相似度计算仅仅涉及语句语义特性的缺陷,本文结合语句的语义特性和语法特性,进行短文本的相似度计算.
2.1语法结构的提取
要对语句的语法结构进行提取与分析,首先需要对语句进行分词.本文使用Ictclas4j分词工具,该工具是Sinboy在中科院张华平和刘研制的FreeICTCLAS的基础上完成的一个开源中文分词项目.同时使用Stanford[6]工具进行语法解析,该工具是由Stanford NLP Group开发的开源工具.
对于某一中文语句,经过语法工具分析后,能够得到某个词语的具体词性,斜杠后面表示的就是该词语的具体词性,如图1所示.
但是,仅仅知道词语的具体词性是不够的,具体的词性代表的是词语的特性,并不表示一个语句的结构组成,我们需要从中提取出语句的语法结构,例如简单从句、名词性从句和动词短语等,然后把相应的词语或短语归类到语法结构集合中.
本文通过分析汉语语法结构的多样性及词语的具体词性,提出一种新的语句语法结构的提取方法,提取过程如下:
1)使用Ictclas4j与Stanford对语句进行分词处理以及语法解析,得到最基本的词语或短语的词性标注.
2)进一步分析以上获得的结果,通过逐层解析以及句法树分析的方式把已经标注好语法词性的词语或短语进行抽取与归纳,抽取出语句的组成结构类型,例如简单从句类型和动词短语类型等.
3)最后把具有相同语法结构类型的词语或短句存放在相应结构类型的集合中,形成不
同的语法结构集合,例如简单从句类型集合、名词性从句类型集合和动词短语类型集合等,实现对语句的语法组成结构的分析.
通过使用上述语句语法结构提取方法进行语句语法处理,提取出语句的语法结构以及相应所包含的词组,如图2所示.
与图1相比较,我们发现一个中文语句经过语法结构提取后,可以得到该语句的结构组成,例如动词性短语和介词性短语等,相比于图1中单个词语的词性标注,能够得到语句的语法结构组成,更加有利于对中文语句语法语义相似度的研究.因为研究语句的语法结构时,我们更加倾向于研究其整体的结构类型组成,而不是单单某个词语.
中文语句句法结构类型部分见表1.
2.2语句句法结构类型相似度计算
经过语句语法结构提取方法分析后,每个语句都被切分成若干个结构类型,例如有的包含名词性短语和动词性短语等,有的却包括简单从句、名词性短语和副词短语等.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论