【论文解析】LM-BiLSTM+CRF:让BiLSTM+CRF模型更加强大

在以Bert为代表的大规模预训练模型出来之前,BiLSTM+CRF是解决文本序列标注问题(如分词、POS、NER和句法分析等)的baseline之一,其通过BiLSTM提取word/token-level的句法/语义特征输出,后接CRF层保证序列标注转移的合法性和全局最优化。

论文Empower Sequence Labeling with Task-Aware Neural Language Model提出了一种适用于英文语料的序列标注问题,其在BiLSTM+CRF基础上进一步引入了字符级别(char-level)的语言模型进行联合训练,通过验证,这种ML+BiLSTM+CRF的模型架构在文本序列标注问题上的效果更胜BiLSTM+CRF一筹。

【论文解析】LM-BiLSTM+CRF:让BiLSTM+CRF模型更加强大_第1张图片

如上图所示,模型的整体结构包括:

(1)char-level的语言模型,在char-level用BiLSTM搭建LM模型,从而可以从自监督的任务语料中提取潜在特征。不同于单纯的让每个char预测下一个char的做法(可能会导致模型机械的记忆word的拼写顺序),本文在每个word最后一个char后插入一个space标识,在该处预测后一个word。

(2)word-level的序列标准模型,每个word的embedding由预训练的词向量和上述的space标识处的输出信息进行拼接,之后接入BiLSTM+CRF进行序列的预测。

LM-BiLSTM+CRF模型的设计和训练非常巧妙,在博主看来可以借鉴的经验和注意事项主要包括:

(1)不同颗粒度信息的使用。文本序列标注任务原本是word-level的任务,但借助于char-level的语言模型(或者其他联合训练的任务)可以从任务文本中自监督的学习char和word间的结构和语义特征;

(2)High-way技巧。考虑到上述语言模型与标注任务间较弱的相关性,模型在LM的输出预测以及word-embedding的拼接时,均在char上引入了high-way将char-level的输出映射到不同的语义空间,从而让底层bilstm更专注于char间通用特征的提取(当然也可以保证梯度BP过程中信息的传输),而让high-way的参数学习更偏重于标注任务;

(3)词向量的融合和fine-tune。考虑到任务语料一般规模不大和计算耗时,论文的词向量直接选择对glove这种基于大量语料训练的词向量finetune,而非直接在任务语料上进行pre-train或者在LM-BiLSTM+CRF中直接随机初始化和联合训练。同时,除了glove,word-level的词向量还充分融合了从char-level得到的信息,从而可以让顶层的BiLSTM+CRF模型可以获取的信息。

(4)token的对齐。一般使用BiLSTM时,我们都是直接使用token上的输出(双向concat的结果)。但在本文word-level层中进行词向量的融合,要特别注意token的对齐,对于前向的LSTM,其使用的是每个token后的隐层信息;而对于后向的LSTM,使用的则是每个token前(按照绝对位置)的信息。

(5)训练和推断阶段的差异。模型在训练阶段需要同时考虑char-level LM的交叉熵损失,还需要考虑word-level序列标注任务的Viterbi损失。而在预测阶段,则仅仅需要知道序列标注的输出即可。因此,在char-level LM中的词表和word level中的Embedding词表可以是不相同的,即char-level LM中的词表仅需要覆盖训练样本中的word即可;而为了模型能适用于更多语料的推断,Embedding应当选择更大的词表以克服训练文本上的OOV问题。

论文指出LM-BiLSTM+CRF模型在各序列标注任务上的效果基本都超越了BiLSTM+CRF、BiLSTM+CNN+CRF等模型。不过略可惜的,因为char-level的任务不太适用于中文任务,因此难以将该模型直接适用于中文语料上。

你可能感兴趣的:(自然语言处理)