昇思25天学习打卡营第16天|linchenfengxue

nlp基础—12.LSTM-CRF模型介绍 文章目录引言一、模型介绍1. LSTM模型2. BI-LSTM(双向LSTM)模型3.CRF模型4. LSTM+CRF模型5. BiLSTM+CRF模型 引言   本文讨论的是序列标注问题,所使用的模型是将两种现有的模型(LSTM+CRF)进行拼接,一种模型是双向LSTM模型,一种是CRF模型。下面介绍如何结合LSTM和CRF用于sequence tagging,并且对这些结合的效果进行测量。 一、模型介绍   本篇文章涉及以下几种模型:LSTM,BI-LSTM,CRF,LSTM+CRF,BI-LSTM+C 阅读详情

LSTM+CRF序列标注

概述

序列标注指给定输入序列,给序列中每个Token进行标注标签的过程。序列标注问题通常用于从文本中进行信息抽取,包括分词(Word Segmentation)、词性标注(Position Tagging)、命名实体识别(Named Entity Recognition, NER)等。以命名实体识别为例:

如上表所示,清华大学 和 北京是地名,需要将其识别,我们对每个输入的单词预测其标签,最后根据标签来识别实体。

这里使用了一种常见的命名实体识别的标注方法——“BIOE”标注,将一个实体(Entity)的开头标注为B,其他部分标注为I,非实体标注为O。

条件随机场(Conditional Random Field, CRF)

从上文的举例可以看到,对序列进行标注,实际上是对序列中每个Token进行标签预测,可以直接视作简单的多分类问题。但是序列标注不仅仅需要对单个Token进行分类预测,同时相邻Token直接有关联关系。以清华大学一词为例:

如上表所示,正确的实体中包含的4个Token有依赖关系,I前必须是B或I,而错误输出结果将清字标注为O,违背了这一依赖。将命名实体识别视为多分类问题,则每个词的预测概率都是独立的,易产生类似的问题,因此需要引入一种能够学习到此种关联关系的算法来保证预测结果的正确性。而条件随机场是适合此类场景的一种概率图模型。下面对条件随机场的定义和参数化形式进行简析。

考虑到序列标注问题的线性序列特点,本节所述的条件随机场特指线性链条件随机场(Linear Chain CRF)

设𝑥={𝑥0,...,𝑥𝑛}𝑥={𝑥0,...,𝑥𝑛}为输入序列,𝑦={𝑦0,...,𝑦𝑛},𝑦∈𝑌𝑦={𝑦0,...,𝑦𝑛},𝑦∈𝑌为输出的标注序列,其中𝑛𝑛为序列的最大长度,𝑌𝑌表示𝑥𝑥对应的所有可能的输出序列集合。则输出序列𝑦𝑦的概率为:

设𝑥𝑖𝑥𝑖, 𝑦𝑖𝑦𝑖为序列的第𝑖𝑖个Token和对应的标签,则ScoreScore需要能够在计算𝑥𝑖𝑥𝑖和𝑦𝑖𝑦𝑖的映射的同时,捕获相邻标签𝑦𝑖−1𝑦𝑖−1和𝑦𝑖𝑦𝑖之间的关系,因此我们定义两个概率函数:

  1. 发射概率函数𝜓EMIT𝜓EMIT:表示𝑥𝑖→𝑦𝑖𝑥𝑖→𝑦𝑖的概率。
  2. 转移概率函数𝜓TRANS𝜓TRANS:表示𝑦𝑖−1→𝑦𝑖𝑦𝑖−1→𝑦𝑖的概率。

则可以得到ScoreScore的计算公式:

设标签集合为𝑇𝑇,构造大小为|𝑇|𝑥|𝑇||𝑇|𝑥|𝑇|的矩阵𝐏P,用于存储标签间的转移概率;由编码层(可以为Dense、LSTM等)输出的隐状态ℎℎ可以直接视作发射概率,此时ScoreScore的计算公式可以转化为:

接下来我们根据上述公式,使用MindSpore来实现CRF的参数化形式。首先实现CRF层的前向训练部分,将CRF和损失函数做合并,选择分类问题常用的负对数似然函数(Negative Log Likelihood, NLL),则有:

