发明内容
本发明的目的是提供一种中文分词歧义消除方法,用以解决现有算法需要大量训练语料和歧义词库的问题,以及伴随而来的算法的实时性问题。
相应的,本发明实施例还提供一种中文分词歧义消除系统,用以保证上述方法的实现及应用。
为了解决上述问题,本发明实施例公开了一种中文分词歧义消除方法,包括:
对待分词语句进行分词,获得初始分词结果;
针对所述初始分词结果,提取分词歧义点;
构造包含所述分词歧义点的新分词,并计算所述新分词的最大熵模型得分;
根据所述新分词的最大熵模型得分,判断所述新分词是否为有效分词;
用所述有效分词修正所述初始分词结果。
优选地,所述提取分词歧义点的步骤包括:
针对所述初始分词结果中的每个词构造候选词;
在场景库中进行搜索,确定所述候选词是否存在于所述场景库中;
提取存在于所述场景库中的候选词的第一个字或最后一个字作为分词歧义点。
优选地,所述待分词语句共包括N个字,依次为z1至zN,所述初始分词结果共包括M个词,依次为c1至cM,所述初始分词结果中的第i个词ci的最后一个字为zj,所述第i个词ci的候选词包括:
cizj+1,
cizj+1zj+2,
……
cizj+1zj+2……zN,
其中,M、N、i、j均为大于零的整数,且M≤N,i<M,j<N。
优选地,所述场景库用于存储与应用场景相关联的词,包括至少一个主题词典。
优选地,所述构造包含所述分词歧义点的新分词通过以下三种方式的至少其中之一来实现:
在所述待分词语句中,将从前方紧邻所述分词歧义点的至少一个字与所述分词歧义点组合,构造所述新分词;
在所述待分词语句中,将所述分词歧义点与从后方紧邻所述分词歧义点的至少一个字组合,构造所述新分词;
在所述待分词语句中,将从前方紧邻所述分词歧义点的至少一个字、所述分词歧义点、以及从后方紧邻所述分词歧义点的至少一个字组合,构造所述新分词。
优选地,还包括对所述最大熵模型进行训练。
优选地,所述对所述最大熵模型进行训练的步骤包括:
选择样本数据,对所述样本数据进行正确分词,获得正确的分词结果;
构造所述正确的分词结果中的每个分词的特征;
使用所述特征,训练所述最大熵模型;
其中,所述正确的分词结果包括L个分词,依次为z1至zL,其中第i个分词zi的特征包括:
zi-2,zi-1,zi+1,zi+2,zizi+1,zi+1zi+2,zi-1zi,zi-2zi-1,zi-1zi+1。
优选地,所述对所述最大熵模型进行训练的步骤还包括:
常用文本标注,针对所述正确的分词结果中的每个分词,判断其是否存在于所述场景库的主题词典中,将存在于所述场景库的主题词典中的分词标注为常用文本;
常用文本替换,针对所述正确的分词结果,将被标注为常用文本的分词替换为其所在的主题词典的名称;
模型特征构造,针对经过所述常用文本替换的正确的分词结果中的每个分词,构造所述最大熵模型的特征;
其中,经过所述常用文本替换的正确的分词结果包括L个分词,依次为s1至sL,其中第i个分词si的特征包括:
si-2,si-1,si+1,si+2,sisi+1,si+1si+2,si-1si,si-2si-1,si-1si+1。
本发明实施例还公开一种中文分词歧义消除系统,包括:
初始分词模块,用于对待分词语句进行分词,获得初始分词结果;
分词歧义点提取模块,用于针对所述初始分词结果,提取分词歧义点;
最大熵模型得分计算模块,用于构造包含所述分词歧义点的新分词,并计算所述新分词的最大熵模型得分;
有效分词判断模块,用于根据所述新分词的最大熵模型得分,判断所述新分词是否为有效分词;
修正模块,用于用所述有效分词修正所述初始分词结果。
优选地,所述分词歧义点提取模块包括:
候选词构造子模块,用于针对所述初始分词结果中的每个词构造候选词;
搜索子模块,用于在场景库中进行搜索,确定所述候选词是否存在于所述场景库中;
提取子模块,提取存在于所述场景库中的候选词的第一个字或最后一个字作为分词歧义点。
优选地,所述待分词语句共包括N个字,依次为z1至zN,所述初始分词结果共包括M个词,依次为c1至cM,所述初始分词结果中的第i个词ci的最后一个字为zj,所述第i个词ci的候选词包括:
cizj+1,
cizj+1zj+2,
……
cizj+1zj+2……zN,
其中,M、N、i、j均为大于零的整数,且M≤N,i<M,j<N。
优选地,所述场景库用于存储与应用场景相关联的词,包括至少一个主题词典。
优选地,所述构造包含所述分词歧义点的新分词通过以下三种方式的至少其中之一来实现:
在所述待分词语句中,将从前方紧邻所述分词歧义点的至少一个字与所述分词歧义点组合,构造所述新分词;
在所述待分词语句中,将所述分词歧义点与从后方紧邻所述分词歧义点的至少一个字组合,构造所述新分词;
在所述待分词语句中,将从前方紧邻所述分词歧义点的至少一个字、所述分词歧义点、以及从后方紧邻所述分词歧义点的至少一个字组合,构造所述新分词。
优选地,所述中文分词歧义消除系统还包括最大熵模型训练模块,用于对所述最大熵模型进行训练。
优选地,所述最大熵模型训练模块包括:
样本数据分词模块,用于选择样本数据,对所述样本数据进行正确分词,获得正确的分词结果;
分词特征构造模块,用于构造所述正确的分词结果中的每个分词的特征;
最大熵模型训练模块,用于使用所述特征,训练所述最大熵模型;
其中,所述正确的分词结果包括L个分词,依次为z1至zL,其中第i个分词zi的特征包括:
zi-2,zi-1,zi+1,zi+2,zizi+1,zi+1zi+2,zi-1zi,zi-2zi-1,zi-1zi+1。
优选地,所述最大熵模型训练模块还包括:
常用文本标注模块,用于针对所述正确的分词结果中的每个分词,判断其是否存在于所述场景库的主题词典中,将存在于所述场景库的主题词典中的分词标注为常用文本;
常用文本替换模块,用于针对所述正确的分词结果,将被标注为常用文本的分词替换为其所在的主题词典的名称;
模型特征构造模块,用于针对经过所述常用文本替换的正确的分词结果中的每个分词,构造所述最大熵模型的特征;
其中,经过所述常用文本替换的正确的分词结果包括L个分词,依次为s1至sL,其中第i个分词si的特征包括:
si-2,si-1,si+1,si+2,sisi+1,si+1si+2,si-1si,si-2si-1,si-1si+1。
与现有技术相比,本发明实施例包括以下优点:
根据应用场景构建场景库,包括针对应用场景选择若干主题,每个主题构建一个主题词典,存储与主题相关联的词。在实际应用过程中,可随时在场景库中增加新词,充实场景库,不断提高方法的精度。
基于样本数据的正确分词结果构造样本数据的正确分词的特征,根据这些特征对最大熵模型进行训练,此外,通过常用文本标注和常用文本替换,构造最大熵模型的特征,训练最大熵模型,从而克服了现有技术中需要大量训练语料数据和歧义语料库的缺点,分词效果达到实用的精度。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了根据示例性实施例的中文分词歧义消除方法的流程图,其具体包括以下步骤:
步骤101:对待分词语句进行分词,获得初始分词结果
众所周知,英文是以词为单位的,词和词之间靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述完整的意思。中文分词将汉字序列切分成词序列,其是中文自然语言处理的基础。分词模块,顾名思义,是用于执行中文分词的模块。目前常用的中文分词模块主要有LTP分词模块、CSW中文智能分词模块、ICTCLAS分词模块等等。
在示例性实施例中,可以根据实际需要,利用适当的现有分词模块对待分词语句进行分词,获得初始分词结果。
例如,利用LTP分词模块对待分词语句“请唱首韩语儿歌”进行分词,获得的初始分词结果如下:
请/唱/首/韩/语儿/歌
该语句被分为六个单独的词,很明显,这个初始分词结果存在歧义,其中的“韩语”和“儿歌”两个词被不当拆分了,造成分词结果与这句话要表达的本来意思不相符。这就是本发明需要解决的问题。
步骤102:针对初始分词结果,提取分词歧义点
在本步骤中,对初始分词结果进行检测,以识别歧义点。在示例性实施例中,针对初始分词结果中的每个词构造候选词,检测候选词是否存在于场景库中,如果是,则该候选词的第一个字和最后一个字就是分词歧义点,否则该候选词中不存在分词歧义点。
场景库用于存储与应用场景相关联的词,其可以是预先构建的。在示例性实施例中,可针对不同的应用场景选择若干主题来构建场景库,每个主题形成一个主题词典,场景库可包括若干个主题词典。例如针对儿童闲聊场景,可以选择如下主题分别形成主题词典,来构建场景库:诗人、诗歌、歌曲、歌手、关系、音乐风格、语言、热点词、故事、全国城市名及公交站名等。
可以不断在场景库中增加新的词语,例如,在初始的场景库中,诗人主题词典中不包含“李白”,因此在第一次检测时不能在场景库中搜索到“李白”。如果在后续的分词分析中判断“李白”是诗人,那么可将“李白”一词添加到场景库的诗人主题词典里。在优选方式下,可以实时地在场景库中增加新词。
以下详细描述步骤102所包含的子步骤:
子步骤201:针对初始分词结果中的每个词构造候选词
构造候选词的方法具体如下:
如果待分词语句共包括N个字,依次为z1至zN,待分词语句的初始分词结果共包括M个词,依次为c1至cM,那么对于初始分词结果中的第i个词ci,其最后一个字为zj,则第i个词ci的候选词包括:
cizj+1,
cizj+1zj+2,
……
cizj+1zj+2……zN,
其中,M、N、i、j均为大于零的整数,且M≤N,i<M,j<N。
例如,在步骤101提到的示例中,对于初始分词结果中的第1个词“请”,按照以上方法将其与后续的每个字分别进行合并,构造出如下候选词:
请唱、请唱首、请唱首韩、请唱首韩语、请唱首韩语儿、请唱首韩语儿歌。
对于初始分词结果中的第2个词“唱”,按照以上方法将其与后续的每个字分别进行合并,构造出如下候选词:
唱首、唱首韩、唱首韩语、唱首韩语儿、唱首韩语儿歌。
类似地,对于初始分词结果中的每个词进行上述处理,最终得到的所有候选词如下:
请唱、请唱首、请唱首韩、请唱首韩语、请唱首韩语儿、请唱首韩语儿歌、唱首、唱首韩、唱首韩语、唱首韩语儿、唱首韩语儿歌、首韩、首韩语、首韩语儿、首韩语儿歌、韩语、韩语儿、韩语儿歌、语儿歌、儿歌。
子步骤202:在场景库中进行搜索,确定候选词是否存在于场景库中
针对子步骤201中获得的候选词,在场景库中进行搜索。例如,可以采用现有的字符匹配方法在场景库中搜索候选词。
例如,针对子步骤201中获得的20个候选词,分别在预先构建的场景库中进行搜索。而且,可以在场景库的所有主题词典中进行搜索。
子步骤203:提取存在于场景库中的候选词的第一个字或最后一个字作为分词歧义点
如果能够在场景库中搜索到某个候选词,那么说明在通过分词模块进行分词时,这个候选词处可能存在歧义。因此,提取这个候选词的第一个字或最后一个字作为分词歧义点。
例如在以上示例中,在场景库中搜索到了候选词“韩语”和“儿歌”,那么提取候选词“韩语”的最后一个字“语”和候选词“儿歌”的第一个字“儿”作为分词歧义点。当然,也可以提取候选词“韩语”的第一个字“韩”和候选词“儿歌”的最后一个字“歌”作为分词歧义点,经过后续步骤的处理后,所得到的结果是相同的。
步骤103:构造包含分词歧义点的新分词,并计算新分词的最大熵模型得分
由于在分词歧义点处可能存在分词歧义,因此构造包含分词歧义点的新分词,利用最大熵模型,计算这些新分词的最大熵模型得分,以进一步进行后续处理。
可以通过以下三种方式构造新分词:
(1)在待分词语句中,将从前方紧邻分词歧义点的至少一个字与分词歧义点组合,构造新分词;
(2)在待分词语句中,将分词歧义点与从后方紧邻分词歧义点的至少一个字组合,构造新分词;
(3)在待分词语句中,将从前方紧邻分词歧义点的至少一个字、分词歧义点、以及从后方紧邻分词歧义点的至少一个字组合,构造新分词。
可以根据实际需要来确定在分词歧义点的前方和后方与分词歧义点进行组合以构成新分词的字的字数。例如,可以将从前方紧邻分词歧义点的两个字与分词歧义点组合,构造三个字的新分词,可以将分词歧义点与从后方紧邻分词歧义点的两个字组合,构造三个字的新分词,以及可以将从前方紧邻分词歧义点的一个字、分词歧义点、以及从后方紧邻分词歧义点的一个字组合,构造三三个字的新分词。
例如,在步骤102提到的示例中,已经提取“语”和“儿”作为分词歧义点,那么根据以上描述,在待分词语句中,将从前方紧邻分词歧义点的一个字与分词歧义点组合,并将分词歧义点与从后方紧邻分词歧义点的一个字组合,构造以下新分词:
韩语、语儿、儿歌
构造新分词之后,可以利用最大熵模型,计算这些新分词的最大熵模型得分。
最大熵模型是一种机器学习方法,在自然语言处理的许多领域(如词性标注、中文分词、句子边界识别、浅层句法分析及文本分类等)都有比较好的应用效果。根据最大熵原则,当根据不完整的信息作为依据进行推断时,应该由满足分布限制条件的具有最大熵的概率分布推得。或者说,对随机事件的所有相容的预测中,熵最大的预测出现的概率占绝对优势。
在示例性实施例中,利用最大熵模型计算新分词的最大熵模型得分,可以评价在给定的最大熵模型下,新分词出现的概率。
在上述实例中,已经确定三个新分词“韩语”、“语儿”、“儿歌”,计算三个新分词的最大熵模型得分:“韩语”的得分是0.995762,“儿歌”的得分是0.99997,“语儿”的得分是0.957226。得分越高的新分词,越可能是正确的分词结果。
在使用最大熵模型之前,优选地要对最大熵模型进行训练,以使模型能够正确反映常用词语出现的概率。在优选实施例中,可以按照以下步骤对最大熵模型进行训练:
子步骤301:选择样本数据,对样本数据进行正确分词,获得正确的分词结果
在实际应用中,可以根据本方法可能应用的场景,选择适当的样本数据对最大熵模型进行训练。例如,当本方法将应用于儿童闲聊场景时,可以选择与诗人、诗歌、歌曲、歌手、关系、音乐风格、语言、热点词、故事相关的样本数据。样本数据可以是从日常场景中获取的语句。
选择样本数据之后,可以通过人工或其他方式对样本数据进行正确分词,获得正确的分词结果。正确的分词结果是最大熵模型训练的目标,换言之,最大熵模型训练的目标就是对于正确的分词结果能够输出最大的概率值。
子步骤302:构造样本数据的正确的分词结果中的每个分词的特征
在获得样本数据的正确的分词结果之后,构造正确的分词结果中的每个分词的特征。
按照以下方式构造一个分词的特征:如果样本数据的正确的分词结果包括L个分词,依次为z1至zL,那么正确的分词结果中的第i个分词zi的特征包括:
zi-2,zi-1,zi+1,zi+2,zizi+1,zi+1zi+2,zi-1zi,zi-2zi-1,zi-1zi+1
例如,对于样本数据“请唱首韩语儿歌”,正确的分词结果是:
请/唱/首/韩语/儿歌
对于正确分词结果中的分词“首”,其特征包括:
请、唱、韩语、儿歌、请唱、唱首、首韩语、韩语儿歌、唱韩语。
子步骤303:使用每个分词的特征,训练最大熵模型
在子步骤302中构造了正确的分词结果中每个分词的特征,使用这些构造好的特征,训练最大熵模型。例如,可以采用L-BFGS算法训练最大熵模型。训练的目的是使正确分词的特征概率值最大,越接近正确分词的特征概率值越大。
如果一个特征没有出现在最大熵模型中,那么在最大熵模型中对该特征赋予平均概率值。
在执行子步骤303之后,为了达到更好的训练效果,可以继续执行以下子步骤304至306,对最大熵模型继续进行训练。
子步骤304:常用文本标注
常用文本是在某一应用场景下经常出现的词,其存于场景库的主题词典中。在该步骤中,对常用文本进行标注,具体方式是:针对正确的分词结果中的每个分词,判断其是否存在于场景库的主题词典中,将存在于场景库的主题词典中的分词标注为常用文本。
可以通过在场景库的主题词典中进行搜索,来判断某个分词是否存在于场景库的主题词典中。
例如,对于样本数据:“请来一首张学友的恶狼传说”
正确的分词结果如下:
请/来/一/首/张学友/的/恶狼传说
根据上述分词结果在场景库中进行搜索,将分别在歌手主题词典和歌曲主题词典中搜索到的分词“张学友”、“恶狼传说”标注为常用文本。
子步骤305:常用文本替换
在完成常用文本标注后,针对正确的分词结果,将被标注为常用文本的分词替换为其所在的主题词典的名称。
前文提到,预先构建的场景库可包括多个主题词典,例如诗人主题词典、诗歌主题词典、歌手主题词典等。在该步骤中,对于正确的分词结果中被标注为常用文本的分词,将其替换成其所在的主题词典的名称。
例如,对于正确的分词结果“请/给/我/朗诵/一首/李白/的/静夜思”,被标注为常用文本的分词“李白”存在于诗人主题词典中,“静夜思”存在于诗歌主题词典中,因此直接用“诗人”和“诗歌”替换“李白”和“静夜思”。
经过替换后,正确的分词结果变为:
请/给/我/朗诵/一首/诗人/的/诗歌。
最大熵模型的训练目的在于搜集语句模式,搜集的语句模式越全,模型就越准确。通过上述替换,能够扩展样本数据的语句模式,从而在训练样本数据较少的情况下,汇总出相对全的语句模式,避免由于样本数据的语句模式不足,而导致模型训练结果不佳,进而做出错误的判断。
例如,对于上述分词结果“请/给/我/朗诵/一首/李白/的/静夜思”,经过替换之后变为“请/给/我/朗诵/一首/诗人/的/诗歌”。对于诗人,他们出现的语句模式基本上是相同的,也就是说,在出现“李白”的语句模式中,同样也可能出现“杜甫”或其他诗人。因此替换后的样本数据“请给我朗诵一首诗人的诗歌”的语句模式可以应用到所有诗人上,从而弥补样本数据的语句模式不足可能带来的问题。
子步骤306:模型特征构造
对于在子步骤305中经过常用文本替换的正确的分词结果,针对其中的每个分词,构造最大熵模型的特征。
按照以下方式构造最大熵模型的特征:经过常用文本替换的正确的分词结果包括L个分词,依次为s1至sL,正确的分词结果中的第i个分词si的特征包括:
si-2,si-1,si+1,si+2,sisi+1,si+1si+2,si-1si,si-2si-1,si-1si+1
例如,对于经过子步骤305处理的分词结果“请/给/我/朗诵/一首/诗人/的/诗歌”,对于分词“诗人”,其前面第二个词是“一”,其前面第一个词是“首”,其后面第一个词是“的”,其后面第二个词是“诗歌”。那么对于当前词“诗人”,构造的最大熵模型的特征包括:
朗诵、一首、的、诗歌、朗诵一首、一首诗人、诗人的、的诗歌、一首的
通过上述子步骤304至306,进一步扩大和补充了最大熵模型的特征。可以利用上述构造的特征,对最大熵模型进行训练。
步骤104:根据新分词的最大熵模型得分,判断新分词是否为有效分词
由于最大熵模型得分反映了新分词在模型训练的样本数据中出现的概率,因此在计算所有新分词的最大熵模型得分之后,可根据一个新分词的得分判断其是否为有效分词,进而确定其是否可用于后续的修正步骤。
一种有效的方法是根据新分词的最大熵模型得分对所有新分词进行排序,例如可以按照得分从高到低的顺序对所有新分词进行排序。根据排序结果,确定排序靠前的至少一个新分词为有效分词,例如可以选择排在前3名或者前2名的新分词作为有效分词。
例如,在步骤103所提到的示例中,构造了以下新分词:
韩语、语儿、儿歌
将这三个新分词按照最大熵模型得分从高到低的顺序进行排序,结果是:
儿歌、韩语、语儿
选择排在前2名的新分词“韩语”和“儿歌”作为有效分词。
当构造的新分词数量较多时,可以适当选择更多的新分词作为有效分词。
步骤105:用有效分词修正初始分词结果
修正初始分词结果,将有效分词划分在一起,获得消除歧义后的分词结果。
例如,对于待分词语句“请唱首韩语儿歌”,其初始分词结果如下:
请/唱/首/韩/语儿/歌
用步骤104获得的有效分词“韩语”和“儿歌”对初始分词结果进行修正,将有效分词划分在一起,获得消除歧义后的分词结果如下:
请/唱/首/韩语/儿歌
应用示例
以下参考一个应用示例简要说明本发明的中文分词歧义消除方法的流程和效果。在该示例中,应用根据示例性实施例的中文分词歧义消除方法处理语句“早上好用英语怎么说”。
首先,通过LTP分词模块对语句进行分词,获得初始分词结果:
早上/好用/英语/怎么/说
然后,在场景库中进行搜索,可以搜索到“早上好”和“怎么说”,从而提取分词歧义点“好”和“说”。
接下来,构造包含分词歧义点的三个字的新分词,包括:早上好、上好用、好用英、怎么说,在训练好的最大熵模型上计算这些新分词的得分。
对这些新分词的得分进行排序,“早上好”和“怎么说”的得分排序靠前,确定这两个新分词是有效分词。
最后,用这两个有效分词修正初始分词结果,得到消除歧义的分词结果:
早上好/用/英语/怎么说
新的分词结果更能体现这句话实际要表达的含义,消除了原始分词结果中的歧义。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参考图2,示出了根据示例性实施例的中文分词歧义消除系统的结构框图,具体包括以下模块:
初始分词模块2101,用于对待分词语句进行分词,获得初始分词结果;
分词歧义点提取模块2102,用于针对初始分词结果,提取分词歧义点;
最大熵模型得分计算模块2103,用于构造包含分词歧义点的新分词,并计算新分词的最大熵模型得分;
有效分词判断模块2104,用于根据新分词的最大熵模型得分,判断新分词是否为有效分词;
修正模块2105,用于用有效分词修正初始分词结果。
在本发明的一种优选实施例中,分词歧义点提取模块2102可以包括:
候选词构造子模块,用于针对初始分词结果中的每个词构造候选词;
搜索子模块,用于在场景库中进行搜索,确定候选词是否存在于场景库中;
提取子模块,提取存在于场景库中的候选词的第一个字或最后一个字作为分词歧义点。
在本发明的一种优选实施例中,待分词语句共包括N个字,依次为z1至zN,初始分词结果共包括M个词,依次为c1至cM,初始分词结果中的第i个词ci的最后一个字为zj,第i个词ci的候选词包括:
cizj+1,
cizj+1zj+2,
……
cizj+1zj+2……zN,
其中,M、N、i、j均为大于零的整数,且M≤N,i<M,j<N。
在本发明的一种优选实施例中,场景库用于存储与应用场景相关联的词,包括至少一个主题词典。
在本发明的一种优选实施例中,构造包含分词歧义点的新分词通过以下三种方式的至少其中之一来实现:
在待分词语句中,将从前方紧邻分词歧义点的至少一个字与分词歧义点组合,构造新分词;
在待分词语句中,将分词歧义点与从后方紧邻分词歧义点的至少一个字组合,构造新分词;
在待分词语句中,将从前方紧邻分词歧义点的至少一个字、分词歧义点、以及从后方紧邻分词歧义点的至少一个字组合,构造新分词。
在本发明的一种优选实施例中,中文分词歧义消除系统还包括最大熵模型训练模块,用于对最大熵模型进行训练。
在本发明的一种优选实施例中,最大熵模型训练模块包括:
样本数据分词模块,用于选择样本数据,对样本数据进行正确分词,获得正确的分词结果;
分词特征构造模块,用于构造所述正确的分词结果中的每个分词的特征;
最大熵模型训练模块,用于使用所述特征,训练所述最大熵模型;
其中,所述正确的分词结果包括L个分词,依次为z1至zL,其中第i个分词zi的特征包括:
zi-2,zi-1,zi+1,zi+2,zizi+1,zi+1zi+2,zi-1zi,zi-2zi-1,zi-1zi+1。
在本发明的一种优选实施例中,最大熵模型训练模块还包括:
常用文本标注模块,用于针对所述正确的分词结果中的每个分词,判断其是否存在于所述场景库的主题词典中,将存在于所述场景库的主题词典中的分词标注为常用文本;
常用文本替换模块,用于针对所述正确的分词结果,将被标注为常用文本的分词替换为其所在的主题词典的名称;
模型特征构造模块,用于针对经过所述常用文本替换的正确的分词结果中的每个分词,构造所述最大熵模型的特征;
其中,经过所述常用文本替换的正确的分词结果包括L个分词,依次为s1至sL,其中第i个分词si的特征包括:
si-2,si-1,si+1,si+2,sisi+1,si+1si+2,si-1si,si-2si-1,si-1si+1。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种中文分词歧义消除方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。