昇思25天学习打卡营第23天|LSTM+CRF序列标注

avatar
作者
猴君
阅读量:0

Mindspore框架CRF条件随机场概率图模型实现文本序列命名实体标注|(一)序列标注与条件随机场的关系
Mindspore框架CRF条件随机场概率图模型实现文本序列命名实体标注|(二)CRF模型构建
Mindspore框架CRF条件随机场概率图模型实现文本序列命名实体标注|(三)双向LSTM+CRF模型构建实现


Mindspore框架CRF条件随机场概率图模型实现文本序列命名实体标注|序列标注与条件随机场的关系

一、序列标注定义

序列标注:指给定输入序列,给序列中每个Token(word)进行标注标签的过程。
序列标注问题:是从文本中进行信息抽取,包括标注分词(Word Segmentation)、词性标注(Position Tagging)、命名实体识别(Named Entity Recognition, NER)等。

“BIOE”标注方法:为命名实体识别的标注方法;是将一个实体(Entity)的开头标注为B,其他部分标注为I,非实体标注为O。表示文本中的每个字符分为四种类型:‌

  • B(‌Begin)‌表示一个实体的开始。‌
  • I(‌Inside)‌表示实体内部的字符。‌
  • O(‌Outside)‌表示不属于任何实体的字符。‌
  • E(‌End)‌表示一个实体的结束。‌

输入序列,输出标注。

在这里插入图片描述
标注的作用与意义:通过这种标注方式,‌我们可以清晰地识别出句子中的不同实体及其边界,‌这对于自然语言处理中的命名实体识别任务非常有用。‌BIOE标注法提供了一种标准化的方式来标记文本中的实体,‌它涉及到从文本中识别出具有特定意义的实体,‌如人 (PERSON)、‌地点 (LOCATION)、‌组织机构 (ORG e.g., 公司、‌政府机构等)、‌时间表达式 (DATE) 等。‌使得机器学习模型能够更容易地学习和识别这些实体,从而提升模型对文本中实体信息的理解和提取能力。‌

二、条件随机场定义

序列标注不仅仅需要对单个Token进行分类预测,同时相邻Token直接有关联关系
CRF:一种能够学习到这种关联关系的算法-条件随机场概率图模型
线性链条件随机场(Linear Chain CRF):序列标注问题具有线性序列特点,选择线性链条件随机场。

2.1 Line chain CRF的定义

x = { x 0 , . . . , x n } x=\{x_0, ..., x_n\} x={x0,...,xn}为输入序列, y = { y 0 , . . . , y n } , y ∈ Y y=\{y_0, ..., y_n\},y \in Y y={y0,...,yn}yY为输出的标注序列,其中 n n n为序列的最大长度, Y Y Y表示 x x x对应的所有可能的输出序列集合。则输出序列 y y y的概率为:

P ( y ∣ x ) = exp ⁡ ( Score ( x , y ) ) ∑ y ′ ∈ Y exp ⁡ ( Score ( x , y ′ ) ) ( 1 ) \begin{align}P(y|x) = \frac{\exp{(\text{Score}(x, y)})}{\sum_{y' \in Y} \exp{(\text{Score}(x, y')})} \qquad (1)\end{align} P(yx)=yYexp(Score(x,y))exp(Score(x,y))(1)

x i x_i xi, y i y_i yi为序列的第 i i i个Token和对应的标签,则 Score \text{Score} Score需要能够在计算 x i x_i xi y i y_i yi的映射的同时,捕获相邻标签 y i − 1 y_{i-1} yi1 y i y_{i} yi之间的关系,因此我们定义两个概率函数:

  1. 发射概率函数 ψ EMIT \psi_\text{EMIT} ψEMIT:表示 x i → y i x_i \rightarrow y_i xiyi的概率。
  2. 转移概率函数 ψ TRANS \psi_\text{TRANS} ψTRANS:表示 y i − 1 → y i y_{i-1} \rightarrow y_i yi1yi的概率。

则可以得到 Score \text{Score} Score的计算公式:

Score ( x , y ) = ∑ i log ⁡ ψ EMIT ( x i → y i ) + log ⁡ ψ TRANS ( y i − 1 → y i ) ( 2 ) \begin{align}\text{Score}(x,y) = \sum_i \log \psi_\text{EMIT}(x_i \rightarrow y_i) + \log \psi_\text{TRANS}(y_{i-1} \rightarrow y_i) \qquad (2)\end{align} Score(x,y)=ilogψEMIT(xiyi)+logψTRANS(yi1yi)(2)

设标签集合为 T T T,构造大小为 ∣ T ∣ x ∣ T ∣ |T|x|T| TxT的矩阵 P \textbf{P} P,用于存储标签间的转移概率;由编码层(可以为Dense、LSTM等)输出的隐状态 h h h可以直接视作发射概率,此时 Score \text{Score} Score的计算公式可以转化为:

Score ( x , y ) = ∑ i h i [ y i ] + P y i − 1 , y i ( 3 ) \begin{align}\text{Score}(x,y) = \sum_i h_i[y_i] + \textbf{P}_{y_{i-1}, y_{i}} \qquad (3)\end{align} Score(x,y)=ihi[yi]+Pyi1,yi(3)

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!