分词词典的生成方法和装置及分词处理方法和装置的制造方法

xiaoxiao2020-10-23  17

分词词典的生成方法和装置及分词处理方法和装置的制造方法
【技术领域】
[0001]本发明涉及语音处理技术领域,尤其涉及一种分词词典的生成方法和装置及分词处理方法和装置。
【背景技术】
[0002]语音合成,又称文语转换(Text to Speech),能将文字信息实时转换为语音朗读出来,相当于给机器装上了人工嘴巴。对于语音合成系统,首先需要对输入的文本进行处理,其中包括分词处理。分词算法主要有两类,一种是基于词典匹配的算法,另一种是基于训练语料的学习算法。词典和训练语料分别是基于词典的匹配算法和基于训练语料的学习算法所必须的数据。
[0003]现有技术中,不管是词典生成还是语料生成,都必须依靠人工筛选和分词器切分,因此更新周期长且过于依赖已有分词器,无法识别未登录的词条或者语料。

【发明内容】

[0004]本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
[0005]为此,本发明的一个目的在于提出一种分词词典的生成方法,该方法可以不依赖人工筛选和分词器,可以识别未登录的词条,从而提高分词词典的生成速度和效果。
[0006]本发明的另一个目的在于提出一种分词处理方法,该方法可以结合基于词典匹配的算法和基于训练语料的学习算法的优点,从而提高分词效果。
[0007]本发明的另一个目的在于提出一种分词词典的生成装置。
[0008]本发明的另一个目的在于提出一种分词处理装置。
[0009]为达到上述目的,本发明第一方面实施例提出的分词词典的生成方法,包括:获取原始句语料;对所述原始句语料进行切分,得到分词,并对所述分词进行过滤,得到过滤结果,所述过滤包括如下项中的至少一项:基于词频和逆频率的过滤,基于边界的过滤,基于拼接的过滤;根据所述过滤结果生成分词词典。
[0010]本发明第一方面实施例提出的分词词典的生成方法,通过对切分后的分词进行过滤,生成分词词典,可以不依赖人工筛选和分词器,可以识别未登录的词条,从而提高分词词典的生成速度和效果。
[0011]为达到上述目的,本发明第二方面实施例提出的分词处理方法,包括:将待切分的原始文本,采用预先获取的分词词典,进行基于词典的匹配,将所述原始文本切分为分词;根据所述分词和预先获取的训练模型,进行基于训练语料的学习,得到分词结果;其中,所述分词词典采用如本发明第一方面实施例所述的方法生成。
[0012]本发明第二方面实施例提出的分词处理方法,在分词处理后,可以结合基于词典的匹配算法和基于训练语料的学习算法,因此可以结合这两种算法的优点,在分词时不仅可以参考词典的词条,还可以参考上下文信息,提高分词处理的效果。
[0013]为达到上述目的,本发明第三方面实施例提出的分词词典的生成装置,包括:获取模块,用于获取原始句语料;过滤模块,用于对所述原始句语料进行切分,得到分词,并对所述分词进行过滤,得到过滤结果,所述过滤包括如下项中的至少一项:基于词频和逆频率的过滤,基于边界的过滤,基于拼接的过滤;生成模块,用于根据所述过滤结果生成分词词典。
[0014]本发明第三方面实施例提出的分词词典的生成装置,通过对切分后的分词进行过滤,生成分词词典,可以不依赖人工筛选和分词器,可以识别未登录的词条,从而提高分词词典的生成速度和效果。
[0015]为达到上述目的,本发明第四方面实施例提出的分词处理装置,包括:第一切分模块,用于将待切分的原始文本,采用预先获取的分词词典,进行基于词典的匹配,将所述原始文本切分为分词;第二切分模块,用于根据所述分词和预先获取的训练模型,进行基于训练语料的学习,得到分词结果;其中,所述分词词典采用如本发明第一方面实施例所述的方法生成。
[0016]本发明第四方面实施例提出的分词处理装置,在分词处理后,可以结合基于词典的匹配算法和基于训练语料的学习算法,因此可以结合这两种算法的优点,在分词时不仅可以参考词典的词条,还可以参考上下文信息,提高分词处理的效果。
[0017]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0018]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0019]图1是本发明一实施例提出的分词词典的生成方法的流程示意图;
[0020]图2是本发明实施例中第一次过滤处理的流程示意图;
[0021]图3是本发明实施例中第二次过滤处理的流程示意图;
[0022]图4是本发明实施例中第三次过滤处理的流程示意图;
[0023]图5是本发明另一实施例提出的分词处理方法的流程示意图;
[0024]图6是本发明实施例中训练流程和预测流程的示意图;
[0025]图7是本发明另一实施例提出的分词词典的生成装置的结构示意图;
[0026]图8是本发明另一实施例提出的分词词典的生成装置的结构示意图;
[0027]图9是本发明另一实施例提出的分词处理装置的结构示意图;
[0028]图10是本发明另一实施例提出的分词处理装置的结构示意图。
【具体实施方式】
[0029]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0030]图1是本发明一实施例提出的分词词典的生成方法的流程示意图,该方法包括:
[0031]Sll:获取原始句语料。
[0032]其中,可以对已有数据进行收集,获取原始句语料,例如,原始句语料是已有的新闻文本中的句子。可以理解的是,在获取到文本后,对文本进行划分得到句子的方式不限定,例如,可以将标点符号隔开的部分作为一个句子。
[0033]S12:对所述原始句语料进行切分,得到分词,并对所述分词进行过滤,得到过滤结果,所述过滤包括如下项中的至少一项:基于词频和逆频率的过滤,基于边界的过滤,基于拼接的过滤。
[0034]现有技术中,在生成分词词典(简称为词典)时,先利用分词器切分原始句语料,得到分词,之后,统计分词词频,设置阈值过滤低频词,人工筛选低质词,从而生成词典。
[0035]而本实施例中,不需要人工筛选,通过过滤实现词典中的词条的自动筛选。
[0036]—个实施例中,以包括上述三次过滤且三次过滤依次执行为例。
[0037]具体的,所述对所述分词进行过滤,得到过滤结果,包括:
[0038]对所述分词进行基于词频和逆频率的过滤,得到第一次过滤结果;
[0039]根据所述第一次过滤结果,进行基于边界的过滤,得到第二次过滤结果;
[0040]根据所述第一次过滤结果和所述第二次过滤结果,进行拼接过滤,得到所述过滤结果。
[0041]如图2所示,从原始句语料开始到得到第一次过滤结果的流程可以包括:
[0042]S21:获取原始句语料。
[0043]例如,获取新闻类的文本,再对文本进行划分,得到句子,从而得到原始句语料。
[0044]S22:对原始句语料进行切分,得到分词。
[0045]其中,在对句子进行切分时,可以将句子切分为不同长度的字符串,每个字符串的长度可以设置。
[0046]本实施例中,以最小长度n0 = 1,最大长度N = 5,且相邻两个长度的差值L = I为例,则,对应一个原始句语料:我爱北京天安门,可以切分为如下的分词:
[0047]切分时,从“我”开始切分,得到的分词是:我,我爱,我爱北,我爱北京,我爱北京天。
[0048]之后,再从“爱”开始,用同样的方法进行切分,依此类推,最后从“门”开始切分,得到“门”。
[0049]S23:统计每个分词的词频和逆频率。
[0050]其中,词频是指一个分词在切分后得到的所有分词中的出现次数,例如,统计“我爱”在所有分词中的出现次数。
[0051]一个长度为η的分词,且逆频率是指包含该分词,且长度为(n+L)的分词的个数,其中,η是分词的任一长度,L是切分时两个相邻长度的差值。以上述切分为例,L= I。
[0052]例如,“我爱”的逆频率是指包含“我爱”的“我爱你”,“我爱他”,“我爱谁”这些分词的个数。
[0053]S24:根据所述词频和逆频率计算每个分词的权重,并根据所述权重对分词进行排序。
[0054]其中,权重与词频和逆频率成正比关系,具体公式可以设置。
[0055]本实施例中,以如下计算公式为例:
[0056]weight = log(frq+1)*log(idf+1);
[0057]其中,weight表示一个分词的权重,frq表示该分词的词频,idf表示该分词的逆频率,log表示取对数运算,*表示相乘运算。
[0058]在得到权重后,可以按照权重从大到小的顺序对分词进行排序。
[0059]其中,词频(词频的对数可以用tf表示)越高,代表这个词越重要。idf越高代表这个词含有的信息量越充足,例如微博”可以组成“发微博、写微博、看微博”,可以明显看出“微博”是这几个三字词中的重点,而“发、写、看”则并不是那么重要,因此通过idf可以较轻松的得到“微博”这种高质量词。
[0060]S25:在排序后的分词中,选择预设个数的权重较大,且词频大于第一预设值以及逆频率大于第二预设值的分词,得到选择后的分词。
[0061]例如,按照权重从大到小的顺序进行排序后,可以从前到后选择分词,并判断这些分词的词频和逆频率是否大于相应的预设值,从而得到预设个数的选择后的分词。
[0062]由于对原始句语料切分为长度分别是1,2,…,N的分词后,会得到分词的数据量过大,通过设置第一预设值和第二预设值可以过滤掉一些分词,降低处理的数据量。另外,tf或idf多低的分词,表明相应的分词很少出现在文本中或者信息量不足,因此,这些分词也不需要加入词典中。
[0063]S26:在所述选择后的分词中获取第一长度的分词,以及包含第一长度的分词的第二长度的分词,并计算所述第二长度的分词的词频与所述第一长度的分词的词频之间的比值,其中,所 述第二长度和所述第一长度是相邻的两个长度,且所述第二长度大于所述第一长度。
[0064]用公式例如表示为:计算η字词频/(η-1)字词频的比值,要求η字词包含(η_1)字词。
[0065]例如,“天安”包含于“天安门”,虽然“天安”的频率也很高,但实际上,根据统计发现,“天安”90%都是在“天安门”中出现的,这种情况则认为,“天安门”更稳定质量更高,而“天安”可能不成词,应该删除掉。
[0066]S27:如果所述比值大于或等于预设阈值,则将所述第一长度的分词确定为第一次过滤结果的删除词条,将所述第二长度的分词确定为第一次过滤结果的保留词条;或者,如果所述比值小于预设阈值,则将所述第一长度的分词确定为第一次过滤结果的保留词条。
[0067]例如,上述的“天安门”确定为第一次过滤结果的保留词条,“天安”确定为第一次过滤结果的删除词条。或者,
[0068]又例如,“发微博”的词频/ “微博”的词频的比值小于预设阈值,以及,“看微博”的词频/ “微博”的词频的比值小于预设阈值,则确定“微博”是第一次过滤结果的保留词条。
[0069]其中,在计算η字词频/(η-1)字词频的比值小于预设阈值时,可以是所有η字词频对应的比值都小于,例如,“发微博”的词频/ “微博”的词频的比值小于预设阈值,以及,“看微博”的词频/ “微博”的词频的比值小于预设阈值等;或者,也可以是η字词对应的比值中的最大值小于预设阈值,例如,计算“发微博”的词频/ “微博”的词频的比值,以及“看微博”的词频/ “微博”的词频的比值等,从这些比值中取出最大值,如果最大值小于预设阈值,则相应的(η-1)字词是保留词条。
[0070]在计算η字词频/(η-1)字词频的比值大于或等于预设阈值时,将任一个比值大于或等于预设阈值的η字词确定为保留词条,例如,“天安门”的词频/ “天安”的词频的比值大于预设阈值,则“天安门”是保留词条,而如果“京天安”的词频/ “天安”的词频的比值小于预设阈值,则“京天安”不是保留词条。
[0071]S28:将所述第一次过滤结果的删除词条和所述第一次过滤结果的保留词条,组成第一次过滤结果。
[0072]在得到第一次过滤结果的删除词条和保留词条后,可以由这些词条组成第一次过滤结果,第一次过滤结果包括保留词条和删除词条。
[0073]可以理解的是,本发明的一个实施例在后续的第三次过滤时会用到删除词条,因此第一次过滤结果中保存了删除词条,如果不需要进行后续过滤,则也可以不保存删除词条。
[0074]第一次过滤结果到此完成,第一次的过滤,主要依靠tf-1df信息,按照人工阈值和词频占比情况进行过滤,保留下来的词,都是一些较重要,信息量较足且删除了部分低质的词。这种过滤方式,完全依靠原始文本进行I?N的切分,不依赖分词器,因此可以识别出未登录词,且实现简单。
[0075]第一次过滤结果的数据可能不够干净,依然包含一些低质词,例如:“度以”,在天气类文本中不仅词频高,idf也高,可以组成“十度以上、一度以上、五度以上”等等,但“度以”本身并不组成词。为了过滤掉这种词,一个实施例中,还可以进行第二次过滤:基于边界的过滤。
[0076]如图3所示,所述根据所述第一次过滤结果,进行基于边界的过滤,得到第二次过滤结果,包括:
[0077]S31:在所述原始句语料中,获取第一原始句语料,所述第一原始句语料是包含所述第一次过滤结果的保留词条的原始句语料。
[0078]例如,第一次过滤结果的保留词条包括“天安门”,则可以在原始句语料中,获取包含“天安门”的语料,如“我爱北京天安门”。
[0079]S32:采用分词器,对所述第一原始句语料进行切分,并对应每个第一次过滤结果的保留词条,获取与所述保留词条对应的切分结果。
[0080]本实施例中,分词器不限定,甚至可以选择性能不太好的分词器。
[0081]在选择分词器后,可以采用分词器对第一原始句语料进行切分,得到相应的切分结果。
[0082]例如,第一次过滤结果的保留词条包括:“天安门”,原始句语料中包含“天安门”的第一原始句语料是“我爱北京天安门”,则可以采用分词器对“我爱北京天安门”进行切分。
[0083]S33:根据所述第一次过滤结果的保留词条和所述切分结果的边界情况,得到第二次过滤结果。
[0084]可选的,所述根据所述第一次过滤结果的保留词条和所述切分结果的边界情况,得到第二次过滤结果,包括:
[0085]如果所述保留词条和所述切分结果一致,或者,如果所述保留词条的边界和所述切分结果的边界一致,则将所述保留词条的第一值增加I ;或者,
[0086]如果所述保留词条的边界与所述切分结果的边界不一致,或者,如果所述保留词条包含于所述切分结果的边界内,则将所述保留词条的第二值增加I ;
[0087]计算所述保留词条对应的如下比值:第一值/(第一值+第二值);
[0088]如果所述比值大于或等于阈值,则将所述保留词条确定为第二次过滤结果的保留词条;或者,如果所述比值小于阈值,则将所述保留词条确定为第二次过滤结果的删除词条;
[0089]将所述第二次过滤结果的删除词条和所述第二次过滤结果的保留词条,组成第二次过滤结果。
[0090]其中,上述的第一值和第二值可以分别为Good和Bad表示,且第一值和第二组的初始值可以设置,例如初始值均为O。
[0091]例如,第一次过滤结果中的保留词条包括:“微博”,相应的第一原始句语料是“我爱写微博”,假设采用分词器得到的切分结果是:
[0092]“我I经常I写I微博I。”
[0093]由于切分结果的“ I微博I ”与保留词条的“微博” 一致,则“微博”对应的Good+Ι。或者,
[0094]第一次过滤结果中的保留词条包括:“周嘯天”,相应的第一原始句语料是“我讨厌周嘯天了”,假设采用分词器得到的切分结果是:
[0095]“我I讨厌I周I嘯天I 了 I。”
[0096]由于切分结果的“ I周I嘯天I ”与保留词条的“周嘯天”的边界一致,则“周嘯天”对应的Good+Ι。或者,
[0097]第一次过滤结果中的保留词条包括:“天修”,相应的第一原始句语料是“叶天修炼了魔功”,假设采用分词器得到的切分结果是:
[0098]“叶天I修炼I 了 I魔功I。”
[0099]由于切分结果的“叶天I修炼I”与保留词条的“天修”的边界一致,则“天修”对应的Bad+Ι。或者,
[0100]第一次过滤结果中的保留词条包括:“伯利亚”,相应的第一原始句语料是“我住在西伯利亚地区”,假设采用分词器得到的切分结果是:
[0101]“我I住在I西伯利亚I地区I。”
[0102]由于切分结果的“I西伯利亚I”包含保留词条“伯利亚”,则“伯利亚”对应的Bad+1 ο
[0103]在对应每个第一次过滤结果的保留词条,得到对应的Good和Bad后,可以计算该保留词条对应的G00d/(G00d+Bad)的比值,如果该比值大于或等于预设阈值,则确定为第二次过滤结果的保留词条,否则确定为第二次过滤结果的删除词条。
[0104]例如,第二次过滤结果的保留词条包括:“微博”,“周嘯天”,第二次过滤结果的删除词条包括:“天修”,“伯利亚”。
[0105]第二次过滤结果到此完成,第二次的过滤主要依靠分词边界,但不同于以前的老方法依靠分词本身。依靠分词本身的统计结果完全依赖于分词器,分词器能切出什么词,才能添加什么词,但如果分词器切分错误,得到的词也会错误。但依靠分词边界的方法则完全不同,即使分词器切错,例如:“周嘯天”不管是切成“周I嘯天、周嘯I天、周I嘯I天”对过滤都不会造成根本影响,因为更看重的是边界情况和最终比值。在任意多种分词器统计的情况下发现,只要合理设定G00d/(G00d+Bad)对应的预设阈值,最终的过滤结果都能达到要求,即使利用的分词器性能不够理想。
[0106]如果已有词典,且词典中存在低质量的词,可以继续使用拼接过滤方法,删除已有词典中会引起歧义或者质量过低的词,在以前的产品中,低质量词只能依靠人工方式来删除,本发明的一个实施例中则是完全自动化方式进行。
[0107]如图4所示,所述根据所述第一次过滤结果和所述第二次过滤结果,进行拼接过滤,得到所述过滤结果,包括:
[0108]S41:将存在于已有词典中的删除词条确定为删除备选词,所述删除词条包括:第一次过滤结果的删除词条和所述第二次过滤结果的删除词条。
[0109]例如,已有词典中包含“发微”,而“发微”属于第一次过滤结果的删除词条或者属于第二次过滤结果的删除词条,则确定“发微”是删除备选词。
[0110]S42:将所述删除备选词与保留词条进行首尾拼接,得到拼接后的词,所述保留词条包括:所述第一次过滤结果的保留词条和所述第二次过滤结果的保留词条。
[0111]首尾拼接是指根据两个词条首尾含有的相同字进行拼接。
[0112]例如,删除备选词是“发微”,假设保留词条(第一次过滤结果的保留词条或者第二次过滤结果的保留词条)中包括“微博”,由于“发微”(删除备选词)、“微博”(保留词条),他们的首尾端含有相同的“微”字,因此认为这两个词可以进行首尾拼接,并可以组成“发微博”;如果不包含相同字则不能拼接。
[0113]S43:判断所述拼接后的词是否是一个稳定的词条,如果是,则从已有词典中删除所述删除备选词,得到已有词典的保留词条。
[0114]另一方面,当拼接后的词不是稳定的词条时,则不删除该删除备选词。
[0115]可选的,所述判断所述拼接后的词是否是一个稳定的词条,包括:
[0116]如果所述拼接后的词存在于所述保留词条中,则确定所述拼接后的词是一个稳定的词条;或者,
[0117]如果所述拼接后的词的词频大于预设值,且所述拼接后的词不存在于所述删除词条中,则确定所述拼接后的词是一个稳定的词条;或者,
[0118]如果所述拼接后的词存在于已有的人工数据中,则确定所述拼接后的词是一个稳定的词条。
[0119]例如,第一次过滤结果的保留词条或者第二次过滤结果的保留词条中包含“发微博”,则可以确定“发微博”是稳定的词条;或者,“发微博”的词频大于预设值,且“发微博”不在第一次过滤结果的删除词条也不在第二次过滤结果的删除词条中,则可以确定“发微博”是稳定的词条;或 者,“发微博”在分词标注答案,分词训练集等已有的人工数据内,则可以确定“发微博”是稳定的词条。
[0120]S44:将所述第二次过滤结果的保留词条,以及所述已有词典的保留词条,确定为所述过滤结果。
[0121]拼接过滤方法,可以有效的从词典中删除低质量词条。从规律中可以发现删除的绝大多数都是二字词,这是因为随着词条的字数下降,产生歧义的可能性越大,一个二字词可以和很多字搭配,但三字词和四字词跟其他字搭配的可性能却很小,例如微博”可以和“写、看、读、念、发”搭配,但“看微博”却没有任何搭配。
[0122]二字词是成词的最基本单位,是数量最多的词条,也是最难判断的部分,即使二字词频率很高,但依然可能是低质量,例如:“语言学”中的“言学”,“发微博”中的“发微”。拼接的方法:将两个二字词也就是最基本分词单位进行拼接,尝试将它们组成粒度更大的词条,粒度越大,歧义越少也就越好判断词条的质量。因此总结起来,拼接方法主要依靠将小粒度的歧义词条,拼接为更大粒度的词条,来降低判断的难度,并以此来过滤存在歧义的低粒度词条。
[0123]S13:根据所述过滤结果生成分词词典。
[0124]例如,经过上述三次过滤后,将第二次过滤结果中的保留词条,以及,第三次过滤后得到的已有词典中的保留词条,确定为要生成的分词词典中的词条,并由这些词条组成分词词典。
[0125]本实施例中,通过对切分后的分词进行过滤,生成分词词典,可以不依赖人工筛选和分词器,可以识别未登录的词条,从而提高分词词典的生成速度和效果。具体的,词典的创建不需要人工筛选,也不依赖于分词器,在原始文本的基础上,可以生成质量较高的词库,同时还可以对已有词典进行过滤,删除其中低质的词条。自动化程度高,可以实现分词的快速迭代改进,整个改进流程中,没有必须依靠人工的步骤,大幅度缩减了改进周期。
[0126]上述的词典生成流程可以大幅度提高词典的干净程度,并增加更多的高质词条,对“基于词典的匹配算法”有明显的改进效果。但词典的完善不能弥补算法上的缺陷,基于词典的匹配算法切分过于机械化,经常切分出歧义词,例如很大程度上将持续”切分成“很大I程度I上将I持续I”,“上将”和“程度上”都是词典里的词,但基于词典的匹配算法,却无法准确判断歧义。为了解决这一问题,本实施例在分词处理时,将结合基于词典的匹配算法和基于训练语料的学习算法,从而在分词时可以有效利用上下文信息,提高分词效果。
[0127]图5是本发明另一实施例提出的分词处理方法的流程示意图,该方法包括:
[0128]S51:将待切分的原始文本,采用预先获取的分词词典,进行基于词典的匹配,将所述原始文本切分为分词。
[0129]其中,待切分的原始文本可以是指待进行语音合成的文本,在语音合成时,通常需要先进行分词处理。
[0130]现有技术中,分词处理主要采用基于词典的匹配算法,或者,基于训练语料的学习算法。
[0131 ] 而本实施例中,在分词处理时将结合这两种算法。
[0132]本实施例中,在分词处理的运算时,可以先进行基于词典的匹配,再进行基于训练语料的学习。
[0133]本实施例中,在基于词典的匹配时,采用的分词词典可以具体是采用上述实施例中的方法生成的。
[0134]S52:根据所述分词和预先获取的训练模型,进行基于训练语料的学习,得到分词结果。
[0135]其中,训练模型可以是在线下获取的。
[0136]现有技术中,在获取训练模型时,先采用分词器切分原始文本,再进行后续的模型建立流程。
[0137]本实施例中,在获取训练模型时,对原始文本可以采用上述实施例中生成的分词词典进行切分,而不采用分词器,从而避免对分词器的依赖。
[0138]相应的,该方法还可以包括:
[0139]获取训练语料,并将所述训练语料转换为原始文本;
[0140]根据所述分词词典对所述原始文本进行切分;
[0141]采用预设的训练算法,对切分后的分词进行训练,得到所述训练模型。
[0142]具体的,参见图6,训练流程(建立训练模型)和预测流程(得到分词结果)可以包括:
[0143]S601:在训练流程中,获取训练语料,以及,
[0144]S601’:在预测流程中,获取待切分的原始文本。
[0145]其中,训练语料是收集的一些数据,以训练生成训练模型。
[0146]待切分的原始文本,例如语音合成时当前要转换为语音的文本。
[0147]S602:在训练流程中,将训练语料转换成原始文本。
[0148]由于训练语料可能不规整,因此,可以进行特殊字符转换处理等,将训练语料转换成原始文本。
[0149]可以理解的是,在现有的训练流程中也会存在将训练语料转换成原始文本的流程,因此具体转换算法可以参见已有技术。
[0150]S603:根据分词词典切分原始文本。
[0151]其中,分词词典可以采用本发明的上述相关实施例生成,在此不再赘述。
[0152]在训练流程中,对转换成的原始文本进行切分,在预测流程中,对输入的待切分的原始文本进行切分。
[0153]S604:生成分词图结构。
[0154]S605:利用维特比(viterbi)计算路径代价。
[0155]S606:回溯选择最优路径。
[0156]其中,S604?S606是为了将切分后的分词组成训练算法所需的格式,本实施例的训练算法采用的是条件随机场(Condit1nal Random Field,CRF)算法。
[0157]现有技术中,在训练流程中,依据分词器切分后,也会将分词转换为训练算法所需的格式,类似的,在预测流程中,也需要先进行相应格式转换,因此,S604?S606的具体流程可以参见已有技术。
[0158]S607:在训练流程中,与训练语料结合,作为一维特征,以及,
[0159]S607’:在预测流程中,与原始文本进行结合,作为一维特征。
[0160]S608:在训练流程中,利用CRF算法,进彳丁训练。
[0161]S609:生成结合词典的CRF模型。
[0162]由于CRF算法是已有算法,具体训练流程可以参见已有技术。
[0163]S610:在预测流程中,利用CRF模型,进行预测。
[0164]S611:利用viterbi选择条件概率最大的序列。
[0165]其中,在预测流程中,利用CRF模型可以得到多种分词结果的序列,之后再根据viterbi算法,将条件概率最大的序列确定为最终的分词结果。viterbi算法也是已有算法,具体计算过程可以参见已有技术。
[0166]可以理解的是,虽然图6对训练流程和预测流程同时进行了展示,但是,在具体实施时,预测流程是在线上执行的,训练流程是在线下执行的。
[0167]在线下训练的过程中,将训练语料转成原始文本,送到“基于词典的匹配算法”中进行分词切分,之后将分词结果作为CRF训练的一维特征,与原有训练语料进行文本结合,并进行模型训练。最终得到的模型就是融合了 CRF和词典相互特点的新模型。
[0168]在线上预测流程中,操作过程类似,将待切分的原始文本,送到“基于词典的匹配算法”中进行分词切分,并组成CRF预测所需的格式,加载模型进行分词预测。
[0169]两者的结合,让词典对CRF算法产生一定的影响,在训练语料无法覆盖某些未登录词的情况下,丰富的词典可以保证未登录词切分正常,同时CRF充分考虑上下文信息,可以避免“基于词典的匹配算法”中切分经常歧义的错误。
[0170]改进切后的分词效果如下:
[0171]原始句:叶天能成为这周围几个村子的孩子王。
[0172]原始CRF算法:叶天能I成为I这I周围I几个I村子I的I孩子I王I。
[0173]结合算法:叶天I能I成为I这I周围I几个I村子I的I孩子I王I。
[0174]“叶天”是人名,但因为训练语料中没有对应的文本,因此对于CRF来说是未登录词,导致切分错误,但通过词典自动生成的流程,将“叶天”加入了词典中,并通过词典对CRF产生影响后,未登录能够正确识别了。
[0175]总体来看,词典自动创建与算法结合是相辅相成的,分别是文本提出的分词自动改进系统的前后衔接步骤,缺一不可。通过本文提出的系统,可以快速实现分词性能的迭代改进,尤其适合一些定制化领域,快速生成领域内的特殊词条,进而通过算法结合实现新添词条对分词结果的改进。
[0176]本实施例中,在分词处理后,可以结合基于词典的匹配算法和基于训练语料的学习算法,因此可以结合这两种算法的优点,在分词时不仅可以参考词典的词条,还可以参考上下文信息,提高分词处理的效果。具体的,将基于词典的匹配算法与基于训练语料的学习算法进行了结合,一方面减小了“基于词典的匹配算法”中过于依赖词典的弊病,另一方面,因为加入了词典,提高了 “基于训练语料的学习算法”中分词结果的稳定性,一定程度上防止了过于依赖训练语料,而导致未登录词切分歧义的问题。
[0177]图7是本发明另一实施例提出的分词词典的生成装置的结构示意图,该装置70包括:
[0178]获取模块71,用于获取原始句语料;
[0179]其中,可以对已有数据进行收集,获取原始句语料,例如,原始句语料是已有的新闻文本中的句子。可以理解的是,在获取到文本后,对文本进行划分得到句子的方式不限定,例如,可以将标点符号隔开的部分作为一个句子。
[0180]过滤模块72,用于对所述原始句语料进行切分,得到分词,并对所述分词进行过滤,得到过滤结果,所述过滤包括如下项中的至少一项:基于词频和逆频率的过滤,基于边界的过滤,基于拼接的过滤;
[0181]现有技术中,在生成分词词典(简称为词典)时,先利用分词器切分原始句语料,得到分词,之后,统计分词词频,设置阈值过滤低频词,人工筛选低质词,从而生成词典。
[0182]而本实施例中,不需要人工筛选,通过过滤实现词典中的词条的自动筛选。
[0183]一个实施例中,以包括上述三次过滤且三次过滤依次执行为例。
[0184]参见图8,所述过滤模块72包括:
[0185]分词单元721,用于对所述原始句语料进行切分,得到分词;
[0186]例如,获取新闻类的文本,再对文本进行划分,得到句子,从而得到原始句语料 。
[0187]其中,在对句子进行切分时,可以将句子切分为不同长度的字符串,每个字符串的长度可以设置。
[0188]本实施例中,以最小长度n0 = 1,最大长度N = 5,且相邻两个长度的差值L = I为例,则,对应一个原始句语料:我爱北京天安门,可以切分为如下的分词:
[0189]切分时,从“我”开始切分,得到的分词是:我,我爱,我爱北,我爱北京,我爱北京天。
[0190]之后,再从“爱”开始,用同样的方法进行切分,依此类推,最后从“门”开始切分,得到“门”。
[0191]第一过滤单元722,用于对所述分词进行基于词频和逆频率的过滤,得到第一次过滤结果;
[0192]可选的,所述第一过滤单元722具体用于:
[0193]统计每个分词的词频和逆频率;
[0194]根据所述词频和逆频率计算每个分词的权重,并根据所述权重对分词进行排序;
[0195]在排序后的分词中,选择预设个数的权重较大,且词频大于第一预设值以及逆频率大于第二预设值的分词,得到选择后的分词;
[0196]在所述选择后的分词中获取第一长度的分词,以及包含第一长度的分词的第二长度的分词,并计算所述第二长度的分词的词频与所述第一长度的分词的词频之间的比值,其中,所述第二长度和所述第一长度是相邻的两个长度,且所述第二长度大于所述第一长度;
[0197]如果所述比值大于或等于预设阈值,则将所述第一长度的分词确定为第一次过滤结果的删除词条,将所述第二长度的分词确定为第一次过滤结果的保留词条;或者,如果所述比值小于预设阈值,则将所述第一长度的分词确定为第一次过滤结果的保留词条;
[0198]将所述第一次过滤结果的删除词条和所述第一次过滤结果的保留词条,组成第一次过滤结果。
[0199]其中,词频是指一个分词在切分后得到的所有分词中的出现次数,例如,统计“我爱”在所有分词中的出现次数。
[0200]一个长度为η的分词,且逆频率是指包含该分词,且长度为(n+L)的分词的个数,其中,η是分词的任一长度,L是切分时两个相邻长度的差值。以上述切分为例,L= I。
[0201]例如,“我爱”的逆频率是指包含“我爱”的“我爱你”,“我爱他”,“我爱谁”这些分词的个数。
[0202]其中,权重与词频和逆频率成正比关系,具体公式可以设置。
[0203]本实施例中,以如下计算公式为例:
[0204]weight = log(frq+1)*log(idf+1);
[0205]其中,weight表示一个分词的权重,frq表示该分词的词频,idf表示该分词的逆频率,log表示取对数运算,*表示相乘运算。
[0206]在得到权重后,可以按照权重从大到小的顺序对分词进行排序。
[0207]其中,词频(词频的对数可以用tf表示)越高,代表这个词越重要。idf越高代表这个词含有的信息量越充足,例如微博”可以组成“发微博、写微博、看微博”,可以明显看出“微博”是这几个三字词中的重点,而“发、写、看”则并不是那么重要,因此通过idf可以较轻松的得到“微博”这种高质量词。
[0208]例如,按照权重从大到小的顺序进行排序后,可以从前到后选择分词,并判断这些分词的词频和逆频率是否大于相应的预设值,从而得到预设个数的选择后的分词。
[0209]由于对原始句语料切分为长度分别是1,2,…,N的分词后,会得到分词的数据量过大,通过设置第一预设值和第二预设值可以过滤掉一些分词,降低处理的数据量。另外,tf或idf多低的分词,表明相应的分词很少出现在文本中或者信息量不足,因此,这些分词也不需要加入词典中。
[0210]用公式例如表示为:计算η字词频/(η-1)字词频的比值,要求η字词包含(η_1)字词。
[0211]例如,“天安”包含于“天安门”,虽然“天安”的频率也很高,但实际上,根据统计发现,“天安”90%都是在“天安门”中出现的,这种情况则认为,“天安门”更稳定质量更高,而“天安”可能不成词,应该删除掉。
[0212]例如,上述的“天安门”确定为第一次过滤结果的保留词条,“天安”确定为第一次过滤结果的删除词条。或者,
[0213]又例如,“发微博”的词频/ “微博”的词频的比值小于预设阈值,以及,“看微博”的词频/ “微博”的词频的比值小于预设阈值,则确定“微博”是第一次过滤结果的保留词条。
[0214]其中,在计算η字词频/(η-1)字词频的比值小于预设阈值时,可以是所有η字词频对应的比值都小于,例如,“发微博”的词频/ “微博”的词频的比值小于预设阈值,以及,“看微博”的词频/ “微博”的词频的比值小于预设阈值等;或者,也可以是η字词对应的比值中的最大值小于预设阈值,例如,计算“发微博”的词频/ “微博”的词频的比值,以及“看微博”的词频/ “微博”的词频的比值等,从这些比值中取出最大值,如果最大值小于预设阈值,则相应的(η-1)字词是保留词条。
[0215]在计算η字词频/(η-1)字词频的比值大于或等于预设阈值时,将任一个比值大于或等于预设阈值的η字词确定为保留词条,例如,“天安门”的词频/ “天安”的词频的比值大于预设阈值,则“天安门”是保留词条,而如果“京天安”的词频/ “天安”的词频的比值小于预设阈值,则“京天安”不是保留词条。
[0216]在得到第一次过滤结果的删除词条和保留词条后,可以由这些词条组成第一次过滤结果,第一次过滤结果包括保留词条和删除词条。
[0217]可以理解的是,本发明的一个实施例在后续的第三次过滤时会用到删除词条,因此第一次过滤结果中保存了删除词条,如果不需要进行后续过滤,则也可以不保存删除词条。
[0218]第一次过滤结果到此完成,第一次的过滤,主要依靠tf-1df信息,按照人工阈值和词频占比情况进行过滤,保留下来的词,都是一些较重要,信息量较足且删除了部分低质的词。这种过滤方式,完全依靠原始文本进行I?N的切分,不依赖分词器,因此可以识别出未登录词,且实现简单。
[0219]第一次过滤结果的数据可能不够干净,依然包含一些低质词,例如:“度以”,在天气类文本中不仅词频高,idf也高,可以组成“十度以上、一度以上、五度以上”等等,但“度以”本身并不组成词。为了过滤掉这种词,一个实施例中,还可以进行第二次过滤:基于边界的过滤。
[0220]第二过滤单元723,用于根据所述第一次过滤结果,进行基于边界的过滤,得到第二次过滤结果;
[0221]可选的,所述第二过滤单元723具体用于:
[0222]在所述原始句语料中,获取第一原始句语料,所述第一原始句语料是包含所述第一次过滤结果的保留词条的原始句语料;
[0223]采用分词器,对所述第一原始句语料进行切分,并对应每个第一次过滤结果的保留词条,获取与所述保留词条对应的切分结果;
[0224]根据所述第一次过滤结果的保留词条和所述切分结果的边界情况,得到第二次过滤结果。
[0225]例如,第一次过滤结果的保留词条包括“天安门”,则可以在原始句语料中,获取包含“天安门”的语料,如“我爱北京天安门”。
[0226]本实施例中,分词器不限定,甚至可以选择性能不太好的分词器。
[0227]在选择分词器后,可以采用分词器对第一原始句语料进行切分,得到相应的切分结果。
[0228]例如,第一次过滤结果的保留词条包括:“天安门”,原始句语料中包含“天安门”的第一原始句语料是“我爱北京天安门”,则可以采用分词器对“我爱北京天安门”进行切分。
[0229]可选的,所述第二过滤单元723用于根据所述第一次过滤结果的保留词条和所述切分结果的边界情况,得到第二次过滤结果,包括:
[0230]如果所述保留词条和所述切分结果一致,或者,如果所述保留词条的边界和所述切分结果的边界一致,则将所述保留词条的第一值增加I ;或者,
[0231]如果所述保留词条的边界与所述切分结果的边界不一致,或者,如果所述保留词条包含于所述切分结果的边界内,则将所述保留词条的第二值增加I ;
[0232]计算所述保留词条对应的如下比值:第一值/(第一值+第二值);
[0233]如果所述比值大于或等于阈值,则将所述保留词条确定为第二次过滤结果的保留词;或者,如果所述比值小于阈值,则将所述保留词条确定为第二次过滤结果的删除词条;
[0234]将所述第二次过滤结果的删除词条和所述第二次过滤结果的保留词条,组成第二次过滤结果。
[0235]其中,上述的第一值和第二值可以分别为Good和Bad表示,且第一值和第二组的初始值可以设置,例如初始值均为O。
[0236]例如,第一次过滤结果中的保留词条包括:“微博”,相应的第一原始句语料是“我爱写微博”,假设采用分词器得到的切分结果是:
[0237]“我I经常I写I微博I。”
[0238]由于切分结果的“ I微博I ”与保留词条的“微博” 一致,则“微博”对应的Good+Ι。或者,
[0239]第一次过滤结果中的保留词条包括:“周嘯天”,相应的第一原始句语料是“我讨厌周嘯天了”,假设采用分词器得到的切分结果是:
[0240]“我I讨厌I周I嘯天I 了 I。”
[0241]由于切分结果的“ I周I嘯天I ”与保留词条的“周嘯天”的边界一致,则“周嘯天”对应的Good+Ι。或者,
[0242]第一次过滤结果中的保留词条包括:“天修”,相应的第一原始句语料是“叶天修炼了魔功”,假设采用分词器得到的切分结果是:
[0243]“叶天I修炼I 了 I魔功I。”
[0244]由于切分结果的“叶天I修炼I”与保留词条的“天修”的边界一致,则“天修”对应的Bad+Ι。或者,
[0245]第一次过滤结果中的保留词条包括:“伯利亚”,相应的第一原始句语料是“我住在西伯利亚地区”,假设采用分词器得到的切分结果是:
[0246]“我I住在I西伯利亚I地区U,,
[0247]由于切分结果的“I西伯利亚I”包含保留词条“伯利亚”,贝!]“伯利亚”对应的Bad+1 ο
[0248]在对应每个第一次过滤结果的保留词条,得到对应的Good和Bad后,可以计算该保留词条对应的G00d/(G00d+Bad)的比值,如果该比值大于或等于预设阈值,则确定为第二次过滤结果的保留词条,否则确定为第二次过滤结果的删除词条。< br>[0249]例如,第二次过滤结果的保留词条包括:“微博”,“周嘯天”,第二次过滤结果的删除词条包括:“天修”,“伯利亚”。
[0250]第二次过滤结果到此完成,第二次的过滤主要依靠分词边界,但不同于以前的老方法依靠分词本身。依靠分词本身的统计结果完全依赖于分词器,分词器能切出什么词,才能添加什么词,但如果分词器切分错误,得到的词也会错误。但依靠分词边界的方法则完全不同,即使分词器切错,例如:“周嘯天”不管是切成“周I嘯天、周嘯I天、周I嘯I天”对过滤都不会造成根本影响,因为更看重的是边界情况和最终比值。在任意多种分词器统计的情况下发现,只要合理设定G00d/(G00d+Bad)对应的预设阈值,最终的过滤结果都能达到要求,即使利用的分词器性能不够理想。
[0251]如果已有词典,且词典中存在低质量的词,可以继续使用拼接过滤方法,删除已有词典中会引起歧义或者质量过低的词,在以前的产品中,低质量词只能依靠人工方式来删除,本发明的一个实施例中则是完全自动化方式进行。
[0252]第三过滤单元724,用于根据所述第一次过滤结果和所述第二次过滤结果,进行拼接过滤,得到所述过滤结果。
[0253]可选的,所述第三过滤单元724具体用于:
[0254]将存在于已有词典中的删除词条确定为删除备选词,所述删除词条包括:第一次过滤结果的删除词条和所述第二次过滤结果的删除词条;
[0255]将所述删除备选词与保留词条进行首尾拼接,得到拼接后的词,所述保留词条包括:所述第一次过滤结果的保留词条和所述第二次过滤结果的保留词条;
[0256]判断所述拼接后的词是否是一个稳定的词条,如果是,则从已有词典中删除所述删除备选词,得到已有词典的保留词条;
[0257]将所述第二次过滤结果的保留词条,以及所述已有词典的保留词条,确定为所述过滤结果。
[0258]例如,已有词典中包含“发微”,而“发微”属于第一次过滤结果的删除词条或者属于第二次过滤结果的删除词条,则确定“发微”是删除备选词。
[0259]首尾拼接是指根据两个词条首尾含有的相同字进行拼接。
[0260]例如,删除备选词是“发微”,假设保留词条(第一次过滤结果的保留词条或者第二次过滤结果的保留词条)中包括“微博”,由于“发微”(删除备选词)、“微博”(保留词条),他们的首尾端含有相同的“微”字,因此认为这两个词可以进行首尾拼接,并可以组成“发微博”;如果不包含相同字则不能拼接。
[0261]可选的,所述第三过滤单元724用于判断所述拼接后的词是否是一个稳定的词条,包括:
[0262]如果所述拼接后的词存在于所述保留词条中,则确定所述拼接后的词是一个稳定的词条;或者,
[0263]如果所述拼接后的词的词频大于预设值,且所述拼接后的词不存在于所述删除词条中,则确定所述拼接后的词是一个稳定的词条;或者,
[0264]如果所述拼接后的词存在于已有的人工数据中,则确定所述拼接后的词是一个稳定的词条。
[0265]例如,第一次过滤结果的保留词条或者第二次过滤结果的保留词条中包含“发微博”,则可以确定“发微博”是稳定的词条;或者,“发微博”的词频大于预设值,且“发微博”不在第一次过滤结果的删除词条也不在第二次过滤结果的删除词条中,则可以确定“发微博”是稳定的词条;或者,“发微博”在分词标注答案,分词训练集等已有的人工数据内,则可以确定“发微博”是稳定的词条。
[0266]拼接过滤方法,可以有效的从词典中删除低质量词条。从规律中可以发现删除的绝大多数都是二字词,这是因为随着词条的字数下降,产生歧义的可能性越大,一个二字词可以和很多字搭配,但三字词和四字词跟其他字搭配的可性能却很小,例如微博”可以和“写、看、读、念、发”搭配,但“看微博”却没有任何搭配。
[0267]二字词是成词的最基本单位,是数量最多的词条,也是最难判断的部分,即使二字词频率很高,但依然可能是低质量,例如:“语言学”中的“言学”,“发微博”中的“发微”。拼接的方法:将两个二字词也就是最基本分词单位进行拼接,尝试将它们组成粒度更大的词条,粒度越大,歧义越少也就越好判断词条的质量。因此总结起来,拼接方法主要依靠将小粒度的歧义词条,拼接为更大粒度的词条,来降低判断的难度,并以此来过滤存在歧义的低粒度词条。
[0268]生成模块73,用于根据所述过滤结果生成分词词典。
[0269]例如,经过上述三次过滤后,将第二次过滤结果中的保留词条,以及,第三次过滤后得到的已有词典中的保留词条,确定为要生成的分词词典中的词条,并由这些词条组成分词词典。
[0270]本实施例中,通过对切分后的分词进行过滤,生成分词词典,可以不依赖人工筛选和分词器,可以识别未登录的词条,从而提高分词词典的生成速度和效果。具体的,词典的创建不需要人工筛选,也不依赖于分词器,在原始文本的基础上,可以生成质量较高的词库,同时还可以对已有词典进行过滤,删除其中低质的词条。自动化程度高,可以实现分词的快速迭代改进,整个改进流程中,没有必须依靠人工的步骤,大幅度缩减了改进周期。
[0271]上述的词典生成流程可以大幅度提高词典的干净程度,并增加更多的高质词条,对“基于词典的匹配算法”有明显的改进效果。但词典的完善不能弥补算法上的缺陷,基于词典的匹配算法切分过于机械化,经常切分出歧义词,例如很大程度上将持续”切分成“很大I程度I上将I持续I”,“上将”和“程度上”都是词典里的词,但基于词典的匹配算法,却无法准确判断歧义。为了解决这一问题,本实施例在分词处理时,将结合基于词典的匹配算法和基于训练语料的学习算法,从而在分词时可以有效利用上下文信息,提高分词效果。
[0272]图9是本发明另一实施例提出的分词处理装置的结构示意图,该装置90包括:
[0273]第一切分模块91,用于将待切分的原始文本,采用预先获取的分词词典,进行基于词典的匹配,将所述原始文本切分为分词;
[0274]其中,待切分的原始文本可以是指待进行语音合成的文本,在语音合成时,通常需要先进行分词处理。
[0275]现有技术中,分词处理主要采用基于词典的匹配算法,或者,基于训练语料的学习算法。
[0276]而本实施例中,在分词处理时将结合这两种算法。
[0277]本实施例中,在分词处理的运算时,可以先进行基于词典的匹配,再进行基于训练语料的学习。
[0278]本实施例中,在基于词典的匹配时,采用的分词词典可以具体是采用上述实施例中的方法生成的。
[0279]第二切分模块92,用于根据所述分词和预先获取的训练模型,进行基于训练语料的学习,得到分词结果;
[0280]其中,训练模型可以是在线下获取的。
[0281]现有技术中,在获取训练模型时,先采用分词器切分原始文本,再进行后续的模型建立流程。
[0282]本实施例中,在获取训练模型时,对原始文本可以采用上述实施例中生成的分词词典进行切分,而不采用分词器,从而避免对分词器的依赖。
[0283]参见图10,另一实施例中,该装置90还包括:
[0284]训练模块93,用于获取训练语料,并将所述训练语料转换为原始文本;根据所述分词词典对所述原始文本进行切分;采用预设的训练算法,对切分后的分词进行训练,得到所述训练模型。
[0285]具体的,训练流程(建立训练模型)和预测流程(得到分词结果)的具体实现可以参见图6,在此不再赘述。
[0286]本实施例中,在分词处理后,可以结合基于词典的匹配算法和基于训练语料的学习算法,因此可以结合这两种算法的优点,在分词时不仅可以参考词典的词条,还可以参考上下文信息,提高分词处理的效果。具体的,将基于词典的匹配算法与基于训练语料的学习算法进行了结合,一方面减小了“基于词典的匹配算法”中过于依赖词典的弊病,另一方面,因为加入了词典,提高了 “基于训练语料的学习算法”中分词结果的稳定性,一定程度上防止了过于依赖训练语料,而导致未登录词切分歧义的问题。
[0287]需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
[0288]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0289]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0290]本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0291]此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0292]上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0293]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0294]尽管上面已经示出和描述了本发明的实施例,可以理解的是 ,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
【主权项】
1.一种分词词典的生成方法,其特征在于,包括: 获取原始句语料; 对所述原始句语料进行切分,得到分词,并对所述分词进行过滤,得到过滤结果,所述过滤包括如下项中的至少一项:基于词频和逆频率的过滤,基于边界的过滤,基于拼接的过滤; 根据所述过滤结果生成分词词典。2.根据权利要求1所述的方法,其特征在于,所述对所述分词进行过滤,得到过滤结果,包括: 对所述分词进行基于词频和逆频率的过滤,得到第一次过滤结果; 根据所述第一次过滤结果,进行基于边界的过滤,得到第二次过滤结果; 根据所述第一次过滤结果和所述第二次过滤结果,进行拼接过滤,得到所述过滤结果。3.根据权利要求2所述的方法,其特征在于,所述对所述分词进行基于词频和逆频率的过滤,得到第一次过滤结果,包括: 统计每个分词的词频和逆频率; 根据所述词频和逆频率计算每个分词的权重,并根据所述权重对分词进行排序; 在排序后的分词中,选择预设个数的权重较大,且词频大于第一预设值以及逆频率大于第二预设值的分词,得到选择后的分词; 在所述选择后的分词中获取第一长度的分词,以及包含第一长度的分词的第二长度的分词,并计算所述第二长度的分词的词频与所述第一长度的分词的词频之间的比值,其中,所述第二长度和所述第一长度是相邻的两个长度,且所述第二长度大于所述第一长度;如果所述比值大于或等于预设阈值,则将所述第一长度的分词确定为第一次过滤结果的删除词条,将所述第二长度的分词确定为第一次过滤结果的保留词条;或者,如果所述比值小于预设阈值,则将所述第一长度的分词确定为第一次过滤结果的保留词条; 将所述第一次过滤结果的删除词条和所述第一次过滤结果的保留词条,组成第一次过滤结果。4.根据权利要求2所述的方法,其特征在于,所述根据所述第一次过滤结果,进行基于边界的过滤,得到第二次过滤结果,包括: 在所述原始句语料中,获取第一原始句语料,所述第一原始句语料是包含所述第一次过滤结果的保留词条的原始句语料; 采用分词器,对所述第一原始句语料进行切分,并对应每个第一次过滤结果的保留词条,获取与所述保留词条对应的切分结果; 根据所述第一次过滤结果的保留词条和所述切分结果的边界情况,得到第二次过滤结果O5.根据权利要求4所述的方法,其特征在于,所述根据所述第一次过滤结果的保留词条和所述切分结果的边界情况,得到第二次过滤结果,包括: 如果所述保留词条和所述切分结果一致,或者,如果所述保留词条的边界和所述切分结果的边界一致,则将所述保留词条的第一值增加I ;或者, 如果所述保留词条的边界与所述切分结果的边界不一致,或者,如果所述保留词条包含于所述切分结果的边界内,则将所述保留词条的第二值增加I ; 计算所述保留词条对应的如下比值:第一值/(第一值+第二值);如果所述比值大于或等于阈值,则将所述保留词条确定为第二次过滤结果的保留词条;或者,如果所述比值小于阈值,则将所述保留词条确定为第二次过滤结果的删除词条;将所述第二次过滤结果的删除词条和所述第二次过滤结果的保留词条,组成第二次过滤结果。6.根据权利要求2所述的方法,其特征在于,所述根据所述第一次过滤结果和所述第二次过滤结果,进行拼接过滤,得到所述过滤结果,包括: 将存在于已有词典中的删除词条确定为删除备选词,所述删除词条包括:第一次过滤结果的删除词条和所述第二次过滤结果的删除词条; 将所述删除备选词与保留词条进行首尾拼接,得到拼接后的词,所述保留词条包括:所述第一次过滤结果的保留词条和所述第二次过滤结果的保留词条; 判断所述拼接后的词是否是一个稳定的词条,如果是,则从已有词典中删除所述删除备选词,得到已有词典的保留词条; 将所述第二次过滤结果的保留词条,以及所述已有词典的保留词条,确定为所述过滤结果。7.根据权利要求6所述的方法,其特征在于,所述判断所述拼接后的词是否是一个稳定的词条,包括: 如果所述拼接后的词存在于所述保留词条中,则确定所述拼接后的词是一个稳定的词条;或者, 如果所述拼接后的词的词频大于预设值,且所述拼接后的词不存在于所述删除词条中,则确定所述拼接后的词是一个稳定的词条;或者, 如果所述拼接后的词存在于已有的人工数据中,则确定所述拼接后的词是一个稳定的词条。8.一种分词处理方法,其特征在于,包括: 将待切分的原始文本,采用预先获取的分词词典,进行基于词典的匹配,将所述原始文本切分为分词; 根据所述分词和预先获取的训练模型,进行基于训练语料的学习,得到分词结果; 其中,所述分词词典采用如权利要求1-7任一项所述的方法生成。9.根据权利要求8所述的方法,其特征在于,还包括: 获取训练语料,并将所述训练语料转换为原始文本; 根据所述分词词典对所述原始文本进行切分; 采用预设的训练算法,对切分后的分词进行训练,得到所述训练模型。10.一种分词词典的生成装置,其特征在于,包括: 获取模块,用于获取原始句语料; 过滤模块,用于对所述原始句语料进行切分,得到分词,并对所述分词进行过滤,得到过滤结果,所述过滤包括如下项中的至少一项:基于词频和逆频率的过滤,基于边界的过滤,基于拼接的过滤; 生成模块,用于根据所述过滤结果生成分词词典。11.根据权利要求10所述的装置,其特征在于,所述过滤模块包括: 分词单元,用于对所述原始句语料进行切分,得到分词; 第一过滤单元,用于对所述分词进行基于词频和逆频率的过滤,得到第一次过滤结果; 第二过滤单元,用于根据所述第一次过滤结果,进行基于边界的过滤,得到第二次过滤结果; 第三过滤单元,用于根据所述第一次过滤结果和所述第二次过滤结果,进行拼接过滤,得到所述过滤结果。12.根据权利要求11所述的装置,其特征在于,所述第一过滤单元具体用于: 统计每个分词的词频和逆频率; 根据所述词频和逆频率计算每个分词的权重,并根据所述权重对分词进行排序; 在排序后的分词中,选择预设个数的权重较大,且词频大于第一预设值以及逆频率大于第二预设值的分词,得到选择后的分词; 在所述选择后的分词中获取第一长度的分词,以及包含第一长度的分词的第二长度的分词,并计算所述第二长度的分词的词频与所述第一长度的分词的词频之间的比值,其中,所述第二长度和所述第一长度是相邻的两个长度,且所述第二长度大于所述第一长度;如果所述比值大于或等于预设阈值,则将所述第一长度的分词确定为第一次过滤结果的删除词条,将所述第二长度的分词确定为第一次过滤结果的保留词条;或者,如果所述比值小于预设阈值,则将所述第一长度的分词确定为第一次过滤结果的保留词条; 将所述第一次过滤结果的删除词条和所述第一次过滤结果的保留词条,组成第一次过滤结果。13.根据权利要求11所述的装置,其特征在于,所述第二过滤单元具体用于: 在所述原始句语料中,获取第一原始句语料,所述第一原始句语料是包含所述第一次过滤结果的保留词条的原始句语料; 采用分词器,对所述第一原始句语料进行切分,并对应每个第一次过滤结果的保留词条,获取与所述保留词条对应的切分结果; 根据所述第一次过滤结果的保留词条和所述切分结果的边界情况,得到第二次过滤结果O14.根据权利要求13所述的装置,其特征在于,所述第二过滤单元用于根据所述第一次过滤结果的保留词条和所述切分结果的边界情况,得到第二次过滤结果,包括: 如果所述保留词条和所述切分结果一致,或者,如果所述保留词条的边界和所述切分结果的边界一致,则将所述保留词条的第一值增加I ;或者, 如果所述保留词条的边界与所述切分结果的边界不一致,或者,如果所述保留词条包含于所述切分结果的边界内,则将所述保留词条的第二值增加I ; 计算所述保留词条对应的如下比值:第一值/(第一值+第二值); 如果所述比值大于或等于阈值,则将所述保留词条确定为第二次过滤结果的保留词条;或者,如果所述比值小于阈值,则将所述保留词条确定为第二次过滤结果的删除词条;将所述第二次过滤结果的删除词条和所述第二次过滤结果的保留词条,组成第二次过滤结果。15.根据权利要求11所述的装置,其特征在于,所述第三过滤单元具体用于: 将存在于已有词典中的删除词条确定为删除备选词,所述删除词条包括:第一次过滤结果的删除词条和所述第二次过滤结果的删除词条; 将所述删除备选词与保留词条进行首尾拼接,得到拼接后的词,所述保留词条包括:所述第一次过滤结果的保留词条和所述第二次过滤结果的保留词条; 判断所述拼接后的词是否是一个稳定的词条,如果是,则从已有词典中删除所述删除备选词,得到已有词典的保留词条; 将所述第二次过滤结果的保留词条,以及所述已有词典的保留词条,确定为所述过滤结果。16.根据权利要求15所述的装置,其特征在于,所述第三过滤单元用于判断所述拼接后的词是否是一个稳定的词条,包括: 如果所述拼接后的词存在于所述保留词条中,则确定所述拼接后的词是一个稳定的词条;或者, 如果所述拼接后的词的词频大于预设值,且所述拼接后的词不存在于所述删除词条中,则确定所述拼接后的词是一个稳定的词条;或者, 如果所述拼接后的词存在于已有的人工数据中,则确定所述拼接后的词是一个稳定的词条。17.一种分词处理装置,其特征在于,包括: 第一切分模块,用于将待切分的原始文本,采用预先获取的分词词典,进行基于词典的匹配,将所述原始文本切分为分词; 第二切分模块,用于根据所述分词和预先获取的训练模型,进行基于训练语料的学习,得到分词结果; 其中,所述分词词典采用如权利要求1-7任一项所述的方法生成。18.根据权利要求17所述的装置,其特征在于,还包括: 训练模块,用于获取训练语料,并将所述训练语料转换为原始文本;根据所述分词词典对所述原始文本进行切分;采用预设的训练算法,对切分后的分词进行训练,得到所述训练模型。
【专利摘要】本发明提出一种分词词典的生成方法和装置及分词处理方法和装置,该分词词典的生成方法包括获取原始句语料;对所述原始句语料进行切分,得到分词,并对所述分词进行过滤,得到过滤结果,所述过滤包括如下项中的至少一项:基于词频和逆频率的过滤,基于边界的过滤,基于拼接的过滤;根据所述过滤结果生成分词词典。该方法能够不依赖人工筛选和分词器,可以识别未登录的词条,从而提高分词词典的生成速度和效果。
【IPC分类】G06F17/27
【公开号】CN104899190
【申请号】CN201510301079
【发明人】肖朔, 李秀林, 白洁
【申请人】百度在线网络技术(北京)有限公司
【公开日】2015年9月9日
【申请日】2015年6月4日

最新回复(0)