由公式(1)可得,

根据公式(5)(5),我们称被减数为Normalizer,减数为Score,分别实现后相减得到最终Loss。

Score计算

首先根据公式(3)计算正确标签序列所对应的得分,这里需要注意,除了转移概率矩阵𝐏P外,还需要维护两个大小为|𝑇||𝑇|的向量,分别作为序列开始和结束时的转移概率。同时我们引入了一个掩码矩阵𝑚𝑎𝑠𝑘𝑚𝑎𝑠𝑘,将多个序列打包为一个Batch时填充的值忽略,使得ScoreScore计算仅包含有效的Token。

Normalizer计算

根据公式(5),Normalizer是𝑥𝑥对应的所有可能的输出序列的Score的对数指数和(Log-Sum-Exp)。此时如果按穷举法进行计算,则需要将每个可能的输出序列Score都计算一遍,共有|𝑇|𝑛|𝑇|𝑛个结果。这里我们采用动态规划算法,通过复用计算结果来提高效率。

假设需要计算从第00至第𝑖𝑖个Token所有可能的输出序列得分Score𝑖Score𝑖,则可以先计算出从第00至第𝑖−1𝑖−1个Token所有可能的输出序列得分Score𝑖−1Score𝑖−1。因此,Normalizer可以改写为以下形式:

其中ℎ𝑖ℎ𝑖为第𝑖𝑖个Token的发射概率,𝐏P是转移矩阵。由于发射概率矩阵ℎℎ和转移概率矩阵𝐏P独立于𝑦𝑦的序列路径计算,可以将其提出,可得:

Viterbi算法

在完成前向训练部分后,需要实现解码部分。这里我们选择适合求解序列最优路径的Viterbi算法。与计算Normalizer类似,使用动态规划求解所有可能的预测序列得分。不同的是在解码时同时需要将第𝑖𝑖个Token对应的score取值最大的标签保存,供后续使用Viterbi算法求解最优预测序列使用。

取得最大概率得分ScoreScore,以及每个Token对应的标签历史HistoryHistory后,根据Viterbi算法可以得到公式:

从第0个至第𝑖个Token对应概率最大的序列,只需要考虑从第0个至第𝑖−1个Token对应概率最大的序列,以及从第𝑖个至第𝑖−1个概率最大的标签即可。因此我们逆序求解每一个概率最大的标签,构成最佳的预测序列。

CRF层

完成上述前向训练和解码部分的代码后,将其组装完整的CRF层。考虑到输入序列可能存在Padding的情况,CRF的输入需要考虑输入序列的真实长度,因此除发射矩阵和标签外,加入seq_length参数传入序列Padding前的长度,并实现生成mask矩阵的sequence_mask方法。

BiLSTM+CRF模型

在实现CRF后,我们设计一个双向LSTM+CRF的模型来进行命名实体识别任务的训练。模型结构如下:

nn.Embedding -> nn.LSTM -> nn.Dense -> CRF

其中LSTM提取序列特征,经过Dense层变换获得发射概率矩阵,最后送入CRF层。

昇思25天学习打卡营第20天|LSTM+CRF序列标注 序列标注指给定输入序列,给序列中每个Token进行标注标签的过程。序列标注问题通常用于从文本中进行信息抽取,包括分词(Word Segmentation)、词性标注(Position Tagging)、命名实体识别(Named Entity Recognition, NER)等。输入序列清华大学座落于首都北京输出标注BIIIOOOOOBI如上表所示,清华大学和北京是地名,需要将其识别,我们对每个输入的单词预测其标签,最后根据标签来识别实体。 阅读详情

相关推荐

基于CRF的序列标注算法

1. 背景介绍 序列标注是自然语言处理中的一项重要任务,它涉及到对文本序列中的每个单词或字符进行分类,例如词性标注、命名实体识别、情感分析等。传统的序列标注算法主要基于隐马尔可夫模型(HMM)或最大熵模型(MaxEnt),但这些模型存在一些缺陷,例如HMM对于长距离依赖关系的建模能力较弱,MaxEnt需要手动设计特征函数,难以处理复杂的特征。

