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

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

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)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 图像生成中图像质量评估指标— LPIPS介绍
  • JCR一区级 | Matlab实现TTAO-Transformer-LSTM多变量回归预测
  • 分享几种电商平台商品数据的批量自动抓取方式
  • STM32CubeIDE(CAN)
  • Java设计模式—单例模式(Singleton Pattern)
  • W30-python03-pytest+selenium+allure访问百度网站实例
  • SpringBoot中如何使用RabbitMq
  • NVIDIA Drivers、CUDA、Pytorch安装
  • linux--mount--挂载
  • Spring踩坑:抽象类作为父类,使用子类@Autowired属性进行填充,属性值为null
  • 【CI/CD】docker + Nginx自动化构建部署
  • c++线程传参
  • KCache-go本地缓存,支持本地缓存过期、缓存过期自维护机制。
  • Chrome谷歌浏览器Console(控制台)显示文件名及行数
  • Open3D 计算点云的占地面积
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • Android系统模拟器绘制实现概述
  • css选择器
  • JAVA之继承和多态
  • nodejs:开发并发布一个nodejs包
  • php ci框架整合银盛支付
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • 使用SAX解析XML
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • hi-nginx-1.3.4编译安装
  • 阿里云服务器购买完整流程
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • #if和#ifdef区别
  • (02)Hive SQL编译成MapReduce任务的过程
  • (12)目标检测_SSD基于pytorch搭建代码
  • (13)Hive调优——动态分区导致的小文件问题
  • (7)摄像机和云台
  • (9)STL算法之逆转旋转
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (论文阅读40-45)图像描述1
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET_WebForm_layui控件使用及与webform联合使用
  • .NET运行机制
  • //解决validator验证插件多个name相同只验证第一的问题
  • ;号自动换行
  • ??在JSP中,java和JavaScript如何交互?
  • @TableLogic注解说明,以及对增删改查的影响
  • @test注解_Spring 自定义注解你了解过吗?
  • @WebService和@WebMethod注解的用法
  • [C#基础]说说lock到底锁谁?
  • [C++]STL之map
  • [CSAWQual 2019]Web_Unagi ---不会编程的崽
  • [Grafana]ES数据源Alert告警发送