3.3 命名实体识别 87
3.3 命名实体识别
在人类使用语言的过程中,单词往往不是独立出现的。很多时候,多个单词会
组合成一个更大的单元来表达特定的意思。其中,最典型的代表是命名实体(Named
Entity)。通常,命名实体是指名词性的专用短语,例如公司名称、品牌名称、产品
名称等专有名词和行业术语。准确地识别出这些命名实体,是提高机器翻译质量的
关键。比如,在翻译技术文献时,往往需要对术语进行识别并进行准确翻译,因此引
入命名实体识别(Named Entity Recognition)可以帮助系统对特定术语进行更加细致
的处理。
从句法分析的角度来说,命名实体识别是一种浅层句法分析任务。它在分词的
基础上,进一步对句子浅层结构进行识别,包括词性标注、组块识别在内的很多任
务都可以被看作是浅层句法分析的内容。本节会以命名实体识别为例,对基于序列
标注的浅层句法分析方法进行介绍。
3.3.1 序列标注任务
命名实体识别是一种典型的序列标注(Sequence Labeling)任务,对于一个输入
序列,它会生成一个相同长度的输出序列。输入序列的每一个位置,都有一个与之
对应的输出,输出的内容是这个位置所对应的标签(或者类别)。比如,对于命名实
体识别,每个位置的标签可以被看作是一种命名实体“开始”和“结束”的标志,而
命名实体识别的目标就是得到这种“开始”和“结束”标注的序列。不仅如此,分
词、词性标注、组块识别等也都可以被看作是序列标注任务。
通常来说,序列标注任务中首先需要定义标注策略,即使用什么样的格式来对
序列进行标注。为了便于描述,这里假设输入序列为一个个单词
2
。常用的标注策略
有:
• BIO 格式(Beginning-inside-outside)。以命名实体识别为例,B 代表一个命名实
体的开始,I 表示一个命名实体的其它部分,O 表示一个非命名实体单元。
• BIOES 格式。与 BIO 格式相比,多出了标签 E(End)和 S(Single)。仍然以命
名实体识别为例,E 和 S 分别用于标注一个命名实体的结束位置和仅含一个单
词的命名实体。
图3.8给出了不同标注格式所对应的标注结果。可以看出文本序列中的非命名实
体直接被标注为“O”,而命名实体的标注则被分为了两部分:位置和命名实体类别,
图中的“B”、“I”、“E”等标注出了位置信息,而“CIT”和“CNT”则标注出了命
名实体类别(“CIT”表示城市,“CNT”表示国家)。可以看到,命名实体的识别结
果可以通过 BIO、BIOES 这类序列标注结果归纳出来:例如在 BIOES 格式中,标签
“B-CNT”后面的标签只会是“I-CNT”或“E-CNT”,而不会是其他的标签。同时,
2
广义上,序列标注任务并不限制输入序列的形式,比如,字符、单词、多个单词构成的词组都可以
作为序列标注的输入单元。
88 Chapter 3. 词法分析和语法分析基础 肖桐 朱靖波
在命名实体识别任务中涉及到实体边界的确定,而“BIO”或“BIOES”的标注格式
本身就暗含着边界问题:在“BIO”格式下,实体左边界只能在“B”的左侧,右边
界只能在“B”或“I”的右侧;在“BIOES”格式下,实体左边界只能在“B”或“S”
的左侧,右边界只能在“E”和“S”的右侧。
北京
/
是
/
中华
/
人民
/
共和
/
国
/
的
/
首都
B-CIT
O
B-CNT
I-CNT
I-CNT
I-CNT
O
O
(a) BIO 格式标注命名实体
北京
/
是
/
中华
/
人民
/
共和
/
国
/
的
/
首都
S-CIT
O
B-CNT
I-CNT
I-CNT
E-CNT
O
O
(b) BIOES 格式标注命名实体
图 3.8 BIO 和 BIOES 格式对比
需要注意的是,虽然图3.8中的命名实体识别以单词为基本单位进行标注,但真
实系统中也可以在字序列上进行命名实体识别,其方法与基于词序列的命名实体识
别是一样的。因此,这里仍然以基于词序列的方法为例进行介绍。
对于像命名实体识别这样的任务,早期的方法主要是基于词典和规则的方法。这
些方法依赖于人工构造的识别规则,通过字符串匹配的方式识别出文本中的命名实
体
[95, 96, 97]
。严格意义上来说,那时命名实体识别还并没有被看作是一种序列标注问题。
序列标注这个概念更多的是出现在基于统计建模的方法中。许多统计机器学
习方法都被成功应用用于命名实体识别任务,例如隐马尔可夫模型(Hidden Markov
Model,HMM)
[98]
、条件随机场(Conditional Random Fields,CRF)
[99]
、最大熵(Max-
imum Entropy,ME)模型
[100]
和支持向量机(Support Vector Machine,SVM)
[101]
等。
此外,近些年深度学习的兴起也给命名实体识别带来了新的思路
[102]
。而命名实体识
别也成为了验证机器学习方法有效性的重要任务之一。本节将对序列标注中几类基
础的方法进行介绍。其中会涉及概率图模型、统计分类模型等方法。特别是统计分
类的概念,在后续章节中也会被使用到。
3.3.2 基于特征的统计学习
基于特征的统计学习是解决序列标注的有效方法之一。这种方法中,系统研发
人员通过定义不同的特征来完成对问题的描述,之后利用统计模型完成对这些特征
的某种融合,并得到最终的预测结果。
在开始介绍序列标注模型之前,先来看一下统计学习所涉及的重要概念
——
特
征(Feature)。简单来说,特征是指能够反映事物在某方面表现或行为的一种属性,
如现实生活中小鸟的羽毛颜色、喙的形状、翼展长度等就是小鸟的特征;命名实体
识别任务中的每个词的词根、词性和上下文组合也可以被看做是识别出命名实体可
3.3 命名实体识别 89
以采用的特征。
从统计建模的角度看,特征的形式可以非常灵活。比如,可以分为连续型特征
和离散型特征,前者通常用于表示取值蕴含数值大小关系的信息,如人的身高和体
重,后者通常用于表示取值不蕴含数值大小关系的信息,如人的性别。正是由于这
种灵活性,系统开发者可以通过定义多样的特征来从多个不同的角度对目标问题进
行建模。而这种设计特征的过程也被称作特征工程(Feature Engineering)。
设计更好的特征也成为了很多机器学习方法的关键。通常有两个因素需要进行
考虑:
• 样本在这些特征上的差异度
,即特征对于样本的区分能力。比如,可以考虑优先
选择样本特征值方差较大即区分能力强的特征
3
;
• 特征与任务目标的相关性。优先选择相关性高的特征。
回到命名实体识别任务上来。对于输入的每个单词,可以将其表示为一个单词
和对应的词特征(Word Feature)的组合,记作 < w,f >。通过这样的表示,就可以将
原始的单词序列转换为词特征序列。命名实体识别中的特征可以分为两大类,一种
是单词对应各个标签的特征,另一种是标签之间组合的特征。常用的特征包括词根、
词缀、词性或者标签的固定搭配等。表3.1展示了命名实体识别任务中一些典型的特
征。
表 3.1 命名实体识别中常用的特征
特征名 示例文本 释义
LocSuffix 沈阳市 地名后缀
FourDigitYear 2020 四位数年份
OtherDigit 202020 其他数字
NamePrefix 张 三 姓名前缀
ShortName 东大 成立 120 周年 缩略词
在相当长的一段时期内,基于特征工程的方法都是自然语言处理领域的主流范
式。虽然深度学习技术的进步使得系统研发人员可以逐步摆脱繁重的特征设计工作,
但是很多传统的模型和方法在今天仍然被广泛使用。比如,在当今最先进的序列标
注模型中
[103]
,条件随机场模型仍然是一个主要部件,本节即将对其进行介绍。
3.3.3 基于概率图模型的方法
概率图模型(Probabilistic Graphical Model)是使用图表示变量及变量间概率依赖
关系的方法。在概率图模型中,可以根据可观测变量推测出未知变量的条件概率分
3
方差如果很小,意味着样本在这个特征上基本上没有差异,那么这个特征对于样本的区分并没有
什么用。
90 Chapter 3. 词法分析和语法分析基础 肖桐 朱靖波
布等信息。如果把序列标注任务中的输入序列看作观测变量,而把输出序列看作需
要预测的未知变量,那么就可以把概率图模型应用于命名实体识别等序列标注任务。
1. 隐马尔可夫模型
隐马尔可夫模型是一种经典的序列模型
[98, 104, 105]
。它在语音识别、自然语言处理
的很多领域得到了广泛的应用。隐马尔可夫模型的本质就是概率化的马尔可夫过程,
这个过程隐含着状态间转移和可见状态生成的概率。
这里用一个简单的“抛硬币”游戏来对这些概念进行说明:假设有三枚质地不
同的硬币 A、B、C,已知这三个硬币抛出正面的概率分别为 0.3、0.5、0.7,在游戏
中,游戏发起者在上述三枚硬币中选择一枚硬币上抛,每枚硬币被挑选到的概率可
能会受上次被挑选的硬币的影响,且每枚硬币正面向上的概率都各不相同。不停的
重复挑选硬币、上抛硬币的过程,会得到一串硬币的正反序列,例如:抛硬币 6 次,
得到:正正反反正反。游戏挑战者根据硬币的正反序列,猜测每次选择的究竟是哪
一枚硬币。
在上面的例子中,每次挑选并上抛硬币后得到的“正面”或“反面”即为“可见
状态”,再次挑选并上抛硬币会获得新的“可见状态”,这个过程即为“状态的转移”,
经过 6 次反复挑选上抛后得到的硬币正反序列叫做可见状态序列,由每个回合的可
见状态构成。此外,在这个游戏中还暗含着一个会对最终“可见状态序列”产生影
响的“隐含状态序列”
——
每次挑选的硬币形成的序列,例如 CBABCA。
实际上,隐马尔可夫模型在处理序列问题时的关键依据是两个至关重要的概率
关系,并且这两个概率关系也始终贯穿于“抛硬币”的游戏中。一方面,隐马尔可夫
模型用发射概率(Emission Probability)来描述隐含状态和可见状态之间存在的输出
概率(即 A、B、C 抛出正面的输出概率为 0.3、0.5、0.7),同样的,隐马尔可夫模
型还会描述系统隐含状态的转移概率(Transition Probability),在这个例子中,A 的
下一个状态是 A、B、C 的概率都是 1/3,B、C 的下一个状态是 A、B、C 的转移概
率也同样是 1/3。图3.9展示了在“抛硬币”游戏中的转移概率和发射概率,它们都可
以被看做是条件概率矩阵。
硬币 A
A
A 硬币 B
B
B 硬币 C
C
C
硬币 A
A
A
硬币 B
B
B
硬币 C
C
C
1
3
1
3
1
3
1
3
1
3
1
3
1
3
1
3
1
3
第 i + 1 次
第 i 次
转移概率 P (第 i + 1 次 | 第 i 次)
正面
反面
硬币 A
A
A
硬币 B
B
B
硬币 C
C
C
0.3
0.5
0.7
0.7
0.5
0.3
可见
隐含
发射概率 P (可见状态 | 隐含状态)
图 3.9 “抛硬币”游戏中的转移概率和发射概率
由于隐含状态序列之间存在转移概率,并且隐马尔可夫模型中隐含状态和可见
3.3 命名实体识别 91
状态之间存在着发射概率,因此根据可见状态的转移猜测隐含状态序列并非无迹可
循。图3.10描述了如何使用隐马尔可夫模型来根据“抛硬币”结果推测挑选的硬币序
列。可见,通过隐含状态之间的联系(绿色方框及它们之间的连线)可以对有序的状
态进行描述,进而得到隐含状态序列所对应的可见状态序列(红色圆圈)。
C B
A
B C
A
正 正
反 反
正
反
1
3
1
3
1
3
1
3
1
3
0.7 0.5 0.7 0.5 0.7 0.7
图示说明:
一个隐含状态
一个可见状态
从一个隐含状态到下一个隐含状态的
转换,该过程隐含着转移概率
从一个隐含状态到可见状态的输出,
该过程隐含着发射概率
图 3.10 抛硬币的隐马尔可夫模型实例
从统计建模的角度看,上述过程本质上是在描述隐含状态和可见状态出现的联
合概率。这里,用 x = (x
1
,...,x
m
) 表示可见状态序列,用 y = (y
1
,...,y
m
) 表示隐含状
态序列。(一阶)隐马尔可夫模型假设:
• 当前位置的隐含状态仅与前一个位置的隐含状态相关,即 y
i
仅与 y
i−1
相关;
• 当前位置的可见状态仅与当前位置的隐含状态相关,即 x
i
仅与 y
i
相关。
于是,联合概率 P (x,y) 可以被定义为:
P (x,y) = P (x|y)P (y)
= P (x
1
,...,x
m
|y
1
,...,y
m
)P (y
1
,...,y
m
)
=
m
Y
i=1
P (x
i
|x
1
,...,x
i−1
,y
1
,...,y
m
)
m
Y
i=1
P (y
i
|y
i−1
)
=
m
Y
i
=1
P (x
i
|y
i
)
m
Y
i
=1
P (y
i
|y
i−1
)
=
m
Y
i=1
P (x
i
|y
i
)P (y
i
|y
i−1
) (3.2)
这里,y
0
表示一个虚拟的隐含状态。这样,可以定义 P (y
1
|y
0
) ≡ P(y
1
)
4
,它表示起
始隐含状态出现的概率。隐马尔可夫模型的假设也大大化简了问题,因此可以通过
式(3.2)很容易地计算隐含状态序列和可见状态序列出现的概率。值得注意的是,发
4
数学符号 ≡ 的含义为:等价于
92 Chapter 3. 词法分析和语法分析基础 肖桐 朱靖波
射概率和转移概率都可以被看作是描述序列生成过程的“特征”。但是,这些“特征”
并不是随意定义的,而是符合问题的概率解释。而这种基于事件发生的逻辑所定义
的概率生成模型,通常可以被看作是一种生成模型(Generative Model)。
一般来说,隐马尔可夫模型中包含下面三个问题:
• 隐含状态序列的概率计算,即给定模型(转移概率和发射概率),根据可见状态
序列(抛硬币的结果)计算在该模型下得到这个结果的概率,这个问题的求解
需要用到前向后向算法(Forward-Backward Algorithm)
[105]
。
• 参数学习,即给定硬币种类(隐含状态数量),根据多个可见状态序列(抛硬币
的结果)估计模型的参数(转移概率),这个问题的求解需要用到 EM 算法
[106]
。
• 解码,即给定模型(转移概率和发射概率)和可见状态序列(抛硬币的结果),
根据可见状态序列,计算最可能出现的隐含状态序列,这个问题的求解需要
用到基于动态规划(Dynamic Programming)的方法,通常也被称作维特比算法
(Viterbi Algorithm)
[107]
。
隐马尔可夫模型处理序列标注问题的基本思路是:
• 第一步:根据可见状态序列(输入序列)和其对应的隐含状态序列(标记序列)
样本,估算模型的转移概率和发射概率;
• 第二步:对于给定的可见状态序列,预测概率最大的隐含状态序列,比如,根
据输入的词序列预测最有可能的命名实体标记序列
一种简单的办法是使用相对频次估计得到转移概率和发射概率估计值。令 x
i
表
示第 i 个位置的可见状态,y
i
表示第 i 个位置的隐含状态,P (y
i
|y
i−1
) 表示第 i−1 个
位置到第 i 个位置的状态转移概率,P ( x
i
|y
i
) 表示第 i 个位置的发射概率,于是有:
P (y
i
|y
i−1
) =
c(y
i−1
,y
i
)
c(y
i−1
)
(3.3)
P (x
i
|y
i
) =
c(x
i
,y
i
)
c(y
i
)
(3.4)
其中,c(·) 统计训练集中某种现象出现的次数。
在获得转移概率和发射概率的基础上,对于一个句子进行命名实体识别可以被
描述为:在观测序列 x(可见状态,即输入的词序列)的条件下,最大化标签序列 y
(隐含状态,即标记序列)的概率,即:
ˆy = arg max
y
P (y|x) (3.5)
根据贝叶斯定理,该概率被分解为 P (y|x) =
P (x,y)
P (x)
,其中 P (x) 是固定概率,因
3.3 命名实体识别 93
为 x 在这个过程中是确定的不变量。因此只需考虑如何求解分子,即将求条件概率
P (y|x) 的问题转化为求联合概率 P (y,x) 的问题:
ˆy = arg max
y
P (x,y) (3.6)
将式(3.2)带入式(3.6)可以得到最终计算公式,如下:
ˆy = arg max
y
m
Y
i=1
P (x
i
|y
i
)P (y
i
|y
i−1
) (3.7)
图3.11展示了基于隐马尔可夫模型的命名实体识别模型。实际上,这种描述序列
生成的过程也可以被应用于机器翻译,在第五章还将看到隐马尔可夫模型在翻译建
模中的应用。
B-CIT
O
B-CNT
I-CNT
I-CNT
I-CNT
O
O
北京
是 中华
人民
共和
国
的
首都
图 3.11 基于隐马尔可夫模型的命名实体识别
2. 条件随机场
隐马尔可夫模型有一个很强的假设:一个隐含状态出现的概率仅由上一个隐含
状态决定。这个假设也会带来一些问题,举个例子:在某个隐马尔可夫模型中,隐含
状态集合为 {A,B,C,D},可见状态集合为 {T,F },其中隐含状态 A 可能的后继隐含
状态集合为 {A,B},隐含状态 B 可能的后继隐含状态集合为 {A,B,C,D},于是有:
P (A|A) + P (A|B) = 1 (3.8)
P (A|B) + P (B|B) + P (C|B)+ P (D|B) = 1 (3.9)
其中,P (b|a) 表示由状态 a 转移到状态 b 的概率,由于式(3.8)中的分式数量少于
式(3.9),这就导致在统计中获得的 P (A|A)、P(A|B) 的值很可能会比 P (A|B)、P (B|B)、
P (C|B)、P (D|B) 要大。
图3.12展示了一个具体的例子,有一个可见状态序列 T F F T ,假设初始隐含状
态是 A,图中线上的概率值是对应的转移概率与发射概率的乘积,比如图中隐含状
态 A 开始,下一个隐含状态是 A 且可见状态是 F 的概率是 0.45,下一个隐含状态是
B 且可见状态是 F 的概率是 0.55。图中可以看出,由于有较大的值,当可见状态序
列为 T F F T 时,隐马尔可夫计算出的最有可能的隐含状态序列为 AAAA。但是如果
94 Chapter 3. 词法分析和语法分析基础 肖桐 朱靖波
对训练集进行统计可能会发现,当可见序列为 T F F T 时,对应的隐含状态是 AAAA
的概率可能是比较大的,但也可能是比较小的。这个例子中出现预测偏差的主要原
因是:由于比其他状态转移概率要大得多,隐含状态的预测一直停留在状态 A。
隐含状态 A
隐含状态 B
隐含状态 C
隐含状态 D
T F F T
时刻 1 时刻 2 时刻 3 时刻 4
可见状态序列
0.65 0.55
0.45
0.5
0.5
0.35
0.3
0.2
0.2
0.3
0.35
0.15
0.15
0.35
图 3.12 隐马尔可夫实例
上述现象也被称作标注偏置(Label Bias)。条件随机场模型在隐马尔可夫模型
的基础上,解决了这个问题
[99]
。在条件随机场模型中,以全局范围的统计归一化代
替了隐马尔可夫模型中的局部归一化。除此之外,条件随机场模型中并非使用概率
计算而是特征函数的方式对可见状态序列 x 对应的隐含状态序列 y 的概率进行计算。
条件随机场中一般有若干个特征函数,都是经过设计的、能够反映序列规律的
一些二元函数
5
,并且每个特征函数都有其对应的权重 λ。特征函数一般由两部分
组成:能够反映隐含状态序列之间转移规则的转移特征 t(y
i−1
,y
i
,x,i) 和状态特征
s(y
i
,x,i)。其中 y
i
和 y
i
−
1
分别是位置 i 和前一个位置的隐含状态,x 则是可见状态
序列。转移特征 t(y
i−1
,y
i
,x,i) 反映了两个相邻的隐含状态之间的转换关系,而状态
特征 s(y
i
,x,i) 则反映了第 i 个可见状态应该对应什么样的隐含状态,这两部分共同
组成了一个特征函数 F (y
i−1
,y
i
,x,i),即
F (y
i−1
,y
i
,x,i) = t(y
i−1
,y
i
,x,i) + s(y
i
,x,i) (3.10)
实际上,基于特征函数的方法更像是对隐含状态序列的一种打分:根据人为设
计的模板(特征函数),测试隐含状态之间的转换以及隐含状态与可见状态之间的对
应关系是否符合这种模板。在处理序列问题时,假设可见状态序列 x 的长度和待预
测隐含状态序列 y 的长度均为 m,且共设计了 k 个特征函数,则有:
P (y|x) =
1
Z(x)
exp(
m
X
i=1
k
X
j=1
λ
j
F
j
(y
i−1
,y
i
,x,i)) (3.11)
公式(3.11)中的 Z(x) 即为上面提到的实现全局统计归一化的归一化因子,其计
5
二元函数的函数值一般非 1 即 0
3.3 命名实体识别 95
算方式为:
Z(x) =
X
y
exp(
m
X
i=1
k
X
j=1
λ
j
F
j
(y
i−1
,y
i
,x,i)) (3.12)
由公式(3.12)可以看出,归一化因子的求解依赖于整个可见状态序列和每个位置
的隐含状态,因此条件随机场模型中的归一化是一种全局范围的归一化方式。图3.13为
条件随机场模型处理序列问题的示意图。
y
1
y
2
y
3
···
y
m−1
y
m
x = (x
1
,x
2
,..., x
m−1
,x
m
)
待预测的隐含状态序列
可见状态序列
图 3.13 条件随机场模型处理序列问题
虽然,式(3.11)和式(3.12)的表述相较于隐马尔可夫模型更加复杂,但是其实现有
非常高效的方式。比如,可以使用动态规划方法完成整个条件随机场模型的计算
[99]
。
条件随机场模型处理命名实体识别任务时,可见状态序列对应着文本内容,隐
含状态序列对应着待预测的标签。对于命名实体识别任务,需要单独设计若干适合
命名实体识别任务的特征函数。例如在使用 BIOES 标准标注命名实体识别任务时,
标签“B-ORG”
6
后面的标签必然是“I-ORG”或是“E-ORG”,而不可能是“O”,针
对此规则可以设计相应特征函数。
3.3.4 基于分类器的方法
基于概率图的模型将序列表示为有向图或无向图,如图3.14(a)、(b) 所示。这种方
法增加了建模的复杂度。既然要得到每个位置的类别输出,另一种更加直接的方法
是使用分类器对每个位置进行独立预测。分类器是机器学习中广泛使用的方法,它
可以根据输入自动地对类别进行预测。如图3.14(c) 所示,对于序列标注任务,分类
器把每一个位置所对应的所有特征看作是输入,而把这个位置对应的标签看作输出。
从这个角度说,隐马尔可夫模型等方法实际上也是在进行一种“分类”操作,只不过
这些方法考虑了不同位置输出(或隐含状态)之间的依赖。
值得注意的是分类模型可以被应用于序列标注之外的很多任务,在后面的章节
中还会看到,机器翻译中的很多模块也借鉴了统计分类的思想。其中使用到的基础
6
ORG 表示机构实体
96 Chapter 3. 词法分析和语法分析基础 肖桐 朱靖波
数学模型和特征定义形式,与这里提到的分类器本质上是一样的。
待预测标签序列
观测序列
(a) HMM 处理序列标注
待预测标签序列
观测序列
(b) CRF 处理序列标注
分类器
待预测标签序列
观测序列
(c) 分类模型处理序列标注
图 3.14 HMM、CRF、分类算法三种方法对比
1. 分类任务与分类器
无论在日常生活中还是在研究工作中,都会遇到各种各样的分类问题,例如挑
选西瓜时需要区分“好瓜”和“坏瓜”、编辑看到一篇新闻稿件时要对稿件进行分门
别类。事实上,在机器学习中,对“分类任务”的定义会更宽泛而并不拘泥于“类
别”的概念,在对样本进行预测时,只要预测标签集合是有限的且预测标签是离散
的,就可认定其为分类任务。
具体来说,分类任务目标是训练一个可以根据输入数据预测离散标签的分类器
(Classifier),也可称为分类模型。在有监督的分类任务中
7
,训练数据集合通常由形
似 (x
[i]
,y
[i]
) 的带标注数据构成,x
[i]
= (x
[i]
1
,..., x
[i]
k
) 作为分类器的输入数据(通常被
称作一个训练样本),其中 x
[i]
j
表示样本 x
[i]
的第 j 个特征;y
[i]
作为输入数据对应的
标签(Label),反映了输入数据对应的“类别”。若标签集合大小为 n,则分类任务
的本质是通过对训练数据集合的学习,建立一个从 k 维样本空间到 n 维标签空间的
映射关系。更确切地说,分类任务的最终目标是学习一个条件概率分布 P (y|x),这
样对于输入 x 可以找到概率最大的 y 作为分类结果输出。
与概率图模型一样,分类模型中也依赖特征定义。其定义形式与3.3.2节的描述
一致,这里不再赘述。分类任务一般根据类别数量分为二分类任务和多分类任务,二
分类任务是最经典的分类任务,只需要对输出进行非零即一的预测。多分类任务则
可以有多种处理手段,比如,可以将其“拆解”为多个二分类任务求解,或者直接让
模型输出多个类别中的一个。在命名实体识别中,往往会使用多类别分类模型。比
如,在 BIO 标注下,有三个类别(B、I 和 O)。一般来说,类别数量越大分类的难度
也越大。比如,BIOES 标注包含 5 个类别,因此使用同样的分类器,它要比 BIO 标
注下的分类问题难度大。此外,更多的类别有助于准确的刻画目标问题。因此在实
践中需要在类别数量和分类难度之间找到一种平衡。
7
与之相对应的,还有无监督、半监督分类任务,不过这些内容不是本书讨论的重点。读者可以参看
参考文献
[32, 33]
对相关概念进行了解。
3.3 命名实体识别 97
在机器翻译和语言建模中也会遇到类似的问题,比如,生成单词的过程可以被
看做是一个分类问题,类别数量就是词表的大小。显然,词表越大可以覆盖更多的
单词和更多种类的单词形态变化,但是过大的词表里会包含很多低频词,其计算复
杂度会显著增加。然而,过小的词表又无法包含足够多的单词。因此,在设计这类系
统的时候对词表大小的选择(类别数量的选择)是十分重要的,往往要通过大量的
实验得到最优的设置。
2. 经典的分类模型
经过多年的发展,研究者提出了很多分类模型。由于篇幅所限,本书无法一一
列举这些模型,这里仅列出了部分经典的模型。关于分类模型更全面的介绍可以参
考相关文献
[33, 108]
。
• K-近邻分类算法 。K-近邻分类算法通过计算不同特征值之间的距离进行分类,
这种方法适用于可以提取到数值型特征
8
的分类问题。该方法的基本思想为:将
提取到的特征分别作为坐标轴,建立一个 k 维坐标系(对应特征数量为 k 的情
况),此时每个样本都将成为该 k 维空间的一个点,将未知样本与已知类别样
本的空间距离作为分类依据进行分类,比如,考虑与输入样本最近的 K 个样
本的类别进行分类。
• 支持向量机。支持向量机是一种二分类模型,其思想是通过线性超平面将不同输
入划分为正例和负例,并使线性超平面与不同输入的距离都达到最大。与 K-近
邻分类算法类似,支持向量机也适用于可以提取到数值型特征的分类问题。
• 最大熵模型。最大熵模型是根据最大熵原理提出的一种分类模型,其基本思想
是:以在训练数据集中学习到的经验知识作为一种“约束”,并在符合约束的
前提下,在若干合理的条件概率分布中选择“使条件熵最大”的模型。
• 决策树分类算法。决策树分类算法是一种基于实例的归纳学习方法:将样本中
某些决定性特征作为决策树的节点,根据特征表现进行对样本划分,最终根节
点到每个叶子节点均形成一条分类的路径规则。这种分类方法适用于可以提取
到离散型特征
9
的分类问题。
• 朴素贝叶斯分类算法。朴素贝叶斯算法是以贝叶斯定理为基础并且假设特征之
间相互独立的方法,以特征之间相互独立作为前提假设,学习从输入到输出的
联合概率分布,并以后验概率最大的输出作为最终类别。
8
即可以用数值大小对某方面特征进行衡量。
9
即特征值是离散的。