李宏毅笔记:序列标注(ST4)详解:HMM与CRF在命名实体识别中的应用

0 下载量 196 浏览量 更新于2024-08-28 收藏 1.09MB PDF 举报
在本篇学习笔记中,我们将探讨Sequence Labeling,一种在自然语言处理(NLP)中常见的任务,它涉及到对输入序列(如句子)中的每个元素分配一个预定义的标签或类别。Sequence Labeling的主要应用包括命名实体识别(如识别人名、地名和组织名),例如在句子"Harry Potter is a student of Hogwarts and lived on Privet Drive"中,这个任务就是确定哪些词属于哪一类实体。 核心概念包括: 1. **定义**:虽然最初假设输入和输出序列长度相等(设为L),但实际情况下可能更复杂。RNN(循环神经网络)可以处理这类任务,但它并不是唯一的方法,结构化学习方法(如隐马尔可夫模型HMM和条件随机场CRF)也有所应用。 2. **隐马尔可夫模型(HMM)**:HMM是一种统计模型,通过观察序列数据来预测下一个状态。分为两步,第一步是建模状态转移概率(HMM – Step 1)和观测概率(HMM – Step 2)。HMM的数学表达涉及概率链规则和前向-后向算法(Viterbi Algorithm),用于估计参数和找出最可能的标签路径。 3. **条件随机场(CRF)**:CRF是一种无向图模型,通过特征向量(Feature Vector)捕捉单词之间的依赖关系。训练时采用似然最大化准则(CRF – Training Criterion),并使用Viterbi算法进行推断。与HMM相比,CRF通常能更好地处理复杂的结构化输出。 4. **性能比较**:Structured Perceptron和Structured SVM(支持向量机)是两种常见的结构化学习算法,它们在Sequence Labeling任务中的性能会有所不同,需要根据具体场景进行选择和优化。 5. **中文命名实体抽取挑战**:对于中文文本,由于字符和词语的多音字问题,例如“楊公再興之神”和“馮氏埋香之塚”,命名实体识别更加复杂,需要考虑上下文信息和更细致的特征工程。 通过这个学习笔记,读者可以深入理解Sequence Labeling的基础原理、常见算法(如HMM和CRF)及其在实际任务中的应用,以及如何处理不同语言的特点,为NLP实践提供有力工具。