BI-LSTM-CRF在序列标注中的应用

摘要:
1.前言NLP中有几个经典的序列标记问题。序列标记的输出可用于其他应用。根据用户的搜索查询训练的命名实体识别器可用于识别关键字。另一个例子是,搜索引擎可以使用此标记信息来查找相关网页。我们提出了多种基于短期和长期记忆(LSTM)的序列标记模型。本文的工作是将BI-LSTM-CRF模型应用于NLP数据系列注释数据集。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模型

image

BI-LSTM-CRF的结构是由word embedding、双向LSTM层、CRF层构成。

  1. word embedding:使用 unigram,bi-gram,tri-gram的特征,使用了50维的词向量。
  2. BI-LSTM层,是充分提取词过去和未来的特征,这种特征能够提升标签的准确度。
  3. CRF层是连接LSTM输出的线性表示,CRF层具有状态转移矩阵作为参数。

BI-LSTM-CRF的算法过程:

image

3.1 Feature Trick

我们可以将拼写和上下文特征都看作单词的特征。也就是说,神经网络的输入包括单词,拼写和上下文特征。论文指出,我们发现加入拼写能够加速训练,并且它们得到非常相似的标注准确性。

如下图所示:

image

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在序列标注中的应用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇php的cookie和session相同主域名共享kd树的构造与搜索下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Algorithm算法库

algorithm 是C++标准程式库中的一个头文件,定义了C++ STL标准中的基础性的算法(均为函数模板)。在C++98中,共计有70个算法模板函数;在C++11中,增加了20个算法模板函数。其中有5个算法模板函数定义在头文件numeric中。 下文所称的“序列”(sequence),是指可以用迭代器顺序访问的容器。 有返回值的函数,返回值都是迭代器,...

深度学习之卷积和池化

转载:http://www.cnblogs.com/zf-blog/p/6075286.html 卷积神经网络(CNN)由输入层、卷积层、激活函数、池化层、全连接层组成,即INPUT-CONV-RELU-POOL-FC (1)卷积层:用它来进行特征提取,如下: 输入图像是32*32*3,3是它的深度(即R、G、B),卷积层是一个5*5*3的filter(...

《自拍教程40》Python adb一键导出Log

Android设备,比如车载系统实车路试过程中, 车上操作电脑比较麻烦,如果车载系统出现了Bug, 如何很方便地一次性导出相关的log来(logcat, dbus, 高德地图log,gps定位log等)来呢? 其实我们只需要一个python脚本就可以搞定! 准备阶段 adb pull 命令, 可以把Android系统里的文件,pull到电脑端 导出的Lo...

oracle-触发器

触发器的定义 触发器定义就是当某个条件成立的时候,触发器里面定义的语句就会自动被执行,因此触发器不需要人为的去调用,也不能调用,并且触发器的触发条件其实是在你定义的时候就已经设定好了。 触发器分类 触发器分为两种 1. 语句级触发器:可以在某些语句执行前或执行后被触发 2. 行级触发器:在定义的触发的表中的行数据改变时就会被触发一次 触发器的语法 1....

目标检测算法的历史及分类

  随着人工智能的兴起,目标检测算法在各行业中起的作用越来越大,怎么落地,这是一个非常严峻的话题。今天看到一位大牛的分享,学习了。 把该领域的算法和历史做个梳理。方便后续研究。   按照时间分类,可以把该算法分成两类:传统算法和CCN算法。  传统算法: 级联分类器框架:Haar/LBP/积分HOG/ACF feature+Adaboost 级联分类器最...

WPS企业版序列号

终身授权: 694BF-YUDBG-EAR69-BPRGB-ATQXH 其他(未验证是否永久): 某政府版激活码:THUV2-32HH7-6NMHN-PTX7Y-QQCTH 某人社局激活码:R7AKQ-KLBXV-RNX3F-BPACQ-NQDGE 企业版序列号1:R8R8P-MTT6F-KLRPM-J7CAB-PJM8C 企业版序列号2:A4XV7-QP...