导航:X技术最新专利乐器;声学设备的制造及制作,分析技术
本申请要求于2019年8月5日在韩国知识产权局提交的第10-号韩国专利申请的权益,所述韩国专利申请的全部公开出于所有目的通过引用包含于此。
语音识别指的是计算机分析人类为了表达而说出的语音并将语音转换为文本数据的技术。通过来自追求便利性的用户的增长的需求,该技术正在迅速发展。使用神经网络执行语音识别的方法正在被研究。神经网络可以是通过数学的表示形式来模拟人类的生物神经元的特性并且使用模拟人类的学习能力的算法的模型。神经网络可具有基于学习或训练的结果针对尚未用于学习或训练的输入模式生成相对正确的输出的泛化能力。因此,由于这样的泛化能力,它被广泛用于语音识别的技术领域。
提供本发明内容来以简化的形式介绍在以下具体实施方式中进一步描述的构思的选择。本发明内容不意在标识要求权利的主题的关键特征或必要特征,也不意在用于帮助确定要求权利的主题的范围。
在一个总体方面,一种语音识别方法包括:接收语音数据;使用语音识别模型,从接收的语音数据获得候选文本,候选文本包括至少一个词和与包括在接收的语音数据中的目标词的发音相关联的语音符号序列;用与语音符号序列对应的替换词来替换包括在候选文本中的语音符号序列;和基于替换的结果来确定与接收的语音数据对应的目标文本。
所述至少一个词可包括至少一个子词,并且候选文本可包括所述至少一个子词、语音符号序列、以及指示语音符号序列的开始和结束的标识符对。
所述方法可包括:使用包括与多个词和分别对应于所述多个词的语音符号序列有关的信息的词典数据,来确定与语音符号序列对应的替换词。
所述方法可包括:计算包括在候选文本中的语音符号序列与包括在词典数据中的语音符号序列中的每个之间的相似度;和将与具有计算的包括在词典数据中的语音符号序列的相似度之中的最大相似度的语音符号序列对应的词确定为与包括在候选文本中的语音符号序列对应的替换词。
词典数据可具有字典树或哈希图数据结构,并且确定的步骤可包括:使用所述数据结构,从包括在词典数据中的语音符号序列检索与包括在候选文本中的语音符号序列对应的语音符号序列;和将与检索的语音符号序列对应的词确定为与候选文本中的语音符号序对应的替换词。
所述方法可包括:使用与不同类别对应的词典数据的集合之中的与由标识符对指示的类别对应的词典数据,确定与包括在候选文本中的语音符号序列对应的替换词;和用确定的替换词来替换包括在候选文本中的语音符号序列。与不同类别对应的词典数据的集合中的每个可包括与每个类别中的每个词所对应的语音符号序列有关的信息。
响应于语音符号序列对应于多个词,所述方法可包括:通过用所述多个词中的每个替换语音符号序列来获得多个候选目标文本;使用语言模型来计算所述多个候选目标文本中的每个的分数;和将具有计算的候选目标文本的分数之中的最大分数的候选目标文本确定为目标文本。
在另一总体方面,一种语音识别设备包括:至少一个处理器。所述至少一个处理器可接收语音数据;使用语音识别模型,从接收的语音数据获得候选文本,候选文本包括至少一个词和与包括在接收的语音数据中的目标词的发音相关联的语音符号序列;用与语音符号序列对应的替换词来替换包括在候选文本中的语音符号序列;和基于替换的结果来确定与接收的语音数据对应的目标文本。
所述处理器可使用分别与不同类别对应的词典数据的集合之中的与由标识符对指示的类别对应的词典数据,确定与语音符号序列对应的替换词;和用确定的替换词来替换包括在候选文本中的语音符号序列。
响应于语音符号序列对应于多个词,所述处理器可通过用所述多个词中的每个替换语音符号序列来获得多个候选目标文本;使用语言模型来计算所述多个候选目标文本中的每个的分数;和将具有计算的候选目标文本的分数之中的最大分数的候选目标文本确定为目标文本。
语音识别模型可包括:编码器,被配置为从语音数据提取向量值;和解码器,被配置为从向量值输出与语音数据对应的候选文本。
在另一总体方面,一种语音识别方法包括:接收语音数据;从接收的语音数据获得表示包括在接收的语音数据中的目标词的发音的目标语音符号序列和标识目标词的类别的标识符对;基于目标词的类别,将目标语音符号序列与一个或多个其它语音符号序列进行比较,其它语音符号序列中的每个与自己的替换词相关联;和基于比较,通过用替换词之一替换目标词来输出与接收的语音数据对应的目标文本。
所述方法可包括:将用于替换目标词的替换词确定为与其它语音符号序列中的最类似于目标语音符号序列的一个相关联的自己的替换词之一。
目标语音符号序列可被包括在候选文本中,候选文本至少包括在目标语音符号序列之前或之后的至少一个子词。
标识符对可包括指示目标语音符号序列的开始的第一字符和指示目标语音符号序列的开始的第二字符,并且所述至少一个子词可通过第一字符和第二字符中的一个或两者与候选文本中的目标语音符号序列隔开。
图8示出词(word)和语音符号序列(phonetic symbol sequence)的词典数据的示例。
图9示出使用字典树(trie)数据结构来检索与语音符号序列对应的词的示例。
贯穿附图和具体实施方式,相同的参考标号表示相同的元件。附图可不按比例,并且为了清楚、说明和方便,附图中的元件的相对尺寸、比例和描绘可被夸大。
提供下面的具体实施方式以帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在理解本申请的公开之后,在此描述的方法、设备和/或系统的各种改变、修改和等同物将是清楚的。例如,在此描述的操作的顺序仅是示例,并且不受限于在此阐述的那些顺序,而是除了必须以特定的顺序发生的操作之外,可如在理解本申请的公开之后将是清楚地那样被改变。此外,为了增加的清楚和简明,可省略已知的特征的描述。
在此描述的特征可以以不同的形式来实现,而不应被解释为受限于在此描述的示例。相反,在此描述的示例已仅被提供,以示出在理解本申请的公开之后将是清楚的实现在此描述的方法、设备和/或系统的许多可行方式中的一些可行方式。
在此使用的术语仅出于描述特定示例的目的,并不应用于限制公开。如在此使用的,除非上下文另外清楚地指示,否则单数形式也意在包括复数形式。如在此使用的,术语“和/或”包括相关联的所列项中的任意一个以及任意两个或更多个的任意组合。如在此使用的,术语“包括”、“包含”和“具有”说明存在叙述的特征、数量、操作、元件、组件和/或它们的组合,但不排除存在或添加一个或多个其它特征、数量、操作、元件、组件和/或它们的组合。
此外,在此可使用诸如第一、第二、a、b、(a)、(b)等的术语来描述组件。这些术语中的每个术语不用于限定相应组件的本质、顺序或序列,而仅用于将相应组件与其它组件区分开来。
贯穿说明书,当诸如层、区域或基底的元件被描述为“在”另一元件“上”、“连接到”或“结合到”另一元件时,所述元件可直接“在”所述另一元件“上”、“连接到”或“结合到”所述另一元件,或者可存在一个或多个介于它们之间的其它元件。相反,当元件被描述为“直接在”另一元件“上”、“直接连接到”或“直接结合到”另一元件时,可不存在介于它们之间的其它元件。同样地,例如“在
除非另有定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与本公
开所属领域的普通技术人员通常理解和对本公开的理解之后的含义相同的含义。除非在此明确地如此定义,否则术语(诸如在通用词典中定义的术语)将被解释为具有与它们在相关领域中的上下文和本公开中的含义一致的含义,并且不应被理想化或过于形式化地解释。
此外,在示例实施例的描述中,当认为在理解本申请的公开之后由此已知的结构或功能的详细描述将导致示例实施例的模糊解释时,将省略这样的描述。
在下文中,将参照附图详细描述示例,并且附图中相同的参考标号始终表示相同的元件。
参照图1,语音识别系统100可在包括服务器的至少一个计算机或终端中实现。在一个示例中,用户可通过语音输入120向语音识别系统100给出命令。在这个示例中,语音输入120可包括如在此使用的词的序列或词序列,并且每个词序列可包括词、子词、短语和/或句子。
在图1的示例中,语音识别系统100通过分析用户的语音输入120来估计与语音输入120对应的文本140。语音识别系统100从估计的文本140提取包括在文本140中的用户的命令,并且向用户提供执行提取的命令的结果。例如,当与语音输入120对应的文本140被识别为如所示的“callto mark”(呼叫mark)时,语音识别系统100从联系号码数据库(db)检索mark的联系号码,并且执行对检索的mark的联系号码进行呼叫的功能。除了如上所述的包括在用户的语音输入中的命令的识别之外,语音识别系统100还可用于其它各种应用(诸如,机器翻译和人机对线被配置为从用户接收语音输入120并将接收的语音输入120转换为与语音输入120对应的文本140。语音识别设备110识别语音输入120,并且生成与语音输入120对应的文本数据。语音识别设备110可由被配置为将包括在语音输入120中的词转换为文本140的软件模块、硬件模块或其组合来实现。语音识别设备110可被嵌入在例如移动电话、蜂窝电话、智能电话、个人计算机(pc)、膝上型计算机、上网本、平板pc、个人数字助理(pda)、数码相机、游戏机、mp3播放器、个人多媒体播放器(pmp)、电子书、导航系统、盘播放器、机顶盒、家用电器以及其它电子装置或设备中,或者与例如移动电话、蜂窝电话、智能电话、个人计算机(pc)、膝上型计算机、上网本、平板pc、个人数字助理(pda)、数码相机、游戏机、mp3播放器、个人多媒体播放器(pmp)、电子书、导航系统、盘播放器、机顶盒、家用电器以及其它电子装置或设备交互。另外,语音识别设备110可被嵌入在例如智能家用电器、智能车辆、智能家居环境、智能建筑环境、智能办公环境、智能电子安全系统、佩戴在用户上的可穿戴装置等中,或者与例如智能家用电器、智能车辆、智能家居环境、智能建筑环境、智能办公环境、智能电子安全系统、佩戴在用户上的可穿戴装置交互。
语音识别设备110可使用存储在db 130中的语言模型(lm)来提高语音识别结果的准确性。lm可以是包括在自然语言处理引擎中的组件,该组件可执行允许接收的语音输入的识别结果是自然语言表示形式的功能。lm可提供与包括子词、短语和/或句子的词相关联的概率值,并且语音识别设备110可基于由lm提供的文本表示形式和文本表示形式的概率值来确定语音识别结果。单个lm或多个lm可用于语音识别。例如,用于语音识别的lm可包括独立于语音输入的域的通用lm、用包括针对每个域频繁地使用的语音表达的语料库训练的
lm、以及基于用户信息或包括例如存储在用户终端(诸如,智能电话)中的联系号码的信息被个性化的个性化lm(plm)。
语音识别设备110将语音输入120中的与不容易地和明确地识别的词对应的部分转换为语音符号序列,并且使用存储在db 130中的词典数据将语音符号序列替换为相应的词,然后确定最终文本。词典数据可包括与多个词和分别对应于词的语音符号序列有关的信息。语音符号序列可指示表示词的发音的语音符号的序列,并且也可被称为音素(phone)序列。通过使用这样的语音符号序列的语音识别,语音识别设备110可提高针对专有名词(诸如,人的姓名和兴趣点(poi)(例如,区域的名称、地点的名称等))的语音识别率。
db 130可被包括在语音识别设备110中,或者设置在语音识别设备110外部。例如,db 130可被包括在被配置为与语音识别设备110通信的服务器(未示出)中。
参照图2,语音识别设备包括候选文本确定器220和后处理器250,候选文本确定器220被配置为确定与语音输入(或语音数据)210对应的候选文本,后处理器250被配置为对候选文本进行后处理。
候选文本确定器220使用基于编码器-解码器的语音识别模型(例如,语音识别引擎)来确定候选文本。语音识别模型可以是例如被配置为使用语音输入210作为输入来生成与语音输入210对应的候选文本的端到端自动语音识别(e2e asr)模型。
语音识别模型包括编码器230和解码器240,编码器230被配置为从语音输入210提取特征值或特征向量,解码器240被配置为基于由编码器230提取的特征值输出候选文本。编码器230和解码器240可由单个神经网络来实现或基于独立的多个神经网络来实现。
编码器230将语音输入210转换为抽象特征向量,并且解码器240基于抽象特征向量确定候选文本。例如,编码器230接收wav数据格式的语音输入210,并且生成体现语音输入210的信息的向量值。在这个示例中,解码器240从编码器230接收向量值,并且生成与接收的向量值对应的候选文本。
根据示例,将从解码器240输出的候选文本可包括至少一个词,所述至少一个词包括子词、与词的发音相关联的语音符号序列或其组合。将从解码器240输出的候选文本基本上可由子词单元来表示。候选文本还可包括用于标识语音符号序列的标识符对(identifier pair)。除非另有定义,否则将在下文中描述的词可包括作为比词小的单元的子词。词可由语义子词的组合组成。子词可以是例如词的部分(piece of a word)、通过字节对编码(byte pair encoding,bpe)算法分割的词的片段、字符等。
标识符对可包括用于标识候选文本中的对应于语音符号序列的部分的开始标签和结束标签。在候选文本中,开始标签可位于紧接在语音符号序列之前,并且结束标签可位于紧接在语音符号序列之后。开始标签和结束标签也可分别被称为开始词法单元(token)和结束词法单元。
标识符对可明确地标识与语音符号序列对应的词的类别或类型。例如,可通过由标识符对指示的字符或符号来标识与语音符号序列对应的星空体育官方入口 星空体育官网词的类别。
在一个示例中,解码器240通过重复地执行顺序地估计包括在与语音输入210对应的整个文本中的词的处理,来确定候选文本。例如,解码器240基于从编码器230接收的特征
值和在先前时间点确定的词,来估计在当前时间点的词。在这个示例中,可估计语音符号序列,以代替词。
包括编码器230和解码器240的语音识别模型可基于包括语音信号和与语音信号对应的文本的训练数据被预先训练。在训练期间,解码器240可被训练为针对不具有匹配词的特征值输出语音符号序列。例如,在这样的训练处理期间,可能存在未被学习或训练或者未被完全学习或训练的话语或语音、或者话语表达(例如,专有名词),因此在实际应用中识别这样的话语或语音(例如,专有名词)的准确性可能相对低。然而,解码器240可针对在训练处理中未被完全学习或训练的这种表达输出语音符号序列。另外,在由后处理器250执行的后处理处理中,可使用词-语音符号序列词典数据来更准确地确定与语音符号序列匹配的词,并且因此可提高语音识别的准确性。因此,在训练处理中未被完全学习或训练的话语或表达可被更准确地识别。
后处理器250接收从候选文本确定器220(解码器240)输出的候选文本作为输入,并且用相应的词来替换候选文本中的语音符号序列。后处理器250使用包括与多个词和对应于每个词的语音符号序列有关的信息的词典数据,来用与语音符号序列对应的词替换候选文本中的语音符号序列。词典数据可被存储在词典db 260中,词典数据可被存储在词典db 260中,在词典db 260中可存在一个或多个类别或类型的词典数据。在词典数据中,单个词可被定义为对应于单个语音符号序列或多个语音符号序列,并且单个语音符号序列可被定义为对应于单个词或多个词。
例如,响应于包括在与多个词对应的候选文本中的语音符号序列,后处理器250通过用每个词替换语音符号序列来生成多个候选目标文本。随后,后处理器250使用存储在lmdb 270中的lm来确定每个候选目标文本的分数。分数可指示与每个候选目标文本对应于期望目标文本的概率有关的信息。例如,后处理器250可使用基本lm或外部lm通过n-最好重打分(n-best rescoring)来计算候选目标文本的各自分数。然后,后处理器250基于计算的候选目标文本的分数来确定最终目标文本。例如,后处理器250将具有计算的候选目标文本的分数之中的最大分数的候选目标文本确定(并且可输出)为作为最终语音识别结果的目标文本。
通过以上描述的这样的语音识别,除了包括专有名词的语音输入之外,语音识别设备可通过更准确地识别包括在训练处理中未被学习或训练或者未被完全学习或训练的词(例如,新造词)的语音输入来提高语音识别中的总体性能。
lmdb 270可包括与将在语音识别处理中使用的lm相关联的数据。lm可基于例如神经网络、n元语法(n-gram)或词/字符串列表等,并且提供由语音输入表示的各种说出的表达。lm可存在为多个lm。例如,lm可包括针对特定域指定的lm。
图3示出训练语音识别模型的示例的流程图。语音识别模型的训练可由训练设备执行。
参照图3,在操作310中,训练设备从训练数据检测专有名词。例如,训练设备从训练数据的转录(transcription)检测专有名词(例如,人名和兴趣点(poi))。为了检测专有名词,命名实体识别算法或包括与人名或poi有关的信息的词典可被使用。
在操作320中,训练设备用相应的语音符号序列来替换在操作310中检测的专有名词。训练设备使用包括与多个词和分别对应于多个词的语音符号序列有关的信息的词典数
据来执行替换。在一个示例中,训练设备向训练数据分配用于标识语音符号序列的标识符对。训练设备基于检测的专有名词的类别或类型向训练数据分配开始标签和结束标签。紧接在语音符号序列之前分配开始标签,紧接在语音符号序列之后分配结束标签。
例如,当检测的专有名词是人名(例如“mark”)时,分配有开始标签和结束标签的语音符号序列被表示为“nm aa1 r k/n”,其中n指示开始标签,/n指示结束标签,并且n是指示“m aa1 r k”是人名的语音符号序列的索引。
再例如,当检测的专有名词是poi(例如,applebees)时,分配有开始标签和结束标签的语音符号序列被表示为“pae1 p ah0 l b iy2 z/p”,其中p指示开始标签,/p指示结束标签,并且p是指示“ae1 p ah0 l biy2 z”是poi的语音符号序列的索引。
在一个示例中,当将用相应的语音符号序列替换的专有名词具有多个语音符号序列时,训练设备通过用每个语音符号序列替换专有名词来生成多个训练数据集。将参照图4更详细地描述这个示例。所有生成的训练数据集可在训练处理中被使用。
如上所述,在一个示例中,在操作310和操作320中,训练设备用相应的语音符号序列替换与训练数据中的专有名词对应的部分,并且执行预处理以添加标识符对来标识语音符号序列。在另一示例中,操作310和操作320也可适用于除了专有名词之外很少或不频繁使用的稀有词,并且训练设备可用相应的语音符号序列替换稀有词。
在操作330中,训练设备基于预处理的训练数据来训练语音识别模型。如以上在操作310和操作320中所述,训练设备对与训练数据对应的语音的转录执行预处理,并且基于预处理的结果来训练语音识别模型。语音识别模型可以是例如以上参照图2描述的基于编码器-解码器的语音识别模型。当与训练数据对应的语音是输入时,语音识别模型可输出包括与语音中的专有名词对应的语音符号序列和用于标识语音符号序列的标识符对的结果。训练设备可调整语音识别模型的参数以减小从语音识别模型输出的结果与从操作310和操作320中的预处理导出的结果(例如,用语音符号序列替换与训练数据的转录中的专有名词对应的部分并且添加标识符对以标识语音符号序列的结果)之间的差异。例如,当语音形式的训练数据被输入到语音识别模型时,训练设备可调整语音识别模型的参数,使得从语音识别模型输出的结果与通过操作310和操作320中的预处理获得的结果相同。
因此,尽管在实际的语音识别中,在训练处理中未被学习或训练或者未被完全学习或训练的说出的表达被输入到语音识别模型,但是语音识别模型可被训练为输出作为在其中语音符号序列和标识符对被表示的学习的转录的表达。训练设备可生成这样的语音识别模型,该语音识别模型通过对多个训练数据集中的每个重复地执行操作310至操作330来执行期望的功能。
参照图4,当训练数据是“call to kalyani”时,训练设备从训练数据“call to kalyani”检测人名“kalyani”作为专有名词。随后,训练设备使用定义词和相应的语音符号序列的词典数据410,用相应的语音符号序列替换从训练数据检测的“kalyani”。
基于对词进行发音的类型或方法,可存在对应于词的一个或多个语音符号序列,并且可在词典数据410中定义与词和相应的语音符号序列之间的相应关系有关的信息。例如,当将用语音符号序列替换的专有名词在词典数据410中具有多个语音符号序列时,训练设备通过用每个语音符号序列替换专有名词来生成多个训练数据集。例如,当如图4中所示
存在与“kalyani”对应的三个语音符号序列时,训练设备通过用三个语音符号序列中的每个替换“kalyani”来生成三个训练数据集。由于“kalyani”是人名,所以训练设备将与人名对应的标识符对n、/n分配到每个语音符号序列之前的位置和之后的位置。标识符对n、/n指示唯一形式的标签。
图5和图6示出对语音识别方法的示例进行示出的流程图。将在下文中描述的语音识别方法可由在此描述的语音识别设备执行。
参照图5,在操作510中,语音识别设备接收语音数据。用户可通过语音接口(诸如麦克风)输入语音以输入语音命令或语音输入,并且输入语音的语音数据可被传送到语音识别设备。
在操作520中,语音识别设备使用语音识别模型获得与语音数据对应的候选文本。例如,语音识别设备使用基于编码器-解码器的语音识别模型,该语音识别模型包括被配置为从语音数据提取向量值的编码器以及被配置为从由编码器提取的向量值输出与语音数据对应的候选文本的解码器。
语音识别设备使用语音识别模型从语音数据获得候选文本,该候选文本包括至少一个词、与词的发音相关联的语音符号序列或其组合。至少一个词可包括至少一个子词。语音符号序列可以是与对应于专有名词的词的发音相关联的字符符号的序列的转录。候选文本还可包括指示语音符号序列的开始和结束的标识符对。标识符对可包括用于明确地标识与语音符号序列对应的部分的开始标签和结束标签。标识符对可通过索引指示与将由标识符对标识的语音符号序列对应的词的类别。
在操作530中,语音识别设备确定语音符号序列是否存在于候选文本中。在一个示例中,语音识别设备通过验证用于标识语音符号序列的标识符对是否存在于候选文本中,来确定语音符号序列是否存在于候选文本中。在操作550中,响应于确定语音符号序列不存在于候选文本中,语音识别设备将候选文本确定为目标文本。
在操作540中,响应于确定语音符号序列存在于候选文本中,语音识别设备用与语音符号序列对应的词来替换或改变候选文本中的语音符号序列。在一个示例中,语音识别设备用与语音符号序列对应的词来替换候选文本中由标识符对标识的语音符号序列。
为了确定与语音符号序列对应的词,语音识别设备可使用包括与预定义的多个词和对应于每个词的语音符号序列有关的信息的词典数据。语音识别设备可验证与包括在候选文本中的语音符号序列对应的词是否存在于词典数据中。验证可包括从包括在词典数据中的语音符号序列检索与候选文本中的语音符号序列对应的语音符号序列,并且识别与检索的语音符号序列对应的词。
在一个示例中,词典数据可具有字典树或哈希图(hashmap)数据结构。在这个示例中,语音识别设备可使用词典数据的这样的数据结构从包括在词典数据中的语音符号序列检索与候选文本中的语音符号序列匹配的语音符号序列,并且将与检索的语音符号序列对应的词确定为与候选文本中的语音符号序列对应的词。使用字典树或哈希图数据结构的词典数据,可提高检索与语音符号序列对应的词的搜索效率。
在另一示例中,语音识别设备可从包括在词典数据中的语音符号序列中检索与候选文本中的语音符号序列最相似的语音符号序列。语音识别设备可计算候选文本中的语音符号序列与包括在词典数据中的语音符号序列中的每个之间的相似度,并且将与具有计算
的包括在词典数据中的语音符号序列的相似度之中的最大相似度的语音符号序列对应的词确定为与候选文本中的语音符号序列对应的词。在这个示例中,相似度可基于语音符号序列在长度和表示形式等方面彼此相似的程度来确定。在这个示例中,编辑距离算法可被用于计算相似度。
即使由于不存在来自词典数据的与候选文本中的语音符号序列匹配的语音符号序列而未确定准确的词,并且因此扩大搜索范围,使用语音符号序列之间的相似度也可检索最相似的词。
在又一示例中,为了检索与候选文本中的语音符号序列对应的词,可组合使用从字典树结构或哈希图数据结构的词典数据检索与候选文本中的语音符号序列匹配的语音符号序列的方法、以及基于包括在词典数据中的语音符号序列中的每个与候选文本中的语音符号序列之间的相似度检索最相似的语音符号序列的方法。
另外,词典数据可基于每个类别在数量上被提供为多个词典数据的集合。与不同类别对应的词典数据可包括与每个类别中的每个词所对应的语音符号序列有关的信息。为了确定与包括在候选文本中的语音符号序列对应的词,语音识别设备可使用与不同类别对应的词典数据的集合之中的与包括在候选文本中的标识符对的类别对应的词典数据。例如,当包括在候选文本中的标识符对的类别针对人名时,语音识别设备可使用与人名的类别对应的词典数据来检索与语音符号序列对应的词。如上所述,使用专有名词的每个类别或类型的词典数据,可在语音识别处理中仅检索相应或需要的词典数据。语音识别设备可使用相应的词典数据来确定与候选文本中的语音符号序列对应的词,并且用确定的词来替换候选文本中的语音符号序列。
在操作550中,语音识别设备基于在操作540中执行的替换的结果来确定与语音数据的至少一部分对应的目标文本。在一个示例中,语音识别设备将作为从候选文本消除标识符对并且用相应的词来替换由标识符对标识的语音符号序列的结果而获得的文本确定为最终目标文本。
在一个示例中,在操作540中,当作为从词典数据检索的目标的语音符号序列对应于多个词时,语音识别设备通过用每个词替换语音符号序列来获得多个候选目标文本。在操作550中,语音识别设备在候选目标文本之中确定最终目标文本。在这个示例中,语音识别设备使用lm来计算每个候选目标文本的分数,并且将具有针对候选目标文本计算的各个分数之中的最大分数的候选目标文本确定为目标文本。在此使用的分数可指示与每个候选目标文本对应的概率值或期望值。例如,当候选目标文本的分数是0.75时,该分数可指示候选目标文本与语音数据的作为当前语音识别的目标的部分对应的概率是0.75(相对值)。
通过上述操作,语音识别设备可识别训练数据中不存在或者未被充分学习或训练的词,并且因此提高语音识别的准确性。例如,通过将与新词(例如,新造词)有关的信息以及与新词对应的语音符号序列添加到词典数据中,可识别在训练或学习处理中未被学习或训练的新词。
参照图6,在操作610中,语音识别设备接收作为语音识别的目标的语音数据。在操作620中,语音识别设备使用包括在语音识别模型中的基于神经网络的编码器对接收的语音数据进行编码。通过编码,与语音数据对应的向量值可被确定。例如,语音数据被输入到
编码器,并且编码器通过压缩语音数据的信息来输出与语音数据对应的向量值。
在操作630中,语音识别设备基于作为编码的结果获得的向量值来执行解码。语音识别设备使用包括在语音识别模型中的基于神经网络的解码器来确定与语音数据对应的候选文本。候选文本可包括至少一个词和语音符号序列,以及用于标识语音符号序列的标识符对。
在操作640中,语音识别设备基于包括在候选文本中的标识符对从候选文本提取语音符号序列。在操作650中,语音识别设备从定义语音符号序列与词之间的相应关系的词典数据检索与候选文本中的语音符号序列对应的词。语音识别设备在包括在词典数据中的各种语音符号序列之中检索与候选文本中的语音符号序列最相似或最对应的语音符号序列,并且标识与检索的语音符号序列对应的词。
在操作660中,语音识别设备用在操作650中检索的词来替换包括在候选文本中的语音符号序列。例如,当作为使用词典数据执行的检索的结果存在与候选文本中的语音符号序列对应的多个词时,语音识别设备可通过用每个词替换语音符号序列来确定多个候选目标文本。
在操作670中,语音识别设备基于在操作660中执行的替换的结果来确定目标文本。当存在与候选文本中的语音符号序列对应的单个词并确定了单个候选目标文本时,语音识别设备可将候选目标文本确定为最终目标文本。然而,当存在与候选文本中的语音符号序列对应的多个词并确定了多个候选目标文本时,语音识别设备可使用lm来计算每个候选目标文本的分数,并且基于计算的候选目标文本的分数从候选目标文本之中选择最终目标文本。例如,具有计算的候选目标文本的分数之中的最大分数的候选目标文本可被选择为最终目标文本。
参照图7,作为语音识别中星空体育官方入口 星空体育官网将被识别的目标的语音数据710被传送到语音识别设备。语音识别设备包括候选文本确定器720和后处理器730,候选文本确定器720包括基于编码器-解码器的语音识别模型,后处理器730被配置为对从候选文本确定器720输出的候选文本进行后处理。
在一个示例中,候选文本确定器720使用语音识别模型输出包括词、语音符号序列以及用于标识语音符号序列的标识符对的候选文本。例如,从候选文本确定器720以“call tonm aa1 r k/n”的形式输出候选文本。在这个示例中,“call”和“to”对应于各个词,“m aa1 r k”对应于语音符号序列,并且n和/n指示标识符对。
后处理器730使用词典数据来用相应的词替换候选文本中的语音符号序列。词典数据可具有字典树或哈希图数据结构、或者表格的形式,并且包括与词和语音符号序列的对有关的信息。后处理器730可通过从词典数据检索相应的语音符号序列或基于语音符号序列的形式的基于相似度的检索,来检索与候选文本中的语音符号序列对应的词。当应用与新词和对应于新词的语音符号序列有关的信息时,存储在词典db 740中的词典数据可被更新。
后处理器730基于替换的结果来确定与语音数据710对应的最终目标文本。例如,与候选文本“call tonm aa1 r k/n”对应的目标文本可以是“call to mark”。
在另一示例中,从候选文本确定器720输出的候选文本包括多个语音符号序列,例
如,“i metnm aa1 r k/natpae1 p ah0 l b iy2 z/pyesterday”,并且包括的语音符号序列的类别可彼此不同。预先定义:标识符对n、/n指示与人名对应的语音符号序列,并且标识符对p、/p指示表示poi的语音符号序列。在这个示例中,后处理器730基于标识符对中指示的索引(例如,n和p)来确认语音符号序列的类别。如上所述,指示语音符号序列的类别的标识符对可定义词的搜索范围,并且因此实现快速检索与语音符号序列对应的词。
在一个示例中,后处理器730使用与语音符号序列的类别对应的词典数据来检索与每个语音符号序列对应的词,并且用检索的词来替换每个语音符号序列。例如,使用与人名的类别对应的词典数据,用相应的词“mark”来替换语音符号序列“m aa1 r k”。另外,使用与poi的类别对应的词典数据,用相应的词“applebees”来替换语音符号序列“ae1 p ah0 l b iy2 z”。基于这样的替换的结果,目标文本“i met mark at applebees yesterday”被确定。
为了确定目标文本,后处理器730使用存储在lm db 750中的lm。例如,当包括在候选文本中的语音符号序列对应于多个词时,后处理器730通过用每个词替换语音符号序列来生成多个候选目标文本,并且使用n-gram lm或基于神经网络的lm来计算每个候选目标文本的分数。随后,后处理器730将具有针对候选目标文本计算的各个分数之中的最大分数的候选目标文本确定为最终目标文本。
参照图8,词典数据包括与多个词和对应于每个词的语音符号序列有关的信息。在词典数据中,词和相应的语音符号序列的对可以以表格的形式被定义。词典数据可被用于在语音识别处理中确定与包括在候选文本中的语音符号序列对应的词。可存在与单个词对应的多个语音符号序列,或者可存在与单个语音符号序列对应的多个词。另外,词典数据可针对每个类别存在。当词典数据按每个类别被划分并针对每个类别被管理时,可通过基于指示语音符号序列的类别的标识符对定义将被检索的词的搜索范围来提高搜索效率。
参照图9,词典数据以字典树数据结构被实现。在词典数据中,与词和语音符号序列之间的关系有关的信息可被存储在字典树数据结构中。例如,通过如示出的字典树数据结构中表示的词典数据,可快速地检索到与语音符号序列“ae1 p aho l b iy2 z”对应的词“applebees”。通过字典树数据结构的词典数据,与候选文本中的语音符号序列对应的词可被快速地检索到,并且因此搜索效率可被提高。除了字典树数据结构之外,词典数据也可以以哈希图数据结构实现。以字典树或哈希图数据结构实现的词典数据可被用于检索与候选文本中的语音符号序列匹配的语音符号序列。
参照图10,语音识别设备1000包括至少一个处理器1010、存储器1020以及输入和输出(i/o)接口1030。语音识别设备1000还可包括被配置为存储至少一个lm和/或词典数据的db 1040。
i/o接口1030可包括用于接收语音输入或语音数据的语音接口(例如,麦克风)。另外,i/o接口1030可包括输入接口(例如,键盘、触摸屏以及触摸板)和用于输出语音识别结果的显示装置的输出接口。
存储器1020可连接到处理器1010,并且被配置为存储可由处理器1010实现的指令、以及将由处理器1010处理的数据或由处理器1010处理的数据。存储器1020可包括例如非暂时性计算机可读介质(例如,高速随机存取存储器(ram))和/或非易失性计算机可读存储介质(例如,至少一个存储装置和闪存装置、以及其它固态存储器装置)。
处理器1010可控制语音识别设备1000的整体操作,并且执行将在语音识别设备1000中执行的功能和/或指令。处理器1010可基于语音数据来执行语音识别,并且执行以上参照图1至图9的关于语音识别描述的一个或多个操作或方法。
在一个示例中,处理器1010从i/o接口1030接收语音数据,并且使用语音识别模型从接收的语音数据获得包括至少一个词和与词的发音相关联的语音符号序列的候选文本。处理器1010使用包括与多个词和对应于每个词的语音符号序列有关的信息的词典数据来确定与语音符号序列对应的词,并且用与语音符号序列对应的词来替换候选文本中的语音符号序列。处理器1010基于替换的结果来确定与语音数据对应的目标文本。词典数据可被存储在db1040中,并且被改变或被更新。另外,词典数据可针对不同类别中的每个存在,并且新类别的词典数据可被添加到db 1040。
除了词和语音符号序列之外,由语音识别模型获得的候选文本还可包括用于标识语音符号序列的标识符对。处理器1010通过用与语音符号序列对应的词替换由标识符对标识的语音符号序列,来确定目标文本。
在另一示例中,可存在不同类别的词典数据,该词典数据包括与每个类别中的每个词所对应的语音符号序列有关的信息。在这个示例中,处理器1010使用分别与不同类别对应的词典数据的集合之中的与由标识符对标识的类别对应的词典数据,来确定与语音符号序列对应的词。随后,处理器1010通过用如前文所述那样确定的相应的词替换包括在候选文本中的语音符号序列,来确定目标文本。不同类别的词典数据可被存储在db 1040中。
在一个示例中,包括在候选文本中的语音符号序列可对应于多个词。在这个示例中,处理器1010通过用每个词替换语音符号序列来获得多个候选目标文本,并且使用lm计算每个候选目标文本的分数。分数可指示候选目标文本与期望的目标文本对应的概率的信息。随后,处理器1010基于计算的分数来确定目标文本。例如,处理器1010将具有计算的分数之中的最大分数的候选目标文本确定为最终目标文本。
当目标文本被如上所述那样确定时,处理器1010可从目标文本提取用户的命令,并且执行提取的命令。
在此关于图1、图2、图7和图10描述的语音识别设备、训练设备以及其它设备、装置、单元、模块和其它组件通过硬件组件来实现。可用于执行在本申请中描述的操作的硬件组件的示例在合适的情况包括:控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑模单元、加法器、减法器、乘法器、除法器、积分器和被配置为执行在本申请中描述的操作的任何其它电子组件。在其它示例中,执行在本申请中描述的操作的硬件组件中的一个或多个通过计算硬件(例如,通过一个或多个处理器或计算机)来实现。可通过一个或多个处理元件(诸如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或被配置为以限定的方式响应并执行指令以实现期望的结果的任何其它装置或装置的组合)来实现处理器或计算机。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个
或多个存储器。由处理器或计算机实现的硬件组件可执行用于执行在本申请中描述的操作的指令或软件(诸如,操作系统(os)和在os上运行的一个或多个软件应用)。硬件组件还可响应于指令或软件的执行来访问、操控、处理、创建和存储数据。为了简单起见,单数术语“处理器”或“计算机”可用于本申请中描述的示例的描述,但是在其它的示例中,多个处理器或计算机可被使用,或者处理器或计算机可包括多个处理元件或多种类型的处理元件或二者。例如,单个硬件组件或者两个或更多个硬件组件可通过单个处理器、或者两个或更多个处理器、或者处理器和控制器来实现。一个或多个硬件组件可通过一个或多个处理器、或者处理器和控制器来实现,一个或多个其它硬件组件可通过一个或多个其它处理器、或者另外的处理器和另外的控制器来实现。一个或多个处理器、或者处理器和控制器可实现单个硬件组件或者两个或更多个硬件组件。硬件组件可具有不同的处理配置中的任何一个或多个,不同的处理配置的示例包括:单个处理器、独立处理器、并行处理器、单指令单数据(sisd)多处理、单指令多数据(simd)多处理、多指令单数据(misd)多处理以及多指令多数据(mimd)多处理。
图3、图5和图6中示出的执行在本申请中描述的操作的方法通过计算硬件(例如,通过一个或多个处理器或计算机)来执行,计算硬件被实现为如上所述地执行指令或软件,以执行在本申请中描述的由所述方法执行的操作。例如,单个操作或者两个或更多个操作可通过单个处理器或者两个或更多个处理器、或者处理器和控制器来执行。一个或多个操作可通过一个或多个处理器、或者处理器和控制器来执行,并且一个或多个其它操作可通过一个或多个其它处理器、或者另外的处理器和另外的控制器来执行。一个或多个处理器、或者处理器和控制器可执行单个操作或者两个或更多个操作。
用于控制处理器或计算机以实现硬件组件并执行如上所述的方法的指令或软件被编写为计算机程序、代码段、指令或它们的任意组合,以单独地或共同地指示或配置处理器或计算机如机器或专用计算机那样进行操作,以执行由如上所述的硬件组件和方法执行的操作。在一个示例中,指令或软件包括由处理器或计算机直接执行的机器代码(诸如,由编译器产生的机器代码)。在另一示例中,指令或软件包括由处理器或计算机使用解释器执行的高级代码。本领域普通技术的程序员可容易地可基于附图中示出的框图和流程图以及说明书中的相应描述编写指令或软件,附图中示出的框图和流程图以及说明书中的相应描述公开了用于执行由如上所述的硬件组件和方法执行的操作的算法。
用于控制处理器或计算机以实现硬件组件并执行如上所述的方法的指令或软件、以及任何相关联的数据、数据文件以及数据结构被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中或一个或多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、cd-r、cd+r、cd-rw、cd+rw、dvd-rom、dvd-r、dvd+r、dvd-rw、dvd+rw、dvd-ram、bd-rom、bd-r、bd-r lth、bd-re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态驱动器(ssd)、卡式存储器(诸如,多媒体卡或者微型卡(例如,安全数字(sd)或者极速数字(xd)))、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘、以及任何其它装置,任何其它装置被配置为以非暂时性方式存储指令或软件以及任何相关联的数据、数据文件和数据结构并将所述指令或软件以及任何相关联的数据、
数据文件和数据结构提供给处理器或计算机,使得处理器或计算机可执行指令。
虽然本公开包括特定的示例,但是在理解本申请的公开之后将清楚,在不脱离权利要求及它们的等同物的精神和范围的情况下,可在这些示例中进行形式和细节的各种改变。在此描述的示例仅应被认为是描述性的,而不是出于限制的目的。每个示例中的特征或方面的描述将被认为可适用于其它示例中的类似特征或方面。如果描述的技术以不同的顺序被执行,和/或如果描述的系统、架构、装置或电路中的组件以不同的方式被组合,和/或由其它组件或它们的等同物替换或补充,则可实现合适的结果。
因此,公开的范围不是由具体实施方式限定,而是由权利要求及它们的等同物限定,并且在权利要求及它们的等同物的范围内的所有变化应被解释为包括在公开中。