发明内容
本发明的目的在于提供一种中文分词***,旨在解决现有技术无法对词典未收录且不具规律性的新词进行识别,因而分词准确率无法得到进一步提高的问题。
本发明的目的还在于提供一种中文分词方法,以更好地解决现有技术中存在的上述问题。
为了实现发明目的,所述中文分词***包括用于传统分词方法的第一级分词单元,其中所述传统分词包括基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法;所述***还包括第二级分词单元;
所述第二级分词单元与第一级分词单元相连,用于从第一级分词单元的分词结果中提取出连续单字序列,若一个连续单字序列中每个单字的构词概率均大于一个概率阈值,则判定所述连续单字序列为一个新词,并利用识别的新词更新分词结果。
优选地,所述中文分词***还包括输入输出单元和词汇存储单元;
所述输入输出单元用于输入文本,并将最终的分词结果输出;
所述词汇存储单元与输入输出单元、第一级分词单元以及第二级分词单元相连,用于存储输入的文本,并根据第一级分词单元和第二级分词单元的分词操作更新分词结果。
优选地,所述第二级分词单元进一步包括单字序列模块、概率计算模块和新词判定模块;
所述单字序列模块从词汇存储单元存储的第一级分词结果中提取出连续单字序列,并输入概率计算模块;
所述概率计算模块计算所述连续单字序列中每个单字的构词概率;
所述概率阈值设置在所述新词判定模块中,所述新词判定模块根据所述连续单字序列中每个单字的构词概率和所述概率阈值,判定所述连续单字序列是否为新词。
优选地,所述构词概率是指,在一个连续单字序列中一个单字以一种构词方式存在的概率;
所述构词方式包括:作为一个词的词首、作为一个词的词中、作为一个词的词尾,以及单独成词。
优选地,所述概率计算模块计算构词概率的公式为:WCP(x)=C(x,WCM)/C(x);
其中x是所述连续单字序列中的任一单字,WCP(x)为所述任一单字的构词概率,C(x,WCM)是所述任一单字以一种特定构词方式在文本中出现的次数,C(x)是所述任一单字在文本中出现的总数。
为了更好地实现发明目的,所述中文分词方法包括以下步骤:
A.对输入文本以传统分词方法进行第一级分词,其中所述传统分词包括基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法;
B.从第一级分词结果中提取出连续单字序列,若一个连续单字序列中每个单字的构词概率均大于一个概率阈值,则判定所述连续单字序列为一个新词以进行第二级分词;
C.利用第二级分词识别出的新词更新分词结果,并输出。
优选地,所述步骤B包括:
B1.计算连续单字序列中每个单字的构词概率;
B2.将所述每个单字的构词概率与设定的概率阈值进行对比,若一个连续单字序列中每个单字的构词概率均大于所述概率阈值,则将所述连续单字序列判定为一个新词。
优选地,所述步骤B1中计算构词概率的公式为:WCP(x)=C(x,WCM)/C(x);
其中x是所述连续单字序列中的任一单字,WCP(x)为所述任一单字的构词概率,C(x,WCM)是所述任一单字以一种特定构词方式在文本中出现的次数,C(x)是所述任一单字在文本中出现的总数。
本发明在利用传统分词方法进行第一级分词之后,再对从第一级分词结果中提取出的连续单字序列根据构词概率(Word Composition Probability,WCP)进行第二级分词,从而将那些词典未收录且不具规律性的新词识别出来,提高了中文分词的准确率。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明首先利用传统分词方法对输入文本进行第一级分词,然后从第一级分词结果中提取出连续单字序列,并计算每个单字的构词概率,利用构词概率对该连续单字序列进行第二级分词,从而将那些词典未收录且不具规律性的新词识别出来,提高了中文分词的准确率。
图1示出了本发明的中文分词***100的结构,该***可应用于多种终端设备中,例如个人计算机(Personal Computer,PC)、个人数字助理(Personal DigitalAssistant,PDA)、移动电话(Mobile Phone,MP)等,因此本发明的中文分词***100不应限定应用于某种特定类型的终端设备。
该中文分词***100包括输入输出单元101、词汇存储单元102、第一级分词单元103和第二级分词单元104,各个功能单元之间进行信息交互。应当说明的是,本发明所有图示中各设备之间的连接关系是为了清楚阐释其信息交互及控制过程的需要,因此应当视为逻辑上的连接关系,而不应仅限于物理连接。其中:
(1)输入输出单元101主要执行以下功能:接收原始的中文文本输入,并将其存储到词汇存储单元102中;当第一级分词单元103和第二级分词单元104完成词汇切分之后,则从词汇存储单元102中提取最终的分词结果并输出。
(2)词汇存储单元102与输入输出单元101、第一级分词单元103以及第二级分词单元104相连,用于存储原始的输入文本以及分词结果,具体包括:存储输入输出单元101接收到的原始输入文本输入;当第一级分词单元103完成第一级分词之后,将第一级分词结果保存到词汇存储单元102中;当第二级分词单元104完成第二级分词之后,利用第二级分词过程识别出的新词更新其存储的分词结果,并送至输入输出单元101。
(3)第一级分词单元103与词汇存储单元102相连,用于以传统分词方法对词汇存储单元102中存储的原始输入文本进行第一级分词,并将第一级分词结果保存到词汇存储单元102中。在本发明中,第一级分词单元103采取的传统分词方法可以有多种,包括如前所述的基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法等,本发明此处不再赘述。
(4)第二级分词单元104与词汇存储单元102和第一级分词单元103相连,用于对第一级分词结果进行第二级分词,并将分词结果更新到词汇存储单元102中。具体包括:从第一级分词结果中提取出连续单字序列;计算该连续单字序列中每个单字的构词概率;利用构词概率判定该连续单字序列是否为一个新词,如是,则将识别出的新词发送至词汇存储单元102中,以更新存储的分词结果。
本发明所称的构词概率,是指在一个连续单字序列中一个单字以一种构词方式(Word Composition Mode,WCM)存在的概率。本发明中构词方式包括四种:作为一个词的词首(Front,简作F)、作为一个词的词中(Middle,简作M)、作为一个词的词尾(End,简作E),以及单独成词(Single,简作S)。本发明以构词概率判定新词的理论依据是:如果一个连续单字序列中的每个单字作为其他词的词首、词中和词尾的概率越大,则这个连续单字序列越可能是一个新词;相反,若每个单字单独成词的概率越大,那么这个连续单字序列作为新词的可能性越小。
图2示出了本发明的一个实施例中中文分词***100的第二分词单元104的内部结构,包括单字序列模块1041、概率计算模块1042和新词判定模块1043,其中:
(1)单字序列模块1041用于从第一级分词结果中提取出连续单字序列。在本发明中,该单字序列模块101可以从词汇存储单元102获取第一级分词结果,也可直接从第一级分词单元103获得第一级分词结果。
在一个实施例中,若原始输入文本为“现在正是非典时期,气氛变得很紧张。”,其中,“现在”、“正是”、“时期”、“气氛”、“紧张”均为词典已收录词汇,那么第一级分词单元103进行处理后的第一级分词结果将是“现在正是非典时期,气氛变得很紧张。”。然后由第二级分词单元104的单字序列模块1041从中提取连续单字序列,得到以下四个连续单字序列:“非典”、“变得”、“得很”、“变得很”。
(2)概率计算模块1042与单字序列模块1041和新词判定模块1043相连,用于计算连续单字序列中每个单字的构词概率,并将计算结果送至新词判定模块1043中。
在一个示例方案中,概率计算模块1042采用以下公式计算一个连续单字序列中各单字的构词概率:WCP(x)=C(x,WCM)/C(x)。其中x是该连续单字序列中的任一单字,WCP(x)为该任一单字的构词概率,C(x,WCM)是该任一单字以一种特定构词方式在文本中出现的次数,C(x)是该任一单字在文本中出现的总数。
继续在前述的实施例中,通过该计算公式可计算出每个单字的构词概率,例如:WCP(非,F)=0.95,WCP(典,E)=0.86,WCP(变,F)=0.46,WCP(得,M)=0.35,WCP(很,E)=0.14。然后概率计算模块1042将以上结果送入新词判定模块1043中。
(3)新词判定模块1043与概率计算模块1042相连,用于根据概率计算模块1042计算得到的各个单字的构词概率WCP(x),判断一个连续单字序列是否是一个新词,并将识别出的新词输入词汇存储单元102用于对分词结果进行更新。
在一个示例方案中,新词判定模块1043中设置有一个概率阈值P。该概率阈值P的设置方式有多种,在一个典型示例中,新词判定模块1043是一个常见的比较器,在该比较器内部可设定一个默认的对比值,那么可简单的将该对比值作为概率阈值P,当然这只是一种最简的设置方式,本发明并不限定于此。当新词判定模块1043接收到概率计算模块1042中计算得出的各个单字的构词概率WCP(x)后,将其与该概率阈值P进行比较:若在一个连续单字序列中,每个单字的构词概率WCP(x)均大于该概率阈值P,那么判定该连续单字序列是一个新词。
继续在前述的实施例中,若该新词判定模块1043中设置的概率阈值P=0.65。当然,本发明中概率阈值P的具体数值可以灵活设定。那么在上面的四个连续单字序列中,只有“非典”这个连续单字序列中的每个单字的WCP值都超过了阈值,因此“非典”作为新词被识别出来。然后将其送入词汇存储单元102更新分词结果,最后再由输入输出单元101输出的分词结果则为:“现在正是非典时期,气氛变得很紧张。”
图3示出了本发明的中文分词方法流程,该方法流程基于图1和图2所示的***结构,具体过程如下:
在步骤S301中,当通过输入输出单元101输入文本后,利用第一级分词单元103对输入文本以传统分词方法进行第一级分词。本发明中进行第一级分词的传统分词方法可包括多种,例如基于字符串匹配的分词方法、基于理解的分词方法、基于统计的分词方法等,其具体过程与前述的现有技术一致,此处不再赘述。当然,步骤S301并不限于以上几种方法对输入文本进行第一级分词。
在步骤S302中,第二级分词单元104从第一级分词结果中提取出连续单字序列,通过连续单字序列中每个单字的构词概率进行第二级分词。具体过程包括:(1)第二级分词单元104利用单字序列模块1041从第一级分词结果中提取出所有连续单字序列;(2)第二级分词单元104利用概率计算模块1042计算这些连续单字序列中每个单字的构词概率,即WCP值;(3)第二级分词单元104利用新词判定模块1043通过构词概率判定这些连续单字序列是否为新词。
在步骤S303中,第二级分词单元104将第二级分词识别出的新词发送至词汇存储单元102中,对分词结果进行更新,并通过输入输出单元101输出更新后的分词结果。
图4示出了本发明的一个实施例中中文分词方法流程,该方法流程基于图图1和图2所示的***结构。在该实施例中,通过输入输出单元101输入并保存到词汇存储单元102中的原始文本内容为“现在正是非典时期,气氛变得很紧张。”,本发明利用上述分词方法对其进行分词的具体过程如下:
在步骤S401中,第一级分词单元103对输入的文本以传统分词方法进行第一级分词,并将第一级分词结果保存到词汇存储单元102中。本实施例可以采取前述的多种传统分词方法,例如基于字符串匹配的分词方法,由于“现在”、“正是”、“时期”、“气氛”、“紧张”均为词典已收录词汇,那么第一级分词单元103进行处理后的第一级分词结果将是:“现在正是非典时期,气氛变得很紧张。”,然后将该分词结果保存到词汇存储单元102中。
在步骤S402中,第二级分词单元104找出第一级分词结果中的连续单字序列,并计算每个单字的构词概率。在本实施例中,第二级分词单元104从词汇存储单元102获取第一级分词结果,或者从第一级分词单元103直接获取第一级分词结果,然后利用其单字序列模块1041从第一级分词结果中提取到以下四个连续单字序列:“非典”、“变得”、“得很”、“变得很”。
在步骤S403中,第二级分词单元104利用其构词概率模块1042计算以上四个连续单字序列中每个单字的构词概率,即WCP值。计算公式为:WCP(x)=C(x,WCM)/C(x)。其中x是该连续单字序列中的任一单字,WCP(x)为该任一单字的构词概率,C(x,WCM)是该任一单字以一种特定构词方式在文本中出现的次数,C(x)是该任一单字在文本中出现的总数。在该实施例中,计算得到的每个单字的构词概率为:WCP(非,F)=0.95,WCP(典,E)=0.86,WCP(变,F)=0.46,WCP(得,M)=0.35,WCP(很,E)=0.14。然后概率计算模块1042将以上结果送入新词判定模块1043中。
在步骤S404中,第二级分词单元104利用其新词判定模块1043将上述各单字的构词概率与一个概率阈值进行比较,本实施例中,新词判定模块1043中设置的概率阈值P=0.65。新词判定模块1043则将所有单字的构词概率与其进行一一对比,判断一个连续单字序列中的所有单字的构词概率是否均大于该阈值:若是,则转步骤S405;若否,则转步骤S406。在本实施例中,只有“非典”这个连续单字序列中每个单字的构词概率都超过了该阈值。
在步骤S405中,新词判定模块1043将步骤S404中每个单字的构词概率均大于概率阈值的连续单字序列判定为新词,本实施例中则将“非典”作为新词识别出来,并将其发送至词汇存储单元102中进行更新。其他连续单字序列则不是新词。
在步骤S406中,输入输出单元101输出最终的分词结果如下:“现在正是非典时期,气氛变得很紧张。”
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。