当前位置: 首页 > news >正文

自然语言处理-序列标注算法-01

序列标注算法工程指南:HMM、CRF、BiLSTM-CRF 与 BERT-CRF

大模型时代公司接了序列标注相关的项目,乘此机会简单整理下之前所学,有不对之处还请指教,互相学习。
本系列共 5 篇,本文为总览篇,后续四篇分别深入每个算法的原理推导与完整可运行代码。


一、什么是序列标注

序列标注(Sequence Labeling)是 NLP 中最基础的结构预测任务:给定输入序列x=(x1,x2,…,xn)x = (x_1, x_2, \ldots, x_n)x=(x1,x2,,xn),为每个位置预测一个标签yiy_iyi,输出标签序列y=(y1,y2,…,yn)y = (y_1, y_2, \ldots, y_n)y=(y1,y2,,yn)

典型任务:

任务输入示例输出示例
命名实体识别(NER)张三 在 北京 工作B-PER O B-LOC O
词性标注(POS)I love NLPPRP VBP NN
中文分词我爱自然语言处理B I B I I I I I
语义角色标注(SRL)张三 打 了 李四A0 V O A1

二、标注方案:BIO / BIOES

工程中最常用BIOBIOES两种方案:

BIO 格式

  • B-{TYPE}:实体开始
  • I-{TYPE}:实体内部
  • O:非实体
张 三 是 北 京 人 B-PER I-PER O B-LOC I-LOC O

BIOES 格式(推荐)

  • B-{TYPE}:多词实体开始
  • I-{TYPE}:多词实体中间
  • O:非实体
  • E-{TYPE}:多词实体结束
  • S-{TYPE}:单词实体
张 三 是 京 城 人 B-PER E-PER O S-LOC ... O

工程建议:BIOES 对边界区分更精细,NER 任务中通常比 BIO 高 0.5~1% F1。


三、四大算法一览

序列标注 ├── 统计学习方法(可解释 · 低资源) │ ├── HMM 隐马尔可夫模型 → 详见 01_HMM.md │ └── CRF 条件随机场 → 详见 02_CRF.md └── 深度学习方法(高精度 · 端对端) ├── BiLSTM-CRF → 详见 03_BiLSTM-CRF.md └── BERT-CRF → 详见 04_BERT-CRF.md

四、横向对比

维度HMMCRFBiLSTM-CRFBERT-CRF
建模类型生成模型判别模型判别模型判别模型
特征工程无需需要人工自动学习预训练表示
训练数据量极少少~中少(微调)
推理速度极快
典型 F1(NER CoNLL-03)~70~85~90~93+
可解释性极低
适用场景资源极受限可解释/低资源无预训练条件主流生产方案
显存占用

五、技术演进路线

HMM (1990s) └─► 解决了:序列建模问题 └─► 缺陷:生成模型,特征独立性假设强 CRF (2001, Lafferty et al.) └─► 解决了:判别建模,任意特征,无独立性假设 └─► 缺陷:需要人工特征模板,特征工程成本高 BiLSTM-CRF (2016, Lample et al.) └─► 解决了:自动学习特征,端到端训练 └─► 缺陷:从零训练,需要一定标注数据量 BERT-CRF (2019, Devlin et al. + CRF) └─► 解决了:迁移学习,少量数据高精度 └─► 缺陷:推理慢,部署成本高

六、工程化选型建议

标注数据量 < 500 条? └─► 用 CRF(sklearn-crfsuite),快速验证数据可行性 有 GPU + 数据量 1k~10k? └─► 直接上 BERT-CRF(bert-base-chinese) 需要极低延迟(< 10ms)? └─► 蒸馏到 BiLSTM-CRF 或量化 BERT 需要可解释的特征权重? └─► CRF,可查看每个特征的权重系数

七、评估标准

序列标注统一使用span-level F1(而非 token-level accuracy),通过seqeval库计算:

fromseqeval.metricsimportf1_score,classification_report y_true=[['B-PER','I-PER','O','B-LOC']]y_pred=[['B-PER','I-PER','O','O']]print(f1_score(y_true,y_pred))# output: 0.6667print(classification_report(y_true,y_pred))# precision / recall / f1 / support by entity type

token-level accuracy 在 O 标签占多数时虚高,必须用 span-level F1 才能真实反映实体识别质量。


八、文档索引

文件内容
自然语言处理-序列标注算法-01本文:概念、对比、选型
自然语言处理-HMM深度解析-02HMM 完整推导 + 可运行训练代码
自然语言处理-CRF深度解析-03CRF 完整推导 + sklearn-crfsuite 完整代码
自然语言处理-BiLSTM-CRF深度解析-04BiLSTM-CRF 完整推导 + PyTorch 完整训练代码
自然语言处理-BERT-CRF深度解析-05BERT-CRF 完整推导 + HuggingFace 完整训练代码
http://www.gsyq.cn/news/1591570.html

相关文章:

  • 东莞大型工厂饭堂承包哪家优
  • 问题解决方法:win11电脑突然找不到wifi图标
  • 23-440、STM32智能PID无刷电机PWM调速正反转设计-1(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_可以扫码
  • 前端实战测评:基于调用 Gemini 3.5,完整交互页面搭建全流程
  • API到底是个啥玩意?一文讲透,小白也能看懂!
  • 国产系统怎么选?四类人群精准指南
  • AI给80/90年代的人,带来了新的机会
  • 抓包工具—tcpdump
  • 汛期河道流速险情如何监测?偶信ADCP 600K能精准捕捉分层水流数据吗?
  • 亦唐科技的人工智能与大数据融合应用
  • AI大模型下的岗位变化与求职选择
  • WPS-Zotero:跨平台科研写作的文献管理革命
  • 自动售货机经常出故障?十个常见问题一次说清~YH
  • 【IDEA安装避坑指南】:20年老司机亲授Windows/Mac/Linux三端零错误安装全流程(附官方镜像校验码)
  • 计算机毕业设计之基于ssm的失物招领系统的设计与实现
  • 除醛喷剂除甲醛的效果、使用频率与用量全解析
  • PCF80空间单细胞蛋白组与空间转录组有什么区别?为什么蛋白层面验证很关键
  • STM32-S144-4种商品+4路步进电机出货+选货支付+库存+缺货提醒+找零+声光提醒+按键+TFT彩屏+(无线方式选择)-3(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底
  • 混合与拉格朗日有限元耦合:精准求解应力集中的高效策略
  • 2026年竹篱笆片供应商怎么选?这3点最关键
  • 2026申博机构深度测评:申博有术十九连冠卫冕,7家新晋机构实测横评
  • 四维流形对合Floer不变量:对称性、Seiberg-Witten理论与应用
  • 彻底搞懂USART、UART、RS232、RS485、USB:嵌入式串口通信全家桶详解
  • 一台设备联网,其实没有你想象得那么简单
  • ByteArrayInputStream和DataInputStream的源码分析和使用方法详细分析
  • 数据驱动PDF方法:从湍流条件平均估计到概率密度函数建模
  • 网络安全零经验尝试技术手段破解邻居WIFI
  • 阿里Java面试核心讲(终极版):程序员面试必刷!
  • 如何在5分钟内完成Honey Select 2的完整汉化与去码:终极技术配置指南
  • 外包区块链开发避坑指南!这8个坑千万别踩