5.1.2 上下位关系学习
5.1.2.1 算法思想
上下位关系学习的基本思想是,首先利用三种符号学习方法学习领域概念上下位关系,然后融合这三种方法的上下位关系学习知识。假定同一条知识至少在语料中出现两次。可以从概念的外部特征(即上下文特征)和内部特征来学习概念的上位概念和下位概念。外部特征是指具有上下位关系的概念对所处的上下文,内部特征是指概念的内部构成规律。针对学习的特征,本节设计了三种领域概念上下位关系学习的方法:种子上下位关系概念对驱动的上下位关系学习、基于上下位关系语境的上下位关系学习、领域概念构词法驱动的上下位关系学习。前两种方法是根据上下位关系概念对所处的上下文语境来提取的。其中,第一种方法是给定具有上下位关系的种子概念对,在并列关系语境或模式的启发下,设法去获取其他更多的具有上下位关系的概念对。第二种方法是基于已构建的上下位关系语境或上下位关系模式进行上下位关系概念对提取的。由于领域概念构成的规律性,从领域概念的构成可以判定它的上位概念,第三种方法即根据概念的内部构成规律来提取具有上下位关系的概念对,如图5.1所示。
基于符号学习融合的上下位关系学习方法的输入是自由文本语料,输出是领域概念的上下位关系分层结构。该学习方法包括如下四个阶段。
阶段1:利用基于种子驱动学习的方法提取候选上下位关系并进行验证,学习上下位关系集合HR1。
阶段2:利用模式引导学习的方法提取候选上下位关系并进行验证,学习上下位关系集合HR2。
阶段3:利用基于中文术语构成学习方法的方法提取候选上下位关系并进行验证,学习上下位关系集合HR3。
阶段4:验证HR1∪HR2∪HR3中的上下位关系。
图5.1 上下位关系学习方法示意图
5.1.2.2 种子上下位关系概念对驱动的学习
在实现上下位关系提取中,引入并列关系语境。引入并列关系语境的思想是,满足并列语境的变量项具有并列关系,通常具有相同的上位概念,进而提取上下位关系。
定义(并列关系语境):若满足语境的多个概念具有并列关系,则将语境称为并列关系语境。例如,通过语境“〈T0>〈、>〈T1>〈、>〈T2>〈、>〈以及>〈T3>”提取的概念T0,T1,T2,T3具有并列关系,因此该语境是并列关系语境。
基于种子上下位关系概念对驱动策略,上下位关系学习方法的基本思想可以描述为,给定概念C1和C2,并列关系语境PC,若IS-A(C1,C2),C′1,C′2,…,C′n为由PC提取的概念,则形成假设:
(∃i)(C′i=C1)
→IS-A(C′1,C2)∧IS-A(C′2,C2)∧…∧IS-A(C′i-1,C2)∧IS-A(C′i+1,C2)
∧…∧IS-A(C′n,C2)。
例如,对于句子“随着考古工作的推进,这座房屋周围又接连发现了中分发型的石跪坐人像、石虎、象牙、玉凿等礼仪性器物,专家判断,这一片可能还存在小型祭祀坑”,若IS-A(石跪坐人像,器物),“石跪坐人像、石虎、象牙、玉凿”是通过并列语境“〈T0>〈、>〈T1>〈、>〈T2>〈、>〈T3>”提取的概念,则形成候选领域概念上下位关系:
IS-A(石虎,器物),
IS-A(象牙,器物),
IS-A(玉凿,器物)。
因此,在方法上,利用并列关系语境抽取若干个并列概念,根据已知的至少一个并列概念的上下位关系,形成其他并列概念的候选上位概念或下位概念。算法步骤如下:
算法:种子上下位关系概念对驱动的上下位关系学习
输入:种子上下位关系概念对、并列关系语境;
输出:具有上下位关系的新领域概念对;
(1)读取以框架语言表示的种子领域本体文件,提取具有上下位关系的种子概念对C和C′,不妨设IS-A(C′,C),即C′继承C;
(2)搜索包含领域概念C和C′的句子s,判断句子s是否满足并列关系语境PC(Paratactic Context);
(3)如果s满足PC,提取候选领域概念C1,C2,...,Ck;
(4)构建C的候选下位概念;
a)强条件:若∃i(i=1,2,…,k),Ci=C′,则构成假设
IS-A(C1,C)∧IS-A(C2,C)∧…∧IS-A(Ci-1,C)∧IS-A(Ci+1,C)
∧…∧IS-A(Ck,C)。
b)弱条件:若∃i(i=1,2,…,k),Ci⊇C′,则构成假设
IS-A(C1,C)∧IS-A(C2,C)∧…∧IS-A(Ci-1,C)∧IS-A(Ci+1,C)∧…
∧IS-A(Ck,C)。
(5)构建C′的候选上位概念;
a)强条件:若∃i(i=1,2,…,k),Ci=C,则构成假设
IS-A(C′,C1)∧IS-A(C′,C2)∧…∧IS-A(C′,Ci-1)∧IS-A(C′,Ci+1)
∧…∧IS-A(C′,Ck)。
b)弱条件:若∃i(i=1,2,…,k),Ci⊇C′,则构成假设
IS-A(C′,C1)∧IS-A(C′,C2)∧…∧IS-A(C′,Ci-1)∧IS-A(C′,Ci+1)
∧…∧IS-A(C′,Ck)。
种子上下位关系概念对驱动的上下位关系学习算法中的学习过程是由学习Agent完成的,它由三部分构成:已知知识、学习条件和获取知识。
种子上下位关系概念对驱动的上下位关系学习算法中用到的并列关系语境为:“?C”表示C为提取的候选领域概念。下面给出并列关系语境。
在种子上下位关系概念对驱动的上下位关系学习方法中,设句子s满足并列关系语境PC,概念C0,C1,...,Ck是从句子s中提取的有序概念序列,可能存在错误识别的候选概念及其上下位关系。候选领域概念可能包含冗余字符串,候选上下位关系在某些条件下可能准确或不准确。因此,需要验证候选概念及其关系。
需要注意的是,领域概念构成遵循一般术语构成规律,特定领域的字符、语素、词语的使用规律,并且并列模式明确概念出现的上下文语境。因此,通过学习具有上下位关系的种子概念对的相邻边界特征来验证候选概念。
基于种子上下位关系概念对的概念边界特征学习方法可以描述为:给定句子s,概念C及其下位概念SC1,SC2,…,SCm,若(C⊆S)∧(|{SCi|SCi⊆S,i=1,2,…,m}|≥1),则提取C,SC1,SC2,…,SCm的边界信息BI,构成如下:
概念的边界信息BI(Boundary Information)是一个五元组(Bs,Ct,Di,Ty,Fr),其中
Bs(Boundary Information String)是边界信息字符串;
Ct(Concept Type)是边界信息所属的概念类型,取0或1;0表示Bs为上位概念的边界信息,1表示Bs为下位概念的边界信息;
Di(Direction)是边界信息所在的方向,取L或R。L表示Bs位于概念的左边,R表示Bs位于概念的右边;
Ty(Bounday Information Type)是边界信息的类型,包括标点符号、数量语义类和词典词汇;
Fr(Frequency)是边界信息Bs在Ct,Di,Ty完全相同情况下出现的频率。
进一步,若Ci为上位概念,其左邻字符串LS为数量语义类,右邻字符串RS为副词,则构建如下边界信息:
(LS,上位概念,数量语义类,左边界,freq(LS));
(RS,上位概念,副词,右边界,freq(RS))。
其中,LS和RS是边界信息字符串。上位概念表示概念类型。数量语义类和副词表示边界信息的类型。左边界和右边界表示方向。freq(LS)和freq(RS)表示边界的频率。
基于边界特征,具有上下位关系的领域概念对验证方法的基本思想是,学习领域概念的左边句子上下文和右边句子上下文;同时,对于通过并列关系语境提取的候选领域概念,利用学习的上下文的词法特征来验证候选概念。算法步骤如下。
算法:基于边界特征的具有上下位关系的领域概念对验证方法
输入:具有上下位关系的领域概念对;
输出:验证后的上下位关系的领域概念对;
(1)对于领域候选概念C1,C2,…,Ck,设它们的权值分别为:Weight(C1),Weight(C2),…,Weight(Ck);
(2)读入边界信息特征库;
(3)若Ci为从句子中提取的第一个候选概念,则按照从右向左的方向,判断Ci中是否包含左边界信息,如图5.2所示。若Ci=S1+LBI+S2,S1和S2为字符串,LBI满足下述条件,则构建Ci=S2;
a)LBI为Ci中从右向左的第一个左边界信息;
b)freq(LBI)>α,α为阈值,即LBI在边界信息特征库中的频率大于α;
c)LBI不是区别词、领域词、方位词和未登录词。
(4)若Ci为从句子中提取的最后一个候选概念,则按照从左向右的方向,判断Ci中是否包含右边界信息,如图5.2所示。若Ci=S1+RBI+S2,S1和S2为字符串,RBI满足下述条件,则构建Ci=S1;
图5.2 候选概念验证示意图
a)LBI为Ci中从左向右的第一个右边界信息;
b)freq(LBI)>α,α为阈值;
c)LBI不为代词、领域词、动词和未登录词。
5.1.2.3 语境驱动的上下位关系学习
语境驱动的上下位关系提取方法的核心思想是,利用上下位关系语境提取具有上下位关系的领域概念。基本技术思路是:给定句子s,上下位关系语境集合HCS,若存在HC1,HC2,…,HCk与s匹配(HCi∈HCS,i=1,2,…,k),通过匹配冲突消解策略选择匹配结果,从s中提取候选上下位关系概念对C1和C2。基于语境驱动的具有上下位关系的领域概念对获取方法的步骤如下。
算法:语境驱动的上下位关系的领域概念对提取
输入:上下位关系语境;
输出:具有上下位关系的领域概念对;
(1)构建上下位关系语境集合HCS,语境的项有三种类型:常量、常量类和变量;
(2)读取句子s,在HCS中搜索s所满足的上下位关系语境;
(3)设s满足上下位关系语境HC1,HC2,...,HCk,分别得到匹配结果
R1,R2,...,Rk;
(4)对于Ri(i=1,2,...,k),若下述条件至少有一个成立,则去掉Ri;
a)若存在变量项tj∈HCi,tj在Ri中对应的值为Vj,则Vj含有句中点号;
b)若存在常量项tm∈HCi,tm在Ri中与其相邻的字构成词语;
(5)对于同一上下位关系语境的多个匹配结果,选取匹配的常量项长度之和最大的上下位关系语境对应的匹配结果;
#分类验证概念
(6)对于HCi和Ri,若t0∈HCi,t0为HCi的第一个项,并且为变量项,t0在Ri中对应的匹配字符串为V0,则采用如下方法验证候选概念V0;
(7)若V0不为空,首先基于标点符号验证V0。也就是,若T为V0中最后一个标点符号后面的字符串,并且T不是虚词,α1≤Length(T)≤α2,则V0=T。进一步,提取V0中包含的领域词汇A1,A2,...,An,
情形1:n=1,则V0=A1;
情形2:n>1,若Length(A1)≥Length(A2),则V0=A1,否则V0=A2;
情形3:不存在领域词汇,提取V0中包含的名词词汇N1,N2,...,Np;若不存在名词词汇,则V0=A0;否则V0=N1。
(8)若V0为空,计算Ri中匹配HCi的开始小句索引start_index和结束小句索引end_index;
若start_index=1,即为第1个小句,则V0取第2个小句的概念;
若start_index=2,即为第2个小句,如果第1个小句含有概念,则V0取其概念;否则V0取第3个小句的概念;
若start_index>2,即为第3个以后的小句,设第1个含有概念的小句索引为goal_index,则V0取该小句的概念;
(9)对于HCi和Ri,若tq∈HCi,tq为最后一个项,并且为变量项,tq在Ri中对应的值为Vq,则采用如下方法验证候选概念V0;
(10)基于标点符号验证概念;若U为Vq中第一个标点符号前面的字符串,并且U不是虚词,则V0=U,否则V0不变;
#提取概念对
(11)对于Ri,提取具有上下位关系的候选概念对C和C′,其中C和C′不含有标点符号,不能为虚词;
(12)设在语料中共有m个句子s1,s2,…,sm,分别匹配语境HCi1,HCi2…,HCim提取到具有上下位关系的候选概念对C和C′;
(13)计算概念对CP=〈C,C′>的匹配可信度Conf(CP);
其中,N为语料中分别满足语境HCi1,HCi2,…,HCim的句子数目之和;
(14)若Conf(CP)>β,则形成假设概念C和C′具有上下位关系,其中β为一个算法参数。
5.1.2.4 领域概念构词法驱动的上下位关系学习
领域概念构词法驱动的上下位关系学习的核心思想是,通过领域概念的构词特征来学习具有上下位关系的领域概念。领域概念在内部构成方面遵循一定的规律。例如,对于考古领域中古文化的命名,主要命名方法包括以下两种形式。其一,“〈地名>文化”,以首次发现的典型遗址所在的小地名作为考古学文化名称的做法,例如,周口店文化、丁村文化。其二,“〈流域>文化”,以地区或流域来命名的,例如,多瑙河文化。这些命名的文化大都基于古文化的下位概念。因此,可以根据概念的构词法来推测概念的上位概念和下位概念。
再如,在计算机科学中,图命名的方法包括〈性质>图,例如,平面图、完全图、对偶图、欧拉图、哈密顿图、简单图、多重图。格命名的方法包括〈性质>格,例如,子群格、五角格、分配格、有补格、有界格、幂集格。
领域概念的前缀和后缀的形式可能为词语或汉字字符串,其长度不受限制。采用第4章领域概念获取中的概念学习模块,构建前缀概念、后缀概念和混合缀概念。根据候选领域的三种类型,即前缀概念、后缀概念和混合缀概念,进一步可给出不同的候选概念验证方法。对于前缀概念,其冗余字符串或多余字符串位于候选概念的右端。对于后缀概念,其冗余字符串或多余字符串位于候选概念的左端。在种子上下位关系驱动的上下位关系概念对提取方法中,对于满足并列关系语境的句子,从句子中提取的最后一个候选概念的多余字符串位于候选概念的右端。因此可以采用该思路来验证前缀概念。同时,提取的第一个候选概念的多余字符串位于概念的左端时,可以进行相应的后缀概念验证。对于混合缀概念,可根据前缀、后缀、以及前后缀之间的字符串的词性信息来进行验证。
基本技术思想可以总结如下:首先,根据前缀后缀词法特征抽取具有上下位关系的候选领域概念;然后,根据候选概念的类型和动词词法特征,对不同类型候选概念采用不同的验证方法。以下算法给出了具体步骤。
算法:领域概念构词法驱动的上下位关系提取输入:领域概念的前缀和后缀集合;
输出:具有上下位关系的领域概念对;
(1)通过词法驱动的概念学习方法提取候选领域概念C1,C2,…,Ck;
(2)设概念前缀集合为PreS,概念后缀集合为PostS:
PreS={Pe1,Pe2,…,Pem},PostS={Po1,Po2,…,Pon},Pei为前缀,Poj为后缀。
(3)对概念进行聚类,构建概念聚类集合T1,T2,...,Tm+n;
其中,Prefix(Pei,Cij)表示Cij以Pei为前缀,Postfix(Poi-m,Cij)表示Cij以Poi-m为后缀;
(4)构建种子领域本体中类或概念C1,C2,…,Ck的词法构成,形式为:〈#非空字符串>〈后缀>,或〈前缀>〈#非空字符串>;
(5)对于概念聚类集合Ti(i=1,2,...,m),若存在类Cp,其词法构成为:〈Pei>〈#非空字符串>,则形成假设:Cij为Cp的下位概念;对于Ti(i=m+1,m+2,...,m+n),若存在类Cq,其词法构成为:〈#非空字符串>〈Poi>,则形成假设:Cij为Cq的下位概念。
#验证候选概念:
(6)若Ci为前缀概念,则采用种子上下位关系驱动的上下位关系学习方法中最后一个候选概念的验证方法;
(7)若Ci为后缀概念,则采用种子上下位关系驱动的上下位关系学习方法中第一个候选概念的验证方法;
(8)若Ci为混合缀概念,采用如下方法进行验证;
a)情形1:Ci=PePo,Pe∈PreS,Po∈PostS,Ci不改变;
b)情形2:Ci=PeSPo,Pe∈PreS,Po∈PostS,S=S0 P0 S1P1...Sk,S0,S1,…,Sk为字符串,P0,P1,...,Pk-1为标点符号,构建候选概念PeS0和SkPo,对于PeS0,采用前缀概念的验证方法,即转入步骤(6);对于Sk Po,采用后缀概念的验证方法,即转入步骤(7);
c)情形3:Ci=PeSPo,S不含有标点符号,判断Po是否为动词;
(9)若Po不是动词,判断S是否包含动词;
(10)若Po不是动词,S包含动词,设S=R0 V0 R1V1...Rk,R0,R1,...,Rk为字符串,V0,V1,...,Vk-1为动词。如果Length(V0)≥4,或(Length(V0)〈4)∧(freq(V0,BI)>α),freq(V0,BI)>α表示V0作为边界信息的出现频率大于阈值α,则构建如下概念:
a)k=1,构建候选概念PeR0,R1Po,对于PeR0,采用前缀概念的验证方法,即,转入步骤(6);对于R1Po,采用后缀概念的验证方法,即,转入步骤(7);
b)k≥2,构建候选概念PeR0,RkPo,对于PeR0,采用前缀概念的验证方法,即,转入步骤(6);对于RkPo,采用后缀概念的验证方法,即,转入步骤(7);
(11)若Po不是动词,S不包含动词,则判断S是否包含介词,采用上一步同样的方法进行构建和验证概念;
(12)若Po是动词,判断S是否包含动词;
a)若S为动词,则Ci=Pe;
b)若S包含动词,S=R0 V0 R1V1...Vk-1 Rk,R0,R1,...,Rk为字符串,V0,V1,...,Vk-1为动词,则Ci=R0;
c)若S不包含动词,采用前缀概念的验证方法,即转入步骤(6)。