中文分词方法及系统的制作方法

文档序号:6475020阅读:227来源:国知局
专利名称:中文分词方法及系统的制作方法
技术领域
本发明涉及自然语言处理(NLP)技术领域,特别涉及一种中文分词方法及系统。
背景技术
近年来,随着网络日益普及,互联网上的文本规模逐步扩大,信息资源不断增加。 为了从大量的资源中检索和挖掘出有价值的信息,互联网公司大力发展自然语言处理领域 的技术。汉语分词是自然语言处理技术的基础和前提。在当前自然语言处理领域中,汉语分词技术主要分为两种基于规则的分词方法 和基于统计的分词方法。基于规则的分词方法中,词典匹配分词的优点在于切分速度快,效率高。系统词典 结构采用双数组Trie数据结构,匹配速度快,在切分过程中,文本指针的回溯距离是常量。 匹配方法的缺点在于无法有效地解决歧义切分和未登录词识别的问题。统计方法中,基于字本位的方法对于歧义切分和未登录词识别的效果较好,可以 使用统计的方法来识别歧义和未登录词(如人名,地名及组织机构名称等)。但统计方法的 缺点在于计算复杂性太高,导致切分效率降低,再加上受制于有限的训练语料库,分词精度 提升比较困难。

发明内容
(一)要解决的技术问题本发明要解决的技术问题是如何提高分词速度,并能正确切分歧义字段和识别 未登录词。( 二 )技术方案为解决上述技术问题,本发明提供了一种中文分词方法,其特征在于,包括以下步 骤Sl 对中文文本按词语语义进行分词,并切分歧义字段,输出以词为单元的第一文 本串;S2:识别并合并所述第一文本串中的中文人名,生成以词为单元的第二文本串。其中,所述步骤Sl中切分歧义字段的步骤具体包括Sll 采用正向最大匹配和回退一字的策略匹配中文文本中的待匹配的词语;S12:在匹配过程中判断是否有歧义字段,若有,则执行步骤S13,否则执行步骤 S14 ;S13:判断词典规则中是否有所述歧义字段的分词规则,若有,则按所述分词规则 对所述歧义字段进行切分,否则采用统计方法切分所述歧义字段;S14:判断对所述中文文本的匹配是否完成,若未完成则执行步骤S11,若完成,则 输出以词为单元的第一文本串。其中,所述采用统计方法切分所述歧义字段具体方式为
若当前切分得到的词w :Wl,……,Wn与下文q构成交集型歧义字段,则利用最大 熵模型估计的字位,如果的字位为E,则表示Wl,……,Wn为一个词,如果Wn的字位是 B,则表示W1,……,Wlri为一个词,Wn与下文q组成另一个词,所述字位表示该字位于所在 词中的位置,B为词首位置标记,E为词尾位置标记。其中,所述步骤S2具体包括S21 识别第一文本串中的单字或双字是否为单姓或复姓,以及识别单姓或复姓后 面两个字或一个字是否为人名,若是,则将单姓或复姓后面两个字或一个字连同所述单姓 或复姓作为待定人名,并执行步骤S22,否则,执行步骤S23 ;S22:采集所述待定人名的前后各两个字,通过统计方法判断是否能从所述单字或 双字的位置开始加上后两个字或一个字,合并成中文人名,若能,则将所述单字或双字以及 后面两个或一个字合并成中文人名,否则跳过所述单字或双字的识别;S23 判断是否识别完所有第一文本串中的单字或双字,若未识别完,则执行步骤 S21,若识别完,则输出以词为单元的第二文本串。其中,所述步骤S22中将所述单字或双字以及后面两个或一个字合并成中文人名 的方式为对第一文本串中的词串S = S1,……,Sn,若Si为中文单姓,则需要确定Si的两个 左邻边界字、待定人名和两个右邻边界字,Si的两个左邻边界字为Sp1和Si_2 ;如果i = 0,则Sg和Si_2不存在;如果si+1的汉字数目大于等于3,则SiSi+1不为 人名;如果si+1的汉字数目等于2 标记为^1A1,且乂+1未在名字首字中出现,则SiSi+1不 为人名,如果不在名字末字中,则采用最大熵模型估计& 是否组成人名,右边界的两个 仪字为sL ^l2 ;如果在名字末字中,则采用最大熵模型估计SiSi+1是否组成人名,右边界 为si+1的两个右邻接字;如果si+1的汉字数目为1,且si+1未在名字首字中出现,则SiSw不为人名,如果si+1 在名字首字中出现,且si+2的汉字数目大于等于2,则采用最大熵模型估计SiSi+1是否为人 名;如果si+2的汉字数目为1且为人名末字,则采用最大熵模型估计SiSi+lSi+2是否为 人名;若Si为中文复姓,如果si+1的汉字数目大于等于3,则SiSi+1不为人名;如果Si+1的汉字数目等于2,且分别为人名首字或末字,则SiSi+1为人名;如果si+1的汉字数目等于1,且si+1为人名首字,则SiSi+1为人名。其中,所述最大熵模型估计人名的步骤为利用字位标记判断姓氏Si的上下文;基于以下最大熵模型估计人名,Y= {B,M,S,E},X= {上下文集合},通过上下文 来判断Si后落单的字的字位,如果落单的几个字的字位标记为B、E或B、Μ、Ε,则这几个字 为人名,B为词首位置标记,E为词尾位置标记,M表示除词首和词尾外的其它位置标记,S
6为单字词标记,最大熵模型为
权利要求
一种中文分词方法,其特征在于,包括以下步骤S1对中文文本按词语语义进行分词,并切分歧义字段,输出以词为单元的第一文本串;S2识别并合并所述第一文本串中的中文人名,生成以词为单元的第二文本串。
2.如权利要求1所述的中文分词方法,其特征在于,所述步骤Sl中切分歧义字段的步 骤具体包括511采用正向最大匹配和回退一字的策略匹配中文文本中的待匹配的词语;512在匹配过程中判断是否有歧义字段,若有,则执行步骤S13,否则执行步骤S14 ; S13:判断词典规则中是否有所述歧义字段的分词规则,若有,则按所述分词规则对所述歧义字段进行切分,否则采用统计方法切分所述歧义字段;S14:判断对所述中文文本的匹配是否完成,若未完成则执行步骤S11,若完成,则输出 以词为单元的第一文本串。
3.如权利要求2所述的中文分词方法,其特征在于,所述采用统计方法切分所述歧义 字段具体方式为若当前切分得到的词w %,……,Wn与下文q构成交集型歧义字段,则利用最大熵模 型估计Wn的字位,如果Wn的字位为E,则表示W1,……,Wn为一个词,如果Wn的字位是B,则 表示巧,……,Wlri为一个词,Wn与下文q组成另一个词,所述字位表示该字位于所在词中 的位置,B为词首位置标记,E为词尾位置标记。
4.如权利要求1所述的中文分词方法,其特征在于,所述步骤S2具体包括521识别第一文本串中的单字或双字是否为单姓或复姓,以及识别单姓或复姓后面两 个字或一个字是否为人名,若是,则将单姓或复姓后面两个字或一个字连同所述单姓或复 姓作为待定人名,并执行步骤S22,否则,执行步骤S23 ;522采集所述待定人名的前后各两个字,通过统计方法判断是否能从所述单字或双字 的位置开始加上后两个字或一个字,合并成中文人名,若能,则将所述单字或双字以及后面 两个或一个字合并成中文人名,否则跳过所述单字或双字的识别;523判断是否识别完所有第一文本串中的单字或双字,若未识别完,则执行步骤S21, 若识别完,则输出以词为单元的第二文本串。
5.如权利要求4所述的中文分词方法,其特征在于,所述步骤S22中将所述单字或双字 以及后面两个或一个字合并成中文人名的方式为对第一文本串中的词串S = S1,……,sn,若Si为中文单姓,则需要确定Si的两个左邻 边界字、待定人名和两个右邻边界字, Si的两个左邻边界字为Sp1和Si_2 ;如果i = 0,则Sg和Si_2不存在;如果si+1的汉字数目大于等于3,则SiSi+1不为人名; 如果si+1的汉字数目等于2 标记为乂+jL ,且未在名字首字中出现,则SiSi+1不为人 名,如果不在名字末字中,则采用最大熵模型估计^是否组成人名,右边界的两个汉字 为心sL ;如果在名字末字中,则采用最大熵模型估计SiSi+1是否组成人名,右边界为si+1 的两个右邻接字;如果si+1的汉字数目为1,且si+1未在名字首字中出现,则SiSi+1不为人名,如果si+1在名字首字中出现,且si+2的汉字数目大于等于2,则采用最大熵模型估计SiSi+1是否为人名; 如果si+2的汉字数目为1且为人名末字,则采用最大熵模型估计SiSi+lSi+2是否为人名; 若Si为中文复姓,如果si+1的汉字数目大于等于3,则SiSi+1不为人名;如果si+1的汉字数目等于2,且分别为人名首字或末字,则SiSi+1为人名;如果si+1的汉字数目等于1,且si+1为人名首字,则SiSi+1为人名。
6.如权利要求5所述的中文分词方法,其特征在于,所述最大熵模型估计人名的步骤为利用字位标记判断姓氏Si的上下文;基于以下最大熵模型估计人名,Y= {B,M,S,E},X= {上下文集合},通过上下文来判 断Si后落单的字的字位,如果落单的几个字的字位标记为B、E或B、Μ、Ε,则这几个字为人 名,B为词首位置标记,E为词尾位置标记,M表示除词首和词尾外的其它位置标记,S为单 字词标记,最大熵模型为nc)
7.一种中文分词系统,其特征在于,包括分词模块,用于对中文文本按词语语义进行分词,并切分歧义字段,输出以词为单元的 第一文本串;人名识别模块,用于识别并合并所述第一文本串中的中文人名,生成以词为单元的第二文本串。
8.如权利要求7所述的中文分词系统,其特征在于,所述分词模块包括匹配模块,用于采用正向最大匹配和回退一字的策略匹配中文文本中的待匹配的词语;歧义判断模块,用于在匹配过程中判断是否有歧义字段,若有,则执行歧义切分模块, 否则执行第一文本串输出模块;歧义切分模块,用于判断词典规则系统中是否有所述歧义字段的分词规则,则按所述 分词规则对所述歧义字段进行切分,否则采用统计方法切分所述歧义字段;第一文本串输出模块,用于判断对所述中文文本的匹配是否完成,若未完成则执行匹 配模块,若完成,则输出以词为单元的第一文本串。
9.如权利要求7所述的中文分词系统,其特征在于,所述人名识别模块包括姓氏识别模块,用于识别第一文本串中的单字或双字是否为单姓或复姓,以及识别单 姓或复姓后面两个字或一个字是否为人名,若是,则将单姓或复姓后面两个字或一个字连 同所述单姓或复姓作为待定人名,并执行人名合并模块,否则,执行第二文本输出模块;人名合并模块,用于采集所述待定人名的前后各两个字,通过统计方法判断是否能从 所述单字或双字的位置开始加上后两个字或一个字,合并成中文人名,若能,则将所述单字或双字以及后面两个或一个字合并成中文人名,否则跳过所述单字或双字的识别;第二文本输出模块,用于判断是否识别完所有第一文本串中的单字或双字,若未识别 完,则执行姓氏识别模块,若识别完,则输出以词为单元的第二文本串。
全文摘要
本发明公开了一种中文分词方法,包括对中文文本按词语语义进行分词,并切分歧义字段,输出以词为单元的第一文本串;识别并合并所述第一文本串中的中文人名,生成以词为单元的第二文本串,在切分歧义时,采用词典规则方法和统计结合方法实现,统计方法中采用字本位和最大熵模型进行歧义字段切分及人名识别。还公开了一种中文分词系统,包括分词模块和人名识别模块等。本发明提高了分词效率和分词的准确率。
文档编号G06F17/27GK101950284SQ20101029342
公开日2011年1月19日 申请日期2010年9月27日 优先权日2010年9月27日
发明者杨正, 牟小峰 申请人:北京新媒传信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1