首页> 中国专利> 一种基于细粒度依存关系的中文长句相似度计算方法

一种基于细粒度依存关系的中文长句相似度计算方法

摘要

本发明公开了一种基于细粒度依存关系的中文长句相似度计算方法,基于依存关系对,将两个句子的依存关系对集合进行计算,选取使关系对相似度之和最大的对应关系,在对应关系的基础上,求出各关系对相似度之和的平均值,作为两个句子的句法结构相似度。本发明比较了依存关系中两个词汇的本身概念、词性、关系类别等五个特征量,衡量了句子的句法结构相似关系;实验结果已经凸显出语义分析在句子相似度计算中的优势;较之现有技术的相似度计算,在正确率上有一定的提高,考虑了在非中心词周围体现出的关键信息,而现有技术主要考虑依存句法树中的根节点‑谓语中心词及其直接支配部分两层;该方法是一种以时间换正确率的方法。

著录项

  • 公开/公告号CN105975458A

    专利类型发明专利

  • 公开/公告日2016-09-28

    原文格式PDF

  • 申请/专利权人 安阳师范学院;

    申请/专利号CN201610287388.7

  • 申请日2016-05-03

  • 分类号G06F17/27(20060101);

  • 代理机构11401 北京金智普华知识产权代理有限公司;

  • 代理人杨采良

  • 地址 455000 河南省安阳市弦歌大道436号安阳师范学院计算机与信息工程学院

  • 入库时间 2023-06-19 00:32:58

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-24

    未缴年费专利权终止 IPC(主分类):G06F17/27 授权公告日:20181009 终止日期:20190503 申请日:20160503

    专利权的终止

  • 2018-10-09

    授权

    授权

  • 2016-10-26

    实质审查的生效 IPC(主分类):G06F17/27 申请日:20160503

    实质审查的生效

  • 2016-09-28

    公开

    公开

说明书

技术领域

本发明属于自然语言处理技术领域,尤其涉及一种基于细粒度依存关系的中文长句相似度计算方法。

背景技术

中文信息处理研究中,句子相似度计算是一个重要部分,在自动文摘、机器翻译、信息检索、自动问答系统等方面有着广泛的应用。目前,句子相似度计算的研究大体可分为基于词语的相似度、基于词义的相似度、基于句法结构的相似度、基于编辑距离、基于动态规划的相似度等几种。这几种方法可以归纳为两类:一是不需要或仅需要浅层的语法结构关系,二是需要深层的语法结构与语义分析。而在基于实例的机器翻译和语料库主题自动分类中,语句相似度的衡量机制与对语句的分析深度是密切相关的。因此,结合语义的依存分析为句子相似度计算提供了有力支持。依存句法是由法国语言学家L.Tesniere在其1959年的著作《结构句法基础》中提出,对语言学的发展产生了深远的影响,特别是在计算语言学界备受推崇。依存句法通过分析语言单位内成分之间的依存关系揭示其句法结构,主张动词中心论,即认为句子中的动词支配其他成分,而自身却不受其他任何成分的支配,所有受支配成分都以某种依存关系从属于支配者。依存句法分析的常用方法有基于规则的、基于统计的、规则与统计相结合的、基于树库等几种。目前针对汉语研究的树库主要有宾夕法尼亚大学U-Penn树库、中国台北中研院Sinica树库、清华大学汉语句法树库、哈尔滨工业大学依存树库等。依存句法在自然语言处理领域有着广泛的应用。胡宝顺等基于句法依存分析计算语料的路径相似度,实现中文问答系统的答案提取。李欢等运用依存关系树比对来检测文本中多语义约束的方法,通过定义部分依存关系树(PDT)核函数计算两个对象之间的相似度。王步康等基于中文依存关系树,采用有效的剪枝算法和特征,使用最大熵分类器实现了中文语义角色的识别和分类。古凌岚等利用语义角色标注和依存语法分析思想,研究了中文本体学习中的非分类关系的抽取方法。大多数基于依存语法的研究及应用均考虑其形式简洁、易于标注、便于应用等优点。由于依存句法可以描述句子的语法结构信息,从而准确地刻画一个句子所表达的意思,因此用于句子相似度计算有较高的准确率。穗志方等提出的骨架依存树仅限两层,用于基于实例的机器翻译中语句相似度的计算,降低了计算复杂度。李彬等通过计算有效搭配对之间的相似度来降低计算复杂度。但是,这些方法用于中文长难句的相似度计算时,可能会遗失一些重要的语义结构。

