一种基于标点处理的层次化汉语长句句法分析方法及装置的制作方法

文档序号:6631672阅读:238来源:国知局
专利名称:一种基于标点处理的层次化汉语长句句法分析方法及装置的制作方法
技术领域
本发明涉及自然语言处理技术领域,特别是一种基于标点处理的层次化汉语长句句法分析方法及装置。
背景技术
句法分析(Syntactic Parsing)是自然语言处理研究中的关键技术之一,句法分析结果的好坏直接影响到对自然语言句子的理解。而自然语言理解又是机器翻译、信息抽取、信息检索以及语料自动处理等众多语言处理技术的基础。在当前条件下,句法分析在语言信息处理系统中仍然具有举足轻重的作用。同时,句法分析中所使用的技术还可以用于解决生物信息识别领域诸如RNA分子结构探测等与句法分析相似的问题。因此,自然语言句法分析技术的研究具有重要的理论意义和实用价值。
句法分析算法的时间复杂度和句子长度密切相关,在不采用启发式策略处理的前提下,典型句法分析算法的时间复杂度都近似于句子长度的三次方。因此,当句子达到一定长度时,句法分析的效率问题就凸显出来。我们进一步分析发现,长句带来的问题不仅仅是时间效率上的,子句边界界定的困难和错误使得某些子句的句法关系常常被割裂,并且一个局部子句分析的失败也会导致整个长句得不到正确的句法分析树。这种情况使得现有的句法分析算法,对超过一定长度的句子句法分析的正确率和召回率呈现急剧下降的趋势。然而,目前对于长句的结构模式,以及句型与表意模式之间关联方式的研究,还处在刚刚起步的阶段,并且句法分析之前,句型通常是未知的,这使得我们需要考虑从其它方面入手,尝试解决这个问题。汉语中逗号、冒号和分号是三个最常用的连接简单句和短语使其成为长句的标点符号。在Chinese LDC发布的TCT 973树库(关于973树库的详细信息参见http://www.chineseldc.org/index.htm.)上的实验数据表明,在随机抽取的4431个20个词长以上的长句中,至少含有上述三种标点符号之一的长句总共有4075句,约占92%。因此,标点符号应用的普遍性使得我们研究标点符号作为连接长句中子句的唯一显式标记的用法和规律,并利用标点的作用帮助长句句法分析。
根据上述思路,本文从研究汉语标点符号在句子中的作用和规律入手,设计了一种适用于汉语长句句法分析的分层句法分析方法,并通过实验证明该方法在处理复杂长句的效率和正确率两方面,与现有的一遍分析方法相比较具有较大的优势。

发明内容
本发明的目的在于提供一种新的面向汉语长句的层次化句法分析方法及装置。
本发明的基本思想相当于找到一种合适大小的语言单元,这些语言单元是相对独立的,其内部的结构关系不受或者很少受周围的语言单元的影响。描述这种语言单元内部语法关系的语法“lexical grammar”和语言单元之间关系的“text grammar”就可以结合起来,完成整个句子的句法分析。
本发明采用上述“分解”的思想来进行汉语长句的分析,与基于语块的层次分析技术不同。在我们的技术中,利用部分标点为分界点把长句分割成句子单元的序列,在完成各个句子单元的结构分析之后,再合并起来分析得到完整的句子结果。而作为句子单元分界点的标点符号被定义为“分割”标点,其余标点被定义为“普通”标点。
这种方法分割得到的句子单元通常是子句或者短语,因此,我们可以在第一级分析中完成对子句或短语内部的结构分析,而子句边界的获取,以及对子句或短语等彼此之间的句法关系的获取则在第二级分析完成。采用这种技术设计的方法减少了“流水复句”以及其它类型复句句法分析的困难,这也是我们提出的层次化分析(HP)技术的中心思想所在。
技术方案基于标点处理的层次化句法分析方法可以分为训练和分析两部分,具体过程如下训练过程包括a)研究汉语标点符号的用法和句法功能,并将其分类;b)从大规模树库中提取包含标点的概率上下文无关文法规则,并统计得到其概率信息;分析过程包括aa)将包含分割标点的复杂长句分割;bb)对各个子句单元独立进行第一级句法分析;cc)探测并且合并并列关系的短语;dd)在第一级分析结果的基础上进行第二级分析,最终得到整个句子的完整句法分析树。
训练过程中步骤a)中从句法的角度研究了汉语标点符号的用法和功能。
训练过程中步骤b)中提取了包含有汉语标点符号的语法规则。
分析过程中步骤aa)将汉语长句进行了分割处理。
分析过程中步骤cc)用规则方法进行了并列关系短语的探测和合并。
分析过程中,步骤bb)和dd)将传统的句法分析进行了任务分解,依次通过这两个步骤完成整句的句法分析。
一种基于标点处理的层次化汉语长句句法分析装置,由长句分割装置、第一级分析装置、探测及合并并列短语装置以及第二级分析装置组成,上述装置依次顺序连接。
下面详细说明本发明技术方案中所涉及的各个细节问题。
1.标点符号的用法和分类装置我们认为,可以用作“分割”作用的标点符号必须满足如下条件如果某个标点符号分隔开的子句单元,相互之间的句法关系是整体的而非局部的,换言之,也就是它们整体发生关系而非某个子句单元内部的某一成分和其它子句片断发生关系,那么,这种标点就属于“text grammar”层面,我们把这类标点定义为“分割”标点。
根据1995年12月13日发布的《标点符号的用法国家标准》,分号的作用是用来表示复句内部各个分句之间的停顿,根据分类定义,显然分号可以作为“分割”标点。
冒号的作用主要包括两种一种是放在解释性成分的前面,表示冒号后的成分是对冒号前的词语或句子的解释说明。另外一种常见用法是跟在“说、想、是、指出、例如、如下”等词语后面,表示提起下文。这种类型的句子可以被定义为解注复句,冒号前的部分可以看作是主句、而冒号后的解释成分看作是前面主句的补句,是对前面部分的补充解释。所以,根据分类定义,显然可以作为“分割”标点。
逗号的用法比较复杂,根据上面“国标”的定义,逗号在句子中的位置主要包括如下几种1)句子内部主语与谓语之间;2)句子内部动词与宾语之间;3)状语和其修饰的句子之间;4)复句内各分句之间。对第四种作用,逗号充当的角色和分号的作用类似,因此可以作为“分割”标点。而对前三种情况,这些逗号分隔开的充当不同成分的短语结构可以看作是相对独立的,可以先分析各个成分内部的结构关系,在此基础上分析各个成分之间的组合结构关系。那么逗号也可以当作“分割”标点。这种处理技术可能会造成第一级分析时局部子句分析失败的问题,然而这种问题可以通过合并子句和其前后成分,进行第二级分析得到解决。
另外,由于在汉语中逗号可以取代顿号的作用充当较长的并列短语之间的间隔符号,我们给出一种简单的基于规则的并列成分短语的探测和合并装置,该装置在本文解析过程的第三部分详细介绍。
2.语法规则的提取装置由于逗号的复杂性,提取包含逗号的规则不仅包括描述子句内部的结构关系的,还包括子句之间的组合结构关系的,因此,两级语法实际上是重叠的。在HP技术中,我们把两级语法规则合成一个语法规则体系,由句法分析算法来自动选择所用的规则。
本文所用的语法规则是从经过句法分析的树库中自动提取的,因此,就要求树库具备一定的规模,包含丰富的语法现象,并且标点符号用法规范。TCT 973树库就是满足上述要求的大规模树库资源。该树库的规模约为100万字,其中语料文本都选自90年代的现代汉语语料,主要分为文学、新闻、学术和应用等四类,平均句长为23.3词/句,句长在20个词长以上的句子约占一半。
首先,从树库中提取包含标点的PCFG语法规则,对包含各类标点的语法规则进行合并、概括等处理。然后,将其和由语言学分析得到的标点用法规律结合,对提取的规则进行调整。例如,仍以书名号为例,中文左右书名号之间的部分必然是一本书的名字,无论其句法类是什么,因此,可以用一条概括的语法规则描述如下NP→《X》 X{NP,VP,S,PP......} (1)在公式(1)中,X可以是所有可能的词性或者短语的类别标记。由于树库规模的限制,在树库中未出现的,而由上面分析可以得到的规则被加入到已提取的规则系统当中,并且所有此类规则的概率均为1。
单书名号、方括号等类似的情况,其余的语法规则的概率均采用最大似然估计的技术求得。最终,所有的文法规则构成一个完整的语法规则系统。
3.长句分割装置根据前面对标点符号的分类,我们用逗号、分号和冒号把长句分割为一系列子句片断。需要注意的是,引号和破折号只具有语义上的作用,因此从句法分析上可以看作透明的。
4.第一级句法分析装置本文采用chart算法来作为分析算法,在第一级分析当中,对经过分割得到的各个子句单元进行分析,分析的原始输入为词性串序列,用上述算法进行分析,经过韦特比(Viterbi)搜索和剪枝,对每个子句片断得到一棵最大概率的分析子树。
5.子树合并装置根据前面的讨论,由于逗号的特殊性,将其统一定义为“分割”标点可能会造成不适当的句子分割。造成这类情形主要是由于在汉语中,当并列成分的短语较长时,一些句子使用逗号来替代顿号作为分隔标记,而这些并列短语充当同一句子中的一个成分。例如,对句子“我喜欢在春天去观赏桃花,在夏天去欣赏荷花,在秋天去观赏红叶,但更喜欢在冬天去欣赏雪景。”,前三个动词短语在句子中作为并列的谓词短语,即第一个句子单元“我喜欢在春天去观赏桃花”中的动词短语和逗号后的动词短语是并列关系的谓语,用逗号进行分割,则会割裂这种关系,因此,可以对这种情况进行探测并且处理。
由于在第一级的句法分析中,对逗号左右的句子成分已经进行了分析,获得了逗号附近的句法结构信息,而这一步需要做的仅仅是判断逗号左右的成分是否是满足并列关系的结构完全相同的短语。
根据上面的例句,我们给出一个简要的并列成分短语判断过程的描述。如后面图3所示,第一个逗号后的成分分析后得到动词短语(VP),用B来标记。显然,B是由一个介词短语(PP)和一个动词短语构成的。如果第一个逗号之前存在一个最小长度的短语,并且它和B具有完全相同的句法结构,那么它和B为并列短语。显然,图中A2就是这样的一个短语。其它逗号相邻成分的分析与此相似。最终得到A2,B和C为并列短语。显然,第三个逗号后的短语D具有和A2、B、C不同的结构,所以与它们不是并列关系。
对这种类型的问题,我们采用了一种子树粘接操作的装置来处理,从而将并列的成分合并。如后面图4所示,首先把子树A2和B、C合并,然后用合并后的子树A2’来替换原来的A2但不改变树A的结构。图4显示了这种子树粘接的操作过程。
以下,我们给出子树粘接操作的执行条件和规则[X,]+Z[X Y...Y]Z[X[[X,]+X] Y...Y]X={np,vp,ap,dp},Z表示短语或者子句标记,Y=*(表示任何结构标记) (2)Z[Y...Y X][,X]+Z[Y...Y X[X[,X]+]]X={np,vp,ap,dp},Z表示短语或者子句标记,Y=*(表示任何结构标记) (3)其中,规则(2)和(3)中的X表示的短语必须是经过我们前面判定为并列关系的短语。例如,对后面图3所示例句,判定A2,B和C为并列的VP短语,则对子句1(Sub-Sentence 1),合并前的结构为S[A1VP][, VP][, VP],其中A1的部分表示对“我喜欢”分析得到的结构标记,则采用规则(3),合并后的结构为S[A1VP[VP,VP,VP]]6.第二级分析装置第二级分析所用的算法和第一级分析所用的算法是相同的,不同点在于所用的文法规则和输入串。但由于两部分文法规则有部分重叠,依靠算法自动选择即可。
输入词性串在第一级分析是各个句子单元的输入词性串序列,而第二级分析的输入则分为两种情况第一种,对第一级分析的各个子树单元都能够获得最大的概率分析树,此时第二级分析的输入则为各个分析树根结点的结构标记和分隔他们的标点符号。第二种情况是当第一级分析的某些子句分析失败时,我们仍取失败子句的原始词性序列和其前后分析成功的子树一起进行第二级的分析。
第二级分析最终输出结果是整个句子的最大概率句法分析树。
7.实验结果为了将本文的HP技术和传统的一遍扫描的方法(TP)相比较,使用相同的测试数据集,并且采用相同的语法规则集。
在一台PC机上(奔腾4处理器,1.20GHz,256M内存)分别运行两种技术构建的系统,时间消耗如后面图5所示。
在本文的实验系统当中,设定一个句子分析时间上限值为120秒,一旦运算时间超时则退出算法循环,从而得不到最终的分析结果。传统的一遍分析的技术(TP)时间复杂度为句子长度的三次方。因此,如图5所示,当句子长度超过40个词时,绝大部分句子无法在给定时间内获得分析结果。而本文的分层技术(HP)由于“分解”的处理策略,句子长度增加给HP技术带来的难度增加远不明显,绝大部分句子可以在20秒时间内得到分析结果。因此,我们的HP技术在时间性能上显然大大优于传统的TP方法。
我们采用国际上广泛采用的PARSEVAL评测标准对我们的技术性能进行综合的评估,测试结果如下
表1采用PARSEVAL评估的实验结果

