BI-LSTM-CRF在序列标注中的应用
1. 前言
在NLP中有几个经典的序列标注问题,词性标注(POS),chunking和命名实体识别(NER)。序列标注器的输出可用于另外的应用程序。例如,可以利用在用户搜索查询上训练的命名实体识别器来识别关键词,从而触发某些产品广告。另一个例子是搜索引擎可以使用这种标签信息来查找相关的网页。
2. BI-LSTM-CRF原理
在本文中,我们提出了各种基于长短期记忆(LSTM)的序列标注模型。这些模型包括LSTM网络,双向LSTM网络(BI-LSTM),带条件随机场的LSTM(LSTM-CRF)和具有CRF的双向LSTM(BI-LSTM-CRF)。
论文的工作是将BI-LSTM-CRF模型应用于NLP基准序列标注记数据集。实验表明,由于双向LSTM组件,BI-LSTM-CRF模型可以有效地使用过去和未来输入特征。
BI-LSTM-CRF模型可以在POS、chunking、NER数据集达到SOTA的水平。并且,与先前的结果相比,它更具有鲁棒性和对word embbding的依赖性较小。
3. BI-LSTM-CRF模型
BI-LSTM-CRF的结构是由word embedding、双向LSTM层、CRF层构成。
- word embedding:使用 unigram,bi-gram,tri-gram的特征,使用了50维的词向量。
- BI-LSTM层,是充分提取词过去和未来的特征,这种特征能够提升标签的准确度。
- CRF层是连接LSTM输出的线性表示,CRF层具有状态转移矩阵作为参数。
BI-LSTM-CRF的算法过程:
3.1 Feature Trick
我们可以将拼写和上下文特征都看作单词的特征。也就是说,神经网络的输入包括单词,拼写和上下文特征。论文指出,我们发现加入拼写能够加速训练,并且它们得到非常相似的标注准确性。
如下图所示:
4. 总结
序列标注是基础性的NLP研究课题,是许多NLP任务的基础。比如搜索引擎使用命名实体识别查询语句中的产品类实体,继而推荐广告。经典的序列标注有HMM、MEMMs和CRFs三种,其中CRFs的效果最好,可以解决HMM和MEMMs的标签偏置(label bias)问题。后来词向量的研究兴起,Collobert(Collobert et al.201) 的C&W词向量也在序列标注一展身手。Collobert 用的是卷积神经网络+CRF。LSTM在语音识别等领域已经有了成功的应用,引文若干。在之后的实验中对比了这些模型和自己模型(BI-LSTM-CRF, state of the art)的结果。
BI-LSTM-CRF在序列标注中的应用的更多相关文章
- LSTM+CRF进行序列标注
		为什么使用LSTM+CRF进行序列标注 直接使用LSTM进行序列标注时只考虑了输入序列的信息,即单词信息,没有考虑输出信息,即标签信息,这样无法对标签信息进行建模,所以在LSTM的基础上引入一个标签转 ... 
- TensorFlow教程——Bi-LSTM+CRF进行序列标注(代码浅析)
		https://blog.csdn.net/guolindonggld/article/details/79044574 Bi-LSTM 使用TensorFlow构建Bi-LSTM时经常是下面的代码: ... 
- Bi-LSTM+CRF在文本序列标注中的应用
		传统 CRF 中的输入 X 向量一般是 word 的 one-hot 形式,前面提到这种形式的输入损失了很多词语的语义信息.有了词嵌入方法之后,词向量形式的词表征一般效果比 one-hot 表示的特征 ... 
- ALBERT+BiLSTM+CRF实现序列标注
		一.模型框架图 二.分层介绍 1)ALBERT层 albert是以单个汉字作为输入的(本次配置最大为128个,短句做padding),两边分别加上开始标识CLS和结束标识SEP,输出的是每个输入wor ... 
- TensorFlow (RNN)深度学习 双向LSTM(BiLSTM)+CRF 实现 sequence labeling 序列标注问题 源码下载
		http://blog.csdn.net/scotfield_msn/article/details/60339415 在TensorFlow (RNN)深度学习下 双向LSTM(BiLSTM)+CR ... 
- 序列标注(BiLSTM-CRF/Lattice LSTM)
		前言 在三大特征提取器中,我们已经接触了LSTM/CNN/Transormer三种特征提取器,这一节我们将介绍如何使用BiLSTM实现序列标注中的命名实体识别任务,以及Lattice-LSTM的模型原 ... 
- 基于CRF序列标注的中文依存句法分析器的Java实现
		这是一个基于CRF的中文依存句法分析器,内部CRF模型的特征函数采用 双数组Trie树(DoubleArrayTrie)储存,解码采用特化的维特比后向算法.相较于<最大熵依存句法分析器的实现&g ... 
- 用CRF++开源工具做文本序列标注教程
		本文只介绍如何快速的使用CRF++做序列标注,对其中的原理和训练测试参数不做介绍. 官网地址:CRF++: Yet Another CRF toolkit 主要完成如下功能: 输入 -> &qu ... 
- 【中文分词系列】 4. 基于双向LSTM的seq2seq字标注
		http://spaces.ac.cn/archives/3924/ 关于字标注法 上一篇文章谈到了分词的字标注法.要注意字标注法是很有潜力的,要不然它也不会在公开测试中取得最优的成绩了.在我看来,字 ... 
随机推荐
- Android--------从一个包中的Avtivity创建另外另外一个包的Context
			Android中有Context的概念,想必大家都知道.Context可以做很多事情,打开activity.发送广播.打开本包下文件夹和数据库.获取classLoader.获取资源等等.如果我们得到了 ... 
- 【Algorithm】堆排序
			堆是一种完全二叉树结构,并且其满足一种性质:父节点存储值大于(或小于)其孩子节点存储值,分别称为大顶堆.小顶堆.堆一般采用数组进行存储(从下标为0开始).则父节点位置为i,那么其左孩子为2*i + 1 ... 
- svn开发常用整理
			1.删除tortoise svn中的账号信息 其实tortoise svn也是将账号信息存放在本地的配置文件中 在不同的操作系统下,操作基本类似,首先我们来看一下windows下如何操作的. 以win ... 
- windows Server 2012安装GUI
			1.进入PowerShell 在命令行提示输入符处,直接输入: PowerShell 2.安装GUI 在命令行提示输入符处,直接输入: Install-WindowsFeature Server-Gu ... 
- PostgreSQL基础命令
			1. 查看数字库和表 切换用户postgres su postgres 执行psql进入后台(就像执行mysql进入后台一样) 2. 更新postgres密码 \password 3. 创建数据库用户 ... 
- 第二篇:呈现内容_第一节:Control呈现
			一.Control的呈现过程 在上个章节““生死有序”的控件生命周期”中,我们提到Render是控件开发的主角,但在控件树的“合成模式(Composite)”部分这位主角却缺席了(戏份太多的缘由).哦 ... 
- js前台取用后台传递过来的map集合方式
			在处理有些特殊需求的时候,我们需要在前台页面的js中获取后台传递过来的map集合类型的参数,并且进行调用,代码如下: 在后台我们拼装出如下的集合: Map<String,Grade> gr ... 
- libsvm_readme[zz from github]
			Libsvm is a simple, easy-to-use, and efficient software for SVM classification and regression. It so ... 
- Oozie介绍
			1. Hadoop常见调度框架: (1)Linux Crontab:Linux自带的任务调度计划,在任务比较少的情况下,可以使用这种方式,直接执行脚本,例如添加一个执行计划: 0 12 * hive ... 
- spark 分区
			http://stackoverflow.com/questions/39368516/number-of-partitions-of-spark-dataframe 
