中文分词算法概述

来源:互联网 发布:sql 字段累加 编辑:程序博客网 时间:2024/06/06 01:02

中文分词

词是最小的有意义的语言成分,对一段文字进行切分称作分词。英文单词之间以空格作为自然分界符,而中文以字为基本的书写单位,词语之间没有明显的区分标记。把中文的汉字序列切分成有意义的词,就是中文分词。中文分词是中文信息处理的基础与关键。

中文分词算法

中文分词技术属于自然语言处理技术范畴,对于一句话,人可以通过自己的知识来明白哪些是词,哪些不是词,但如何让计算机也能理解?其处理过程就是分词算法。中文分词算法主要分为3类:

(1) 基于字典、词库分词(字符串匹配,机械分词方法)
将待分析的汉字串与一个“充分大”的机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功,识别出一个词。根据扫描方向的不同分为正向匹配和逆向匹配;根据不同长度优先匹配的情况,分为最大(最长)匹配和最小(最短)匹配;根据与词性标注过程是否相结合,又可以分为单纯分词方法和分词与词类标注相结合的一体化方法。
这类方法简单、分词效率较高,但字典中未收录的词识别率低。汉语语言现象复杂丰富,词典的完备性、规则的一致性等问题使其难以适应开放的大规模文本的分词处理。
实际应用中,将机械分词作为初分手段,利用语言信息提高切分准确率。优先识别具有明显特征的词,以这些词为断点,将原字符串分为较小字符串再机械匹配,以减少匹配错误率;或将分词与词类标注结合。

(2) 基于统计分词(无字典分词)
基于字和词的统计信息,如把相邻字间的信息、词频及相应的共现信息等应用于分词,相邻的字同时出现的次数越多,越有可能构成一个词语。
对语料中的字组频度进行统计,不需要切词字典,但错误率很高。
可以考虑:使用基本词典进行关键词分词,使用统计方法识别新词组,两者结合。

(3) 基于知识理解分词(基于语义)
该方法主要基于句法、语法分析,并结合语义分析,通过对上下文内容所提供信息的分析对词进行定界,它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断。
这类方法试图让机器具有人类的理解能力,需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式。

常用中文分词引擎

目前常见的中文分词引擎有:庖丁解牛、IKAnalyzer、盘古分词等。

参考资料

[1] http://www.cnblogs.com/flish/archive/2011/08/08/2131031.html
[2] http://blog.csdn.net/yezi2413/article/details/3151783
[3] http://www.cnblogs.com/lvpei/archive/2010/08/04/1792409.html
[4] https://ruby-china.org/topics/28000

原创粉丝点击