首页 / 专利库 / 人工智能 / 人工智能 / 自然语言处理 / 共指消解 / 一种基于语义匹配驱动的自然语言知识获取方法

一种基于语义匹配驱动的自然语言知识获取方法

阅读:898发布:2020-07-23

专利汇可以提供一种基于语义匹配驱动的自然语言知识获取方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于语义匹配驱动的自然语言知识获取方法,包括如下过程:(1)定义 自然语言处理 的语义模型;(2)定义词汇语义的表示方法;(3)定义词汇间的语义匹配关系;(4)定义语句处理方法;(5)将分析结果转化为知识点。该方法利用语义匹配信息,结合少量自然语言中常见的语法规则,根据语义匹配值,能够在多种符合语法的分析方案中,选择一种比较符合语义逻辑的分析方案作为最终的分析结果。通过该方法可以进行自然语言语句分析并获取其中所蕴含的知识。实验证明,该方法具有较好的可行性。,下面是一种基于语义匹配驱动的自然语言知识获取方法专利的具体信息内容。

1.基于语义匹配驱动的自然语言知识获取方法,包括如下过程:
(1)定义自然语言处理的语义模型:包括定义词汇间的语义匹配关系;定义词汇的语义修饰目标;以及定义语句的语义匹配值;
(2)定义词汇语义的表示方法;
(3)词汇间的语义匹配关系:包括名词-名词间的语义匹配关系;名词-动词间的语义匹配关系;名词-形容词的语义匹配关系;并列语义匹配关系;副词的语义匹配关系;量词的语义匹配关系;代词的语义匹配关系;以及语法匹配关;
(4)定义语句处理方法:涉及语义结构的三个层次及其文法;包括获取最佳语法分析方案的思路,获取最佳的语法分析方案,以及简单子句的最佳语义匹配值等几部分;
(5)将分析结果转化为知识点。
2.根据权利要求1所述的基于语义匹配驱动的自然语言知识获取方法,其中步骤(1)按如下过程执行:
(1a)定义词汇间的语义匹配关系:
定义1:在词汇语义知识库中,任意两个实词WX和WY之间具有的内在语义联系,称为语义匹配关系,其中副词按实词对待;用函数match(WX,WY)来表示其密切程度,函数的值就是语义匹配值;语义匹配关系与具体语句无关;假如WX与WY之间没有语义匹配关系,则设置match(WX,WY)=MAX,MAX是一个大常数;
(1b)定义2:语句中的除去谓语中心词之外的任意实词Wi均语义修饰于 另外一个实词WGi,称WGi是Wi语义修饰目标;
(1c)定义3:在任意的语法分析方案Ai的情况下,假设V为谓语中心词,S为V的施动者,O为V的承受者,Wi是语句中的一个实词且!(Wi∈{S,V,O}),WGi是Wi的语义修饰目标,用函数match(Wi,WGi)表示其语义匹配值,那么,整个语句的语义匹配值ValueAi,可以用公式(1)来表示:
S和O的语义修饰目标是V,n是不包括S,V和O的实词的个数,KSVO和KWi为权值系数,语义匹配值越小表示语义匹配程度越大;
(1d)假设公理1——最佳语法分析公理:假设一个语句具有m种语法分析方案,最符合语义逻辑的语法分析方案Ai满足条件:Ai=argmin(ValueAi),即语义匹配值最小的语法分析方案是最佳语法分析方案。
3.根据权利要求1所述的基于语义匹配驱动的自然语言知识获取方法,其中步骤(2)按如下过程执行:
(2a)定义4——基本概念:在构建语义库前所设定的、无需进行语义定义的、并在语句分析和推理时由系统进行特别语义解释处理的有限符号集合,基本概念数量极少,用CWB={WB1,WB2…WBk}表示,默认每个基本概念WBi继承于根概念;
(2b)定义5——格:表示动作类概念与其他事物之间相关情况的深层语义关系的特殊基本概念集合,用CVC={C1,C2…Cm}表示;
(2c)定义6——模态:表示动作类概念的执行状态的特殊基本概念集合, 用CVM={M1,M2…Mn}表示;
(2d)定义7——基本的语义关系:在构建语义库前所设定的、不可改变的、并在语句分析时需要进行特别语义解释处理的语义关系,包括如下语义关系:
RC(V,C,W)格语义关系:用以表示动作类概念V与概念W具有格为C的深层语义关系,其中C∈CVC;
RM(V,M)模态语义关系:用以表示动作类概念V的执行状态为M,其中C∈CVM;
RAP(W,P)属性语义关系:用以表示概念P是名词类概念W的一个属性的语义关系;
RAS(W,S)状态语义关系:用以表示概念S是名词类概念W的一个状态的语义关系;
RD(W)继承语义关系:概念的语义定义式中只能使用一次;
RP(W1,W2)描述部分语义关系的有限集合:说明概念W2的语义是W1的语义的一部分;
RW(W1,W2)描述整体关系的有限集合:说明概念W1语义包含W2;
RVS(V,W)表示动作V的施动者是W的语义关系,RVO(V,W)表示动作V的承受者是W的语义关系;
(2e)定义8——扩展语义关系:在构建语义库过程中所新定义的语义关系集合,数量不限;在语句分析时,所有的扩展语义关系具有统一的处理方法,不进行特殊的处理;用RR(W1,W2)表示,说明被定义的概念W是W1和W2之间 的一种语义关系;在非定义式中,用RR(W,W1,W2)表示W1和W2之间存在名为W的扩展语义关系;
(2f)基于基本描述逻辑,对其概念定义按规则1到规则7进行限制和变换,成为概念语义定义方法;
规则1——概念定义规则:
1)假如WB1,WB2是基本概念,R1,R2是语义关系,则新符号
是概念;
2)假如WB1,WB2是概念,R1,R2是语义关系,则新符号
是概念;
在规则1中没有概念并、概念交、量词的使用规则,它们的处理方式见规则2、规则3,它们是为了把概念的定义方式转化为一组语义关系,并且要求名词满足单继承的原则;
规则2——概念并的处理规则:假如W1,W2是概念,W1,W2的最近共同祖先概念为WP,当新概念W具有W=W1∪W2的语义时,由于单继承规则,可将W定义为W=RD(WP)∩(RP(WP,W1)∪RP(WP,W2));
规则3——概念交的处理规则:假如W1,W2是概念,当新概念W具有W=W1∩W2的语义时,由于单继承规则,可将W定义为W=RD(W1)∩RW(W1,W2)或W=RD(W2)∩RW(W2,W1); 规则4——概念分类定义规则:自然语言中概念按性质被分类表示为名词、动词、形容词和副词;假设用Def(W)表示概念W的定义式,Num(R,W)为定义式中语义关系R的出现次数,每类词汇定义应满足如下规则:
名词的单继承:满足条件 的概念W;
动词:满足条件
形容词:满足条件
副词:满足条件
规则5——量词的处理规则:量词没有得到特殊的对待,被作为”次数”格语义关系的一个值表示动作的次数,作为“数量”属性语义关系的值来表示名词的个数;
规则6——实例设置规则:在定义概念W时,假如定义式中的概念Wi出现m次,而这m次出现指代的n个语义{S1,S2…Sn},则可用{W,W#1…W#n-1},来区别W的n个语义,W#i在推理时可解释为实例;
规则7——多义词处置规则:自然语言中有很多多义词,假如多义词W具有n个语义{S1,S2…Sn},则针对每一个具体语义定义一个概念,共定义n个概念{W@1,W@2…W@n}来区别表示这n个不同语义;
(2g)假设公理2:继承语义关系具有单向传递性,下层概念继承上层概念所具有语义关系;
定理1:根据继承关系RD,所有名词构成一棵树;
根据规则1到规则7和定义4到定义8,可以定义自然语言中词汇的语义;假设用一条有向线段来表示语义关系的话,根据定理1和词汇的定义和规则可知,词汇W的语义可以由名词树中的一组有向线段来表示。
4.根据权利要求1所述的基于语义匹配驱动的自然语言知识获取方法,其中步骤(3)按如下过程执行:
(3a)定义名词-名词间的语义匹配关系:
定义9——关联词汇集:名词定义式中所包含的所有词汇的集合,用CRW表示;
用∝为表示继承语义关系,WX∝WY表示WX继承于WY,并且规定W∝W;
(1)基本语义匹配关系
定义10——直接语义匹配关系:如果词汇WX、WY满足下述条件,用符号 表示:
条件:假设WY的关联词汇集是CWY,则
当 时,match(WX,WY)=KT*d(WX,WZ);
KT为匹配关系系数,根据所匹配的关系R的类型,设置为不同的常数,1≤KT≤3;
定义11——继承语义匹配关系:如果词汇WX、WY满足下述条件,用符号 表示: 条件:
当 时,match(WX,WY)=match(WX,WZ)+d(WY,WZ);
定义语义距离函数d(WX,WY):表示具有继承关系的两个词汇WX,WY之间的继承次数;
(2)包含语义匹配关系
定义12——显式语义包含关系:如果词汇WX、WY满足下述条件,用符号WX⊙WY表示;
条件:存在概念WZ,满足条件
当WX⊙WY时,有match(WX,WY)=KP*(d(WX,WZ)。KP为包含匹配关系系数;
定义13——隐含语义包含关系:如果词汇WX、WY满足下述条件,用符号WX○WY表示;
条件:存在概念WZ,满足条件
当WX○WY时,match(WX,WY)=KP*(d(WZ,WY));
定义14——包含语义匹配关系:如果词汇WX、WY满足下述条件,用符号WX◎WY表示:
条件:
当WX◎WY时,match(WX,WY)=min{match(WX,WZ)+match(WZ,WY),match (WX,WY)}定理3:当词汇WX、WY满足WX◎WY时,WY具有WX的语义关系;
(3b)名词-动词间的语义匹配关系
名词-动词的语义匹配关系可以分为两类:
1)SVO语义匹配关系:名词可能作施动者或动作的承受者;
2)格语义匹配关系:名词与动词具有格语义匹配关系;
假设动词为V,V的定义中的施动名词为S0,受动名词为O0;由于在定义时已经将S0设置为可能实施V的最高层名词,O0设置为承受该动作的最高层名词,所以只有同S0或O0具有某种关系的名词S和名词O才有可能执行动作V,即构成SVO的语义匹配;SVO语义匹配有6种情况,其值可用ValueSVO表示,计算公式如下:
ValueSVO=match(S,S0)+match(O,O0)
定义15(常规SVO语义匹配关系):满足条件(S∝S0)∩(O∝O0);
定义16(重载SVO语义匹配关系):满足条件:
对于名词S和O以及动词V,当V的定义中不满足SVO匹配时,而S、O的定义说明它们满足SVO匹配;
定义17——包含SVO语义匹配关系:
满足条件((S◎S0)∩(O∝O0))∪((S∝S0)∩(O◎O0));
定义18——相似SVO语义匹配关系:
满足条件((S∽S0)∩(O∝O0))∪((S∝S0)∩(O∽O0));
定义19——比喻SVO语义匹配关系:在下述条件下,猜测语句中可能存在比喻:
条件1:在整个语句中没有任何名词可以满足前四种SVO匹配;
条件2:语句中存在名词S或O,满足!(S∝S0)∩(O∝O0),猜测将S比喻为S0;
或条件3:语句中存在名词S或O,满足(S∝S0)∩!(O∝O0),猜测将O比喻为O0;
对于比喻SVO语义匹配关系,ValueSVO=KF*(match(S,WP)+match(O,WP));
KF为权值系数,WP是S和S0的最近共同祖先。因为属于猜测性质,KF的值应比较大,以防止不良影响;
定 义20—— 格语 义 匹 配关 系:对 于 名 词W和 动 词V,满足
match(W,V)=KC*d(W,WC),KC为权值系数;
(3c)名词-形容词的语义匹配关系
对于形容词WVA和名词WN,满足
match(WVA,WN)=KA*d(WN,W),KA为权值系数(一般KA=1);
(3d)并列语义匹配关系
并列语义匹配关系仅用于语句中并列结构的判断,以确定连词的辖域;
定义21——语义相似:由于名词定义采用了单继承的方法,两个名词WX、WY虽然在定义式中没有继承关系,但在语义上WX却可能是WY的一种,相当于描述逻辑中的概念蕴含,用符号WX∽WY表示;可对描述逻辑中的Tableau算法加以改进,以判断概念语义相似关系;
定义22——名词并列语义匹配关系:对于两个名词WX,WY可用match(WX,WY)=KT*(d(WX,WE)+d(WY,WE))计算出一个数值,作为启发信息,WE是WX、WY的距离最近的共同祖先节点;当满足WX∽WY时,语句中的WX与WY可能是并列关系;
定义23——动词并列语义匹配关系:对于两个动词VX,VY可用match(WX,WY)=KT*(d(SX0,SY0)+d(OX0,OY0))计算出一个数值,作为启发信息,{SX0,SY0,OX0,OY0}是WX,WY定义中的施动者和受动者;
(3e)副词的语义匹配关系:假设副词可以语义匹配于动词、形容词和副词,规定match(W1,W2)=0;量词的语义匹配关系:词汇库应保存量词与名词的关联关系;假如量词W可以修饰名词WN,则规定match(W,WN)=0;否则match(W,WN)=MAX;代词的语义匹配关系:根据代词的指代关系,将代词替换成相应的名词进行处理;
(3f)语法匹配关系
在具体的语句中,某些类型的词汇互相修饰,但词汇本身之间并没有内在的语义关系,只是在本语句内可能有语义修饰关系的一种语法现象,即语法上的修饰关系,包括以下情况:
不常见的词类间修饰关系:动词-动词之间,副词-名词之间以及形容词-动词之间;
这些都属于语法匹配关系,词汇本身之间没有内在的语义匹配关系,只是在语句中具有语法上的修饰关系而已;在语句分析过程中其语义匹配值可用match(WX,WY)=MAX/KG计算,KG是类型权值(一般情况下KG=1,或满足KG<1.5)。
5.根据权利要求1所述的基于语义匹配驱动的自然语言知识获取方法,其中步骤(4)按如下过程执行:
(4a)定义语义结构的三个层次及其文法
要根据本文的语义模型进行语句分析,必须具有适合语义模型的语句抽象表示方法;
任何语句都是由结构比较简单的语句经过迭代而形成的,短语被看成语句内的一个组成部分;为了满足语义模型的语义分析需要,根据语义结构的复杂程度和特点可以将语句的语义结构划分为三个层次:简单句、特殊简单句、复杂句;
定义24——简单句:仅有一个动词或形容词作谓语的语句CS,可用文法G1来抽象描述;
用格语法的思想设计文法G1,设计思路:假设V是谓语,S是V的施动者;O是V的承受者,AB是前置定语;AA是后置定语;PD是状语或补语,相当于格语法中的一组格;PC是一个的格内容;n是名词;NP为名词短语;
文法G1中的规则数目较多,其关键规则的设计思路如下:
1)CS→PDABSAAPDVPDABOAAPD
2)S→n|SAAABS
3)PD→PC|PDPC
S、O、AB、AA、PC中的介词、连词、助词、数词、量词的使用规则可以很容易的写出来;
简单句中的SVO总共具有6种不同顺序:SVO、SOV、VSO、OSV、VOS、OVS;SV、VS;简单句中有时会省略掉S或O,共有4种不同顺序:SV、VS、OV、VO;当不及物动词或形容词作谓语时,该形容词表示为V,具有2种不同顺序:SV、VS;总共具有10种顺序;文法的G1的具体表示方式如下:
定义25——特殊简单句:具有多个动词或形容词,但在语义上不包含从句的语句,可用文法G2来抽象描述;
文法G2的设计思路:在保证不会产生从句的基础上,向文法G1中添加不多的规则即可生成文法G2,主要有以下2种情况:
1)多个动词或形容词作谓语的情况;
2)动词或形容词作S、O、AB、AA、PC的情况
文法G2的关键是动词短语VV前后不能直接跟名词短语NP,即不能出现NP+VV或VV+NP;
文法的G2的具体表示方式如下:
定义26——复杂句:在文法G2中添加规则NP→CS,形成文法G3;因为规则NP→CS说明一个简单句或特殊简单句可以作一个复杂句中任意成分,实现了对 简单句递归,因此文法G3可以描述复杂句;
(4b)获取最佳语法分析方案的思路
(1)词汇歧义消解方法
假设W1W2…Wk的词汇语义个数分别为n1,n2…nk,针对每个语义进行全排列,结果为{L1,L2…LM},则M=n1*n2*…*nk,假设其中一个的 是Wm的第n个词义,则Li是
CS的一个无词汇歧义的词汇序列;在语法分析过程中穷举每个{L1,L2…LM}的分析结果,选择最佳的Li就可以消解词汇歧义;
(2)分析思路
根据公理1,获得所有的语法分析方案,针对每个语法分析方案Ai,根据公式1计算出Ai所对应的语义匹配值,并选择出最佳的语法分析方案;
定义27——简单子句:语句中满足文法G1或G2的子串是简单子句;
假设公理4——语义修饰目标公理:假设实词W的语义修饰目标是WGi,则对于语句中的符合语义逻辑的简单子句CS,满足(W∈CS)→(WGi∈CS);对于定语AB(假设紧邻S),满足(W∈AB)→(WGi∈(AB∪S)),定语的其它情况类似;对于状语或补语(PD),满足(W∈PD)→(WGi∈(PD∪V));
依据语义语义修饰目标的特点,所有的语法分析方案可分为2层:
1)简单子句级语法分析方案;
2)简单子句内部的语法分析方案;
(4c)获取最佳的语法分析方案
(1)可归结简单子句的判断条件
针对语句CS,进行文法G1、G2、G3的CYK算法分析,满足表1中条件的的子串s(i,j)是可归结的简单子句;
表1可归结简单子句的判断条件
(2)自底向上的简单子句归结法
可用自底向上的简单子句归结法求取最佳的从句级语法分析方案,见算法4:
算法1——简单子句归结法:
1)针对语句CS,根据表1的判断条件,找出可归结简单子句所对应的子串集合{s1,s2…sm};
2)针对每个子句si,根据算法2计算出简单子句si的最佳语义匹配值,将si归结为NP,设置NP的归结语义;
3)令CS等于归结结果,将递归过程中的简单子句si的最佳语义匹配值求和,进行步骤
1-3的递归;
4)具有最佳全句语义匹配值所对应的简单子句si的范围和归结顺序即为最佳的语法分析方案;
计算简单子句的最佳语义匹配值是算法的关键,具体方法见步骤(4d)“简单子句的最佳语义匹配值”;
在算法中,在简单子句选择时采用了穷举法,可以求出理论上的最佳语法分析方案;但这种方法的计算量较大,不易实现;但当可归子句的数量小于4时,也可以考虑;当可归子句数量过多时,可仅选择k(k(3)归结语义
在算法1中,将简单子句CS归结为NP后,NP没有语义,无法进行下一步的语义匹配计算,解决的方式如下:
1)规定由归结而来NP可匹配于任何词汇W,语义匹配值为:
match(NP,W)=MAX/KC(一般有KC>1)
2)假如NP作新的目标子句的S或O,则可将NP的语义设置为原CS中的S或O;
(4d)获取简单子句的最佳语义匹配值
要计算出简单子句的最佳语义匹配值,根据公理1和公理4,简单子句内部有多种语法分析方案,必须求出所有的语法分析方案,针对每种语法分析方案,其实词的语义修饰目标是确定的,就可根据公式1计算得到该语法分析方案下的语义匹配值,具有最小语义匹配值的语法分析方案就是所需的分析结果;
简单子句内部的语法分析方案可分为3层:1)SVO组合层次;2)AA、PD、AB层次;3)AA、PD、AB内部的语法分析方案;可通过算法2选择出其中最佳的语法分析方案;
算法2——简单子句的最佳语义匹配值:
1)假如简单子句是特殊简单句,找到所有的将其归结为简单句的方法
2)针对每种归结方法,将特殊简单句归结为简单句
3)针对该简单句,找出所有可能的SVO组合方法
4)针对每种SVO组合方法,将简单句CS分段,如果S或O为短语,则进行算法3;假设CS被分为{L1,L2..Ln}
5)每个分段Li内最多可包含AA、PD、AB三部分内容,找出Li中的所有AA、PD、AB划分方法
6)针对每种AA、PD、AB划分方法,通过语法和语义匹配分析相结合的手段,确定每个实词的语义修饰目标,使AA、PD、AB的语义匹配值最小
7)求取全句的语义匹配值,选择语义匹配值最小所对应的分析过程作为最佳的语法分析方案
假设 是针对简单子句CS进行文法G1的CYK算法的运算结果,表示能生成子串s(i,j)的文法符号集;
(1)SVO组合层次的语法分析方案
在简单句中,假设名词W1和W2与动词V满足SVO匹配,则{W1,V,W2}是一个SVO组合。
但S(O类似)可能是一个短语,当句中存在{W1,V,W3}和{W2,V,W3}SVO匹配,且V,W3不在W1和W2中间,且W1和W2中间的子串s(m,n)满足: 时,在W1+s(m,
n)+W3所组成的短语是S,同理可以获得更长的S或O;
算法3——S或O分段:
1)获得短语S或O,根据本步骤所述原理,找出S中满足SVO匹配的所有 名词,假设为{n1,n2..nm}
2)根据{n1,n2..nm}将短语S分为m-1段,根据规则S→n|SAAABS可知每个不为空的分段可能包含AAAB
(2)AA、PD、AB层次的划分方法
假设分段Li的子串为s(m,n),则满足 的p,q是符
合语法的AA、PD、AB划分方法,分段结果为:AA=s(m,p),PD=s(p,q)AB=s(q,n);
(3)AA、PD、AB内部的最佳语法分析方案
定理2:AA、PD、AB内部最佳语法分析方案是当AA、PD、AB内的每个实词都具有最佳语义修饰目标情况下所对应的语法分析方案;
定义28——简单名词短语:不包含动词和形容词的名词短语就是简单名词短语;
定理3:简单句的定语AA或AB的最佳语法分析方案等价于一个简单名词短语的最佳语法分析方案;
证明:由于简单句仅包含一个动词或形容词作谓语V,因此AA、AB中不包含动词和形容词。根据公理4,AA、AB的语法分析方案等价于简单名词短语NP的语法分析方案,NP∈{(AB+S),(AA+S),(AB+O),(AA+O)};
简单名词短语NP的不同语法分析方案仅受{连词/介词/助词/量词}的影响;语法分析的关键是选定{连词/介词/助词/量词}的辖域和它们的归结顺序;
A、辖域的确定:在{连词/介词/助词/量词}中,假设wB为前置类型的,wM 为前置类型的,则其辖域可归结为两种形式1)..NBn..NB1...wM..NA1..NAm..;2)wB..NBn..NB1...wM..NA1..NAm...;其中{NB1,NB2...NBn}是辖域内前半部分的名词,{NA1,NA2...NAm}是辖域内前半部分的名词;
根据汉语的后向语义修饰习惯,可在{NA1,NA2...NAm}中找出符合语法的与NB1具有最佳语义匹配值的名词NAj作为辖域后界;形式1的辖域前界可用类似的方法确定;
(2)归结顺序的确定:{连词/介词/助词/量词}及其辖域应可按某条文法规则归
结,可用穷举法求出它们的最佳归结顺序;一般情况下,简单句语句进行了多次分段后,AA、AB中包含的{连词/介词/助词/量词}的数目n一般小于4,具有计算可行性;
定义29——名词序列:不存在{连词/介词/助词/量词}的简单名词短语是名词序列;
当{连词/介词/助词/量词}都归结后,简单名词短语就被成为了一个名词序列,另外{连词/介词/助词/量词}辖域内部可能也存在一个或两个名词序列;在名词序列中仅仅名词影响语义修饰关系,根据汉语的后向语义修饰习惯,假设名词序列为LN=W1W2…Wm;
则通过语义确定LN中任意名词修饰目标具体方法如下:
算法4——名词序列的最佳语义修饰目标:
设置集合CW为空,对于LN中的每一个名词Wi,假如match(Wi,Wm)1)假设CW的元素按先后的顺序为W1-W2-...-Wn(n>1),则做如下操作:将 LN分成n+1段,设置它们的语义修饰目标为Wm,并对每一段进行递归;
2)当CW中只有一个名词时,进行步骤3-4;
3)设置前向修饰关系:针对任意分段,假如存在WxWx+1…Wy-1Wy,满足条件:①任意Wx+1…Wy之间的名词与Wy后的名词的语义匹配值为MAX;②match(Wy,Wx)4)假如LN中还有名词Wy没有修饰目标,则设置其修饰目标为Wy+1;
PD的分析方法类似于AA、AB,关键是根据介词进行界限划分,将介词辖域内的内容也转化为一个简单名词短语;由于较为繁琐,这里不详细论述;
(4)特殊简单句的处理方法
归结所有的非谓语动词/形容词,将语句转化为简单句,选择最佳的归结方案;处理方法如下:
1)对语句进行文法G2的CYK算法,找到所有可能做谓语的动词(形容词)短语,可能具有多种方案;
2)针对每一种方案,归结其余的动词(或形容词),选取语义匹配值最小的分析方案;
归结非谓语动词(形容词)时也需要设置归结语义。
6.根据权利要求1所述的基于语义匹配驱动的自然语言知识获取方法,其中步骤(5)按如下过程执行:
根据具有最佳语义匹配值的语法分析结果,将简单句转化为一个知识点,将复杂句的每个简单子句转化为知识点,整个复杂化句转化为一组知识点;
将语句转化为以结构化数据形式存放的知识点后,就可方便地对这些知识 数据进行各种智能信息处理。

