隐马尔可夫模型(HMM)是将分词作为字在字串中的序列标注任务来实现的。其基本思路是:每个字在构造一个特定的词语时都占据着一个确定的构词位置,现规定每个字最多只有四个构词位置:即B(词首)、M(词中)、E(词尾)和S(单独成词),那么下面句子(1)的分词结果就可以直接表示成如(2)所示的逐字标注形式:
(1)中文/分词/是/文本处理/不可或缺/的/一步!
(2)中/B文/E分/B词/E是/S文/B本/M处/M理/E不/B可/M或/M缺/E的/S一/B步/E!/S
用数学抽象表示如下:用代表输入的句子,n为句子长度,
表示字,
代表输出的标签,那么理想的输出即为:
在分词任务上,o即为B、M、E、S这四种标记,为诸如“中”“文”等句子中的每个字,包括标点等非中文字符。
需要注意的是,是关于2n个变量的条件概率,且n不固定。因此,几乎无法对
进行精确计算。这里引入观测独立性假设,即每个字的输出仅仅与当前字有关,于是就能得到下式:
事实上,的计算要容易得多。通过观测独立性假设,目标问题得到极大简化。然而该方法完全没有考虑上下文,且会出现不合理的情况。比如按照之前设定的B、M、E和S标记,正常来说B后面只能是M或者E,然而基于观测独立性假设,我们很可能得到诸如BBB、BEM等的输出,显然是不合理的。
HMM就是用来解决该问题的一种方法。在上面的公式中,我们一直期望求解的是,通过贝叶斯公式能够得到:
为给定的输入,因此