赞
踩
实体识别的难点一方面在于一些复杂实体难以有效训练识别,另一方面在数据层面的问题。要做实体识别模型训练,那么就要进行实体标注。常见的标注策略就是使用BIO, BMEO, 或者BMEOS等形式,这些是比较常见的标注方式,按照这种标注方式其实就是对每一个token进行多分类,分类之后解码得到每个token的预测标签,常用的解码方式有CRF和softmax,常用的模型有BILSTM+CRF以及DNN+softmax之类的模型。
在实际应用中的实体识别往往较为复杂。
指针标注,分为层叠式指针标注和MRC-QA指针标注。
前者表示有多少个实体类型就构建多少层的标注label,每一层代表一个实体类型,标注时只标注实体的头和尾。可以看到每一层都有两个标签,分别表示是否是头start,是否是尾end,也就是每一层都有一个二元的sigmoid分类,这就导致有一个缺陷就是每一层的样本tag空间比较稀疏,比如下图中症状实体start和end都只有一个tag为1,而其他都为0,因此造成训练时收敛速度慢,特别是对于特别长的实体。
后者我们可以看到不再是多层,只有一层,因为他给每个训练样本都添加了一个query,形式上基本是“提及的xx是什么?”这个xx就是指实体类型,因此这里只要一层标注就行,只需要预测start和end的位置就可以,不需要对实体类型进行分类,因为这里的query就提供了实体类型的先验语义知识。这种方式同样有缺陷,如果有一个训练样本有多个实体类型在里面,那么就需要对该文本进行重复编码,以构造不同实体类型的query,这大大增加了训练时的计算量。
构造一个span矩阵做标签,这解决了上述指针标注的0-1标签稀疏问题。
将句子按照特定的长度划分为若干个小片段然后对每一个片段使用softmax分类,如果句子长度为n,那么可划分的片段长度为1,2,3,,,n,总片段数目为n(n+1)/2个,如果文本长度较大的话,这将是一个高复杂度的多分类任务了,因此我们可以限制span的最大长度,如果超出这个最大长度则不做处理。
实体标注的成本是很高的,因此经常会遇到标注数量不足的情况,另外针对已经标注的训练样本也会存在漏标的情况,这样会造成数据集的噪声比较高,而命名实体识别任务对噪声十分敏感,如何解决这两个问题是我们要重点研究的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。