基于深度学习的NER(命名实体识别)

0.   \textbf{0. } 0. 概述

1️⃣ NER \text{NER} NER的三个子任务

任务描述示例
平面实体识别提取简单/非嵌套的命名实体image-20241121204208894
嵌套实体识别提取嵌套的命名实体image-20241121205451157
不连续实体识别提取不连续片段组成的实体image-20241121210034591

2️⃣基于深度学习 NER \text{NER} NER的四种范式

范式描述实现
序列标注视单词为序列输入并分配标签 BiLSTM/BERT \text{BiLSTM/BERT} BiLSTM/BERT编码 →CRF \text{→CRF} →CRF标记
机器阅读理解 NER \text{NER} NER问题转换为对话构造问题 - \text{-} -文本对,用 BERT \text{BERT} BERT提取答案
Token-Pair \text{Token-Pair} Token-Pair建立文本中每两个 Token \text{Token} Token的关系 Transformer/BERT \text{Transformer/BERT} Transformer/BERT Token \text{Token} Token编码
生成通过生成序列的方式识别命名实体 GPT \text{GPT} GPT来输出实体及其类型

1.   \textbf{1. } 1. 序列标注法:平面实体✅ / / /嵌套实体❌ / / /不连续实体❌

1️⃣ BIO / BIOES \textcolor{green}{\text{BIO}}/\textcolor{red}{\text{BIOES}} BIO/BIOES实体标注方法:

符号含义示例
B \text{B} B实体的开头( Begin \text{Begin} Begin) John \text{John} John标记为 B-PER \text{B-PER} B-PER表示人名的开始
I \text{I} I实体的内部( Inside \text{Inside} Inside) Sumith \text{Sumith} Sumith标记为 I-PER \text{I-PER} I-PER表示人名的内部
O \text{O} O非实体剧中 lives/in/and... \text{lives/in/and...} lives/in/and...等都应标记为 O \text{O} O
E \text{E} E实体的结尾( End \text{End} End) Sumith \text{Sumith} Sumith也可标记为 E-PER \text{E-PER} E-PER
S \text{S} S单个词的实体( Single \text{Single} Single) N/A \text{N/A} N/A
  1. BIO \textcolor{green}{\text{BIO}}\textcolor{red}{\text{}} BIO示例:
    image-20241121215314971
  2. BIOES \textcolor{green}{\text{}}\textcolor{red}{\text{BIOES}} BIOES示例:
    image-20241121215448316

2️⃣ LSTM-CRF \text{LSTM-CRF} LSTM-CRF架构:

image-20241121224115336
  1. 输入:将句子 X = { X 1 , X 2 ,.., X n } X\text{=}\{X_1,X_2\text{,..,}X_n\} X={X1,X2,..,Xn}转化为词嵌入向量
  2. 编码:将词嵌入向量通过双向 LSTM \text{LSTM} LSTM得到编码(上下文表示) h t =BiLSTM ( X ) h_t\text{=BiLSTM}(X) ht=BiLSTM(X)
  3. 解码:通过特征函数计算得到 P ( Y ∣ X ) = exp ⁡ ( ∑ t = 1 n f ( y t , y t − 1 , h t ) ) ∑ Y ′ exp ⁡ ( ∑ t = 1 n f ( y t ′ , y t − 1 ′ , h t ) ) \displaystyle{}P(Y|X)=\cfrac{\exp \left(\displaystyle{}\sum_{t=1}^n f\left(y_t, y_{t-1}, h_t\right)\right)}{\displaystyle{}\sum_{Y^{\prime}} \exp \left(\sum_{t=1}^n f\left(y_t^{\prime}, y_{t-1}^{\prime}, h_t\right)\right)} P(YX)=Yexp(t=1nf(yt,yt1,ht))exp(t=1nf(yt,yt1,ht))
  4. 输出:使得 P ( Y ∣ X ) P(Y|X) P(YX)最大的 Y Y Y

3️⃣ BERT-CRF \text{BERT-CRF} BERT-CRF架构:就是把 BiLSTM \text{BiLSTM} BiLSTM换成 BERT \text{BERT} BERT,更能捕获深层次的语义特征

2.   \textbf{2. } 2.  Token \textbf{Token} Token对法:平面实体✅ / / /嵌套实体✅ / / /不连续实体✅

1️⃣基本概念:

概念含义示例
Token \text{Token} Token输入文本中的基本单元,可以是单词/字符 University, of, Melbourne \text{University, of, Melbourne} University, of, Melbourne
Token-Pair \text{Token-Pair} Token-Pair标有起始的一对 Token \text{Token} Token,此处指实体的起止 Universit, Melbourne \text{Universit, Melbourne} Universit, Melbourne
Span \text{Span} Span起始 Token \text{Token} Token间的文本,用起始索引 ( i , j ) (i,j) (i,j)表示 University of Melbourne \text{University of Melbourne} University of Melbourne

2️⃣模型概述:

