AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF

文章目录

  • 机器学习 - 概率图模型 之 命名实体识别与CRF
    • 一、命名实体识别 NER 的基本介绍
      • 1、相关概念
      • 2、主要方法(导图)
      • 3、标注策略
    • 二、CRF 层之 BiLSTM(BiLSTM-CRF)
      • 1、介绍
        • 1.1 BiLSTM-CRF 模型
        • 1.2 添加 CRF 层的好处
      • 2、CRF 层
        • 2.1 Emission score 发射分数
        • 2.2 Transition score 转移分数
        • 2.3 CRF loss function 损失函数
        • 2.4 Real path score 真实路径分数
        • 2.5 The score of all the possible paths 所有可能路径的总分数
        • 2.6 Infer the labels for a new sentence 预测一个新句子的标签

机器学习 - 概率图模型 之 命名实体识别与CRF

一、命名实体识别 NER 的基本介绍

1、相关概念

命名实体识别(Named Entity Recognition,简称 NER) 属于序列标注(Sequence Labeling)问题,可以把此处的 NER 方法看成是通用的处理序列标注问题的方法。

序列标注问题

自然语言处理中,属于序列标注问题的常见任务:

  • 命名实体识别(Named Entity Recognition)
  • 分词(Word Segmentation)
  • 词性标注(POS Tagging)

它们所用的方法是相通的,三项任务主要的区别为:训练集所准备的数据(训练集) x、y 的不同

  • 命名实体识别、词性标注:它们的 x 均是已经分好词的;
  • 词性标注:y 为词性的标签,如 名词、动词、副词等;
  • 命名实体识别:y 的标签为人名、地名、时间等,看具体任务;
  • 分词:对于中文而言,x 为一个字;y 为每个字对应的是开头、中间还是结尾,或独立的内容 等。

命名实体识别 NER

NER 有何用?

  • 现实世界中存在大量的半结构化和非结构化数据。
    • 结构化:比如 往往存在于 MySQL 数据库中的数据,是结构化数据;结构化数据方便查询。
    • 非结构化:如 存储于MongoDB中的一个 id 对应一篇 document 文章,该文章未被做任何操作(如分词),属于非结构化数据;
    • 半结构化:如 文章分成段落,分好了词,文章变成了词的列表进行存储,属于半结构化数据。
  • 构建知识图谱的关键是如何获取领域知识。
    • 知识图谱往往需要的是图数据库(如 Neo4j)。
  • 实体识别是从半结构化数据或非结构化数据中获取知识的重要方法。

NER 可做词级别的序列标注、也可做字符级别的序列标注。

识别出句子中命名实体的边界类别的任务称为命名实体识别(Named Entity Recognition,NER)。 —— 摘自:何晗《自然与语言处理入门》

2、主要方法(导图)

AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第1张图片

3、标注策略

标注策略 说明
IOB I:inside 内部;O:outside 非实体词;B:begin。注意:IOB中的 B 仅用于两个或多个连续的同类型命名实体的边界区分(如果该实体前面有一个类别相同的另一个实体, 那它的第一个 token 就用 B-X 标记)。
BIO B:begin 实体的开头;I:inside 内部;O:outside 非实体词。除了标签 B 的使用不同,BIO 与 IOB 字母对应的含义相同。
BIOES B:begin 实体的开头;I:inside 内部;O:outside 非实体词;E:end 实体尾部;S:single 表示该词本身就是一个实体
BMES B:begin 实体的开头;M:middle 中间位置;E:end 实体尾部;S:single 单独的字词

示例:比如识别人名 PER(person)

IOB O O I-PER I-PER I-PER O
BIO O O B-PER I-PER I-PER O
BIOES O O B-PER I-PER E-PER O
BMES S S B-PER M-PER E-PER S
区别
IOB I-PER I-PER B-PER I-PER I-PER O O
BIO B-PER I-PER B-PER I-PER I-PER O O

人工标注的成本比较高,一般可预先使用基于规则的方法(或其他方法)标注,再进行人工审查。

参考1:命名实体识别的三中标注方法BIO,BIOES,BMES
参考2:命名实体识别(NER):BiLSTM-CRF原理介绍+Pytorch_Tutorial代码解析

二、CRF 层之 BiLSTM(BiLSTM-CRF)

1、介绍

对于命名实体识别任务,基于神经网络是非常流行和常见的。例如,使用 BiLSTM-CRF ( BiLSTM 双向长短时记忆网络 和 CRF 条件随机场 是两个不同的层在 NER 模型中)结合词或字嵌入的网络模型来进行命名实体识别。

下面将会用 Word2vec + BiLSTM + CRF 网络模型来解释 CRF 层是如何工作的。

1.1 BiLSTM-CRF 模型

数据标签

假设,我们的数据集中有两种实体类型:人名和机构名,因此,在我们的数据集中有 5 种实体标签。
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第2张图片

BiLSTM-CRF 模型

AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第3张图片
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第4张图片

1.2 添加 CRF 层的好处

如果我们不加 CRF 层

AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第5张图片
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第6张图片

CRF 层可以从训练数据学习限制

AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第7张图片

2、CRF 层

在 CRF 层的损失函数中,我们有两种类型的分数 ① Emission score(发射分数)、② Transition score(转移分数),这两分数是 CRF 层的关键。

2.1 Emission score 发射分数

AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第8张图片

2.2 Transition score 转移分数

AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第9张图片
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第10张图片

2.3 CRF loss function 损失函数

本部分内容:CRF 的损失函数(由真实路径分数和所有可能路径的总分数构成)
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第11张图片
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第12张图片

2.4 Real path score 真实路径分数

本部分内容:了解如何去计算一个句子真实标签的分数
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第13张图片
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第14张图片

2.5 The score of all the possible paths 所有可能路径的总分数

本部分内容:学习如何去计算所有可能路径的总分数,并用一个一步步的例子来讲解
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第15张图片
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第16张图片
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第17张图片

AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第18张图片
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第19张图片

AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第20张图片
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第21张图片

2.6 Infer the labels for a new sentence 预测一个新句子的标签

本部分内容:当应用模型到测试集上时,探索如何预测一个新的句子的标签(如:句子中每个单词的词性)
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第22张图片
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第23张图片
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第24张图片
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第25张图片
AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第26张图片

AI算法工程师 | 09机器学习-概率图模型(六)命名实体识别与CRF_第27张图片


—— 说明:本文写于 2022.12.30-12.31、2023.1.1-1.3

你可能感兴趣的:(AI算法工程师,人工智能,算法)