锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

知识图谱-关系抽取

时间:2023-12-26 00:37:01 连接器dc62pk87

关系提取包括基于字符模式的提取、基于语法模式的提取、基于语义模式的提取、自动化模式的提取和基于学习的提取。基于学习的提取是目前的主流方法,主要介绍基于学习的提取。
基于学习的选择分为基于监督学习、基于弱监督学习和基于远程学习的选择。从模型的角度来看,无论采用哪种方法,都可以采用序列标记或序列分类模型。如果给定了物理位置,使用分类模型更方便。

1. 基于监督学习的关系提取

监督学习是利用标记数据学习的一种方法。在监督学习关系的提取中,核心问题是如何从标记样本中提取有用的特征。常见的特征包括:
1.1 词汇特征:
词汇特征是指实体对之间或周五的特定词,有助于判断实体对的语义关系类别。如<亚里士多德,柏拉图>作为一个实体,相关句子柏拉图和苏格拉底老师,亚里士多德学生,希腊三贤中的词袋信息是<和,老师,苏格拉底,学生,>,之间的词性标记是{CONJ,NP,NP,NP},每个词性的位置顺序信息、词性的词袋信息等。
1.2 句法特征
依存分析器等句法特征MINIPAR和Standford Parser在获得句子的句法分析结果时,句法分析结果包括词汇收集和词汇之间的句法依赖。例如,王峰发行新歌春鸟是最短的依赖路径是王峰和春鸟,关系是发行。
1.3 语义特征
语义特征是指候选实体对关系两侧类型的匹配约束。(这个概念有疑问)

2. 抽取基于远程监督学习的关系

基本假设是给定一个三元组,任何包含实体对在某种程度上,实体之间的关系在几秒钟内就变快了。基本流程如下:
(1)从知识库获取尽可能多的实体
(2)对于获得的实体,从大规模数据中获得尽可能多的句子集合,并标记响应关系;
(3)包括实体对的句子集和关系类型
标签构成关系提取的数据集,即实体对的训练数据是响应量的句子,标签是知识库中的关系类型。

3.根据深度学习的关系提取

3.1基于循环神经网络的关系提取
典型模型结构:输入层(Input layer)双向循环层(Recurrent Layer)池化层(Pooling Layer)。双向循环层可见RNN网络结构和参数更新方法及长短记忆网络
3.2 基于卷积神经网络的关系提取
基本思想:使用CNN编码输入语句,根据编码结果,结合激活函数对实体对关系进行分类。典型框架:句子->Embedding->卷积层->卷积疏忽->最大池化->非线性层->句子表示。

Embedding:embedding它主要是处理位置关系,这有助于网络跟踪输入句子中每个单词与实体之间的距离。其基本思想是:离实体月经的单词通常包含关系分类的有用信息越多。

给定句子“Bill is the founder of Microsoft”,"founder"和"bill"相对距离为3,与尾部实体Microsoft距离是-2,每个相对位置都编成 d p d_p dp将单词向量与位置向量拼接,得到每个单词的向量表示 w i ∈ R d w_i \in R^d wiRd,其中 d = d w 2 d p d=d_w 2d_p d=dw+2dp,进一步得到句子的整体表示。

CNN使用一个固定的卷积核对输入的内容进行处理,在序列处理中,采用标准的一维卷积网络结构,对输入的Embedding进行窗口截取,假设卷积核为 l × d l\times d l×d,其中 l l l为窗口大小,则第 i i i个窗口可以表示为:

q i = w i , i + 1 ∈ R l × d q_i=w_{i,i+1} \in R^{l \times d} qi=wi,i+1Rl×d

在CNN中,第 d c d_c dc个卷积核组成的集合可以表示为一个张量 W ∈ R d c × l W \in R^{d_c \times l} WRdc×l,则第 k k k个卷积核 W k W_k Wk对第 i i i个窗口的作用结果为:

p k , i = f ( W k q i + b ) ∈ R p_{k,i}=f(W_kq_i+b) \in R pk,i=f(Wkqi+b)R

其最大输出 p k p_k pk使用最大池化max pooling获取 p k p_k pk的最大值,即 p k , m a x = m a x ( p k ) p_{k,max}=max(p_k) pk,max=max(pk),然后将 p k , m a x p_{k,max} pk,max连接起来,经过非线性变换,得到句子的表示 x ∈ D d c x \in D^{d_c} xDdc,然后对句子表示预测概率:

O = M x + d , P ( r ∣ x , θ ) = e x p ( o r ) ∑ k = 1 n r e x p ( o k ) O=Mx+d,P(r|x,\theta)=\frac{exp(o_r)}{\sum_{k=1}^{n_r}exp(o_k)} O=Mx+d,P(rx,θ)=k=1nrexp(ok)exp(or)

其中 M M M为待学习的权重矩阵 d d d为待学习的偏置项, o k o_k ok表示 O O O中第 k k k个元素, n r n_r nr为关系类别的数量。

损失函数使用交叉熵损失,公式为:
l o s s = − ∑ n = 1 N l o g P ( r ( n ) ∣ x ( n ) , θ ) loss = -\sum_{n=1}^NlogP(r^(n)|x(n),\theta) loss=n=1NlogP(r(n)x(n),θ)

3.3 基于注意力机制的关系抽取

其思想是:为实体对的每一个句子赋值一个权重,权重越大表示该句子表达目标关系的程度越高,反之可能是噪声。

其思路是:使用CNN为句子编码,得到句子表示 x = x 1 , x 2 , . . . x n x={x_1,x_2,...x_n} x=x1,x2,...xn,然后计算 a i a_i ai:

e i = x i A r e_i = x_iAr ei=xiAr

a i = e x p ( e i ) ∑ k e x p ( e k ) a_i=\frac{exp(e_i)}{\sum_kexp(e_k)} ai=kexp(ek)exp(ei)

s = ∑ i a i x i s=\sum_ia_ix_i s=iaixi

其中 r r r是刻画关系抽取任务的特征向量,该向量由模型学习得到;
A A A为待学习的权重矩阵; s s s是学习到的注意力分数。

得到 s s s之后,使用前面的句子表示和损失计算,将 x x x换为 s s s:

O = M x + d , P ( r ∣ x , θ ) = e x p ( o r ) ∑ k = 1 n r e x p ( o k ) O=Mx+d,P(r|x,\theta)=\frac{exp(o_r)}{\sum_{k=1}^{n_r}exp(o_k)} O=Mx+d,P(rx,θ)=k=1nrexp(ok)exp(or)

l o s s = − ∑ n = 1 N l o g P ( r ( n ) ∣ x ( n ) , θ ) loss = -\sum_{n=1}^NlogP(r^(n)|x(n),\theta) loss=n=1NlogP(r(n)x(n),θ)

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章