说明书全文

一种基于语义匹配驱动的自然语言知识获取方法

技术领域

[0001] 本发明属于计算机自然语言理解领域,特别涉及一种基于语义匹配驱动的自然语言知识获取方法。

背景技术

[0002] 在知识集成中,大量的知识被蕴含在自然语言语句中,只有实现了自然语言语句的自动分析,才能有效获取语句中所蕴含的知识。因此,自然语言处理技术就成为了知识集成的关键基础技术。
[0003] 自然语言处理技术主要有基于规则的方法和基于统计的方法两种思路,但这两种方法都没有充分地利用语义信息,很难取得高质量的处理结果。因此,研究者越来越重视语义的作用,出现了基于Wordnet、hownet、framenet等词汇语义知识库来分析自然语言的方法,但这些知识库中所包含语义信息的描述粒度太粗,没有表示到词素的层次,也不够准确。这些缺点致使很难利用它们形成一套系统的语句处理方法和模型。
[0004] 在基于语义的语句分析方面,学者们作了一定程度的研究:姚天顺研究过基于语义驱动的自然语言理解,但词汇语义的描述比较粗糙,对语义信息的利用也不够充分,分析方法也不够系统;HPSG方法是基于词汇信息驱动的,但词汇的信息主要是用来描述语法规则的,对语义的描述过少也不够准确,与汉语的特点不相适应。文献(Tom OH,Janyce W,Exploiting Semantic Role Resources for Preposition Disambiguation[J].Computational Linguistics,2008,35(2):151-184.)研究了将语料树库与framenet相结合的介词短语消歧,文献(Patwardhan S,Banerjee S,Pedersen T.Using measures of semantic relatedness for word sense disambiguation[C].Proceedings of the4th International Conference on Intelligent Text Processing and Computational Linguistics(CICLING-03),Mexico City,2003 241–257.)研究了使用语义关系进行词汇语义消歧。虽然这些研究取得一定的成果,但还没有形成一套系统地利用语义信息进行自然语言处理的模型和方法。
[0005] 要形成一个完整的自然语言处理的语义模型,必须较为准确地表示词汇的语义,应具体到词素的级别才可能满足语义模型的要求,而现有的词汇语义表示方式大多没有对此进行深入的研究。格语法使用“格”来描述深层语义关系,但格语法仅仅被用来进行语法分析,很少用格来描述词汇的语义。模态是描述动作执行状态关键因素之一,自然语言中很多词汇的准确语义在本质上蕴含了某个动作概念的模态,而现有的各种词汇语义表示方式没有考虑模态,因此很难准确地描述概念的语义。本体能够严格地表示概念语义,本体一般使用描述逻辑来表示所有概念;但描述逻辑中将概念之间的语义关系进行平等的对待,没有对动作性概念的语义关系的本质特征进行特殊的语义解释和处理。

