[发明专利]可减少运算量的CYK算法进行语法分析的方法及其装置无效
申请号: | 200810232482.8 | 申请日: | 2008-11-28 |
公开(公告)号: | CN101414293A | 公开(公告)日: | 2009-04-22 |
发明(设计)人: | 陈淮琰;闫海红 | 申请(专利权)人: | 无敌科技(西安)有限公司 |
主分类号: | G06F17/27 | 分类号: | G06F17/27 |
代理公司: | 西安智邦专利商标代理有限公司 | 代理人: | 商宇科 |
地址: | 710075陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 减少 运算量 cyk 算法 进行 语法分析 方法 及其 装置 | ||
技术领域
本发明涉及一种CYK运算方法,尤其是一种可减少运算量的CYK算法进行语法分析的方法及其装置。
背景技术
语法是一种用来描述语言架构的规则。例如,用来描述人类中文自然语言的规则为中文语法;用来描述电子计算器编程C语言的语法为C语言语法。而所谓语法分析,就是将一个句子分解成一些小的组成部分,例如:词、词组或子句等,并了解这些组成部分之间的关系,从而帮助我们把握这个句子的意义。
为了使电子计算器能够进行语法分析及处理,通常必须使用上下文无关语法来描述和代表语法规则。上下文无关语法是由若干产生式所构成,产生式的形式如下:
S->np vp
np->n
np->a n
np->n c n
vp->v n
即:
句子->名词词组 加 动词词组
名词词组->名词
名词词组->形容词 加 名词
名词词组->名词 加 连词 加 名词
动词词组->动词 加 名词
上述产生式即可构成上下文无关语法,并用来描述简单的中文语法规则。其中S、np及vp被称作非终结符号,代表其并非单一词组;n、v、c、a则被称作终结符号。非终结符号和终结符号统称为语法符号,其中非终结符号S又被称为开始符号,它所规范的一连串语法符号就是符合语法定义的语言。
举例而言,参见图1,为由产生式所衍生的符合中文语法规则的语言,我们将其称为语法树。它描述的是一个符合上文定义的上下文无关语法的中文语句。而计算机进行语法分析的过程就是利用输入的句子和上下文无关语法中的产生式来产生语法树。由于上下文无关语法的产生式比较灵活,所以分析起来比较困难。举例而言,名词子句的构成成分有形容词加名词、副词加名词或形容词词组加名词等组合。
CYK运算方法是一种基于Chomsky范式的语法分析方法,且只能对满足Chomsky范式的语法进行分析,CYK运算方法的规则简单,不需要回溯处理。而Chomsky范式则只有两种类型的产生式:
A->B C
D->e
其中A、D为非终结符号,B、C可为终结符号或非终结符号,e为终结符号。
当习知的CYK运算方法在进行语法分析时,分析过程中的语法符号被保存在如图二所示的二维矩阵数据架构中。矩阵中的每个元素P(i,j)对应到句子中跨度范围内可能的非终结符号的集合。其中,i表示跨度左侧第一个词组的位置,j表示跨度包含词组的数目。
举例而言,图2中P(2,1)表示"喜欢"中左侧第一个词组“喜欢”是句子中第二个词组,因此i=2;而"喜欢"仅具备词组,因此j=1。同理,P(2,3)表示"喜欢大房间"中左侧第一个词组“喜欢”是句子中第二个词组,所以i=2;而"喜欢大房间"包含三个词组,所以j=3。如果最顶层的P(1,4)可以规范成为开始符号"S",就表示输入的句子可以产生语法树,且输入的句子符合语法规则。
由于相同的产生式左侧语法符号,可以对应到不同的右侧组成部分。因此,矩阵每个元素中可能将出现许多重复的语法符号。在使用规模(产生式数量)庞大的上下文无关语法进行分析时,这种现象尤为突出。当计算机处理较复杂的句子时,参见图3,参与到分析过程的产生式的数量将变得非常多,甚至高达上万种组合。因此计算机需要使用极大容量的二维矩阵来储存所有可能的产生式,也使整体的处理速度变得十分缓慢。
有鉴于背景技术的各项问题,为了能够兼顾解决,本发明人基于多年研究开发与诸多实践经验,提出一种可减少运算量的CYK运算方法及其装置,以作为改善上述缺点的实现方式与依据。
发明内容
本发明为解决背景技术中存在的上述技术问题,而提出一种可减少运算量的CYK算法进行语法分析的方法。
本发明的技术解决方案是:本发明为一种可减少运算量的CYK算法进行语法分析的方法,其特殊之处在于:该方法包含下列步骤:
1)对上下文无关语法的产生式进行Chomsky范式转换,得出多个符合Chomsky形式的产生式;
2)使用CYK运算方法根据产生式对上下文无关语法句进行分析,并填入规约符号表;
3)检查这些产生式是否包含机率信息;是则进至步骤4);
4)根据机率信息选择要填入二维数组的规约符号;
5)将规约符号填入二维数组中。
上所述步骤1)的具体步骤如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无敌科技(西安)有限公司,未经无敌科技(西安)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810232482.8/2.html,转载请声明来源钻瓜专利网。