【ACL2020】详解基于显式语义分解的词典释义生成

来自:南大NLP

01

背景及研究动机

词典释义在人类学习语言,特别是第二语言的过程中起到了十分重要的作用。人们在阅读不熟悉的领域的文本或者外语文本时,如果遇到了不认识的词汇,往往会去词典去查找对应的释义。然而,现有的词典往往是由专业的语言学家和词典学家编撰的,更新一次需要耗费大量的精力,因此其时效性很弱,对于一些不常见的词或者新创造出的词,我们很难在现有的词典中找到满意的释义。因此进行词典释义的自动生成的研究很有现实意义。

现有的进行词典释义自动生成的工作大多直接采用编码器-解码器框架,它们往往依靠一个简单的解码器来从表示中抽取词语的全部语义,而忽视了对于词语的细粒度语义的建模,这就导致了其生成的词典释义会出现缺失部分语义的问题。如下图例子所示,给定的词是"captain", 其正确的释义是" the person who is in charge of a ship", 而之前工作生成的释义则为“the person who is a member of a ship",其中少了"captain"这个词语义中“领导”这一部分语义。

事实上,语言学家们认为定义一个词的过程,就是将词的语义先分解成其细粒度的组成部分,再将其用自然语言描述出来的过程。受此启发,我们提出通过显式语义分解的方式对词语的细粒度语义进行建模,以生成语义完整的词典释义。

02

解决方案

我们提出通过显式语义分解的方式建模词语的细粒度语义。具体而言,我们引入了一组离散的隐变量 z_1, z_2, ..., z_M 来建模需要解释的词的语义的组成部分,其中M为超参,代表组成部分的数量。此时,我们想要建模的概率为:

其中w为给定的词,C为其出现的上下文,D为w在C中的含义。由于上式的计算复杂度很高,我们优化其变分下界:

我们的模型架构如图所示。在训练时, 我们首先会使用一系列编码器来获得词表示,上下文表示,以及目标释义的表示,然后将这些表示输入到M个简单的前馈网络中来获得M个后验分布。对于每一个分布q_i(z|w,C,D) 而言, 我们会从其中采样出z_i的值,并使用一个映射矩阵将其映射为一个低维的语义向量。解码器在解码过程中,会动态考虑词表示,上下文表示和M个语义向量来进行释义的生成。

为了保证引入的隐变量 z能够完成我们希望的建模细粒度语义的功能,我们还额外设计了两个目标函数来帮助其学习: 

(1)语义完整性目标,上述隐变量的任务是建模细粒度语义,因此我们希望它们所包含的信息的和应当能够覆盖词的全部语义。这边词的语义可以有两种表现形式。首先,HowNet中词的义元标注可以作为词的语义,此时我们要求隐变量z中的信息足够预测出要解释的词所对应的这些义元标注:

当没有对应的标注时,我们把训练时词的释义当作词的语义,因此我们希望隐变量z能够预测出目标释义中的每个词:

(2) 语义多样性目标

为了能够达到分解的目的,我们要求不同的隐变量应当能够分别建模词的语义的不同方面,否则M个隐变量将会退化成一个隐变量。为此,我们要求M个语义向量两两之间不能太靠近:

我们的模型最终有两个变体, 其中变体一没有使用任何外部资源,其训练目标为:

变体二采用了HowNet中的义元标注,其训练目标为:

03

实验结果与分析

我们在前人工作使用的两个数据集 WordNet和Oxford上进行了实验。实验结果表明, 在使用相同的资源时,我们的模型相比于之前的模型在BLEU和Meteor两个指标上有所提升,这说明了我们方法的有效性。

下表是我们模型的消融实验,从中可以看出,语义完整性目标的引进能够大幅提高模型的性能,而语义多样性目标能够在其基础上进一步提升模型的表现。

下图是当我们调整Meteor指标中控制对实词偏好程度的参数\delta时,我们的模型与之前模型性能的变化趋势。其中,\delta越大,代表我们越看重实词而非功能词上的表现。从中可以看出,当\delta增大时,所有模型的性能都有所下降,这说明当前词典释义生成模型在实词的表现有所欠缺。然而,我们提出的模型下降的趋势却更为平缓,这说明我们模型的提升更多地来自于有意义的实词而非功能词。

下表给出了两个词典释义的例子。其中第一个是"militia"这个词,它的中文意思是“雇佣兵”,其释义的“not professional"这部分语义没有在之前模型(LOG-CaD)生成的释义被体现,而我们的模型则通过生成"and not very skillful"对其作了描述。第二个例子为上文说到的"captain"这个词,我们也可以从中看到我们模型生成的释义中通过"leader"这个词覆盖了"captain"中“领导”这部分语义。

04

结论

我们针对之前的词典释义生成模型中生成释义语义不完整的问题,提出通过显式语义分解的方式对词语的细粒度语义进行建模。我们引入了一组隐变量建模词语语义的细粒度组成部分,并设计了两个额外的目标函数来帮助其学习。实验表明我们的方法能够在之前工作的基础上生成语义更加精确完整的释义。

作者:李家欢

编辑:刘莉,何亮

说个正事哈

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方深度学习自然语言处理”,进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心

推荐两个专辑给大家:

专辑 | 李宏毅人类语言处理2020笔记

专辑 | NLP论文解读


整理不易,还望给个在看!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值