综合目前基于依存句法的句子相似度方法发现均未对依存关系结构本身进行度量,而是采用粗粒度的依存关系,有的甚至没有标注具体的依存关系。

发明内容

本发明的目的在于提供一种基于细粒度依存关系的中文长句相似度计算方法,旨在解决目前基于依存句法的句子相似度方法未充分考虑依存关系内部各元素的角色重要程度,而仅仅将依存关系作为整体进行标注的问题。

本发明是这样实现的,一种基于细粒度依存关系的中文长句相似度计算方法,所述基于细粒度依存关系的中文长句相似度计算方法基于依存关系对,将两个句子的依存关系对集合进行匹配,选取使关系对相似度之和最大的对应关系,在对应关系的基础上,求出各关系对相似度之和的平均值,作为两个句子的句法结构相似度。该方案的目的是全面充分考虑句子依存句法中的语义信息,不会因为选择有效搭配而丢失部分信息。

进一步,所述基于细粒度依存关系的中文长句相似度计算方法比较了依存关系中两个词汇的本身概念、词性、关系类别等五个特征量,综合衡量了句子的句法结构相似关系。该方案的目的是全面充分依存关系内部各元素的在关系中扮演的角色及其重要性,最大程度实现基于语义的相似度计算。

进一步,所述基于细粒度依存关系的中文长句相似度计算方法通过计算两个依存句法树的相似度,实现中文长句的相似度计算。该方案将整个句子的组成成分均列入相似度计算的范围,最大程度保留句子的完整语义信息。

进一步,所述依存关系对的结构相容度的获取方法包括:

依存关系对<R1,R2>,分别对比R1(C1,A1,D1,CP1,AP1)和R2(C2,A2,D2,CP2,AP2)中的五个特征量,相容取1,不相容取0;

然后,按权重顺序从高位到低位排列这五个0或1,得到一个二进制数(bbbbb)2,该值的取值范围为0-31,其中0对应R1和R2完全不相等的情况,31对应R1和R2完全相等的情况;在该二进制数的基础上,定义R1和R2的结构相容度如下:

>Sc(R1,R2)=(bbbbb)2(11111)2×100%;>

例如,假设在两个五元组R1(C1,A1,D1,CP1,AP1)和R2(C2,A2,D2,CP2,AP2)中,C1与C2相容,A1与A2不相容,D1与D2相容,CP1与CP2相容,AP1与AP2不相容,则依照各特征权重顺序排列得出二进制数为(10110)2,则R1和R2的结构相容度为:

>Sc(R1,R2)=(10110)2(11111)2×100%=2231×100%=70.97%.>

进一步,所述依存关系对的相似度计算方法包括:

依存关系对<R1,R2>中的元素存在语义相容,通过计算<R1,R2>相对应的核心词和支配词的语义相似度,度量依存关系对的语义相似度,采用基于知网的计算方法计算词的语义相似度,并赋予不同的权值α和β,得到R1和R2的语义相似度如下:

Ss(R1,R2)=αSw(C1,C2)+βSw(A1,A2);

式中,Sw(C1,C2)表示<R1,R2>中对应核心词的语义相似度,Sw(A1,A2)表示对应支配词的语义相似度,α>β且α+β=1。

进一步,基于和式Ss(R1,R2)=αSw(C1,C2)+βSw(A1,A2),得到依存关系对的相似度计算方法如下:

R1|R2=Sim(R1,R2)=Sc(R1,R2)·Ss(R1,R2)。

进一步,所述依存关系对集合相似度计算方法包括:

存在依存关系对集合A=(a1,a2…an)和依存关系对集合B=(b1,b2…bm),不失一般性,A中依存关系对的数目小于等于B,即n≤m;对于每一个ai∈A,1≤i≤n,都可以找到若干个bj∈B,1≤j≤m与之对应,不同的ai对应不同bj,则集合A与集合B的对应关系总数如下:

>n×(n-1)×(n-2)×...×(m-n)=n!(m-n)!;>

集合A与B存在确定的对应关系在Ωk中,对于给定的ai都有一个bj与之匹配,记作bj=Ωk(ai);则定义Ωk的相似度为:

