动机
术语层次在许多自然语言处理任务中扮演着重要角色。然而,大部分现有的术语层次是人工构建的,其覆盖范围有限,或者某些领域上不可用。因此,最近的工作集中在自动化的术语层次归纳(automatictaxonomy induction)上。
之前的研究工作大部分采用两步式方法,首先进行上位关系检测(hypernymy detection),然后将上位关系组织成树形层次结构。但是,这些方法存在两种局限性。首先,它们没有利用第二步中上位关系的组织结果来修正第一步中上位关系的概率计算,这会导致错误传播问题。其次,一些方法使用树形结构中边的概率乘积来衡量术语层次的归纳质量,但它们没有区分不同的边对术语层次的不同贡献。此外,它们不能通过优化全局度量指标的方法来显式反映术语层次的整体结构。
针对上述问题,本文提出了一种上位关系检测和组织的联合模型,同时完成术语对的表示学习和术语层次的构建。该模型基于端到端的强化学习,训练一个强化学习代理,利用多信息源进行术语对的表示学习,并通过策略网络来决定术语的挑选及其所在层次位置。在该模型中,上位关系的组织结果将反馈到上位关系的检测上,进而调整术语对的表示学习。整个模型通过累积奖励进行端到端的训练。该奖励通过术语层次上的整体性指标进行度量。最终,术语层次的概率不再是简单的边的概率乘积。相反,考虑了每条边对术语层次质量的不同贡献。
贡献
本文的贡献如下:
(1) 提出了一个深度强化学习方法,把上位关系检测和组织统一起来,通过端到端的方式构建术语层次结构。
(2) 设计了一个策略网络,纳入术语对的语义信息,并使用累积奖励从整体角度衡量术语层次的质量。
(3) 通过两个公开数据集上的实验,验证了本文方法能够有效地减少错误传播,构建更高质量的术语层次。
一个例子
图1展示了一个术语层次归纳的过程。t=0时刻,输入词汇V0为{“working dog”, “pinscher”, “shepherd dog” ,…},术语层次T0为空。这里,使用一个虚拟节点“root”表示T0。t=5时刻,有5个术语在术语层次T5上,剩余3个术语要附着:Vt={“shepherddog”, “collie”, “affenpinscher”}。假设术语“affenpinscher”被选中并放在“pinscher”下,那么下一时刻剩余的词汇Vt+1为{“shepherd dog”,“collie”}。最终,经过|V0|步后,所有的术语附着在术语层次上,完成了整个归纳过程。
图1. 一个说明性例子
相关工作
上位关系检测主要分为基于模式的方法和分布式方法两类。基于模式的方法通常取得很高的精度但是召回率低。分布式方法考虑每个术语的上下文,可以通过非监督或者监督的方式进行学习。
术语层次结构组织的一类工作是通过增量式附着新术语的方式补全已有的术语层次。另一类工作是基于维基百科、WordNet、Web搜索或者特定领域的资源,从头开始构造术语层次。这些工作通常采用图优化算法来归纳树形层次结构,比如最大生成树和最小代价流。
术语对的上位关系特征表示
1. 基于最短依存路径
通过对两个术语x和y共现的语句进行依存关系分析,可以得到(x, y)在每一个句子中的最短依存路径。路径上的每一条边e通过向量Ve表示:
其中Vl,Vpos,Vdep,Vdir分别对应词条(word lemma),POS标签,依存标签以及边方向的嵌入(embedding)向量。对于每一条路径p=V_(e_1 ),V_(e_2 ),..., V_(e_k),使用LSTM的输出向量作为其特征表示Op。
根据最短依存路径信息,可以得到(x,y)的上下文嵌入向量表示 :
其中,P(x,y)表示(x,y)的所有依存路径,c(x,y)(p)表示路径p在P(x,y)中的频率。
2. 基于分布式术语嵌入
使用了两个术语x和y各自的词嵌入。
3. 基于术语的字符串特征
给定两个术语的字符串,采用了以下特征:是否大写,一个字符串是否以另一个结尾,字符串的包含关系,后缀匹配,最长公共子串和长度差异。
4. 基于共现频率及广义性度量
归一化的频率差异:,其中,freq(x_i,x_j) 表示的 (x_i,x_j) 原始频率。
广义性(generality)差异:g(x_j)-g(x_i),其中=log(1+|hypo|)表示术语x的广义性,即所具有的不同下位词数目的log取值。
最终,术语对(x,y)的表示Rxy由上述所有特征的嵌入向量拼接而成:
其中,, V_(w_x ) , V_(w_y), V_(F_(x,y) ) 分别对应路径表示,x的词嵌入,y的词嵌入以及其它的特征向量。
端到端的强化学习模型
1. 状态
t时刻的状态s由当前术语层次Tt和剩余词汇Vt组成。
2. 动作
t时刻的一个动作at定义为:(1) 挑选一个术语x1,(2)将x1从Vt删除,(3)将x1附着到Tt已有的一个术语x2下面作为其下位词。因此,在t时刻,动作空间的大小为|Tt||Vt|。
3. 奖励
t时刻,强化学习代理采用动作at,在术语层次中新增边et=(x1, x2),该动作得到一个即刻的奖励rt,其定义如下:
其中,F1_(e_t ),F1_(e_(t-1) )分别表示t时刻和t-1时刻新增边后,术语层次与标准层次比较得到的关于边的F1值:
其中,E_sys,E_gold 分别表示系统构建的术语层次和标准术语层次上边的集合。
从当前时刻到终止时刻的累积奖励大小反映了当前动作是否能够提升术语层次最终结构的整体质量。据此,强化学习代理能够在动作选择时考虑每个动作的长远影响。
4. 策略网络
给定当前状态s,策略网络 \Pi(a|s;WRL) 决定挑选哪个术语对(x1, x2)作为动作,其神经网络结构如图2表示:
图2. 策略网络结构
在这个策略网络中,每个术语对(x,y)的表示由下述向量堆叠(stacking)而成:通过基于路径的LSTM编码结果,两个术语的词嵌入以及其它特征向量。据此,可以得到一个动作矩阵At,大小为(|Vt||Tt|)dim(R),其中,(|Vt||Tt|)代表所有可能的动作(术语对)数目,dim(R)代表术语对表示的维度R。At作为两层前向反馈网络的输入。最后,使用softmax层输出不同动作的概率。根据动作的概率分布,采样得到一个动作at:
本文使用基于策略梯度的算法REINFORCE来计算策略网络的参数WRL:
其中, 表示i时刻的累积奖励,γ∈[0,1] 表示未来奖励的折扣因子。
通过WRL的更新,术语层次的组织结果反馈到术语对上位关系的表示学习上。
5. 实现细节
本文使用50维预训练的GloVe词向量作为词嵌入。限定每个术语对最多200个依存路径。使用Adam优化算法来进行参数更新,初始的学习率为0.001。折扣因子设置为0.4。使用DyNet进行策略网络的学习。
实验结果
本文进行了两个实验。第一个实验比较术语层次归纳的整体性能。使用WordNet的一个子集作为数据集。第二个实验比较子步骤层次结构组织的性能,限定所有方法使用相同的上位关系图作为输入。使用了SemEval-2016 任务13 (TExEval-2)中英语语言下的两个数据集:环境和科学。实验选用了F1e和F1a作为度量指标,其中F1a表示“is-a”术语对的F1值:
表1列出了本文提出的方法与基准的两步式方法在端到端术语层次归纳上的性能。表1的结果表明,没有考虑术语层次整体结构的方法TAXI和HypeNET取得的F1值较低。本文提出的TaxoRL(RE)将上位关系检测和组织统一起来,其取得的效果好于将两个步骤独立开来的方法HypeNET+MST。此外,TaxoRL(NR)允许选取一个术语作为新的根节点,而不是像TaxoRL(RE)那样每次使用一个固定的虚拟根节点。这种做法能够提升F1值。结合基于频率和广义度量的特征(FG)后,TaxoRL(NR)+FG能够取得最佳F1值。
表1. 术语层次归纳性能比较
表2列出了不同方法在上位关系组织上的性能。其中,TaxoRL(Partial)只考虑输入的上位关系图中的术语对,TaxoRL(Full)则考虑全部可能的术语对(|V||T|)。由表2的数据可见,在术语层次结构组织上,本文提出的方法TaxoRL(Partial)和TaxoRL(Full)均优于其它对比方法。并且,考虑全部术语对的TaxoRL(Full)性能好于TaxoRL(Partial)。
表2. 上位关系组织实验结果
表3显示了关于特征向量的消融研究(ablationstudy)结果。表3表明不同的特征之间是互补关系,使用所有的特征能够取得最佳的效果。
表3. 消融研究
[1] Yuning Mao, Xiang Ren, Jiaming Shen, Xiaotao Gu, Jiawei Han. End-to-EndReinforcement Learning for Automatic Taxonomy Induction. In: ACL, pp. 2462-2472,2018
论文笔记整理:龚赛赛,南京大学博士,研究方向为知识图谱、实体消解、数据融合。
OpenKG.CN
中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。
转载须知:转载需注明来源“OpenKG.CN”、作者及原文链接。如需修改标题,请注明原标题。
点击阅读原文,进入 OpenKG 博客。