一种文本的分词方法及装置
技术领域
本发明涉及自然语音处理技术领域,特别涉及一种文本的分词方法及装置。
背景技术
随着互联网的高速发展,海量的用户信息以文本的方式大量涌现,如用户投诉、商品评价等,所以对文本中的关键词汇的挖掘成为了解和分析用户的关键通道,也是实现文本智能处理的唯一途径。
在许多专业语言环境中,语料中存在着大量不常用词汇、专业术语或行业词汇,并且以短文本的形式存在的,它们语句短小,一般小于200个字符,语义凝练,句式多变,信息表达相对集中,词语专业性强。所以分词的效果直接影响到对此类文本的理解程度。一旦其中的关键词汇被错分,便难以捕捉句子的真正含义。
目前中文分词技术的方法主要有:基于词典的分词方法,主要是通过构建词典,匹配分词。这种方法对词典的依赖性很强,对于生词的处理能力很差且容易出现歧义。
另外一种是基于统计的分词方法,常用的统计模型如隐马尔科夫模型和N元统计模型,这类模型对语句的整体性具有更好的识别效果,但没有更好的体现语句的成词规律。
采用上述方法对文本进行分词时,未结合语言成词规律与语句组织规律,分词的准确性低。
发明内容
本发明提供一种文本的分词方法及装置,用以解决现有技术中对文本进行分词时,分词的准确性低的问题。
为达到上述目的,本发明实施例公开了一种文本的分词方法,所述方法包括:
针对待分词的文本,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该文本中的每个汉字与其相邻的后一汉字的相关性值;根据每个汉字与其相邻的后一汉字的相关性值以及预设的相关性阈值,将该文本拆分为至少一个字符串;
针对每个字符串,判断该字符串包含的汉字的数量是否大于预设的数量阈值,如果否,则将该字符串确定为所述待分词的文本中的目标词组;
如果是,则根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该字符串中的每个汉字与其前或后相邻的汉字的链接趋势;根据每个汉字与其前或后相邻的汉字的链接趋势,将该字符串拆分为至少一个第一词组;将所述至少一个第一词组确定为所述待分词的文本中的目标词组。
进一步地,所述根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该文本中的每个汉字与其相邻的后一汉字的相关性值包括:
针对待分词的文本中的每个汉字,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该汉字出现的第一概率,该汉字的后一汉字出现的第二概率,以及该汉字与其相邻的后一汉字联合出现的第三概率;
根据所述第一概率、第二概率和第三概率,确定该汉字与其相邻的后一汉字的相关性值。
进一步地,所述根据所述第一概率、第二概率和第三概率,确定该汉字与其相邻的后一汉字的相关性值包括:
根据公式:确定该汉字与其相邻的后一汉字的相关性值,其中,P(A)为该汉字出现的第一概率,P(B)为该汉字的后一汉字出现的第二概率,P(A,B)为该汉字与其相邻的后一汉字联合出现的第三概率。
进一步地,所述根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该字符串中的每个汉字与其前或后相邻的汉字的链接趋势包括:
针对包含的汉字的数量超过预设的数量阈值的每个字符串中的每个汉字,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该汉字与其相邻的前一汉字联合出现的第四概率,该汉字与其相邻的后一汉字联合出现的第五概率,该汉字出现的第六概率和该汉字的前一汉字出现的第七概率;
根据所述第四概率、第五概率、第六概率和第七概率,确定该汉字与其前或后相邻的汉字的链接趋势。
进一步地,所述根据所述第四概率、第五概率、第六概率和第七概率,确定该汉字与其前或后相邻的汉字的链接趋势包括:
根据公式:确定该汉字与其前或后相邻的汉字的链接趋势,如果所述链接趋势为正,则表示该汉字与其相邻的前一汉字存在链接趋势,如果所述链接趋势为负,则表示该汉字与其相邻的后一汉字存在链接趋势,如果所述链接趋势为0,则表示该汉字与其前或后相邻的汉字不存在链接趋势,其中, P(x,y)为该汉字与其相邻的前一汉字联合出现的第四概率,P(y,z)为该汉字与其相邻的后一汉字联合出现的第五概率,P(y)为该汉字出现的第六概率,P(x)为该汉字的前一汉字出现的第七概率。
进一步地,所述根据每个汉字与其前或后相邻的汉字的链接趋势,将该字符串拆分为至少一个第一词组包括:
针对每两个相邻的汉字,判断第一个汉字的链接趋势是否为与其相邻的前一汉字存在链接趋势,且第二个汉字的链接趋势是否为与其相邻的后一汉字存在链接趋势,如果均是,则在该两个相邻的汉字之间确定分割点;
根据该分割点将该字符串分拆为至少一个第一词组。
进一步地,所述方法还包括:
针对目标词组中的每个汉字,根据公式:确定该汉字与其前或后相邻的汉字的链接趋势的值,其中, P(x,y)为该汉字与其相邻的前一汉字联合出现的第四概率,P(y,z)为该汉字与其相邻的后一汉字联合出现的第五概率,P(y)为该汉字出现的第六概率,P(x)为该汉字的前一汉字出现的第七概率;
针对每个目标词组,根据该目标词组中的每个汉字对应的链接趋势及链接趋势的值以及预设的链接趋势阈值,确定该目标词组中的分割点,根据该分割点将该目标词组分为至少一个目标子词组。
进一步地,所述根据该目标词组中的每个汉字对应的链接趋势及链接趋势的值以及预设的链接趋势阈值,确定该目标词组中的分割点包括:
针对目标词组中的每两个相邻的汉字,如果相邻的汉字中第一个汉字对应的链接趋势为与其相邻的前一汉字存在链接趋势时,判断该第一个汉字对应的链接趋势的值是否大于预设的第一链接趋势阈值,如果是,则在该两个相邻的汉字之间确定分割点;或,如果相邻的汉字中第二个汉字对应的链接趋势为与其相邻的后一汉字存在链接趋势时,判断该第二个汉字对应的链接趋势的值是否大于预设的第二链接趋势阈值,如果是,则在该两个相邻的汉字之间确定分割点。
本发明实施例公开了一种文本的分词装置,所述装置包括:
确定模块,用于针对待分词的文本,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该文本中的每个汉字与其相邻的后一汉字的相关性值;
分词模块,用于根据每个汉字与其相邻的后一汉字的相关性值以及预设的相关性阈值,将该文本拆分为至少一个字符串;
判断模块,用于针对每个字符串,判断该字符串包含的汉字的数量是否大于预设的数量阈值;
目标词组确定模块,用于当判断模块的结果为否时,将该字符串确定为所述待分词的文本中的目标词组;
确定模块,还用于当判断模块的结果为是时,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该字符串中的每个汉字与其前或后相邻的汉字的链接趋势;
分词模块,还用于根据每个汉字与其前或后相邻的汉字的链接趋势,将该字符串分拆为至少一个第一词组;
目标词组确定模块,还用于将所述至少一个第一词组确定为所述待分词的文本中的目标词组。
进一步地,所述确定模块,具体用于针对待分词的文本中的每个汉字,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该汉字出现的第一概率,该汉字的后一汉字出现的第二概率,以及该汉字与其相邻的后一汉字联合出现的第三概率;根据所述第一概率、第二概率和第三概率,确定该汉字与其相邻的后一汉字的相关性值。
进一步地,所述确定模块,具体用于根据公式:确定该汉字与其相邻的后一汉字的相关性值,其中,P(A)为该汉字出现的第一概率,P(B)为该汉字的后一汉字出现的第二概率,P(A,B)为该汉字与其相邻的后一汉字联合出现的第三概率。
进一步地,所述确定模块,具体用于针对包含的汉字的数量超过预设的数量阈值的每个字符串中的每个汉字,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该汉字与其相邻的前一汉字联合出现的第四概率,该汉字与其相邻的后一汉字联合出现的第五概率,该汉字出现的第六概率和该汉字的前一汉字出现的第七概率;根据所述第四概率、第五概率、第六概率和第七概率,确定该汉字与其前或后相邻的汉字的链接趋势。
进一步地,所述确定模块,具体用于根据公式:确定该汉字与其前或后相邻的汉字的链接趋势,如果所述链接趋势为正,则表示该汉字与其相邻的前一汉字存在链接趋势,如果所述链接趋势为负,则表示该汉字与其相邻的后一汉字存在链接趋势,如果所述链接趋势为0,则表示该汉字与其前或后相邻的汉字不存在链接趋势,其中, P(x,y)为该汉字与其相邻的前一汉字联合出现的第四概率,P(y,z)为该汉字与其相邻的后一汉字联合出现的第五概率,P(y)为该汉字出现的第六概率,P(x)为该汉字的前一汉字出现的第七概率。
进一步地,所述分词模块,具体用于针对每两个相邻的汉字,判断第一个汉字的链接趋势是否为与其相邻的前一汉字存在链接趋势,且第二个汉字的链接趋势是否为与其相邻的后一汉字存在链接趋势,如果均是,则在该两个相邻的汉字之间确定分割点;根据该分割点将该字符串分拆为至少一个第一词组。
进一步地,所述确定模块,还用于针对目标词组中的每个汉字,根据公式:确定该汉字与其前或后相邻的汉字的链接趋势的值,其中, P(x,y)为该汉字与其相邻的前一汉字联合出现的第四概率,P(y,z)为该汉字与其相邻的后一汉字联合出现的第五概率,P(y)为该汉字出现的第六概率,P(x)为该汉字的前一汉字出现的第七概率;
所述分词模块,还用于针对每个目标词组,根据该目标词组中的每个汉字对应的链接趋势及链接趋势的值以及预设的链接趋势阈值,确定该目标词组中的分割点,根据该分割点将该目标词组分为至少一个目标子词组。
进一步地,所述分词模块,具体用于针对目标词组中的每两个相邻的汉字,如果相邻的汉字中第一个汉字对应的链接趋势为与其相邻的前一汉字存在链接趋势时,判断该第一个汉字对应的链接趋势的值是否大于预设的第一链接趋势阈值,如果是,则在该两个相邻的汉字之间确定分割点;或,如果相邻的汉字中第二个汉字对应的链接趋势为与其相邻的后一汉字存在链接趋势时,判断该第二个汉字对应的链接趋势的值是否大于预设的第二链接趋势阈值,如果是,则在该两个相邻的汉字之间确定分割点。
本发明实施例公开了一种文本的分词方法及装置,所述方法包括:针对待分词的文本,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该文本中的每个汉字与其相邻的后一汉字的相关性值;根据每个汉字与其相邻的后一汉字的相关性值以及预设的相关性阈值,将该文本拆分为至少一个字符串;针对每个字符串,判断该字符串包含的汉字的数量是否大于预设的数量阈值,如果否,则将该字符串确定为所述待分词的文本中的目标词组;如果是,则根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该字符串中的每个汉字与其前或后相邻的汉字的链接趋势;根据每个汉字与其前或后相邻的汉字的链接趋势,将该字符串拆分为至少一个第一词组;将所述至少一个第一词组确定为所述待分词的文本中的目标词组。由于在本发明实施例中,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,将该文本拆分为至少一个字符串,根据每个汉字与其前或后相邻的汉字的链接趋势,将包含的汉字的数量超过预设的数量阈值的字符串拆分为至少一个第一词组。因为考虑到了每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,结合了语言成词规律与语句组织规律,在一定程度上提高了分词的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种文本的分词过程示意图;
图2为本发明实施例4提供的一种文本的分词过程示意图;
图3为本发明实施例5提供的一种文本的分词过程中对目标词组进行分割的示意图;
图4为本发明实施例1提供的一种文本的分词装置结构图。
具体实施方式
为了提高对文本分词时的准确性,本发明实施例提供了一种文本的分词方法及装置。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
图1为本发明实施例1提供的一种文本的分词过程示意图,该过程包括以下步骤:
S101:针对待分词的文本,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该文本中的每个汉字与其相邻的后一汉字的相关性值;根据每个汉字与其相邻的后一汉字的相关性值以及预设的相关性阈值,将该文本拆分为至少一个字符串。
本发明实施例提供的文本的分词方法可以应用于电子设备。
电子设备中预先保存有每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率以及相关性阈值,当存在待分词的文本时,可以将该待分词的文本拆分为至少一个字符串。具体的可以是,先根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该文本中的每个汉字与其相邻的后一汉字的相关性值,然后根据每个汉字与其相邻的后一汉字的相关性值以及预设的相关性阈值,将该待分词的文本拆分为至少一个字符串。
电子设备中预先保存有系数,在根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该文本中的每个汉字与其相邻的后一汉字的相关性值时,具体的可以是,针对待分词的文本中的每两个相邻的汉字,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定第一个汉字与第二个汉字联合出现的概率,将第一个汉字与第二个汉字联合出现的概率与预设的系数的乘积作为第一个汉字与第二个汉字的相关性值。所述第一个汉字与第二个汉字联合出现的概率是指第一个汉字在前,第二个汉字在后,且第一个汉字与第二个汉字联合出现。针对本实施例以及其它实施例涉及到的某个汉字与某个汉字联合出现的概率均是一个在前一个在后有序出现的。
在根据每个汉字与其相邻的后一汉字的相关性值以及预设的相关性阈值,将该待分词的文本拆分为至少一个字符串时,具体的可以是,电子设备识别每个汉字与其相邻的后一汉字的相关性值,将相关性值大于预设的相关性阈值的相邻的至少两个汉字确定为一个字符串。
例如,相关性阈值为0.5,第一个汉字与第二个汉字的相关性值为0.7,第二个汉字与第三个汉字的相关性值为0.8,第三个汉字与第四个汉字的相关性值为0.3,第一个汉字和第二个汉字的相关性值大于相关性阈值且相邻,第二个汉字与第三个汉字的相关性值大于相关性阈值且相邻,第三个汉字与第四个汉字的相关性值小于相关性阈值,则将第一个汉字、第二个汉字和第三个汉字确定为一个字符串。
若第三个汉字与第四个汉字的相关性值为0.6,第四个汉字与第五个汉字的相关性值为0.4,第五个汉字与第六个汉字的相关性值为0.7,虽然第五个汉字与第六个汉字的相关性值大于相关性阈值,但是因为第四个汉字与第五个汉字的相关性值小于相关性阈值,第五个汉字与第三个汉字不相邻,则将该第一个汉字、第二个汉字、第三个汉字和第四个汉字确定为一个字符串,将第五个汉字与第六个汉字确定为一个字符串。
S102:针对每个字符串,判断该字符串包含的汉字的数量是否大于预设的数量阈值,如果否,则进行S103,如果是,则进行S104。
S103:将该字符串确定为所述待分词的文本中的目标词组。
电子设备中预先保存有数量阈值,当将该待分词的文本拆分为至少一个字符串后,可以针对每个字符串,判断该字符串包含的汉字的数量是否大于预设的数量阈值,如果不大于,则将该字符串确定为所述待分词的文本中的目标字符串。所述数量阈值可以为2,因为当一个字符串包含的汉字的数量小于或等于2时,一般认为该字符串无需再进行拆分,该字符串可以称为一个词组。
S104:根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该字符串中的每个汉字与其前或后相邻的汉字的链接趋势;根据每个汉字与其前或后相邻的汉字的链接趋势,将该字符串拆分为至少一个第一词组;将所述至少一个第一词组确定为所述待分词的文本中的目标词组。
电子设备中预先保存有每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,当确定出包含的汉字的数量大于预设的数量阈值的字符串后,可以将该包含的汉字的数量大于预设的数量阈值的字符串拆分为至少一个第一词组。具体的可以是,首先根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该字符串中的每个汉字与其前或后相邻的汉字的链接趋势,然后再根据每个汉字与其前或后相邻的汉字的链接趋势,将该字符串拆分为至少一个第一词组。
在根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该字符串中的每个汉字与其前或后相邻的汉字的链接趋势时,具体的可以是,针对字符串中的每三个相邻的汉字,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定第一个汉字和第二个汉字联合出现的概率,第二个汉字与第三个汉字联合出现的概率,根据公式:P(a,b)-P(b,c)确定该字符串中的第二个汉字与其前或后相邻的汉字的链接趋势,如果所述链接趋势为正,则表示该第二个汉字与第一个汉字存在链接趋势,如果所述链接趋势为负,则表示该第二个汉字与第三个汉字存在链接趋势,如果所述链接趋势为0,则表示该第二个汉字与第一个汉字或第二个汉字不存在链接趋势。P(a,b)为该第一个汉字和第二个汉字联合出现的概率,P(b,c)为第二个汉字与第三个汉字联合出现的概率。
在根据每个汉字与其前或后相邻的汉字的链接趋势,将该字符串拆分为至少一个第一词组时,具体的可以是针对每两个相邻的汉字,判断该相邻的汉字中的第一个汉字的链接趋势是否为与其相邻的前一汉字存在链接趋势,且第二个汉字的链接趋势是否为与其相邻的后一汉字存在链接趋势,如果均是,则在该相邻的汉字之间确定分割点;根据该分割点将该字符串拆分为至少一个第一词组。
上述提到的电子设备中预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率可以是,针对文本库中保存的大量文本,统计文本中每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率后保存到电子设备中的。具体的可以通过二字切分,将文本库中的每个文本划分为多个二连字表,针对每个汉字,统计该汉字与其相邻的后一汉字联合出现的第一次数,以及文本库中总的词语的数量,将该第一次数与该词语的总量的比值确定该为汉字与其相邻的后一汉字联合出现的概率;并针对每个汉字,统计文本库中该汉字出现的第二次数,将该第二次数与总的汉字的数量的比值确定为该汉字出现的概率。
由于在本发明实施例中,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,将该文本拆分为至少一个字符串,根据每个汉字与其前或后相邻的汉字的链接趋势,将包含的汉字的数量超过预设的数量阈值的字符串拆分为至少一个第一词组。因为考虑到了每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,结合了语言成词规律与语句组织规律,在一定程度上提高了分词的准确性。
实施例2:
为了提高确定的每个汉字与其相邻的后一汉字的相关性值的准确性,进一步达到提高文本分词的准确性的效果,在上述实施例的基础上,在本发明实施例中,所述根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该文本中的每个汉字与其相邻的后一汉字的相关性值包括:
针对待分词的文本中的每个汉字,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该汉字出现的第一概率,该汉字的后一汉字出现的第二概率,以及该汉字与其相邻的后一汉字联合出现的第三概率;
根据所述第一概率、第二概率和第三概率,确定该汉字与其相邻的后一汉字的相关性值。
在本发明实施例中,在确定待分词的文本中的每个汉字与其相邻的后一汉字的相关性值时,可以是针对待分词的文本中的每个汉字,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,查找该汉字出现的第一概率,该汉字的后一汉字出现的第二概率,以及该汉字与其相邻的后一汉字联合出现的第三概率;根据所述第一概率、第二概率和第三概率,确定该汉字与其相邻的后一汉字的相关性值。
在根据所述第一概率、第二概率和第三概率,确定该汉字与其相邻的后一汉字的相关性值时,具体的可以是,将第一概率与第二概率的乘积再与第三概率的比值确定为该汉字与其相邻的后一汉字的相关性值。
为了提高确定的每个汉字与其相邻的后一汉字的相关性值的准确性,进一步达到提高文本分词的准确性的效果,所述根据所述第一概率、第二概率和第三概率,确定该汉字与其相邻的后一汉字的相关性值包括:
根据公式:确定该汉字与其相邻的后一汉字的相关性值,其中,P(A)为该汉字出现的第一概率,P(B)为该汉字的后一汉字出现的第二概率,P(A,B)为该汉字与其相邻的后一汉字联合出现的第三概率。
每个汉字与其相邻的后一汉字联合出现的概率为该汉字与其相邻的后一汉字联合出现的次数与文本库中词语的总数的比值,每个汉字出现的概率为该汉字出现的次数与文本库中汉字的总数的比值。
该公式:为某汉字与其相邻的后一汉字的相关性值,体现了汉字之间结合的紧密程度,当相关性值达到预设的相关性阈值时,便可以认为该汉字与其相邻的后一汉字可以构成一个词组。所述相关性阈值可以为0。
当相关性值大于0时,即P(A,B)>P(A)*P(B),则第一个汉字与其相邻的后一汉字是正相关,则认为该汉字与其相邻的后一汉字可以构成一个词组。
当相关性值等于0时,即P(A,B)=P(A)*P(B),则第一个汉字与其相邻的后一汉字是不相关。
当相关性值小于0时,即P(A,B)<P(A)*P(B),则第一个汉字与其相邻的后一汉字是互斥的,则认为该汉字与其相邻的后一汉字基本不可以构成一个词组。
实施例3:
为了提高确定的每个汉字与其前或后相邻的汉字的链接趋势的准确性,进一步达到提高文本分词的准确性的效果,在上述各实施例的基础上,在本发明实施例中,所述根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该字符串中的每个汉字与其前或后相邻的汉字的链接趋势包括:
针对包含的汉字的数量超过预设的数量阈值的每个字符串中的每个汉字,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该汉字与其相邻的前一汉字联合出现的第四概率,该汉字与其相邻的后一汉字联合出现的第五概率,该汉字出现的第六概率和该汉字的前一汉字出现的第七概率;
根据所述第四概率、第五概率、第六概率和第七概率,确定该汉字与其前或后相邻的汉字的链接趋势。
在本发明实施例中,电子设备中预先保存有每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,在针对包含的汉字的数量超过预设的数量阈值的每个字符串中的每个汉字,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该字符串中的每个汉字与其前或后相邻的汉字的链接趋势时,可以是根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,查找该汉字与其相邻的前一汉字联合出现的第四概率,该汉字与其相邻的后一汉字联合出现的第五概率,该汉字出现的第六概率、该汉字的前一汉字出现的第七概率;根据所述第四概率、第五概率、第六概率、第七概率,确定该汉字与其前或后相邻的汉字的链接趋势。
所述根据所述第四概率、第五概率、第六概率和第七概率,确定该汉字与其前或后相邻的汉字的链接趋势包括:
根据公式:确定该汉字与其前或后相邻的汉字的链接趋势,如果所述链接趋势为正,则表示该汉字与其相邻的前一汉字存在链接趋势,如果所述链接趋势为负,则表示该汉字与其相邻的后一汉字存在链接趋势,如果所述链接趋势为0,则表示该汉字与其前或后相邻的汉字不存在链接趋势,其中, P(x,y)为该汉字与其相邻的前一汉字联合出现的第四概率,P(y,z)为该汉字与其相邻的后一汉字联合出现的第五概率,P(y)为该汉字出现的第六概率,P(x)为该汉字的前一汉字出现的第七概率。
实施例4:
为了进一步达到提高文本分词的准确性的效果,在上述各实施例的基础上,在本发明实施例中,所述根据每个汉字与其前或后相邻的汉字的链接趋势,将该字符串拆分为至少一个第一词组包括:
针对每两个相邻的汉字,判断第一个汉字的链接趋势是否为与其相邻的前一汉字存在链接趋势,且第二个汉字的链接趋势是否为与其相邻的后一汉字存在链接趋势,如果均是,则在该两个相邻的汉字之间确定分割点;
根据该分割点将该字符串拆分为至少一个第一词组。
在本发明实施例中,根据每个汉字与其前或后相邻的汉字的链接趋势,将该字符串拆分为至少一个第一词组,可以是根据每个汉字与其前或后相邻的汉字的链接趋势,针对每两个相邻的汉字,确定该两个相邻的汉字之间是否存在分割点,如果存在分割点,根据该分割点将该字符串拆分为至少一个第一词组。
在确定是否存在分割点时,具体的可以是,针对每两个相邻的汉字,判断第一个汉字的链接趋势是否为与其相邻的前一汉字存在链接趋势,且第二个汉字的链接趋势是否为与其相邻的后一汉字存在链接趋势,如果均是,则在该两个相邻的汉字之间确定分割点,如果有一个为否,则该两个相邻的汉字之间不存在分割点。
因为在确定每个汉字的链接趋势时,可能会用到该汉字与其相邻的前一汉字联合出现的概率,和该汉字与其相邻的后一汉字联合出现的概率,则可能没有办法确定字符串中的第一个汉字的链接趋势以及最后一个汉字的链接趋势,可以预先确定每个字符串中的第一个汉字的链接趋势为与其相邻的后一汉字存在链接趋势,最后一个汉字的链接趋势为与其相邻的前一汉字存在链接趋势。
图2为本发明实施例4提供的一种文本的分词过程示意图,该过程包括以下步骤:
S201:针对待分词的文本中的每个汉字,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该汉字出现的第一概率,该汉字的后一汉字出现的第二概率,以及该汉字与其相邻的后一汉字联合出现的第三概率;根据所述第一概率、第二概率和第三概率,确定该汉字与其相邻的后一汉字的相关性值。
S202:根据每个汉字与其相邻的后一汉字的相关性值以及预设的相关性阈值,将该文本拆分为至少一个字符串。
S203:针对每个字符串,判断该字符串包含的汉字的数量是否大于预设的数量阈值,如果否,则进行S204,如果是,则进行S205。
S204:将该字符串确定为所述待分词的文本中的目标词组。
S205:针对包含的汉字的数量超过预设的数量阈值的每个字符串中的每个汉字,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该汉字与其相邻的前一汉字联合出现的第四概率,该汉字与其相邻的后一汉字联合出现的第五概率,该汉字出现的第六概率和该汉字的前一汉字出现的第七概率;根据所述第四概率、第五概率、第六概率和第七概率,确定该汉字与其前或后相邻的汉字的链接趋势。
S206:针对每两个相邻的汉字,判断第一个汉字的链接趋势是否为与其相邻的前一汉字存在链接趋势,且第二个汉字的链接趋势是否为与其相邻的后一汉字存在链接趋势,如果均是,则在该两个相邻的汉字之间确定分割点;根据该分割点将该字符串拆分为至少一个第一词组;将所述至少一个第一词组确定为所述待分词的文本中的目标词组。
实施例5:
在确定出文本中的目标词组后,可以将该目标词组列入词典中,以便后续使用该词典进行分词。在上述各实施例的基础上,在本发明实施例中,所述方法还包括:
针对目标词组中的每个汉字,根据公式:确定该汉字与其前或后相邻的汉字的链接趋势的值,其中, P(x,y)为该汉字与其相邻的前一汉字联合出现的第四概率,P(y,z)为该汉字与其相邻的后一汉字联合出现的第五概率,P(y)为该汉字出现的第六概率,P(x)为该汉字的前一汉字出现的第七概率;
针对每个目标词组,根据该目标词组中的每个汉字对应的链接趋势及链接趋势的值以及预设的链接趋势阈值,确定该目标词组中的分割点,根据该分割点将该目标词组拆分为至少一个目标子词组。
在本发明实施例中,所述目标词组为根据上述各实施例确定的目标词组,在确定目标词组时,例如:可以是针对每两个相邻的汉字,判断该相邻的汉字中的第一个汉字的链接趋势是否为与其相邻的前一汉字存在链接趋势,且第二个汉字的链接趋势是否为与其相邻的后一汉字存在链接趋势,如果均是,则在该相邻的汉字之间确定分割点;根据该分割点将该字符串拆分为至少一个第一词组,将所述至少一个第一词组确定为所述待分词的文本中的目标词组。
也可以是将包含的汉字的数量不大于预设的数量阈值的字符串确定为目标词组。
针对每个目标词组,在将该目标词组拆分为至少一个目标子词组时,可以是根据该目标词组中的每个汉字对应的链接趋势及链接趋势的值以及预设的链接趋势阈值,确定该目标词组中的分割点,根据该分割点将该目标词组拆分为至少一个目标子词组。
所述根据该目标词组中的每个汉字对应的链接趋势及链接趋势的值以及预设的链接趋势阈值,确定该目标词组中的分割点包括:
针对目标词组中的每两个相邻的汉字,如果相邻的汉字中第一个汉字对应的链接趋势为与其相邻的前一汉字存在链接趋势时,判断该第一个汉字对应的链接趋势的值是否大于预设的第一链接趋势阈值,如果是,则在该两个相邻的汉字之间确定分割点;或,如果相邻的汉字中第二个汉字对应的链接趋势为与其相邻的后一汉字存在链接趋势时,判断该第二个汉字对应的链接趋势的值是否大于预设的第二链接趋势阈值,如果是,则在该两个相邻的汉字之间确定分割点。
在本发明实施例中,电子设备中预先保存有第一链接趋势阈值与第二链接趋势阈值,在确定该目标词组中的分割点时,可以是针对目标词组中的每两个相邻的汉字,判断两个相邻的汉字中第一个汉字对应的链接趋势是否为与其相邻的前一汉字存在链接趋势,如果是,则判断该第一个汉字对应的链接趋势的值是否大于预设的第一链接趋势阈值,如果否,则该两个相邻的汉字之间不存在分割点。如果该第一个汉字对应的链接趋势的值大于预设的第一链接趋势阈值,则在该两个相邻的汉字之间确定分割点,如果该第一个汉字对应的链接趋势的值不大于预设的第一链接趋势阈值,则该两个相邻的汉字之间不存在分割点。
也可以是针对目标词组中的每两个相邻的汉字,判断两个相邻的汉字中第一个汉字对应的链接趋势是否为与其相邻的后一汉字存在链接趋势,如果是,判断该第二个汉字对应的链接趋势的值是否大于预设的第二链接趋势阈值,如果否,则该两个相邻的汉字之间不存在分割点。如果该第二个汉字对应的链接趋势的值大于预设的第二链接趋势阈值,则在该两个相邻的汉字之间确定分割点,如果该第二个汉字对应的链接趋势的值不大于预设的第二链接趋势阈值,则该两个相邻的汉字之间不存在分割点。
所述第一链接趋势阈值和第二链接趋势阈值可以相同,也可以不同,较优的第一链接趋势阈值和第二链接趋势阈值为50。
综上可知:如果两个相邻的汉字中第一个汉字对应的链接趋势为与其相邻的前一汉字存在链接趋势,第二个汉字的链接趋势为与其前或后相邻的汉字不存在链接趋势,且该第一个汉字对应的链接趋势的值大于预设的第一链接趋势阈值,则该第一个汉字与第二个汉字之间存在分割点;
如果两个相邻的汉字中第一个汉字对应的链接趋势为与其相邻的前一汉字存在链接趋势,第二个汉字的链接趋势为与其相邻的前一汉字存在链接趋势,且该第一个汉字对应的链接趋势的值大于预设的第一链接趋势阈值,则该第一个汉字与第二个汉字之间存在分割点;
如果两个相邻的汉字中第二个汉字对应的链接趋势为与其相邻的后一汉字存在链接趋势,第一个汉字的链接趋势为与其前或后相邻的汉字不存在链接趋势,且该第二个汉字对应的链接趋势的值大于预设的第二链接趋势阈值,则该第一个汉字与第二个汉字之间存在分割点;
如果两个相邻的汉字中第二个汉字对应的链接趋势为与其相邻的后一汉字存在链接趋势,第一个汉字的链接趋势为与其相邻的后一汉字存在链接趋势,且该第二个汉字对应的链接趋势的值大于预设的第二链接趋势阈值,则该第一个汉字与第二个汉字之间存在分割点。
在确定每个汉字对应的链接趋势时,可以确定该汉字对应的链接趋势值,该链接趋势值可以理解为是一个矢量,有大小和方向,大小是链接趋势的值,指该汉字其相邻的前或后的汉字的紧密程度,方向是链接趋势,指该汉字可以与相邻的前或后的汉字链接。如果该链接趋势值大于0,则表示该汉字与其相邻的前一汉字存在链接趋势,如果该链接趋势值小于0,则表示该汉字与其相邻的后一汉字存在链接趋势,如果该链接趋势值为0,则表示该汉字与其前或后相邻的汉字不存在链接趋势。在确定目标词组时,只需使用每个汉字对应的链接趋势即可,在确定是否将目标词组拆分为子目标词组时,使用链接趋势值进行确定。
图3为本发明实施例5提供的一种文本的分词过程中对目标词组进行分割的示意图,该过程包括以下步骤:
S301:针对目标词组中的每个汉字,根据该汉字与其相邻的前一汉字联合出现的第四概率,该汉字与其相邻的后一汉字联合出现的第五概率,该汉字出现的第六概率,该汉字的前一汉字出现的第七概率,确定该汉字与其前或后相邻的汉字的链接趋势的值,进行S302和S304。
S302:针对每个目标词组中的每两个相邻的汉字,判断相邻的汉字中第一个汉字对应的链接趋势是否为与其相邻的前一汉字存在链接趋势,如果是,则进行S303,如果否,则不分割。
S303:判断该第一个汉字对应的链接趋势的值是否大于预设的第一链接趋势阈值,如果是,则进行S306,如果否,则不分割。
S304:针对每个目标词组中的每两个相邻的汉字,判断相邻的汉字中第二个汉字对应的链接趋势是否为与其相邻的后一汉字存在链接趋势,如果是,则进行S305,如果否,则不分割。
S305:判断该第二个汉字对应的链接趋势的值是否大于预设的第二链接趋势阈值,如果是,则进行S306,如果否,则不分割。
S306:在该两个相邻的汉字之间确定分割点,根据该分割点将该目标词组拆分为至少一个目标子词组。
图4为本发明实施例1提供的一种文本的分词装置结构图,该装置包括:
确定模块41,用于针对待分词的文本,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该文本中的每个汉字与其相邻的后一汉字的相关性值;
分词模块42,用于根据每个汉字与其相邻的后一汉字的相关性值以及预设的相关性阈值,将该文本拆分为至少一个字符串;
判断模块43,用于针对每个字符串,判断该字符串包含的汉字的数量是否大于预设的数量阈值;
目标词组确定模块44,用于当判断模块43的结果为否时,将该字符串确定为所述待分词的文本中的目标词组;
确定模块41,还用于当判断模块43的结果为是时,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该字符串中的每个汉字与其前或后相邻的汉字的链接趋势;
分词模块42,还用于根据每个汉字与其前或后相邻的汉字的链接趋势,将该字符串分拆为至少一个第一词组;
目标词组确定模块44,还用于将所述至少一个第一词组确定为所述待分词的文本中的目标词组。
所述确定模块41,具体用于针对待分词的文本中的每个汉字,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该汉字出现的第一概率,该汉字的后一汉字出现的第二概率,以及该汉字与其相邻的后一汉字联合出现的第三概率;根据所述第一概率、第二概率和第三概率,确定该汉字与其相邻的后一汉字的相关性值。
所述确定模块41,具体用于根据公式:确定该汉字与其相邻的后一汉字的相关性值,其中,P(A)为该汉字出现的第一概率,P(B)为该汉字的后一汉字出现的第二概率,P(A,B)为该汉字与其相邻的后一汉字联合出现的第三概率。
所述确定模块41,具体用于针对包含的汉字的数量超过预设的数量阈值的每个字符串中的每个汉字,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该汉字与其相邻的前一汉字联合出现的第四概率,该汉字与其相邻的后一汉字联合出现的第五概率,该汉字出现的第六概率和该汉字的前一汉字出现的第七概率;根据所述第四概率、第五概率、第六概率和第七概率,确定该汉字与其前或后相邻的汉字的链接趋势。
所述确定模块41,具体用于根据公式:确定该汉字与其前或后相邻的汉字的链接趋势,如果所述链接趋势为正,则表示该汉字与其相邻的前一汉字存在链接趋势,如果所述链接趋势为负,则表示该汉字与其相邻的后一汉字存在链接趋势,如果所述链接趋势为0,则表示该汉字与其前或后相邻的汉字不存在链接趋势,其中, P(x,y)为该汉字与其相邻的前一汉字联合出现的第四概率,P(y,z)为该汉字与其相邻的后一汉字联合出现的第五概率,P(y)为该汉字出现的第六概率,P(x)为该汉字的前一汉字出现的第七概率。
所述分词模块42,具体用于针对每两个相邻的汉字,判断第一个汉字的链接趋势是否为与其相邻的前一汉字存在链接趋势,且第二个汉字的链接趋势是否为与其相邻的后一汉字存在链接趋势,如果均是,则在该两个相邻的汉字之间确定分割点;根据该分割点将该字符串分拆为至少一个第一词组。
所述确定模块41,还用于针对目标词组中的每个汉字,根据公式:确定该汉字与其前或后相邻的汉字的链接趋势的值,其中, P(x,y)为该汉字与其相邻的前一汉字联合出现的第四概率,P(y,z)为该汉字与其相邻的后一汉字联合出现的第五概率,P(y)为该汉字出现的第六概率,P(x)为该汉字的前一汉字出现的第七概率;
所述分词模块42,还用于针对每个目标词组,根据该目标词组中的每个汉字对应的链接趋势及链接趋势的值以及预设的链接趋势阈值,确定该目标词组中的分割点,根据该分割点将该目标词组拆分为至少一个目标子词组。
所述分词模块42,具体用于针对目标词组中的每两个相邻的汉字,如果相邻的汉字中第一个汉字对应的链接趋势为与其相邻的前一汉字存在链接趋势时,判断该第一个汉字对应的链接趋势的值是否大于预设的第一链接趋势阈值,如果是,则在该两个相邻的汉字之间确定分割点;或,如果相邻的汉字中第二个汉字对应的链接趋势为与其相邻的后一汉字存在链接趋势时,判断该第二个汉字对应的链接趋势的值是否大于预设的第二链接趋势阈值,如果是,则在该两个相邻的汉字之间确定分割点。
本发明实施例公开了一种文本的分词方法及装置,所述方法包括:针对待分词的文本,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该文本中的每个汉字与其相邻的后一汉字的相关性值;根据每个汉字与其相邻的后一汉字的相关性值以及预设的相关性阈值,将该文本拆分为至少一个字符串;针对每个字符串,判断该字符串包含的汉字的数量是否大于预设的数量阈值,如果否,则将该字符串确定为所述待分词的文本中的目标词组;如果是,则根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,确定该字符串中的每个汉字与其前或后相邻的汉字的链接趋势;根据每个汉字与其前或后相邻的汉字的链接趋势,将该字符串拆分为至少一个第一词组;将所述至少一个第一词组确定为所述待分词的文本中的目标词组。由于在本发明实施例中,根据预先保存的每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,将该文本拆分为至少一个字符串,根据每个汉字与其前或后相邻的汉字的链接趋势,将包含的汉字的数量超过预设的数量阈值的字符串拆分为至少一个第一词组。因为考虑到了每个汉字与其它汉字联合出现的概率以及每个汉字出现的概率,结合了语言成词规律与语句组织规律,在一定程度上提高了分词的准确性。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者一个操作与另一个实体或者另一个操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全应用实施例、或结合应用和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。