当前位置: 首页 > ai >正文

三十二、命名实体识别概述

一、命名实体识别概述

1.1 命名实体识别的概念

命名实体识别(Named Entity Recognition,NER)就是从一段自然语言的文本中找出相关实体,并标注其位置及类型。所谓的命名实体一般指的是文本中具有特定意义或者指代性强的实体,通常包括人名、地名、机构名、日期时间和专有名词等。下图给出了NER具体的示例,示例中的命名实体用特殊的颜色表示,比如地名、日期和时间。

在这里插入图片描述

目前,NER的研究主要分为工业界和学术界,两者的侧重点不同。在学术界中,NER一般包括3大类(实体类,时间类,数字类)和7小类(人名、地名、组织机构名、时间、日期、货币、百分比);在工业界中,NER模型通常只要识别出人名、地名、组织机构名、日期时间即可,一些系统还会给出专有名词结果(比如缩写、会议名、产品名等)。另外,在一些应用场景下会给出特定领域内的实体,如书名、歌曲名、期刊名等。

1.2 NER的标注方法

通常情况下,进行NER需要对每个字进行标注,中文为单个字,英文为单词,并按照空格分割。下图给出了标注实体的标签类型及其释义。

在这里插入图片描述

其中标签类型I和M都可以表示实体的中间,在实际的案例中,选用哪种标注方式都可以。NER中常见的标注方法以下几种:

  1. 三位序列标注法(BIO)

    在BIO标注方法中,B表示实体的开始,I表是实体的中间或结尾,O不属于任何类型的实体。假设我们有这样一个句子:“张三出生于中国河南。”我们使用BIO的标注方法可以表示为如下形式。

    在这里插入图片描述

    其中B-PER表示人名的开始,I-PER表示人名的中间或结尾,而B-NS表示地名的开始,I-NS表示地名的中间或结尾。

  2. 四位序列标注法(BIEO)

在BIEO标注方法中,B表示实体的开始,I表是实体的中间,E表是实体的结尾,O不属于任何类型的实体。对上述的句子使用BIEO的标注方法可以表示为:

在这里插入图片描述

其中B-PER表示人名的开始,I-PER表示人名的中间,E-PER表示人名的结尾,而B-NS表示地名的开始,I-NS表示地名的中间,E-NS表示人名的结尾。在上述的标注方法中,同样也可以使用M代替I表示实体中间,我们将这种标注方法称为BMO或BMEO。

二、HMM模型命名实体识别的原理和步骤

2.1 HMM模型的概念和原理

隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。一个包含N个状态的HMM模型可以由参数λ=(N, M, π, A, B)进行描述, 其中:

  • N:表示状态的集合,在词性标注中,可以表示为每个词对应的词性标注;
  • M:表示观察值的有限集合,每个句子对应的单词;
  • π:初始状态概率矩阵,句子中每一个词的先验概率;
  • A:状态转移概率矩阵,一个词性转移到下一个词性的概率;
  • B:观测概率矩阵,在某个词性标注下,生成某个单词的概率。

HMM模型包含两部分,一是马尔可夫链,由参数A描述,它利用一组与概率分布相联系的状态转移的统计对应关系,这个过程产生的输出为状态序列。如下图所示的状态1到状态6的产生的序列。

在这里插入图片描述

二是一个随机过程,描述状态与观察值之间的统计关系,用观察到的序列来描述隐含的状态,由参数B描述,其产生的输出为观察值序列 O=(O1,O2,…,O6) ​。

2.2 NER的HMM模型

NER的任务是根据输入的文本,预测文本中包含的实体,同样属于解码问题。因此,我们详细介绍解码问题。已知模型参数 λ=(π, A, B)和观测序列 O=(O1,O2,…,OT) ,对于给定的观测序列,能够使条件概率P(O|λ)最大的的状态序列I=(i1,i2,…,iT)。即给定观测序列,求最有可能的对应的状态序列,即如下公式所示。

在这里插入图片描述
在NER的任务中,我们可以将观测序列O理解为输入的文本, 状态序列I为句子对应的标注序列,即输入文本对应的实体标注。

http://www.xdnf.cn/news/3917.html

相关文章:

  • 前端-Vue的项目流程
  • 基于EFISH-SCB-RK3576工控机/SAIL-RK3576核心板的KTV点歌主机技术方案‌(国产化替代J1900的全场景技术解析)
  • DotNetBrowser 3.2.0 版本发布啦!
  • SpringMVC——第6章:RESTFul编程风格
  • Winform(11.案例讲解1)
  • 用户模块 - IP归属地功能实现与测试
  • Cookie 与 Session详解
  • 【ArcGIS Pro微课1000例】0066:多边形要素添加折点,将曲线线段(贝塞尔、圆弧和椭圆弧)替换为线段?
  • /etc/kdump.conf 配置详解
  • 方法:批量识别图片区域文字并重命名,批量识别指定区域内容改名,基于QT和阿里云的实现方案,详细方法
  • 飞致云开源社区月度动态报告(2025年4月)
  • MySQL——数据库基础操作
  • 蓝桥杯单片机国赛模板——基于柳离风模板
  • Scratch
  • [Linux]物理地址到虚拟地址的转化
  • socket,http
  • NOI 2025 大纲更新:算法竞赛的新风向标
  • ComfyUI学习笔记,案例四:inpaint
  • 2025 年最新树莓派 Pico 连接 OLED 显示字模汉字详细教程
  • 数字社会学家唐兴通谈数字行动主义网络行动主义与标签行动主义,理解它才算抓住AI社会学与网络社会学关键所在
  • 电路研究9.3.3——合宙Air780EP中的AT开发指南:HTTP(S)-HTTP GET 示例
  • Model Context Protocol (MCP)笔记
  • 如何用git将项目上传到github
  • C++入门(上)--《Hello C++ World!》(1)(C/C++)
  • Android设备运行yolov8
  • 自注意力(Self-Attention)和位置编码
  • Spring 中 @Value 注解实现原理
  • Vim 命令从头学习记录
  • 笔记本电脑升级计划(2017———2025)
  • JavaScript 笔记 --- part8 --- JS进阶 (part3)