>Sim(Ωk)=Σi=1nSim(ai,Ωk(ai))m;>

两个依存关系对集合A与B的相似度取Ωk中的最大值,即:

>Sim(A,B)=Max{Sim(Ωk)}=Σi=1nMax{Sim(ai,Ωk(ai))}m;>

式中,

本发明提供的基于细粒度依存关系的中文长句相似度计算方法,在充分保留句子的组成成分前提下,聚焦于词汇的语义信息进行相似度计算,深入依存关系内部,充分考虑各元素的角色及其重要性,避免丢失语义信息。基于依存关系对,将两个句子的依存关系对集合进行匹配,选取使关系对相似度之和最大的对应关系;在该对应关系的基础上,求出各关系对相似度之和的平均值,作为两个句子的句法结构相似度。本发明的算法比较了依存关系中两个词汇的本身概念、词性、关系类别等五个特征量,综合衡量了句子的句法结构相似关系。实验结果已经凸显出语义分析在句子相似度计算中的优势,而本发明算法较之现有技术的基于语义的相似度计算,在正确率上有一定的提高,考虑了非中心词周围体现的关键信息,而现有技术主要考虑依存句法树中的根节点-谓语中心词及其直接支配部分两层。本发明是一种以时间换正确率的方法。

附图说明

图1是本发明实施例提供的基于细粒度依存关系的中文长句相似度计算方法流程图。

图2是本发明实施例提供的句子依存关系对比示例示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

下面结合附图对本发明的应用原理作详细的描述。

如图1所示,本发明实施例的基于细粒度依存关系的中文长句相似度计算方法包括以下步骤:

S101:基于依存关系对,将两个句子的依存关系对集合进行匹配,选取使关系对相似度之和最大的对应关系;

S102:在该对应关系的基础上,求出各关系对相似度之和的平均值,作为两个句子的句法结构相似度。

下面结合具体实施例对本发明的应用原理作进一步的描述。

1依存句法树相似度计算

定义1.定义依存关系R(C,A,D,CP,AP)为一个五元组,其中C为核心词,A为依存词,D为依存关系的类型,CP为C的词性,AP为A的词性。R五元组中的各元素为特征量,其特征权重各不相同。

由依存句法理论得知,依存句法树中一个节点(词)只能有一个支配节点(词),但是可以有多个从属节点(词),所以在R中C的重要性要大于A。另外,一个词可有多种词性,而每种词性包含许多词,所以词语本身的重要性大于词性。最后,两个特定词的依赖关系D既与词本身有关,又与词性有关,所以D的重要性介于词本身与词性之间。由此依存关系R中各特征权重顺序为:C>A>D>CP>AP。

1.1依存关系对的结构相容度

假设存在一个依存关系对<R1,R2>,分别对比R1(C1,A1,D1,CP1,AP1)和R2(C2,A2,D2,CP2,AP2)中的五个特征量,相容取1(相容是指词性和语义类别上是兼容的,如ns与n相容,“动物”和“生物”是相容的),不相容取0。然后,按权重顺序从高位到低位排列这五个0或1,得到一个二进制数(bbbbb)2,该值的取值范围为0-31,其中0对应R1和R2完全不相等的情况,31对应R1和R2完全相等的情况。在该二进制数的基础上,定义R1和R2的结构相容度如下:

>Sc(R1,R2)=(bbbbb)2(11111)2×100%---(1)>

例如,假设在两个五元组R1(C1,A1,D1,CP1,AP1)和R2(C2,A2,D2,CP2,AP2)中,若C1与C2相容,A1与A2不相容,D1与D2相容,CP1与CP2相容,AP1与AP2不相容,则依照各特征权重顺序排列得出二进制数为(10110)2,则R1和R2的结构相容度为:

>Sc(R1,R2)=(10110)2(11111)2×100%=2231×100%=70.97%>

1.2依存关系对的相似度

由于依存关系对<R1,R2>中的元素存在语义相容,则通过计算<R1,R2>相对应的核心词和支配词的语义相似度,可以度量依存关系对的语义相似度。采用基于知网的计算方法计算词的语义相似度,并赋予不同的权值α和β,得到R1和R2的语义相似度如下:

Ss(R1,R2)=αSw(C1,C2)+βSw(A1,A2)(2)