发明内容

[0006] 针对现有技术中存在的不足,本发明的目的在于提供一种利用语义信息来进行自然语言处理并获取其中所蕴含的知识的基于语义匹配驱动的自然语言知识获取方法。
[0007] 本发明的技术方案是这样实现的:为了能够自动分析自然语言并获取中所蕴含的知识,提出了一个自然语言处理的语义模型,该模型使用一个假设公理来判定最佳语法分析方案。为了满足该模型的语义表示需求,对描述逻辑进行了特殊化处理,使之能够更适合地表示自然语言词汇语义。基于该模型,提出了一种基于词汇语义匹配驱动的自然语言分析方法;该方法利用语义匹配信息,结合少量自然语言中常见的语法规则,根据语义匹配值,能够在多种符合语法的分析方案中,选择一种比较符合语义逻辑的分析方案作为最终的分析结果,通过该方法可以进行自然语言语句分析并获取其中所蕴含的知识。本发明基于语义匹配驱动的自然语言知识获取方法,包括如下过程:
[0008] (1)定义自然语言处理的语义模型:包括定义词汇间的语义匹配关系;定义词汇的语义修饰目标;以及定义语句的语义匹配值;
[0009] (2)定义词汇语义的表示方法;
[0010] (3)定义词汇间的语义匹配关系:包括名词-名词间的语义匹配关系;名词-动词间的语义匹配关系;名词-形容词的语义匹配关系;并列语义匹配关系;副词的语义匹配关系;量词的语义匹配关系;代词的语义匹配关系;以及语法匹配关;
[0011] (4)定义语句处理方法:涉及语义结构的三个层次及其文法;包括获取最佳语法分析方案的思路,获取最佳的语法分析方案,以及简单子句的最佳语义匹配值等几部分;
[0012] (5)将分析结果转化为知识点。
[0013] 本发明的有益效果是:本发明提出了一个自然语言处理的语义模型。在该模型中,提出了语义匹配的概念,使用一个假设公理来判定最佳语法分析方案。由于使用该模型必须具有较为准确的词汇语义表示方式,本发明对基于描述逻辑的语义表示方式作了特殊化处理,其特点为:
[0014] (1)将“格”和“模态”作为基本的语义关系;
[0015] (2)对描述逻辑进行了变型、限制并赋予特殊的语义解释,使之便于表示自然语言的词汇语义;
[0016] 基于该模型,本发明提出了一种基于语义匹配驱动的自然语言处理的方法,该方法具有以下的特点:
[0017] (1)提出了基于语义匹配的自底向上的简单子句归结法;
[0018] (2)语句分析的目的和结果是获得语句中隐含的知识。附图说明
[0019] 图1是本发明基于语义匹配驱动的自然语言知识获取方法中基于语义关系的词汇定义;
[0020] 图2是本发明基于语义匹配驱动的自然语言知识获取方法中文法规则示意图。