image-20241121230550210
  1. 预处理:将输入文本分词( Token \text{Token} Token化) + \text{+} +词嵌入,得到词向量 { x 1 , x 2 , x 3 ,... } \{x_1,x_2,x_3\text{,...}\} {x1,x2,x3,...}
  2. 编码层:用 BERT \text{BERT} BERT生成每个 Token \text{Token} Token的上下文表示,得到 h i =BERT ( x i ) h_i\text{=}\text{BERT}(x_i) hi=BERT(xi)
  3. 交互层:将所有任意 h i h j h_ih_j hihj拼接 / / /加权求和 / / /注意力,得到初始 Span \text{Span} Span及得分 f ( h i , h j , t ) =score i j , t f\left(h_i, h_j, t\right)\text{=score}_{i j, t} f(hi,hj,t)=scoreij,t
    Item \textbf{Item} Item含义
    ( i , j ) (i,j) (i,j) Span \text{Span} Span的起始( i i i)和结束( j j j)位置
    score i j , t \text{score}_{i j, t} scoreij,t表示片段 ( i , j ) (i,j) (i,j)属于 t t t类实体的分数
  4. 分类层:依据 score i j , t \text{score}_{i j, t} scoreij,t将不同 Span \text{Span} Span分类到各自的 t t t类实体中,最终组成预测矩阵 [L,L,N] \text{[L,L,N]} [L,L,N]
    Item \textbf{Item} Item含义
    维度含义 L \text{L} L为输入文本 Token \text{Token} Token长度, N \text{N} N为实体类别的数量
    矩阵含义 [L=i,L=j,N=t] \text{[L=i,L=j,N=t]} [L=i,L=j,N=t]表示位于 ( i , j ) (i,j) (i,j) Span \text{Span} Span,属于实体类别 t t t的分数值 score i j , t \text{score}_{i j, t} scoreij,t

3️⃣交互层的几种方法

方法 f ( h i , h j , t ) \boldsymbol{f\left(h_i, h_j, t\right)} f(hi,hj,t)含义
乘法式 ( W i , t h i + b i , t ) T × ( W j , t h j + b j , t ) (W_{i, t} h_i\text{+}b_{i, t})^{T}\text{×}(W_{j, t} h_j\text{+}b_{j, t}) (Wi,thi+bi,t)T×(Wj,thj+bj,t)用点积测量头部和尾部的相似性
加法式 W t × [ tanh ⁡ ( W h [ h i ⊕ h j ] + b h ) ] + b t W_t\text{×}[\tanh \left(W_h\left[h_i \text{⊕} h_j\right]\text{+}b_h\right)]\text{+}b_t Wt×[tanh(Wh[hihj]+bh)]+bt h i h j h_ih_j hihj首尾相接→线性变换→激活
双仿射式 h i T U t h j + W t [ h i ⊕ h j ] + b t h_i^T U_t h_j\text{+}W_t\left[h_i \text{⊕} h_j\right]\text{+}b_t hiTUthj+Wt[hihj]+bt同时捕捉头部和尾部的高维语义

4️⃣示例:嵌套 / / /不连续实体识别问题得以解决

  1. 平面实体识别: [L,L,N=Person] \text{[L,L,N=Person]} [L,L,N=Person]层得分矩阵(不打马赛克图片会停止访问,服了)
    image-20241122000757166
  2. 嵌套实体识别: [L,L,N=Location/Person] \text{[L,L,N=Location/Person]} [L,L,N=Location/Person]层得分矩阵,嵌套实体得以识别
    image-20241122001350427image-20241122001403296
  3. 不连续实体识别: [L,L,N=Disorder/Middle of Disorder] \text{[L,L,N=Disorder/Middle of Disorder]} [L,L,N=Disorder/Middle of Disorder]层得分矩阵,不连续实体得以识别
    image-20241122002011697image-20241122002021482

3.   MRC \textbf{3. MRC} 3. MRC法: 平面实体✅ / / /嵌套实体✅ / / /不连续实体✅

1️⃣模型描述

  1. 核心思想:将每种实体类型表示为自然语言查询,并通过回答这些查询来提取实体
  2. 主要流程:
    image-20241122004515978
    流程描述
    输入问题/查询( E.g. \text{E.g.} E.g.文本中的人名是哪个) + + +原始文本
    处理 NERT/GPT \text{NERT/GPT} NERT/GPT等对文本进行编码
    输出通过分类层,得到最佳的答案
  3. 示例:
    • 对平面实体的抽取:对于人名的查询
      image-20241122004853072
    • 对嵌套实体的抽取:分别对于人名/地点的查询
      image-20241122005009278
      image-20241122005019819
    • 对不连续实体的抽取:对于疾病名字/疾病中间名字的查询
      image-20241122005235724
      image-20241122005258231

4.   \textbf{4. } 4. 生成法: 平面实体✅ / / /嵌套实体✅ / / /不连续实体✅

1️⃣模型概述

  1. 含义:采用 seq2seq \text{seq2seq} seq2seq模式,通过生成式得到实体
  2. 示例:
    • 输入: have muscle pain and fatigue \text{have muscle pain and fatigue} have muscle pain and fatigue
    • 生成: disorder: “muscle pain”, “muscle fatigue” \text{disorder: “muscle pain”, “muscle fatigue”} disorder: “muscle pain”, “muscle fatigue”

2️⃣模型结构:懒得说了,自己看吧

image-20241122010113167
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值