一、背景
由于针对于OOV的问题,在最初的全切分阶段已经不可能进入词网,无召回可谈,那如何辨别新词汇呢?
只要将每个汉字组词时所处的位置(首尾等)作为标签,则中文分词就转化为给定汉字序列找出标签序列问题。
字构词就是序列标注模型的一种应用,序列标注模型中最基础的一种就是隐马尔可夫模型。
二、序列标注
1. 序列标注
是指给定一个序列x(x1,x2,x3...),找出序列中每个元素对应标签y(y1,y2,y3...)的问题。其中,y称为标注集。
中文分词就可以转化为标注集为{切,过}的序列标注问题。
举例说明: 今天我打篮球了。 序列标注为 过切切切过切切
2. 词性标注
词性标注任务是一个天然的序列标注问题,x是单词序列,y是词性序列。
3. 命名实体识别
命名实体是指现实存在的实体,如人名、地名等。它是OOV的主要组成部分。
命名实体识别可以复用BMES标注集(B表示开头,E表示非开头,再额外加两个tag是为了提高F1值,由于2tag的模型过于简单,6tag的模型更加复杂,数据集多还可以,但是数据集少就不能获取完整的信息;故一般采用4tag来建模),构成地名的单词标注为"B/M/E/S-地名",对于不构成命名实体的单词,统一标注为O(outside)。
三、隐马尔可夫模型
该模型是描述两个时序序列联合分布p(x,y)的概率模型,x序列外界可见,称为观测序列;y序列外界不可见,称为状态序列。
该模型的三元组:初始状态概率向量、状态转移概率矩阵、发射概率矩阵
三个基本用法:样本生成、模型训练、序列预测。
四、总结
隐马尔可夫模型用于中文分词的效果并不理想,综合F1低于词典分词,升级至二阶隐马尔可夫模型,依然无法提升F1的值。需要更高级的模型来支撑,马尔可夫模型只适合入门级,简单易懂。