当前位置:   article > 正文

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

crfai

机器学习 - 概率图模型 之 命名实体识别与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、主要方法(导图)

主要方法

3、标注策略

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

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

IOBOOI-PERI-PERI-PERO
BIOOOB-PERI-PERI-PERO
BIOESOOB-PERI-PERE-PERO
BMESSSB-PERM-PERE-PERS
区别
IOBI-PERI-PERB-PERI-PERI-PEROO
BIOB-PERI-PERB-PERI-PERI-PEROO

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

参考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 种实体标签。
数据标签

BiLSTM-CRF 模型

BiLSTM-CRF 模型1
BiLSTM-CRF 模型2

1.2 添加 CRF 层的好处

如果我们不加 CRF 层

如果我们不加 CRF 层1
如果我们不加 CRF 层2

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

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

2、CRF 层

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

2.1 Emission score 发射分数

发射分数

2.2 Transition score 转移分数

转移分数1
转移分数

2.3 CRF loss function 损失函数

本部分内容:CRF 的损失函数(由真实路径分数和所有可能路径的总分数构成)
损失函数1
损失函数

2.4 Real path score 真实路径分数

本部分内容:了解如何去计算一个句子真实标签的分数
真实路径分数
真实路径分数2

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

本部分内容:学习如何去计算所有可能路径的总分数,并用一个一步步的例子来讲解
所有可能路径的总分数-第一步
所有可能路径的总分数-第2步
所有可能路径的总分数-第3步1

所有可能路径的总分数-第3步2
所有可能路径的总分数-第3步3

所有可能路径的总分数-第3步4
所有可能路径的总分数-第3步5

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

本部分内容:当应用模型到测试集上时,探索如何预测一个新的句子的标签(如:句子中每个单词的词性)
预测一个新句子的标签-第1步
预测一个新句子的标签-第2步1
预测一个新句子的标签-第2步2
预测一个新句子的标签-第2步3
预测一个新句子的标签-第2步4

预测一个新句子的标签-第3步


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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/592380
推荐阅读
相关标签
  

闽ICP备14008679号