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

NLP从入门到实战——命名实体识别

1. 命名实体识别

1.1 概念

  • 中文命名实体识别(Named Entity Recognition,NER是指识别中文文本中实体的边界和类别。
  • 命名实体识别是文本处理中的基础技术,广泛应用在自然语言处理、推荐系统、知识图谱等领域,比如推荐系统中的基于实体的用户画像、基于实体召回等。

1.2 分类

划分: 3大类7小类

  1. 3大类
  • 实体类
  • 时间类
  • 数字类
  1. 7小类
  • 人名
  • 地名
  • 组织机构名
  • 时间
  • 日期
  • 货币量
  • 百分数

1.3 识别思想

命名实体识别通常是先进行实体标注,然后识别单个实体,最后再识别复合实体。
从以下几个方面来理解:

  • 1.实体边界识别:确定文本中实体的起始和结束位置。例如,在句子“苹果公司是由史蒂夫·乔布斯创立的。”中,"苹果"和"史蒂夫·乔布斯"是需要别的实体。

  • 2.实体类别分类:在识别出实体的基础上,一步确定实体属于哪一个预定义的类。在上述例子中,“苹果公司”可以被分类为“组织名”,而“史蒂夫·乔布斯”可以被分类为“人名”。

  • 3.上下文理解:实体的识别往往依赖于上下文信息。同一个词在不同的上下文中可能表示不同的实体,或者不表示实体。例如,“苹果”在不同的上下文中可能指代一个公司或者一种水果。

  • 4. 模式和规则学习:传统的NER系统可能依赖于手工编写的规则或模来识别实体,如正则表达式、词性标注模式等。

  • 5.统计和机器学习方法:现代的NER系统通常采用统计学习方法,通过大量的标注数据来训练模,使其能够学习到实体的特征和上下文模式。这些方法包括条件随机场(CRF)、支持向量机(SVM隐马尔可夫模型(HMM)以及深度学习模型,如循环神经网络(RNN)、长短期记忆网络(LSTM)和转换器模型(Transformer)。

  • 6.特征工程:在机器学习方法中,特征工程是提高NER性能的关键。这包括选择合适的词汇特征(如词形、词性)、上下文特征(如相邻词汇的信息)、语法特征(如依存关系)等。

  • 7. 深度学习和端到端模型:随深度学习的发展,NER任务越来越多地采用端到端的训练方法,这意味着整个识别过程不再需要复杂的特征工程,而是通过神经网络自动学习特征表示。

1.4 实体标注方法

不同的数据集可能采用不同的实体标注方法,最常见的标注方法有BIO,BIOES,Markup。
命名实体识别(NER)的标注方法主要包括以下几种:

  1. BIO标注法(Begin, Inside, Outside

    • B:表示实体的开始(Begin)
    • I:表示实体的内部(Inside)
    • O:表示非实体部分(Outside)

    例如,句子“Barack Obama was born in Hawaii.”中的实体标注如下:

    • Barack (B-PER)
    • Obama (I-P)
    • was (O)
    • born (O)
    • in (O)
    • Hawaii (B-LOC)
  • . (O)

    其中PER代表人名,LOC代表地名。

  1. BIOES标注法(Begin, Outside, End, Single)

    • B:实体的开始
    • I:实体的内部
    • O:非实体部分
    • E:实体的结束(End)
    • S:单独成实体(Single)

    例如,句子“Barack Obama was born in Hawaii.”中的实体标注如下:

    • Barack (B-PER)
    • Obama (E-PER)
    • was (O)
    • born (O)
    • in (O)
    • Hawaii (S-LOC)
    • . (O)

    BIOES标注法比BIO更精细,可以明确地标出实体的结束,有助于模型更好地识别实体边界。

  2. BMES标注法(Begin, Middle, End, Single)

    • B:实体的开始
    • M:实体的中间部分(Middle)
    • E:实体的结束
    • S:单独成实体

    这种方法在中文NER中使用较多,因为中文实体没有空格分隔。例如,中文句子“奥巴马出生在夏威夷。”中的实体标注如下:

    • 奥 (B-PER)
    • 巴 (M-PER)
    • 马 (E-PER)
    • 出生 (O)
    • 在 (O)
    • 夏 (B-LOC)
    • 威 (M-LOC)
    • 夷 (E-LOC)
    • 。 (O)
  3. 基于词汇的标注
    在某些情况下,尤其是处理中文文本时,可能会采用基于词汇的标注,直接将整个词汇标注为一个实体,而不是使用BIO或BIOES等模式。例如:

    • 奥巴马 (PER)
    • 出生 (O)
    • 在 (O)
    • 夏威夷 (LOC)
    • 。 (O)
  4. 基于短语的标注
    在这种方法中,整个短语或实体被标注为一个单元,而不是标注单个词。例如,英文中的“New York City”作为一个地名实体整体标注:

    • [New York City] (LOC)
  5. Markup方法
    Markup方法通常指的是使用XML或类似的标记语言来注释文本中的实体这种方法可以直接在文本中标记实体的边界和类型。
    例如,句子“Steve Jobs founded Apple Inc.”可以使用XML标记如下:

<PER>Steve Jobs</PER> founded <ORG>Apple Inc.</ORG>.

每种标注方法都有其优缺点,选择哪一种方法取决于具体的应用场景、所使用的模型以及标注资源的可用性。在实际应用中,BIO和BIOES是最常用的标注方案,因为它们能够提供足够的信息来帮助模型识别实体的边界和类别。

参考文献

1.中文命名实体识别NER的原理、方法与工具

相关文章:

NLP从入门到实战——命名实体识别

1. 命名实体识别 1.1 概念 中文命名实体识别&#xff08;Named Entity Recognition&#xff0c;NER是指识别中文文本中实体的边界和类别。命名实体识别是文本处理中的基础技术&#xff0c;广泛应用在自然语言处理、推荐系统、知识图谱等领域&#xff0c;比如推荐系统中的基于…...

接口测试工具-postman介绍

一、介绍 Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。 作用:常用于进行接口测试。 它可以模拟浏览器发起任何形式的HTTP请求...

日志中看到来自User Agent go-http-client / 1.1的大量请求(go-http-client 1.1)服务器爆了

在日志中看到来自User Agent go-http-client / 1.1的大量请求 The go-http-client/1.1 User Agent 是Google的Bot / Crawler 这不是真的。这可能是指Go库&#xff08;根据您提到的来源&#xff0c;由Google开发&#xff0c;但是我找不到可靠的信息&#xff09;。 之前写过“G…...

yolov8 区域声光报警+计数

yolov8 区域报警计数 1. 基础2. 报警功能2. 1声音报警代码2. 2画面显示报警代码 3. 完整代码4. 源码 1. 基础 本项目是在 yolov8 区域多类别计数 的基础上实现的&#xff0c;具体区域计数原理可见上边文章 2. 报警功能 设置一个区域region_points&#xff0c;当行人这一类别…...

《QT实用小工具·五十五》带有标签、下划线的Material Design风格输入框

1、概述 源码放在文章末尾 该项目实现了一个带有标签动画、焦点动画、正确提示、错误警告的单行输入框控件。下面是demo演示&#xff1a; 项目部分代码如下所示&#xff1a; #ifndef LABELEDEDIT_H #define LABELEDEDIT_H#include <QObject> #include <QWidget>…...

用Go实现一个无界资源池

写在文章开头 我们希望通过go语言实现一个简单的资源池&#xff0c;而这个资源池的资源包括但不限于: 数据库连接池线程池协程池网络连接池 只要这些资源实现我们指定的关闭方法&#xff0c;则都可以通过我们封装的资源池进行统一管理&#xff0c;需要简单说明一下这个资源池…...

Apache Seata基于改良版雪花算法的分布式UUID生成器分析2

title: 关于新版雪花算法的答疑 author: selfishlover keywords: [Seata, snowflake, UUID, page split] date: 2021/06/21 本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 关于新版雪花算法的答疑 在上一篇关于新版雪花算法的解析中…...

13、揭秘JVM垃圾回收器:面试必备知识,你掌握了吗?

13.1、前文回顾 在上一篇文章中,我们详细分析了触发Minor GC的时机,以及对象何时会从新生代迁移到老年代。我们还讨论了为了确保新生代向老年代的内存迁移安全,需要在Minor GC之前如何检查老年代的内存空间,以及在什么情况下会触发老年代的Full GC,以及老年代的垃圾回收算…...

治疗耳鸣患者案例分享第二期

“患者耳鸣20年了&#xff0c;目前耳朵没有堵或者胀的感觉&#xff0c;但是偶尔有点痒&#xff0c;平时会有头晕头胀这种情况&#xff0c;然后头晕是稍微晕炫一下。然后头疼是经常有的&#xff0c;头胀不经常。” 患者耳鸣持续20年&#xff0c;虽然耳朵没有堵或胀的感觉&#x…...

数据加密的方法

这些方法可以单独或结合使用&#xff0c;以提高数据的安全性和保护隐私。 对称加密&#xff1a;使用相同的密钥对数据进行加密和解密。常见的对称加密算法包括DES、AES和RC4。 非对称加密&#xff1a;使用一对密钥&#xff08;公钥和私钥&#xff09;对数据进行加密和解密。发…...

Android BINDER是干嘛的?

1.系统架构 2.binder 源码位置&#xff1a; 与LINUX传统IPC对比...

运维各种中间件的手动安装(非常详细)

压缩文件夹 tar -zcvf newFolder.tar.gz oldFolder 把oldFolder文件夹压缩成newFolder.tar.gz解压文件夹 tar -zxvf 压缩文件名.tar.gzlinux安装jdk &#xff08;参考 https://blog.csdn.net/qq_42269466/article/details/124079963 &#xff09; 1、创建目录存放jdk包 mkd…...

【Android】Android应用性能优化总结

AndroidApp应用性能优化总结 最近大半年的时间里&#xff0c;大部分投在了某国内新能源汽车的某款AndroidApp开发上。 由于该App是该款车上&#xff0c;常用重点应用。所以车厂对应用性能的要求比较高。 主要包括&#xff1a; 应用冷启动达到***ms。应用热(温)启动达到***ms应…...

FBA头程海运发货流程是怎样的?

FBA头程发货作为整个FBA流程的关键一环&#xff0c;更是直接影响到商品从起点到终点的流通效率和成本。其中&#xff0c;海运作为一种经济、稳定的运输方式&#xff0c;在FBA头程发货中扮演着举足轻重的角色。那么&#xff0c;FBA头程海运发货流程究竟是怎样的呢? 1、装箱与发…...

二、VLAN原理和配置

vlan不是协议&#xff0c;是一个技术&#xff0c;虚拟局域网技术&#xff0c;基于802.1q协议。 vlan&#xff08;虚拟局域网&#xff09;&#xff0c;将一个物理的局域网在逻辑上划分成多个广播域的技术。 目录 1.冲突域和广播域 概念 范围 2.以太网帧格式 3.以太网帧封装…...

stackqueue类——适配器模式 双端队列deque(C++)

接下来我们将实现 stack、queue 类的常用函数&#xff0c;其实对于 stack 和 queue 的常用函数实现可以说得上是非常简单&#xff0c;若想详细了解可以看这篇&#xff1a;栈和队列&循环队列&#xff08;C/C&#xff09;_栈和循环队列-CSDN博客&#xff1b;在本篇中我们将使…...

SpringCloud知识点梳理

1. Spring Cloud 综述 1.1 Spring Cloud 是什么 [百度百科]Spring Cloud是⼀系列框架的有序集合。它利⽤Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中⼼、消息总线、负载均衡、断路器、数据监控等,都可以⽤ Spring Boot的开发⻛格…...

【NOI】C++程序结构入门之分支结构二

文章目录 前言一、逻辑运算符1.导入2.逻辑与&#xff08;&&&#xff09;3.逻辑或&#xff08;||&#xff09;4.逻辑非&#xff08;!&#xff09; 二、例题讲解问题&#xff1a;1656. 是两位的偶数吗问题&#xff1a;1658. 游乐设施问题&#xff1a;1659. 是否含有数字5…...

web自动化系列-使用普通模式编写测试用例以及存在问题(十六)

前面已经把selenium的主要操作介绍完毕 &#xff0c;接下来我们通过编写几条测试用例感受下selenium的用法 。 1.用例需求 还是以登录为例 &#xff0c;需要实现的测试用例为 &#xff1a; case1&#xff1a;输入正确的用户名和密码进行登录case2 : 输入正确的用户名和错误的…...

VSCode 配置 Qt 开发环境

文章目录 1. 环境说明2. 配置系统环境变量 1. 环境说明 操作系统&#xff1a;Windows 11VSCode版本&#xff1a;1.88.1CMake版本&#xff1a;3.27.7Qt6版本&#xff1a;6.7.0(MinGW 11.2.0 64-bit) 2. 配置系统环境变量 自行根据自己的Qt安装路径配置 配置 MinGW 和 CMake C…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi&#xff08;原名 k8s‑vGPU‑scheduler&#xff09;是一款 CNCF Sandbox 级别的开源 K8s 中间件&#xff0c;通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度&#xff0c;为容器提供统一接口&#xff0c;实现细粒度资源配额…...