一种基于计算机的自然语言句法结构解析的方法和装置制造方法

文档序号:6624485阅读:275来源:国知局
一种基于计算机的自然语言句法结构解析的方法和装置制造方法
【专利摘要】公开了一种基于计算机的自然语言句法结构解析的方法和装置。本发明依据抽象代数、集合论、组合数学、可计算性理论和计算语言学等学科的数学原理和相应的计算机技术,运用复合函数的数学思想,通过建立矩阵模型和线性模型、构造递归函数来进行自然语言句法结构解析;同时,综合运用数学归纳法等方法对重要的结论进行了证明。本发明为自然语言的语句建立了一套全新的数学模型,与常规的传统方法相比,在思路上有根本区别。本发明创造性地提出了单侧同向保序和单侧同向不保序两种整体插空方法,并创造性地运用集合族的生成处理并列句法成分的方法。本发明充分利用了数学和计算机学科规律,所述方法准确性较高,运算量非常大,有一定的技术难度。
【专利说明】一种基于计算机的自然语言句法结构解析的方法和装置

【技术领域】
[0001] 本发明涉及计算机数据处理领域,具体涉及一种基于计算机的自然语言句法结构 解析的方法和装置。

【背景技术】
[0002] 自然语言处理是计算机科学领域和人工智能领域中的一个重要方向。它研究能实 现人与计算机之间使用自然语言进行有效通信的各种理论和方法。
[0003] 句法结构解析是自然语言处理的一个重要方面,其通过计算机对自然语言语句的 句子成分进行自动划分以辅助对于语句的进一步处理。在现有的句法结构解析技术中,通 常米用概率上下文无约束算法(Probabilistic Context Free Grammars,PCFG),其基于自 然语言具有复杂嵌套性的特点,计算语句与句法结构解析结果的规则匹配概率,选取概率 最大的句法解析结果作为最终的句法结构。
[0004] 但是,该方法复杂度高,而且,对于复合式句子结构的解析准确性还亟待进一步提 商。


【发明内容】

[0005] 有鉴于此,本发明提供了一种基于计算机的自然语言句法结构解析的方法和装 置,构思独特、方法巧妙、论证详实,充分利用了数学和计算机学科的规律,所述方法准确性 较高,运算量非常大,有一定的技术难度。
[0006] 本发明提供一种基于计算机的自然语言句法结构解析的方法,包括:
[0007] S1、读取待解析的经预处理的语句数据结构,所述经预处理的语句数据结构中仅 包括语句的并列关联词单元、从属关联词单元、谓语动词单元、名词代词单元,且各词单元 按照在所述经预处理的语句中的顺序进行编号,并标注类型;
[0008] S2、对每一谓语动词单元,生成对应的引导语元素、主语元素、谓语元素和宾语元 素;
[0009] 所述引导语元素的可能取值为编号小于对应的谓语动词单元编号的并列关联词 单元或从属关联词单元之一,或由一个编号小于对应的谓语动词单元编号的并列关联词单 元和一个与其相邻且编号小于对应的谓语动词单元编号且编号大于该并列关联词单元编 号的从属关联词单元构成的关联词组合向量之一,或空单元;
[0010] 所述主语元素的可能取值为编号小于对应的谓语动词单元编号的名词代词单元 之一,或最大词单元的编号小于对应的谓语动词单元编号的全体并列名词代词组合向量族 中所包含的并列名词代词组合向量之一,或在前出现的谓语元素对应的句法向量之一,或 空单元;
[0011] 所述谓语元素为对应的所述谓语动词单元;
[0012] 所述宾语元素的可能取值编号大于对应的谓语动词单元编号且小于相邻的在后 出现的谓语动词单元编号的名词代词单元之一,或最小词单元的编号大于对应的谓语动词 单元编号且小于相邻的在后出现的谓语动词单元编号的全体并列名词代词组合向量族中 所包含的并列名词代词组合向量之一,或在后出现的谓语元素对应的句法向量之一,或空 单元;
[0013] S3、根据所述引导语元素、主语元素、谓语元素和宾语元素的可能取值,获取每一 谓语动词单元对应的句法向量的所有可能取值,所述句法向量包括引导语元素、主语元素、 谓语元素和宾语元素;
[0014] S4、根据所有句法向量的所有可能取值,生成至少一个句法结构可能矩阵解,所述 句法结构可能矩阵解由按照谓语动词单元编号顺序排列的句法向量组成;
[0015] S5、验证根据句法结构可能矩阵解得到的语句是否与所述经预处理的语句完全相 同,如果完全相同,则将该句法结构可能矩阵解中的各句法向量作为句法结构解析结果之
[0016] 其中,S5包括按顺序依次执行以下操作,排除不符合条件的句法结构可能解:
[0017] S5. 1、如果存在不在该句法结构可能矩阵解中出现的顺序值,则排除该句法结构 可能矩阵解;
[0018] S5. 2、如果在不同的句法向量中出现相同的顺序值或出现相同的句法向量,则排 除该句法结构可能矩阵解;
[0019] S5. 3、在每一个可能矩阵解中,将与其他句法向量之间存在相互代入关系的句法 向量全都进行等量代换,如果在等量代换之后出现两个句法向量的交叉矛盾,则排除该句 法结构可能矩阵解;
[0020] S5. 4、在每一个可能矩阵解中,将与其他句法向量之间存在相互代入关系的句法 向量全都进行等量代换,如果在等量代换之后出现两个位置逆反的顺序值,则排除该句法 结构可能矩阵解;
[0021] S5. 5、在任意一个可能矩阵解中,如果存在与其他句法向量之间没有相互代入关 系的句法向量,则执行插空操作以获得所有该可能矩阵解所对应的可能句法解析结构,并 验证根据所述可能句法解析结构得到的语句是否与所述经预处理的语句完全相同,其进一 步包括:
[0022] S5. 5. 1、先对该可能矩阵解中相互之间存在代入关系的句法向量进行等量代换, 从而将该可能矩阵解转化为一组相互之间不存在代入关系的句法向量

