浅谈中文分词技术
Posted IDEADATA大数据视界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈中文分词技术相关的知识,希望对你有一定的参考价值。
一个中文文本从形式上看是由汉字(包括标点符号等)组成的一个字符串。由字可组成词,由词可组成句子,进而由一些句子组成段、节、章、篇。可见,如果需要处理一篇中文语料,从中正确的识别出词是一件非常基础而重要的工作。
1、中文分词概述
显而易见,中文以字为基本书写单位,词语之间没有明显的区分标记。中文分词就是由机器在词与词之间加上标记进行区分。例如:
输入: 我是学生。
输出: 我/是/学生/。
1.1 中文分词的关键问题
中文分词的关键问题为:切分歧义消解和未登录词识别
1.2 歧义切分定义
歧义切分的表示可以由下示例:
输入待切分句子:提高人民生活水平
可以切分输出 :提高/人民/生活/水平
或者切分输出:提/高人/民生/活水/平
明显第二个输出为歧义切分
1.3未登录词定义
常见的未登录词有实体名词、专有名词与新词
实体名词包括有:
中国人名:李素丽 老张 李四 王二麻子
中国地名:定福庄 白沟 三义庙 韩村 河马甸
翻译人名:乔治•布什 叶利钦 包法利夫人 酒井法子
翻译地名:阿尔卑斯山 新奥尔良 约克郡
机构名 :方正公司 联想集团 国际卫生组织 外贸部
商标字号:非常可乐 乐凯 波导 杉杉 同仁堂
专业术语和新词语
专业术语:万维网 主机板 模态 逻辑 贝叶斯算法
缩略语 :三个代表 五讲四美 打假 扫黄打非 计生办
新词语 :卡拉OK 波波族 美刀 港刀
未登录词没有明确边界,缺少英语中的分隔符、大小写、词的形态、冠词等语法信息,识别比较困难。
因此通常每一类未登录词都要构造专门的识别算法。
2、分词主要技术方法
2.1 基于词典的分词
词典中一般存储着:词、词频、词性等信息,可以通过统计标注好的熟语料和常用词典得到。
基于词典分词方法首先需要对句子进行原子切分,即找出句子中可能蕴含组成的所有词,然后构成词图。还是之前例子,输入:
提高人民生活水平
输出所有包括的词:
提 —提高
高 —高人
人 —人民
民 —民生
生—生活
活—活水
水 —水平
平
则可以构成词图如下:
上述工作主要重点是词典存储于并快速匹配,多采用双数组Tie树的方法生成词典树,用自动机匹配词串。
2.2词典分词的歧义消解问题
歧义消解可以转换为对于上述在词图上寻找统计意义上的最佳路径。常用一元、二元模型进行。
基于一元模型进行评价:
统计词表中每个词的词频,并将其转化为路径代价C=-log(f/N)切分路径的代价为路径上所有词的代价之和寻求代价最小的路径。上述例子就是根据词典中<提高><高人><人民><民生><生活><活水><水平><平>这几个词的词频f,认为词频越高的路径代价越小,找出最短的路径。
基于二元模型进行评价:
相对于一元模型,二元模型还需要一个词转移统计词典,例如记录了<提高>衔接<人民>的次数,词转移统计词典实质上是一个稀疏矩阵。基于二元模型进行评价需要在一元模型的基础上增加转移路径代价。词典中转移次数多的衔接认为该衔接转移路径代价小。计算方法可以用Viterbi算法。
2.3词典分词的未登陆词问题
简单来说,可以将未登陆词的识别转换成序列标注问题即打标签,然后用HMM或其它统计学习方法求解。例如中国人名识别可以表示为(姓+名)的形式,例如对于一个人名:金三胖 可以正确标注序列为:金/姓 三胖/名,则人名可以识别出来。具体可参见张华平相关论文《基于层叠隐马尔可夫模型的中文命名实体识别》、《基于角色标注的中国人名自动识别研究》、《基于角色标注的中文机构名识别》。
2.4基于字的分词
基于字的分词可以平衡的看待词表词和未登录词的识别问题。
汉语中词都是有字组成的,可以将分词视为字的序列标注问题。例如对于“占”这个字可以有以下词位标注:
词首B 占领
词尾E 抢占
词中M 独占鳌头
单字词S 已占全国
基于字的分词实现很简单,例如对于句子
上海/计划/到/本/世纪/末/实现/人均/国内/生产/总值/五千美元/。
可以有如下词位序列标注:
上/B海/E计/B划/E到/S本/S世/B纪/E末/S实/B现/E人/B均/E国/B内/E生/B产/E总/B值/E五/B千/M美/M元/E。/S
根据标注BMES实现了分词。
转换成序列标注问题后常用算法有HMM (隐马模型)、MEMM(最大熵隐马模型)、CRF等。下面简单比较一下:
隐马模型一个最大的缺点就是由于其输出独立性假设,导致其不能考虑上下文的特征,限制了特征的选择。
最大熵隐马模型则解决了隐马的问题,可以任意选择特征,但由于其在每一节点都要进行归一化,所以只能找到局部的最优值,同时也带来了标记偏见的问题,即凡是训练语料中未出现的情况全都忽略掉。
条件随机场则很好的解决了这一问题,他并不在每一个节点进行归一化,而是所有特征进行全局归一化,因此可以求得全局的最优值。
2.5 主要分词技术评价
基于词典的分词优点:
速度快,效率高,易修改,灵活性强。
基于词典的分词缺点:
主要依赖词典和规则库,对于歧义词和未登录词的识别能力较低。
基于字的分词的优点:
对于歧义词和未登录词的识别能力较好。
基于字的分词的缺点:
(1)模型体积大占内存。例如一个可供生产环境用的CRF模型至少使用前中后3个字符的组合做特征模板,在一两百兆的语料上训练,模型体积至少上百兆。
(2)速度慢。相较于基于词语的BiGram分词器,一个拖速度的地方是特征函数的查询次数多、速度慢,另一个弱点则是概率图的节点更多(4倍文本长度个节点,4是BMES标签的个数)。
(3)不易修改。有时候用户对分词结果不满意,却无法方便地修正它。包括CRF在内的其他模型都需要重新训练,或者修改代码。而基于词语的NGram词典和词频词典可以轻松修改。
关于IDEADATA
IDEADATA专注于从数据到信息的有效管理与应用,是领先的商业信息服务技术提供商,是数据仓库及大数据技术和应用的先行实践者。
公司官网:www.ideadata.com.cn
新浪微博:iDEADATA大数据视界
微信关注
长按指纹或扫描下面的二维码可以直接添加:
以上是关于浅谈中文分词技术的主要内容,如果未能解决你的问题,请参考以下文章