完整语言序列的语言建模的制作方法_4

文档序号:9476312阅读:来源:国知局
,其中每个评分指 示相应查询的相对频率。在一些实现方式中,训练第一组件包括为被选查询的集合中的每 一个查询,确定指示被选查询作为完整查询在训练数据中出现的相对频率的评分。
[0090] 计算系统110训练语言模型的第二组件(210)。第二组件可包括用于向未包括在 被选语言序列中的语言序列指派评分的第二概率数据。例如,当语言序列是查询时,除了第 一组件包括其评分的被选查询W外,第二组件可还能够向至少一些查询指派评分。在一些 实例中,第二组件可被配置成向任意词语序列指派评分。第二组件还可向第一组件指派评 分的查询中的每一个指派评分,运便利了对第一组件和第二组件的校准。
[0091] 第二组件可W是n元词串模型。为训练n元词串模型,计算系统110可确定条件概 率,每个条件概率都指示在给定一个或多个其它词语的出现的情况下一词语的出现概率。 第二组件可基于总体训练数据,或者基于训练数据的真子集来训练。例如,训练数据的真子 集可排除被选语言序列的实例。
[0092] 在一些实现方式中,第二组件是标准回退语言模型。第二组件可向包括被选语言 序列的任意语言序列指派概率。第二组件可向被选语言序列中的每一个指派概率,运允许 相对于第一组件校准第二组件。第二组件例如可使用链式法则递增地指派概率,所述链式 法则即序列的概率等于序列中词语的子组合的条件概率的乘积,有时表示为= np(Wi|wi…W{i1})。
[0093] 计算系统110确定相对于第一概率数据归一化第二概率数据的调整数据(212)。 调整数据可W是要应用于第二组件的输出的权重值。权重值可使第二组件的概率分布的一 部分与第一组件的概率分布的相应部分相等。调整数据可使第二组件指派给除了被选语言 序列W外的语言序列的概率的份额与第一组件指派给那些序列的概率的份额相等。调整数 据可通过确定第一组件和第二组件中的每一个分配给被选语言序列的概率的总计份额W 及基于运两个不同的概率总计份额确定权重值来生成。计算系统110存储第一组件、第二 组件和调整数据(214)。
[0094] 在一些实现方式中,训练第一组件包括在局限于在训练数据中出现的语言序列 (例如,查询)的可能结果的集合上生成第一概率分布,并且训练第二组件包括生成第二概 率分布,对于该分布,可能结果的范围不局限于所定义的语言序列(例如,查询)集合。为 确定调整数据,计算系统110可确定用于相对于第一概率分布对第二概率分布加权W形成 组合概率分布的一个或多个权重值。在组合概率分布中,针对语言序列(例如,查询)的概 率的总和合计为1。
[00巧]在一些实现方式中,训练语言模型的第一组件包括生成指示第一概率分布的数 据,对于第一概率分布,被选语言序列的出现概率的第一总和是第一值。训练语言模型的第 二组件包括生成指示第二概率分布的数据,对于第二概率分布,被选语言序列的出现概率 的第二总和是第二值。确定调整数据包括基于第一值和第二值来确定权重值。
[0096] 在一些实现方式中,过程200包括使用语言模型的第一组件来确定特定查询的第 一评分,使用语言模型的第二组件来确定特定查询的第二评分,W及确定第一评分和第二 评分不满足预定关系。响应于确定第一评分和第二评分不满足预定关系,从被选查询中去 除该特定查询W生成变更的被选查询集合。在从被选查询中去除该特定查询之后,可基于 变更的被选查询集合来确定第二调整数据。
[0097] 在一些实现方式中,访问训练数据包括(i)访问指示与第一地理区域(例如,城 市、县或者州)相关联的第一语言序列的第一训练数据,W及(ii)访问指示与比第一地理 区域更大的第二地理区域相关联的第二查询的第二训练数据。例如,第二地理区域可包括 第一地理区域。可基于第一训练数据来确定计数,并且可从与第一地理区域相关联的第一 查询当中选择被选语言序列。第一语言模型可基于指出第一训练数据指示被选查询被提交 的次数的计数来训练,并且语言模型的第二组件可基于指示与第二地理区域相关联的查询 的第二训练数据,或者基于第一训练数据和第二训练数据来训练。
[0098] 在一些实现方式中,计算系统接收查询并确定所接收的查询与第一地理区域相关 联。响应于确定所接收的查询与第一地理区域相关联,计算系统110从与不同地理区域相 对应的多个语言模型或者语言模型组件当中选择第一组件。计算系统110使用第一组件来 评价第一组件所指示的被选查询中包括的一个或多个候选转录,并且使用第二组件来评价 被选查询中未包括的一个或多个候选转录。
[0099] 图3图示了用于评价候选转录的过程300。过程300可由一个或多个处理设备,例 如,服务器、多个服务器的群集、客户端设备、客户端设备内的处理器的群集或者其组合或 子组合来执行。过程300虽被描述为由计算系统110执行,但也可由其它设备执行。
[0100] 在过程300中,计算系统110接收针对一个或多个话语的候选转录(302)。计算系 统110在语言模型的第一组件中查找候选转录(304)。例如,计算系统110确定第一组件中 包括的语言序列的列表是否包括该候选转录。计算系统110确定是否在第一组件所存储的 语言序列集合中找到候选转录(306)。 阳101] 如果找到候选转录,则计算系统110使用第一组件来确定该候选转录的概率评分 (308)。如果未发现候选转录,则计算系统110使用语言模型的第二组件来确定该候选转录 的概率评分(310)。例如,计算系统110可"回退"到一般化n元词串模型。计算系统110 例如通过将概率评分乘W相对于第一组件校准第二组件的权重值来归一化来自第二组件 的概率评分(312)。计算系统110然后使用概率评分来评价候选转录(314),所述概率评分 是来自第一组件的评分或者是来自第二组件的归一化评分。 阳102] 图4图示了用于评价候选转录的过程400。过程400可由一个或多个处理设备,例 如,服务器、多个服务器的群集、客户端设备、客户端设备内的处理器的群集或者其组合或 子组合来执行。虽然过程400在下面被描述为由计算系统110执行,但过程400也可由其 它设备执行。 阳103]计算系统接收包含一个或多个话语的音频数据的候选转录(402)。例如,一个或多 个话语可包括由用户说出并由诸如电话的移动设备的麦克风检测到的话音查询。
[0104] 计算系统确定候选转录是预定语言序列集合中的一个语言序列(404)。预定语言 序列集合可W是包括多个组件的语言模型的第一组件中存储的或W其它方式与该第一组 件相关联的语言序列集合。例如,计算系统可确定语言模型的第一组件存储了与候选转录 相对应的概率,从而指出候选转录是预定语言序列集合中的一个语言序列。
[0105] 语言模型的第一组件可被训练来确定预定集合中的语言序列中的每一个的概率。 在一些实现方式中,第一组件被训练来仅确定预定集合中的语言序列的概率。第一组件可 包括指示语言序列各自的出现概率的数据,所述各自的出现概率基于每个语言序列作为完 整语言序列(例如,作为用户进行的分立的提交,诸如查询或者文本消息,而非仅作为更大 短语的一部分出现)出现在训练数据中的次数的相应计数来确定。第一组件可为作为整体 的候选转录指派概率,而不使用候选转录的子集(例如,n元词串)的条件概率来构建概率。
[0106] 预定语言序列集合可W是满足针对长度和/或出现频率的一个或多个阔值的完 整语言序列。例如,预定语言序列集合可W是一个或多个用户所提交的话音查询的集合,其 中话音查询中的每一个在用于训练语言模型的第一组件的训练数据中出现至少最小次数。 预定语言序列集合可W是一个或多个用户所提交的完整语言序列,例如,完整的文本消息、 完整的电子邮件消息、完整的短语、完整的句子,等等。 阳107]在一些实现方式中,预定语言序列集合包括多种长度的语言序列。例如,预定语言 序列集合可包括分别由一个词、两个词、=个词、四个词和五个词形成的序列。在一些实现 方式中,语言序列中的一个或多个可包括六个或更多的词。
[0108] 响应于确定候选转录是预定语言序列集合中的一个语言序列,计算系统使用语言 模型的第一组件来确定第一候选转录的评分(406)。例如,计算系统110可访问所存储的基 于候选转录作为完整的用户输入序列在训练数据集合中的出现频率的概率。
[0109] 计算系统110使用评分来评价候选转录(408)。例如,计算系统110可基于所指 派的评分来在多个候选转录的集合当中对第一候选转录进行排序。多个候选转录例如可W 是根据第一语言模型具有最高出现可能性的N个候选转录的集合,其中N是整数,诸如,五、 十、二十、五十等等。计算系统110然后可使用利用上述包括第一组件和第二组件的混合模 型确定的评分来对多个候选转录重新评分。计算系统110可组合多个语言模型和/或声学 模型的评分,并且可基于组合的评分来对候选转录进行排序。
[0110] 图5图示了用于评价候选转录的过程500。过程500可由一个或多个处理设备,例 如,服务器、多个服务器的群集、客户端设备、客户端设备内的处理器的群集或者其组合或 子组合来执行。虽然过程500在下面被描述为由计算系统110执行,但过程500也可由其 它设备执行。 阳111] 计算系统110接收包含一个或多个话语的音频数据的候选转录巧02)。计算系统 110确定候选转录不是预定语言序列集合中的一个语言序列巧04)。预定语言序列集合可 W是第一语言模型组件包括其相应概率评分的集合。
[0112] 响应于确定候选转录不是预定语言序列集合中的一个语言序列,计算系统110使 用第二语言模型组件来确定候选转录的评分巧06)。计算系统110然后基于评分来评价候 选转录巧08)。
[0113] 本说明书中所述的本发明的实施例和所有功能操作可在数字电子电路中或在包 括本说明书中公开的结构及其结构等效物的计算机软件、固件或硬件中或者在它们中的一 个或多个的组合中实现。本发明的实施例可实现为一个或多个计算机程序产品,即,编码在 计算机可读介质上供数据处理装置运行或来控制数据处理装置的操作的一个或多个计算 机程序指令的模块。计算机可读介质可W是非暂态计算机可读存储介质、机器可读存储设 备、机器可读存储基板、存储器设备、实现机器可读传播信号的物质组成物或者它们中的一 个或多个的组合。词语"数据处理装置"涵盖用于处理数据的所有装置、设备和机器,举例 来说包括可编程处理器、计算机或者多个处理器或计算机。除了硬件W外,所述装置还可包 括创建用于所讨论的计算机程序的运行环境的代码,例如,构成处理器固件、协议找、数据 库管理系统、操作系统或者它们中的一个或多个的组合的代码。传播信号是人工生成的信 号,例如,被生成来编码信息W供发送到合适的接收器装置的机器生成的电学、光学或者电 磁信号。
[0114] 计算机程序(亦称为程序、软件、软件应用、脚本或者代码)可按任意形式的编程 语言(包括编译或解释语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序 或者被部署为模块、组件、子例程或者合适用在计算环境中的其它单元。计算机程序不一 定对应于文件系统中的文件。程序可被存储在保存其它程序或数据的文件的一部分(例 如,存储在标记语言文档中的一个或多个脚本)中,存储在专用于所讨论的程序的单个文 件中,或者存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件) 中。计算机程序可被部署来在一个计算机上或者在位于一个地点或跨多个地点分布且由通 信网络互连的多个计算机上运行。
[0115] 本说明书中描述的过程和逻辑流程可由运行一个或多个计算机程序的一个或多 个可编程处理器执行W通过对输入数据进行操作和生成输出来执行功能。过程和逻辑流程 也可由专用逻辑电路,例如,FPGA(现场可编程口阵列)或者ASIC(专用集成电路)来执行, 并且装置还可实现为专用逻辑电路,例如,FPGA或者ASIC。
[0116] 适合运行计算机程序的处理器举例来说包括通用微处理器和专用微处理器两者, W及任意种类的数字计算机中的任意一个或多个处理器。一般而言,处理器将从只读存储 器或随机存取存储器或者运两者接收指令和数据。计算机的必要元件是用于执行指令的 处理器和用于存储指令和数据的一个或多个存储器设备。一般而言,计算机还将包括用于 存储数据的一个或多个海量存储设备,或者操作性地禪合到用于存储数据的一个或多个海 量存储设备W从其接收数据或向其传送数据或者运两者,所述海量存储设备例如磁盘、磁 光盘或者光盘。然而,计算机不必具有运样的设备。此外,计算机可被嵌入到另外的设备 中,所述另外的设备例如,平板计算机、移动电话、个人数字助理(PDA)、移动音频播放器、全 球定位系统(GP巧接收器,等等。适合用于存储计算机程序指令和数据的计算机可读介质 包括所有形式的非易失性存储器、介质和存储器设备,举例来说包括半导体存储器设备,例 如,EPR0M、EEPR0M和快闪存储器设备;磁盘,例如,内部硬盘或者可拆卸盘;磁光盘;W及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路。
[0117] 为支持与用户的交互
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1