基于模板的中文上下位关系抽取方法
2022-01-28黄赛豪陆凯华李正华
章 岳 黄赛豪 陆凯华 李正华
(苏州大学计算机科学与技术学院 江苏 苏州 215006)
0 引 言
近年来,随着深度学习的发展,自然语言处理作为人工智能领域的一个主要分支且不断取得重大的突破。将基于深度学习的自然语言处理模型融入知识并进行自动化推理是目前比较主流的做法,其中知识的定义、获取和分类是亟需解决的问题。上下位关系在自然语言知识体系中占有非常重要的地位,它是描述事物层次关系的基础,可以作为词语关系网络的核心骨架。根据WordNet[1]的定义,给定两个词语x和y,如果句子“x是一种|类|个|部|…|y”是可以接受的,则称y是x的上位词(hypernym),x是y的下位词(hyponym),上下位关系记为hyponymy(x,y)。例如,句子“苹果是一种水果”是可以接受的,因此“苹果”和“水果”具有上下位关系hyponymy(苹果,水果)。很显然,上下位关系是非对称的,如果x是y的上位词,则y一定不是x的上位词。
上下位知识库可广泛运用于自然语言处理任务中。早期的词语知识库通常是人工构建的,因此需要耗费大量人力,主要有WordNet[1]、同义词词林[2]和HowNet[3]等。此类知识库的准确度较高,但是包含的上下位关系词对较少。随着技术的进步,近期的知识库构建工作通常围绕自动化的方法展开。哈尔滨工业大学推出的大词林[4]是自动构建的大规模开放域中文实体知识库,包括1 200万高质量的上下位关系词对,其中大部分为“概念词-实体词”类型。
上下位关系可以从结构化数据和非结构化数据中自动获取。基于结构化数据的方法虽然准确度较高,但是受限于数据规模无法获取大量词对,而互联网中海量的非结构化数据正为上下位关系的抽取提供了丰富的资源。现阶段,从非结构化数据中获取上下位关系通常采用两种方法,分别为基于模板的方法和基于词语分布相似度的方法。本文主要研究由Hearst[5]提出的基于模板的方法,其基本思想是使用人工或自动获取的模板在语料库中进行规则匹配或分类器训练,从而获得上下位词对。这里的模板指的是符合自然语言习惯的句型结构[6]。
基于模板的方法主要使用以下两类模板[7]:只利用分词、词性信息的词法模板(Lexical pattern,LP)和额外加入句法信息的依存句法模板(Dependency pattern,DP)。然而,目前学术界尚缺乏对这两类模板性能的全面客观的实验对比。特别是在深度学习时代,句法分析性能[8]和句法树库建设[9]均取得较大突破。在此背景下对两类模板性能的深入分析和比较,一方面可以更深入地理解基于模板的方法,另一方面也为两类模板的融合提供支持。
本文选取了四种主流上下位相关句型,在每种句型上分别定义了词法模板和依存句法模板。采用约3 000万句百度百科和约760万句维基百科中文语料作为无标注文本,利用基于深度学习的高精度词法和句法分析器获取词法和依存句法结果,进而根据两类模板自动匹配上下位关系候选词对,最后从不同类别中随机抽样2 800个词对进行人工标注。本文制定了详细的标注规范,严格采用双人标注和专家审核的流程,确保评价数据的可靠性。
本文重点关注概念词之间的上下位关系,因此使用了《现代汉语语法信息词典》、同义词词林和HowNet中的84 742个名词(概念词和少量常用实体词)作为上下位词语的范围。
1 相关工作
1.1 现有上下位知识库
现有包含上下位关系的知识库主要有WordNet、同义词词林、HowNet和大词林等。其中,WordNet、同义词词林和HowNet均采用人工标注的方式进行构建,而大词林则采用自动加少量人工的方法构建。
WordNet[1]是目前最重要、涵盖词语关系范围最广的英文语义词典,它通过同义词集(synset)和定义(gloss)来描述词义,同义词集之间有指针指示它们的语义关系,包括近义、反义、上下位和部分整体等多种关系。WordNet共有155 287个词型和206 941个词义,名词、动词、形容词、副词各自组成互不干扰的同义词网络。其中,上下位关系是WordNet中组织名词关系网络的基本架构。
同义词词林[2]是一个被广泛使用的中文词语关系知识库。它只包含词,而不含词的定义。它将53 859个词语划分为12个大类、97个中类和1 400个小类,形成了一个树状层次结构,每个节点(或类)都对应一个词语集合。同义词词林主要目的是刻画词语之间的同义性、近义性、相关性。两个词在树中的距离越近,则说明它们的词义越相近或相关。同时,树状层次结构也在一定程度上体现了上下位关系,例如上层词语通常是下层词语的上位词。近年来,哈尔滨工业大学又对基础版同义词词林进行了扩展[10]。扩展版同义词词林含有77 343个词语,并将原有的3层树状结构扩展为5层树状结构,新增了词群和原子词群。词群是小类的细分,它可进一步分解为原子词群,原子词群与词群之间可能出现重复。扩展版同义词词林具有更为细致的层次结构,隐含了更多上下位关系。
HowNet[3]也是一个应用广泛的中文语言知识库,它使用无法再细分的最小语义单位义原(sememe)来描述词汇和词义。义原体系的优势是可直接作为语义标签融入机器学习模型,在词汇相似度计算[11]、文本分类[12]和信息检索[13]等方面具有很高的实际应用价值。HowNet拥有2 468个义原,并在此基础上人工标注了118 347个中文词和104 027个英文词的语义信息,共包含212 541个义项和116个动态角色。How-Net中描述了8种义原关系,上下位关系是其中之一,词语间的上下位关系由词语的义原间的上下位关系来确定。
总体而言,WordNet、同义词词林、HowNet这三个知识库层次清晰,准确度较高,许多学者对其应用进行了深入的探索[11-14]。但是,此类知识库的维护需要大量的成本,更新缓慢,词语覆盖率较低[15]。此外,它们的关注点不限于上下位关系,因此上下位词对的规模比较有限。
与上述人工构建的知识库不同,大词林则是自动构建的大规模开放域中文实体知识库[4]。开放域意味着实体的类型是开放可扩展的,不局限于一个预先定义的实体类别体系。相比于传统命名实体,它的类别更多、更细。大词林以扩展版同义词词林作为核心骨架,通过自动化方法在已有节点上挂靠了大量的开放域实体词,并进一步进行实体类别层次化处理,其中包含约50 000个“概念词-概念词”类型的上下位关系词对、12 081 984个“概念词-实体词”类型的上下位关系词对。以大词林为代表的这一类自动构建的知识库,它们的规模可以随着互联网中实体词的更新而扩大,很好地解决了以往人工构建方法成本高、更新慢、覆盖率低的问题。可以看出,大词林中绝大部分上下位关系属于“概念词-实体词”类型。这种以概念词作为骨架挂靠实体词的知识库构建方法,对于“概念词-概念词”类型的上下位关系词对的覆盖面非常有限。但是,“概念词-概念词”类型的上下位关系毕竟能在词语上下位关系网络中起到核心骨架作用,也更能表达人类的常识知识。另外,大词林数据目前还不能公开访问和获取。
本文以“概念词-概念词”类型的上下位关系为主要研究目标,深入比较了基于词法模板和依存句法模板的上下位关系自动获取方法,并通过随机采样和较大规模的人工标注取得性能指标。
1.2 上下位关系自动获取方法研究
当前,主流的上下位关系自动获取方法可按数据的来源分为基于结构化数据的方法和基于非结构化数据的方法。
基于结构化数据的方法是对已有的词典、百科全书等结构化电子资源进行分析,获取隐含的上下位关系。Ponzetto等[16]利用维基百科的分类系统构建维基百科中词条的语义网络,并对网络中的上下位关系进行了抽取。程韵如等[17]针对维基百科中旅游领域词条的结构特点,尝试利用结构特点自动获取特定结构的领域命名实体和层次结构。这一类方法虽然准确度较高,但会受到结构化数据本身规模的影响。
互联网中的结构化数据需要人工进行构建与维护,其规模毕竟是有限的。然而,随着Web的发展,网络中积累了海量的非结构化数据,如新闻文本、博客文本和评论文本等,可为上下位关系的获取提供丰富的资源。所以,目前研究主要关注基于非结构化数据的方法,它大致可分为基于模板的方法和基于词语分布相似度的方法。
基于模板的方法对人类的语言习惯进行分析,通过给定一些上下位关系出现频繁的句型结构(模板),从语料中挖掘符合模板的上下位词对。Hearst[5]最早提出利用词法-句法模板在大规模文本中自动匹配上下位关系,其定义了六种常见的英文模板,在“Grolier’s Encyclopedias”的文本中进行了抽取实验,并将所得结果与WordNet进行了对比,准确度可以达到57.55%。刘磊等[18]较早研究了基于模板的中文上下位关系词对抽取,首先利用半自动获取的词典和句型对符合“是一个”模板的句子进行分析,然后根据不同的规则,分流匹配获取上下位关系,在中文语料中的实验结果令人满意。上述工作都是基于规则匹配的,此外模板信息也可作为特征训练分类器来识别新的上下位关系。Snow等[19]以WordNet中已有的上下位词对作为种子,采用自举方法(bootstrapping)迭代获取了大量依存句法模板,并利用这些模板训练了一个逻辑回归(Logistic regression,LR)分类器,对句子中隐含的名词对进行关系判别。
基于词语分布相似度的方法主要基于如下假设:下位词的上下文是其上位词的上下文的一个真子集。该方法利用词语在上下文中的统计信息来判断给定词对是否符合上下位关系。Weeds等[20]提出了一种简单直观的利用词语上下文信息计算上下位关系概率的公式。Szpektor等[21]对文献[20]方法进行了改进,将其与文献[22]提出的词汇相似度计算方法进行了融合,可以避免词语分布不平衡导致的问题。Shi等[23]将基于模板的方法和基于词语分布相似度的方法进行了比较,发现基于模板的方法更适合用于名词间上下位关系获取,而基于词语分布相似度的方法更适用于其他词性的词语。
除此之外,一些学者尝试将不同方法进行融合。Fu等[24]提出了一种开放域多资源上位词发现方法,融合了词典资源、搜索信息和词汇形态。孙佳伟等[25]提出在分类器中同时使用模板特征和词语分布特征,有效提高了上下位分类器的性能。
1.3 模板性能比较研究
基于模板的方法通常利用词法或依存句法两类模板。基于词法模板的方法考虑了词信息,通过选取模板前后的特定词语作为上下位候选词对。它只需进行简单的语料预处理工作,效率较高。Pantel等[26]采取该方法进行了上下位关系和模板的迭代抽取。而基于依存句法模板的方法则是先对待处理句子进行依存句法分析,然后按照现有的模板,通过依存句法路径抽取上下位关系。Snow等[19]将词语对用它们之间依存句法路径的集合来表示,在此基础上训练了一个分类器来识别新的上下位关系。此外,早期的上下位关系抽取任务中也经常采用基于正则表达式匹配的字符串模板(String patter,SP)。基于字符串模板的方法不使用传统的分词、词性标注等自然语言处理技术,而是采取语料分流处理后进行正则表达式匹配的方式进行抽取。这种方法易于实现,对于简单句子的抽取效果较好,但对于句子结构较为复杂的情况,常常需要耗费大量时间对语料进行分流和构建剥离、过滤和歧义词典[18]。
在英文等其他语言方面,已有不少学者关注不同模板性能的比较。Sang等[7]用bootstrapping方法自动获取到的词法模板和依存句法模板分别训练了两个上下位关系分类器,并在荷兰语语料中进行了实验,发现相较于词法模板,尽管依存句法模板利用了更多的句子信息,但并没有展现出明显更好的准确度和召回度。而Jijkoun等[27]的实验则发现利用依存句法模板抽取得到的信息可以显著地提升一个知识问答系统的性能。但是,一方面中文的句法结构和荷兰语、英语等差别较大,也没有词根的概念,另一方面由于中文的表达方式更灵活,bootstrapping等方法在中文中所能获取到的高质量模板更稀少[28],所以这些国外学者所得到的结果并不能简单地迁移到中文上。
在中文方面,目前尚欠缺模板间性能比较的实验,学者们更多地关注于多种模板的融合抽取。汤青等[29]以匹配“是一个”模板的句子作为研究对象,提出了一种字符串模板与句法模板相结合的上下位关系抽取方法,将中文语料依据规则划分为简单句和复杂句,针对简单句采用字符串模板进行抽取,针对复杂句采用依存句法模板进行抽取,兼顾了准确度、召回度和效率。陈金栋等[30]结合强句法模板和语义模板,提出一套新颖的框架从语料中抽取上下位关系,抽取过程中将字符串模板与依存句法模板融合,在中英文语料中的实验表明这种融合方法可以提升准确度和召回度。
2 上下位关系模板
现阶段,国内大部分基于模板的工作所采用的中文模板都借鉴了Hearst提出的英文模板[5]。本文工作参考前人总结的中文Hearst模板,选取了其中最为有效的四种句型[30],如表1所示。对于每一种句型,本文分别给出它们各自的词法模板和依存句法模板的定义。其中,N1表示下位词,N2表示上位词。
表1 中文句型示例
表2给出了匹配上述四种中文上下位相关句型的例句。
表2 匹配表1中句型的例句
2.1 词法模板
本文采用了两种不同的模板对大规模中文语料进行上下位关系抽取,第一种模板是词法模板,它仅需用到句子中的词信息。此方法的语料预处理过程需要以下两个步骤:
Step1对待抽取句子进行分词。
Step2对分词的结果进行词性标注。
需要注意的是,在词法模板的实际匹配过程中,不仅要求词匹配一致,还要求词性匹配一致。
本文采用苏州大学开放的汉语理解平台(CUP)(http://hlt-la.suda.edu.cn/)进行语料预处理工作,对例句“苹果是一种水果”的分析结果如图1所示。
图1 词法模板语料预处理结果
本文在实验的过程中依据表1中的四种中文句型,给出了它们的词法模板定义,作为抽取及比较的基础。此处以符合“是一个”句型PisA的词法模板为例说明。
定义1与表1中句型PisA对应的中文词法模板LPisA具体定义如下:
Define constant
//定义常量
{
Vis={x|x∈{是|为|系|……}}
ATTquantifier={x|x∈{个|种|类|位|名|部|本|款|……}}
ADVfilter={x|x∈{不|绝不|并不|可能|似乎|也许|貌似|据说|过去|以前|……}}
}
Define lexical pattern
//定义词法模板
{
<&Vis>一<&ATTquantifier>
}
其中:“&”表示定义一个常量;“?”表示定义一个变量;“!”表示在句子中不能出现;“N1”表示下位词;“N2”表示上位词;“Vis”指与“是”同义的中文谓语;“ATTquantifier”指可做量词的中文定语;“ADVfilter”指需要过滤的中文状语。
2.2 依存句法模板
基于依存句法模板的方法在输入待抽取句子词信息的基础上,还需要额外输入其依存句法信息。因此,其语料预处理过程在词法模板的基础上另外包含了第三个步骤:
Step3标注待抽取句子的词之间的依存句法弧。
通过依存句法分析,可以得到待抽取句子的依存句法树。根据依存句法模板遍历依存句法树,便可获取待抽取句子中隐含的上下位关系。
表3给出了依存句法模板中使用到的部分依存句法弧标签,其详细解释可参考苏州大学公开的CODT项目(http://hlt.suda.edu.cn/index.php/CODT)。
表3 依存句法弧标签定义
本文依据表1中的四种高置信度中文句型,在词法模板的基础上定义了依存句法模板,作为抽取及比较的基础。此处以符合“是一个”句型PisA的依存句法模板为例说明。
定义2与表1中句型PisA对应的中文依存句法模板DPisA具体定义如图2所示。
图2 符合定义2模板的依存句法结构
其中,符号及常量的定义参考定义1,依存句法弧标签的定义参考表2。图3为符合定义2的例句。
图3 符合定义2模板的句子示例
当句子中出现“Vis”被“ADVfilter”修饰时,可认为其不符合模板,如图4所示。
图4 不符合定义2模板的句子示例
2.3 模板实现
对于形式上匹配前述模板的句子,即可通过规则获取其中隐含的上下位关系。
对于匹配词法模板的句子,经过观察发现,其上位词、下位词往往在核心短语或核心词附近的特定位置。例如,符合定义2模板的句子“红富士/苹果/是/一/种/美味/的/水果”中,下位中心词“苹果”是核心短语“是一种”之前的最后一个名词,而上位中心词“水果”是核心短语“是一种”之后的最后一个名词。依据核心短语对结果进行切分,分别取左右两侧的最后一个名词,即可得到结果hyponymy(苹果,水果)。针对上位词、下位词并列问题,基于词法模板的方法通过并列连接词的方式来进行判断,常见的并列连接词有“和”“或”“以及”等。如果两个或多个名词之间存在这些连接词,则认为它们是并列的,可以被同时抽取,从而提升词法模板的召回度。
对于匹配依存句法模板的句子,则利用词语间的依存路径获取上下位关系。例如,符合定义2模板的句子“红富士/苹果/是/一/种/美味/的/水果”中,“苹果”为“是”的主语,“水果”为“是”的宾语。通过遍历依存句法树,寻找核心词“是”的主语弧和宾语弧,即可得到结果hyponymy(苹果,水果)。针对上、下位词并列问题,基于依存句法模板的方法可通过并列扩展结构来进行分析和抽取,如图5所示。
图5 并列扩展结构
其中:“N1n”表示与下位词“N1”并列的下位词(n∈N*),“N2n”表示与上位词“N2”并列的上位词(n∈N*)。通过遍历coo弧,可以完整地获取句子中隐含的所有上下位关系。
3 评价方法
Sang等[7]在荷兰语语料中进行的模板对比实验利用了EuroWordNet中的上下位资源。他们假设EuroWordNet中除已标注的上下位关系外不再存在额外的上下位关系。这种做法与实际情况差异较大,因为无论何种知识库中的上下位资源都不可能是全面的。考虑到上述问题,本文采用准确度、召回度两个指标对词法模板和依存句法模板的抽取性能开展综合评价。
1)召回度方面,需要人工构建高置信度的上下位词对正例集合作为标准结果,统计其词对数目。针对特定的模板P,首先在语料中筛选出含有标准结果中的词对及模板P的句子,然后利用模板P对这些句子进行上下位关系自动抽取,并统计得到的结果在标准结果中的数目,最后利用式(1)计算得到模板P的召回度指标。
(1)
式中:Recall(P)为模板P的召回度指标;positive为标准结果总数目,correct为利用模板P在句子中自动获取到的词对在标准结果中的数目,二者内部均无重复。
针对两类模板整体召回度的评价,基本思想与针对特定模板P的召回度评价基本相同,区别是在筛选和抽取时将原先的特定模板扩展至同类的所有模板。
2)准确度方面,本文采用随机抽样人工标注的方式进行评价。针对特定的模板P,在其抽取到的候选词对集合中随机抽取200对不重复的词对进行人工标注,然后利用式(2)计算得到模板P的准确度指标。
(2)
式中:Prec(P)为特定模板P的准确度指标;matched为随机采样的候选词对数目,correct为对候选词对进行标注得到的正例数目,二者内部均无重复。
针对两类模板整体准确度的评价,基本思想是利用同类的所有模板各自的准确度进行加权求和,权重为各特定模板所得词对在此类模板得到的全部词对中所占的比例,具体计算公式如下:
(3)
式中:Prec(M)是类别为M的模板的准确度指标;sum为M类模板所得词对总数;n为M类模板的个数;numi为M类模板的第i个模板所得候选词对数;matchedi为对M类模板的第i个模板进行随机采样得到的候选词对数目;correcti为对随机采样的候选词对进行标注得到的正例数目。上述词对内部均无重复。
4 数据标注
为了完成实验中的准确度评价工作,解决第3节中提到的前人评价方式的缺陷,本文在对上下位知识库构建技术进行比较深入的研究后,研制了一套详细的上下位关系标注规范,并严格规定了标注的流程,对数据进行人工采样标注,从而计算准确度。
4.1 标注规范
上下位关系的定义并不复杂。然而,由于词语的多义性、句子的口语化等原因,实际的标注过程中仍存在着许多复杂的问题。考虑到目前中文尚无公开的上下位关系标注规范,本文在实践过程中积累了一套标注规范,举例如下:
(1)核心原则:只要词x的某一义项和词y的某一义项之间满足上下位关系,就可以将它们标注为上下位词对。例如:“虎”既可以指一类哺乳动物,也可以指一部电影,还可以指一个动漫角色。依据上述规范,hyponymy(虎,哺乳动物)、hyponymy(虎,电影)、hyponymy(虎,动漫角色)均正确。
(2)非对称性原则:若词x已被标注为词y的上位词,则不能将词y标注为词x的上位词。例如:已存在hyponymy(苹果,水果),则hyponymy(水果,苹果)必然是错误的。
(3)还原省略原则:若词x可以脱离语境独立表示词y的缩略语或者简称,则可在标注时将x还原为y。例如:“宝马”在人们口语化的表达习惯中可以单独表示“宝马汽车”的缩略语,所以标注时可将hyponymy(宝马,汽车)认为是正确的。
(4)尊重词典原则:一个词的一切义项的解释均以词典为准。但考虑到如今出现了许多网络新词而词典可能无法及时更新,若标注者认为某个词出现了新的含义,在给出可靠的出处后,可以按照新义项进行标注。例如:“小强”在当今的网络用语中代指蟑螂,而蟑螂是一种动物,则hyponymy(小强,动物)是正确的。
(5)上位抽象原则:上位词必须是抽象概念,而非具象的实体。例如:hyponymy(泰山,五岳)是错误的,因为“五岳”可以具体到特定的五座山,本文在实际标注时将它们认为是一种部分和整体的关系。
4.2 标注流程
为了提升标注效率和质量,本文设计了一套基于网页浏览器的上下位关系标注系统。图6给出了一个上下位关系标注任务的处理流程。
图6 人工标注流程
步骤1系统将一个任务分配给两个标注者,若两人标注的结果一致,则将结果确定为正确答案;若两人标注的结果不一致,则进入步骤2。
步骤2若结果不一致,此时系统会将两位标注人员的结果随机分配给一位审核专家。审核专家将确定唯一结果,并将该结果反馈给出错的标注者进行学习。学习过程中,若没有出现投诉,则将审核后的结果入库保存,否则进入步骤3。
步骤3若出错的标注者认为审核专家认定的结果是错误的,则可以输入理由进行投诉。系统会将投诉任务随机分配给一位权威专家,权威专家将确定最终的结果入库保存,并将该结果反馈给出错的审核专家或标注者进行学习。
其他的自然语言处理工作也采用了和本文类似的数据标注方法[9]。
4.3 标注规模
依据以上标注规范和流程,在本文目前的实验工作中,已完成了3个批次的标注任务,分别为600、600和1 600个词对。共有8名人员参与标注工作,其中普通标注人员4名,审核专家2名,权威专家2名。目前,已积累规模为2 800个词对的高质量上下位关系数据集(1 326个正例和1 474个反例)用于计算基于不同模板的上下位关系自动抽取方法的准确度指标。
5 实 验
本文利用表1中的常见句型分别定义了四种词法模板和四种依存句法模板,在大规模中文语料上进行抽取实验。语料来自于中文百度百科和中文维基百科的非结构化文本,分别有29 757 309和7 645 866个句子。
本文采用《现代汉语语法信息词典》、同义词词林和HowNet中的名词构建了常用名词词典(概念词和少量常用实体词),共有84 742个词,以此来限定抽取到的上下位名词范围。但是,上述常用名词词典中仍有大量词语一般不能作为上位词,为了进一步限定上位词范围,本文采用网络爬虫技术爬取了百度百科的分类栏目,并与上述词典取交集,得到了5 831个词的上位词词典。
本文构建了一个上下位关系正例集合,用于进行召回度评价。构建方式主要是从HowNet、同义词林等现有的中文资源库中爬取可能具有上下位关系的词对,并进行人工筛选,最终得到3 748对存在于语料库中的上下位关系词对。
在实际抽取过程中,命名实体识别问题会导致一些抽取错误。例如:“中国/人民/银行/是/一/家/银行”,由于分词的粒度较细,命名实体未被正确识别,导致抽取的结果为hyponymy(银行,银行)。为了避免这样的现象,本文采取了一种较为简单的基于词性的补全方法:对抽取到的中心词进行向前搜索名词并补全,直到遇见非名词词性的词。在例句中,“中国”“人民”“银行”均被标注为名词词性,所以利用上述方法得到的结果为hyponymy(中国人民银行,银行)。此方法提高了抽取的准确度和召回度,也方便了人工标注的进行。
5.1 实验结果
采用第2.3节中的方法进行抽取,句型ID参考表1,抽取结果如表4所示,其中候选词对未经过去重处理。
表4 基于词法模板和依存句法模板的抽取结果
采用本文第3节中所述方法对上述抽取结果进行评价,对词法模板(LP)和依存句法模板(DP)评价的结果如表5所示。此处的词对经过了去重处理。
表5 抽取结果指标计算
5.2 结果分析
本文采用了表1中的四种中文Hearst句型进行上下位关系自动抽取。在上述四种句型中,ID为PisA和Pcontain的句型,其依存句法模板的召回度与准确度均高于词法模板;ID为PoneOf的句型,其依存句法模板的召回度高于词法模板,准确度低于词法模板;ID为Petc的句型,其依存句法模板的召回度低于词法模板,准确度高于词法模板。从整体角度看,词法模板在召回度方面存在0.32百分点的优势,而依存句法模板在准确度方面存在9.07百分点的优势。
本文的实验与前人产生了不同的结果。Sang等[7]在2009年进行的模板性能实验显示,针对维基百科语料,词法模板的准确度63.4%比依存句法模板的准确度61.9%高出约1.5百分点,而依存句法模板的召回度47.0%比词法模板的召回度44.3%高出约2.7百分点。经过分析与对比,本文认为可能导致结果差异的主要原因有以下几种:① 句法分析技术的发展。过去十年来,由于深度学习的发展,句法分析性能得到了较大幅度的提高。本文采用了当下性能最好的句法分析器Biaffine Parser,在最新标注的多领域汉语依存句法数据上进行训练[32],提升了依存句法弧标注的准确度,从而可能使依存句法模板获得了更好的性能。② 指标计算方式不同。Sang等假设EuroWordNet中的词语间除已标注的上下位关系外不再存在额外的上下位关系,通过观察抽取到的词对是否位于已有的上下位正例集中来判断结果是否正确。但是,EuroWordNet中已标注的上下位正例集规模较小,不够全面,所以该方法存在一定的缺陷。本文则对抽取结果进行随机抽样后进行人工标注,进而计算准确度,并且严格规定了标注流程,制定了合理的标注规范,所得性能指标或许更为准确。③ 语言不同。Sang等的实验针对荷兰语语料,而本文实验针对汉语语料。汉语和荷兰语在词根、语法等多个方面均存在较大差异,有可能影响了实验结果。
本文观察数据标注的结果发现基于依存句法模板的方法在下列情况下可能具有优势:① 句子结构复杂,上下位词对在句子中的距离较远而依存句法距离较近;② 上下位词对不在同一个以逗号隔开的句子中;③ 句子中出现了错误的标点符号。而基于词法模板的方法在句子结构简单、上下位词对在句子中距离较近的情况可能具有优势。
6 结 语
基于大规模中文语料,本文对词法模板和依存句法模板的上下位关系抽取性能进行了实验比较,结果表明:在给定了优质句型的情况下,两种模板的召回度仅有细微的差别,而依存句法模板在准确度方面有较大优势。本文的主要贡献如下:
(1)清晰地梳理了中文上下位关系自动获取的词法模板和依存句法模板的完整定义,详细地描述了基于词法模板和依存句法模板的中文上下位关系自动匹配获取的具体方法(具体代码开源于https://github.com/HillZhang1999/nlp);
(2)设计了一套合理的中文上下位关系标注流程,给出了中文上下位关系标注的规范和注意事项,并且进行了较大规模的人工标注实验;
(3)在中文大规模语料上对基于词法模板和依存句法模板的上下位关系自动匹配获取方法进行对比实验,全面、正确地对两类模板进行了评价。
本文目前的工作仅在两类模板定义良好的情况下对它们的性能进行比较。在未来的工作中,将根据它们各自的优势设计一个多模板融合的上下位关系自动抽取模型,并不断扩充高质量中文上下位关系词对库。