1、方法步骤
先通过 CRF 进行分词,在分词的基础上再利用双向 LSTM 模 型 ( bi-directional long short-term memory,BI-LSTM) 进行命名实体识别。在进行中文分词的时候 使用 CRF 模型,可以同时考虑词语出现的频率和上 下文语境,因此具备了较好的上下文融合能力,同时 CRF 对于歧义词和未登录词也具有良好的识别效果。弥补神经网络特征学习不足的缺点。
2、CRF
P( Y | X) 为线性链条件随机场公式形式,随机变量X取值为x的条件下,随机变量Y取值为y的条件概率公式如下:
其中,t(k)是特征函数, 入(k)和 u(t) 为对应的权值,Z(x)为规范化银子,求和是在所有可能的输出序列上进行的。
CRF 是对于给定的输入序列 X, 通过事先统计得到的模型参数,计算或者预测指定 的输出随机变量组合 Y 的条件概率的无向图模型,
且这些输出随机变量之间通过指示依赖关系的无向 边所连接。
在序列标注问题中,如果把 X 作为输入的观测序列,Y作为对应的输出标记序列或者状态序列,对应的公式为:
称其为线性条件随机场
克服了隐马尔可夫模型由于输入独立性假设导致的上下文特征丢失,解决了最大熵隐马尔可夫模型带来的标记偏见问题。
crf并不是在每一个节点上进行归一化,而是在所有特征进行全局归一化,做到全局最优。
3、LSTM and Bi-LSTM
f(t) ,i(t), o(t) 分别为遗忘门,输入门和输出门。
单向的lstm只能获取句子的上文信息,对于句子后文的上下文信息无法获取。
双向lstm则可以解决这个问题,从向前和向后对句子建模,然后将向前和向后的结果相加起来作为下一层的输入。
4、具体方法
采用CRF和Bi-LSTM相融合的模型,将数据通过CRF进行分词预处理,然后每个次装成相应的id ,表示成one-hot词向量,再送给Bi-LSTM训练实现命名实体识别。
在双向lstm中,前向和后向隐藏层相加得到输出的层。
加入dropout在训练过程中随机删除某些隐藏层的节点,但,权值会被保留(下次工作可能又被激活),此方法可以提高模型的泛化能力,解决过拟合问题。
获得双向lstm的输出后进入softmax层,实际上就是一个分类问题了。
5、评价指标:
Tp 为模型识别到的相关的标签的个数,Fp为模型是识别到的不相关的标签的个数,Fn是为相关的标签,但是模型没有识别到的个数。