AI天才研究院 472

LSTM+CRF

CRF部分: CRF是一种概率图模型,它在给定输入序列的情况下,通过考虑相邻元素之间的关系来预测序列中每个元素的标签。CRF层通常位于LSTM层的顶部,它学习标签之间的转移概率,从而确保输出的标签序列在统计上是合理的。LSTM+CRF模型在许多NLP任务中表现出色,因为它们结合了深度学习在特征表示学习方面的强大能力以及CRF在序列标注方面的优势。对于给定的序列,LSTM会为序列中的每个元素生成一个特征向量,该向量编码了该元素的上下文信息。使用带标签的数据训练LSTM,以学习序列的特征表示。

weixin_46687533的博客 654

虚拟机扩容——非LVM分区

虚拟机扩容——非LVM分区

ytraister的博客 3905

知识图谱-LSTM+CRF人物关系抽取实战

文章目录一、引言二、实践简介1、数据来源2、预测类别(7个)3、框架4、模型结构5、项目流程三、数据标注四、实战1、数据预处理1.1 词典映射1.2 从训练文件中获取句子和标签1.3 输入文本转id1.4 数据填充2、模型构建3、测试4、总结 一、引言 本文的idea主要来源于LSTM+CRF的命名实体识别,在命名实体识别中,可以通过BIO或者BIOSE等标注进行人名、地名、机构名或者其他专......

Huoyo 1万+

Android布局基础与UI设计入门:打造精美应用界面

恭喜你!现在你已经掌握了Android UI开发的基础知识,包括各种布局类型、常用控件的使用以及一些UI优化技巧。这些知识将帮助你设计出既美观又实用的Android应用界面。

m0_65382359的博客 2055

模糊高清修复真王炸!ComfyUI-SeedVR2-Kontext(画质修复+P图)本地部署教程

SeedVR2_comfyUI 是由字节跳动 Seed 实验室与南洋理工大学 S-Lab 联合开源的,专为 ComfyUI 用户开发的插件版本,官方项目名为。它主打,在图像超分上表现尤其亮眼,被多位实测者称为“目前模糊图像修复最强模型“。SeedVR2 在图像超分任务中表现突出,尤其擅长恢复模糊图像的细节,被称为“模糊高清修复真王炸”。特别的,也适合用于文字密集图像(如截图、扫描文档、老照片字幕)修复。模型通过对抗训练 + 特征匹配损失提升细节真实感,理论上对文字边缘锐化也有帮助。

SJJS_1的博客 2681

昇思25天学习打卡营第6天|linchenfengxue

SSD是单阶段的目标检测算法,通过卷积神经网络进行特征提取,取不同的特征层进行检测输出,所以SSD是一种多尺度的检测方法。在SSD的网络结构图中我们可以看到,SSD使用了多个特征层,特征层的尺寸分别是38 ×× 38,19 ×× 19,10 ×× 10,5 ×× 5,3 ×× 3,1 ×× 1,一共6种不同的特征图尺寸。SSD的网络结构如图所示。SSD对比了YOLO系列目标检测方法,不同的是SSD通过卷积得到最后的边界框,而YOLO对最后的输出采用全连接的形式得到一维向量,对向量进行拆解得到最终的检测框。

github_zwl的博客 770

linux redis7 完整的集群搭建过程

一。安装: 1.1 说明: Redis官方只提供了源码,并没有提供经过编译之后的安装包。 因此,安装Redis,要先编译、后安装。(即源码安装方式) 注意:需要联网安装 1.2 安装编译的工具: yum install gcc gcc-c++ -y 1.3 下载tar包,上传到linux服务器,解压配置环境变量 1.4 cd +解压的目录下:编译 make 注意:如果编译失败,请重新进行解压编译,...

m0_38028438的博客 719

