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

文档序号:6544891阅读:210来源:国知局
一种基于计算机的自然语言句法结构解析方法和装置制造方法
【专利摘要】本发明公开了一种基于计算机的自然语言句法结构解析方法和装置。本发明依据抽象代数、集合论、组合数学和计算语言学等学科的数学原理和相应的计算机技术,运用复合函数的数学思想,通过建立矩阵模型和线性模型来进行自然语言句法结构解析。所述方法较易于实现,且可以大幅度提高复合式句子结构解析的准确性。
【专利说明】一种基于计算机的自然语言句法结构解析方法和装置
【技术领域】
[0001]本发明涉及计算机数据处理领域,具体涉及一种基于计算机的自然语言句法结构解析方法和装置。
【背景技术】
[0002]自然语言处理是计算机科学领域和人工智能领域中的一个重要方向。它研究能实现人与计算机之间使用自然语言进行有效通信的各种理论和方法。
[0003]句法结构解析是自然语言处理的一个重要方面,其通过计算机对自然语言语句的句子成分进行自动划分以辅助对于语句的进一步处理。现有的句法结构解析技术中,通常米用概率上下文无约束算法(Probabilistic Context Free Grammars,PCFG),其基于自然语言具有复杂嵌套性的特点,计算语句与句法结构解析结果的规则匹配概率,选取概率最大的句法解析结果作为最终的句法结构。
[0004]但是,该方法复杂度高,而且,对于复合式句子结构的解析准确性还亟待进一步提闻。

【发明内容】

