基于有向图的中文分词算法, 该算法首先构造中文分词有向图,然后计算中文分词有向图)所有可能的切分路径,最后利用了最少分词原则、汉字之间的互信 息和词语的频率等信息给中文分词有向图)的每条切分路径打分,分数最高的路径就对应正确的切分结果。
中文分词是中文信息处理中的重要环节。它在中文搜索引擎、机器翻译、智能检索中有着相当重要的地位,也是智能计 算、文献标引、自然语言理解和处理的基础。文中提出了一种基 于有向图的中文分词算法,该算法首先构造中文分词有向图, 然后计算中文分词有向图中所有可能的切分路径,最后利用了 最少分词原则、汉字之间的互信息和词语的频率等信息给中文 分词有向图中的每条切分路径打分,分数最高的路径就对应正 确的切分结果。
1关键技术
1.1中文分词有向图
设待切分的中文字串S=C1,$2,…,Cn,其中Ci(i=1,2,…, n)为单个的字,11为串的长度,n!1。建立一个结点数为n+1的 切分有向无环图',各结点编号依次为(0,(1,(2,…,(n。
通过下列两种方法建立G的所有可能的词边。
- 相邻结点()-1,()之间建立有向边<()-1, ()>,边的长度
值为L),边对应的词默认为C)()(1,2,…,n);
- 若,=CCl$是一个词,则结点K_1,(-之间建立有向 边<(i_1,(>,边的长度值为L,,边对应的词为w(0<i<j"n)。
这样,待切分的中文字串S中包含的所有词与切分有向无环图G中的边一一对应,把该切分有向无环图G称为中文字 串的中文分词有向图。例如、发展中国家”的中文分词有向图 如图1所示。
最少分词原则
中文字 分词后 的词数 少 于 字 的理 解,这称为最少分词原则。
1.3汉字之间的互信息
互信息(mutual information):对有序汉字串01,汉字%,y 之间的互信息
/(0:y)=lb p0,1)、
其中p(0,i)是0,1的邻接同现概率,p(0),p(、y)分别代表0,1 的独立概率。
互信息 了汉字 之间 的 度 (1)/(0:1)>>0,则p(o,i)»p(0)p(i),此时 0,1 之间具有
可信的结合关系,并且/G: 5)值越大0结合程度越强8
(2) /(4:y)!。,则 p !,5)!p(4)p !),此时 4,5 之间的结 合关系不明确;
(3) /(4:5)<<0,则 p9,5)<<p9)p 9),此时 4,5 之间基本 没有结合关系,并且1(4:5)值越小,结合程度越弱。
比如:字符串“重点工程”中相邻汉字对之间的互信息如图 2所示。
图2 “重点工程”相邻汉字对之间的互信息
可以看到:!重:点)=5.9>>0,说明汉字“重”、“点”之间结 合程度较强;9工:程)=6.3>>0,说明汉字“工”、“程”之间结合 程度也较强;而9点:工)=1.7!。,说明汉字“点”、“工”之间结 合关系不明确。显然,可以利用汉字对之间的互信息来比较分 词有向图各切分路径的概率大小。具体做法如下:每条切分路 径是由许多个结点来连接起来的,以结点为中心,可以计算结 点左右两边的两个汉字对之间的互信息,互信息越大,说明这 两个汉字对之间结合程度越强,被切分开的概率就越小,从而 切分路径的概率就越小。
1.4切分路径的选择
每一条切分路径对应中文字串的一种切分形式。切分路径 的选择就是计算每一条切分路径的权重,权重最高的路径就对 应中文字串的正确切分结果。那么,路径的权重和哪些因素有 关呢?经过分析发现:
(1)对中文字串分词后得到的词数越少越易于对该字串的 理解,这称为最少分词原则。
假设切分路径的边条数为8,那么边的条数对应中文字串 分词以后的词的个数,即分词后得到的词的个数为8,权重计
式如下:
显然,词的个数越少,对该字串越易于理解,权重越大。
(2)根据中文字串中的汉字与汉字之间的互信息,汉字之 间的互信息体现了汉字之间联系的紧密程度,两个汉字之间的 互信息越大,这两个字被分开的可能性就越小。
假设:与结点i相邻的两个汉字分别为LeftC 9)和 RightC(i),可以计算切分有向图中和每个结点相邻的两个汉字 的互信息:
P(LeJjC(i)RightC(i))
P(LeftC(i))xP(RightC(i))
每条切分路径的互信息 :
Mutuallnfo=— ",I(LeftC(i) :RightC(i))
n i,i
其中n为切分路径中结点的个数。
显然,Mutualinfo反映了切分路径的各个断点之间结合的 紧密程度。Mutualinfo值越大,说明各个断点之间结合程度越 强,该路径成为正确切分路径的概率就越小。所以,定义切分路 径的互信息权重如下:
Powe rOfMutuallnfo=
Mutualinfo
93) 切分之 的词 的 度,如 切分之 词 语的使用频度越高,说明该词语被切分成词串的概率就越高。 假设:切分后每个词语的词频为freq(Ht),那么可以定义 切分路径的词频权重如下:
PowerOfFreq=\ )
l为切分之后的词语个数。
最 , 可以 种 对切分路径的 不 ,
义整个切分路径的权重计算公式如下:
PowerOfPath=axPowe rOfNu8> er+/3xPowerOfMutualinfo+ yxPowerOfFreq
其中a、"、#分别为调整因子,它们反映了每种情况对句子权重 的影响程度。并且满足:a+0+#=1。
2算法描述
的基 有向图的中 分词 法, 中 分词的 度, 法的 程 如下:
(1) 断句,按标点符号/空格等,生成若干个中文文本字串。
(2) 对每一个中文文本字串,做:
①构造中文文本字串的分词有向图;②计算有向图中所有 的切分路径;③对每条切分路径,根据1.4节中的方法计算每 条切分路径的权重;④选择权重最大的切分路径对应的切分形 式为正确的分词结果。
举“重点工程”这个句子切分为例,句子的中文分词有向图 如图3所示。
当然,分词系统也可以根据侧重点不同,动态地调整a、"、 $这三个参数,以适应于不同的应用场合。
图3 “重点工程”的中文分词有向图
互信息 词 重 , 较最 分词 则重 , 那么上面的式子中的a、"、#可分为取0.2、0.4、0.4。根据上面的 中文分词有向图可以计算出所有的切分路径。
路径1:重/点/工/程
路径2:重点/工/程
路径3:重点/工程
路径4:重/点/工程
大中 系 所 的汉 词 , 词
有108 783条词项,主要是根据1981年人民日报语料库统计 所得,较有实用性。假设语料库的词条总数为CORPUS_N,通过 查询词库,可知路径中各个词的词频分别为:
freq(重)=952/CORPUS_N
freq(重点)=2683/CORPUS_N
freq(点)=1789/CORPUS_N
freq(工)=121/CORPUS_N
freq(工程)=4146/CORPUS_N
freq(程)=15/CORPUS_N
取a=0.2、、3=0.4、#=0.4,切分路径的权重计算如下:
路径1:
PowerOfPath=0.05+0.053 666 698 4+0.003 702 626 2=
0.107 369 324 693 700 45
路径2:
PowerOfPath=0.066 666 666 7+0.088 432 736 9+
0.004 511 362 8=0.159 610 766 382 648 96
路径3:
Power0fPath=0.1+0.100 282 810 6+0.185 405 510 1 =
0.385 688 320 669 448 7
4:
Power0fPath=0.066 666 666 7+0.088 432 736 9+
0.124 889 773 9=0.279 989 177 473 124 3
经过比较,显然路径3的权重明显大于其余3条路径的权 重,所以选择路径3。句子的正确切分结果为:重点/工程。
当然,分词系统也可以根据侧重点不同,动态地调整a、"、 $这三个参数,以适应于不同的应用场合。