具体实施方式

[0021] 本发明基于语义匹配驱动的自然语言知识获取方法的具体实现过程如下:
[0022] 步骤1:
[0023] (1a)定义词汇间的语义匹配关系:
[0024] 定义1:在词汇语义知识库中,任意两个实词WX和WY之间具有的内在语义联系,称为语义匹配关系。用函数match(WX,WY)来表示其密切程度,函数的值就是语义匹配值。语义匹配关系与具体语句无关。假如WX与WY之间没有语义匹配关系,则设置match(WX,WY)=MAX,MAX是一个大常数。
[0025] (1b)定义2:语句中的任意实词Wi(除去谓语中心词)均语义修饰于另外一个实词WGi,称WGi是Wi语义修饰目标。
[0026] (1c)定义3:在特定的语法分析方案Ai的情况下,假设V为谓语中心词,S为V的施动者,O为V的承受者,Wi是语句中的一个实词且!(Wi∈{S,V,O}),WGi是Wi的语义修饰目标,用函数match(Wi,WGi)表示其语义匹配值,那么,整个语句的语义匹配值ValueAi可以用公式(1)来表示:
[0027]
[0028] S和O的语义修饰目标是V,n是实词的个数(不包括S,V,O),KSVO和KWi为权值系数。需要注意的是,值越小表示语义匹配程度越大。
[0029] (1d)假设公理1(最佳语法分析公理):假设一个语句具有m种语法分析方案,最符合语义逻辑的语法分析方案Ai满足条件:Ai=argmin(ValueAi),即语义匹配值最小的语法分析方案是最佳语法分析方案。
[0030] 步骤2:
[0031] (2a)定义4(基本概念):在构建语义库前所设定的、无需进行语义定义的、并在语句分析和推理时由系统进行特别语义解释处理的有限符号集合,基本概念数量极少,用CWB={WB1,WB2…WBk}表示,默认每个基本概念WBi继承于根概念。
[0032] (2b)定义5(格):表示动作类概念与其他事物之间相关情况的深层语义关系的特殊基本概念集合,用CVC={C1,C2…Cm}表示。例如“原因”是一个表示动作原因的一个格。
[0033] (2c)定义6(模态):表示动作类概念的执行状态的特殊基本概念集合,用CVM={M1,M2…Mn}表示。例如“完成”是一个表示动作已经执行完毕的一个模态。
[0034] (2d)定义7(基本的语义关系):在构建语义库前所设定的、不可改变的、并在语句分析时需要进行特别语义解释处理的语义关系,包括如下语义关系:
[0035] RC(V,C,W)格语义关系:用以表示动作类概念V与概念W具有格为C的深层语义关系,其中C∈CVC;
[0036] RM(V,M)模态语义关系:用以表示动作类概念V的执行状态为M,其中C∈CVM;
[0037] RAP(W,P)属性语义关系:用以表示概念P是名词类概念W的一个属性的语义关系;
[0038] RAS(W,S)状态语义关系:用以表示概念S是名词类概念W的一个状态的语义关系;
[0039] RD(W)继承语义关系:概念的语义定义式中只能使用一次,例如W1继承于W2;
[0040] RP(W1,W2)描述部分语义关系的有限集合:说明概念W2的语义是W1的语义的一部分;
[0041] RW(W1,W2)描述整体关系的有限集合:说明概念W1语义包含W2;
[0042] RVS(V,W)表示动作V的施动者是W的语义关系,RVO(V,W)表示动作V的承受者是W的语义关系。
[0043] (2e)定义8(扩展语义关系):在构建语义库过程中所新定义的语义关系集合,数量不限。在语句分析时,所有的扩展语义关系具有统一的处理方法,不进行特殊的处理。用RR(W1,W2)表示,说明被定义的概念W是W1和W2之间的一种语义关系。在非定义式中,用RR(W,W1,W2)表示W1和W2之间存在名为W的扩展语义关系。
[0044] (2f)基于基本描述逻辑,对其概念定义按规则1-7进行限制和变换,成为本文的概念语义定义方法。
[0045] 规则1(概念定义规则):
[0046] 1)假如WB1,WB2是基本概念,R1,R2是语义关系,则新符号
[0047]
[0048] 是概念;
[0049] 2)假如WB1,WB2是概念,R1,R2是语义关系,则新符号
[0050]
[0051] 是概念;
[0052] 在规则1中没有概念并、概念交、量词的使用规则,它们的处理方式见规则2-2。规则2-3是为了把概念的定义方式转化为一组语义关系,并且要求名词满足单继承的原则。
[0053] 规则2(概念并的处理规则):假如W1,W2是概念,W1,W2的最近共同祖先概念为WP,当新概念W具有W=W1∪W2的语义时,由于单继承规则,可将W定义为W=RD(WP)∩(RP(WP,W1)∪RP(WP,W2))。例如,双亲=RD(人)∩(RP(人,父亲)∪RP(人,母亲))。
[0054] 规则3(概念交的处理规则):假如W1,W2是概念,当新概念W具有W=W1∩W2的语义时,由于单继承规则,可将W定义为W=RD(W1)∩RW(W1,W2)或W=RD(W2)∩RW(W2,W1)。
[0055] 规则2和规则3只不过是将概念并、概念交转换了一种表示方式而已,只需规定该两种表示方式的特定语义解释即可,这样做是为了解决多继承问题和保证单继承原则的一种变通手段,作用类似于java中的接口,以加快概念的检索和匹配的速度。
[0056] 在自然语言中,名词均会在语义上直接或间接继承于基本概念,为了更清晰准确的表示名词的语义,要求名词语义表示时采用单继承的原则,对于具有多继承语义的概念,采用规则2和规则3来处理。及物动词在语义上表示名词对另一个名词所做施加的一个动作;不及物动词则表示名词自身的一种变化;形容词在语义上均表示名词或名词间的状态或属性;副词在语义上均表示动作的执行情况(模态)和相关情况(格)。因此,可用满足规则4的方式来表示自然语言中各类词汇的语义。
[0057] 规则4(概念分类定义规则):自然语言中概念按性质被分类表示为名词、动词、形容词、副词。假设用Def(W)表示概念W的定义式,Num(R,W)为定义式中语义关系R的出现次数,每类词汇定义应满足如下规则:
[0058] 名词的单继承:满足条件 的概念W。
[0059] 动词:满足条件
[0060]
[0061] 形容词:满足条件
[0062]
[0063] 副词:满足条件
[0064] 规则5(量词的处理规则):量词( 全称量词和存在量词 )没有得到特殊的对待,被作为”次数”格语义关系的一个值表示动作的次数,作为“数量”属性语义关系的值来表示名词的个数。因为这不影响自然语言的语法结构分析,在推理时根据动作的“次数”格和名词“数量”属性的值进行具体分析。
[0065] 规则6(实例设置规则):在定义概念W时,假如定义式中的概念Wi出现m次,而这m次出现指代的n个语义{S1,S2…Sn},则可用{W,W#1…W#n-1},来区别W的n个语义,W#i在推理时可解释为实例。
[0066] 规则7(多义词处置规则):自然语言中有很多多义词,假如多义词W具有n个语义{S1,S2…Sn},则针对每一个具体语义定义一个概念,共定义n个概念{W@1,W@2…W@n}来区别表示这n个不同语义。
[0067] (2g)假设公理2:继承语义关系具有单向传递性,下层概念继承上层概念所具有语义关系。
[0068] 定理1。根据继承关系RD,所有名词构成一棵树。
[0069] 根据规则1-7和定义4-8,可以定义自然语言中词汇的语义。假设用一条有向线段来表示语义关系的话,根据定理1和词汇的定义和规则可知,词汇W的语义可以由名词树中的一组有向线段来表示。
[0070] 步骤3:
[0071] (3a)定义名词-名词间的语义匹配关系:
[0072] 定义9(关联词汇集):名词定义式中所包含的所有词汇的集合,用CRW表示。例如附图图1中的名词W的关联词汇集
[0073] CRW={W,WP,Wr1,Wr2,Wr3,Wr4,Wr5,Wv,Wvc}
[0074] 在下文的分析中用∝为表示继承语义关系,WX∝WY表示WX继承于WY,并且规定W∝W。
[0075] (1)基本语义匹配关系
[0076] 定义10(直接语义匹配关系):如果词汇WX、WY满足下述条件,用符号 表示:
[0077] 条件:假设WY的关联词汇集是CWY,则
[0078]
[0079] 当 时,match(WX,WY)=KT*d(WX,WZ)。
[0080] KT为匹配关系系数,根据所匹配的关系R的类型,设置为不同的常数,一般有1≤KT≤3。
[0081] 例如:附图图1中{Wdr1,Wdvc,Wdr2,Wd2,Wdr3,Wdr4,Wdr5}中的每个词汇都与W具有直接语义匹配关系。
[0082] 定义11(继承语义匹配关系):如果词汇WX、WY满足下述条件,用符号 表示:
[0083] 条件:
[0084] 当 时,match(WX,WY)=match(WX,WZ)+d(WY,WZ)。
[0085] 例如:附图图1中{Wdr1,Wdvc,Wdr2,Wd2,Wdr3,Wdr4,Wdr5}与Wd1,Wd2具有继承语义匹配关系。
[0086] 定义语义距离函数d(WX,WY):表示具有继承关系的两个词汇WX,WY之间的继承次数。
[0087] (2)包含语义匹配关系
[0088] 定义12(显式语义包含关系):如果词汇WX、WY满足下述条件,用符号WX⊙WY表示。
[0089] 条件:存在概念WZ,满足条件
[0090]
[0091] 当WX⊙WY时,有match(WX,WY)=KP*(d(WX,WZ)。KP为包含匹配关系系数。
[0092] 定义13(隐含语义包含关系):如果词汇WX、WY满足下述条件,用符号WX○WY表示。
[0093] 条件:存在概念WZ,满足条件
[0094]
[0095] 当WX○WY时,match(WX,WY)=KP*(d(WZ,WY))。
[0096] 定义14(包含语义匹配关系):如果词汇WX、WY满足下述条件,用符号WX◎WY表示:
[0097] 条件:
[0098] 当WX◎WY时,match(WX,WY)=
[0099] min{match(WX,WZ)+match(WZ,WY),match(WX,WY)}
[0100] 定理3:当词汇WX、WY满足WX◎WY时,WY具有WX的语义关系。
[0101] (3b)名词-动词间的语义匹配关系
[0102] 名词-动词的语义匹配关系可以分为两类:
[0103] 1)SVO语义匹配关系:名词可能作施动者或动作的承受者
[0104] 2)格语义匹配关系:名词与动词具有格语义匹配关系
[0105] 假设动词为V,V的定义中的施动名词为S0,受动名词为O0。由于在定义时已经将S0设置为可能实施V的最高层名词,O0设置为承受该动作的最高层名词,所以只有同S0或O0具有某种关系的名词S和名词O才有可能执行动作V,即构成SVO的语义匹配。SVO语义匹配有6种情况,其值可用ValueSVO表示,计算公式如下:
[0106] ValueSVO=match(S,S0)+match(O,O0)
[0107] 定义15(常规SVO语义匹配关系):满足条件(S∝S0)∩(O∝O0)。
[0108] 定义16(重载SVO语义匹配关系):满足条件:
[0109]
[0110]
[0111] 对于名词S和O以及动词V,当V的定义中不满足SVO匹配时,而S、O的定义说明它们满足SVO匹配。
[0112] 例:戒指=RD(饰品)∩RVS(佩戴,人)∩RVO(佩戴,饰品)∩RC(佩戴,位置,手),由于“戒指”中包含了RVS(佩戴,人),所以{人,佩戴,戒指}构成重载SVO语义匹配关系。
[0113] 定义17(包含SVO语义匹配关系):满足条件((S◎S0)∩(O∝O0))∪((S∝S0)∩(O◎O0))。
[0114] 例:班级=RD(集合)∩RW(集合,学生),由于“学生”可以“吃”“饭”,“学生”是“班级”的一部分,所以{班级,吃,饭}构成整体SVO语义匹配关系。
[0115] 定义18(相似SVO语义匹配关系):满足条件((S∽S0)∩(O∝O0))∪((S∝S0)∩(O∽O0))。
[0116] 定义19(比喻SVO语义匹配关系):在下述条件下,猜测语句中可能存在比喻:
[0117] 条件1:在整个语句中没有任何名词可以满足前四种SVO匹配。
[0118] 条件2:语句中存在名词S或O,满足!(S∝S0)∩(O∝O0),猜测将S比喻为S0。
[0119] 或条件3:语句中存在名词S或O,满足(S∝S0)∩!(O∝O0),猜测将O比喻为O0。
[0120] 对于比喻SVO语义匹配关系,ValueSVO=KF*(match(S,WP)+match(O,WP))[0121] KF为权值系数,WP是S和S0的最近共同祖先。因为属于猜测性质,KF的值应比较大,以防止不良影响。
[0122] 定义20(格语 义匹配关系 ):对于 名词W和动 词V,满足
[0123] match(W,V)=KC*d(W,WC),KC为权值系数。
[0124] (3c)名词-形容词的语义匹配关系
[0125] 对于形容词WVA和名词WN,满足
[0126]
[0127] match(WVA,WN)=KA*d(WN,W),KA为权值系数(一般KA=1)。
[0128] (3d)并列语义匹配关系
[0129] 并列语义匹配关系仅用于语句中并列结构的判断,以确定连词的辖域。
[0130] 定义21(语义相似):由于名词定义采用了单继承的方法,两个名词WX、WY虽然在定义式中没有继承关系,但在语义上WX却可能是WY的一种,相当于描述逻辑中的概念蕴含,用符号WX∽WY表示。可对描述逻辑中的Tableau算法加以改进,以判断概念语义相似关系。
[0131] 定义22(名词并列语义匹配关系):对于两个名词WX,WY可用match(WX,WY)=KT*(d(WX,WE)+d(WY,WE))计算出一个数值,作为启发信息,WE是WX、WY的距离最近的共同祖先节点。当满足WX∽WY时,也可能是并列关系。
[0132] 定义23(动词并列语义匹配关系):对于两个动词VX,VY可用match(WX,WY)=KT*(d(SX0,SY0)+d(OX0,OY0))计算出一个数值,作为启发信息,{SX0,SY0,OX0,OY0}是WX,WY定义中的施动者和受动者。
[0133] (3e)其它类词汇间的语义匹配关系
[0134] 副词的语义匹配关系:关于副词修饰形容词和副词,也有很复杂的情况,本文暂不作讨论,假设副词可以语义匹配于动词、形容词和副词,规定match(W1,W2)=0。量词的语义匹配关系:词汇库应保存量词与名词的关联关系。假如量词W可以修饰名词WN,则规定match(W,WN)=0;否则match(W,WN)=MAX。代词的语义匹配关系:根据代词的指代关系,将代词替换成相应的名词进行处理,比如把“我”按“人”处理。
[0135] (3f)语法匹配关系
[0136] 特别注意:前面的各种语义匹配关系是内在的,与具体语句无关。在具体的语句中,可能某些类型的词汇互相修饰,但词汇本身之间并没有内在的语义关系,只是在本语句内可能有语义修饰关系的一种语法现象(即语法上的修饰关系),主要包括以下两种情况:
[0137] (1)不常见的词类间修饰关系:动词-动词之间;副词-名词之间;形容词-动词之间等。例如“喜欢游泳”“老实说”等;这些都属于语法匹配关系,词汇本身之间没有内在的语义匹配关系,只是在语句中具有语法上的修饰关系而已。在语句分析过程中其语义匹配值可用match(WX,WY)=MAX/KG计算,KG是类型权值(一般情况下KG=1,或满足KG<1.5)。
[0138] (2)词类活用,例如形容词经常会被活用为副词,这种情况本文不考虑。
[0139] 步骤4:
[0140] (4a)定义语义结构的三个层次及其文法
[0141] 要根据本文的语义模型进行语句分析,必须具有适合语义模型的语句抽象表示方法。任何语句都是由结构比较简单的语句经过迭代而形成的,短语被看成语句内的一个组成部分。为了满足语义模型的语义分析需要,根据语义结构的复杂程度和特点可以将语句的语义结构划分为三个层次:简单句、特殊简单句、复杂句。
[0142] 定义24(简单句):仅有一个动词或形容词作谓语的语句CS,可用文法G1来抽象描述。
[0143] 用格语法的思想设计文法G1,设计思路:假设V是谓语,S是V的施动者;O是V的承受者,AB是前置定语;AA是后置定语;PD是状语或补语,相当于格语法中的一组格;PC是一个的格内容;n是名词;NP为名词短语。
[0144] 文法G1中的规则数目较多(详细的规则数目较多,略),其关键规则的设计思路如下:
[0145] 1)CS→PDABSAAPDVPDABOAAPD(SVO的出现顺序有10种,附图图2是其中的一种)[0146] 2)S→n|SAAABS(多个词汇作施动者,如图2中的S)
[0147] 3)PD→PC|PDPC
[0148] S、O、AB、AA、PC中的介词、连词、助词、数词、量词等词汇的使用规则可以很容易的写出来。
[0149] 文法的G1的具体表示方式如下:
[0150]
[0151] 定义25(特殊简单句):具有多个动词或形容词,但在语义上不包含从句的语句,可用文法G2来抽象描述。
[0152] 文法G2的设计思路:在保证不会产生从句的基础上,向文法G1中添加不多的规则即可生成文法G2,主要有以下2种情况:
[0153] 1)多个动词或形容词作谓语的情况
[0154] 2)动词或形容词作S、O、AB、AA、PC的情况
[0155] 文法G2的关键是动词短语VV前后不能直接跟名词短语NP,即不能出现NP+VV或VV+NP。
[0156] 文法的G2的具体表示方式如下:
[0157]
[0158] 定义26(复杂句):在文法G2中添加规则NP→CS,形成文法G3。因为规则NP→CS说明一个简单句或特殊简单句可以作一个复杂句中任意成分,实现了对简单句递归,因此文法G3可以描述复杂句。
[0159] (4b)获取最佳语法分析方案的思路
[0160] (1)词汇歧义消解方法
[0161] 假设W1W2…Wk的词汇语义个数分别为n1,n2…nk,针对每个语义进行全排列,结果为{L1,L2…LM},则M=n1*n2*…*nk,假设其中一个的 是Wm的第n个词义,则Li是CS的一个无词汇歧义的词汇序列。在语法分析过程中穷举每个{L1,L2…LM}的分析结果,选择最佳的Li就可以消解词汇歧义。
[0162] (2)分析思路
[0163] 根据公理1,获得所有的语法分析方案,针对每个语法分析方案Ai,根据公式1计算出Ai所对应的语义匹配值,并选择出最佳的语法分析方案。
[0164] 定义27(简单子句):语句中满足文法G1或G2的子串是简单子句。
[0165] 假设公理4(语义修饰目标公理):假设实词W的语义修饰目标是WGi,则对于语句中的符合语义逻辑的简单子句CS,满足(W∈CS)→(WGi∈CS)。对于定语AB(假设紧邻S),满足(W∈AB)→(WGi∈(AB∪S)),定语的其它情况类似。对于状语或补语(PD),满足(W∈PD)→(WGi∈(PD∪V))。
[0166] 依据语义语义修饰目标的特点,所有的语法分析方案可分为2层:
[0167] 1)简单子句级语法分析方案;
[0168] 2)简单子句内部的语法分析方案。
[0169] (4c)获取最佳的语法分析方案
[0170] (1)可归结简单子句的判断条件
[0171] 针对语句CS,进行文法G1、G2、G3的CYK算法分析,满足表1中条件的的子串s(i,j)是可归结的简单子句。
[0172] 表1可归结简单子句的判断条件
[0173]
[0174] (2)自底向上的简单子句归结法
[0175] 可用自底向上的简单子句归结法求取最佳的从句级语法分析方案,见算法4:
[0176] 算法1(简单子句归结法):
[0177] 5)针对语句CS,根据表1的判断条件,找出可归结简单子句所对应的子串集合{s1,s2…sm};
[0178] 6)针对每个子句si,计算出(算法2)简单子句si的最佳语义匹配值,将si归结为NP,设置NP的归结语义;
[0179] 7)令CS等于归结结果,将递归过程中的简单子句si的最佳语义匹配值求和,进行步骤1-3的递归;
[0180] 8)具有最佳全句语义匹配值所对应的简单子句si的范围和归结顺序即为最佳的语法分析方案。
[0181] 计算简单子句的最佳语义匹配值是算法的关键,具体方法见下一步骤“简单子句的最佳语义匹配值”。
[0182] 在算法中,在简单子句选择时采用了穷举法,可以求出理论上的最佳语法分析方案。但这种方法的计算量较大,不易实现。但当可归子句的数量小于4时,也可以考虑。当可归子句数量过多时,可仅选择k(k
[0183] (3)归结语义
[0184] 在算法1中,将简单子句CS归结为NP后,NP没有语义,无法进行下一步的语义匹配计算,解决的方式如下:
[0185] 1)规定由归结而来NP可匹配于任何词汇W,语义匹配值为:
[0186] match(NP,W)=MAX/KC(一般有KC>1)
[0187] 2)假如NP作新的目标子句的S或O,则可将NP的语义设置为原CS中的S或O。
[0188] (4d)获取简单子句的最佳语义匹配值
[0189] 要计算出简单子句的最佳语义匹配值,根据公理1和公理4,简单子句内部有多种语法分析方案,必须求出所有的语法分析方案,针对每种语法分析方案,其实词的语义修饰目标是确定的,就可根据公式1计算得到该语法分析方案下的语义匹配值,具有最小语义匹配值的语法分析方案就是所需的分析结果。
[0190] 简单子句内部的语法分析方案可分为3层:1)SVO组合层次;2)AA、PD、AB层次;3)AA、PD、AB内部的语法分析方案。可通过算法2选择出其中最佳的语法分析方案。
[0191] 算法2(简单子句的最佳语义匹配值):
[0192] 8)假如简单子句是特殊简单句,找到所有的将其归结为简单句的方法
[0193] 9)针对每种归结方法,将特殊简单句归结为简单句
[0194] 10)针对该简单句,找出所有可能的SVO组合方法
[0195] 11)针对每种SVO组合方法,将简单句CS分段,如果S或O为短语,则进行算法3;假设CS被分为{L1,L2..Ln}
[0196] 12)每个分段Li内最多可包含AA、PD、AB三部分内容,找出Li中的所有AA、PD、AB划分方法
[0197] 13)针对每种AA、PD、AB划分方法,通过语法和语义匹配分析相结合的手段,确定每个实词的语义修饰目标,使AA、PD、AB的语义匹配值最小
[0198] 14)求取全句的语义匹配值,选择语义匹配值最小所对应的分析过程作为最佳的语法分析方案
[0199] 假设 是针对简单子句CS进行文法G1的CYK算法的运算结果,表示能生成子串s(i,j)的文法符号集。
[0200] (1)SVO组合层次的语法分析方案
[0201] 在简单句中,假设名词W1和W2与动词V满足SVO匹配,则{W1,V,W2}是一个SVO组合。但S(O类似)可能是一个短语,当句中存在{W1,V,W3}和{W2,V,W3}SVO匹配,且V,W3不在W1和W2中间,且W1和W2中间的子串s(m,n)满足: 时,在W1+s(m,n)+W3所组成的短语是S,同理可以获得更长的S或O。
[0202] 算法3(S或O分段):
[0203] 3)获得短语S(或O),根据本步骤所述原理,找出S中满足SVO匹配的所
[0204] 有名词,假设为{n1,n2..nm}
[0205] 4)根据{n1,n2..nm}将短语S分为m-1段,根据规则S→n|SAAABS可知每个不为空的分段可能包含AAAB
[0206] (2)AA、PD、AB层次的划分方法
[0207] 假设分段Li的子串为s(m,n),则满足 的p,q是符合语法的AA、PD、AB划分方法,分段结果为:AA=s(m,p),PD=s(p,q)AB=s(q,n)。
[0208] (3)AA、PD、AB内部的最佳语法分析方案
[0209] 定理2:AA、PD、AB内部最佳语法分析方案是当AA、PD、AB内的每个实词都具有最佳语义修饰目标情况下所对应的语法分析方案。
[0210] 定义28(简单名词短语):不包含动词和形容词的名词短语就是简单名词短语。
[0211] 定理3:简单句的定语(AA或AB)的最佳语法分析方案等价于一个简单名词短语的最佳语法分析方案。
[0212] 证明:由于简单句仅包含一个动词或形容词作谓语V,因此AA、AB中不包含动词和形容词。根据公理4,AA、AB的语法分析方案等价于简单名词短语NP的语法分析方案,NP∈{(AB+S),(AA+S),(AB+O),(AA+O)}。
[0213] 简单名词短语NP的不同语法分析方案仅受{连词/介词/助词/量词}的影响。语法分析的关键是选定{连词/介词/助词/量词}的辖域和它们的归结顺序。
[0214] A、辖域的确定:在{连词/介词/助词/量词}中,假设wB为前置类型的,wM为前置类型的,则其辖域可归结为两种形式1)..NBn..NB1...wM..NA1..NAm..;2)WB..NBn..NB1...WM..NA1..NAm...;其中{NB1,NB2...NBn}是辖域内前半部分的名词,{NA1,NA2...NAm}是辖域内前半部分的名词。
[0215] 根据汉语的后向语义修饰习惯,可在{NA1,NA2...NAm}中找出符合语法的与NB1具有最佳语义匹配值的名词NAj作为辖域后界。形式1的辖域前界可用类似的方法确定。
[0216] (2)归结顺序的确定:{连词/介词/助词/量词}及其辖域应可按某条文法规则归结,可用穷举法求出它们的最佳归结顺序。一般情况下,简单句语句进行了多次分段后,AA、AB中包含的{连词/介词/助词/量词}的数目n一般小于4,具有计算可行性。
[0217] 定义29(名词序列):不存在{连词/介词/助词/量词}的简单名词短语是名词序列。
[0218] 当{连词/介词/助词/量词}都归结后,简单名词短语就被成为了一个名词序列,另外{连词/介词/助词/量词}辖域内部可能也存在一个或两个名词序列。在名词序列中仅仅名词影响语义修饰关系,根据汉语的后向语义修饰习惯,假设名词序列为LN=W1W2…Wm;则通过语义确定LN中任意名词修饰目标具体方法(近似方法)如下:
[0219] 算法4(名词序列的最佳语义修饰目标):
[0220] 设置集合CW为空,对于LN中的每一个名词Wi,假如match(Wi,Wm)
[0221] 1)假设CW的元素按先后的顺序为W1-W2-...-Wn(n>1),则做如下操作:将LN分成n+1段,设置它们的语义修饰目标为Wm,并对每一段进行递归。
[0222] 2)当CW中只有一个名词时,进行步骤3-4。
[0223] 3)设置前向修饰关系:针对任意分段,假如存在WxWx+1…Wy-1Wy,满足条件:
[0224] ①任意Wx+1…Wy之间的名词与Wy后的名词的语义匹配值为MAX;②match(Wy,Wx)
[0225] 4)假如LN中还有名词Wy没有修饰目标,则设置其修饰目标为Wy+1。
[0226] PD的分析方法类似于AA、AB,关键是根据介词进行界限划分,将介词辖域内的内容也转化为一个简单名词短语。
[0227] (4)特殊简单句的处理方法
[0228] 归结所有的非谓语动词/形容词,将语句转化为简单句,选择最佳的归结方案。处理方法如下:
[0229] 1)对语句进行文法G2的CYK算法,找到所有可能做谓语的动词(形容词)短语,可能具有多种方案。
[0230] 2)针对每一种方案,归结其余的动词(或形容词),选取语义匹配值最小的分析方案。
[0231] 归结非谓语动词(形容词)时也需要设置归结语义,比如“漂亮的项链”,归结语义是“项链”。
[0232] 步骤5:
[0233] 可以根据具有最佳语义匹配值的语法分析结果,将简单句转化为一个知识点,将复杂句的每个简单子句转化为知识点,整个复杂化句转化为一组知识点。
[0234] 例:语句“造型是昆虫的绿色饰品很受巴西女孩欢迎。”的知识五元组(见表2):
[0235] 表2语句知识化实例
[0236]
[0237] 将语句转化为以结构化数据形式存放的知识点后,就可方便地对这些知识数据进行各种智能信息处理。
[0238] 上述实施例仅仅是为清楚地说明本发明创造所作的举例,而并非对本发明创造具体实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造权利要求的保护范围之中。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