基于卷积注意力神经网络的命名实体识别(CAN-NER)

2024-03-06 10:32

本文主要是介绍基于卷积注意力神经网络的命名实体识别(CAN-NER),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CAN-NER: Convolutional Attention Network for Chinese Named Entity Recognition(NAACL-HLT 2019)

论文要点

该论文提出过去基于词向量和词典中的几个问题:

  1. 模型结果会受词向量和词典覆盖好坏的影响【迁移问题】
  2. 会存在OOV的问题,而命名实体大多为OOV
  3. 词向量会极大增大模型大小【Embeddings Size一直是大头】,使得Finetune训练更难
  4. 没有足够大量的标注数据难以学习好词向量
  5. 大词典会占用大内存和耗时用于特征计算【额,这个应该影响很小】
  6. 词典太大时,难以清除词典中的脏数据【确实很多是noise word】
  7. 词向量和词典训练后难以更新【这个关键】

模型框架

 

  • Convolutional Attention Layer
  1. 目的在于encode char和潜在词【encode the sequence of input characters and implicitly group meaning- related characters in the local context】
  2. 每个字符x=[char ; BMES;pos]组成
  3. 感觉文章表述的Conv Attention就是一个窗口大小为kernel size的Local的Self-Attention而已:

          attention权值由输入emb计算

           得到权值后对emb进行加权求和,就是这一层的输出了

             然后这里说有多个kenel,结果算完后进行sum-pool,但感觉也就是一个multi-head

  • BiGRU-CRF with Global Attention
  1. 卷积层后的输出作为BiGRU的输入
  2. BiGRU输出后加一层最经典的Attention层【在机器翻译Attention那篇经典文章的】
  3. 然后拼接BiGRU输出和Attention输出,经线性变换后输入CRF

模型效果

 

模型优缺点

  1. 文章没有使用word emb,而是直接使用分词边界BMES作为char的特征输入到模型中,确实有一定的作用,不过,这样模型是要基于分词的,这又与基于词典的模型不同
  2. 感觉这里的Attention只是为了强行套上去的,尤其是最后一层BiGRU还要加Attention,实验也没说明这个作用体现在哪?
  3. 而在效果上,其实这个模型对比Lattice-LSTM提升很小

这篇关于基于卷积注意力神经网络的命名实体识别(CAN-NER)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/779771

相关文章

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

Pytorch微调BERT实现命名实体识别

《Pytorch微调BERT实现命名实体识别》命名实体识别(NER)是自然语言处理(NLP)中的一项关键任务,它涉及识别和分类文本中的关键实体,BERT是一种强大的语言表示模型,在各种NLP任务中显著... 目录环境准备加载预训练BERT模型准备数据集标记与对齐微调 BERT最后总结环境准备在继续之前,确

Linux命名管道方式

《Linux命名管道方式》:本文主要介绍Linux命名管道方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、命名管道1、与匿名管道的关系2、工作原理3、系统调用接口4、实现两个进程间通信二、可变参数列表总结一、命名管道1、与匿名管道的关系命名管道由mkf

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

通过Python脚本批量复制并规范命名视频文件

《通过Python脚本批量复制并规范命名视频文件》本文介绍了如何通过Python脚本批量复制并规范命名视频文件,实现自动补齐数字编号、保留原始文件、智能识别有效文件等功能,听过代码示例介绍的非常详细,... 目录一、问题场景:杂乱的视频文件名二、完整解决方案三、关键技术解析1. 智能路径处理2. 精准文件名

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

linux如何复制文件夹并重命名

《linux如何复制文件夹并重命名》在Linux系统中,复制文件夹并重命名可以通过使用“cp”和“mv”命令来实现,使用“cp-r”命令可以递归复制整个文件夹及其子文件夹和文件,而使用“mv”命令可以... 目录linux复制文件夹并重命名我们需要使用“cp”命令来复制文件夹我们还可以结合使用“mv”命令总

Python脚本实现图片文件批量命名

《Python脚本实现图片文件批量命名》这篇文章主要为大家详细介绍了一个用python第三方库pillow写的批量处理图片命名的脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言源码批量处理图片尺寸脚本源码GUI界面源码打包成.exe可执行文件前言本文介绍一个用python第三方库pi

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图