K-BERT

在这里插入图片描述

  K-BERT: Enabling Language Representation with Knowledge Graph
  https://github.com/autoliuweijie/K-BERT.

Motivation

弥补语言模型缺乏领域知识的弊端

摘要

预先训练的语言表示模型,如BERT,从大规模语料库中获取一般的语言表示,但缺乏特定领域的知识。阅读一篇领域文本时,专家用相关知识进行推理。为了使机器能够实现这一功能,作者提出了一种基于知识的语言表示模型,其中三元组作为领域知识注入到句子中。然而,过多的知识整合可能会使句子偏离其正确的含义,这就是所谓的知识噪音(KN)问题。为了克服KN,K-BERT引入了soft-position and visible matrix 来限制知识的影响。K-BERT可以通过配备KG轻松地将领域知识注入到模型中,而无需自行预训练,因为它能够从预训练的BERT加载模型参数。

介绍

pre-train刷新了各种NLP任务的SOTA,但是在特定领域(如医药)表现不加,一个方法是重新训练个强调领域知识的pre-train model,但是计算成本太高。此外,作者考虑到将KG融入集成到语言表示模型中,使其具备领域知识。但是,这种集成面临两个挑战:

  1. Heterogeneous Embedding Space (HES):一般情况下,文本中文字的嵌入向量和KG中实体的嵌入向量是分开获取的,使得它们的向量空间不一致。
  2. Knowledge Noise (KN):过多的知识融入可能会使句子偏离其正确的意思。
    K-BERT由此而生:

Methodology

Notation

对于一个句子: s s s = { w 0 w_0 w0, w 1 w_1 w1, w 2 w_2 w2, …, w n w_n wn}, n n n为句子的长度。英语句子为word-level,本文针对character-level的中文句子。
其中,每一个token都包含在词表 V V V内。KG表示为 K K K,包含一系列三元组: ε ε ε = { w i w_i wi, r j r_j rj, w k w_k wk}, w i w_i wi w k w_k wk为实体名称, r j r_j rj V V V是他们之间的关系。所有的三元组均在 K K K内,即 ε ε ε K K K

Model architecture

K-BERT的模型架构由四个模块组成(如下图),即knowledge layer, embedding layer, seeing layer and mask-transformer。对于一个输入句子,knowledge layer首先从一个KG注入相关的三元组,将原始句子转换成一个知识丰富的句子树。然后句子树被同时馈入embedding layer和seeing layer。然后转换成token-level嵌入表示和可见矩阵。可见矩阵用于控制每个token的可见区域,防止因注入过多知识而改变原句的意思。
在这里插入图片描述

knowledge layer(KL)

知识层用于句子知识注入和句子树转换。具体地,给定输入句子 s s s = { w 0 w_0 w0, w 1 w_1 w1, w 2 w_2 w2, …, w n w_n wn}和一个KG K K K,KL输出一个句子树 t t t = { w 0 w_0

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值