[发明专利]可减少运算量的CYK算法进行语法分析的方法及其装置无效
申请号: | 200810232482.8 | 申请日: | 2008-11-28 |
公开(公告)号: | CN101414293A | 公开(公告)日: | 2009-04-22 |
发明(设计)人: | 陈淮琰;闫海红 | 申请(专利权)人: | 无敌科技(西安)有限公司 |
主分类号: | G06F17/27 | 分类号: | G06F17/27 |
代理公司: | 西安智邦专利商标代理有限公司 | 代理人: | 商宇科 |
地址: | 710075陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 减少 运算量 cyk 算法 进行 语法分析 方法 及其 装置 | ||
1.一种可减少运算量的CYK算法进行语法分析的方法,其特征在于:该方法包含下列步骤:
1)对上下文无关语法的产生式进行Chomsky范式转换,得出多个符合Chomsky形式的产生式;
1.1)对上下文无关语法的产生式执行Chomsky范式转换,使其具备符合Chomsky范式的产生式及虚拟产生式;
1.2)引入虚拟规约符号以规范虚拟产生式;
1.3)对虚拟产生式重复执行Chomsky范式转换,使上下文无关语法的产生式转换为多个符合Chomsky范式的产生式及多个虚拟规约符号;
1.4)将多个产生式及多个虚拟规约符号依序填入储存数组;
2)使用CYK运算方法根据产生式对上下文无关语法句进行分析,并填入规约符号表;
2.1)首先在现有的矩阵中加入规约符号表的数据结构;
2.2)此数据结构对每个现有的矩阵的元素进行扩展程序,将先前矩阵元素P(i,j)从底部到顶部依次扩展填充符号表L(i,j)而产生新矩阵;
3)检查步骤1)中的符合Chomsky范式的产生式及虚拟产生式是否包含机率信息;是则进至步骤4);
4)根据机率信息选择要填入二维数组的规约符号;
5)将规约符号填入二维数组中。
2.根据权利要求1所述的可减少运算量的CYK算法进行语法分析的方法,其特征在于:所述2.2)中的扩展程序的具体步骤如下:
2.2.1)扩展程序首先检查矩阵中是否存在产生式左部符号,若否,进至步骤2.2.2),若是则直接步骤2.2.3);
2.2.2)则添加左部符号到规约符号表;
2.2.3)最后再添加产生式到左部符号对应的表格中。
3.根据权利要求2所述的可减少运算量的CYK算法进行语法分析的方法,其特征在于:所述步骤2)中当符号表中加入了新符号时,在特殊产生式集合中寻找以新符号为右部的产生式,并检查是否存在符合条件的产生式,若是,则将该产生式也加入规约符号表中。
4.根据权利要求1或2或3所述的可减少运算量的CYK算法进行语法分析的方法,其特征在于:所述步骤4)的具体步骤如下:
4.1)比较待加入的产生式与规约符号表中已存在的产生式的机率;
4.2)并检查规约符号表中有无此符号或者有新的产生式机率更高;若否,进至步骤4.4),若是则直接步骤4.3);
4.3)添加新的产生式到规约符号表中,并删除旧的产生式;
4.4)删除新的产生式。
5.一种实现权利要求1所述的可减少运算量的CYK算法进行语法分析的方法的装置,其特征在于:该置包括:输入单元,用来接收上下文无关语法及上下文无关语法句;储存单元,用来提供储存数组及多个规约符号;处理单元,用来对上下文无关语法的产生式执行Chomsky范式转换,使其具备符合Chomsky范式的产生式及虚拟产生式,并引入虚拟规约符号以规范虚拟产生式,以及对虚拟产生式重复执行Chomsky范式转换,使上下文无关语法的产生式转换为多个符合Chomsky范式形式的产生式及多个虚拟规约符号,再将产生式及虚拟规约符号存入储存数组,根据转换后的上下文无关语法对输入的上下文无关语法句进行语法分析,将参与分析的产生式放入规约符号表,所述输入单元接入处理单元,所述处理单元与储存单元相接。
6.根据权利要求7所述的装置,其特征在于:所述储存单元包括规约符号表。
7.根据权利要求7所述的装置,其特征在于:所述储存单元包括产生式机率统计表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无敌科技(西安)有限公司,未经无敌科技(西安)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810232482.8/1.html,转载请声明来源钻瓜专利网。