[0005]有鉴于此,本发明提供了一种基于计算机的自然语言句法结构解析方法和装置,既有较高的准确性,又较易于实现。
[0006]第一方面,提供一种基于计算机的自然语言句法结构解析方法,包括:
[0007]读取待解析的经预处理的语句数据结构,所述经预处理的语句数据结构中仅包括语句的关联词单元、谓语动词单元、名词代词单元,且各词单元按照在所述经预处理的语句中的顺序编号并标注类型;
[0008]对每一谓语动词单元,生成对应的引导语元素、主语元素、谓语元素和宾语元素;所述引导语元素的可能取值为编号小于对应的谓语动词单元编号的关联词单元之一,或空单元;所述主语元素的可能取值为编号小于对应的谓语动词单元编号的名词代词单元之一或空单元,或在前出现的谓语动词单元对应的句法向量之一;所述谓语元素为对应的所述谓语动词单元;所述宾语元素的可能取值为编号大于对应的谓语动词单元编号且小于相邻的在后出现的谓语动词单元编号的名词代词单元之一,或在后出现的谓语动词单元对应的句法向量之一;
[0009]根据所述引导语元素、主语元素、谓语元素和宾语元素的可能取值,获取每一谓语动词单元对应的句法向量的所有可能取值,所述句法向量包括引导语元素、主语元素、谓语元素和宾语元素;
[0010]根据所有句法向量的所有可能取值生成至少一个句法结构可能矩阵解,所述句法结构可能矩阵解由按照谓语动词单元编号顺序排列的句法向量组成;
[0011]验证根据句法结构可能矩阵解得到的语句是否与所述经预处理的语句完全相同,如果完全相同,则将该句法结构可能矩阵解中的各句法向量作为句法结构解析结果之一。[0012]优选地,生成对应的引导语元素包括:
[0013]当不存在编号小于对应的谓语动词单元编号的关联词单元时,所述引导语元素的可能取值为空单元;
[0014]当存在编号小于对应的谓语动词单元编号的关联词单元且其数量大于等于编号大于等于对应的谓语动词单元编号的谓语动词单元数量时,所述引导语元素的可能取值为编号小于对应的谓语动词单元编号的关联词单元之一;
[0015]当存在编号小于对应的谓语动词单元编号的关联词单元且其数量小于编号大于等于对应的谓语动词单元编号的谓语动词单元数量时,所述引导语元素的可能取值为编号小于对应的谓语动词单元编号的关联词单元之一,或空单元。
[0016]优选地,生成对应的主语元素包括:
[0017]当对应的谓语动词单元编号是最小的谓语动词单元编号时,所述主语元素的可能取值为编号小于对应的谓语动词单元编号的名词代词单元之一,或空单元;
[0018]当对应的谓语动词单元编号不是最小的谓语动词单元编号时,所述主语元素的可能取值为编号小于对应的谓语动词单元编号的名词代词单元之一,或在前出现的谓语动词单元对应的句法向量之一。
[0019]优选地,生成对应的宾语元素包括:
[0020]当对应的谓语动词单元编号是最大的谓语动词单元编号时,所述宾语元素的可能取值为编号大于对应的谓语动词单元编号的名词代词单元之一;
[0021]当对应的谓语动词单元编号不是最大的谓语动词单元编号时,所述宾语元素的可能取值为编号大于对应的谓语动词单元编号且小于相邻的在后出现的谓语动词单元编号的名词代词单元之一,或在后出现的谓语动词单元对应的句法向量之一。
[0022]优选地,验证根据句法结构可能矩阵解得到的语句是否与所述经预处理的语句完全相同包括:
[0023]将同一词单元重复出现的句法结构可能矩阵解首先排除;
[0024]在剩余的句法结构可能矩阵解中,基于行向量的相互引用进行代入、偏加、插空操作,排除由于两个行向量彼此互相包含而无法进行代入操作的句法结构可能矩阵解,然后把由其他句法结构可能矩阵解经操作得到的语句与所述经预处理的语句比较,判断由对应的句法结构可能矩阵解经代入、偏加、插空操作之后获得的语句是否与经预处理的语句完全相同。
[0025]优选地,当出现如下五种情况时,将对应的句法结构可能矩阵解排除:
[0026](I)有漏掉的词;
[0027](2)顺序值或句法向量出现重位;
[0028](3)出现了函数的代入交叉矛盾;
[0029](4)存在两个位置逆反的顺序值;
[0030](5)存在这样一个句法向量fj,找不到fj的明确位置,并且对于fj的每一个可以插空的空位,按照插空的方法对&进行代入之后,全都存在两个位置逆反的顺序值。
[0031]优选地,利用词单元编号替代词单元进行代入、偏加、插空操作,然后基于获得的语句序列是否为顺序递增的数字序列判断是否与经预处理的语句完全相同。
[0032]优选地,在根据所有句法向量的所有可能取值,生成至少一个句法结构可能矩阵解,所述句法结构可能矩阵解由按照谓语动词单元编号顺序排列的句法向量组成;以及验证根据句法结构可能矩阵解得到的语句是否与所述经预处理的语句完全相同,如果完全相同,则将该句法结构可能矩阵解中的各句法向量作为句法结构解析结果之一这两个步骤中,利用与句法结构可能线性表达式解替代所述句法结构可能矩阵解;
[0033]所述句法结构可能线性表达式解与所述句法结构可能矩阵解等价;
[0034]所述句法结构可能线性表达式解包括由按照谓语动词单元编号顺序排列的句法向量表达式组成;每个所述句法向量表达式为对应的句法向量的引导语元素、主语元素、谓语元素、宾语元素按照顺序逐项偏加起来的表达式。
[0035]第二方面,提供一种基于计算机的自然语言句法结构解析装置,包括:
[0036]读取部件,用于读取待解析的经预处理的语句数据结构,所述经预处理的语句数据结构中仅包括语句的关联词单元、谓语动词单元、名词代词单元,且各词单元按照在所述经预处理的语句中的顺序编号并标注类型;
[0037]元素生成部件,用于对每一谓语动词单元,生成对应的引导语元素、主语元素、谓语元素和宾语元素;所述引导语元素的可能取值为编号小于对应的谓语动词单元编号的关联词单元之一,或空单元;所述主语元素的可能取值为编号小于对应的谓语动词单元编号的名词代词单元之一或空单元,或在前出现的谓语动词单元对应的句法向量之一;所述谓语元素为对应的所述谓语动词单元;所述宾语元素的可能取值为编号大于对应的谓语动词单元编号且小于相邻的在后出现的谓语动词单元编号的名词代词单元之一,或在后出现的谓语动词单元对应的句法向量之一;
[0038]向量生成部件,用于根据所述引导语元素、主语元素、谓语元素、宾语元素的可能取值获取每一谓语动词单元对应的句法向量的所有可能取值,所述句法向量包括引导语元素、主语元素、谓语元素和宾语元素;
[0039]矩阵生成部件,用于根据所有句法向量的所有可能取值生成至少一个句法结构可能矩阵解,所述句法结构可能矩阵解由按谓语动词单元编号顺序排列的句法向量组成;
[0040]求解部件,用于验证根据句法结构可能矩阵解得到的语句是否与所述经预处理的语句完全相同,如果完全相同,则将该句法结构可能矩阵解中的各句法向量输出,并作为句法结构解析结果之一。
[0041]本发明依据抽象代数、集合论、组合数学和计算语言学等数学原理和相应的计算机技术,运用复合函数的数学思想,通过建立矩阵模型和线性模型来进行自然语言句法结构解析,所述方法较易于实现,且可以大幅度提高复合式句子结构解析的准确性。
【专利附图】