式(2)中,Sw(C1,C2)表示<R1,R2>中对应核心词的语义相似度,Sw(A1,A2)表示对应支配词的语义相似度,α>β且α+β=1。由于基于知网的词汇相似度计算中考虑了词性,因此对<R1,R2>中的相容词性的度量不再计算。

基于式(1)和式(2),得到依存关系对的相似度计算方法如下:

R1|R2=Sim(R1,R2)=Sc(R1,R2)·Ss(R1,R2)(3)

1.3关系对集合相似度计算

假设存在依存关系对集合A=(a1,a2…an)和依存关系对集合B=(b1,b2…bm),不失一般性,设A中依存关系对的数目小于等于B,即n≤m。

为了计算A与B的相似度,需要确定A中各依存关系对和B中各依存关系对的对应关系。对于每一个ai∈A,1≤i≤n,都可以找到若干个bj∈B,1≤j≤m与之对应,假设不同的ai对应不同bj,则集合A与集合B的对应关系总数如下:

>n×(n-1)×(n-2)×...×(m-n)=n!(m-n)!>

定义2.若集合A与B存在确定的对应关系在Ωk中,对于给定的ai都有一个bj与之匹配,记作bj=Ωk(ai)。则定义Ωk的相似度为:

>Sim(Ωk)=Σi=1nSim(ai,Ωk(ai))m---(4)>

定义3.两个依存关系对集合A与B的相似度取Ωk中的最大值,即:

>Sim(A,B)=Max{Sim(Ωk)}=Σi=1nMax{Sim(ai,Ωk(ai))}m---(5)>

式(5)中,

为说明算法的计算过程,现以短句“安阳是甲骨文的故乡”和“安阳是中国八大古都之一”为例分析,采用哈工大社会计算与信息检索研究中心的语言技术平台(LanguageTechnology Platform,LTP)为工具,得到两句的依存关系如图2所示。

图1对应的依存关系对如表1所示,其中忽略了由Root出发的HED关系。“ai|bj(i与j可相等)”表示依存关系ai与bj的相似度,根据公式(3)计算,其中计算S(R1,R2)时α和β按经验取值为α=0.65,β=0.35,并取ai|bj的最大值作为S(R1,R2)最优值。

表1句子关系对集合

由此,利用公式(3)进行依存句法树的相似度计算如下:

>Sim(A,B)Σi=1nMax{Sim(ai,Ωk(ai))}m=1+0.6326+0.0728+0.00245=34.16%.>

下面结合实验对本发明的应用效果作详细的说明。

1实验及分析

从搜狗新闻语料中随机选择50个句子作为标准句子集,这些句子来自体育、政治、环境、交通、教育、艺术等10个类别,每个类别5个句子,这些句子均是长句,平均词长为16.8(即分词后的词语数量有16.8个)。另外选择1000个句子作为噪声集。对50个标准句子,逐一选择某句作为参考句,计算该参考句与其它句子的相似度,并按数值递减顺序排列,取相似度最高的前4个句子,若这些句子所属类别与参考句的类别一致,则认为相似度计算是正确的。表2显示了几种句子相似度计算方法的正确率统计结果。

表2句子相似度计算正确率

从实验结果可以看出,中文长句相似度算法正确率普遍不高,尤其是在开放测试时,原因如下:

1)实验过程中的分词采用的是LTP平台的分词算法,相似度计算与分词算法正确率紧密相关;

2)长句在句法分析上难度较大,容易出现歧义及分析错误;

3)算法效果直接依赖于LTP平台的句法分析正确率;

4)实验句子直接取自搜狗语料,存在部分病句或省略句,如“1999年日本计算机病毒发病数是有纪录以来次数最多的一个。”

5)相似度正确率的判断以句子类别为准,部分句子类别并不正确或并不唯一,如“艺术人才的培养,是关乎艺术事业能否发展的大事。”在搜狗语料中的类别为教育类,而该句归为艺术类也是合理的。

6)基于知网进行词语语义相关度计算时,有一些词汇在知网中并未收录,导致计算结果为0。

实验结果已经凸显出语义分析在句子相似度计算中的优势,本发明在正确率上有一定的提高,主要原因是有一些关键信息是在非中心词周围体现,本发明由于充分考虑了句子成分的语义联系,增加了计算复杂度,但是获得了更高的正确率,因此是一种以时间换正确率的方法。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号