BILSTM-CRF原理介绍与tensorflow实现

1. 引言

    在自然语言处理中,很多任务都涉及到序列标注,比如词性标注、分词、命名实体识别等,这些任务都有一个特点是输入序列和标签序列是等长的,因此,常用的解决方法有HMM、MEMM、CRF等,本文将介绍一个2015年提出来的非常经典模型,即BILSTM-CRF模型,该模型现在已经成为命名实体识别、词性标注、分词等任务的主流模型。

2. BILSTM-CRF原理介绍

2.1 BILSTM-CRF模型介绍

    BILSTM-CRF模型主要包括两部分,即BILSTM层和CRF损失层。BILSTM层如下图所示,对于一个输入句子 x x x,首先经过embedding层将每个词汇或者字符映射为一个词向量或者字符向量,然后传入BILSTM层,获得句子的前向和后向向量,接着将前向和后向向量进行拼接作为当前词汇或字符的隐藏状态向量。
在这里插入图片描述
    在BILSTM每个时间步,虽然可以采用一个sorfmax层直接预测该时间步的标签,但是作者发现直接采用LSTM或者BILSTM进行预测效果一般,因为此时预测出来的标签并没有考虑前后标签的信息,在一些序列标注任务,比如命名实体识别,我们知道有些标签之前的转移是不合法的,比如人名我们一般是类似于“B-PER,I-PER,I-PER”的标注格式,如果采用LSTM或者BILSTM直接预测的话,可能预测出来的标签是“B-PER,B-PER,I-PER”,这时明显是不合法的。因此,为了考虑相邻标签的信息,作者在BILSTM层后接了一层CRF层,因为CRF不仅可以考虑当前输入的信息,还可以考虑前后标签的信息,具体的原理介绍可以参考我之前的另一篇文章《条件随机场原理介绍》。CRF的结构如下图所示:
在这里插入图片描述
    对于一个输入句子 [ x ] 1 T [x]_{1}^{T} [x]1T,记 [ f θ ] i , t \left[f_{\theta}\right]_{i, t} [fθ]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值