LSTM+CRF介绍

 LSTM和CRF要解决问题的:序列标注问题(中文分词、词性识别、命名实体识别、机器翻译等) 本文先介绍LSTM的基本结构,再介绍LSTM与CRF结合的方法(CRF的具体算法介绍不包括在本文中)。 LSTM是RNN的一种特殊形式,首先看一下RNN单元的基本结构定义: 简单解释一下,RNN其实是希望能模拟人类大脑处理信息的方式,人类的大脑所接收的信号可以分为外部(即我们的感知,视觉、听觉

chonghlyln的博客 2万+

锐浪报表 Grid++Report 子报表 Delphi

锐浪报表 Grid++Report 是国内较好的报表控件,本人一直使用它,做出很多特色的报表。可以说你的报表设计出来,它基本上能做出来。 但是它帮助文件上,说的不深,近期因为要做一个有关社工的报表,大表中,嵌套2个子表。可以说,一个表到三个数据集,分别打印。 在认真看了帮助的基础上,网上探索,基本无此类,特别是Delphi的帮助,几乎为零。经二天摸索,做出来了。 一、设计思路 1、大表和二个小表,可以设计为三个表,分别使用三个GridppReport控件,取名...

lyhoo163的专栏 9071

安装并新建windows下wxwroks7.0 bootrom工程

安装licence,将zwrsLicense-vx7-perm.lic粘贴到安装目录C盘WindRiver/license下。现在双击Workbench 4,新建vxworks7.0工程,会出现下面的情况,因为没有licence。编译完成binaries下生成wxwroks x86格式,可以修改bootrom硬件信息的配置了。单击x86_wxwroks工程右键,build project编译工程。双击桌面Workbench 4打开,新建windows下工程。新建完成,选择finish。

wangjie36的博客 1922

lstm+crf

1.介绍 基于神经网络的方法,在命名实体识别任务中非常流行和普遍。在文献【1】中,作者提出了Bi-LSTM模型用于实体识别任务中,在模型中用到了字嵌入和词嵌入。本文将向你展示CRF层是如何工作的。 如果你不知道Bi-LSTM和CRF是什么,你只需要记住他们分别是命名实体识别模型中的两个层。 1.1开始之前 我们假设我们的数据集中有两...

aozhilian7961的博客 588

一文搞定 ST22 短转储 MEMORY_NO_MORE_PAGING:看懂 SAP Paging 机制,参数 rdisp/PG_SHM 与 rdisp/PG_MAXFS 怎么设才稳

SAP系统MEMORY_NO_MORE_PAGING错误通常源于Paging资源耗尽而非物理内存不足。关键排查点包括:通过ST22确认错误类型,ST02监控Paging使用情况,检查工作进程trace中的"no more free blocks"提示。解决方案建议将rdisp/PG_SHM和rdisp/PG_MAXFS设为相同值(如250000块≈2GB),使Paging完全在内存中运行。同时需优化易耗Paging的代码逻辑,如避免滥用EXTRACT命令和超大内存对象传输。典型案例如月末

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 331

第4章 实体识别:CRF及LSTM+CRF

第四章 实体识别:CRF及LSTM+CRF

发呆的比目鱼的博客 4801

爬虫瑞数5.5案例:欧冶钢材交易官网,带后缀K5nOZLud(面向对象补环境)

瑞数动态安全 Botgate(机器人防火墙)以“动态安全”技术为核心,通过动态封装、动态验证、动态混淆、动态令牌等技术对服务器网页底层代码持续动态变换,增加服务器行为的“不可预测性”,实现了从用户端到服务器端的全方位“主动防护”,为各类 Web、HTML5 提供强大的安全保护。由于之前某通信的瑞数已经调整,这里再出一篇文章,瑞数特点以及请求执行的流程已在之前的文章中分析过,这里不再特别讲解;

老衲爱洗头的博客 3042

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

NLP-Beginner任务四学习笔记:基于LSTM+CRF的序列标注

NLP-Beginner任务四学习笔记:基于LSTM+CRF的序列标注

qq_51983316的博客 5205

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

LSTM+CRF模型

在序列标注任务中,LSTM用于对输入序列进行特征提取和上下文建模,而CRF用于将LSTM得到的特征序列映射为最终的标签序列。通过输入数据和上一个隐藏状态,计算输入门的开关值,并将其乘以输入数据,得到要更新到细胞状态的部分。通过输入门、遗忘门和输出门的计算,LSTM能够有效地捕捉到序列数据中的长期依赖关系,从而更好地处理序列任务,比如语言建模、机器翻译、文本生成。与传统的基于规则或者序列标注算法相比,CRF模型能够通过学习标签之间的关系,更好的适应任务特征和上下文信息,会提升序列标注任务的性能。

创业者 1045

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

论文代码复现一:LSTM+CRF序列标注

本文复现了论文《Bidirectional LSTM-CRF Models for Sequence Tagging 》的LSTM+CRF模型,并可在Penn Treebank、CoNLL2000和CoNLL2003数据集上测试运行。

m0_56985253的博客 2520

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

序列标注指给定输入序列,给序列中每个Token进行标注标签的过程。序列标注问题通常用于从文本中进行信息抽取,包括分词(Word Segmentation)、词性标注(Position Tagging)、命名实体识别(Named Entity Recognition, NER)等。输入序列清华大学座落于首都北京输出标注BIIIOOOOOBI如上表所示,清华大学和北京是地名,需要将其识别,我们对每个输入的单词预测其标签,最后根据标签来识别实体。

jing1452的博客 916

基于强化学习SAC_LSTM算法的移动机器人导航

机器人避碰对于行人之间安全高效的机器人操作至关重要。本文结合SAC_LSTM算法,使机器人在人群中导航。

qq_43619847的博客 6713

使用 lstm + crf 实现NER

定义无向图表示的随机变量之间存在成对马尔可夫性,局部马尔可夫性,全局马尔可夫性。成对马尔可夫性:u和v式无向图G中任意两个没有边连接的节点,对应Y_u和Y_v。其他所有节点为O,对应Y_o。

weixin_46034279的博客 979

LSTM-CRF模型详解和Pytorch代码实现

在过去,CRF-LSTM模型已被广泛用于序列标记任务,但与最近的Transformer模型相比,它们也存在一定的缺点。一个重要的缺点是,CRF-LSTM不擅长对序列元素之间的长期依赖关系进行建模,而倾向于更好地处理局部上下文。这与transformer的情况不同,因为它们的自注意力机制能够捕获远程依赖关系,擅长建模全局上下文CRF-LSTM模型的另一个问题是它们顺序处理序列,这限制了并行化,并且对于长序列可能很慢,而transformer并行处理序列,因此通常更快。

deephub 5275

实体识别:lstm+crf

一、前言 1.实体识别的计算算法 一般来说实体识别可以通过以下几种算法,准确率依次提升: (1)HMM (2)CRF (3)Bilstm+crf (4)Bert+Bilstm+crf 本节讲一下Bilstm+crf 2.实体识别基础知识 1.2.1:序列标注 实体识别可以通过序列标注实现,常见标签有:B、I、E、O 1.2.2实体的分类 一般来说实体识别的分为:人名、地名、组织结构三种 二、Lst...

woshiliulei0的专栏 2096

深度学习学习笔记-双向LSTM-CRF模型论文研读

概念引入 命名实体识别 命名实体识别(Named Entity Recognition,NER)是NLP中一项非常基础的任务。NER是信息提取、问答系统、句法分析、机器翻译等众多NLP任务的重要基础工具。 定义 命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。简单的讲,就是识别自然文本中的实体指称的边界和类别。 信息抽取 信息抽取(information extraction),即从自

优快云XXCQ的博客 5421

知识图谱(四)之LSTM+CRF

本文介绍了条件随机场(CRF)及其在序列标注任务中的应用。CRF通过马尔可夫性考虑标签间的全局依赖关系,在LSTM+CRF模型中,LSTM层负责捕捉语义信息并输出发射分数,CRF层则利用转移分数优化全局路径选择。线性链CRF满足马尔可夫特性,每个标签只与当前输入及相邻标签相关。模型通过词嵌入、BiLSTM处理获取上下文语义表示,再经线性层得到发射分数,最终CRF层结合发射分数和转移分数解码出最优标签序列。该架构有效解决了单纯使用BiLSTM时缺乏全局约束的问题。

2401_84059420的博客 523
上一篇: 昇思25天学习打卡营第15天|linchenfengxue
下一篇: 昇思25天学习打卡营第17天|linchenfengxue
github_zwl
博客等级 码龄11年 300粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值