发明名称 一种基于计算机的自然语言句法结构解析的方法和装置
摘要 公开了一种基于计算机的自然语言句法结构解析的方法和装置。本发明依据抽象代数、集合论、组合数学、可计算性理论和计算语言学等学科的数学原理和相应的计算机技术,运用复合函数的数学思想,通过建立矩阵模型和线性模型、构造递归函数来进行自然语言句法结构解析;同时,综合运用数学归纳法等方法对重要的结论进行了证明。本发明为自然语言的语句建立了一套全新的数学模型,与常规的传统方法相比,在思路上有根本区别。本发明创造性地提出了单侧同向保序和单侧同向不保序两种整体插空方法,并创造性地运用集合族的生成处理并列句法成分的方法。本发明充分利用了数学和计算机学科规律,所述方法准确性较高,运算量非常大,有一定的技术难度。
申请公布号 CN104156353A 申请公布日期 2014.11.19
申请号 CN201410419634.0 申请日期 2014.08.22
申请人 秦一男 发明人 秦一男
分类号 G06F17/27(2006.01)I 主分类号 G06F17/27(2006.01)I
代理机构 北京成创同维知识产权代理有限公司 11449 代理人 刘锋;张靖琳
主权项 一种基于计算机的自然语言句法结构解析的方法,包括:S1、读取待解析的经预处理的语句数据结构,所述经预处理的语句数据结构中仅包括语句的并列关联词单元、从属关联词单元、谓语动词单元、名词代词单元,且各词单元按照在所述经预处理的语句中的顺序进行编号,并标注类型;S2、对每一谓语动词单元,生成对应的引导语元素、主语元素、谓语元素和宾语元素;所述引导语元素的可能取值为编号小于对应的谓语动词单元编号的并列关联词单元或从属关联词单元之一,或由一个编号小于对应的谓语动词单元编号的并列关联词单元和一个与其相邻且编号小于对应的谓语动词单元编号且编号大于该并列关联词单元编号的从属关联词单元构成的关联词组合向量之一,或空单元;所述主语元素的可能取值为编号小于对应的谓语动词单元编号的名词代词单元之一,或最大词单元的编号小于对应的谓语动词单元编号的全体并列名词代词组合向量族中所包含的并列名词代词组合向量之一,或在前出现的谓语元素对应的句法向量之一,或空单元;所述谓语元素为对应的所述谓语动词单元;所述宾语元素的可能取值编号大于对应的谓语动词单元编号且小于相邻的在后出现的谓语动词单元编号的名词代词单元之一,或最小词单元的编号大于对应的谓语动词单元编号且小于相邻的在后出现的谓语动词单元编号的全体并列名词代词组合向量族中所包含的并列名词代词组合向量之一,或在后出现的谓语元素对应的句法向量之一,或空单元;S3、根据所述引导语元素、主语元素、谓语元素和宾语元素的可能取值,获取每一谓语动词单元对应的句法向量的所有可能取值,所述句法向量包括引导语元素、主语元素、谓语元素和宾语元素;S4、根据所有句法向量的所有可能取值,生成至少一个句法结构可能矩阵解,所述句法结构可能矩阵解由按照谓语动词单元编号顺序排列的句法向量组成;S5、验证根据句法结构可能矩阵解得到的语句是否与所述经预处理的语句完全相同,如果完全相同,则将该句法结构可能矩阵解中的各句法向量作为句法结构解析结果之一;其中,S5包括按顺序依次执行以下操作,排除不符合条件的句法结构可能解:S5.1、如果存在不在该句法结构可能矩阵解中出现的顺序值,则排除该句法结构可能矩阵解;S5.2、如果在不同的句法向量中出现相同的顺序值或出现相同的句法向量,则排除该句法结构可能矩阵解;S5.3、在每一个可能矩阵解中,将与其他句法向量之间存在相互代入关系的句法向量全都进行等量代换,如果在等量代换之后出现两个句法向量的交叉矛盾,则排除该句法结构可能矩阵解;S5.4、在每一个可能矩阵解中,将与其他句法向量之间存在相互代入关系的句法向量全都进行等量代换,如果在等量代换之后出现两个位置逆反的顺序值,则排除该句法结构可能矩阵解;S5.5、在任意一个可能矩阵解中,如果存在与其他句法向量之间没有相互代入关系的句法向量,则执行插空操作以获得所有该可能矩阵解所对应的可能句法解析结构,并验证根据所述可能句法解析结构得到的语句是否与所述经预处理的语句完全相同,其进一步包括:S5.5.1、先对该可能矩阵解中相互之间存在代入关系的句法向量进行等量代换,从而将该可能矩阵解转化为一组相互之间不存在代入关系的句法向量<img file="FDA0000558511510000021.GIF" wi="379" he="62" />将可能矩阵解中的句法向量称为第一类句法向量,将转化得到的句法向量<img file="FDA0000558511510000022.GIF" wi="348" he="55" />称为第二类句法向量;S5.5.2、任取一个第二类句法向量<img file="FDA0000558511510000023.GIF" wi="88" he="62" />按照预定的方向逐一标注<img file="FDA0000558511510000024.GIF" wi="60" he="62" />中的每一个句法元素的顺序值;标注句法元素的顺序值之后,任取<img file="FDA0000558511510000025.GIF" wi="64" he="54" />中的第i个句法元素,仅在该句法元素的第一侧构造唯一的空位;造空之后,任取一个句法向量<img file="FDA0000558511510000026.GIF" wi="60" he="59" />以外的第二类句法向量<img file="FDA0000558511510000027.GIF" wi="102" he="57" />以整体插空的方式将句法向量<img file="FDA0000558511510000028.GIF" wi="67" he="55" />插入所构造的空位,进而生成一个新的句法向量,将这个新句法向量记为<img file="FDA0000558511510000029.GIF" wi="282" he="74" />并将整体插空而得到的句法向量,统称为第三类句法向量;S5.5.3、对第三类句法向量<img file="FDA00005585115100000210.GIF" wi="293" he="72" />按照预定的方向对从向量<img file="FDA00005585115100000211.GIF" wi="256" he="73" />中的第一侧第一个句法元素开始到向量<img file="FDA00005585115100000212.GIF" wi="258" he="72" />中包含的向量<img file="FDA00005585115100000213.GIF" wi="58" he="54" />的第二侧第一个句法元素为止的每一个句法元素,全都标注顺序值;位于向量<img file="FDA00005585115100000214.GIF" wi="256" he="72" />中包含的向量<img file="FDA00005585115100000215.GIF" wi="62" he="57" />第一侧的元素,不标注顺序值;将向量<img file="FDA00005585115100000216.GIF" wi="66" he="56" />的第二侧的第一个句法元素记为<img file="FDA00005585115100000217.GIF" wi="151" he="67" />将按照前述方式对向量<img file="FDA00005585115100000218.GIF" wi="262" he="72" />标注的句法向量部分,记为甩尾句法向量<img file="FDA00005585115100000219.GIF" wi="282" he="70" />标注顺序值之后,任取一个前述的甩尾向量中的第j个句法元素,仅在该元素第一侧构造唯一的空位;造空之后,任取一个未使用过的第二类句法向量<img file="FDA00005585115100000220.GIF" wi="94" he="63" />以整体插空的方式将句法向量<img file="FDA00005585115100000221.GIF" wi="62" he="62" />插入所构造的空位,进而生成一个新的句法向量,则将新生成的句法向量记为<img file="FDA00005585115100000222.GIF" wi="448" he="77" />或者第三类句法向量<img file="FDA00005585115100000223.GIF" wi="291" he="71" />按照预定方向,对句法向量<img file="FDA00005585115100000224.GIF" wi="266" he="71" />中的每一个句法元素全都标注顺序值;标注句法元素的顺序值之后,任取一个<img file="FDA0000558511510000031.GIF" wi="260" he="65" />中的第t个句法元素,在该句法元素的第一侧构造唯一的空位;造空之后,任取一个未使用过得第二类句法向量<img file="FDA0000558511510000032.GIF" wi="82" he="63" />以整体插空的方式将该向量<img file="FDA0000558511510000033.GIF" wi="52" he="63" />插入前面构造的空位,进而生成一个新向量,则该新向量记为<img file="FDA0000558511510000034.GIF" wi="515" he="77" />S5.5.4、重复执行S5.5.3,每当上一次造空和插空步骤结束的时候,对经过上一次造空和插空步骤而得到的第三类句法向量进行下一次的造空和插空操作,直至将所有第二类句法向量<img file="FDA0000558511510000035.GIF" wi="231" he="62" />全部插空完毕,最后得到一个单行的第三类句法向量,将所述最后得到的第三类句法向量称为最终单行向量;S5.5.5、如果一个可能句法解析结构对应的所有所述最终单行向量中均存在两个位置逆反的顺序值,则排除该可能句法解析结构;S5.5.6、重复执行S5.5.2至S5.5.5直至所有可能句法解析结构被遍历。
地址 100871 北京市海淀区畅春新园2-127室