从上表所示的对比数据,可以看到,我们的HP技术的正确率和召回率都高于传统方法(TP)将近7%,而且平均交叉括号数减少了一半,0交叉括号的百分比提高了大约一倍多,2交叉括号百分比(≤2CB)也提高了将近一倍。说明我们提出的技术和装置是有效的。


图1是本发明的层次化句法分析装置结构图。
图2是“分割”标点和“普通”标点图。
图3是例句并列结构示例图。
图4是子树粘接操作装置图。
图5是时间性能对比图。
具体实施例方式
基于标点处理的层次化汉语长句句法分析技术的具体步骤入下步骤1将包含分割标点的复杂长句分割;步骤2对各个子句单元独立进行第一级句法分析;
步骤3探测并且合并并列关系的短语;步骤4在第一级分析结果的基础上进行第二级分析,最终得到整个句子的完整句法分析树。
图1整个系统装置的总体结构图,由四部分装置构成长句分割装置、第一级分析装置、探测及合并并列短语装置、第二级分析装置,上述装置依次顺序连接。
图2表示“分割”标点定义满足的条件。其中,子图a所示的虚线框中的标点“P”就是“分割”标点的例子,而子图b所示的虚线框中的标点“P”为“普通”标点。
图3并列成分短语判断过程的图示。第一个逗号后的成分分析后得到动词短语(VP),用B来标记。显然,B是由一个介词短语(PP)和一个动词短语构成的。如果第一个逗号之前存在一个最小长度的短语,并且它和B具有完全相同的句法结构,那么它和B为并列短语。显然,图中A2就是这样的一个短语。其它逗号相邻成分的分析与此相似。最终得到A2,B和C为并列短语。显然,第三个逗号后的短语D具有和A2、B、C不同的结构,所以与它们不是并列关系。
图4表示子树粘接的操作过程。首先把子树A2和B、C合并,然后用合并后的子树A2’来替换原来的A2但不改变树A的结构。
图5表示我们的HP技术和常用的TP技术的时间性能对比,显然我们的HP技术在时间性能上显然大大优于传统的TP方法,大大缩短了句法分析所用的时间。
权利要求
1.一种基于标点处理的层次化汉语长句句法分析方法,包括训练过程和分析过程,训练过程包括a)研究汉语标点符号的用法和句法功能,并将其分类;b)从大规模树库中提取包含标点的概率上下文无关文法规则,并统计得到其概率信息;分析过程包括aa)将包含分割标点的复杂长句分割;bb)对各个子句单元独立进行第一级句法分析;cc)探测并且合并并列关系的短语;dd)在第一级分析结果的基础上进行第二级分析,最终得到整个句子的完整句法分析树。
2.根据权利要求1的方法,其特征在于,训练过程中步骤a)中从句法的角度研究了汉语标点符号的用法和功能。
3.根据权利要求1的方法,其特征在于,训练过程中步骤b)中提取了包含有汉语标点符号的语法规则。
4.根据权利要求1的方法,其特征在于,分析过程中步骤aa)将汉语长句进行了分割处理。
5.根据权利要求1的方法,其特征在于,分析过程中步骤cc)用规则方法进行了并列关系短语的探测和合并。
6.根据权利要求1的方法,其特征在于,分析过程中,步骤bb)和dd)将传统的句法分析进行了任务分解,依次通过这两个步骤完成整句的句法分析。
7.一种基于标点处理的层次化汉语长句句法分析装置,其特征在于,由长句分割装置、第一级分析装置、探测及合并并列短语装置以及第二级分析装置组成,上述装置依次顺序连接。
全文摘要
本发明涉及自然语言处理领域,特别是一种新的面向汉语长句的层次化句法分析方法及装置。该方法和传统的不考虑标点符号的一遍分析方法的主要区别在于两个方面第一,利用部分标点符号的特殊功能将复杂长句分割成子句序列,从而把整句的句法分析分成两级进行。这种“分而治之”的策略大大降低了在传统的一遍分析方法中同时识别子句和短语之间的句法关系以及子句和短语内部的句法关系的困难。第二,从大规模树库中提取包含所有标点符号的语法规则和相应概率分布信息,有利于句法分析和歧义消解。实验证明我们的方法与传统的常用一遍句法分析相比,能够大大减少时间消耗和歧义边的个数,并且提高了复杂长句分析的正确率和召回率约7%。
文档编号G06F17/27GK1928854SQ200510086370
公开日2007年3月14日 申请日期2005年9月8日 优先权日2005年9月8日
发明者宗成庆, 李幸 申请人:中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1