1 基本概念
1.1 定义与任务
序列标注模型是自然语言处理中的一类监督学习模型,其目标是为输入序列中的每个元素(如单词、字符或子词)分配一个离散的标签。典型任务包括词性标注(为每个词标注名词、动词等)、命名实体识别(识别并标注人名、地名、组织名等)和语义角色标注(为句子中的成分标注语义角色如施事、受事等)。模型需要学习输入元素之间的上下文依赖关系,以做出准确的逐项预测。
1.2 序列标注与分类任务的差异
传统的分类任务(如文本情感分类)为整个输入序列输出一个单一的类别标签,而序列标注要求为序列中的每个位置输出一个标签。因此,序列标注更关注局部上下文和标签之间的依赖关系(例如相邻标签的转移约束),而分类任务通常忽略内部结构。
1.3 常见标注模式
常见的标注模式包括“BIO”(Begin, Inside, Outside)和“BIOES”(Begin, Inside, Outside, End, Single)。BIO模式中,B表示实体的起始词,I表示实体内部词,O表示非实体词。BIOES在此基础上增加了E(实体结尾词)和S(单个词构成的实体),用于更精确地界定实体边界。这些模式有助于模型学习标签之间的转移规则。
2 主要模型
2.1 统计模型
2.1.1 隐马尔可夫模型
隐马尔可夫模型(HMM)是生成式概率图模型,假设观测序列(如单词)由隐藏状态(如词性标签)的马尔可夫链生成。HMM包括初始状态概率、状态转移概率和发射概率。其缺点是需要独立观测假设(当前观测只依赖于当前状态),且无法灵活使用复杂的上下文特征。训练通常采用最大似然估计或Baum-Welch算法。
2.1.2 最大熵马尔可夫模型
| 最大熵马尔可夫模型(MEMM)是判别式模型,直接对条件概率建模:\( P(\text{标签}_i | \text{标签}_{i-1}, \text{观测}_i, \text{上下文特征}) \)。它通过最大熵原理整合任意特征,克服了HMM的独立假设缺陷。然而MEMM存在“标签偏差”问题(偏好具有较少出度的状态),因为概率是局部归一化的。 |
|---|
2.1.3 条件随机场
| 条件随机场(CRF)是一种无向图模型,对条件概率 \( P(\mathbf{y} | \mathbf{x}) \) 进行全局归一化,其中 \(\mathbf{y}\) 是标签序列,\(\mathbf{x}\) 是观测序列。它通过定义特征函数(包括状态特征和转移特征),并使用对数线性模型形式,缓解了MEMM的标签偏差问题。CRF采用维特比算法进行解码,通过前向-后向算法进行训练,广泛用于序列标注任务。 |
|---|
2.2 深度学习模型
2.2.1 循环神经网络与双向LSTM
循环神经网络(RNN)通过隐藏状态捕捉序列中的时间依赖,但面临长期依赖时的梯度消失问题。长短期记忆网络(LSTM)通过门控机制缓解了该问题。双向LSTM(Bi-LSTM)由前向和后向两个LSTM组成,能同时利用过去和未来的上下文信息,从而为每个位置生成包含上下文的特征表示。
2.2.2 双向LSTM-CRF架构
双向LSTM-CRF(Bi-LSTM-CRF)是目前序列标注的经典架构。前层使用Bi-LSTM提取上下文特征,输出每个位置对应各标签的得分;后层使用CRF层学习标签之间的转移约束(如B标签后不能直接跟I标签),并通过解码获得全局最优标签序列。该架构显著优于单独使用Bi-LSTM或CRF的方法。
2.2.3 基于Transformer的模型
2.2.3.1 BERT与微调
BERT(Bidirectional Encoder Representations from Transformers)利用多层Transformer的注意力机制,在大规模文本上进行预训练,学习丰富的上下文表示。在序列标注任务中,通常将预训练BERT在下游标注数据上进行微调:在BERT的顶层接入一个线性分类层,输出每个位置的标签概率。微调时所有参数(包括预训练参数)一同更新。
2.2.3.2 预训练+CRF解码
为进一步提高性能,可在微调后的BERT顶层之上连接CRF层。BERT输出每个位置对各类标签的得分,CRF层则建模标签间转移约束,通过维特比解码得到全局最优标签序列。这种“预训练+CRF”结合了双向上下文的强大表示能力与结构化预测的优势,成为许多NLP任务的基准方法。
3 训练与评估
3.1 训练数据与标注规范
序列标注任务需要大量人工标注的语料,每条数据为一个输入序列及其对应的标签序列。标注规范定义了标签集(如词性标签集合)和标注原则(如BIO模式中实体的边界界定)。数据通常按比例划分为训练集、验证集和测试集。预处理包括分词、规范化、构建词表或子词表(如WordPiece)。
3.2 损失函数
3.2.1 交叉熵损失
当不使用结构化解码层(例如仅使用Bi-LSTM或BERT+线性分类层)时,常用交叉熵损失函数。它对每个位置的预测与真实标签计算负对数概率,再对所有位置求和或取平均。该损失假设各位置标签独立,未考虑标签间的转移关系。
3.2.2 条件随机场损失
当模型包含CRF层时,损失定义为真实标签序列的负对数似然。CRF损失考虑了全局标签序列的联合概率,通过前向-后向算法计算所有可能路径的归一化因子。训练时最大化真实路径的概率,同时最小化其他路径的概率,从而学习标签转移规则。
3.3 评估指标
3.3.1 准确率与召回率
在序列标注中,准确率(Precision)指预测为正类的样本中真正为正类的比例;召回率(Recall)指真实正类中被正确预测为正类的比例。对于每个标签类别(如B-PER、I-LOC等),分别计算准确率和召回率。
3.3.2 F1分数
F1分数是准确率和召回率的调和平均值,公式为 \(2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}\)。在命名实体识别等任务中,常采用严格匹配的评估方式(即实体边界和类型完全正确才算正确),并计算宏观F1(各类别F1平均)或微观F1(整体统计)。
3.3.3 混淆矩阵分析
混淆矩阵以矩阵形式展示每个类别的预测情况:行代表真实标签,列代表预测标签。通过混淆矩阵可分析模型容易混淆的标签对(如将“组织名”误判为“人名”),以及类别不平衡问题(少数类样本少,召回率低)。
4 应用领域
4.1 命名实体识别
命名实体识别(NER)是从文本中识别出具有特定意义的实体(如人名、地名、时间、数量等),并将其分类。序列标注模型通常使用BIO或BIOES模式进行标注。NER是信息抽取、问答系统、知识图谱构建的基础任务。
4.2 词性标注
词性标注(POS Tagging)为句子中的每个词分配一个词性类别(如名词、动词、形容词等)。它是句法分析、语义理解的前置步骤。标注集合依语言和语料库不同而异(如英语常用Penn Treebank标签集)。
4.3 语义角色标注
语义角色标注(SRL)识别句子中谓词(通常是动词)的论元,并标注其语义角色(如施事、受事、工具、地点等)。通常先识别谓词,再为每个谓词标注其对应的论元及其角色。序列标注模型常用于论元边界检测和角色分类。
4.4 分词与边界检测
在中文、日文等连续书写语言中,分词是将字符序列切分成词的任务。分词可视为一种序列标注问题:为每个字符标注B(词首)、I(词内)、S(单字词)或E(词尾)等标签。同样,句子的边界检测(如断句、短语边界)也可用序列标注实现。
4.5 其他序列标注任务
其他常见任务包括:情感分析中的观点抽取(标注评价对象和情感词)、时间表达式识别、化学或生物命名实体识别、语音识别中的音素标注、生物信息学中的基因序列标注(如编码区预测)等。序列标注模型因其灵活性和高效性,被广泛用于需要细粒度序列分析的领域。