发明内容
本发明实施例所要解决的技术问题是提供一种口语转换为书面语的方法和装置、以及一种翻译模型的训练方法和装置,能够使得智能客服系统准确理解用户提出的口语化问题,从而可以提高智能客服系统应答的准确率。
为了解决上述问题,本发明公开了一种口语转换为书面语的方法,包括:
依据翻译模型中的转换概率参数和对齐概率参数以及语言模型,对经过预处理的口语语句进行搜索解码,得到相应的最优解码结果;其中,所述翻译模型和语言模型为依据包括口语语句和书面语语句的对照语料库训练所得;
将所述口语语句对应的最优解码结果作为书面语语句进行输出。
优选地,所述依据翻译模型中的转换概率参数和对齐概率参数以及语言模型,对经过预处理的口语语句进行搜索解码,得到相应的最优解码结果的步骤,包括:
依据翻译模型中的转换概率参数和对齐概率参数以及语言模型,对所述口语语句包含的所有口语词汇进行启发式搜索解码,生成相应的多个书面语结果假设;
依据启发式函数计算每个书面语结果假设的转换得分,并确定转换得分最高的书面语结果假设为最优解码结果。
优选地,所述启发式函数具体为所述口语语句对所述书面语结果假设的贡献参数与目标书面语词汇的合理性参数的乘积;其中,所述口语语句对所述书面语结果假设的贡献参数为依据所述口语语句到书面语语句的转换概率参数与所述口语语句到书面语语句的对齐概率参数计算得到。
优选地,所述依据启发式函数计算每个书面语结果假设的转换得分,确定转换得分最高的书面语结果假设为最优解码结果的步骤,包括:
将所述多个书面语结果假设存入预设的栈容器中;
从所述栈容器中取出转换得分最高的书面语结果假设;
判断在取出转换得分最高的书面语结果假设时,当前口语词汇是否为最后一个口语词汇,若是,则终止所述启发式搜索解码;若不是,则继续对下一个口语词汇进行启发式搜索解码。
优选地,所述最优解码结果具体为:将所述口语语句以最大概率转换为书面语语句的解码结果。
依据本发明的另一个方面,公开了一种翻译模型的训练方法,包括:
收集对照语料库;所述语料库包括口语语句和书面语语句的对照语料;其中,所述口语语句包括多个口语词汇文本,所述书面语语句包括多个书面语词汇文本;
依据所述对照语料以及所述口语词汇文本和书面语词汇文本之间的对齐关系训练翻译模型,得到翻译模型中的转换概率参数和对齐概率参数、及以转换概率参数和对齐概率参数为自变量的翻译模型。
优选地,所述依据所述对照语料以及所述口语词汇文本和书面语词汇文本之间的对齐关系训练翻译模型,得到翻译模型中的转换概率参数和对齐概率参数、及以转换概率参数和对齐概率参数为自变量的翻译模型的步骤,包括:
初始化所述对照语料中每个口语词汇文本对应书面语词汇文本的转换概率参数和对齐概率参数;
利用最大似然估计算法,依据所述对照语料以及所述口语词汇文本和书面语词汇文本之间的对齐关系对所述转换概率参数和对齐概率参数进行迭代计算,直到所有的转换概率参数和对齐概率参数都收敛为止;
确定以所述收敛的转换概率参数和对齐概率参数为自变量的翻译模型。
优选地,所述利用最大似然估计算法,依据所述对照语料以及所述口语词汇文本和书面语词汇文本之间的对齐关系对所述转换概率参数和对齐概率参数进行迭代计算,直到所有的转换概率参数和对齐概率参数都收敛为止的步骤,包括:
遍历所述对照语料中的所有口语语句、书面语语句、口语词汇文本、以及书面语词汇文本,通过第一对齐参数、第二对齐参数、第三对齐参数以及语句长度参数对所述转换概率参数和对齐概率参数进行迭代计算,直到所有的转换概率参数和对齐概率参数都收敛为止;
其中,所述第一对齐参数为所述对照语料中口语词汇文本与书面语词汇文本对齐的次数;
所述第二对齐参数为所述对照语料中口语词汇文本与任意一个书面语词汇文本对齐的次数;
所述第三对齐参数为预置长度的口语语句和书面语语句中,某个口语词汇文本与书面语词汇文本对齐的次数;
所述语句长度参数为口语语句与书面语语句的长度为预置长度的次数。
优选地,所述转换概率参数为第一对齐参数与第二对齐参数的比值;
所述对齐概率参数为第三对齐参数与语句长度参数的比值。
优选地,所述转换概率参数具体为:所述口语词汇文本转换为对应的书面语词汇文本的条件概率;
所述对齐概率参数具体为:在预置长度的口语语句和书面语语句中,口语词汇文本与书面语词汇文本对齐的概率。
优选地,所述口语词汇文本和书面语词汇文本之间的对齐关系包括:
每个口语词汇文本对应且仅对应一个书面语词汇文本;
多个口语词汇文本对应同一个书面语词汇文本;
在不存在与当前口语词汇文本相对应的书面语文本时,则记当前口语词汇文本对应的书面语文本为空。
依据本发明的又一个方面,公开了一种口语转换为书面语的装置,包括:
搜索解码模块,用于依据翻译模型中的转换概率参数和对齐概率参数以及语言模型,对经过预处理的口语语句进行搜索解码,得到相应的最优解码结果;其中,所述翻译模型和语言模型为依据包括口语语句和书面语语句的对照语料库训练所得;及
输出模块,用于将所述口语语句对应的最优解码结果作为书面语语句进行输出。
优选地,所述搜索解码模块,包括:
启发式搜索子模块,用于依据翻译模型中的转换概率参数和对齐概率参数以及语言模型,对所述口语语句包含的所有口语词汇进行启发式搜索解码,生成相应的多个书面语结果假设;
启发函数计算子模块,用于依据启发式函数计算每个书面语结果假设的转换得分,并确定转换得分最高的书面语结果假设为最优解码结果。
优选地,所述启发函数计算子模块,包括:
栈容器,用于存放所述多个书面语结果假设;
读取单元,用于从所述栈容器中取出转换得分最高的书面语结果假设;
判断单元,用于判断所述读取子模块在取出转换得分最高的书面语结果假设时,当前口语词汇是否为最后一个口语词汇,若是,则终止所述启发式搜索解码;若不是,则继续对下一个口语词汇进行启发式搜索解码。
依据本发明的再一个方面,公开了一种翻译模型的训练装置,包括:
语料收集模块,用于收集对照语料库;所述语料库包括口语语句和书面语语句的对照语料;其中,所述口语语句包括多个口语词汇文本,所述书面语语句包括多个书面语词汇文本;及
模型训练模块,用于依据所述对照语料以及所述口语词汇文本和书面语词汇文本之间的对齐关系训练翻译模型,得到翻译模型中的转换概率参数和对齐概率参数、及以转换概率参数和对齐概率参数为自变量的翻译模型。
优选地,所述模型训练模块,包括:
初始化子模块,用于初始化所述对照语料中每个口语词汇文本对应书面语词汇文本的转换概率参数和对齐概率参数;
迭代子模块,用于利用最大似然估计算法,依据所述对照语料以及所述口语词汇文本和书面语词汇文本之间的对齐关系对所述转换概率参数和对齐概率参数进行迭代计算,直到所有的转换概率参数和对齐概率参数都收敛为止;
确定子模块,用于确定以所述收敛的转换概率参数和对齐概率参数为自变量的翻译模型。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例依据翻译模型中的转换概率参数和对齐概率参数以及语言模型,对经过预处理的口语语句进行搜索解码,得到相应的最优解码结果,将所述口语语句对应的最优解码结果作为书面语语句进行输出。通过本发明实施例,可以将用词不规范、句法结构不严谨的口语语句以最优的转换方式转换为用词规范、句法结构严谨的书面语语句。由于本发明实施例中的翻译模型和语言模型为依据包含口语语句和书面语语句的对照语料库训练所得,使得在翻译模型和语言模型的指导下,转换结果更加准确。因此,本发明实施例应用于智能客服系统中,可以使得智能客服系统能够准确理解用户提出的口语化问题,从而给出正确的应答,进而可以提高智能客服系统应答的准确率。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明实施例的一种口语转换为书面语的系统流程图,具体可以分为模型训练和翻译转换两个过程。
在模型训练阶段,依据收集的语料库,通过自动学习的方式,训练出翻译模型和语言模型两个统计模型;收集的语料库中包括大量的的口语语句和与之对应的书面语语句。参见表1,给出了口语语句与书面语语句的对照语料具体示例。
表1
口语语句 |
书面语语句 |
我想查一下天气 |
天气情况查询 |
天气怎么样 |
天气情况查询 |
在翻译转换阶段,对经过预处理的口语语句,依据翻译模型和语言模型,通过搜索解码转换为书面语语句。
其中,翻译转换阶段的预处理具体可以包括:在清洗掉口语语句中无意义的符号等,对口语语句进行分词,得到相应的多个口语词汇。参见表2,给出了对表1中的口语语句进行分词后的具体示例。
表2
我想 查一下 天气 |
天气 怎么样 |
天气 情况 查询 |
下面通过几个具体实施例详细说明本发明的一种口语转换书面语过程中的几个重要步骤,即翻译模型和语言模型的训练过程、以及依据翻译模型和语言模型对口语进行书面语转换的过程。
转换方法实施例
参照图2,示出了本发明的一种口语转换为书面语的方法实施例的步骤流程图,具体可以包括:
步骤201、依据翻译模型中的转换概率参数和对齐概率参数以及语言模型,对经过预处理的口语语句进行搜索解码,得到相应的最优解码结果;其中,所述翻译模型和语言模型为依据包括口语语句和书面语语句的对照语料库训练所得;
步骤202、将所述口语语句对应的最优解码结果作为书面语语句进行输出。
在具体应用中,为了保证模型的准确性,所述对照语料库中可以包括大量的口语语句和书面语语句的对照语料,通过自动学习的方式,不断地对翻译模型和语言模型进行训练,最终训练出最佳的模型以指导翻译转换过程。
在将口语语句转换为书面语语句的过程中,首先对口语语句进行预处理,例如分词操作等,可以得到多个口语词汇;然后以翻译模型中的转换概率参数和对齐概率参数以及语言模型为指导,搜索出将所述口语语句转换为书面语语句的最优解码结果,并进行转换。
通过翻译模型的指导,可以确定每个口语词汇对应的最大概率的书面语词汇,同时,通过语言模型的指导,可以确定最大概率的书面语词汇的序列,从而可以得到一个最优的解码结果。
在本发明的一种应用示例中,例如在为银行的客户提供智能客户服务的案例中,大家最常问的是关于办卡、查询余额类的问题。参见表3,示出了一些标准问题:
表3
借记卡的办理流程 |
借记卡查询余额的方法 |
ATM每日取款限额 |
…… |
参照图3,示出了本发明的一种口语问题转换为书面语问题的示意图。用户输入的口语问题为“我想办张卡”,经过预处理和分词后,口语问题变为“办张卡”,经过翻译模型训练,找到对应的最大概率的标准问题,即最优解码结果为“借记卡办理流程”。
在本发明的另一种应用示例中,用户输入的口语问题为“查查卡里有多少钱”,经过预处理和分词后,口语问题变为“查查卡里有多少钱”,经过翻译模型训练,找到对应的最大概率的标准问题为“借记卡查询余额的方法”。
在本发明的又一种应用示例中,用户输入的口语问题为“ATM一天能取多少钱”,经过预处理和分词后,口语问题变为“ATM一天能取多少钱”,经过翻译模型训练,找到对应的最大概率的标准问题为“ATM每日取款限额”。
上述应用示例中,原始口语问题在现有技术的智能客服系统中得不到答案,但在本发明的智能客服系统中经过将口语问题转换为书面语的过程之后则可以得到正确的应答。
综上,本发明实施例依据翻译模型中的转换概率参数和对齐概率参数以及语言模型,对经过预处理的口语语句进行搜索解码,得到相应的最优解码结果,将所述口语语句对应的最优解码结果作为书面语语句进行输出。通过本发明实施例,可以将用词不规范、句法结构不严谨的口语语句以最优的转换方式转换为用词规范、句法结构严谨的书面语语句。由于本发明实施例中的翻译模型和语言模型为依据包含口语语句和书面语语句的对照语料库训练所得,使得在翻译模型和语言模型的指导下,转换结果更加准确。因此,本发明实施例应用于智能客服系统中,可以使得智能客服系统能够准确理解用户提出的口语化问题,从而给出正确的应答,进而可以提高智能客服系统应答的准确率。
语言模型的训练方法实施例
参照图4,示出了本发明的一种书面语语句的词序列示意图。
语言模型的训练就是能给出图4中词序列在语言统计中发生的概率,具体可以通过下式表示:
p(e)=p(如何)p(注销|如何)p(网上银行|如何,注销) (1)
语言模型是描述词汇概率分布的模型,利用语言模型,可以确定哪个词序列或句子的可能性更大,或者给定若干个词,可以预测下一个最可能出现的词语。N-Gram(N元文法)语言模型是最常见的一种语言模型,该N-Gram语言模型基于这样一种假设,即第N个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。
p(e)=p(w1)p(w2|w1)p(w3|w1w2)...p(wi|wi-N+1....wi-2wi-1) (2)
公式(1)中,p(e)表示语言模型,可用于计算一个句子的概率,由于句子通常由多个词组成,故公式(1)中wi表示句子中的第i个词。
语言模型训练也可以称为模型的参数估计,在本发明的一种应用示例中,可以采用MLE(最大似然估计,Maximum Likelihood Estimation)方法对模型参数进行估计,相应的公式可以表示为:
p(wi|wi-N+1....wi-2wi-1)=C(wi-N+1....wi-2wi-1,wi)/C(wi-N+1....wi-2wi-1) (3)
其中,C(wi-n+1,...,wi-1,wi)表示wi-n+1,...,wi-1,wi在训练语料中出现的次数,可基于统计得到,训练语料的规模越大,参数估计的结果越可靠。
语言模型的训练是以词为基本单位,所以需要首先对书面语语句的语料进行分词处理,然后依据分词后的书面语词汇文本统计N元词对的出现次数。
构建语言模型的词汇文本也叫训练语料。在具体实现中,虽然训练语料的规模很大,但还是会有N元文法C(wi-n+1,...,wi-1,wi)总有可能出现次数为0的情况,那么按照上面的估计公式其概率就是0,但是理论上其概率应该大于0。因此,最大似然估计中必须给所有可能出现的字符串一个非零的概率值去避免其概率估算结果为0的错误情况出现。
本发明实施例中,可以采用平滑(smoothing)技术来解决这类零概率问题,其基本思想就是“劫富济贫”,即提高低概率(零概率),降低高概率,尽量使概率分布趋于均匀。换句话说,就是通过将观察到的N元文法一部分概率分布出去,并将这部分概率值分配到未观察到的N元文法上,这种经过概率的重新分配得到最大似然估计的最优估计参数的方法就是平滑或折扣。
具体地,平滑算法可以使用下面的公式来表示:
p(wi|wi-N+1....wi-2wi-1)=(C(wi-N+1....wi-2wi-1,wi)>0)?f(wi|wi-N+1....wi-2wi-1):bow(...|wi-N+1....wi-2wi-1)p(wi|...) (4)
其中,(...|wi-N+1....wi-2wi-1)表示N元词序列wi-N+1....wi-2wi-1wi的前N-1个词构成的前缀,(wi|...)表示N元词序列wi-N+1....wi-2wi-1wi的后N-1个词构成的后缀,C(wi-N+ 1....wi-2wi-1,wi)表示N元词序列在训练中出现的次数。
如果N元文法C(wi-N+1....wi-2wi-1,wi)在训练集中发生了,则直接使用f(wi|wi-N+1....wi-2wi-1),该概率值一般都小于最大似然估计概率值结果,这样留下的一部分概率值可用于训练语料中未覆盖到的N元序列C(...|wi-N+1....wi-2wi-1)。
应用上面的公式计算f(wi|wi-N+1....wi-2wi-1)时,若N元文法C(wi-N+1....wi-2wi-1,wi)在训练语料中没有出现,则直接使用低阶概率分布p(wi|...),若历史(...|wi-N+ 1....wi-2wi-1)在训练语料中没有出现,即c(...|wi-N+1....wi-2wi-1)=0,这时可以直接使用p(wi|...)作为当前N元文法的概率值,即bow(...|wi-N+1....wi-2wi-1)=1。
否则需要将bow(...|wi-N+1....wi-2wi-1)乘到p(wi|...)上,以保证概率分布的归一性。
即Sum_Z*p(wi|wi-N+1....wi-2wi-1)=1,假设Z为语料中词典所有词构成的集合,Z0为词典中所有满足条件C(wi-N+1....wi-2wi-1,wi)=0的词构成的集合,Z1为词典中C(wi-N+1....wi-2wi-1,wi)>0所有满足的词构成的集合,在f(wi|wi-N+1....wi-2wi-1)计算好的情况下,bow(...|wi-N+1....wi-2wi-1)可以通过下式估算得到:
bow(...|wi-N+1....wi-2wi-1)=(1-Sum_Z1*f(wi|wi-N+1....wi-2wi-1))/(1-Sum_Z1*p(wi|...)) (5)
不同的平滑算法区别在于何种折扣方法对最大似然估计结果进行折扣。在具体应用中,平滑算法可以包括:加法平滑、图灵估计、插值平滑、Kneser-Ney平滑等方法,这里,以Kneser-Ney平滑方法为例,参数D作为折扣常数,D必须介于0和1之间,可以得到如下公式。
f(wi|wi-N+1....wi-2wi-1)=(C(wi-N+1....wi-2wi-1,wi)-D)/C(...|wi-N+1....wi-2wi-1)(6)
这样f(wi|wi-N+1....wi-2wi-1)就多出了一部分概率用于平滑,最大似然估计的计算方法就可以通过公式(5)进行,最后得到语言模型的估计参数,完成语言模型的训练。
翻译模型的训练方法实施例
在智能客服系统的实际应用中,用户以口语化的方式向智能客服系统提出的一个问题,例如表示为:f=f1,f2…fm,其中,m为这个问题语句包含的口语词汇文本数,假设事先已经用某种分词算法对该问题语句进行了分词,fj是其中的一个口语词汇文本,j∈{1…m}。在智能客服系统中存储的一个书面语化的标准问题:e=e1,e2…el,l为这个标准问题语句的书面语词汇文本数。E是智能客服系统中标准问题的集合。若给定一个f,翻译的目的就是找到一个合理的e,使得e最接近f这个表达,即满足下述公式。
e*=argmaxe∈Ep(e)p(f|e) (7)
其中,p(e)是本发明实施例训练出来的语言模型。翻译模型的训练着重解决如何确定p(f|e),在已知m的前提下,目标就是确定下述表达式:
p(f1,f2...fm|e1,e2...el,m) (8)
参照图5、示出了本发明的一种翻译模型的训练方法实施例步骤流程图,具体可以包括:
步骤501、收集对照语料库;所述语料库包括口语语句和书面语语句的对照语料;其中,所述口语语句具体可以包括多个口语词汇文本,所述书面语语句具体可以包括多个书面语词汇文本;
为了确定上述表达式(8),可以利用收集的口语化与标准问题之间一一对应的语料库:{f(k),e(k)},其中,f(k)对应的是分词后的口语化语句,e(k)对应的是分词后的书面语语句,利用迭代的训练算法通过语料库中的数据来估计p(f|e)。
本发明实施例引入了词语对齐的概念,参照图6,示出了一对口语语句和书面语语句之间的词语对应关系示意图。其中,f为用户提出的口语化问题,e为对应的标准化书面语问题。由于口语化的语句f用词冗余性较大,每个fj都对应且仅对应于一个ei,允许f中的多个词汇对应e中的同一个词汇,某些ei也可能没有任何fj与之对应。因此,在所有的ei之前再增加一个e0,取值为NULL(空),提供给某些fj与之对应,即fj可以对应于一个空的书面语词汇(位置在所有词之前)。
在引入了词语对齐的概念之后,e条件下f(长度为m)的概率p(f|e)可以表示为:
其中,f和e之间的词语对齐关系a=a1,a2…am,,aj∈{0,1,…,l},表示fj与eaj是对齐的。
步骤502、依据所述对照语料以及所述口语词汇文本和书面语词汇文本之间的对齐关系训练翻译模型,得到翻译模型中的转换概率参数和对齐概率参数、及以转换概率参数和对齐概率参数为自变量的翻译模型。
本发明实施例中,可以概率分布的形式训练翻译模型:
其中,将输入的口语问题的句长看成是随机变量M,对应的标准问题的句长为随机变量L。El…El为一个随机变量的序列,代表可能的标准问题中的每一个书面语文本。F1…Fm为一个随机变量的序列,代表可能的口语问题中的每一个口语文本。A1…Am为一个随机变量的序列,代表F到E的可能的对齐参数。
从上式可以看出,翻译模型可以由两项的乘积所确定,首先考虑第一项,即:
设为对齐概率参数,即当书面语和口语化形式的对应问题长度分别为l和m时,ai等于j的概率,记为q(j|i,l,m),。这里做了一个很重要的简化,就是假设对齐变量Ai仅与句长L和M有关,而与标准问题中的任何词汇以及其它对齐变量之间均无关。
再考虑第二项,即:
设为转换概率参数,记为t(f|e)。这里也做了一个简化,就是假设Fi仅与Eai有关,与其它因素无关,即书面语到口语表达的词汇之间的转换概率与位置、句长均无关。因此,可以得到下式:
下面给出通过训练数据{f(k),e(k)}估计对齐概率参数q((j|i,l,m)和转换概率参数t(f|e)的算法。算法的难点在于f(k)和e(k)只是两个分词后的句子,并没有标注口语词汇与书面语词汇之间的对齐关系,因此q((j|i,l,m)和t(f|e)是无法观察到的隐性变量,可以使用最大似然估计算法逐步迭代,直至参数收敛。
通过上述推导可以看出,对于翻译模型的训练过程即为确定对齐概率参数q((j|i,l,m)和转换概率参数t(f|e)的过程。
在本发明的一种应用示例中,给出了翻译模型的具体训练步骤,可以包括:
步骤S1、启动最大似然估计算法;
输入一组口语化到书面语以句为单位对齐的对照语料{f(k),e(k)},k=1…n,并且:f(k)=f(k) 1…f(k) mk,e(k)=e(k) 1…e(k) lk。
步骤S2、初始化转换概率参数t(f|e)和对齐概率参数q((j|i,l,m);
具体地,可以将所有的t(f|e)和q((j|i,l,m)都初始化为[0,1]之间的随机值。
步骤S3、依据所述对照语料以及所述口语文本和书面语文本之间的对齐关系对所述转换概率参数t(f|e)和对齐概率参数q((j|i,l,m)进行迭代计算;
–所有的计数器清零c(…)=0
–For k=1…n
*For i=1…mk
·For j=0…lk
c(e(k) j,f(k) i)←c(e(k) j,f(k) i)+δ(k,i,j)
c(e(k) j)←c(e(k) j)+δ(k,i,j)
c(j|i,l,m)←c(j|i,l,m)+δ(k,i,j)
c(i,l,m)←c(i,l,m)+δ(k,i,j)
其中:
–更新参数:
其中,c(e,f)为对照语料中词汇e与f对齐的次数;c(e)为对照语料中词汇e与任何一个f对齐的次数;c(j|i,l,m)为句长分别为l和m,口语语句中的第i个口语词汇与书面语语句中的第j个书面语词汇对齐的次数;c(i,l,m)为两个语句长度正好为l和m的次数(i没有实际意义)。通过上述迭代过程,在最终收敛时可以得到最优的转换概率参数t(f|e)和对齐概率参数q((j|i,l,m)。
步骤S4、继续迭代直到所有的转换概率参数t(f|e)和对齐概率参数q((j|i,l,m)都收敛;
步骤S5、输出转换概率参数t(f|e)、对齐概率参数q((j|i,l,m)、及以转换概率参数和对齐概率参数为自变量的翻译模型,算法结束,完成翻译模型的训练。
转换方法实施例二
在具体应用中,将口语语句f转换为书面语语句e的过程,就是在F╳A╳E空间搜索一个最优解码结果,使得f以最大的概率转换成e。其中,F表示口语语句集,E表示书面语语句集,A表示F和E之间的词汇对齐参数集,╳表示空间运算,即在F、A、E三个集合空间中搜索一条最优路径,也即搜索一个最优解码结果。
通常,寻求最优解码结果可以通过遍历的方法,遍历空间E中每一个书面语语句e,并考虑每一个书面语语句e的可能性,最终确定概率最大的一个书面语语句,这需要耗费大量的运算资源,占用大量的运算时间。
为了在有限的资源和时间内找到一个最优解码结果,本发明实施例使用启发式搜索算法,其核心思想是:以输入的口语语句f被划分为m个口语词汇为例,将f的前k个口语词汇进行局部的解码,生成多个可能的书面语结果假设,并用一个启发式函数Score(H)计算每个书面语结果假设的转换得分。设置一个栈容器,用于存放书面语结果假设。例如,将f的前k个口语词汇进行局部的解码,生成对应的k个书面语结果假设,每次从栈容器中弹出得分最高的书面语结果假设,然后继续解码第k+1个口语词汇,得到对应的k+1个书面语结果假设,并把新产生的书面语结果假设放入栈容器,如此迭代,直到最后输出得分最高的且已经解码到第m个口语词汇的书面语结果假设作为解码的结果。解码的核心问题是如何设计启发式函数Score(H)。
基于上述启发式搜索算法的核心思想,上述依据翻译模型中的转换概率参数和对齐概率参数以及语言模型,对经过预处理的口语语句进行搜索解码,得到相应的最优解码结果的步骤,具体可以包括:
依据翻译模型中的转换概率参数和对齐概率参数以及语言模型,对所述口语语句包含的所有口语词汇进行启发式搜索解码,生成相应的多个书面语结果假设;
依据启发式函数计算每个书面语结果假设的转换得分,并确定转换得分最高的书面语结果假设为最优解码结果。
在本发明的一种优选实施例中,所述启发式函数可以为口语语句对书面语结果假设的贡献参数与目标书面语词汇的合理性参数的乘积;其中,所述口语语句对所述书面语结果假设的贡献参数为依据所述口语语句到书面语语句的转换概率参数与所述口语语句到书面语语句的对齐概率参数计算得到。具体地,可以用如下公式表示启发式函数:
其中,ε(H)表示口语语句f整句对书面语结果假设的贡献参数,表示书面语结果假设中书面语词汇的合理性参数,该合理性参数考虑了语言模型对转换结果的约束;ei为句长为l的书面语结果假设中第i个书面语词汇。
在实际应用中,可通过如下步骤确定所述口语语句对书面语结果假设的贡献参数:
步骤A1、依据所述转换概率参数和对齐概率参数计算所述口语语句包含的各口语词汇对翻译结果书面语结果假设的贡献参数;
设Hl是f的前k个口语词汇解码后的一种书面语结果假设eH的转换得分,且eH的长度为l。F中的第i个口语词汇对eH中的第j个书面语词汇有贡献,贡献参数的大小可以定义为:
当0≤i<k时,f1f2…fk的书面语结果假设就是eH,所以其贡献是口语词汇对应书面语词汇的转换概率和对齐概率的乘积;当k<i≤m时,后续的口语词汇还没有扩展,所以贡献要考虑所有可能的标准问题用词的概率,|M|是标准问题集E的总词典大小,p(wn)是标准问题集的词汇概率。
步骤A2、依据所述各口语词汇对书面语结果假设的贡献参数以及翻译模型计算所述口语语句对书面语结果假设的贡献参数;
接下来从翻译模型角度出发,所述口语语句对书面语结果假设的贡献参数,即f整句对eH的贡献参数可以定义为:
步骤A3、通过遍历可能的书面语语句长度对书面语结果假设的贡献参数进行概率加权计算。
具体地,因为无法预知完成扩展后e的长度,所以可以通过遍历对所有可能的语句长度进行概率加权:
其中,p(i|m)是对照语料库中长度为m的f转换为长度为i的e的概率。Lm是系统所允许的E最大长度。
在本发明的一种应用示例中,通过启发式搜索算法进行转换的步骤具体可以包括:
步骤S1、启动启发式搜索算法;
具体地,初始化一个栈容器,投入一个空的书面语结果假设。
步骤S2、开始迭代;
①弹出栈容器中得分最高的书面语结果假设h;
②如果h已经解码到第m个口语词汇,则输出h,算法终止;否则继续执行步骤③;
③继续解码h的下一个口语词汇,把可能的书面语结果假设放入栈;
④转到①。
转换装置实施例一
参照图7,示出了本发明一种口语转换书面语的装置实施例一结构框图,具体可以包括:
搜索解码模块710,用于依据翻译模型中的转换概率参数和对齐概率参数以及语言模型,对经过预处理的口语语句进行搜索解码,得到相应的最优解码结果;其中,所述翻译模型和语言模型为依据包括口语语句和书面语语句的对照语料库训练所得;及
输出模块720,用于将所述口语语句对应的最优解码结果作为书面语语句进行输出。
在本发明的一种优选实施例中,所述搜索解码模块710,具体可以包括:
启发式搜索子模块,用于依据翻译模型中的转换概率参数和对齐概率参数以及语言模型,对所述口语语句包含的所有口语词汇进行启发式搜索解码,生成相应的多个书面语结果假设;
启发函数计算子模块,用于依据启发式函数计算每个书面语结果假设的转换得分,并确定转换得分最高的书面语结果假设为最优解码结果。
在本发明的另一种优选实施例中,所述启发函数计算子模块,具体可以包括:
栈容器,用于存放所述多个书面语结果假设;
读取单元,用于从所述栈容器中取出转换得分最高的书面语结果假设;
判断单元,用于判断所述读取子模块在取出转换得分最高的书面语结果假设时,当前口语词汇是否为最后一个口语词汇,若是,则终止所述启发式搜索解码;若不是,则继续对下一个口语词汇进行启发式搜索解码。
转换装置实施例二
参照图8,示出了本发明一种口语转换书面语的装置实施例二的结构框图,具体可以包括:
预处理模块810,用于对接收到的口语语句进行预处理操作;
搜索解码模块820,用于依据翻译模型中的转换概率参数和对齐概率参数以及语言模型,对经过预处理的口语语句进行搜索解码,得到相应的最优解码结果;其中,所述翻译模型和语言模型为依据包括口语语句和书面语语句的对照语料库训练所得;及
转换输出模块830,用于将所述口语语句对应的最优解码结果作为书面语语句进行输出。
其中,所述搜索解码模块820,具体可以包括:
启发式搜索子模块821,用于依据翻译模型中的转换概率参数和对齐概率参数以及语言模型,对所述口语语句包含的所有口语词汇进行启发式搜索解码,生成相应的多个书面语结果假设;
启发函数计算子模块822,用于依据启发式函数计算每个书面语结果假设的转换得分,并确定转换得分最高的书面语结果假设为最优解码结果。
其中,所述启发函数计算子模块822,具体可以包括:
栈容器8221,用于存放所述多个书面语结果假设;
读取单元8222,用于从所述栈容器中取出转换得分最高的书面语结果假设;
判断单元8223,用于判断所述读取子模块在取出转换得分最高的书面语结果假设时,当前口语词汇是否为最后一个口语词汇,若是,则终止所述启发式搜索解码;若不是,则继续对下一个口语词汇进行启发式搜索解码。
训练装置实施例一
参照图9,示出了本发明的一种翻译模型的训练装置实施例一的结构框图,具体可以包括:
语料收集模块910,用于收集对照语料库;所述语料库包括口语语句和书面语语句的对照语料;其中,所述口语语句具体可以包括多个口语词汇文本,所述书面语语句具体可以包括多个书面语词汇文本;及
模型训练模块920,用于依据所述对照语料以及所述口语词汇文本和书面语词汇文本之间的对齐关系训练翻译模型,得到翻译模型中的转换概率参数和对齐概率参数、及以转换概率参数和对齐概率参数为自变量的翻译模型。
在本发明的一种优选实施例中,所述模型训练模块920,具体可以包括:
初始化子模块,用于初始化所述对照语料中每个口语词汇文本对应书面语词汇文本的转换概率参数和对齐概率参数;
迭代子模块,用于利用最大似然估计算法,依据所述对照语料以及所述口语词汇文本和书面语词汇文本之间的对齐关系对所述转换概率参数和对齐概率参数进行迭代计算,直到所有的转换概率参数和对齐概率参数都收敛为止;
确定子模块,用于确定以所述收敛的转换概率参数和对齐概率参数为自变量的翻译模型。
在本发明的另一种优选实施例中,所述迭代子模块,具体可以包括:
迭代计算单元,用于遍历所述对照语料中的所有口语语句、书面语语句、口语词汇文本、以及书面语词汇文本,通过第一对齐参数、第二对齐参数、第三对齐参数以及语句长度参数对所述转换概率参数和对齐概率参数进行迭代计算,直到所有的转换概率参数和对齐概率参数都收敛为止;
其中,所述第一对齐参数为所述对照语料中口语词汇文本与书面语词汇文本对齐的次数;
所述第二对齐参数为所述对照语料中口语词汇文本与任意一个书面语词汇文本对齐的次数;
所述第三对齐参数为预置长度的口语语句和书面语语句中,某个口语词汇文本与书面语词汇文本对齐的次数;
所述语句长度参数为口语语句与书面语语句的长度为预置长度的次数。
训练装置实施例二
参照图10,示出了示出了本发明的一种语言模型和翻译模型的训练装置实施例的结构示意图,具体可以包括:
语料收集模块1010,用于收集对照语料库;所述语料库包括口语语句和书面语语句的对照语料;
语料预处理模块1020,用于清洗所述对照语料中无意义的符号以及对语料进行分词操作,得到相应的多个口语词汇文本和多个书面语词汇文本;
语言模型训练模块1030,用于依据多个书面语词汇文本训练语言模型,得到所述书面语语句的词序列在语言统计中发生的概率;以及
翻译模型训练模块1040,用于依据所述对照语料以及所述口语词汇文本和书面语词汇文本之间的对齐关系训练翻译模型,得到翻译模型中的转换概率参数和对齐概率参数、及以转换概率参数和对齐概率参数为自变量的翻译模型。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种口语转换为书面语的方法和装置、以及一种翻译模型的训练方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。