【附图说明】
[0042]通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚,在附图中:
[0043]图1是本发明实施例的基于计算机的自然语言句法结构解析方法的流程图;
[0044]图2是本发明实施例的基于计算机的自然语言句法结构解析装置的示意图。
【具体实施方式】
[0045]以下基于优选实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、流程、元件和电路并没有详细叙述。
[0046]依据抽象代数和计算语言学的理论,自然语言是词汇和标点符号集合上的自由幺半群。以下用英语为例进行说明,但是本领域技术人员容易理解,本发明的方法也适用于其他自然语言。
[0047]给定一个集合A,A上的符号串是由A中的元素邻接而成的,邻接时可以重复,形成一个有限长的线性阵列。例如:从集合{a,b,c},可以形成符号串acbaab。这个符号串包含a的三次出现,b的两次出现,c的一次出现,它不同于符号串acaabb。虽然每个符号的出现次数相同,但它们的次序不同。可见,符号串是有序的。特别地,长度为O的符号串是O符号串,记为e。由此,对于给定的有限的符号集合A,A上长度为η的符号串就是从自然数集N到A的一个映射:f:N — A。
[0048]从两个符号串出发,我们可以用邻接它们的办法构成新的符号串。例如,在符号串abac的右端邻接符号串bbac,便形成了新的符号串abacbbac。[0049]这种邻接符号串的运算称为:毗连运算,简称为毗连。
[0050]给定长度为η的符号串Φ和长度为m的符号串Ψ,其中:
[0051]Φ = {(I, X1), (2, x2), (3, x3),......, (η-1, Xn^1), (η, χη)};
[0052]ψ = {(I, Y1), (2, Y2), (3, y3),......,(m-1, ym^), (m, ym)};
[0053]Φ与Ψ的田比连记为:Φ ~ Ψ。它是长度为n+m且由集合{(I, X1), (2, χ2), (3,
X3),......,(η-1, Xn^1), (η, Xn), (η+1, Y1), (η+2, y2),......,(n+m, ym)}给出的符号串。那
么,Btt连便是定义在符号串上的一种二元运算,运算的结果是得到一个新的符号串。
[0054]Φ与Ψ的毗连,还可省略毗连记号~,简化记为:Φ Ψ。
[0055]则有:φ~ Ψ = φ Ψ。
[0056]毗连运算是可结合的,因为对于任何符号串Φ,Ψ,ω,有:
[0057]φ " ( ψ " ω ) = ( φ " ψ) " ω
[0058]现有的每个英语单词和英文标点符号都定义成一个符号,那么S中所有单词和标点符号的集合A = Ia1, a2, a3,..., an} (n e N)就是一个符号集。
[0059]任给的一个由英语单词和英文标点符号组成的有限长的符号串bib2……
bk(k e N),称为词单元或连续词串。对于任给的一个词单元a = Id1Id2......bm(m e N),称a
是由A中元素组成的词单元,当且仅当,b1; b2,…,bm e A。
[0060]长度为O的唯一的词单元称为空单元,记为e。
[0061]记由A中元素组成的全体词单元(连续词串)的集合为As,设语句S = aia2a3……an,其中,anS构成语句的词单元。代数系统(As,\ e)是英语单词和标点符号集合A上的自由幺半群。
[0062]各词单元按照其在语句中的顺序依次排列,其下标为顺序编号,记T(Ci)为词单兀α在句子S中的编号。
[0063]构造一个句法成分顺序映射ω,ω的条件如下:
[0064](I) ω: (a1; a2, a3,......,an} — N, N 为自然数集;
[0065](2)对任意一个 Ei1, e S,都有:ω (a) = T (a^。[0066]显然,ω是一个单映射。
[0067]同时,对于代数系统(As,~,e),定义二元关系〈口:
[0068]对于As中任意的词单元α,β e As,称a〈D β,当且仅当α,β的编号T (a),Τ(β)满足:Τ(α)〈Τ(β)。
[0069]依定义,二元关系〈□满足如下条件:
[0070](I)任给 a e As,都有 a 术□ a ;
[0071](2)对于任何 a, b, c e As,如果 a< Db,贝丨J b 术口 a ;
[0072](3)对于任何 a, b, c e As,如果 a〈 Db 且 b〈 □ c,贝丨J a< □ C。
[0073]则依据严格偏序关系的定义,二兀关系〈□是严格偏序关系。
[0074]同时,在代数系统(As,~,e)上,定义一个新的二元运算+〈。称+〈为定义在As中的严格偏序关系〈□上的偏加法运算,简称偏加,它满足如下特性:对于任何a,b e As,如果a〈Db,则有 a+〈b = a'b = ab。
[0075]我们可以确定:对于任何a,b e As,如果a〈 □ b,则有偏加法运算+〈和毗连运算~等价。偏加法运算+〈,可以看作是限制在严格偏序关系〈□上的毗连运算。
[0076]任一自然语言的语句S都可以看作由每个词单元依据严格偏序关系〈□连接而成的词串公式,即:S = ai+〈a2+〈a3+〈…+〈an。这一特点,对于展开数学处理非常有利。
[0077] 在本发明中,将构成语句的词单元%认定为常量。词单元%具有其语言属性,构成核心句子结构的词单元可分为关联词单元、谓语动词单元、名词代词单元三种类型。每个词单元包括至少一个自然语言词汇,其可以是词、特定结构的短语或多个同属性词的并列。
[0078]对于关联词单元,其可以是引导从句的连接代词或连接副词、引导从句的连接短语和连接并列句的并列连词,对于典型的引导词列举如下:that, what, which, who, whom,wherever, whenever, whose, where, when, why, how, whoever, whichever, while, whether,because, before, after, whatever, whomever, as, if, once, until, though, unless,although,no matter what,no matter who,no matter whom,no matter which,in that,in order that,as though,as if,even though,even if,so that,and,but,or,so,yet等。其主要包括:由单词充当引导从句的关联词单元,由短语充当引导从句的关联词单元,连接并列句与并列句的关联词单元。
[0079]对于谓语动词单元,其也可以是动词或动词短语,例如,can do, do。谓语被定义为英语中一个自然句里的主要动作语。结构上通常由两个部分构成:辅助动词+实义动词(主系表结构除外)。谓语有时态和语态的格式要求,用计算语言学的公式定义如下:
【权利要求】
1.一种基于计算机的自然语言句法结构解析方法,包括: 读取待解析的经预处理的语句数据结构,所述经预处理的语句数据结构中仅包括语句的关联词单元、谓语动词单元、名词代词单元,且各词单元按照在所述经预处理的语句中的顺序进行编号,并标注类型; 对每一谓语动词单元,生成对应的引导语元素、主语元素、谓语元素和宾语元素;所述引导语元素的可能取值为编号小于对应的谓语动词单元编号的关联词单元之一,或空单元;所述主语元素的可能取值为编号小于对应的谓语动词单元编号的名词代词单元之一或空单元,或在前出现的谓语动词单元对应的句法向量之一;所述谓语元素为对应的所述谓语动词单元;所述宾语元素的可能取值为编号大于对应的谓语动词单元编号且小于相邻的在后出现的谓语动词单元编号的名词代词单元之一,或在后出现的谓语动词单元对应的句法向量之一; 根据所述引导语元素、主语元素、谓语元素和宾语元素的可能取值,获取每一谓语动词单元对应的句法向量的所有可能取值,所述句法向量包括引导语元素、主语元素、谓语元素和宾语元素; 根据所有句法向量的所有可能取值,生成至少一个句法结构可能矩阵解,所述句法结构可能矩阵解由按照谓语动词单元编号顺序排列的句法向量组成; 验证根据句法结构可能矩阵解得到的语句是否与所述经预处理的语句完全相同,如果完全相同,则将该句法结构可能矩阵解中的各句法向量作为句法结构解析结果之一。
2.根据权利要求1所述的基于计算机的自然语言句法结构解析方法,其特征在于,生成对应的引导语元素包括: 当不存在编号小于对应的谓语动词单元编号的关联词单元时,所述引导语元素的可能取值为空单元; 当存在编号小于对应的谓语动词单元编号的关联词单元且其数量大于等于编号大于等于对应的谓语动词单元编号的谓语动词单元数量时,所述引导语元素的可能取值为编号小于对应的谓语动词单元编号的关联词单元之一; 当存在编号小于对应的谓语动词单元编号的关联词单元且其数量小于编号大于等于对应的谓语动词单元编号的谓语动词单元数量时,所述引导语元素的可能取值为编号小于对应的谓语动词单元编号的关联词单元之一,或空单元。
3.根据权利要求1所述的基于计算机的自然语言句法结构解析方法,其特征在于,生成对应的主语元素包括: 当对应的谓语动词单元编号是最小的谓语动词单元编号时,所述主语元素的可能取值为编号小于对应的谓语动词单元编号的名词代词单元之一,或空单元; 当对应的谓语动词单元编号不是最小的谓语动词单元编号时,所述主语元素的可能取值为编号小于对应的谓语动词单元编号的名词代词单元之一,或在前出现的谓语动词单元对应的句法向量之一。
4.根据权利要求1所述的基于计算机的自然语言句法结构解析方法,其特征在于,生成对应的宾语元素包括: 当对应的谓语动词单元编号是最大的谓语动词单元编号时,所述宾语元素的可能取值为编号大于对应的谓语动词单元编号的名词代词单元之一;当对应的谓语动词单元编号不是最大的谓语动词单元编号时,所述宾语元素的可能取值为编号大于对应的谓语动词单元编号且小于相邻的在后出现的谓语动词单元编号的名词代词单元之一,或在后出现的谓语动词单元对应的句法向量之一。
5.根据权利要求1所述的基于计算机的自然语言句法结构解析方法,其特征在于,验证根据句法结构可能矩阵解得到的语句是否与所述经预处理的语句完全相同,包括: 将同一词单元重复出现的句法结构可能矩阵解首先排除; 在剩余的句法结构可能矩阵解中,基于行向量的相互引用进行代入、偏加、插空操作,排除由于两个行向量彼此互相包含而无法进行代入操作的句法结构可能矩阵解,然后把由其他句法结构可能矩阵解经操作得到的语句与所述经预处理的语句比较,判断由对应的句法结构可能矩阵解经代入、偏加、插空操作之后获得的语句是否与经预处理的语句完全相同。
6.根据权利要求5所述的基于计算机的自然语言句法结构解析方法,其特征在于,当出现如下五种情况时,将对应的句法结构可能矩阵解排除: (1)有漏掉的词; (2)顺序值或句法向 量出现重位; (3)出现了函数的代入交叉矛盾; (4)存在两个位置逆反的顺序值; (5)存在这样一个句法向量fj,找不到fj的明确位置,并且对于fj的每一个可以插空的空位,按照插空的方法对&进行代入之后,全都存在两个位置逆反的顺序值。
7.根据权利要求1所述的基于计算机的自然语言句法结构解析方法,其特征在于,利用词单元编号替代词单元进行代入、偏加、插空操作,然后基于获得的语句序列是否为顺序递增的数字序列判断是否与经预处理的语句完全相同。
8.根据权利要求1所述的基于计算机的自然语言句法结构解析方法,其特征在于,在根据所有句法向量的所有可能取值,生成至少一个句法结构可能矩阵解,所述句法结构可能矩阵解由按照谓语动词单元编号顺序排列的句法向量组成;以及验证根据句法结构可能矩阵解得到的语句是否与所述经预处理的语句完全相同,如果完全相同,则将该句法结构可能矩阵解中的各句法向量作为句法结构解析结果之一这两个步骤中,利用与句法结构可能线性表达式解替代所述句法结构可能矩阵解; 所述句法结构可能线性表达式解与所述句法结构可能矩阵解等价; 所述句法结构可能线性表达式解包括由按照谓语动词单元编号顺序排列的句法向量表达式组成;每个所述句法向量表达式为对应的句法向量的引导语元素、主语元素、谓语元素、宾语元素按照顺序逐项偏加起来的表达式。
9.一种基于计算机的自然语言句法结构解析装置,包括: 读取部件,用于读取待解析的经预处理的语句数据结构,所述经预处理的语句数据结构中仅包括语句的关联词单元、谓语动词单元、名词代词单元,且各词单元按照在所述经预处理的语句中的顺序进行编号并标注类型; 元素生成部件,用于对每一谓语动词单元,生成对应的引导语元素、主语元素、谓语元素和宾语元素;所述引导语元素的可能取值为编号小于对应的谓语动词单元编号的关联词单元之一,或空单元;所述主语元素的可能取值为编号小于对应的谓语动词单元编号的名词代词单元之一或空单元,或在前出现的谓语动词单元对应的句法向量之一;所述谓语元素为对应的所述谓语动词单元;所述宾语元素的可能取值为编号大于对应的谓语动词单元编号且小于相邻的在后出现的谓语动词单元编号的名词代词单元之一,或在后出现的谓语动词单元对应的句法向量之一; 向量生成部件,用于根据所述引导语元素、主语元素、谓语元素、宾语元素的可能取值获取每一谓语动词单元对应的句法向量的所有可能取值,所述句法向量包括引导语元素、主语元素、谓语元素和宾语元素; 矩阵生成部件,用于根据所有句法向量的所有可能取值生成至少一个句法结构可能矩阵解,所述句法结构可能矩阵解由按照谓语动词单元编号顺序排列的句法向量组成; 求解部件,用于验证根据句法结构可能矩阵解得到的语句是否与所述经预处理的语句完全相同,如果完全相同,则将该句法结构可能矩阵解中的各句法向量输出,并作为句法结构解析结果之一。
【文档编号】G06F17/27GK103927298SQ201410172114
【公开日】2014年7月16日 申请日期:2014年4月25日 优先权日:2014年4月25日
【发明者】秦一男 申请人:秦一男
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1