CN101950284B - 中文分词方法及系统 - Google Patents

中文分词方法及系统 Download PDF

Info

Publication number
CN101950284B
CN101950284B CN 201010293427 CN201010293427A CN101950284B CN 101950284 B CN101950284 B CN 101950284B CN 201010293427 CN201010293427 CN 201010293427 CN 201010293427 A CN201010293427 A CN 201010293427A CN 101950284 B CN101950284 B CN 101950284B
Authority
CN
China
Prior art keywords
word
name
chinese
text string
text
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 201010293427
Other languages
English (en)
Other versions
CN101950284A (zh
Inventor
牟小峰
杨正
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Feinno Communication Technology Co Ltd
Original Assignee
Beijing Feinno Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Feinno Communication Technology Co Ltd filed Critical Beijing Feinno Communication Technology Co Ltd
Priority to CN 201010293427 priority Critical patent/CN101950284B/zh
Publication of CN101950284A publication Critical patent/CN101950284A/zh
Application granted granted Critical
Publication of CN101950284B publication Critical patent/CN101950284B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明公开了一种中文分词方法,包括:对中文文本按词语语义进行分词,并切分歧义字段,输出以词为单元的第一文本串;识别并合并所述第一文本串中的中文人名,生成以词为单元的第二文本串,在切分歧义时,采用词典规则方法和统计结合方法实现,统计方法中采用字本位和最大熵模型进行歧义字段切分及人名识别。还公开了一种中文分词系统,包括:分词模块和人名识别模块等。本发明提高了分词效率和分词的准确率。

Description

中文分词方法及系统
技术领域
本发明涉及自然语言处理(NLP)技术领域,特别涉及一种中文分词方法及系统。
背景技术
近年来,随着网络日益普及,互联网上的文本规模逐步扩大,信息资源不断增加。为了从大量的资源中检索和挖掘出有价值的信息,互联网公司大力发展自然语言处理领域的技术。汉语分词是自然语言处理技术的基础和前提。
在当前自然语言处理领域中,汉语分词技术主要分为两种:基于规则的分词方法和基于统计的分词方法。
基于规则的分词方法中,词典匹配分词的优点在于切分速度快,效率高。系统词典结构采用双数组Trie数据结构,匹配速度快,在切分过程中,文本指针的回溯距离是常量。匹配方法的缺点在于无法有效地解决歧义切分和未登录词识别的问题。
统计方法中,基于字本位的方法对于歧义切分和未登录词识别的效果较好,可以使用统计的方法来识别歧义和未登录词(如人名,地名及组织机构名称等)。但统计方法的缺点在于计算复杂性太高,导致切分效率降低,再加上受制于有限的训练语料库,分词精度提升比较困难。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提高分词速度,并能正确切分歧义字段和识别未登录词。
(二)技术方案
为解决上述技术问题,本发明提供了一种中文分词方法,用于从大量互联网资源中进行检索和挖掘信息,其特征在于,对资源中的中文文本进行分词的方法包括以下步骤:
S1:对中文文本通过包括海量实例的词典,按词语语义采用正向最大匹配和回退一字的策略进行分词,并对所述词典中包括的歧义字段按所述词典中的歧义字段分词规则切分歧义字段,对所述词典中未包括的歧义字段基于字本位和最大熵模型的统计方法切分歧义字段,输出以词为单元的第一文本串;所述第一文本串中的词为消除歧义的词;
S2:针对所述第一文本串中无法按词语语义分词和切分的中文人名,根据所述词典中的姓氏和名字识别所述第一文本串中的中文人名,并采用最大熵模型的统计方法合并所述第一文本串中的中文人名,生成以词为单元的第二文本串;所述第二文本串为在第一文本串的基础上合并了被切分为单字或双字的人名;实现对资源中的中文文本进行歧义字段切分和人名识别。
其中,所述步骤S1中切分歧义字段的步骤具体包括:
S11:采用正向最大匹配和回退一字的策略匹配中文文本中的待匹配的词语;
S12:在匹配过程中判断是否有歧义字段,若有,则执行步骤S13,否则执行步骤S14;
S13:判断词典规则中是否有所述歧义字段的分词规则,若有,则按所述分词规则对所述歧义字段进行切分,否则采用基于字本位和最大熵模型的统计方法切分所述歧义字段;
S14:判断对所述中文文本的匹配是否完成,若未完成则执行步骤S11,若完成,则输出以词为单元的第一文本串。
其中,所述采用统计方法切分所述歧义字段具体方式为:
若当前切分得到的词w:w1,……,wn与下文q构成交集型歧义字段,则利用最大熵模型估计wn的字位,如果wn的字位为E,则表示w1,……,wn为一个词,如果wn的字位是B,则表示w1,……,wn-1为一个词,wn与下文q组成另一个词,所述字位表示该字位于所在词中的位置,B为词首位置标记,E为词尾位置标记。
其中,所述步骤S2具体包括:
S21:根据词典中的姓氏和名字识别第一文本串中的单字或双字是否为单姓或复姓,以及识别单姓或复姓后面两个字或一个字是否为人名,若是,则将单姓或复姓后面两个字或一个字连同所述单姓或复姓作为待定人名,并执行步骤S22,否则,执行步骤S23;
S22:采集所述待定人名的前后各两个字,通过采用最大熵模型的统计方法判断是否能从所述单字或双字的位置开始加上后两个字或一个字,合并成中文人名,若能,则将所述单字或双字以及后面两个或一个字合并成中文人名,否则跳过所述单字或双字的识别;
S23:判断是否识别完所有第一文本串中的单字或双字,若未识别完,则执行步骤S21,若识别完,则输出以词为单元的第二文本串。
其中,所述步骤S22中将所述单字或双字以及后面两个或一个字合并成中文人名的方式为:
对第一文本串中的词串S=s1,……,sn,若si为中文单姓,则需要确定si的两个左邻边界字、待定人名和两个右邻边界字,
si的两个左邻边界字为si-1和si-2
如果i=0,则si-1和si-2不存在;如果si+1的汉字数目大于等于3,则sisi+1不为人名;
如果si+1的汉字数目等于2:标记为
Figure GSB00000805607200031
Figure GSB00000805607200032
未在名字首字中出现,则sisi+1不为人名,如果
Figure GSB00000805607200033
不在名字末字中,则采用最大熵模型估计
Figure GSB00000805607200034
是否组成人名,右边界的两个汉字为
Figure GSB00000805607200035
如果
Figure GSB00000805607200036
在名字末字中,则采用最大熵模型估计sisi+1是否组成人名,右边界为si+1的两个右邻接字;
如果si+1的汉字数目为1,且si+1未在名字首字中出现,则sisi+1不为人名,如果si+1在名字首字中出现,且si+2的汉字数目大于等于2,则采用最大熵模型估计sisi+1是否为人名;
如果si+2的汉字数目为1且为人名末字,则采用最大熵模型估计sisi+1si+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、M、E,则这几个字为人名,B为词首位置标记,E为词尾位置标记,M表示除词首和词尾外的其它位置标记,S为单字词标记,最大熵模型为:
Figure GSB00000805607200041
其中,x∈X,y∈Y,pλ(y|x)表示根据上下文集合计算出的si为该上下文的字位的概率,λi定义为特征函数fi的权重,λi的值一般通过通用迭代算法和改进迭代算法进行优化,直到收敛。
本发明还提出了一种中文分词系统,用于从大量互联网资源中进行检索和挖掘信息,对资源中的中文文本进行分词的系统包括:
分词模块,用于对中文文本通过包括海量实例的词典,按词语语义采用正向最大匹配和回退一字的策略进行分词,并对所述词典中包括的歧义字段按所述词典中的歧义字段分词规则切分歧义字段,对所述词典中未包括的歧义字段基于字本位和最大熵模型的统计方法切分歧义字段,输出以词为单元的第一文本串,所述第一文本串中的词为消除歧义的词;
人名识别模块,用于针对所述第一文本串中无法按词语语义分词和切分的中文人名,根据所述词典中的姓氏和名字识别所述第一文本串中的中文人名,并采用最大熵模型的统计方法合并所述第一文本串中的中文人名,生成以词为单元的第二文本串;所述第二文本串为在第一文本串的基础上合并了被切分为单字或双字的人名;实现对资源中的中文文本进行歧义字段切分和人名识别。
其中,所述分词模块包括:
匹配模块,用于采用正向最大匹配和回退一字的策略匹配中文文本中的待匹配的词语;
歧义判断模块,用于在匹配过程中判断是否有歧义字段,若有,则执行歧义切分模块,否则执行第一文本串输出模块;
歧义切分模块,用于判断词典规则系统中是否有所述歧义字段的分词规则,则按所述分词规则对所述歧义字段进行切分,否则采用基于字本位和最大熵模型的统计方法切分所述歧义字段;
第一文本串输出模块,用于判断对所述中文文本的匹配是否完成,若未完成则执行匹配模块,若完成,则输出以词为单元的第一文本串。
其中,所述人名识别模块包括:
姓氏识别模块,用于根据词典中的姓氏和名字识别第一文本串中的单字或双字是否为单姓或复姓,以及识别单姓或复姓后面两个字或一个字是否为人名,若是,则将单姓或复姓后面两个字或一个字连同所述单姓或复姓作为待定人名,并执行人名合并模块,否则,执行第二文本输出模块;
人名合并模块,用于采集所述待定人名的前后各两个字,通过采用最大熵模型的统计方法判断是否能从所述单字或双字的位置开始加上后两个字或一个字,合并成中文人名,若能,则将所述单字或双字以及后面两个或一个字合并成中文人名,否则跳过所述单字或双字的识别;
第二文本输出模块,用于判断是否识别完所有第一文本串中的单字或双字,若未识别完,则执行姓氏识别模块,若识别完,则输出以词为单元的第二文本串。
(三)有益效果
本发明通过基于词典的匹配规则方法对中文文本进行歧义切分,并结合最大熵模型的统计方法对歧义切分后的文本中的人名进行合并,提高了分词效率和分词的准确率。
附图说明
图1是本发明实施例的一种中文分词方法流程图;
图2是图1中切分歧义字段的具体流程图;
图3是图1中人名识别及合并的具体流程图;
图4是本发明实施例的一种中文分词系统结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,为本发明实施例的一种中文分词方法流程图,包括:
步骤S101,对中文文本按词语语义进行分词,并切分歧义字段,输出以词为单元的第一文本串。该步骤的主要目的是通过包括海量实例的词典匹配出词语并有效地切分歧义字段。词典中加载了海量的人名、地名,组织机构名以及伪歧义字段,这样可以提高切分速度和人名地名等的正确率和召回率。伪歧义字段可以用来直接作为切分实例。歧义也可以分为:真歧义和伪歧义。真歧义是指,歧义的多种切分方法会在真实的语境中大量出现,如“多少年”;而伪歧义是指,歧义字段虽然有多种切分方法,但只有一种切分情况会出现在真实的语境中,或是只有一种切分情况出现在绝大部分的真实语境中。据统计,真歧义只占总歧义的6%左右,所以通过统计《人民日报》1998年和2000年的语料,抽取了大量的伪歧义存入词典中,这样可以提高切分速度和准确率。该步骤具体流程如图2所示,包括:
步骤S201,采用正向最大匹配和回退一字的策略匹配中文文本中的待匹配的词语,正向最大匹配的基本思路是,假设有文本,需要从第i个字开始匹配词典中最长的词语:首先,把当前字i开始的字符串输入到词典,此时匹配到的字符串长度L为0,如果匹配到第一个字i,那么L=L+1,然后词典沿正方向匹配第i+1个字,如果成功,那么再有L=L+1,以此类推,直到匹配失败,返回匹配到的词语长度为L,即从i开始,正向最大匹配到长度为L词语。回退一字的目的是为了发现交段长度为1的交集型歧义字段。歧义词可以分为两种:交集型歧义和组合型歧义。交集型歧义,如“多少年”可切分成“多/少年”和“多少/年”;组合型歧义,如“马上”可切分成“从/马/上/下来”和“我/马上/到”。据统计,所有歧义中,交集型歧义占绝大部分。在交集型歧义中,如“多少年”中,“少”字为交段,交段长度为1。在分词时,没有考虑交段长度大于1的情况。据统计,交段长度为1的情况约占所有情况的97.7%。所以,回退一字发现交段长度为1的策略可以发现绝大部分的交集型歧义。另外,交段长度大于1的歧义中,大部分也能通过“正向最大匹配”正确切分出来。
步骤S202,在匹配过程中判断是否有歧义字段,即是否发现存在上述交集型歧义字段,若有,则执行步骤S203,否则执行S204。
步骤S203,判断词典中是否有所述歧义字段的分词规则,若有,则执行步骤S204,否则,执行步骤S205。
步骤S204,按词典中的分词规则对所述歧义字段进行切分。
步骤S205,采用统计方法切分歧义字段。该方法基于字本位和最大熵模型进行歧义判断,字位表示该字位于所在词中的位置,包括4种:B、E、S和M,B是词的首部标记;E是词的尾部标记;S是单字词的标记;M是其它位置的标记。字本位的主要思想是把给字串分词变成给字附着标记,通过字的标记实现分词。具体切分歧义字段的方式为:
若当前切分得到的词w:w1,……,wn与下文q构成交集型歧义字段,则进行动态歧义判断,即利用最大熵模型估计wn的字位,如果wn的字位为E,则表示w1,……,wn为一个词,如果wn的字位是B,则表示w1,……,wn-1为一个词,wn与下文q组成另一个词。
步骤S206,判断对所述中文文本的匹配是否完成,若未完成则执行步骤S201,若完成,则执行步骤S207。
步骤S207,输出以词为单位的第一文本串,该文本串中的词为消除了歧义的词。
经过步骤S101后输出的第一文本串可能包含一些人名无法按意义来分词,所以还需要对第一文本串做进一步处理,以识别出其中的人名,即步骤S102,识别并合并所述第一文本串中的中文人名,生成以词为单元的第二文本串,具体流程如图3所示,包括:
步骤S301,识别第一文本串中的单字或双字。
步骤S302,判断该单字或双字是否为单姓或复姓,以及识别单姓或复姓后面两个字或一个字是否为人名,可以通过该单字或双字及人名是否包含在上述的海量词典的姓氏和名字中来判断,若是,则将单姓或复姓后面两个字或一个字连同所述单姓或复姓作为待定人名,并执行步骤S303,否则,执行步骤S304。
步骤S303,则采集待定人名前后各两个字,通过统计方法判断是否能从所述单字或双字的位置开始加上后两个字或一个字,合并成中文人名,若能,则将所述单字或双字以及后面两个或一个字合并成中文人名,否则跳过所述单字或双字的识别。其中合并方式为:
对第一文本串中的词串S=s1,……,sn,若si为中文单姓,则需要确定si的两个左邻边界字、待定人名和两个右邻边界字,
si的两个左邻边界字为si-1和si-2。如果i=0,则si-1和si-2不存在,具体操作时以si-1=<beg1>,si-2=<beg2>的形式将其输入最大熵模型;
如果si+1的汉字数目大于等于3,则sisi+1不为人名;
如果si+1的汉字数目等于2:标记为
Figure GSB00000805607200091
Figure GSB00000805607200092
未在名字首字中出现,则sisi+1不为人名,如果
Figure GSB00000805607200093
不在名字末字中,则采用最大熵模型估计
Figure GSB00000805607200094
是否组成人名,右边界的两个汉字为如果
Figure GSB00000805607200096
在名字末字中,则采用最大熵模型估计sisi+1是否组成人名,右边界为si+1的两个右邻接字;
如果si+1的汉字数目为1,且si+1未在名字首字中出现,则sisi+1不为人名,如果si+1在名字首字中出现,且si+2的汉字数目大于等于2,则采用最大熵模型估计sisi+1是否为人名;如果si+2的汉字数目为1且为人名末字,则采用最大熵模型估计sisi+1si+2是否为人名;
若si为中文复姓,
如果si+1的汉字数目大于等于3,则sisi+1不为人名;
如果si+1的汉字数目等于2,且分别为人名首字或末字,则sisi+1为人名;
如果si+1的汉字数目等于1,且si+1为人名首字,则sisi+1为人名。
上述估计人名的步骤为:
利用字位标记判断姓氏si的上下文,在判断字的位置时,必须依赖上下文。本方法考虑的上下文共有9种,以给定句子“大家在贾君鹏的房间里吃饭”,为例,当前姓氏单字为“贾”,上下文包括9中情况,如下表所示:
表1中上下文的9种情况
  模板   实例
  当前字   贾
  前面第一个字   在
  前面第二个字   家
  后面第一个字   君
  后面第二个字   鹏
  前面第一个字+当前字   在贾
  当前字+后面第一个字   贾君
  前面第二个字+前面第一个字   家在
  后面第一个字+后面第二个字   君鹏
基于以下最大熵模型估计人名,Y={B,M,S,E},X={上下文集合},通过上下文来判断si后落单的字的字位,如果落单的几个字的标记为:B、E或B、M、E,则这几个字为人名,M表示除词首和词尾外的其它位置标记,S为单字词标记,最大熵模型为:
Figure GSB00000805607200101
其中,x∈X,y∈Y,pλ(y|x)表示根据上下文集合计算出的si在该上下文的字位的概率,λi定义为特征函数fi的权重,λi的值一般通过通用迭代算法和改进迭代算法进行优化,直到收敛。
判断完“贾”位置后,依次同理判断“君”和“鹏”字。如果“贾”、“君”和“鹏”三个字的位置分别为“B”、“M”和“E”,那么“贾君鹏”合并成人名。
步骤S304,判断是否识别完所有第一文本串中的单字或双字,若未识别完,则执行步骤S301,若识别完,则执行步骤S305。
步骤S305,输出以词为单元的第二文本串,第二文本串在第一文本串的基础上合并了被切分为单字或双字的人名。
本发明还公开了一种中文分词系统,如图4所示,包括:分词模块,用于对中文文本按词语语义进行分词,并切分歧义字段,输出以词为单元的第一文本串;人名识别模块,用于识别并合并所述第一文本串中的中文人名,生成以词为单元的第二文本串。
其中,所述分词模块包括:匹配模块,用于采用正向最大匹配和回退一字的策略匹配中文文本中的待匹配的词语;歧义判断模块,用于在匹配过程中判断是否有歧义字段,若有,则执行歧义切分模块,否则执行第一文本串输出模块;歧义切分模块,用于判断词典规则系统中是否有所述歧义字段的分词规则,则按所述分词规则对所述歧义字段进行切分,否则采用统计方法切分所述歧义字段;第一文本串输出模块,用于判断对所述中文文本的匹配是否完成,若未完成则执行匹配模块,若完成,则输出以词为单元的第一文本串。
其中,所述人名识别模块包括:姓氏识别模块,用于识别第一文本串中的单字或双字是否为单姓或复姓,若是,则执行人名合并模块,否则,执行第二文本输出模块;人名合并模块,用于采集所述单字或双字的前后各两个字,通过统计方法判断是否能从所述单字或双字的位置开始加上后两个字或一个字,合并成中文人名,若能,则将所述单字或双字以及后面两个或一个字合并成中文人名,否则跳过所述单字或双字的识别;第二文本输出模块,用于判断是否识别完所有第一文本串中的单字或双字,若未识别完,则执行姓氏识别模块,若识别完,则输出以词为单元的第二文本串。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (7)

1.一种中文分词方法,用于从大量互联网资源中进行检索和挖掘信息,其特征在于,对资源中的中文文本进行分词的方法包括以下步骤:
S1:对中文文本通过包括海量实例的词典,按词语语义采用正向最大匹配和回退一字的策略进行分词,并对所述词典中包括的歧义字段按所述词典中的歧义字段分词规则切分歧义字段,对所述词典中未包括的歧义字段基于字本位和最大熵模型的统计方法切分歧义字段,输出以词为单元的第一文本串;所述第一文本串中的词为消除歧义的词;
S2:针对所述第一文本串中无法按词语语义分词和切分的中文人名,根据所述词典中的姓氏和名字识别所述第一文本串中的中文人名,并采用最大熵模型的统计方法合并所述第一文本串中的中文人名,生成以词为单元的第二文本串;所述第二文本串为在第一文本串的基础上合并了被切分为单字或双字的人名;实现对资源中的中文文本进行歧义字段切分和人名识别;
所述步骤S1中切分歧义字段的步骤具体包括:
S11:采用正向最大匹配和回退一字的策略匹配中文文本中的待匹配的词语;
S12:在匹配过程中判断是否有歧义字段,若有,则执行步骤S13,否则执行步骤S14;
S13:判断词典规则中是否有所述歧义字段的分词规则,若有,则按所述分词规则对所述歧义字段进行切分,否则采用基于字本位和最大熵模型的统计方法切分所述歧义字段;
S14:判断对所述中文文本的匹配是否完成,若未完成则执行步骤S11,若完成,则输出以词为单元的第一文本串。
2.如权利要求1所述的中文分词方法,其特征在于,所述采用统计方法切分所述歧义字段具体方式为:
若当前切分得到的词w:w1,……,wn与下文q构成交集型歧义字段,则利用最大熵模型估计wn的字位,如果wn的字位为E,则表示w1,……,wn为一个词,如果wn的字位是B,则表示w1,……,wn-1为一个词,wn与下文q组成另一个词,所述字位表示该字位于所在词中的位置,B为词首位置标记,E为词尾位置标记。
3.如权利要求1所述的中文分词方法,其特征在于,所述步骤S2具体包括:
S21:根据词典中的姓氏和名字识别第一文本串中的单字或双字是否为单姓或复姓,以及识别单姓或复姓后面两个字或一个字是否为人名,若是,则将单姓或复姓后面两个字或一个字连同所述单姓或复姓作为待定人名,并执行步骤S22,否则,执行步骤S23;
S22:采集所述待定人名的前后各两个字,通过采用最大熵模型的统计方法判断是否能从所述单字或双字的位置开始加上后两个字或一个字,合并成中文人名,若能,则将所述单字或双字以及后面两个或一个字合并成中文人名,否则跳过所述单字或双字的识别;
S23:判断是否识别完所有第一文本串中的单字或双字,若未识别完,则执行步骤S21,若识别完,则输出以词为单元的第二文本串。
4.如权利要求3所述的中文分词方法,其特征在于,所述步骤S22中将所述单字或双字以及后面两个或一个字合并成中文人名的方式为:
对第一文本串中的词串S=s1,……,sn,若si为中文单姓,则需要确定si的两个左邻边界字、待定人名和两个右邻边界字,
si的两个左邻边界字为si-1和si-2
如果i=0,则si-1和si-2不存在;如果si+1的汉字数目大于等于3,则sisi+1不为人名;
如果si+1的汉字数目等于2:标记为
Figure FDA00002182759000021
Figure FDA00002182759000022
未在名字首字中出现,则sisi+1不为人名,如果
Figure FDA00002182759000031
不在名字末字中,则采用最大熵模型估计
Figure FDA00002182759000032
是否组成人名,右边界的两个汉字为
Figure FDA00002182759000033
如果
Figure FDA00002182759000034
在名字末字中,则采用最大熵模型估计sisi+1是否组成人名,右边界为si+1的两个右邻接字;
如果si+1的汉字数目为1,且si+1未在名字首字中出现,则sisi+1不为人名,如果si+1在名字首字中出现,且si+2的汉字数目大于等于2,则采用最大熵模型估计sisi+1是否为人名;
如果si+2的汉字数目为1且为人名末字,则采用最大熵模型估计sisi+1 si+2是否为人名;
若si为中文复姓,
如果si+1的汉字数目大于等于3,则sisi+1不为人名;
如果si+1的汉字数目等于2,且分别为人名首字或末字,则sisi+1为人名;
如果si+1的汉字数目等于1,且si+1为人名首字,则sisi+1为人名。
5.如权利要求4所述的中文分词方法,其特征在于,所述最大熵模型估计人名的步骤为:
利用字位标记判断姓氏si的上下文;
基于以下最大熵模型估计人名,Y={B,M,S,E},X={上下文集合},通过上下文来判断si后落单的字的字位,如果落单的几个字的字位标记为:B、E或B、M、E,则这几个字为人名,B为词首位置标记,E为词尾位置标记,M表示除词首和词尾外的其它位置标记,S为单字词标记,最大熵模型为:
Figure FDA00002182759000035
其中,x∈X,y∈Y,pλ(y|x)表示根据上下文集合计算出的si为该上下文的字位的概率,λi定义为特征函数fi的权重,λi的值一般通过通用迭代算法和改进迭代算法进行优化,直到收敛。
6.一种中文分词系统,用于从大量互联网资源中进行检索和挖掘信息,其特征在于,对资源中的中文文本进行分词的系统包括:
分词模块,用于对中文文本通过包括海量实例的词典,按词语语义采用正向最大匹配和回退一字的策略进行分词,并对所述词典中包括的歧义字段按所述词典中的歧义字段分词规则切分歧义字段,对所述词典中未包括的歧义字段基于字本位和最大熵模型的统计方法切分歧义字段,输出以词为单元的第一文本串,所述第一文本串中的词为消除歧义的词;
人名识别模块,用于针对所述第一文本串中无法按词语语义分词和切分的中文人名,根据所述词典中的姓氏和名字识别所述第一文本串中的中文人名,并采用最大熵模型的统计方法合并所述第一文本串中的中文人名,生成以词为单元的第二文本串;所述第二文本串为在第一文本串的基础上合并了被切分为单字或双字的人名;实现对资源中的中文文本进行歧义字段切分和人名识别;
所述分词模块包括:
匹配模块,用于采用正向最大匹配和回退一字的策略匹配中文文本中的待匹配的词语;
歧义判断模块,用于在匹配过程中判断是否有歧义字段,若有,则执行歧义切分模块,否则执行第一文本串输出模块;
歧义切分模块,用于判断词典规则系统中是否有所述歧义字段的分词规则,则按所述分词规则对所述歧义字段进行切分,否则采用基于字本位和最大熵模型的统计方法切分所述歧义字段;
第一文本串输出模块,用于判断对所述中文文本的匹配是否完成,若未完成则执行匹配模块,若完成,则输出以词为单元的第一文本串。
7.如权利要求6所述的中文分词系统,其特征在于,所述人名识别模块包括:
姓氏识别模块,用于根据词典中的姓氏和名字识别第一文本串中的单字或双字是否为单姓或复姓,以及识别单姓或复姓后面两个字或一个字是否为人名,若是,则将单姓或复姓后面两个字或一个字连同所述单姓或复姓作为待定人名,并执行人名合并模块,否则,执行第二文本输出模块;
人名合并模块,用于采集所述待定人名的前后各两个字,通过采用最大熵模型的统计方法判断是否能从所述单字或双字的位置开始加上后两个字或一个字,合并成中文人名,若能,则将所述单字或双字以及后面两个或一个字合并成中文人名,否则跳过所述单字或双字的识别;
第二文本输出模块,用于判断是否识别完所有第一文本串中的单字或双字,若未识别完,则执行姓氏识别模块,若识别完,则输出以词为单元的第二文本串。
CN 201010293427 2010-09-27 2010-09-27 中文分词方法及系统 Active CN101950284B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010293427 CN101950284B (zh) 2010-09-27 2010-09-27 中文分词方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010293427 CN101950284B (zh) 2010-09-27 2010-09-27 中文分词方法及系统

Publications (2)

Publication Number Publication Date
CN101950284A CN101950284A (zh) 2011-01-19
CN101950284B true CN101950284B (zh) 2013-05-08

Family

ID=43453788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010293427 Active CN101950284B (zh) 2010-09-27 2010-09-27 中文分词方法及系统

Country Status (1)

Country Link
CN (1) CN101950284B (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324607B (zh) * 2012-03-20 2016-11-23 北京百度网讯科技有限公司 一种泰语文本切词方法及装置
CN102955775A (zh) * 2012-06-14 2013-03-06 华东师范大学 基于上下文语义的外国人名自动识别控制方法
CN103778161A (zh) * 2012-10-26 2014-05-07 同程网络科技股份有限公司 适用于中文词库的分词歧义排除方法
CN103544309B (zh) * 2013-11-04 2017-03-15 北京中搜网络技术股份有限公司 一种中文垂直搜索的检索串拆分方法
CN104731978B (zh) * 2015-04-14 2018-03-09 海量云图(北京)数据技术有限公司 中文姓名数据的发现与分类方法
CN105068996B (zh) * 2015-09-21 2017-11-17 哈尔滨工业大学 一种中文分词增量学习方法
CN106681980B (zh) * 2015-11-05 2019-06-28 中国移动通信集团公司 一种垃圾短信分析方法和装置
CN105373530A (zh) * 2015-12-03 2016-03-02 北京锐安科技有限公司 中文姓名的识别方法和装置
WO2017117782A1 (zh) * 2016-01-07 2017-07-13 马岩 网络信息的分词处理方法及系统
CN107291684B (zh) * 2016-04-12 2021-02-09 华为技术有限公司 语言文本的分词方法和系统
CN105975454A (zh) * 2016-04-21 2016-09-28 广州精点计算机科技有限公司 一种网页文本的中文分词方法和装置
CN106227719B (zh) * 2016-07-26 2018-10-23 北京智能管家科技有限公司 中文分词歧义消除方法和系统
CN106354714A (zh) * 2016-08-29 2017-01-25 广东工业大学 一种基于nlpir中文分词系统的中文分词工具
CN106610937A (zh) * 2016-09-19 2017-05-03 四川用联信息技术有限公司 一种基于信息论的中文自动分词算法
CN106598941A (zh) * 2016-11-01 2017-04-26 四川用联信息技术有限公司 一种全局优化文本关键词质量的算法
CN109284763A (zh) * 2017-07-19 2019-01-29 阿里巴巴集团控股有限公司 一种生成分词训练数据的方法和服务器
CN107424612B (zh) * 2017-07-28 2021-07-06 北京搜狗科技发展有限公司 处理方法、装置和机器可读介质
CN108255806B (zh) * 2017-12-22 2021-12-17 北京奇艺世纪科技有限公司 一种人名识别方法及装置
CN108197110B (zh) * 2018-01-03 2021-07-27 北京方寸开元科技发展有限公司 一种名字和职务获取及校对的方法、装置及其存储介质
CN108491373B (zh) * 2018-02-01 2022-05-27 北京百度网讯科技有限公司 一种实体识别方法及系统
CN110502737B (zh) * 2018-05-18 2023-02-17 中国医学科学院北京协和医院 一种基于医学专业词典与统计算法的分词方法
CN109410923B (zh) * 2018-12-26 2022-06-10 中国联合网络通信集团有限公司 语音识别方法、装置、系统及存储介质
CN110839112A (zh) * 2019-11-18 2020-02-25 广东电网有限责任公司佛山供电局 一种问题语音的检测方法和装置
CN111079421B (zh) * 2019-11-25 2023-09-26 北京小米智能科技有限公司 一种文本信息分词处理的方法、装置、终端及存储介质
CN112364605A (zh) * 2020-11-27 2021-02-12 智业软件股份有限公司 一种基于双数组Trie的文本标注方法、终端设备及存储介质
CN113343686A (zh) * 2021-04-30 2021-09-03 山东师范大学 文本多特征歧义消解方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1471024A (zh) * 2002-07-25 2004-01-28 摩托罗拉公司 中文分词方法
CN101067809A (zh) * 2007-06-22 2007-11-07 蒋贤春 独立词切分
CN101458694A (zh) * 2008-10-09 2009-06-17 浙江大学 一种基于树形词库的中文分词方法
CN101650942A (zh) * 2009-08-26 2010-02-17 北京邮电大学 基于韵律短语的韵律结构生成方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1471024A (zh) * 2002-07-25 2004-01-28 摩托罗拉公司 中文分词方法
CN101067809A (zh) * 2007-06-22 2007-11-07 蒋贤春 独立词切分
CN101458694A (zh) * 2008-10-09 2009-06-17 浙江大学 一种基于树形词库的中文分词方法
CN101650942A (zh) * 2009-08-26 2010-02-17 北京邮电大学 基于韵律短语的韵律结构生成方法

Also Published As

Publication number Publication date
CN101950284A (zh) 2011-01-19

Similar Documents

Publication Publication Date Title
CN101950284B (zh) 中文分词方法及系统
CN108573045B (zh) 一种基于多阶指纹的比对矩阵相似度检索方法
WO2019085236A1 (zh) 检索意图识别方法、装置、电子设备及可读存储介质
CN100452042C (zh) 数字串模糊匹配的方法
CN105183923A (zh) 新词发现方法及装置
EP1585030A2 (en) Automatic Capitalization Through User Modeling
CN102693244B (zh) 用于识别非结构化文本中的信息的方法和装置
CN110413787B (zh) 文本聚类方法、装置、终端和存储介质
CN104199972A (zh) 一种基于深度学习的命名实体关系抽取与构建方法
CN101079031A (zh) 一种网页主题提取系统和方法
CN106557777B (zh) 一种基于SimHash改进的Kmeans文档聚类方法
CN101079024A (zh) 一种专业词表动态生成系统和方法
CN106339495A (zh) 一种基于层次增量聚类的话题检测方法及系统
CN103365849B (zh) 关键词检索方法和设备
CN104598577A (zh) 一种网页正文的提取方法
CN112989208B (zh) 一种信息推荐方法、装置、电子设备及存储介质
CN110866125A (zh) 基于bert算法模型的知识图谱构建系统
CN102937994A (zh) 一种基于停用词的相似文档查询方法
CN106383814A (zh) 一种英文社交媒体短文本分词方法
CN103646029A (zh) 一种针对博文的相似度计算方法
CN107316062A (zh) 一种改进的面向领域的命名实体消歧方法
CN110390022A (zh) 一种自动化的专业知识图谱构建方法
CN103853792A (zh) 一种图片语义自动标注方法与系统
CN105404677A (zh) 一种基于树形结构的检索方法
CN108519978A (zh) 一种基于主动学习的中文正式文本分词方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080

Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building A block 5 layer

Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.