BiLSTM:序列标注任务的标杆
Bidirectional LSTM-CRF Models for Sequence Tagging. Zhiheng Huang. 2015
在2015年,本文第一个提出使用BiLSTM-CRF来做序列标注任务,BiLSTM-CRF模型的优势有三点:
- efficiently use both past and future input features thanks to a bidirectional LSTM component.
- use sentence level tag information thanks to a CRF layer.
- robust and has less dependence on word embedding as compared to previous observations
尽管如此,BiLSTM-CRF的成绩只达到了接近SOTA的水准。
实验数据集
本文在三个数据集上做了测评,Penn TreeBank(PTB)词性标注数据集、CoNLL 2000组块分析(chunking)数据集、CoNLL 2003命名实体标注数据集。
其中,词性标注就是给每个词标上句法角色,比如名词、动词、形容词等等;组块分析是给每个词打上短语类型,比如B-NP表示名词短语的开头;命名实体识别则是给词打上人名、地名、组织名等类型。
数据集的规模如下所示:
特征
有三种,第一种是拼写特征,比如开头字母、大小写、词的构成;第二种是上下文特征,使用unigram特征和bi-grams特征;第三种是词嵌入。
这里面的上下文特征到底是什么样的,论文没有细讲,一笔带过了。。。
在特征连接上,使用了一个技巧:
就是把拼写和上下文特征和输出连接起来,不仅可以加速训练,还可以带来相似的标注准确率(有点残差连接的感觉)。
实验结果
实验的一些经验之谈:
- 模型性能和隐藏单元大小无关;
- 模型在10论内就可以收敛;
- 对于词性分析,报告词准确率;对于组块分析和命名实体识别,报告F1值;
下面是各个LSTM衍生模型的实验结果对比:
可以看到,在所有基于LSTM的模型中,BiLSTM-CRF表现最好。
接下来还有一些ablation study,只使用词嵌入特征,而不使用拼写特征和上下文特征的对比:
可以看出CRF非常依赖于人工特征;而基于LSTM的模型,BiLSTM和BiLSTM-CRF对此影响较小,具有一定的鲁棒性(词性标注和组块分析是比较小,但是NER上都四个百分点了,这还小吗?)。
再来看看和其他一些模型的对比:



可以看到BiLSTM-CRF不能说是最好,只能说接近SOTA。
BiLSTM:序列标注任务的标杆的更多相关文章
- TensorFlow教程——Bi-LSTM+CRF进行序列标注(代码浅析)
https://blog.csdn.net/guolindonggld/article/details/79044574 Bi-LSTM 使用TensorFlow构建Bi-LSTM时经常是下面的代码: ...
- TensorFlow (RNN)深度学习 双向LSTM(BiLSTM)+CRF 实现 sequence labeling 序列标注问题 源码下载
http://blog.csdn.net/scotfield_msn/article/details/60339415 在TensorFlow (RNN)深度学习下 双向LSTM(BiLSTM)+CR ...
- ALBERT+BiLSTM+CRF实现序列标注
一.模型框架图 二.分层介绍 1)ALBERT层 albert是以单个汉字作为输入的(本次配置最大为128个,短句做padding),两边分别加上开始标识CLS和结束标识SEP,输出的是每个输入wor ...
- Bi-LSTM+CRF在文本序列标注中的应用
传统 CRF 中的输入 X 向量一般是 word 的 one-hot 形式,前面提到这种形式的输入损失了很多词语的语义信息.有了词嵌入方法之后,词向量形式的词表征一般效果比 one-hot 表示的特征 ...
- 转:TensorFlow入门(六) 双端 LSTM 实现序列标注(分词)
http://blog.csdn.net/Jerr__y/article/details/70471066 欢迎转载,但请务必注明原文出处及作者信息. @author: huangyongye @cr ...
- BI-LSTM-CRF在序列标注中的应用
1. 前言 在NLP中有几个经典的序列标注问题,词性标注(POS),chunking和命名实体识别(NER).序列标注器的输出可用于另外的应用程序.例如,可以利用在用户搜索查询上训练的命名实体识别器来 ...
- 序列标注(HMM/CRF)
目录 简介 隐马尔可夫模型(HMM) 条件随机场(CRF) 马尔可夫随机场 条件随机场 条件随机场的特征函数 CRF与HMM的对比 维特比算法(Viterbi) 简介 序列标注(Sequence Ta ...
- 序列标注(BiLSTM-CRF/Lattice LSTM)
前言 在三大特征提取器中,我们已经接触了LSTM/CNN/Transormer三种特征提取器,这一节我们将介绍如何使用BiLSTM实现序列标注中的命名实体识别任务,以及Lattice-LSTM的模型原 ...
- NLP之CRF应用篇(序列标注任务)
1.CRF++的详细解析 完成的是学习和解码的过程:训练即为学习的过程,预测即为解码的过程. 模板的解析: 具体参考hanlp提供的: http://www.hankcs.com/nlp/the-cr ...
随机推荐
- python多线程之Threading
什么是线程? 线程是操作系统内核调度的基本单位,一个进程中包含一个或多个线程,同一个进程内的多个线程资源共享,线程相比进程是“轻”量级的任务,内核进行调度时效率更高. 多线程有什么优势? 多线程可以实 ...
- MySQL数据库---表的操作
存储引擎 表就是文件,表的存储引擎就是文件的存储格式,即数据的组织存储方式. 字段类型 1.整数类型 整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT 作用:存储年 ...
- Android 性能优化---布局优化
Android 性能优化---布局优化 Android 布局绘制原理 布局加载过程 setContentView() --> inflate() -- > getLayout()(I/O操 ...
- 京东阅读(web)体验优化
京东有电子书可以购买,可以多端阅读.比如PC客户端,移动端,以及本文提到的PC网站端. 先换个镜头,读书要记笔记(电子版本), 方便以后查阅. 镜头换回来,但是,我们为了方便肯定是想复制,下载啊,分享 ...
- Jarvisoj-web Login
题目入口: http://web.jarvisoj.com:32772/ 有个登陆框,随便提交参数然后bp抓包 get到了一个Hint,给了sql查询的语句 select * from `admin` ...
- Java基础加强笔记——测试、反射、注解
目录 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具 ...
- Linux系统安装Samba共享服务器详解及安装配置
一.简介 Samba服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享软件,实现了Linux和windows系统间的文件共享.SMB(Server Messages Block,信息服务 ...
- cpp求职
//Created by Arc on 2020/5/23 //////// Created by snnnow on 2020/5/20.//////面向对象的程序设计-期中测试// 根据题目实现求 ...
- SpringCloud Bus消息总线简介
简介: SpringCloud Bus配合SpringCloud Config使用可以实现配置的动态刷新 SpringCloud Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架,它整合了 ...
- Java Web(5)-Servlet详解(下)
一.HttpServletRequest 类 1. HttpServletRequest 类作用? 每次只要有请求进入 Tomcat 服务器,Tomcat 服务器就会把请求过来的 HTTP 协议信息解 ...