基于两字词簇的汉语快速自动分词算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设 A 为汉语中所有多音节词的集合。 在 A 中引入一种关系/ ~ 0: X~ Y 当且仅当 X 与 Y 的头两个汉字相同。例如, / 研究0~ / 研究生0~ / 研究员0。
3 54
情报学报
17 卷
这种关系显然有以下性质: ( 1) 对于任意的 X I A, 有 X~ X; ( 2) 对于任意的 X, Y I A, 若 X~ Y, 则 Y~ X; ( 3) 对于任意的 X, Y, Z I A, 若 X~ Y, Y~ Z, 则 X~ Z。 即上述关系是 A 元素之间的一种等价关系。因此, 可以利用它来把 A 进行分类。 设集合 T = { < x, y> | x, y 为汉字} , 称 T 为两字词根集。 对于任意 t I T , 令 D t= { X: X I A, X 的头两个汉字为 t }
研究 74 员 生 室 所 生会 生院 解决 12 分词词典是一个文本文件, 其词条形式如上。将它读入内存后, 建立起如下数据结构:
h ead1
head2
head3
head4 ,
T1
T1
NU L L
T1
N U LL
T2
NU LL
N UL L 图 1 词簇的内存映像
5期
基于两 字词簇的汉语快速自动分词算法
5期
基于两 字词簇的汉语快速自动分词算法
35 3
越来越多的是大规模语料( 如 Internet 信息搜索引擎, 各种全文检索系统等) , 因此分词的速度
和分词算法的易实现性变得相当关键。在多种分 词算法中, 正向最大匹 配分词算法( Max-i mum M at ching, 简称 MM 算法) 简洁、易于实现, 在实际工程中应用最为广泛。但是, 它是长词 优先的机械匹配算法, 存在着以下不足: ¹ 速度慢。设分词词典的词条数为 N, 最大匹配词长 为 M , 在词典的词条没有进行排序和索引的极端情形下, 为了识别出一个两字词须平均进行 ( M- 2) N+ N/ 2 次扫描匹配。当词条数目 N 比较大的时候, 速度慢得难以忍受。 º难以设定 最大匹配词长 M。M 较大时, 该算法的时间复杂度明显提高( 见表 1) 。为提高速度而降低 M 又将使算法不能识别汉字数目大于 M 的词, 导致切分精度降低。M 取多大才合适, 学术界一 直有争论[ 1] , 也是实际应用中难以处理的问题之一。 »最大匹配分词方法不能发现交叉切分 歧义。解决这个问题的一般方法是再进行一次逆向最大匹配( Reverse Maximum M at ching) 分 词, 两者结合起来发现交叉歧义。但是这样做, 算法的时间复杂度至少是 MM 算法的两倍。
可以证明, 对于任意取定的头两个汉字为 t 的 X I A, Dt= { Y: Y I A, Y~ X}
因而, 若令 A / D= { Dt: t I T } 则 A/ D 是由所有等价类构成的集合。 我们称 t 为多音节词的两字词根, 简称词根, 称集合 Dt 为以 t 为词根的词簇。 例如, 词根 t 为/ 研究0时, 词簇 Dt= { 研究, 研究员, 研究生, 研究室, 研究所, 研究生会, 研 究生院, , ,} 当| Dt | = n 时, D t 总可以写成 n 维向量的形式: Dt = ( d1, d2, ,, dn) , di 表示 Dt 中的第 i 个 词, i= 1, 2, ,, n。当| Dt | \1 时, 可以把它里面的元素进行某种排序, 如按词的长度升序排序。 设| di| 为 di 的词长( 以汉字数目计) 。定义 Cm l 为词簇内最长的词汇长度, 即: Cml= max ( | di| ) , di I Dt , 1 [ i [ n。 注意: 词簇的词根 t 不一定是一个汉语词, 在这种情况下, 它不会出现在 Dt 中。 我们的分词算法所依据的分词词典是由一个通用汉语词典经处理后产生, 由单音节词和 两字词簇两部分构成。由通用词典生成两字词簇的算法比较简单, 此略。 两字词簇的词条形式如下: t| Dt | CmL T 1 T 2 ,T n ( n \0) 其中, t 为词根, T i( 0 [ i [ n) 是 di 去掉词根 t 后所剩的汉字。在| Dt | 为 1 时, 词条不存在 T i。 以下是两个词条的例子:
令 K= Cm l do 如果字串< ap+ 2 ap+ 3 ,ap+ k- 1 > 在词簇内, 即 < ap ap+ 1 ,ap+ k- 1 > 是一汉语多音节 词, 转到( 6) K= K- 1 unt il K= 2 ( 6) 把新分出的词 W 加上分隔符, 顺序放入缓冲区, 等待歧义处理。 ( 7) 令 p= ( p+ 词 W 的长度) , 转( 1) 。
Keywords natural languag e processing , Chinese wo rds automat ic seg menting, segmenting ambigu-
ous ness.
1 问题的提出
自动分词是汉语自然语言处理的第一步。目前, 汉语自然语言处理的应用系统处理对象
35 5
可见, 该分词词典有一条主链表, 其结点为词簇结点 headi, 每个词簇结点 headi 又分别引 出一子条链表。词簇结点主要有词根、词簇的最大词长等信息, 子链表的结点 T i 即为 Dt 的元 素。
词簇结点 headi 的结构如下:
st ruct t w o_word_head{
char head[ 3] / / 词根
/ / 词内容
T ail * next ;
/ / 下一 di
}
3 算法描述与分析
311 分词算法
分词时, 从句子流中读入两个汉字, 扫描词簇结点链表, 把这两个汉字与词根进行匹配, 称 为主扫描。如果匹配成功, 则根据词簇结点的信息, 再顺序从句子中读入( cml- 2) 个汉字, 在 词簇内进行变长最大匹配, 称为从扫描。算法描述如下:
计规 律, 提出了两字词根和两字 词簇的概 念。算法 把三音 节以上的 词用两 字词簇 来压缩 处理, 也 就是把长词的扫描范围限定在词汇量 很小的词 簇内, 从而 不仅提 高了分词 速度, 而且 彻底解 决了 传统 最大匹配分词算法中最大匹配词长的设定问题。另外, 本文还提出 了用两字 词簇快速检 测交 叉歧义的算法。本文的分词算法简洁、速度快、易于实现。
2 两字词根与词簇
本文提出了一种分词算法, 它是 M M 算法的一种改进。该算法除了保留了 M M 算法的简 洁和易于工程实现的优点之外, 还显著地提高了分词速度, 彻底消除了设置 M 的难题, 并可用 它快速发现交叉歧义现象。
汉语的词频统计表明[ 1, 5] , 在汉语中, 两字词大约占 75% 左右。一些分词算法注意到了这 个统计规律, 试图利用它来提高分词的速度和效果。如张普, 张光汉[ 6] 提出的算法是单字词和 多字词优先, 其余的一律以两字词处理。姚天顺[ 5] 提出了 2 ) 3 ) 1 优先分词规则, 优先处理两 字词。我们的算法也利用了词频统计结果, 不仅优先处理两字词, 而且把三音节以上的长词归 化到二字词簇里处理, 从而将传统的 M M 算法全局最大匹配化为局部变长最大匹配。这种改 进显著地提高了分词速度。这里, 先提出两字词根和词簇的概念:
int cl;
/ / 词簇的词条个数
int cml;
/ / 词簇内最大词长
T ail * t ail;
/ / 指向 T n 指针
t wo_word_head * next ; / / 指向下一词簇结点的指针
};
T ail 结构表征 di, i= 1, 2, ,, n。
st ruct T ail{
char * cБайду номын сангаас;
Yang Li
( CECE Cent er , N or ther n Ji aotong U niv ersit y, Beij i ng 100044)
Abstract A fast algorithm for Chinese wor ds automatic seg ment is put for ward in this paper. A
正确率
951 2% ( 无歧义校正) 991 0% ( 有歧义校正)
9512% ( M = 7)
971 6% ( M = 7)
注: 1) 实验语料来自5 人民日报6, 共 5484 字。实验是在奔腾 166 微机上进行的。 2) 歧义校正算法参考了文献[ 7] 的思想, 具体算法略。
现在已经出现了一些最大匹配分词算法的改进算法[ 2) 4] 试图解决这些问题, 但是完美地 解决上述所有问题的算法尚未出现, 并且一些改进算法比较复杂, 失去了最大匹配分词算法简 单清晰、易于工程实现的优点。
关键词 自然语言处理 分词算法 切分歧义
A Fast Algorithm for Chinese Words Automatic Segment Based on Two-letters-word- family Structure
Guo Xiang hao and Zhong Yix in
( AI L ab, Beij i ng U niv ersity of Post and Telecommu nicati on , Beij i ng 100876)
设句子 S= a1a2 ,apap+ 1 ,an, 设当前分词指针 p 指向汉字 ap。 ( 1) 把 apap+ 1读入进行考察。 ( 2) 执行主扫描。搜索分词词典, 如果找到以 apap+ 1为词根的词簇结点, 转( 4) 。 ( 3) 否则, ap 为单音节词, 转( 6) 。 ( 4) 如果词簇结点中 Cml= 2, 则为两字词, 转( 6) 。 ( 5) 执行从扫描, 具体过程如下:
第 17 卷 第 5 期 1998 年 10 月
情报学报
Vol. 17, N o, 5 October, 1998
信息处理
基于两字词簇的汉语快速自动分词算法
郭祥昊 钟义信
( 北京邮电大学人工智能实验室, 北京 100876)
杨丽
( 北方交通大学, 北京 100044)
摘要 本文 提出了一种快速汉语自动分词算法。其主要思想是利用汉语中两字词占 75% 的统
structure called / tw o- letters- word- family0 which is the collection of all the Chinese w ords that share t he same beginning two letters is intro duced. T he key idea of the algo rithm is to compress the words w hich consist of more than thr ee Chinese letters into two- letters- wor d- family and handle together using length changing max imum matching algorithm. I n addition to this, a new method to detect segment ing ambiguousness is also introduced.
表 1 分词实验结果
两字词根法
正向 MM 法
逆向 M M 法
词典词条数
32 21 0
42 44 9
4 24 49
实际词汇数
42 44 9
42 44 9
4 24 49


( 秒)
11 27( 无歧义校正) 21 55( 有歧义校正)
131 76 ( M = 6) 181 21 ( M = 7)
131 24 ( M = 6) 171 67 ( M = 7)
收稿日期: 1998 年 1 月 12 日 作者简 介: 郭祥昊, 1970 年生, 博士研 究生, 主要 研究 领域为 人工 智能、自然 语言 处理。钟 义信, 1940 年 生, 教授, 博士 生导师, 主 要研究领 域为信 息科学 理论、通信 理论、人工智 能与人 工神经 网络。杨丽, 1971 年 生, 硕士研究生, 研究方向为智能电子系统。
相关文档
最新文档