《Speech and Language Processing》读书笔记——词性标注(pos-tagging)\HMM模型原理

本文是《Speech and Language Processing》的读书笔记,重点讨论词性标注和HMM模型在其中的应用。介绍了词性的分类、标注集以及词性标注的方法,特别是基于HMM的词性标注算法,包括HMM模型的基本概念、适用问题、模型参数计算以及维特比算法的解码过程。
摘要由CSDN通过智能技术生成

词性标注与HMM模型原理

1.摘要

本章主要介绍了:

  • 英语中的词性分类、标注集
  • 词性标注的意义及方法(基于规则、基于HMM、基于规则转换)
  • 词性标注的评估和误差分析
  • 关于词性标注的一些前沿话题(多标注词性和合成词的分割问题,未登录词的识别与标注,不同语言的词性标注,多算法合成的词性标注)

2.词性分类

在英语中,从另一个角度可将词性分为两大类:封闭类、开放类

  • 封闭类:即该类词中不会再有新的词加入进去了,比如“介词、连词、冠词、数词”
  • 开放类:即该类词中可能还会有新的词加入,比如“名词、动词、形容词、副词”。例如:“天秀”、“蒂花之秀”、“造化钟神秀”、emmmm

3.标注集

要想做词性标注肯定得有一个标注好的词库作为参考,一个标注集的好坏直接影响文本最终的词性标注好坏。下面列出几个常用的标注集:

  1. 英语:
    Brown corpus: 87 tags
    Penn Treebank: 45 tags
    Lancaster UCREL C5(used for the BNC): 61 tags
    Lancaster C7: 146 tags
  2. 中文:
    PENN:33 tags
    北大:39 tags

4.词性标注的方法

在进行词性标注之前得先进行分词处理,去掉符号。
标注算法输入:词序列、标注集。
标注算法输出:每一个单词后对应的最佳词性标注
但是由于词语在不同的上下文环境中,其词性是不同的,所以得进行消歧处理。而这也是词性标注算法要解决的最大问题,下面就引出这三个词性标注算法。

4.1基于规则的词性标注算法

现在基于规则的词性标注普遍上都是采用“语法限制”的方法来进行词性选择——EngCG Tagger。它通过两个阶段来实现:

  1. 先将文本中的单词按照标注集生成每一个可能的词性标注,有可能存在一个词对应多个词性的情况,下面就要对这些多标注词进行筛选,选出最佳词性。
  2. 通过上下文和语法规则来消除一些不符规则的词性

我们通过上面的步骤可发现,这里存在一个问题,就是上下文的语法规则要怎么来确定,早期都是通过相关领域的语言学专家进行规则的制定,然而随着语料库规模的逐步增大,以人工提取规则的方式显然是不现实的,于是在这基础之上又提出了基于规则转换的词性标注算法(就是基于机器学习的规则自动提取方法)。

4.2基于规则转换的词性标注算法

其具体处理过程如下图所示(图像来源 https://www.jianshu.com/p/cceb592ceda7):

4.3基于HMM的词性标注算法

4.3.1 隐马尔可夫模型的基本概念

隐马尔可夫模型是一种时序概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由序列中的各个状态生成一个观测结果。这样一个产生观测随机序列的过程即为马尔可夫链。隐藏的马尔可夫链随机生成的状态的序列,称为状态序列(state sequence);每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列(observation sequence)。序列的每一个位置又可以看作是一个时刻。
形式化表示如下HMM(Q,V,A,B,π):

  • 所有可能的隐藏状态集合 Q = { q 1 . . . q n } Q=\{q_1...q_n\} Q={ q1...qn},n为可能的状态数
  • 所有可能的观测状态集合 V = { v 1 . . . v m } V=\{v_1...v_m\} V={ v1...vm},m为可能的观测数
  • 初始隐藏状态概率向量 π = { π i = p ( q i ) } \pi=\{\pi_i = p(q_i)\} π={ πi=p(qi)},即初始时刻(t=1),每一个隐藏状态的出现概率
  • 隐藏状态转移概率矩阵 A = [ a i j ] n × n A =[a_{ij}]_{n\times n} A=[aij]n×n,其中 a i j a_{ij} aij表示在当前时刻状态 q i q_i qi转移到下一时刻状态 q j q_j qj的概率: a i j = p ( t + 1 = q j t = q i ) a_{ij}=p(\frac{t+1=q_j}{t=q_i}) aij=p(t=qit+1=qj)
  • 观测概率矩阵 B = [ b j k ] n × m B =[b_{jk}]_{n\times m} B=[bjk]n×m,其中 b j k b_{jk} bjk表示在当前时刻状态 q j q_j qj的条件下产生观测状态 v k v_k vk的概率: b j k = p ( v k q j ) b_{jk}=p(\frac{v_k}{q_j}) bjk=p(qjvk)

其中π、A决定了下一时刻的隐藏状态,B决定了该时刻该隐藏状态产生的观测状态。

我们从上面的表述可看出,为了简化模型的复杂度,HMM模型做了两个假设:

  • 齐次马尔可夫性假设,即假设隐藏的马尔可夫链在任意时刻t的隐藏状态只依赖于其前一时刻的隐藏状态,与其他时刻的隐藏状态及观测状态无关,也与时刻t无关
  • 观测独立性假设,即假设任意时刻的观测只依赖于该时刻的马尔可夫链的状态,与其他观测及状态无关。
4.3.2 什么问题适合HMM模型

使用HMM模型时我们的问题一般有这两个特征:

  • 我们的问题是基于序列的,比如时间序列,或者状态序列。
  • 我们的问题中有两类数据,一类序列数据是可以观测到的,即观测序列;而另一类数据是不能观察到的,即隐藏状态序列,简称状态序列。

由此,根据HMM模型,我们可引出如下3个方面的问题:

  1. 评估观察序列概率。即给定模型λ=(A,B,π)和观测序列 O = o 1 , o 2 , . . . , o T O={o_1,o_2,...,o_T} O=o1,o2,...,oT,计算在模型λ下观测序列O出现的概率P(O|λ)。这个问题的求解需要用到前向后向算法,这个问题是HMM模型三个问题中最简单的。
  2. 模型参数学习问题。即给定观测序列 O = o 1 , o 2 , . . . , o T O={o_1,o_2,...,o_T} O=o1,o2,...,oT,估计模型λ=(A,B,π)的参数,使该模型下观测序列的条件概率P(O|λ)最大。这个问题的求解需要用到基于EM算法鲍姆-韦尔奇算法,这个问题是HMM模型三个问题中最复杂的。
  3. 预测问题,也称为解码问题。即给定模型λ=(A,B,π)和观测序列 O = o 1 , o 2 , . . . , o T O={o_1,o_2,...,o_T} O=o1,o2,...,oT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值