【权利要求】
1. 一种基于计算机的自然语言句法结构解析的方法,包括: 51、 读取待解析的经预处理的语句数据结构,所述经预处理的语句数据结构中仅包括 语句的并列关联词单元、从属关联词单元、谓语动词单元、名词代词单元,且各词单元按照 在所述经预处理的语句中的顺序进行编号,并标注类型; 52、 对每一谓语动词单元,生成对应的引导语元素、主语元素、谓语元素和宾语元素; 所述引导语元素的可能取值为编号小于对应的谓语动词单元编号的并列关联词单元 或从属关联词单元之一,或由一个编号小于对应的谓语动词单元编号的并列关联词单元和 一个与其相邻且编号小于对应的谓语动词单元编号且编号大于该并列关联词单元编号的 从属关联词单元构成的关联词组合向量之一,或空单元; 所述主语元素的可能取值为编号小于对应的谓语动词单元编号的名词代词单元之一, 或最大词单元的编号小于对应的谓语动词单元编号的全体并列名词代词组合向量族中所 包含的并列名词代词组合向量之一,或在前出现的谓语元素对应的句法向量之一,或空单 元; 所述谓语元素为对应的所述谓语动词单元; 所述宾语元素的可能取值编号大于对应的谓语动词单元编号且小于相邻的在后出现 的谓语动词单元编号的名词代词单元之一,或最小词单元的编号大于对应的谓语动词单 元编号且小于相邻的在后出现的谓语动词单元编号的全体并列名词代词组合向量族中所 包含的并列名词代词组合向量之一,或在后出现的谓语元素对应的句法向量之一,或空单 元; 53、 根据所述引导语元素、主语元素、谓语元素和宾语元素的可能取值,获取每一谓语 动词单元对应的句法向量的所有可能取值,所述句法向量包括引导语元素、主语元素、谓语 元素和宾语元素; 54、 根据所有句法向量的所有可能取值,生成至少一个句法结构可能矩阵解,所述句法 结构可能矩阵解由按照谓语动词单元编号顺序排列的句法向量组成; 55、 验证根据句法结构可能矩阵解得到的语句是否与所述经预处理的语句完全相同, 如果完全相同,则将该句法结构可能矩阵解中的各句法向量作为句法结构解析结果之一; 其中,S5包括按顺序依次执行以下操作,排除不符合条件的句法结构可能解: S5. 1、如果存在不在该句法结构可能矩阵解中出现的顺序值,则排除该句法结构可能 矩阵解; S5. 2、如果在不同的句法向量中出现相同的顺序值或出现相同的句法向量,则排除该 句法结构可能矩阵解; S5. 3、在每一个可能矩阵解中,将与其他句法向量之间存在相互代入关系的句法向量 全都进行等量代换,如果在等量代换之后出现两个句法向量的交叉矛盾,则排除该句法结 构可能矩阵解; S5. 4、在每一个可能矩阵解中,将与其他句法向量之间存在相互代入关系的句法向量 全都进行等量代换,如果在等量代换之后出现两个位置逆反的顺序值,则排除该句法结构 可能矩阵解; S5. 5、在任意一个可能矩阵解中,如果存在与其他句法向量之间没有相互代入关系的 句法向量,则执行插空操作以获得所有该可能矩阵解所对应的可能句法解析结构,并验证 根据所述可能句法解析结构得到的语句是否与所述经预处理的语句完全相同,其进一步包 括: S5. 5. 1、先对该可能矩阵解中相互之间存在代入关系的句法向量进行等量代换,从而 将该可能矩阵解转化为一组相互之间不存在代入关系的句法向量
将可能 矩阵解中的句法向量称为第一类句法向量,将转化得到的句法向量
称为第 二类句法向量; S5. 5. 2、任取一个第二类句法向量
按照预定的方向逐一标注
中的每一个句法元 素的顺序值;标注句法元素的顺序值之后,任取
中的第i个句法元素,仅在该句法元素的 第一侧构造唯一的空位;造空之后,任取一个句法向量
以外的第二类句法向量
以整 体插空的方式将句法向量
插入所构造的空位,进而生成一个新的句法向量,将这个新句 法向量记为
并将整体插空而得到的句法向量,统称为第三类句法向量; S5. 5. 3、对第三类句法向量
按照预定的方向对从向量
中的第 一侧第一个句法元素开始到向量
中包含的向量
的第二侧第一个句法元素为 止的每一个句法元素,全都标注顺序值;位于向量
中包含的向量1
第一侧的元 素,不标注顺序值;将向量
的第二侧的第一个句法元素记为
将按照前述方式对向 量
标注的句法向量部分,记为甩尾句法向量
标注顺序值之后,任 取一个前述的甩尾向量中的第j个句法元素,仅在该元素第一侧构造唯一的空位;造空之 后,任取一个未使用过的第二类句法向量
以整体插空的方式将句法向量
插入所构造 的空位,进而生成一个新的句法向量,则将新生成的句法向量记为
;或 者 第三类句法向量
按照预定方向,对句法向量
中的每一个句法 元素全都标注顺序值;标注句法元素的顺序值之后,任取一个
中的第t个句法 元素,在该句法元素的第一侧构造唯一的空位;造空之后,任取一个未使用过得第二类句法 向量
以整体插空的方式将该向量
插入前面构造的空位,进而生成一个新向量,则该新 向量记为
S5. 5. 4、重复执行S5. 5. 3,每当上一次造空和插空步骤结束的时候,对经过上一次造空 和插空步骤而得到的第三类句法向量进行下一次的造空和插空操作,直至将所有第二类句 法向量
全部插空完毕,最后得到一个单行的第三类句法向量,将所述最后得到的 第三类句法向量称为最终单行向量; S5. 5. 5、如果一个可能句法解析结构对应的所有所述最终单行向量中均存在两个位置 逆反的顺序值,则排除该可能句法解析结构; S5. 5. 6、重复执行S5. 5. 2至S5. 5. 5直至所有可能句法解析结构被遍历。
2.根据权利要求1所述的基于计算机的自然语言句法结构解析的方法,其特征在于, S2包括生成并列名词代词组合向量族: S2. 1选取不重复的两个名词代词单元: A、 如果介于这两个名词代词单元之间没有其他词单元,则将这两个名词代词单元作为 一个并列名词代词组合向量,并保留该并列名词代词组合向量; B、 如果介于这两个名词代词单元之间存在其他词单元,则检查介于这两个名词代词单 元之间的每一个词单元:如果介于这两个名词代词单元之间的任意一个词单元,全都是名 词代词单元或并列关联词单元,则将所选取的两个名词代词单元和介于这两个名词代词单 元之间的全体词单元作为一个并列名词代词组合向量,并保留该并列名词代词组合向量; 否则,不生成并列名词代词组合向量; S2. 2复执行S2. 1直至所有的名词代词单元的组合方式被遍历,生成获得的所有的并 列名词代词组合向量; S2. 3如果该可能句法解析结构存在并列名词代词组合向量,则对所有的并列名词代词 组合向量进行划分,从而形成若干个并列名词代词组合向量族,使得:在每一个并列名词代 词组合向量族中,该并列名词代词组合向量族中所包含的每一个并列名词代词组合向量全 都包含了两个共同的名词代词单元。 S2. 4在每一个名词代词组合向量族中,选取所有名词代词组合向量中所包含的编号最 大的词单元,作为该名词代词组合向量族的最大词单元,以备后续生成主语时使用;选取所 有名词代词组合向量中所包含的编号最小的词单元,作为该名词代词组合向量族的最小词 单元,以备后续生成宾语时使用。
3. 根据权利要求1所述的基于计算机的自然语言句法结构解析方法,其特征在于,生 成对应的主语元素包括: 当对应的谓语动词单元编号是最小的谓语动词单元编号时,所述主语元素的可能取值 为编号小于对应的谓语动词单元编号的名词代词单元之一,或其最大词单元的编号小于对 应的谓语动词单元编号的全体并列名词代词组合向量族中所包含的并列名词代词组合向 量之一,或空单元。 当对应的谓语动词单元编号不是最小的谓语动词单元编号时,所述主语元素的可能取 值为编号小于对应的谓语动词单元编号的名词代词单元之一,或最大词单元的编号小于对 应的谓语动词单元编号的全体并列名词代词组合向量族中所包含的并列名词代词组合向 量之一,或在前出现的谓语动词单元对应的句法向量之一,或空单元。
4. 根据权利要求1所述的基于计算机的自然语言句法结构解析的方法,其特征在于, 生成对应的宾语元素包括: 当对应的谓语动词单元编号是最大的谓语动词单元编号时,所述宾语元素的可能取值 为编号大于对应的谓语动词单元编号的名词代词单元之一,或其最小词单元的编号大于对 应的谓语动词单元编号的全体并列名词代词组合向量族中所包含的并列名词代词组合向 量之一,或空单元。 当对应的谓语动词单元编号不是最大的谓语动词单元编号时,所述宾语元素的可能取 值为编号大于对应的谓语动词单元编号且小于相邻的在后出现的谓语动词单元编号的名 词代词单元之一,或其最小词单元的编号大于对应的谓语动词单元编号且小于相邻的在后 出现的谓语动词单元编号的全体并列名词代词组合向量族中所包含的并列名词代词组合 向量之一,或在后出现的谓语动词单元对应的句法向量之一,或空单元。
5. 根据权利要求1所述的基于计算机的自然语言句法结构解析的方法,其特征在于, 在S4和S5两个步骤中,利用与句法结构可能线性表达式解替代所述句法结构可能矩阵 解; 所述句法结构可能线性表达式解与所述句法结构可能矩阵解等价; 所述句法结构可能线性表达式解包括由按照谓语动词单元编号顺序排列的句法向量 表达式组成;每个所述句法向量表达式为对应的句法向量的引导语元素、主语元素、谓语元 素、宾语元素按照顺序逐项偏加起来的表达式。
6. 根据权利要求1所述的基于计算机的自然语言句法结构解析的方法,其特征在于, 所述方法还包括: 将句法结构解析结果中的各句法向量以及对应的句法结构关系用树状结构在人机交 互界面中进行显示。
7. -种基于计算机的自然语言句法结构解析的装置,包括: 读取部件,用于读取待解析的经预处理的语句数据结构,所述经预处理的语句数据结 构中仅包括语句的并列关联词单元、从属关联词单元、谓语动词单元、名词代词单元,且各 词单元按照在所述经预处理的语句中的顺序进行编号,并标注类型; 元素生成部件,用于对每一谓语动词单元,生成对应的引导语元素、主语元素、谓语元 素和宾语元素; 其中,所述引导语元素的可能取值为编号小于对应的谓语动词单元编号的并列关联词 单元或从属关联词单元之一,或由一个编号小于对应的谓语动词单元编号的并列关联词单 元和一个与其相邻且编号小于对应的谓语动词单元编号且编号大于该并列关联词单元编 号的从属关联词单元构成的关联词组合向量之一,或空单元; 所述主语元素的可能取值为编号小于对应的谓语动词单元编号的名词代词单元之一, 或最大词单元的编号小于对应的谓语动词单元编号的全体并列名词代词组合向量族中所 包含的并列名词代词组合向量之一,或在前出现的谓语元素对应的句法向量之一,或空单 元; 所述谓语元素为对应的所述谓语动词单元; 所述宾语元素的可能取值编号大于对应的谓语动词单元编号且小于相邻的在后出现 的谓语动词单元编号的名词代词单元之一,或最小词单元的编号大于对应的谓语动词单 元编号且小于相邻的在后出现的谓语动词单元编号的全体并列名词代词组合向量族中所 包含的并列名词代词组合向量之一,或在后出现的谓语元素对应的句法向量之一,或空单 元; 向量生成部件,用于根据所述引导语元素、主语元素、谓语元素和宾语元素的可能取 值,获取每一谓语动词单元对应的句法向量的所有可能取值,所述句法向量包括引导语元 素、主语元素、谓语元素和宾语元素; 矩阵生成部件,用于根据所有句法向量的所有可能取值,生成至少一个句法结构可能 矩阵解,所述句法结构可能矩阵解由按照谓语动词单元编号顺序排列的句法向量组成; 求解部件,用于验证根据句法结构可能矩阵解得到的语句是否与所述经预处理的语句 完全相同,如果完全相同,则将该句法结构可能矩阵解中的各句法向量作为句法结构解析 结果之一; 其中,所述求解部件通过以下模块操作排除不符合条件的句法结构可能解: 第一排除模块,如果存在不在该句法结构可能矩阵解中出现的顺序值,则排除该句法 结构可能矩阵解; 第二排除模块,如果在不同的句法向量中出现相同的顺序值或出现相同的句法向量, 则排除该句法结构可能矩阵解; 第三排除模块,在每一个可能矩阵解中,将与其他句法向量之间存在相互代入关系的 句法向量全都进行等量代换,如果在等量代换之后出现两个句法向量的交叉矛盾,则排除 该句法结构可能矩阵解; 第四排除模块,在每一个可能矩阵解中,将与其他句法向量之间存在相互代入关系的 句法向量全都进行等量代换,如果在等量代换之后出现两个位置逆反的顺序值,则排除该 句法结构可能矩阵解; 第五排除模块,在任意一个可能矩阵解中,如果存在与其他句法向量之间没有相互代 入关系的句法向量,则执行插空操作以获得所有该可能矩阵解所对应的可能句法解析结 构,并验证根据所述可能句法解析结构得到的语句是否与所述经预处理的语句完全相同, 其进一步包括: 第一子模块,先对该可能矩阵解中相互之间存在代入关系的句法向量进行等量代换, 从而将该可能矩阵解转化为一组相互之间不存在代入关系的句法向量1
将 可能矩阵解中的句法向量称为第一类句法向量,将转化得到的句法向量
称 为第二类句法向量; 第二子模块、任取一个第二类句法向量
按照预定的方向逐一标注
中的每一个句 法元素的顺序值;标注句法元素的顺序值之后,任取
中的第i个句法元素,仅在该句法元 素的第一侧构造唯一的空位;造空之后,任取一个句法向量
以外的第二类句法向量
以整体插空的方式将句法向量
插入所构造的空位,进而生成一个新的句法向量,将这个 新句法向量记为
并将整体插空而得到的句法向量,统称为第三类句法向量; 第三子模块,对第三类句法向量
按照预定的方向对从向量
中的第一侧第一个句法元素开始到向量
中包含的向量
的第二侧第一个句 法元素为止的每一个句法元素,全都标注顺序值;位于向量
中包含的向量
第一侧的元素,不标注顺序值;将向量
的第二侧的第一个句法元素记为
将按照 前述方式对向量
标注的句法向量部分,记为甩尾句法向量
标注 顺序值之后,任取一个前述的甩尾向量中的第j个句法元素,仅在该元素第一侧构造唯 一的空位;造空之后,任取一个未使用过的第二类句法向量
以整体插空的方式将句 法向量
插入所构造的空位,进而生成一个新的句法向量,则将新生成的句法向量记为
或者 第三类句法向量
按照预定方向,对句法向量
中的每一个句法 元素全都标注顺序值;标注句法元素的顺序值之后,任取一个
中的第t个句法 元素,在该句法元素的第一侧构造唯一的空位;造空之后,任取一个未使用过得第二类句法 向量I
,以整体插空的方式将该向量
插入前面构造的空位,进而生成一个新向量,则该新 向量记为
第四子模块,重复第三子模块的操作,每当上一次造空和插空步骤结束的时候,对经过 上一次造空和插空步骤而得到的第三类句法向量进行下一次的造空和插空操作,直至将所 有第二类句法向量
全部插空完毕,最后得到一个单行的第三类句法向量,将所述 最后得到的第三类句法向量称为最终单行向量; 第五子模块,如果一个可能句法解析结构对应的所有所述最终单行向量中均存在两个 位置逆反的顺序值,则排除该可能句法解析结构; 第六子模块,重复调用第二子模块至第五子模块的操作直至所有可能句法解析结构被 遍历。
8.根据权利要求7所述的基于计算机的自然语言句法结构解析的装置,其特征在于, 还包括: 结果显示部件,将句法结构解析结果中的各句法向量以及对应的句法结构关系用树状 结构进行在人机交互界面上进行显示。
【文档编号】G06F17/27GK104156353SQ201410419634
【公开日】2014年11月19日 申请日期:2014年8月22日 优先权日:2014年8月22日
【发明者】秦一男 申请人:秦一男
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1