摘 要:中文分词是自然语言处理处理的基础,有着极其广泛的实际应用。可以说,在各类中文信息处理软件(系统)中,中文分词是不可或缺的环节。自上个世纪末,由于互联网在中国的兴起,更对中文信息处理提出要求,即在语义层面上处理中文,这使得中文分词算法的研究显得更加困难,中文分词技术的发展显得更为重要。
关键词:中文分词;自然语言处理;算法
1.引言
伴随着计算机的日益普及,互联网的迅猛发展,文本的数量(电子邮件、新闻、网页、科技论文等)在不停的增长,因而对文本作智能化处理以获取所需信息的需求日益迫切。在这样的社会需求下,自然语言处理技术的地位和作用日益重要。经过几十年的研究,计算机处理自然语言的理论基础日趋成熟,应用范围也越来越广,初步形成了面向各种不同应用和研究的技术体系。分词作为自然语言处理的第一个步骤,是其他高层应用的基础,起着极其重要的作用。
2.分句处理
2.1 分句处理技术简介
分句处理就是把句子以某些特定的标点符号为分隔划分为若干个句子。根据汉语对语句、句群和篇章的定义,主要以基本的标点符号:句号、问号、感叹号、分号、逗号等作为子句的分隔符。通过使用这些标点符号对语言进行计算机子句分割,完成分句处理。
2.2分句算法的设计
在进行分词之前首先应对句子进行分割,分为以句子为单位的一个个语句片段。因为以逗号、分号来分隔的语句通常能表达完整的语义信息,所以本文主要使用逗号、分号等标点符号也作为子句分句的分隔符号,以它们为标志进行语句的分句处理。
分句处理的具体算法设计如下:
① 判断答案字符串aString是否为空,若为空则结束;
② 取aString左侧的一个字符存入tChar中,判断tChar是否是句末标点符或回车符,若不是,转⑤;
③ 若tChar是句末标点符号,则子句数组下标加1,并将字符tChar从字符串aString中删掉,转①;
④ 若tChar为回车符或者换行符,去掉aString左侧两字符,并将字符tChar从字符串aString中删掉,转①。
⑤ 将tChar合并到子句数组当前元素中,去掉aString左侧一字符,转①。
上述算法中,aString为待处理的字符串,tChar为字符类型变量。
3.分词处理
3.1 中文分词技术简介
中文分词(Chinese Word Segmentation)指的是将一个汉字序列切分成一个一个单独的词。中文分词是文本挖掘的基础,对于输入的一段中文,成功的进行中文分词,可以达到电脑自动识别语句含义的效果。中文分词技术属于自然语言理解的研究范畴。
目前主要有三种中文词算法,分别为基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。介绍如下:
1) 基于字符串匹配的分词算法
基于字符串匹配的分词方法也叫机械匹配法,是分词技术的诸多理论算法中较简单实用的一种分词算法。它是按照一定的策略将待分析的汉字串与一个"充分大的"机器词典中的词条进行区配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。常用的几种机械分词方法如下:① 正向最大匹配法(由左到右的方向)② 逆向最大匹配法(由右到左的方向)③ 最少切分(使每一句中切出的词数最小)还可以将上述各种方法相互组合。
2) 基于统计的分词方法
在很多情况下,最大匹配时即使采用双向扫描也不能检查出所有的交集型切分歧义。为了消除歧义,我们还需要其他知识。这也是自然语言处理里,统计方法出现的原因。这种方法只需对语料中的字组频度进行统计,不需要切分词典,因而又叫做无词典分词法或统计取词方法。从形式上看,词是稳定的字的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。因此字与字相邻共现的频率或概率能够较好的反映成词的可信度。可以对语料中相邻共现的各个字的组合的频度进行统计,计算它们的互现信息。互现信息体现了汉字之间结合关系的紧密程度。当紧密程度高于某一个阈值时,便可认为此字组可能构成了一个词。
3) 基于理解的分词方法
通常的分析系统,都力图在分词阶段消除所有歧义切分现象。而基于理解的分词方式则在后续过程中来处理歧义切分问题,其切分过程只是整个语言理解过程的一小部分。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。
目前无法作出结论证明以上三个算法中哪一个是最好的,针对具体问题采用不同的算法。这三种算法都有自己的利弊,它们的对比见表1所示:
分词方法 | 基于字符串匹配分词 | 基于统计的分词 | 基于理解的分词 |
歧义识别 | 差 | 强 | 强 |
新词识别 | 差 | 强 | 强 |
需要词典 | 需要 | 不需要 | 不需要 |
需要语料库 | 否 | 是 | 否 |
需要规则库 | 否 | 否 | 是 |
算法复杂性 | 容易 | 一般 | 很难 |
技术成熟度 | 成熟 | 成熟 | 不成熟 |
实施难度 | 容易 | 一般 | 很难 |
分词准确性 | 一般 | 较准 | 准确 |
分词速度 | 快 | 一般 | 慢 |