CN105229723A - 完整语言序列的语言建模 - Google Patents
完整语言序列的语言建模 Download PDFInfo
- Publication number
- CN105229723A CN105229723A CN201380076599.0A CN201380076599A CN105229723A CN 105229723 A CN105229723 A CN 105229723A CN 201380076599 A CN201380076599 A CN 201380076599A CN 105229723 A CN105229723 A CN 105229723A
- Authority
- CN
- China
- Prior art keywords
- inquiry
- assembly
- language
- scoring
- language model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012549 training Methods 0.000 claims abstract description 201
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000003860 storage Methods 0.000 claims abstract description 30
- 238000004590 computer program Methods 0.000 claims abstract description 14
- 238000010606 normalization Methods 0.000 claims abstract description 12
- 238000013518 transcription Methods 0.000 claims description 129
- 230000035897 transcription Effects 0.000 claims description 129
- 238000009826 distribution Methods 0.000 claims description 73
- 230000004044 response Effects 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 22
- 239000012634 fragment Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 8
- 230000000712 assembly Effects 0.000 description 5
- 238000000429 assembly Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/19—Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
- G10L15/197—Probabilistic grammars, e.g. word n-grams
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
提供方法、系统和装置,包括在计算机存储介质上编码的计算机程序,用于对完整语言序列的语言建模。访问指示语言序列的训练数据,确定每个语言序列在训练数据中出现的次数的计数。选择语言序列的真子集,并且训练语言模型的第一组件。第一组件包括用于向被选语言序列指派评分的第一概率数据。基于训练数据来训练语言模型的第二组件,其中第二组件包括用于向被选语言序列中未包括的语言序列指派评分的第二概率数据。生成相对于第一概率数据归一化第二概率数据的调整数据,并且存储第一组件、第二组件和调整数据。
Description
相关申请的交叉引用
本申请要求于2013年5月2日提交的美国申请第13/875,406号和于2013年3月14日提交的美国临时申请第61/781,140号的优先权权益。美国申请第13/875,406号和美国临时申请第61/781,140号的全部内容通过引用结合于此。
背景技术
许多语音识别系统使用语言模型来转换(transcribe)话语。语言模型经常使用包括语言用法示例的训练数据集合来训练。通常,语言模型包括关于训练数据中构成话语的词或其它语言单元的统计数据。
发明内容
在一些实现方式中,语言模型可存储用于向定义的语言序列集合指派评分的概率数据。语言序列中的每一个可以是一个或多个用户先前提供的完整的用户输入序列,诸如完整的短语、完整的句子、完整的查询或者完整的文本消息。对于集合中的每个语言序列,语言模型可存储基于语言序列整体在训练数据集合中出现的频率的概率。例如,语言模型可存储在训练数据中以高频率出现的特定完整语言序列的概率。
一种计算系统可在语音识别中使用语言模型,以向话语的候选转录指派概率。当候选转录是预定语言序列集合中的一个语言序列时,计算系统可使用语言模型来向候选转录整体指派概率(例如,使用所存储的与候选转录相对应的概率),而非例如基于候选转录的成分(例如,n元词串)的多个条件概率来计算概率。
在一些实现方式中,一种计算系统可生成包括第一组件和第二组件的混合语言模型。第一组件可被训练来直接向预定语言序列集合(例如,最常见话音查询的集合)中的语言序列指派概率评分。语言模型的第二组件基于另外的技术,诸如n元词串建模,来指派概率评分,在n元词串建模中,使用条件概率来构建语言序列的总体概率。当使用混合语言模型时,第一组件被用来向高频率语言序列集合中包括的语言序列指派概率评分。第二组件被用来向不在预定语言序列集合中的语言序列指派概率。
本说明书中所述的主题的一个创新方面在包括如下动作的方法中具体实现:访问指示多种语言序列的训练数据;确定各语言序列在训练数据中的相对出现频率;选择语言序列的真子集;训练语言模型的第一组件,所述第一组件包括用于向被选语言序列指派评分的第一概率数据;基于训练数据训练语言模型的第二组件,所述第二组件包括用于向被选语言序列中未包括的语言序列指派评分的第二概率数据;确定归一化第一概率数据和第二概率数据的调整数据;以及存储第一组件、第二组件和调整数据。
本说明书中所述的主题的另一创新方面在包括如下动作的方法中具体实现:访问指示多种语言序列的训练数据;确定各语言序列在训练数据中的相对出现频率;选择语言序列的真子集;训练语言模型的第一组件,所述第一组件包括用于向被选语言序列指派评分的第一概率数据;确定相对于第一概率数据归一化语言模型的第二组件的第二概率数据的调整数据;以及存储第一组件、第二组件和调整数据。
本说明书中所述的主题的另一创新方面在包括如下动作的方法中具体实现:访问指示一个或多个用户所提交的查询的训练数据;针对查询中的每一个确定训练数据指示该查询被提交的次数的计数;基于计数选择查询的真子集;基于计数训练语言模型的第一组件,所述第一组件包括指示训练数据当中被选查询的相对频率的第一概率数据;基于训练数据训练语言模型的第二组件,所述第二组件包括用于向被选查询中未包括的查询指派评分的第二概率数据;确定相对于第一概率数据归一化第二概率数据的调整数据;以及存储第一组件、第二组件和调整数据。
本说明书中所述的主题的另一创新方面在包括如下动作的方法中具体实现:接收一个或多个话语的第一候选转录;确定第一候选转录是与语言模型的第一组件相关联的预定语言序列集合中的一个语言序列;响应于确定该候选转录是与语言模型的第一组件相关联的预定语言序列集合中的一个语言序列,使用语言模型的第一组件确定第一候选转录的第一评分;基于第一评分评价第一候选转录;接收所述一个或多个话语的第二候选转录;确定第二候选转录不是与语言模型的第一组件相关联的预定语言序列集合中的一个语言序列;响应于确定该候选转录不是与语言模型的第一组件相关联的预定语言序列集合中的一个语言序列,使用语言模型的第二组件确定第二候选转录的第二评分;以及基于第二评分评价第二候选转录。
这些方面的其它实施例包括相应的系统、装置以及编码在计算机存储设备上的被配置成执行方法动作的计算机程序。一个或多个计算机的系统可借助于进行操作来使得系统执行这些动作的安装在系统上的软件、固件、硬件或它们的组合来配置。一个或多个计算机程序可借助于具有当被数据处理装置运行时使得该装置执行这些动作的指令来配置。
这些及其它实施例可每个可选地包括下列特征中的一个或多个。例如,基于计数训练语言模型的第一组件包括生成在局限于出现在训练数据中的查询的可能结果的集合上的第一概率分布。基于训练数据训练语言模型的第二组件包括生成第二概率分布,对于该第二概率分布,可能结果的范围不局限于定义的查询集合。确定调整数据包括确定用于相对于第一概率分布对第二概率分布加权以形成组合概率分布的一个或多个权重值。访问指示一个或多个用户所提交的查询的训练数据包括访问指示不同用户说出的话音查询的一个或多个查询日志。基于计数选择查询的真子集包括选择具有最高计数的查询。基于计数选择查询的真子集包括选择具有等于或者超过最小阈值的计数的查询,所述最小阈值大于一。基于计数选择查询的真子集包括:(i)基于第一阈值选择具有第一词语数量的查询;以及(ii)基于第二阈值选择具有第二词语数量的查询,第二词语数量不同于第一词语数量,并且第二阈值不同于第一阈值。基于计数训练语言模型的第一组件包括针对被选查询中的每一个查询确定指示该被选查询作为完整查询在训练数据中的相对出现频率的评分。
这些及其它实施例可每个都可选地包括下列特征中的一个或多个。例如,训练语言模型的第一组件包括生成指示第一概率分布的数据,对于第一概率分布,被选查询的出现概率的第一总和是第一值。训练语言模型的第二组件包括生成指示第二概率分布的数据,对于第二概率分布,被选查询的出现概率的第二总和是第二值。确定调整数据包括基于第一值和第二值来确定权重值。确定调整数据包括确定要应用于第二组件的输出的权重值,所述权重值使第二组件的概率分布的一部分与第一组件的概率分布的相应部分相等。
这些及其它实施例可每个可选地包括下列特征中的一个或多个。例如,使用语言模型的第一组件来确定特定查询的第一评分,使用语言模型的第二组件来确定该特定查询的第二评分,以及确定第一评分和第二评分不满足预定关系。响应于确定第一评分和第二评分不满足预定关系,从被选查询中去除该特定查询以生成变更的被选查询集合。在从被选查询中去除该特定查询之后,基于变更的被选查询集合来确定第二调整数据。基于训练数据训练语言模型的第二组件包括训练n元词串模型。训练n元词串模型包括确定每个指示在给定一个或多个其它词语的出现的情况下一词语的出现概率的条件概率。基于训练数据训练语言模型的第二组件包括使用训练数据的真子集训练第二组件,所述训练数据的真子集排除了被选查询的实例。
这些及其它实施例可每个可选地包括下列特征中的一个或多个。例如,访问指示一个或多个用户所提交的查询的训练数据包括(i)访问指示与第一地理区域相关联的第一查询的第一训练数据,以及(ii)访问指示与比第一地理区域更大的第二地理区域相关联的第二查询的第二训练数据。针对查询中的每一个确定训练数据指示该查询被提交的次数的计数包括针对第一查询中的每一个确定第一训练数据指示该查询被提交的次数的计数。基于计数选择查询的真子集包括从与第一地理区域相关联的第一查询当中选择查询。基于计数训练语言模型的第一组件包括基于指示第一训练数据指示被选查询被提交的次数的计数来训练第一组件。基于训练数据训练语言模型的第二组件包括基于指示与第二地理区域相关联的查询的第二训练数据来训练语言模型的第二组件。
这些及其它实施例可每个可选地包括下列特征中的一个或多个。例如,接收查询,确定所接收的查询与第一地理区域相关联,以及响应于确定所接收的查询与第一地理区域相关联,从与不同地理区域相对应的多个语言模型当中选择第一组件。使用第一组件来评价被选查询中包括的一个或多个候选转录,以及使用第二组件来评价被选查询中未包括的一个或多个候选转录。接收一个或多个话语的候选转录;确定候选转录是被选查询之一;响应于确定候选转录是被选查询之一,使用语言模型的第一组件确定该候选转录的评分;以及基于评分来评价该候选转录。接收一个或多个话语的候选转录;确定候选转录不是被选查询之一;响应于确定候选转录不是被选查询之一,使用语言模型的第二组件确定该候选转录的评分;以及基于评分来评价该候选转录。
有利的实现方式可包括下列特征中的一个或多个。语音识别的速度和准确度可被改善。语言模型的复杂度可被减少。对于至少一些语言序列,语言模型所指示的概率可比n元词串模型更好地反映语言序列在训练数据中的出现频率。
本说明书中所述的主题的一个或多个实施例的细节在附图和下面的描述中进行了阐述。根据描述、附图和权利要求,主题的其它特征、方面和优点将变得明显。
附图说明
图1是图示用于训练语言模型的系统的示例的示图。
图2是图示用于训练语言模型的过程的示例的流程图。
图3至图5是图示语音识别中使用语言模型的过程的示例的流程图。
各图中同样的参考数字和标号指示同样的元素。
具体实施方式
图1是图示用于训练语言模型120的系统100的示例的示图。系统100包括与一个或多个数据存储设备112通信的计算系统110。图1还图示了示为表示数据流程的阶段(A)到(F)的数据流程。阶段(A)到(F)可按所图示的序列或按与所图示的序列不同的序列发生。
计算系统110可生成包括两个组件的语言模型120:可向所定义的语言序列集合指派评分的第一组件,以及可向任意语言序列指派评分的第二组件。所定义的语言序列集合可以是完整的语言片段,诸如完全句或者完整查询。例如,该集合可以是训练数据中出现的高频率查询的集合。第一组件指派给查询的概率评分可基于查询作为整体(例如,作为用户的整个查询串,而不是作为查询的一部分或者子集)在训练数据中出现的相对频率。因为第一组件基于整个查询出现在训练数据的实际频率来指派概率,所以与诸如n元词串模型的其它类型的语言模型相比,第一组件可更好地预测高频率查询出现的可能性。
第二组件可以是既可向高频率查询指派概率又可向其它查询指派概率的语言模型。例如,第二组件可能够例如使用用于组合多个条件概率的链式法则来向任意语言序列指派概率(例如,非零概率)。第二组件可以是——但不局限于——基于语言序列中的n元词串的条件概率来为语言序列生成概率评分的n元词串语言模型。
当语言序列被包括在所定义的高频率查询集合中时,第一组件被用来输出语言序列的概率评分。当语言序列不在所定义的高频率查询集合中时,第二组件被用来输出概率评分。从第一组件回退到第二组件可确保语言模型可将概率评分指派给任意语言序列,这远远超过用于第一组件的所定义集合中或者甚至训练数据中出现的序列。
在一些语音识别使用中,诸如对话音查询的识别中,典型的语言序列经常是短的,通常在3到5个词之间。在许多实例中,预期的话音查询长度大约为三个词。此外,按照长度的查询分布可严重倾向三个词或更少词的查询。在一些数据集合中,三个词或更少词的查询经常构成话音搜索引擎接收到的查询的70%或更多。为了改善识别,下面论述的语言模型120可存储整个查询的概率。此外,仅存储训练期间遇到查询的所定义子集的概率可导致使用比例如n元词串(其中n例如是3、4或更大)模型更少存储空间的语言模型120。
在阶段(A)期间,计算系统110访问训练数据114,训练数据114将被用于训练(例如,生成或更新)语言模型120。训练数据114包括多种不同的语言序列。
在所图示的示例中,训练数据114是指示用户所提交的查询116的查询数据。例如,训练数据114可包括指示多个用户中的任意用户在特定时段内提交的查询的一个或多个查询日志,所述特定时段诸如一星期、一个月、一年等等。训练数据114可指示特定地理区域中的用户所提交的查询,或者特定语言的查询。
在一些实现方式中,查询数据指示特定类型的查询或者来自特定源的查询,例如,话音查询(例如,作为用户的话语输入到设备的查询)。在一些实现方式中,话音查询是由诸如移动设备(例如,电话、智能电话或者其它手持式设备)的特定设备类别或类目中的设备检测到的查询。话音查询可以是在一个或多个特定厂商所生产的设备处输入的查询,或者在一个或多个特定型号的设备处输入的查询。
在一些实现方式中,训练数据114被标准化。例如,查询的文本可被调整为常见的格式,拼写错误可被校正,复数可被改变为单数,反之亦然,等等。
在阶段(B)期间,计算系统110确定各种语言序列,例如,查询116在训练数据114中出现的频率。在所图示的示例中,计算系统110确定表示各查询116被提交的次数的计数118。例如,计算系统110标识训练数据114所指示的不同查询116,并且对训练数据114中的每个查询116的实例的数量进行计数。
查询116被图示为包括序列开始标志“<S>”和序列结束标志“</S>”。这些指示符表明查询116是每个都表示用户的整个查询串的整个查询,并且不表示查询的子串部分。计算系统110可解析训练数据110来确定序列开始和结束的适当位置。例如,计算系统110可指明开始和结束标志以使得语言序列每个都涵盖单独的日志条目、记录或消息的整个文本。此外,或者作为替换,计算系统110可指定与预定标点符号(例如,句号、逗号或其它分隔符)、元数据、格式化特性等等的位置相对应的开始和结束标记。也可使用用于解析训练数据114的其它技术。
每个计数118表示用户已完整提交相应查询的次数。例如,每个计数118指示用户提交以下语言序列的次数:该语言序列按词语在相应查询116中显现的顺序包括相应查询116的所有词语,但不包括未被包括在相应查询116中的任何词语(例如,在相应查询116的词语之前、之后或之间没有任何额外的词语)。
在所图示的示例中,计算系统110为查询“<S>weathertoday</S>”确定计数758,从而表明训练数据114指示此查询被提交758次。类似地,计算系统110确定查询“<S>greatvacationspots</S>”被提交676次,等等。
计算系统110还确定训练数据114所指示的查询提交的数量的总计数119(所有查询116的实例的组合数量)。总计数119等于所有计数118之和。
为了确定计数118,计算系统110可对训练数据114中不重叠的文本片段进行计数。不同的查询116可包括相同词语中的一些,但训练数据114中的每个特定文本片段仅为单个查询116贡献计数118。也就是说,当训练数据114中的文本片段被作为查询116的实例计数时,则该特定文本片段的一部分,例如,子串不被用来针对任意其它查询116增加计数118。例如,训练数据114的特定片段可包括包含四个词语w1w2w3w4的查询串。计算系统110在评价训练数据114的此部分时,针对包括这四个词语的相应查询116增加计数118。计算系统110然后继续评价训练数据114中出现的下一文本片段,基于该特定文本片段不针对诸如w1w2w3或者w2w3w4的其他查询增加计数。这与通常为n元词串模型确定n元词串计数的方式不同。一般而言,为确定n元词串计数,滑动窗口在文本片段上通过,并且n元词串被认为出现在滑动窗口的多个重叠位置处。针对n元词串计数,训练数据中的词语的单个实例可为多个不同的n元词串贡献计数。
在阶段(C)期间,计算系统110从训练数据114所指示的语言序列当中选择语言序列集合。计算系统110可基于一个或多个标准来选择语言序列。在一些实现方式中,计算系统110基于语言序列的出现频率来选择语言序列。例如,计算系统110可选择最频繁出现的语言序列(例如,通过选择具有最高计数118的查询116)。此外,或者作为替换,可基于长度(例如,语言序列中词语或词的数量)、与语言序列相关联的地理位置或者其它因子来选择语言序列。
在所图示的示例中,计算系统110基于计数118来选择查询116的集合122,其中该集合122是查询116的真子集。被选集合122包括在训练数据114中以最高频率出现的查询116。
在一些实现方式中,计算系统110选择预定数量的查询116。例如,计算系统110可选择具有最高计数118的N个查询116,其中N是预定整数。
在一些实现方式中,计算系统110选择具有满足计数阈值126的计数118的查询116。例如,计算系统110可选择具有满足或者超过最小阈值的计数118的查询116。最小阈值例如可以是二、五、十或另外的值。不满足计数阈值126的查询116,诸如在集合124中示出的查询116,被从被选集合122中排除。在一些实现方式中,任意长度的查询116在相应计数满足计数阈值的情况下可被选择。结果,集合122中的查询116具有不同的长度,并且集合122中的查询116中的一些可具有五个、六个、七个或更多个词语的长度。
在一些实现方式中,基于查询116的长度(例如,每个查询中词语的数量)和/或其它标准来选择被选集合122。例如,计算系统110可选择包括不多于最大数量的词语(例如,20个词语、15个词语、10个词语,等等)的查询。作为示例,计算系统110可选择出现在训练数据114中最少最小次数并且每个包括不多于最大数量的词语的查询116。
在一些实现方式中,计算系统110针对包括不同数量的词语的查询116使用不同的计数阈值。例如,计算系统110可选择包括两个词语并具有至少五十的计数的查询,计算系统110可选择包括三个词语并具有至少四十的计数118的查询,并且计算系统110可选择包括四个词语并具有至少三十的计数118的查询。对于包括五个或更多个词语的查询116,计算系统110可选择具有至少十五的计数118的查询。计数阈值可被设定为使得具有较高数量词语的查询具有较低的计数阈值,从而增大较长查询被选择的可能性。
在阶段(D)期间,计算系统110生成语言模型120的第一组件150。为生成第一组件150,计算系统110确定各种语言序列中的每一个的评分130。评分130可以是语言序列在训练数据中出现的相对频率。评分130指示各种语言序列的出现概率。语言序列的评分130可以基于语言序列作为分立的、完整的用户输入序列整体出现在训练数据114中的频率,而不基于语言序列的各种子集(例如,n元词串)出现的条件概率。
在所图示的示例中,计算系统110基于语言序列作为完整查询出现在训练数据中的相对频率来生成评分130。例如,评分130基于指示各个查询116被提交的次数的计数118来生成。查询116出现的相对频率可按照查询116的计数118除以总计数119来确定。作为示例,针对查询“<S>weathertoday</S>”,相对频率可按照相应计数118(例如,758)除以所有查询的总计数119(例如,126333)来确定。相对频率(例如,758/126333=0.006)表示从查询116当中选择的随机查询将是查询“<S>weathertoday</S>”的概率。
结果,查询116的相对频率形成概率分布,其中可能结果的范围受限于对出现在训练数据114中的查询116之一的选择。每个相对频率是源自所有查询116的集合的相应查询的出现概率。所有查询116的相对频率或概率的总和是1,从而指出评分130指示在查询116上的适当分布。在所图示的示例中,评分130是查询116的相对频率或概率,然而,其它技术也可用来生成指示概率分布的评分。
计算系统110生成第一组件150以包括仅针对查询116的真子集的评分130。对于许多训练数据集合,包括针对每个语言序列的数据将导致不切实际地大语言模型。为高效地存储针对可能再次出现的查询的数据,计算系统110存储仅针对集合122中的被选查询116的评分130。如以上所论述的,集合122中的查询116可以是最频繁出现的查询116,或者可根据其它标准来选择。第一组件150不包括集合122之外的查询116的评分。
在所图示的示例中,图示了集合124中的查询116的评分130,从而指示出这些查询116在第一组件150的概率分布中被分配了非零出现概率。然而,计算系统110不需要计算或者存储针对集合124中的查询116的评分。为节省存储空间和减少计算成本,第一组件150可省略标识集合124中的查询116的数据并且包括针对集合124中的查询116的评分130。
第一组件150包括指示集合122中的查询116的序列数据152,例如,训练数据114中的高频率查询116的列表。第一组件150还包括指示在训练数据中出现的查询116的概率分布的一部分的概率数据154。如以上所指出的,概率数据154包括针对集合122中的查询116而非针对集合122之外的查询的评分130。结果,第一组件150仅用于集合122中的查询116。
当第一组件150被用来评价在预定集合中出现的语言序列时,第一组件150可提供指示作为完整的用户输入序列或提交,例如非作为更大语言序列的一部分或真子集的语言序列的出现概率的评分。作为示例,用户所提交的查询的整个查询串可以是完整的用户提交。完整的用户提交的另一示例是诸如短消息服务(SMS)文本消息、电子邮件消息或者社交网络发帖或状态更新的消息的整体。因为用户提交经常包括不同数量的词语,所以预定集合中的语言序列可包括不同数量的词语。
此外,或者作为替换,每个语言序列可以是完整的句子,或者其它定义的自然语言片段。例如,语言序列例如可以是训练数据内的句子片段、完整的短语、完整的句子或者完整的段落。完整语言序列的边界例如可通过标点、语法、格式化、元数据和/或其它因子来指示。例如,句号、问号、感叹号或者其它标点可指示语言序列的结束以及语言序列的结束和/或新的语言序列的开始。类似地,文档的开始和结束或者文档内的章节的开始和结束可指示语言序列的开始和结束。对于从话语转录的语言序列,完整语言序列可通过至少最小持续时间的沉默或噪音(例如,口述中的暂停)的时段来划界。从而,在口述设定下,针对在预定持续时间的沉默之间出现的话语的转录可被认为是完整语言序列。
在阶段(E)期间,计算系统110生成语言模型120的第二组件160。第二组件160的可能结果的范围,例如,具有非零出现概率的不同语言序列不局限于集合122中的查询116,或者在一些实现方式中,不局限于任何预定集合。结果,第二组件160可被用来向比第一组件150更大的语言序列集合指派评分。第二组件160可被配置成将评分指派给任意语言序列,包括集合122中的查询116、集合124中的查询116和在训练数据114中未出现的查询。
因为第一组件150仅包括集合122中的查询116的评分130,所以需要第二组件160来使得语言模型120可向其它语言序列指派评分。例如,为了高效使用语音识别,语言模型120可能需要能够向任意查询116、查询116中的词语的真子集和在训练数据中未曾出现的语言序列指派评分。第二组件160提供了允许语言模型120向比存储在第一组件150中的语言序列集合更大的语言序列集合指派评分的灵活性。如下面所论述的,第二组件160可向全部集合122中的查询116及其它查询指派评分。此能力可如下面进一步论述地用于校准语言模型120。
第二组件160可以是n元词串模型,例如,一元词串模型、二元词串模型、三元词串模型,等等。例如,第二组件160可包括标识在训练数据114内出现的n元词串132的集合的n元词串数据162。第二组件160还包括可用于向由一个或多个n元词串组成的语言序列指派评分的概率数据164。例如,概率数据164可指示条件概率,该条件概率指示在给定序列中的一个或多个其它词语的在先出现的情况下特定词语的出现概率。
在所图示的示例中,计算系统110基于查询116来生成二元词串模型。n元词串132中的每一个是二元词串(例如,其中n为2的n元词串)。在一些实现方式中,第二组件160可包括关于针对n的多个值的n元词串的数据,例如,包括关于针对一元词串、二元词串和三元词串的概率的数据。
计算系统110标识查询116内的各个二元词串。例如,查询“newmovietrailers”包括二元词串“newmovie”和“movietrailers”。计算系统110然后确定各二元词串出现在训练数据114中的次数的n元词串计数166。
与计数118不同,n元词串计数166不是必须仅指示相应n元词串132作为完整查询116出现的次数。更确切地说,每个计数166指示相应n元词串132显现在查询116内的任意位置的次数,即使n元词串132仅仅是较大查询的一部分也如此。例如,查询“<S>newmovietrailers</S>”作为完整查询出现在训练数据114中536次,但二元词串“newmovie”出现更多次数。这是因为针对二元词串“newmovie”的n元词串计数166也反映所有查询116中的二元词串的实例,所有查询116包括诸如“newmovieshowtimes”、“newmoviereviews”、“ticketsnewmovie”等等的查询。类似地,尽管精确查询“<S>weathertoday</S>”在训练数据114中出现758次,但针对二元词串“weathertoday”的n元词串计数166是1958。这是因为n元词串计数166包括诸如“<S>weathertodaynewyork</S>”和“<S>weathertodayboston</S>”的查询内的二元词串的实例,但这些实例因为他们不是作为完整查询的“<S>weathertoday</S>”的实例而被从计数118中排除。换句话说,包括二元词串的查询的例如由<S>和</S>指示的语言序列边界不一定与包括与该二元词串相同词语的完整查询的语言序列边界对齐。
使用n元词串计数166,计算系统110确定n元词串132的条件概率。例如,计算系统110确定评分168,其指示在给定n元词串132中的前面的(一个或多个)词语的出现的情况下n元词串132的最后的词语将出现的概率。例如,对于二元词串“newmovie”,相应评分168可指示在给定词语“new”的出现的情况下该语言序列中的下一词语将是“movie”的概率。
当第二组件160被用来评价语言序列时,计算系统110或者其它系统可使用评分168来确定由不同的n元词串132组成的语言序列的概率。例如,由于链式法则,出现在语言序列中的各n元词串132的多个条件概率的乘积可表示语言序列的出现概率。
计算系统110在生成第二组件160时可使用各种平滑技术中的任意一种。例如,计数166、评分168或者其它参数可被确定以允许n元词串组件160向任意语言序列指派概率,即使语言序列未出现在训练数据114中也如此。
在一些实现方式中,计算系统110使用全部训练数据114来生成第二组件160。在一些实现方式中,计算系统110仅使用训练数据114中的一部分,例如,排除了被选择用于集合122的查询116的实例的训练数据114来生成第二组件160。
在阶段(F)期间,计算系统110生成校准语言模型120的调整数据170。调整数据170可将第二组件160的输出调整为更符合第一组件150的输出。例如,调整数据170可使得第二组件160指派给集合122中的查询的总概率等于第一组件150指派给相同的查询的总概率。用这样的方式,调整数据170可确保训练数据114中所有查询116的总概率等于一。
在第一组件150的概率分布中,评分130指示出现在训练数据中的所有查询116的概率或者相对频率总和为1。在第二组件160的概率分布中,评分168也指示出现在训练数据中的所有查询116的概率总和也为1。
在每个概率分布的总概率(例如,1)中,两个组件150、160可向集合122中的查询116指派不同的百分率。例如,概率数据164可指示集合122中的查询116的概率的总和是0.75,或者随机查询有75%的机率是集合122中的查询之一。概率分布剩下的份额(例如,0.25)是集合122之外的查询116的概率的总和。
然而,第一组件给集合122中的查询116提供的概率的总和可以是不同的。例如,训练数据114中的查询116的相对频率(例如,计数118)可指示集合122中的查询116的组合概率是80%而非75%。在这种情况下,第二组件160通过分配与集合122之外的查询116在训练数据114中的实际出现频率相对应的25%的概率分布而非20%而过高估计了其概率。为校准第二组件160,计算系统110可确定一个或多个权重值来将针对集合122之外的查询116的组合概率设定为0.2,而非0.25。
例如,可确定缩放第二组件160所产生的概率评分的权重值。计算系统110可确定第一组件150指派给集合122中的查询116的总概率P1。例如,因为所图示的示例中的评分130是相应概率,所以总数可以是评分130的总和。作为另一示例,总概率可以是集合122中的查询116的实例的总数量(例如,集合122中的查询116的计数的总和)除以训练数据114中的查询实例的总数量(例如,总计数119)。计算系统110还可例如将第二组件160指派给集合122中的查询116的总概率P2确定为集合122中的查询116的n元词串模型所产生的概率评分的总和。权重值可被确定为(1-P1)/(1-P2)(例如,(1-0.8)/(1-0.75)=0.2/0.25=0.8)。权重值然后可乘以第二组件160所产生的每个概率评分来使概率与第一组件150的一致。
利用经调整数据170调整的第二组件160的输出,语言模型120总体上表示对训练数据的特性进行建模的适当概率分布。例如,第二组件160给集合122之外的查询116提供的每个经权重值缩放的概率的总和加上第一组件150给集合122中的查询116提供的概率的总和可等于一。
用于语言模型120的示例公式在下面指出。查询q被定义为<S>w1w2…wx</S>,其中<S>指示查询开始,</S>指示查询结束,并且w1w2…wx是查询的词语。查询q具有整数x个词语。查询q的出现概率被表示为P(q),并且可如下所示地在式(1)中计算:
在式1中,集合S是定义的查询或其它语言序列的集合。在式1中,项f(q)是训练数据中的查询当中查询q出现的相对频率。在式1中,项Pn-gram(q)是n元词串模型或其它模型,例如,第二组件160所指示的查询q的出现概率。在式1中,项α是归一化模型的权重值,例如,调整数据170。
在一些实现方式中,集合S被定义为C(q)>kx并且x<M的查询集合,其中:C(q)是查询q在训练数据114中出现的绝对计数;kx是具有等于x的词语数量的查询的计数阈值;并且M是表示最大词语数量的整数。在其它实现方式中,集合S基于其它标准来定义,例如,基于与语言序列相关联的设备或者与语言序列相关联的地理位置来定义。
在一些实现方式中,权重值α如下所示地在式2中确定:
α=(1-Σq∈Sf(q))/(1-Σq∈SPn-gram(q)),
其中Σq∈Sf(q)是查询在集合S中出现的相对频率的总和(例如,总和可等于来自训练数据的随机查询是集合S中的查询之一的概率),并且Σq∈SPn-gram(q)是由n元词串模型指派给集合S中的查询的概率的总和。
在一些实现方式中,计算系统110使用第二组件160来精简第一组件150。在第二组件160被生成之后,集合122中的查询116中的一个或多个可被去除,从而减少第一组件150的大小。对于集合122中的每个查询,计算系统110可相对于第二组件160指派给相同查询的概率评分来评价第一组件150所指派的概率评分。当不同组件150、160向一查询指派概率,并且概率不满足期望的关系时,可从集合122中去除该查询。在一些实现方式中,当f(q)<λPn-gram(q)时,从集合122中去除查询,其中,λ是缩放因子。例如,λ可等于1,指示出第二组件160给其指派了比第一组件150更高的概率的查询116被从集合122中去除。
在精简之后,计算系统110可重新计算语言模型120的各种参数。例如,当集合122改变时,计算系统可重新计算调整数据170以将第二组件160向改变后的第一组件150校准。
在阶段(F)期间,计算系统110存储第一组件150、第二组件160和调整数据170。计算系统110或者另外的系统可使用语言模型120来评价语言序列,诸如话音查询的候选转录,如下面进一步论述的。
在一些实现方式中,使用第一组件150和第二组件160的组合相比于单独的n元词串模型减少了语言模型120的复杂性。组合或者混合的语言模型120在一些实现方式中可额外增大准确度。
在一些实现方式中,以下会是有用的:改善语言模型120预测常见的语言序列在特定区域中的出现的能力。例如,一些位置特定的话音查询由于提及一个城市的特定地标、旅游景点或者风俗而在该城市中可能是常见的,但在别处可能并不常见。位置特定的查询相对于来自该城市的总体查询可能具有高频率,但相对于从县、州或者国家接收到的查询可能具有很低的频率。
为改善对来自特定地理区域的查询的预测,第一组件150可以是位置特定的。集合122中的查询116可基于从其提交查询的位置来选择。例如,计算系统110可选择使用位于特定地理区域的设备提交的查询116。第一组件150可存储位置特定的查询和相应的概率评分。位置特定查询的概率评分可基于具有来自该地理区域的查询的训练数据的特定子集,以便反映在该地理区域中的相对频率。当从特定地理区域接收到查询时,语言特定的第一组件150可用于指派概率评分。当语言序列不是位置特定的查询之一时,计算系统110可使用一般模型,诸如使用州范围或全国范围的训练数据训练的n元词串模型。
在一些实现方式中,取代使用训练数据114训练第二组件160,计算系统110使用不同的语言模型作为第二组件160,例如,现有的语言模型、另外的系统所训练的语言模型或者使用不同的训练数据114训练的语言模型。既可向集合122中的查询116又可向其它查询指派概率评分的任何语言模型都可被用作第二组件160。因为第一组件150和第二组件160每个都向集合122中的查询指派概率,所以相对于第一组件150归一化第二组件160的输出的调整数据170可如以上所论述地来确定,而不管第二组件是如何生成的或者使用了什么训练数据114。结果,不同的训练数据集合可用于训练不同的组件150、160。
尽管图1的示例图示了基于查询来生成语言模型,但相同的技术可用来基于其它类型的语言序列生成语言模型。作为示例,训练数据114可指示文本消息,并且计数118可以是对各个文本消息整体出现的次数的计数。结果,第一组件150的序列数据152可指示训练数据114中的最常见文本消息的列表。概率数据154可根据最常见文本消息各自在训练数据中的出现频率来指示其出现概率。作为另一示例,第一组件150的序列数据152可指示在训练数据集合中出现的最常见完全句,并且概率数据154可指示各个最常见完全句的出现概率。
图2是图示用于训练语言模型的过程200的示例的流程图。过程200虽被描述为由计算系统110执行,但也可由包括多个计算设备的组合的一个或多个其它计算设备执行。
计算系统110访问训练数据(202)。训练数据指示多个完整语言序列,例如,完全句或者用户的完整提交。在一些实现方式中,训练数据指示一个或多个用户所提交的查询。训练数据可包括指示不同用户所说出的话音查询的查询日志。
计算系统110确定语言序列中的每一个的计数(204)。例如,针对训练数据中的查询的集合中的每一个,计算系统110确定训练数据指示查询被提交的次数的计数。
计算系统110选择完整语言序列的真子集(206)。例如,基于计数来选择训练数据中的语言序列(例如,查询)的真子集。可选择具有满足计数阈值的计数的语言序列。具有等于或者超过最小阈值的计数的语言序列可被选择,并且最小阈值可大于一。结果,真子集可包括在训练数据中以最高频率出现(例如,具有最高计数)的语言序列,诸如查询。
在一些实现方式中,基于第一阈值来选择具有第一词语数量的查询,并且基于第二阈值来选择具有第二词语数量的查询。第二词语数量可不同于第一词语数量,并且第二阈值可不同于第一阈值。
计算系统110训练语言模型的第一组件(208)。第一模型指示基于完整语言序列的相对出现频率的概率。例如,第一组件可基于计数来训练,并且可包括指示被选语言序列,例如被选查询在训练数据中出现的相对频率的第一概率数据。
在一些实现方式中,第一组件可包括标识被选语言序列(例如,真子集中的语言序列的列表)的数据。第一概率数据可以是被选语言序列的评分的集合,其中每个评分指示相应查询的相对频率。在一些实现方式中,训练第一组件包括为被选查询的集合中的每一个查询,确定指示被选查询作为完整查询在训练数据中出现的相对频率的评分。
计算系统110训练语言模型的第二组件(210)。第二组件可包括用于向未包括在被选语言序列中的语言序列指派评分的第二概率数据。例如,当语言序列是查询时,除了第一组件包括其评分的被选查询以外,第二组件可还能够向至少一些查询指派评分。在一些实例中,第二组件可被配置成向任意词语序列指派评分。第二组件还可向第一组件指派评分的查询中的每一个指派评分,这便利了对第一组件和第二组件的校准。
第二组件可以是n元词串模型。为训练n元词串模型,计算系统110可确定条件概率,每个条件概率都指示在给定一个或多个其它词语的出现的情况下一词语的出现概率。第二组件可基于总体训练数据,或者基于训练数据的真子集来训练。例如,训练数据的真子集可排除被选语言序列的实例。
在一些实现方式中,第二组件是标准回退语言模型。第二组件可向包括被选语言序列的任意语言序列指派概率。第二组件可向被选语言序列中的每一个指派概率,这允许相对于第一组件校准第二组件。第二组件例如可使用链式法则递增地指派概率,所述链式法则即序列的概率等于序列中词语的子组合的条件概率的乘积,有时表示为P(w1…wn)=∏P(wi|w1…w{i-1})。
计算系统110确定相对于第一概率数据归一化第二概率数据的调整数据(212)。调整数据可以是要应用于第二组件的输出的权重值。权重值可使第二组件的概率分布的一部分与第一组件的概率分布的相应部分相等。调整数据可使第二组件指派给除了被选语言序列以外的语言序列的概率的份额与第一组件指派给那些序列的概率的份额相等。调整数据可通过确定第一组件和第二组件中的每一个分配给被选语言序列的概率的总计份额以及基于这两个不同的概率总计份额确定权重值来生成。计算系统110存储第一组件、第二组件和调整数据(214)。
在一些实现方式中,训练第一组件包括在局限于在训练数据中出现的语言序列(例如,查询)的可能结果的集合上生成第一概率分布,并且训练第二组件包括生成第二概率分布,对于该分布,可能结果的范围不局限于所定义的语言序列(例如,查询)集合。为确定调整数据,计算系统110可确定用于相对于第一概率分布对第二概率分布加权以形成组合概率分布的一个或多个权重值。在组合概率分布中,针对语言序列(例如,查询)的概率的总和合计为1。
在一些实现方式中,训练语言模型的第一组件包括生成指示第一概率分布的数据,对于第一概率分布,被选语言序列的出现概率的第一总和是第一值。训练语言模型的第二组件包括生成指示第二概率分布的数据,对于第二概率分布,被选语言序列的出现概率的第二总和是第二值。确定调整数据包括基于第一值和第二值来确定权重值。
在一些实现方式中,过程200包括使用语言模型的第一组件来确定特定查询的第一评分,使用语言模型的第二组件来确定特定查询的第二评分,以及确定第一评分和第二评分不满足预定关系。响应于确定第一评分和第二评分不满足预定关系,从被选查询中去除该特定查询以生成变更的被选查询集合。在从被选查询中去除该特定查询之后,可基于变更的被选查询集合来确定第二调整数据。
在一些实现方式中,访问训练数据包括(i)访问指示与第一地理区域(例如,城市、县或者州)相关联的第一语言序列的第一训练数据,以及(ii)访问指示与比第一地理区域更大的第二地理区域相关联的第二查询的第二训练数据。例如,第二地理区域可包括第一地理区域。可基于第一训练数据来确定计数,并且可从与第一地理区域相关联的第一查询当中选择被选语言序列。第一语言模型可基于指出第一训练数据指示被选查询被提交的次数的计数来训练,并且语言模型的第二组件可基于指示与第二地理区域相关联的查询的第二训练数据,或者基于第一训练数据和第二训练数据来训练。
在一些实现方式中,计算系统接收查询并确定所接收的查询与第一地理区域相关联。响应于确定所接收的查询与第一地理区域相关联,计算系统110从与不同地理区域相对应的多个语言模型或者语言模型组件当中选择第一组件。计算系统110使用第一组件来评价第一组件所指示的被选查询中包括的一个或多个候选转录,并且使用第二组件来评价被选查询中未包括的一个或多个候选转录。
图3图示了用于评价候选转录的过程300。过程300可由一个或多个处理设备,例如,服务器、多个服务器的群集、客户端设备、客户端设备内的处理器的群集或者其组合或子组合来执行。过程300虽被描述为由计算系统110执行,但也可由其它设备执行。
在过程300中,计算系统110接收针对一个或多个话语的候选转录(302)。计算系统110在语言模型的第一组件中查找候选转录(304)。例如,计算系统110确定第一组件中包括的语言序列的列表是否包括该候选转录。计算系统110确定是否在第一组件所存储的语言序列集合中找到候选转录(306)。
如果找到候选转录,则计算系统110使用第一组件来确定该候选转录的概率评分(308)。如果未发现候选转录,则计算系统110使用语言模型的第二组件来确定该候选转录的概率评分(310)。例如,计算系统110可“回退”到一般化n元词串模型。计算系统110例如通过将概率评分乘以相对于第一组件校准第二组件的权重值来归一化来自第二组件的概率评分(312)。计算系统110然后使用概率评分来评价候选转录(314),所述概率评分是来自第一组件的评分或者是来自第二组件的归一化评分。
图4图示了用于评价候选转录的过程400。过程400可由一个或多个处理设备,例如,服务器、多个服务器的群集、客户端设备、客户端设备内的处理器的群集或者其组合或子组合来执行。虽然过程400在下面被描述为由计算系统110执行,但过程400也可由其它设备执行。
计算系统接收包含一个或多个话语的音频数据的候选转录(402)。例如,一个或多个话语可包括由用户说出并由诸如电话的移动设备的麦克风检测到的话音查询。
计算系统确定候选转录是预定语言序列集合中的一个语言序列(404)。预定语言序列集合可以是包括多个组件的语言模型的第一组件中存储的或以其它方式与该第一组件相关联的语言序列集合。例如,计算系统可确定语言模型的第一组件存储了与候选转录相对应的概率,从而指出候选转录是预定语言序列集合中的一个语言序列。
语言模型的第一组件可被训练来确定预定集合中的语言序列中的每一个的概率。在一些实现方式中,第一组件被训练来仅确定预定集合中的语言序列的概率。第一组件可包括指示语言序列各自的出现概率的数据,所述各自的出现概率基于每个语言序列作为完整语言序列(例如,作为用户进行的分立的提交,诸如查询或者文本消息,而非仅作为更大短语的一部分出现)出现在训练数据中的次数的相应计数来确定。第一组件可为作为整体的候选转录指派概率,而不使用候选转录的子集(例如,n元词串)的条件概率来构建概率。
预定语言序列集合可以是满足针对长度和/或出现频率的一个或多个阈值的完整语言序列。例如,预定语言序列集合可以是一个或多个用户所提交的话音查询的集合,其中话音查询中的每一个在用于训练语言模型的第一组件的训练数据中出现至少最小次数。预定语言序列集合可以是一个或多个用户所提交的完整语言序列,例如,完整的文本消息、完整的电子邮件消息、完整的短语、完整的句子,等等。
在一些实现方式中,预定语言序列集合包括多种长度的语言序列。例如,预定语言序列集合可包括分别由一个词、两个词、三个词、四个词和五个词形成的序列。在一些实现方式中,语言序列中的一个或多个可包括六个或更多的词。
响应于确定候选转录是预定语言序列集合中的一个语言序列,计算系统使用语言模型的第一组件来确定第一候选转录的评分(406)。例如,计算系统110可访问所存储的基于候选转录作为完整的用户输入序列在训练数据集合中的出现频率的概率。
计算系统110使用评分来评价候选转录(408)。例如,计算系统110可基于所指派的评分来在多个候选转录的集合当中对第一候选转录进行排序。多个候选转录例如可以是根据第一语言模型具有最高出现可能性的N个候选转录的集合,其中N是整数,诸如,五、十、二十、五十等等。计算系统110然后可使用利用上述包括第一组件和第二组件的混合模型确定的评分来对多个候选转录重新评分。计算系统110可组合多个语言模型和/或声学模型的评分,并且可基于组合的评分来对候选转录进行排序。
图5图示了用于评价候选转录的过程500。过程500可由一个或多个处理设备,例如,服务器、多个服务器的群集、客户端设备、客户端设备内的处理器的群集或者其组合或子组合来执行。虽然过程500在下面被描述为由计算系统110执行,但过程500也可由其它设备执行。
计算系统110接收包含一个或多个话语的音频数据的候选转录(502)。计算系统110确定候选转录不是预定语言序列集合中的一个语言序列(504)。预定语言序列集合可以是第一语言模型组件包括其相应概率评分的集合。
响应于确定候选转录不是预定语言序列集合中的一个语言序列,计算系统110使用第二语言模型组件来确定候选转录的评分(506)。计算系统110然后基于评分来评价候选转录(508)。
本说明书中所述的本发明的实施例和所有功能操作可在数字电子电路中或在包括本说明书中公开的结构及其结构等效物的计算机软件、固件或硬件中或者在它们中的一个或多个的组合中实现。本发明的实施例可实现为一个或多个计算机程序产品,即,编码在计算机可读介质上供数据处理装置运行或来控制数据处理装置的操作的一个或多个计算机程序指令的模块。计算机可读介质可以是非暂态计算机可读存储介质、机器可读存储设备、机器可读存储基板、存储器设备、实现机器可读传播信号的物质组成物或者它们中的一个或多个的组合。词语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,举例来说包括可编程处理器、计算机或者多个处理器或计算机。除了硬件以外,所述装置还可包括创建用于所讨论的计算机程序的运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,被生成来编码信息以供发送到合适的接收器装置的机器生成的电学、光学或者电磁信号。
计算机程序(亦称为程序、软件、软件应用、脚本或者代码)可按任意形式的编程语言(包括编译或解释语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者合适用在计算环境中的其它单元。计算机程序不一定对应于文件系统中的文件。程序可被存储在保存其它程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可被部署来在一个计算机上或者在位于一个地点或跨多个地点分布且由通信网络互连的多个计算机上运行。
本说明书中描述的过程和逻辑流程可由运行一个或多个计算机程序的一个或多个可编程处理器执行以通过对输入数据进行操作和生成输出来执行功能。过程和逻辑流程也可由专用逻辑电路,例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路)来执行,并且装置还可实现为专用逻辑电路,例如,FPGA或者ASIC。
适合运行计算机程序的处理器举例来说包括通用微处理器和专用微处理器两者,以及任意种类的数字计算机中的任意一个或多个处理器。一般而言,处理器将从只读存储器或随机存取存储器或者这两者接收指令和数据。计算机的必要元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。一般而言,计算机还将包括用于存储数据的一个或多个海量存储设备,或者操作性地耦合到用于存储数据的一个或多个海量存储设备以从其接收数据或向其传送数据或者这两者,所述海量存储设备例如磁盘、磁光盘或者光盘。然而,计算机不必具有这样的设备。此外,计算机可被嵌入到另外的设备中,所述另外的设备例如,平板计算机、移动电话、个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收器,等等。适合用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,举例来说包括半导体存储器设备,例如,EPROM、EEPROM和快闪存储器设备;磁盘,例如,内部硬盘或者可拆卸盘;磁光盘;以及CDROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路。
为支持与用户的交互,本发明的实施例可在具有显示设备和键盘以及指示设备的计算机上实现,所述显示设备例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器,用于向用户显示信息,所述指示设备例如,鼠标或者跟踪球,通过所述指示设备,用户可向计算机提供输入。其它种类的设备也可用于支持与用户的交互;例如,提供给用户的反馈可以是任意形式的感官反馈,例如,视觉反馈、听觉反馈或者触觉反馈;并且来自用户的输入可按包括声学、语音或触觉输入的任意形式接收到。
本发明的实施例可在计算系统中实现,所述计算系统包括例如作为数据服务器的后端组件,或者包括例如应用服务器的中间件组件,或者包括前端组件,例如,具有图形用户接口的客户端计算机或者通过其用户可与本发明的实现方式交互的Web浏览器,或者所述计算系统包括一个或多个这样的后端、中间件或者前端组件的任意组合。系统的组件可由数字数据通信的任意形式或者介质,例如,通信网络来互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如,互联网。
计算系统可包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络交互。客户端和服务器的关系借助于在各个计算机上运行且相互具有客户端-服务器关系的计算机程序而发生。
尽管本说明书包含许多细节,但这些不应被解释为对本发明的范围和可能要求保护的内容的限制,而是应被解释为对特定于本发明的具体实施例的特征的描述。在本说明书中描述的分开的实施例的上下文中的某些特征也可在单个实施例中组合地实现。反之,单个实施例的上下文中所述的各种特征也可在多个实施例中分开地实现或者以任意合适的变形实现。此外,虽然特征可能在以上被描述为以某些组合动作以及甚至最初要求这样保护,但来自要求保护的组合的一个或多个特征在一些情况下可从组合中删去,并且要求保护的组合可指向变形或变形的变体。
类似地,尽管在图中按特定顺序描绘了操作,但这不应被理解成为实现期望的结果要求这样的操作按示出的特定顺序或按连续顺序执行,或者所有图示出的操作都被执行。在特定状况下,多任务处理和并行处理可能是有利的。此外,上述实施例中各种系统组件的分离不应当被理解为所有实施例中都需要这样的分离,并且应理解,所述的程序组件和系统一般可共同集成在单个软件产品中或者被封装到多个软件产品中。
在提及HTML文件的每个实例中,可替换成其它文件类型或格式。例如,HTML文件可被XML、JSON、纯文本或者其它类型的文件替代。此外,在提及表或者散列表的情况下,可使用其它数据结构(诸如电子数据表、关系数据库或者结构文件)。
到此,已描述了本发明的特定实施例。其它实施例在所附权利要求的范围内。例如,权利要求中叙述的动作可按不同顺序执行但仍实现期望的结果。
Claims (72)
1.一种由数据处理装置执行的方法,所述方法包括:
访问指示一个或多个用户所提交的查询的训练数据;
针对所述查询中的每一个查询确定训练数据指示该查询被提交的次数的计数;
基于计数选择所述查询的真子集;
基于计数训练语言模型的第一组件,所述第一组件包括指示训练数据当中被选查询的相对频率的第一概率数据;
基于训练数据训练语言模型的第二组件,所述第二组件包括用于向所述被选查询中未包括的查询指派评分的第二概率数据;
确定相对于第一概率数据归一化第二概率数据的调整数据;以及
存储第一组件、第二组件和调整数据。
2.如权利要求1所述的方法,其中,基于计数训练语言模型的第一组件包括:生成在局限于出现在训练数据中的查询的可能结果的集合上的第一概率分布;并且
其中,基于训练数据训练语言模型的第二组件包括:生成第二概率分布,对于所述第二概率分布,可能结果的范围不局限于定义的查询集合。
3.如权利要求2所述的方法,其中,确定调整数据包括:确定用于相对于第一概率分布对第二概率分布加权以形成组合概率分布的一个或多个权重值。
4.如权利要求1所述的方法,其中,访问指示一个或多个用户所提交的查询的训练数据包括:访问指示不同用户说出的话音查询的一个或多个查询日志;并且
其中,基于计数选择所述查询的真子集包括:选择具有最高计数的查询。
5.如权利要求1所述的方法,其中,基于计数选择所述查询的真子集包括:选择具有等于或者超过最小阈值的计数的查询,所述最小阈值大于一。
6.如权利要求1所述的方法,其中,基于计数选择所述查询的真子集包括:
基于第一阈值选择具有第一词语数量的查询;以及
基于第二阈值选择具有第二词语数量的查询,所述第二词语数量不同于所述第一词语数量,并且所述第二阈值不同于所述第一阈值。
7.如权利要求1所述的方法,其中,基于计数训练语言模型的第一组件包括:针对被选查询中的每一个被选查询,确定指示该被选查询作为完整查询在训练数据中的相对出现频率的评分。
8.如权利要求1所述的方法,其中,训练语言模型的第一组件包括:生成指示第一概率分布的数据,对于所述第一概率分布,被选查询的出现概率的第一总和是第一值;
其中,训练语言模型的第二组件包括:生成指示第二概率分布的数据,对于所述第二概率分布,被选查询的出现概率的第二总和是第二值;并且
其中,确定调整数据包括:基于第一值和第二值来确定权重值。
9.如权利要求1所述的方法,其中,确定调整数据包括:确定要应用于第二组件的输出的权重值,所述权重值使第二组件的概率分布的一部分与第一组件的概率分布的相应部分相等。
10.如权利要求1所述的方法,还包括:
使用语言模型的第一组件来确定特定查询的第一评分;
使用语言模型的第二组件来确定所述特定查询的第二评分;
确定第一评分和第二评分不满足预定关系;以及
响应于确定第一评分和第二评分不满足预定关系,从所述被选查询中去除所述特定查询以生成变更的被选查询集合。
11.如权利要求10所述的方法,还包括,在从所述被选查询中去除所述特定查询之后,基于变更的被选查询集合来确定第二调整数据。
12.如权利要求1所述的方法,其中,基于训练数据训练语言模型的第二组件包括:训练n元词串模型。
13.如权利要求12所述的方法,其中,训练n元词串模型包括:确定每个指示在给定一个或多个其它词语的出现的情况下一词语的出现概率的条件概率。
14.如权利要求1所述的方法,其中,基于训练数据训练语言模型的第二组件包括:使用训练数据的真子集训练第二组件,所述训练数据的真子集排除了所述被选查询的实例。
15.如权利要求1所述的方法,其中,访问指示一个或多个用户所提交的查询的训练数据包括:(i)访问指示与第一地理区域相关联的第一查询的第一训练数据,以及(ii)访问指示与大于第一地理区域的第二地理区域相关联的第二查询的第二训练数据;
其中,针对所述查询中的每一个查询确定训练数据指示该查询被提交的次数的计数包括:针对第一查询中的每一个查询确定第一训练数据指示该查询被提交的次数的计数;
其中,基于计数选择所述查询的真子集包括:从与第一地理区域相关联的第一查询当中选择查询;
其中,基于计数训练语言模型的第一组件包括:基于指示第一训练数据指示被选查询被提交的次数的计数来训练第一组件;并且
其中,基于所述训练数据训练语言模型的第二组件包括:基于指示与第二地理区域相关联的查询的第二训练数据来训练语言模型的第二组件。
16.如权利要求15所述的方法,还包括:
接收查询;
确定所接收的查询与第一地理区域相关联;
响应于确定所接收的查询与第一地理区域相关联,从与不同地理区域相对应的多个语言模型当中选择第一组件;
使用第一组件来评价所述被选查询中包括的一个或多个候选转录;以及
使用第二组件来评价所述被选查询中未包括的一个或多个候选转录。
17.如权利要求1所述的方法,还包括:
接收一个或多个话语的候选转录;
确定所述候选转录是所述被选查询中的一个被选查询;
响应于确定所述候选转录是所述被选查询中的一个被选查询,使用语言模型的第一组件确定所述候选转录的评分;以及
基于所述评分来评价所述候选转录。
18.如权利要求1所述的方法,还包括:
接收一个或多个话语的候选转录;
确定所述候选转录不是所述被选查询之一;
响应于确定所述候选转录不是所述被选查询之一,使用语言模型的第二组件确定所述候选转录的评分;以及
基于所述评分来评价所述候选转录。
19.一种系统,包括:
一个或多个计算机和存储可操作的指令的一个或多个存储设备,所述指令在被所述一个或多个计算机运行时使得所述一个或多个计算机执行操作,所述操作包括:
访问指示一个或多个用户所提交的查询的训练数据;
针对所述查询中的每一个查询确定训练数据指示该查询被提交的次数的计数;
基于计数选择所述查询的真子集;
基于计数训练语言模型的第一组件,所述第一组件包括指示训练数据当中被选查询的相对频率的第一概率数据;
基于训练数据训练语言模型的第二组件,所述第二组件包括用于向所述被选查询中未包括的查询指派评分的第二概率数据;
确定相对于第一概率数据归一化第二概率数据的调整数据;以及
存储第一组件、第二组件和调整数据。
20.如权利要求19所述的系统,其中,基于计数训练语言模型的第一组件包括:生成在局限于出现在训练数据中的查询的可能结果的集合上的第一概率分布;并且
其中,基于训练数据训练语言模型的第二组件包括:生成第二概率分布,对于所述第二概率分布,可能结果的范围不局限于定义的查询集合。
21.如权利要求20所述的系统,其中,确定调整数据包括:确定用于相对于第一概率分布对第二概率分布加权以形成组合概率分布的一个或多个权重值。
22.如权利要求19所述的系统,其中,访问指示一个或多个用户所提交的查询的训练数据包括:访问指示不同用户说出的话音查询的一个或多个查询日志;并且
其中,基于计数选择所述查询的真子集包括:选择具有最高计数的查询。
23.如权利要求19所述的系统,其中,基于计数选择所述查询的真子集包括:选择具有等于或者超过最小阈值的计数的查询,所述最小阈值大于一。
24.如权利要求19所述的系统,其中,基于计数选择所述查询的真子集包括:
基于第一阈值选择具有第一词语数量的查询;以及
基于第二阈值选择具有第二词语数量的查询,所述第二词语数量不同于所述第一词语数量,并且所述第二阈值不同于所述第一阈值。
25.如权利要求19所述的系统,其中,基于计数训练语言模型的第一组件包括:针对所述被选查询中的每一个被选查询,确定指示该被选查询作为完整查询在训练数据中的相对出现频率的评分。
26.如权利要求19所述的系统,其中,训练语言模型的第一组件包括:生成指示第一概率分布的数据,对于所述第一概率分布,所述被选查询的出现概率的第一总和是第一值;
其中,训练语言模型的第二组件包括:生成指示第二概率分布的数据,对于所述第二概率分布,所述被选查询的出现概率的第二总和是第二值;并且
其中,确定调整数据包括:基于第一值和第二值来确定权重值。
27.如权利要求19所述的系统,其中,确定调整数据包括:确定要应用于第二组件的输出的权重值,所述权重值使第二组件的概率分布的一部分与第一组件的概率分布的相应部分相等。
28.如权利要求19所述的系统,其中,所述操作还包括:
使用语言模型的第一组件来确定特定查询的第一评分;
使用语言模型的第二组件来确定所述特定查询的第二评分;
确定第一评分和第二评分不满足预定关系;以及
响应于确定第一评分和第二评分不满足预定关系,从所述被选查询中去除该特定查询以生成变更的被选查询集合。
29.如权利要求28所述的系统,其中,所述操作还包括:在从所述被选查询中去除该特定查询之后,基于变更的被选查询集合来确定第二调整数据。
30.如权利要求19所述的系统,其中,基于训练数据训练语言模型的第二组件包括:训练n元词串模型。
31.如权利要求30所述的系统,其中,训练n元词串模型包括:确定每个指示在给定一个或多个其它词语的出现的情况下一词语的出现概率的条件概率。
32.如权利要求19所述的系统,其中,基于所述训练数据训练语言模型的第二组件包括:使用训练数据的真子集训练第二组件,所述训练数据的真子集排除了所述被选查询的实例。
33.如权利要求19所述的系统,其中,访问指示一个或多个用户所提交的查询的训练数据包括:(i)访问指示与第一地理区域相关联的第一查询的第一训练数据,以及(ii)访问指示与大于第一地理区域的第二地理区域相关联的第二查询的第二训练数据;
其中,针对所述查询中的每一个查询确定训练数据指示该查询被提交的次数的计数包括:针对第一查询中的每一个查询确定第一训练数据指示该查询被提交的次数的计数;
其中,基于计数选择所述查询的真子集包括:从与第一地理区域相关联的第一查询当中选择查询;
其中,基于计数训练语言模型的第一组件包括:基于指示第一训练数据指示被选查询被提交的次数的计数来训练第一组件;并且
其中,基于训练数据训练语言模型的第二组件包括:基于指示与第二地理区域相关联的查询的第二训练数据来训练语言模型的第二组件。
34.如权利要求33所述的系统,其中,所述操作还包括:
接收查询;
确定所接收的查询与第一地理区域相关联;
响应于确定所接收的查询与第一地理区域相关联,从与不同地理区域相对应的多个语言模型当中选择第一组件;
使用第一组件来评价所述被选查询中包括的一个或多个候选转录;以及
使用第二组件来评价所述被选查询中未包括的一个或多个候选转录。
35.如权利要求19所述的系统,其中,所述操作还包括:
接收一个或多个话语的候选转录;
确定所述候选转录是所述被选查询中的一个被选查询;
响应于确定所述候选转录是所述被选查询中的一个被选查询,使用语言模型的第一组件确定所述候选转录的评分;以及
基于所述评分来评价所述候选转录。
36.如权利要求19所述的系统,其中,所述操作还包括:
接收一个或多个话语的候选转录;
确定所述候选转录不是所述被选查询之一;
响应于确定所述候选转录不是所述被选查询之一,使用语言模型的第二组件确定所述候选转录的评分;以及
基于所述评分来评价所述候选转录。
37.一种存储计算机程序的计算机存储介质,所述程序包括在被一个或多个计算机运行时使得所述一个或多个计算机执行操作的指令,所述操作包括:
访问指示一个或多个用户所提交的查询的训练数据;
针对所述查询中的每一个查询确定训练数据指示该查询被提交的次数的计数;
基于计数选择所述查询的真子集;
基于计数训练语言模型的第一组件,所述第一组件包括指示训练数据当中被选查询的相对频率的第一概率数据;
基于训练数据训练语言模型的第二组件,所述第二组件包括用于向所述被选查询中未包括的查询指派评分的第二概率数据;
确定相对于第一概率数据归一化第二概率数据的调整数据;以及
存储第一组件、第二组件和调整数据。
38.如权利要求37所述的计算机存储介质,其中,基于计数训练语言模型的第一组件包括:生成在局限于出现在训练数据中的查询的可能结果的集合上的第一概率分布;并且
其中,基于训练数据训练语言模型的第二组件包括:生成第二概率分布,对于所述第二概率分布,可能结果的范围不局限于所定义的查询集合。
39.如权利要求38所述的计算机存储介质,其中,确定调整数据包括:确定用于相对于第一概率分布对第二概率分布加权以形成组合概率分布的一个或多个权重值。
40.如权利要求37所述的计算机存储介质,其中,访问指示一个或多个用户所提交的查询的训练数据包括:访问指示不同用户说出的话音查询的一个或多个查询日志;并且
其中,基于计数选择所述查询的真子集包括:选择具有最高计数的查询。
41.如权利要求37所述的计算机存储介质,其中,基于计数选择所述查询的真子集包括:选择具有等于或者超过最小阈值的计数的查询,所述最小阈值大于一。
42.如权利要求37所述的计算机存储介质,其中,基于计数选择所述查询的真子集包括:
基于第一阈值选择具有第一词语数量的查询;以及
基于第二阈值选择具有第二词语数量的查询,所述第二词语数量不同于所述第一词语数量,并且所述第二阈值不同于所述第一阈值。
43.如权利要求37所述的计算机存储介质,其中,基于计数训练语言模型的第一组件包括:针对被选查询中的每一个被选查询确定指示该被选查询作为完整查询在训练数据中的相对出现频率的评分。
44.如权利要求37所述的计算机存储介质,其中,训练语言模型的第一组件包括:生成指示第一概率分布的数据,对于所述第一概率分布,被选查询的出现概率的第一总和是第一值;
其中,训练语言模型的第二组件包括:生成指示第二概率分布的数据,对于所述第二概率分布,被选查询的出现概率的第二总和是第二值;并且
其中,确定调整数据包括:基于第一值和第二值来确定权重值。
45.如权利要求37所述的计算机存储介质,其中,确定调整数据包括:确定要应用于第二组件的输出的权重值,所述权重值使第二组件的概率分布的一部分与第一组件的概率分布的相应部分相等。
46.如权利要求37所述的计算机存储介质,其中,所述操作还包括:
使用语言模型的第一组件来确定特定查询的第一评分;
使用语言模型的第二组件来确定所述特定查询的第二评分;
确定第一评分和第二评分不满足预定关系;以及
响应于确定第一评分和第二评分不满足预定关系,从所述被选查询中去除该特定查询以生成变更的被选查询集合。
47.如权利要求46所述的计算机存储介质,其中,所述操作还包括,在从所述被选查询中去除所述特定查询之后,基于变更的被选查询集合来确定第二调整数据。
48.如权利要求37所述的计算机存储介质,其中,基于训练数据训练语言模型的第二组件包括:训练n元词串模型。
49.如权利要求48所述的计算机存储介质,其中,训练n元词串模型包括:确定每个指示在给定一个或多个其它词语的出现的情况下一词语的出现概率的条件概率。
50.如权利要求37所述的计算机存储介质,其中,基于训练数据训练语言模型的第二组件包括:使用训练数据的真子集训练第二组件,所述训练数据的真子集排除了所述被选查询的实例。
51.如权利要求37所述的计算机存储介质,其中,访问指示一个或多个用户所提交的查询的训练数据包括:(i)访问指示与第一地理区域相关联的第一查询的第一训练数据,以及(ii)访问指示与大于第一地理区域的第二地理区域相关联的第二查询的第二训练数据;
其中,针对所述查询中的每一个查询确定训练数据指示该查询被提交的次数的计数包括:针对第一查询中的每一个第一查询确定第一训练数据指示该查询被提交的次数的计数;
其中,基于计数选择所述查询的真子集包括:从与第一地理区域相关联的第一查询当中选择查询;
其中,基于计数训练语言模型的第一组件包括:基于指示第一训练数据指示被选查询被提交的次数的计数来训练第一组件;并且
其中,基于训练数据训练语言模型的第二组件包括:基于指示与第二地理区域相关联的查询的第二训练数据来训练语言模型的第二组件。
52.如权利要求51所述的计算机存储介质,其中,所述操作还包括:
接收查询;
确定所接收的查询与第一地理区域相关联;
响应于确定所接收的查询与第一地理区域相关联,从与不同地理区域相对应的多个语言模型当中选择第一组件;
使用第一组件来评价所述被选查询中包括的一个或多个候选转录;以及
使用第二组件来评价所述被选查询中未包括的一个或多个候选转录。
53.如权利要求37所述的计算机存储介质,其中,所述操作还包括:
接收一个或多个话语的候选转录;
确定所述候选转录是所述被选查询中的一个被选查询;
响应于确定所述候选转录是所述被选查询中的一个被选查询,使用语言模型的第一组件确定所述候选转录的评分;以及
基于所述评分来评价所述候选转录。
54.如权利要求37所述的计算机存储介质,其中,所述操作还包括:
接收一个或多个话语的候选转录;
确定所述候选转录不是所述被选查询之一;
响应于确定所述候选转录不是所述被选查询之一,使用语言模型的第二组件确定所述候选转录的评分;以及
基于所述评分来评价所述候选转录。
55.一种由数据处理装置执行的方法,所述方法包括:
接收一个或多个话语的候选转录;
确定所述候选转录是与包括指示语言序列整体出现的可能性的数据的语言模型组件相关联的预定语言序列集合中的一个语言序列;
响应于确定所述候选转录是与所述语言模型组件相关联的预定语言序列集合中的一个语言序列,使用语言模型的第一组件确定第一候选转录的第一评分;以及
基于所述评分评价所述候选转录。
56.如权利要求55所述的方法,其中,确定所述候选转录是与包括指示语言序列整体出现的可能性的数据的语言模型组件相关联的预定语言序列集合中的一个语言序列包括:
确定所述候选转录与所述预定语言序列集合中的语言序列之一的整体准确匹配。
57.如权利要求55所述的方法,其中,所述语言序列中的每一个表示一个或多个用户所提交的完整语言序列。
58.如权利要求55所述的方法,其中,所述语言序列中的每一个表示一个或多个用户所提交的完整查询。
59.如权利要求55所述的方法,其中,所述语言模型组件是第一语言模型组件;
其中,所述方法还包括:
接收一个或多个话语的第二候选转录;
确定所述第二候选转录不是与第一语言模型组件相关联的预定语言序列集合中的语言序列之一;
响应于确定候选转录不是与第一语言模型组件相关联的预定语言序列集合中的一个语言序列,使用第二语言模型组件确定所述第二候选转录的第二评分;以及
基于所述第二评分评价所述第二候选转录。
60.如权利要求59所述的方法,其中,确定第二评分包括:使用n元词串模型来确定第二评分;并且
确定第一评分包括:在不使用n元词串模型的情况下确定第一评分。
61.一种系统,包括:
一个或多个计算机和存储可操作的指令的一个或多个存储设备,所述指令在被所述一个或多个计算机运行时使得所述一个或多个计算机执行操作,所述操作包括:
接收一个或多个话语的候选转录;
确定所述候选转录是与包括指示语言序列整体出现的可能性的数据的语言模型组件相关联的预定语言序列集合中的一个语言序列;
响应于确定所述候选转录是与所述语言模型组件相关联的预定语言序列集合中的一个语言序列,使用语言模型的第一组件确定第一候选转录的第一评分;以及
基于所述评分评价所述候选转录。
62.如权利要求61所述的系统,其中,确定所述候选转录是与包括指示语言序列整体出现的可能性的数据的语言模型组件相关联的预定语言序列集合中的一个语言序列包括:
确定所述候选转录与所述预定语言序列集合中的语言序列之一的整体准确匹配。
63.如权利要求61所述的系统,其中,所述语言序列中的每一个表示一个或多个用户所提交的完整语言序列。
64.如权利要求61所述的系统,其中,所述语言序列中的每一个表示一个或多个用户所提交的完整查询。
65.如权利要求61所述的系统,其中,所述语言模型组件是第一语言模型组件;
其中,所述操作还包括:
接收一个或多个话语的第二候选转录;
确定所述第二候选转录不是与第一语言模型组件相关联的预定语言序列集合中的语言序列之一;
响应于确定候选转录不是与第一语言模型组件相关联的预定语言序列集合中的一个语言序列,使用第二语言模型组件确定所述第二候选转录的第二评分;以及
基于所述第二评分评价所述第二候选转录。
66.如权利要求65所述的系统,其中,确定第二评分包括:使用n元词串模型来确定第二评分;并且
确定第一评分包括:在不使用n元词串模型的情况下确定第一评分。
67.一种存储计算机程序的计算机存储介质,所述程序包括在被一个或多个计算机运行时使得所述一个或多个计算机执行操作的指令,所述操作包括:
接收一个或多个话语的候选转录;
确定所述候选转录是与包括指示语言序列整体出现的可能性的数据的语言模型组件相关联的预定语言序列集合中的一个语言序列;
响应于确定所述候选转录是与所述语言模型组件相关联的预定语言序列集合中的一个语言序列,使用语言模型的第一组件确定第一候选转录的第一评分;以及
基于所述评分评价所述候选转录。
68.如权利要求67所述的计算机存储介质,其中,确定所述候选转录是与包括指示语言序列整体出现的可能性的数据的语言模型组件相关联的预定语言序列集合中的一个语言序列包括:
确定所述候选转录与所述预定语言序列集合中的语言序列之一的整体准确匹配。
69.如权利要求67所述的计算机存储介质,其中,所述语言序列中的每一个表示一个或多个用户所提交的完整语言序列。
70.如权利要求67所述的计算机存储介质,其中,所述语言序列中的每一个表示一个或多个用户所提交的完整查询。
71.如权利要求67所述的计算机存储介质,其中,所述语言模型组件是第一语言模型组件;
其中,所述操作还包括:
接收一个或多个话语的第二候选转录;
确定所述第二候选转录不是与第一语言模型组件相关联的预定语言序列集合中的语言序列之一;
响应于确定候选转录不是与第一语言模型组件相关联的预定语言序列集合中的一个语言序列,使用第二语言模型组件确定所述第二候选转录的第二评分;以及
基于所述第二评分评价所述第二候选转录。
72.如权利要求71所述的计算机存储介质,其中,确定第二评分包括:使用n元词串模型来确定第二评分;并且
确定第一评分包括:在不使用n元词串模型的情况下确定第一评分。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361781140P | 2013-03-14 | 2013-03-14 | |
US61/781,140 | 2013-03-14 | ||
US13/875,406 US9786269B2 (en) | 2013-03-14 | 2013-05-02 | Language modeling of complete language sequences |
US13/875,406 | 2013-05-02 | ||
PCT/US2013/070732 WO2014158239A1 (en) | 2013-03-14 | 2013-11-19 | Language modeling of complete language sequences |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105229723A true CN105229723A (zh) | 2016-01-06 |
CN105229723B CN105229723B (zh) | 2019-10-22 |
Family
ID=51531824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380076599.0A Active CN105229723B (zh) | 2013-03-14 | 2013-11-19 | 完整语言序列的语言建模 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9786269B2 (zh) |
EP (1) | EP2973544B1 (zh) |
CN (1) | CN105229723B (zh) |
WO (1) | WO2014158239A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108573697A (zh) * | 2017-03-10 | 2018-09-25 | 北京搜狗科技发展有限公司 | 一种语言模型更新方法、装置及设备 |
CN112602098A (zh) * | 2018-05-08 | 2021-04-02 | 谷歌有限责任公司 | 对比序列到序列数据选择器 |
CN112673421A (zh) * | 2018-11-28 | 2021-04-16 | 谷歌有限责任公司 | 训练和/或使用语言选择模型以自动确定用于口头话语的话音辨识的语言 |
CN112668317A (zh) * | 2019-10-15 | 2021-04-16 | 三星电子株式会社 | 用于确定输出词法单元的方法和设备 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105378830A (zh) * | 2013-05-31 | 2016-03-02 | 朗桑有限公司 | 音频数据的处理 |
KR20150144447A (ko) * | 2014-06-16 | 2015-12-28 | 한국전자통신연구원 | 메시지 수정 방법 및 장치 |
US9871755B2 (en) * | 2014-10-23 | 2018-01-16 | Facebook, Inc. | Encoding portions of a message |
CN106971728A (zh) * | 2016-01-14 | 2017-07-21 | 芋头科技(杭州)有限公司 | 一种快速识别声纹方法和系统 |
US9959864B1 (en) * | 2016-10-27 | 2018-05-01 | Google Llc | Location-based voice query recognition |
US10867609B2 (en) * | 2018-05-18 | 2020-12-15 | Sorenson Ip Holdings, Llc | Transcription generation technique selection |
KR20190113693A (ko) * | 2019-09-18 | 2019-10-08 | 엘지전자 주식회사 | 단어 사용 빈도를 고려하여 사용자의 음성을 인식하는 인공 지능 장치 및 그 방법 |
CN112417093B (zh) * | 2020-11-11 | 2024-03-08 | 北京三快在线科技有限公司 | 一种模型训练的方法及装置 |
CN115938351B (zh) * | 2021-09-13 | 2023-08-15 | 北京数美时代科技有限公司 | Asr语言模型的构建方法、系统、存储介质及电子设备 |
US20240211501A1 (en) * | 2022-12-27 | 2024-06-27 | Tencent America LLC | Instance-level adaptive propulsion of external knowledge (iapek) |
CN117577119B (zh) * | 2024-01-17 | 2024-04-05 | 清华大学 | 融合大语言模型的伪造语音检测方法、系统、设备及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613036A (en) * | 1992-12-31 | 1997-03-18 | Apple Computer, Inc. | Dynamic categories for a speech recognition system |
US20080091443A1 (en) * | 2006-10-13 | 2008-04-17 | Brian Strope | Business listing search |
CN101223573A (zh) * | 2005-07-15 | 2008-07-16 | 微软公司 | 在自适应编码和解码中选择性地使用多个熵模型 |
US20080172224A1 (en) * | 2007-01-11 | 2008-07-17 | Microsoft Corporation | Position-dependent phonetic models for reliable pronunciation identification |
US7447636B1 (en) * | 2005-05-12 | 2008-11-04 | Verizon Corporate Services Group Inc. | System and methods for using transcripts to train an automated directory assistance service |
CN101382937A (zh) * | 2008-07-01 | 2009-03-11 | 深圳先进技术研究院 | 基于语音识别的多媒体资源处理方法及其在线教学系统 |
CN101593518A (zh) * | 2008-05-28 | 2009-12-02 | 中国科学院自动化研究所 | 实际场景语料和有限状态网络语料的平衡方法 |
US20110060587A1 (en) * | 2007-03-07 | 2011-03-10 | Phillips Michael S | Command and control utilizing ancillary information in a mobile voice-to-speech application |
US20120158705A1 (en) * | 2010-12-16 | 2012-06-21 | Microsoft Corporation | Local search using feature backoff |
CN102810311A (zh) * | 2011-06-01 | 2012-12-05 | 株式会社理光 | 说话人估计方法和说话人估计设备 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05197389A (ja) | 1991-08-13 | 1993-08-06 | Toshiba Corp | 音声認識装置 |
US5293584A (en) | 1992-05-21 | 1994-03-08 | International Business Machines Corporation | Speech recognition system for natural language translation |
US5651096A (en) | 1995-03-14 | 1997-07-22 | Apple Computer, Inc. | Merging of language models from two or more application programs for a speech recognition system |
US6167377A (en) | 1997-03-28 | 2000-12-26 | Dragon Systems, Inc. | Speech recognition language models |
EP1046157B1 (en) | 1998-10-21 | 2004-03-10 | Koninklijke Philips Electronics N.V. | Method of determining parameters of a statistical language model |
US6477488B1 (en) | 2000-03-10 | 2002-11-05 | Apple Computer, Inc. | Method for dynamic context scope selection in hybrid n-gram+LSA language modeling |
US20020123894A1 (en) * | 2001-03-01 | 2002-09-05 | International Business Machines Corporation | Processing speech recognition errors in an embedded speech recognition system |
US7222074B2 (en) * | 2001-06-20 | 2007-05-22 | Guojun Zhou | Psycho-physical state sensitive voice dialogue system |
DE60332220D1 (de) | 2002-03-27 | 2010-06-02 | Univ Southern California | Phrasenbasiertes gemeines wahrscheinlichkeitsmodell zur statistischen maschinellen übersetzung |
JP2004334193A (ja) | 2003-05-01 | 2004-11-25 | Microsoft Corp | 音声認識および自然言語理解のための複合統計/ルール・ベース文法モデルを有するシステム |
US7356526B2 (en) * | 2003-09-30 | 2008-04-08 | International Business Machines Corporation | Estimating the compilation time of a query optimizer |
US7593843B2 (en) * | 2004-03-30 | 2009-09-22 | Microsoft Corporation | Statistical language model for logical form using transfer mappings |
US8666725B2 (en) * | 2004-04-16 | 2014-03-04 | University Of Southern California | Selection and use of nonstatistical translation components in a statistical machine translation framework |
US7756708B2 (en) | 2006-04-03 | 2010-07-13 | Google Inc. | Automatic language model update |
US9318108B2 (en) * | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8615389B1 (en) * | 2007-03-16 | 2013-12-24 | Language Weaver, Inc. | Generation and exploitation of an approximate language model |
US8825466B1 (en) * | 2007-06-08 | 2014-09-02 | Language Weaver, Inc. | Modification of annotated bilingual segment pairs in syntax-based machine translation |
US10496753B2 (en) * | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US8712776B2 (en) * | 2008-09-29 | 2014-04-29 | Apple Inc. | Systems and methods for selective text to speech synthesis |
US8630860B1 (en) * | 2011-03-03 | 2014-01-14 | Nuance Communications, Inc. | Speaker and call characteristic sensitive open voice search |
EP2700071B1 (en) | 2011-04-20 | 2014-12-24 | Robert Bosch GmbH | Speech recognition using multiple language models |
US8812474B2 (en) * | 2011-07-14 | 2014-08-19 | Nuance Communications, Inc. | Methods and apparatus for identifying and providing information sought by a user |
US20130086027A1 (en) * | 2011-09-30 | 2013-04-04 | Nuance Communications, Inc. | Techniques for the receipt and processing of user-specified queries |
US9043205B2 (en) * | 2012-06-21 | 2015-05-26 | Google Inc. | Dynamic language model |
US8856007B1 (en) * | 2012-10-09 | 2014-10-07 | Google Inc. | Use text to speech techniques to improve understanding when announcing search results |
-
2013
- 2013-05-02 US US13/875,406 patent/US9786269B2/en active Active
- 2013-11-19 WO PCT/US2013/070732 patent/WO2014158239A1/en active Application Filing
- 2013-11-19 EP EP13798880.4A patent/EP2973544B1/en active Active
- 2013-11-19 CN CN201380076599.0A patent/CN105229723B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613036A (en) * | 1992-12-31 | 1997-03-18 | Apple Computer, Inc. | Dynamic categories for a speech recognition system |
US7447636B1 (en) * | 2005-05-12 | 2008-11-04 | Verizon Corporate Services Group Inc. | System and methods for using transcripts to train an automated directory assistance service |
CN101223573A (zh) * | 2005-07-15 | 2008-07-16 | 微软公司 | 在自适应编码和解码中选择性地使用多个熵模型 |
US20080091443A1 (en) * | 2006-10-13 | 2008-04-17 | Brian Strope | Business listing search |
US20080172224A1 (en) * | 2007-01-11 | 2008-07-17 | Microsoft Corporation | Position-dependent phonetic models for reliable pronunciation identification |
US20110060587A1 (en) * | 2007-03-07 | 2011-03-10 | Phillips Michael S | Command and control utilizing ancillary information in a mobile voice-to-speech application |
CN101593518A (zh) * | 2008-05-28 | 2009-12-02 | 中国科学院自动化研究所 | 实际场景语料和有限状态网络语料的平衡方法 |
CN101382937A (zh) * | 2008-07-01 | 2009-03-11 | 深圳先进技术研究院 | 基于语音识别的多媒体资源处理方法及其在线教学系统 |
US20120158705A1 (en) * | 2010-12-16 | 2012-06-21 | Microsoft Corporation | Local search using feature backoff |
CN102810311A (zh) * | 2011-06-01 | 2012-12-05 | 株式会社理光 | 说话人估计方法和说话人估计设备 |
Non-Patent Citations (3)
Title |
---|
AUBERT X L: "An overview of decoding techniques for large vocabulary continuous speech recognition", 《 COMPUTER SPEECH AND LANGUAGE, 2002》 * |
CHARL VAN HEERDEN ET AL.: "Language Modeling for What-with-Where on GOOG-411", 《PROCEEDINGS OF INTERSPEECH 2009》 * |
HUANG X ET AL.: "An overview of the SPHINX-II speech recognition system", 《PROCEEDINGS OF THE WORKSHOP ON HUMAN LANGUAGE TECHNOLOGY》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108573697A (zh) * | 2017-03-10 | 2018-09-25 | 北京搜狗科技发展有限公司 | 一种语言模型更新方法、装置及设备 |
CN112602098A (zh) * | 2018-05-08 | 2021-04-02 | 谷歌有限责任公司 | 对比序列到序列数据选择器 |
CN112673421A (zh) * | 2018-11-28 | 2021-04-16 | 谷歌有限责任公司 | 训练和/或使用语言选择模型以自动确定用于口头话语的话音辨识的语言 |
CN112668317A (zh) * | 2019-10-15 | 2021-04-16 | 三星电子株式会社 | 用于确定输出词法单元的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2014158239A1 (en) | 2014-10-02 |
US9786269B2 (en) | 2017-10-10 |
EP2973544B1 (en) | 2019-04-17 |
US20140278407A1 (en) | 2014-09-18 |
EP2973544A1 (en) | 2016-01-20 |
CN105229723B (zh) | 2019-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105229723A (zh) | 完整语言序列的语言建模 | |
US11093561B2 (en) | Fast indexing with graphs and compact regression codes on online social networks | |
TWI512502B (zh) | 用於產生習慣語言模式之方法及系統及相關之電腦程式產品 | |
US11055355B1 (en) | Query paraphrasing | |
CN106575503B (zh) | 用于对话理解系统的会话上下文建模的方法和系统 | |
US20210217408A1 (en) | Dialogue systems | |
US8868409B1 (en) | Evaluating transcriptions with a semantic parser | |
US20200019609A1 (en) | Suggesting a response to a message by selecting a template using a neural network | |
AU2014201827B2 (en) | Scoring concept terms using a deep network | |
US9483730B2 (en) | Hybrid review synthesis | |
US11682383B2 (en) | Language model biasing system | |
US11675975B2 (en) | Word classification based on phonetic features | |
US8473293B1 (en) | Dictionary filtering using market data | |
US8731930B2 (en) | Contextual voice query dilation to improve spoken web searching | |
US9298693B2 (en) | Rule-based generation of candidate string transformations | |
CN110457672A (zh) | 关键词确定方法、装置、电子设备及存储介质 | |
WO2016107354A1 (zh) | 提供用户个性化资源消息推送的方法和装置 | |
CN110678882A (zh) | 使用机器学习从电子文档选择回答跨距 | |
CN114154487A (zh) | 文本自动纠错方法、装置、电子设备及存储介质 | |
US11481452B2 (en) | Self-learning and adaptable mechanism for tagging documents | |
WO2024158405A1 (en) | Automatically restructuring search campaigns |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: American California Applicant after: Google limited liability company Address before: American California Applicant before: Google Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |