一种分词处理方法及设备的制作方法

文档序号:6573990阅读:125来源:国知局
专利名称:一种分词处理方法及设备的制作方法
技术领域
本发明涉及信息处理领域,特别涉及一种分词处理方法及设备。
背景技术
随着信息技术的发展,信息处理设备对信息的处理能力越来越强,可以满 足处理需要"理解能力"的需求,比如信息识别、纠错、分词处理等。"词"是 表达语意的最小单位,分词技术如何能让计算机识别简单的"词"以便信息处 理的需要,其在信息检索、信息纠错、自动翻译等方面有着广泛的用途。在英
语中,词和词之间是以空格为自然分隔符的;但在汉语或其他语言中,词和词 之间没有明显的分隔,比如"我是一个学生,,可以分词为"我/是/一个/学生", 这是基于我们对语言语义的理解基础上作出的判断,那么信息处理设备(比如 计算机,以下以计算机为例)在如何能进行分词操作?目前现有技术的分词方 法包括基于词表的分词方法,即依据一个词库,采用"长词优先"原则进行分 词,即对于一个需要分词的语句T,先从第一个字A开始,找出在词库中第一 个字最长的词X;然后把该语句T删除词X,对剩下的所有词构成的语句T,进 行采用上述切分方式进行类似的切分。比如对语句"中国人民共和国",在词 库中"中国,,是一个词,"中国人,,是一个词、"中国人民"也是一个词的话, 则以最长的"中国人民"作为一个词,最终将语句切分成"中国人民/共和国"。 使用这种分词方法会引发一些切分错误因为在语义表达中,切分出来的长词 并不是我们期望的分词结果,正如上面对语句"中国人民共和国"的分词处理 结果。

发明内容
本发明实施例提供一种分词处理方法及设备,用以解决目前分词处理结果
准确率不高的问题。
本发明实施例提供的分词处理方法包括 接收待分词的语句;
切分所述语句并获得所述语句的所有分词方式;
分别计算所述的所有分词方式中每种分词方式的语句权值,比较每种分 词方式的语句权值,从所述的所有分词方式中确定所述语句的分词结果。
本发明实施例提供一种分词处理设备,包括
接收单元用于接收待分词的语句;
切分单元用于切分所述语句并获得所述接收单元接收的语句的所有分 词方式;
结果确定单元用于所述的所有分词方式中每种分词方式的语句权值, 比较每种分词方式的语句权值,从所述的所有分词方式中确定所述语句的分 词结果。
本发明有益效果如下通过对各种分词方式进行量化比较,从而进一步 确定最终分词结果,相比基于词表的分词方法获得的分词结果提高了准确率, 提高分词处理设备的处理效率。


图1是本发明实施例的方法流程示意图2是本发明实施例创建FChain、 LChain的流程示意图3是本发明实施例语言模型分析的流程示意图4是本发明实施例确定最终分词结果的流程示意图5是本发明实施例分词处理设备的结构示意图。
具体实施例方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图 对本发明作进一步地详细描述。
本发明实施例的核心在于,结合使用基于词表的分词方法和基于统计的 分词方法获得更优的中文分词策略,获得分词结果。如下为本发明相关技术
术语的描述
1、 词库 一个数据库或数据表,存储了需要使用的所有词的集合,相 当于汉语中的词典;
2、 字是语言定义的最小表达单位,用于和其他字组合构成可表达语 言的词,字也可以单独成词,相当于汉语的汉字;
3、 语言模型用来训练分词的基础文件,可以是单个文件,也可以多 个文件组合;内容可以是一般文章、小说、报纸新闻等;
4、 词指在词库中对应的词组,是字或字的组合(其中字是语言定义的 最小表达单位,用于和其他字组合构成可表达语言的词,字也可以单独成词, 相当于汉语的"字,,),相当于汉语意义上的词,本发明的词不限于汉语, 可以是其他语言(比如日语)甚至是为了其他需要自定义语言的词;
5、 语句是词或者词的组合,本发明所指语句可以是真实的语句,也 可以是没有具体语言含义的的词的组合;
6、 词首链表FChain:指以某一个字开头的所有词构成的链表,比如"中" 的词首链表为中国-> 中华-> 中间-> 中国人-> 中奖-> 中意-> 中暑;
7、 词尾链表LChain:指以某一个字结束的所有词构成的链表,比如"家" 的词首链表为大家->专家->科学家->数学家;
8、 异构词链表IChain:指的是分词后,上一个词的词尾和下一个词的 词首组成的组合,比如"解决技术问题"经过分词后得到如下分词结果解
决/技术/问题,则"决技"、"术问"就构成了异构词,"决技->术问"构成
的链表即为异构词链表;需要补充说明的是, 一个词可能既是词,又是异构
词,比如"国人",在分词结果"中国/人"中是异构词,而在"中/国人"
中则是词;
9、 词频Freq(A):词或者异构词出现的频率;
10、 权值词或者异构词对应的权值可以是根据词频以及其他统计项计 算出来数值,表示该词或者异构词出现的可能性大小,指示一组词和短语中 的每个词和短语的重要程度。比如可以设定词在词首链表中的权值为M(A), 在词尾链表中的权值为N(A),在异构词链表中的权值为MM(A);
11、 权值因子权值因子在建立分词方案的时候确定,每个链表都有自 己的权值,比如可以设定词首链表的权值因子为F(A),词尾链表的权值因子 为L(A),异构次首链表的权值因子为FF(A),异构词尾链表的权值因子为 IX(A);
12、 语句权值是用于表征分词结果对应的具体数值,根据语句对应的
算的结果S,可以是各个链表的权值与权值因子乘积的总和S,也可以是根 据具体的语言和分词策略等确定其他的语句权值计算方式。不同的分词方式, 相应S的值会不同,比如对于"深圳大学城",如果分词结果是(深圳/大学/ 城),则语句权值为
S(深圳/大学/城)=M(深圳"F(A) + M(大学"F(A)十]V[(城"F(A) + 1^(深圳)*!^(八)+ N(大学"L(A) +NQA)*L(A) + MM(圳大"FF(A) + MM(学城"FF(A) 如果分词结果是(深圳/大学城),则语句权值为
S(深圳/大学城)=M(深圳"F(A) + M(大学城"F(A)
+ N(深圳)承L(A)十N(大学城"L(A)
+ MM(圳大"FF(A)
从上可知,S(深圳/大学城)计算的方法和S(深圳/大学/城)不一样,在 最后的统计中,根据需要可以取语句权值S最大对应的分词结果作为最终分 词结果。需要说明的是, 一般在分词有歧义的时候才通过计算最大的语句权 值S来推导最终分词结果。比如,如果"圳大"在词库中没有即其不是一个 词,则分词结果"深/圳大/学城"不成立,也就可以不计算其语句权值。
本发明实施例的方法可以在分词处理设备上完成,分词处理设备可以是 个人计算机,手机,个人数字助理等数字设备,也可以是一个软件或者硬件 实现的独立功能模块,当然该独立功能模块可以存在于具体的数字设备中。
具体如图1所示,为本发明实施例的流程示意图,该实施例用于对一 语句进行分词处理
Stepl:根据词库创建词首链表FChain和词尾链表LChain,并初始化每 个词的词频Freq(A),该步骤的具体方法如图2所示(需要说明的是,并不是 每次分词操作都要执行该步骤,该步骤是根据词库初始化FChain、 LChain、 每个词的词频Freq(A), 一旦创建了就可以供后续分词操作直接使用这些已经 初始化好);
Step2:基于全切分规则,从语言模型中统计分出每个可行的词,修改 FChain和LChain中的词频,生成IChain,并初始化IChain中各词的词频。
在该步骤中,通过对语言模型进行处理,修改FChain和LChain中的词 频,生成IChain,并初始化IChain中各词的词频,用来训练分词,可以使得 后续使用FChain、 LChain、 IChain获得的分词结果更准确,也可以通过选择 不同的语言模型进行分词,从而使得对语句进行分词处理更有针对性,通过 语言模型的训练,使得本发明实施例的分词方案能进行"智能学习"。
Step3:分词处理设备对语句进行分析,获得语句对应的所有分词方式, 并计算每种分词方式对应的语句权值S,以权值最高的分词结果作为最终分 词结果。
该Step3是对语句进行分词处理的具体方法。其中语句对应的所有分词 方式可以通过图4对应的方法获得,也可以通过其他的方式获得(比如基于 统计的分词方法);确定最后的分词结果,可以以权值最高的分词结果作为 最终分词结果,也可以根据分词结果选择策略和语句权值计算方法的不同, 根据语句权值确定所有分词方式中的一个作为分词结果。在分词处理设备对 语句进行分析,获得语句对应的所有分词方式,并计算每种分词方式对应的 语句权值S后,分词处理设备比较每种分词方式的语句权值,并通过分词结 果选择策略确定分词结果语句权值,根据该分词结果语句权值确定语句的分 词结果(即该分词结果语句权值对应的分词方式即为分词结果)。这里的分 词结果选择策略可以是选择语句权值最小或语句权值最大或对语句权值进行 进一步数学运算再选择相应语句权值的分词方式作为分词结果。分词结果选 择策略用于根据语句权值从所有分词方式中确定其中的一种分词方式作为分 词结果,是分词处理设备根据语言的特性确定的,比如对于汉语的日常用于 分词,分词结果选择策略可以是选择语句权值最大的分词方式分词结果。从 上面的分析可以得知,对于一个特定的词语,其分词结果选择策略是确定的, 而各种分词方式可以通过Step2确定,因此最后可以选择出确定的分词方式 作为分词结果。采用这种分词方法,由于对各种分词方式进行了量化处理, 并结合分词结果选择策略进行分词结果的选择,可以提高分词结果的准确性。
在上面的方法中,通过对各种分词方式进行量化比较,从而进一步确定 最终分词结果,相比基于词表的分词方法获得的分词结果提高了准确率。
如图2所示,为本发明实施例创建FChain、 LChain及初始化Freq(A)的 流程示意图。创建FChain、 LChain及初始化Freq(A)之前,需要先确定使用
的词库,以便按一定顺序依次扫描词库获取词库中的所有词,然后根据各词
构建FChain、 LChain。
步骤200:开始创建FChain、 LChain及初始化Freq(A);
步骤201:按一定顺序依次扫描词库,确定是否还有下一次未处理的词, 如果是,则转至步骤202,否则转至步骤203;
步骤202:获取需处理的词,取得该词词首,遍历目前已有的词首链表, 如果存在该词词首的词首链表FChain-C,则将该词加入该词词首的词首链表 FChain-C,并记录该词的词频Freq(A);如果不存在该词词首的词首链表,则 建立该词词首的词首链表并记录该词的词频Freq(A);
步骤203:流程结束。
如图3所示,是语言模型分析的流程示意图,具体描述如下
步骤300:开始语言模型分析,创建异构词链表(可以通过初始化一空 的链表实现);
步骤301:判断语言模型中是否有需要分析的下一个字,如果有则转至 步骤302,否则转至步骤307;
步骤302:获取当前需要分析的字A(即步骤301中所述的下一个字), 及A之后的第一个字Bi、第二个字B2......第N个字BN(N可以为可设置的
常量,比如一般词的最大长度是4,则N可以取值为4);
步骤303:设置变量m二l;
步骤304:判断ABiB2.....Bm是一个完整的词(可以通过查询词库作出 判断),如果是,则转至步骤305,否则转至步骤306;
步骤305:修正链表FChain、 LChain中该词的词频(可以是将原有相应 词的词频加1,也可以根据实际需要选择其他的运算规则),并将上一个词 的词——字Bm,与A构成的异构词Bm,A在异构词《连表IChain中的词频;转
至步骤301;
步骤306:将m的值加l,判断m是否大于N,如果是,则至步骤301, 否则转至步骤304;
步骤307:语言模型分析流程结束
一个语句T将会被切分为多个词,同时可能有多种切分方法。假如将语 句T切分为S (a/b.…/n),其中
a、 b...n分别为词库中的一个词;a的词尾对应的字与b的词首对应的 字构成的词为异构词ul、 b的词尾对应的字与c的词首对应的字构成的词为 异构词u2,以此类推得到异构词u3.......
切分为S (a,/b,...../n,),其中
a, 、 b,.. .n,分别为词库中的 一个词;a,的词尾对应的字与b,的词首对应的 字构成的词为异构词ul'、b'的词尾对应的字与c'的词首对应的字构成的词为 异构词u2,,以此类推得到异构词u3,.......
则语句T对应的两种分词结果对应的语句权值可以通过如下计算方法获 得,如下所示
S(a/b..../n)= M(a)承F(A) + M(b)承F(A) +.....+M(n)*F(A)
+ N(a)*L(A)+ N(b)承L(A) +.....+N(n)*L(A)
+ MM(ul)*FF(A) +MM(u2)*FF(A)+....
S(a7b,...../m,)= M(a,)*F(A) + M(b,)*F(A) ++M(m,)*F(A)
+N(a,)*L(A)+ N(b,)*L(A) +.....+N(m,)*L(A)
+ MM(ul,)*FF(A) +MM(u2,)*FF(A)+....
如果还有其他的分词结果,也进行类似的计算,可以根据S值最高的分 词结果作为语句T的分词结果。
如图4所示,是确定最终分词结果的流程示意图。图中所示方法以语句 为单位,深度遍历并计算获得每种分词结果的语句权值,以权值最高的分词
结果作为最终分词结果,具体描述如下
步骤400:判断语句T中的字数是否为0,如果是转至步骤404,否则转 至步骤401;
步骤401:取语句T的第一个字即首字A;
步骤402:在FChain链表中查询以字A为首的所有词即首词a,并将语 句T除去词a后其他所有字组成的语句即语句T的截首词句设置为T,,实现 了将T到(a/T,)的切分;
在对语句T中进行切分的过程中,可能存在多种记录匹配成功的分词方 式,设有为r (A)种切分方式(如果r<0则说明语句语法有问题或FChain 链表中收录的词汇不够,可以进行特殊处理,比如提示用户错误信息,以便 用户决定扩大词汇或检查语法错误等),比如"中国人民共和国",以"中,, 字开头的词有"中国"、"中国人"两种,则r(中"2;
步骤403:遍历步骤402中的r ( A)种分词方式中的每一种,执行如下 操作设置T-T,,返回至步骤400 (即对语句T,也进行进一步分词处理,相 当于递归处理);
步骤404:通过上面的步骤,可以得到语句T所有的分词方式,并对各 种分词方式计算其语句权值,取语句权值最高的分词方式作为本语句分词结 果,也可以根据实际需要设定分词结果选择策略,根据各分词结果对应的语 句权值和分词结果选择策略从各种分词方式中取特定的语言权值的分词方式 作为本语句的分词结果(比如语言权值最低等)。
需要说明的是
(1 )上面给出的本发明相关技术术语的描述是为了描述的方便,如词、
字、语句、语言模型、词库等是在诸如汉语等实际语言中的概念上总结的, 上面给出的仅仅是这些概念的解释描述,不用于限定这些概念仅仅表达成所
描述的字面含义;另外,本发明中计算语句权值的方法是使用了各链表(词 首链表、词尾链表、异构词链表)及相应的权值因子进行计算,在实际实现 过程中,可以根据实际需要只使用其中的一种或两种链表进行计算,比如只 使用词首链表和词尾链表用于计算语句权值,此时在具体实现的过程中(图 3所示的流程处理种)可以不使用异构词链表了。上述具体实施例是同时使 用了上面所述的3种链表,作为示例进行详细描述;
(2)本发明将上述各链表(词首链表、词尾链表、异构词链表)及其 组合组成的用于进行分词处理过程中记录分词过程并用于计算语句权值的链 表统称为分词过程链表,语句权值通过分词过程链表计算获得。分词过程链 表在具体实现的过程中可以采用链表、数组等各种方式实现。
为了实现本发明上述实施例的分词方法,本发明还需要提供一种分词处 理设备,该分词处理设备可以包括
接收单元用于接收待分词的语句;
切分单元用于切分获得接收单元接收的语句的所有分词方式;
结果确定单元用于计算切分单元获得所有分词方式中每种分词方式的 语句权值,比较每种分词方式的语句权值从所有分词方式中确定语句的分词 结果。
切分单元对将语句T切分为多个词,可以有多种切分方法。假如将语句 T切分为S (a/b…./n),其中
a、 b...n分别为词库中的一个词;a的词尾对应的字与b的词首对应的 字构成的词为异构词ul、 b的词尾对应的字与c的词首对应的字构成的词为 异构词u2,以此类推得到异构词u3.......切分为S (a,/b,...../n,),其中
a'、 b'...n'分别为词库中的一个词;a'的词尾对应的字与b'的词首对应的 字构成的词为异构词ul'、b'的词尾对应的字与c'的词首对应的字构成的词为 异构词u2,,以此类推得到异构词u3,.......
切分单元通过对语句T进行切分获得语句T的多种切分方式后,由结果 确定单元计算语句权值并根据该语句权值从上面的所有分词方式中确定该语 句的分词结果。以上面的例子为例,则语句T对应的两种分词结果对应的语 句权值可以通过如下计算方法获得,如下所示
S(a/b..../n)= M(a)*F(A) + M(b)承F(A) +.....+M(n)*F(A) + N(a)*L(A)+ N(b)承L(A) +.....+N(n)*L(A) + MM(ul)*FF(A) +MM(u2)*FF(A)+.... S(a7b,...../m,)= M(a,)*F(A) + M(b,)*F(A) +.....+M(m,)*F(A) +N(a,)*L(A)+ N(b,)*L(A) +.....+N(m,)*L(A) + MM(ul,)*FF(A) +MM(u2,)*FF(A)+....
如果还有其他的分词结果,也进行类似的计算,可以根据S值最高的分 词结果作为语句T的分词结果。确定最后的分词结果,可以以权值最高的分 词结果作为最终分词结果,也可以根据策略和语句权值计算方法的不同,根 据语句权值确定所有分词方式中的 一个作为分词结果。这里的分词结果选择 策略可以是选择语句权值最小或语句权值最大或对语句权值进行进一步数学 运算再选择相应语句权值的分词方式作为分词结果。
其中的结果确定单元可以包括
策略设置单元用于预先设置分词结果选择策略;
选择单元用于比较每种分词方式的语句权值,并通过分词结果选择策 略确定分词结果语句权值,根据该分词结果语句权值确定语句的分词结果。
这里的分词结果选择策略可以是选择语句权值最小或语句权值最大或 对语句权值进行进一 步数学运算再选择相应语句权值的分词方式作为分词结 果。分词结果选择策略可以预先设置在分词处理设备中。另外,分词处理设备还可以包括初始化单元用于根据词库初始化获得分词过程链表;分词训练单元用于通过语言模型对分词过程链表进行修改。初始化单元初始化获得分词过程链表的方法如图2所示。创建FChain、 LChain及初始化Freq(A)之前,需要先确定使用的词库,以便按一定顺序依 次扫描词库获取词库中的所有词,然后根据各词构建FChain、 LChain,具体 如下:开始创建FChain、 LChain及初始化Freq(A);然后按一定顺序依次扫描 词库,确定是否还有下一次未处理的词,如果是,则获取需处理的词,取得 该词词首,遍历目前已有的词首链表,如果存在该词词首的词首链表 FChain-C,则将该词加入该词词首的词首链表FChain-C,并记录该词的词频 Freq(A);如果不存在该词词首的词首4连表,则建立该词词首的词首链表并记 录该词的词频Freq(A)。本发明实施例提供的分词处理设备中,分词训练单元可以通过语言模型 对分词过程链表进行修改,具体描述如下开始语言模型分析,创建异构词链表(可以通过初始化一空的链表实 现);判断语言模型中是否有需要分析的下一个字,如果有则继续分析,否 则分词训练流程结束;分词训练单元获取当前需要分析的字A(即步骤301中所述的下一个字),及A之后的第一个字Bi、第二个字B2......第N个字BN(N可以为可设置的常量,比如一般词的最大长度是4,则N可以取值为4);并设置变量m=l;分词训练单元判断A Bi B2.....Bm是一个完整的词(可以通过查询词库 作出判断),如果是,则修正链表FChain、 LChain中该词的词频(可以是将 原有相应词的词频加1,也可以根据实际需要选择其他的运算规则),并将 上一个词的词——字Bm,与A构成的异构词Bm'A在异构词链表IChain中的 词频,否则将m加l,重新判断判断AB1B2.....Bm是一个完整的词。具体的 流程参见图3所示。在该分词处理设备中,通过对各种分词方式进行量化比较,从而进一步 确定最终分词结果,提高了分词结果准确率;分词训练单元通过语言模型对 分词过程链表进行处理,修改分词过程链表用来训练分词,可以使得后续使 用分词过程链表获得的分词结果更准确,也可以通过选择不同的语言模型进 行分词,从而使得对语句进行分词处理更有针对性,通过语言模型的训练, 使得本发明实施例的分词方案能进行"智能学习"。从而提高了分词处理设 备的的性能、处理效率。本发明实施例提供的方法和设备还可以作为计算机进程,计算机系统或 者作为诸如计算机程序产品或计算机可读媒介之类的生产物品而得以实现。 计算机程序产品可以计算机系统可笃定且能够编码指令的计算机程序用于执 行计算机进程的计算机存储媒介。计算机产品还可以是计算机系统可读得并 且编码指令地算机程序用于执行计算机进程的产品。虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和 描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各 种改变,而不偏离本发明的精神和范围。
权利要求
1.一种分词处理方法,其特征在于,所述方法包括接收待分词的语句;切分所述语句并获得所述语句的所有分词方式;分别计算所述的所有分词方式中每种分词方式的语句权值,比较每种分词方式的语句权值,从所述的所有分词方式中确定所述语句的分词结果。
2. 如权利要求1所述的方法,其特征在于,切分所述语句并获得所述 语句的所有分词方式包括获取所述语句的首字;根据词表确定所述语句中以所述首字为首的首词;切分获得所述语句的截首词句的所有分词方式,根据所述首词和所述截 首词句的所有分词方式获得所述语句的所有分词方式。
3. 如权利要求1所述的方法,其特征在于,所述计算每种分词方式对 应的语句权值的方法是获取给定分词方式中各词在分词过程链表中的权值;利用所述权值和所述分词过程链表的权值因子进行数学运算获得所述 给定分词方式的语句权值。
4. 如权利要求3所述的方法,其特征在于,所述分词过程链表根据词 库初始化获得,并通过语言模型进行修改。
5. 如权利要求3或4所述的方法,其特征在于,所述分词过程链表包 括如下之一或其组合词首链表或词尾《连表或异构词4连表。
6. 如权利要求1所述的方法,其特征在于,根据所述语句权值从所述分词方式中确定所述语句的分词结果的方法为预先设置分词结果选择策 略,比较所述每种分词方式的语句权值,并通过所述分词结果选择策略确定
7. —种分词处理设备,其特征在于,所述分词处理设备包括 接收单元用于接收待分词的语句;切分单元用于切分所述语句并获得所述接收单元接收的语句的所有分 词方式;结果确定单元用于所述的所有分词方式中每种分词方式的语句权值, 比较每种分词方式的语句权值,从所述的所有分词方式中确定所述语句的分 词结果。
8. 如权利要求7所述的分词处理设备,其特征在于,所述结果确定单 元包括策略设置单元用于预先设置分词结果选择策略;选择单元用于比较所述每种分词方式的语句权值,并通过所述分词结 果选择策略确定分词结果语句权值,根据所述分词结果语句权值确定所述语 句的分词结果。
9. 如权利要求7所述的分词处理设备,其特征在于,所述分词处理设 备还包括初始化单元用于根据词库初始化获得分词过程链表; 分词训练单元用于通过语言模型对所述分词过程链表进行修改。
全文摘要
本发明实施例涉及信息处理技术,公开了一种分词处理方法,该方法包括接收待分词的语句;切分所述语句并获得所述语句的所有分词方式;分别计算所述的所有分词方式中每种分词方式的语句权值,比较每种分词方式的语句权值从所述的所有分词方式中确定所述语句的分词结果。本发明实施例还公开了一种分词处理设备。
文档编号G06F17/28GK101114282SQ20071007600
公开日2008年1月30日 申请日期2007年7月12日 优先权日2007年7月12日
发明者朱鹏喜 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1