6.1.2 知识获取方法
基于显式槽和隐式槽的特点,相应地设计三种不同的领域实体知识获取方法:本体层级语境与槽驱动的显式槽的知识获取、本体层级语境与槽值驱动的隐式槽的知识获取、语言层语境驱动的隐式槽的知识获取。
本体层语境和语言层语境的相同点是二者均包括词类变量项、句法成分变量项、字符串变量项和常量项。不同点是本体层语境还包括个体变量项、槽变量项、关系动词变量项。构建本体层语境和语言层语境的基本思想是,本体层语境能够抽取不同领域实体和属性槽的领域实体知识,为领域实体属性槽的槽值获取提供统一的语境。
定义(本体层级语境,Ontological Context):本体层级语境是指由下列类型的项构成,包括个体变量项、槽变量项、槽值变量项、关系动词变量项、词类变量项、句法成分变量项、字符串变量项和常量项。
个体变量项t是指匹配t的字符串为个体I;
槽变量项t是指匹配t的字符串为某类别的槽S;
关系动词变量项t是指匹配t的字符串为关系动词;
词类变量项t是指匹配t的字符串满足某种词性;
句法成分变量项t是指匹配t的字符串在句子中充当某种句法成分,例如主语、宾语或状语。
需要指出的是,槽值变量项是获取的知识目标。其含义是,若句子匹配本体层语境C中除槽值变量项以外的其他项,则将对应于槽值变量项的字符串标注为个体I的槽S的槽值。
例如,“〈个体变量>〈槽变量>〈关系动词变量>〈槽值变量>”为本体层语境。对于句子“仰韶文化遗存的年代为公元前3900年左右。”,当匹配这个语境时,由于“仰韶文化遗存”匹配“个体变量”,“年代”匹配“槽变量”,“为”匹配“关系动词变量”,则将槽值变量对应的字符串“公元前3900年左右”识别为实体E的槽S的槽值。
定义(语言层级语境,Linguistic Context):语言层级语境是指由下列类型的项构成,包括词类变量项、句法成分变量项、字符串变量项和常量项构成。
为了区分本体层语境的必要项和可选项,进一步需要对本体语境层进行分类。根据是否包含修饰成分,本体层语境可以分为骨架本体语境和扩展本体语境。为了获取自然语言文本中领域个体缺省情形下的领域知识,根据个体变量的缺省情况,本体层语境可以分为骨架本体语境和个体缺省本体语境。
定义(骨架本体语境):骨架本体语境由个体变量项、槽变量项、关系动词变量项和槽值变量项构成。
定义(扩展本体语境):扩展本体语境由个体变量项、槽变量项、关系动词变量项、槽值变量项和修饰成分变量项构成。
定义(个体缺省本体语境):缺省本体语境由槽变量项、关系动词变量项、槽值变量项和修饰成分变量项构成。
6.1.2.1 显式槽的知识获取
对于领域实体的显式槽的槽值获取,主要利用了显式槽的本体层语境。因此,首先介绍显式槽的本体层语境。
定义(关系动词):关系动词是指表示判断关系、所属关系、比较关系或称呼关系的动词。
例如,“是、为、即”为表示判断关系动词;“属、属于、具有”是表示所属关系的动词;“像、犹如、等于”为表示比较关系的动词;“姓、叫、称”表示称呼关系的动词。
显式槽的本体层级语境主要包括三种骨架本体语境:
显式槽骨架本体语境Ⅰ:〈个体变量>〈槽变量>〈关系动词变量>〈槽值>
显式槽骨架本体语境Ⅱ:〈个体变量>〈属性槽变量>〈槽值变量>
显式槽骨架本体语境Ⅲ:〈个体变量>〈关系槽变量>〈槽值变量>
每一种显式槽骨架本体语境对应一种缺省本体语境:
显式槽个体缺省本体语境Ⅰ:〈槽变量>〈关系动词变量>〈槽值变量>
显式槽个体缺省本体语境Ⅱ:〈属性槽变量>〈槽值变量>
显式槽个体指代和缺省语境Ⅲ:〈关系槽变量>〈槽值变量>
显式槽骨架本体语境Ⅰ包含一种扩展本体语境:
显式槽扩展本体语境:〈个体变量>〈槽变量>〈状语变量>〈关系动词变量>〈槽值变量>
显式槽骨架语境Ⅲ包含一种扩展本体语境:
显式槽扩展本体语境:〈个体变量>〈状语变量>〈关系槽变量>〈槽值变量>
例如,对于句子“新石器时代遗存跨越的时间相当长,据放射性碳素断代并经校正,年代约为公元前3390~前2390年。”,匹配显式槽“年代”的显式槽语境Ⅰ的扩展语境,因为“年代”为槽,匹配槽变量,“约”为副词,匹配状语变量,“为”为关系动词,匹配关系动词变量,“公元前3390~前2390年”为槽值。
对于显式槽骨架语境Ⅰ,根据句子的谓语可以分为动词谓语句和兼语动词谓语句。例如,对于句子“图案有几何形和动植物形象。”为动词谓语句。再如句子“放射性碳素断代并经校正,年代约为公元前2780~前2100年。”和句子“葬式分屈肢葬和仰身直肢葬两种。”为动词谓语句。
兼语动词谓语句特点是前一动词用“有”等表示领域有或存在等。例如,对于句子“其重要收获是在于家沟遗址找到了华北地区极为难得的更新世末至全新世中期的地层剖面和文化堆积。”,为兼语动词谓语句。
对于类C的显式槽S,根据显式槽的本体层语境来提取隶属于类C的个体的槽S的槽值,而不需要对每个显示槽构建本体层语境。下面给出本体层级语境与槽驱动的显式槽的知识获取算法。
算法:本体层级语境与槽驱动的显式槽的领域实体知识获取
输入:类C及其显式槽ES;
输出:类C的实体E,E的槽ES的槽值SV,即ES(E,SV);
(1)基于知识获取本体构建显式槽ES的槽词汇场;
(2)提取包含显式槽ES的槽词汇场中词汇的句子;
(3)检测句子的描述流是否包含描述子d,并且d=C.ES;若包含,则转入下一步,否则退出程序;
(4)对句子进行单复句识别;
(5)对句子进行主动词识别;
(6)对句子进行虚词识别;
(7)如果句子不含有主动词,则提交显式槽骨架语境Ⅱ及其缺省语境进行匹配;若匹配成功,则提取槽值;否则,结束;
(8)如果句子含有主动词,并且主动词为关系动词,则提交显式槽骨架语境Ⅰ及其扩展语境和缺省语境进行匹配;若匹配成功,则提取槽值;否则,结束;
(9)如果主动词为关系槽,则提交显式槽骨架语境Ⅲ及其扩展语境和缺省语境进行匹配;若匹配成功,则提取槽值;否则,结束。
6.1.2.2 隐式槽的知识获取
对于类C的隐式槽S,根据槽S的槽值特征和槽值所处的上下文来提取类C中槽S的槽值。设计了两种方法来提取领域实体的隐式槽的槽值。第一种是本体层级语境与槽值驱动的隐式槽知识获取方法,第二种是语言层语境驱动的隐式槽知识获取方法。前者根据槽值的语义约束来提取槽S的槽值,而后者根据槽值所处的句子上下文来提取槽S的槽值。
隐式槽的本体层级语境包括如下骨架语境:
隐式槽骨架本体语境Ⅰ:〈个体变量>〈槽值语义类变量>
隐式槽骨架本体语境Ⅱ:〈个体变量>〈关系动词变量>〈槽值语义类变量>
隐式槽骨架本体语境Ⅲ:〈关系变量>〈个体变量>〈槽值语义类变量>
隐式槽骨架本体语境Ⅳ:〈关系动词变量>〈槽值语义类变量>〈个体变量>
隐式槽骨架本体语境Ⅴ:〈个体变量>〈关系动词变量>〈槽值变量>
隐式槽骨架本体语境Ⅵ:〈领有或存在关系变量>〈个体变量>〈关系动词变量>〈槽值变量>。其中,领有或存在关系是指包含“有”“存在”等表示存在关系的动词。
隐式槽骨架语境Ⅰ的缺省本体语境为:〈槽值语义类变量>
隐式槽骨架语境Ⅲ的缺省本体语境为:〈个体变量>〈槽值语义类变量>
隐式槽骨架语境Ⅳ的缺省本体语境为:〈槽值语义类变量>〈个体变量>
隐式槽骨架本体语境Ⅱ的扩展语境包含三种扩展语境:
隐式槽扩展本体语境Ⅰ:〈个体变量>〈状语变量>〈关系动词变量>〈槽值语义类变量>
隐式槽扩展本体语境Ⅱ:〈个体变量>〈状语变量>〈关系动词变量>〈状语变量>〈槽值语义类变量>
隐式槽扩展本体语境Ⅲ:〈个体变量>〈关系动词>〈状语变量>〈槽值语义类变量>。
例如,句子“出土陶器、石器、骨器等数千件。”,匹配隐式槽“数量”的隐式槽骨架语境Ⅲ,因为“出土”为关系,匹配〈关系变量>,“陶器、石器、骨器等”为个体,匹配〈个体变量>,“数千件”为槽值,匹配〈槽值语义类变量>
对于隐式槽的槽值获取,根据语境的类型设计了两种不同的方法。
算法:本体层级语境与槽值驱动的隐式槽的知识获取
输入:类C的隐式槽IS及其槽值语义类;
输出:类C的实体E的隐式槽IS的槽值SV;
(1)提取含有槽值语义类元素的句子;
(2)检测句子的描述流是否包含描述子d,并且d=C.IS;若包含,则转入下一步;否则,结束;
(3)对句子进行主动词识别;
(4)若句子含有主动词,则提交隐式槽骨架本体语境Ⅱ、Ⅲ、Ⅳ,判断是否匹配;若匹配成功,则提取槽值;否则,结束;
(5)若句子不含有主动词,则提交隐式槽骨架本体语境Ⅰ;若匹配成功,则提取槽值;否则,结束。
算法:语言层语境驱动的隐式槽的知识获取
输入:类C的隐式槽IS及其槽语境;
输出:类C的个体I的隐式槽IS的槽值SV;
(1)提取含有隐式槽IS的槽词汇场中词汇的句子;
(2)检测句子的描述流是否包含描述子d,并且d=C.IS,若包含,则转入下一步,否则,结束;
(3)对句子进行主动词识别;
(4)对于IS的槽语境中的语境C1,C2,…,Ck,判断是否存在i,S匹配Ci;若存在,则转入下一步;否则,结束。
(5)设句子与槽S的槽语境中的语境Ci1,Ci2,...,Cip同时匹配;
(6)判断Ci1,Ci2,...,Cip之间的蕴含关系;若Ci1→Ci2→…→Cip(即若Ci1蕴含Ci2,Ci2蕴含Ci3,…,Cip-1蕴含Cip),则选择Ci1的匹配标注结果,否则匹配正确率最大的语境所对应的匹配标注结果。