CN1349212A - 基于网络的语音识别方法 - Google Patents

基于网络的语音识别方法 Download PDF

Info

Publication number
CN1349212A
CN1349212A CN01141727A CN01141727A CN1349212A CN 1349212 A CN1349212 A CN 1349212A CN 01141727 A CN01141727 A CN 01141727A CN 01141727 A CN01141727 A CN 01141727A CN 1349212 A CN1349212 A CN 1349212A
Authority
CN
China
Prior art keywords
character
grid
vocabulary
possibility
specific
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.)
Pending
Application number
CN01141727A
Other languages
English (en)
Inventor
李恒舜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of CN1349212A publication Critical patent/CN1349212A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)
  • Machine Translation (AREA)

Abstract

一种在网络环境下基于字符的语音识别系统有通过网络相连接的远程客户机和中央服务器。远程客户机将输入语音与许多表示特定字符的语音模型进行比较,以提供输入语音所包含特定字符的许多不同可能性。然后,客户机生成一个字符序列,根据基于字符的语言模型,这个字符序列表示了输入语音中所包含已知特定字符的特定序列的不同可能性。然后字符序列通过网络被传输到中央服务器,在这,自所传输的字符序列生成一个词汇序列,根据词汇表和基于词汇的语言模型,这个词汇序列表示了输入语音中所包含已知特定字符的特定序列的不同可能性。然后,中央服务器根据词汇表确定哪个特定词汇序列与输入语音最匹配,并将所确定词汇序列经由网络输送回客户机。

Description

基于网络的语音识别方法
发明领域
本发明涉及一种基于网络的语音识别方法,尤其涉及,但并不限于用于音调语言(如汉语普通话)中的识别语音方法。
背景技术
在网络环境下的语音识别,通常在客户一服务器的环境下利用语音识别的应用程序,在这种环境下,每个用户利用他们的个人通信设备(如蜂窝电话或个人资源组织器)的语音接口远程地从网络服务器获取如股票和天气等信息。
众所周知,由于汉字(或其他带有音调的语言)的非字母特性,要将其输入到计算机或手持式设备中存在一个固有难题。通常,一个汉语句子包括一个字符序列。一个汉语词汇可能包括一至几个字符。汉语句子可以被分段成不同语义正确的词语序列,要识别一个词汇是很难的。换句话说,在书写的汉语句子中是没有明显的界限的。在汉语中,基本词汇单元是字而不是词。
传统的基于网络的语音识别完全是在服务器端执行的,客户机仅仅是用做记录和传输语音信号的转换器。通常,这是因客户机存储量和计算能力所限的需要。然而,这就存在着与这一方式相关的许多问题。第一,可能出现为传输而编码语音信号造成的量化错误。第二,可能存在着因传输通道导致的失真。第三,可能出现由不同的以及无法预测的各种编解码器产生的严重失真,尤其在无线通信模型中。最后,在服务器端,因其要为所有用户执行所有的操作,所以需要很高的计算能力。
发明内容
因此,本发明寻求提供能够克服或至少减少在先有技术中所存在的上述问题的一种基于网络的语音识别方法和设备。
一方面,本发明提供了一种在具有通过网络联系的远程客户机和中央服务器网络环境下,基于字符的语音识别方法,本方法包括在客户机端接收经由话筒的输入语音;在客户机中比较输入语音和在客户机中所存储的表示特定字符的多个预定语音模型,来提供输入语音所包含特定字符的多种可能性;根据存储于客户机中的基于字符的语言模型,在客户机中产生一代表输入语音所包含的特定字符的特定序列可能性的字符栅格(lattice);根据存储于中央服务器中的一个词汇表和一个基于词汇的语言模型,通过网络将字符栅格传输到中央服务器;在中央服务器中由所传输字符栅格产生一个词汇栅格,该词汇栅格表示该输入语音所包含的特定词汇的特定序列的可能性;在中央服务器中,由该词汇栅格确定哪个特定的词汇序列与输入语音匹配;并通过网络将所确定的特定词汇序列传输到客户机。
另一方面,本发明还提供了一种产生一用于基于字符语言的字符栅格(lattice)的方法,该字符栅格表示一个输入语音所包含的特定词汇的特定序列的可能性,所述方法包括如下步骤:接收在基于字符的语言模型中的输入语音;从输入语音中提取发音特征;将提取的发音特征与事先存储的表示特定字符的发音模型相匹配,以确定输入语音中所包含的已知特定字符的多个字符可能性;将随后的可能字符与基于字符的语言模型相比较,以确定跟随先前已知特定字符的可能字符一致性的步骤可能性;以及将用于可能序列或特定字符的字符可能性与步骤可能性,来生成特定字符序列可能性,以提供字符栅格。
附图说明
参照附图,通过举例的方法,进一步详述本发明的一实施例,附图中,
图1图示了根据本发明一实施例的基于网络的语音识别系统的框图;
图2图示了在图1所示系统中所用的一个简单字符栅格的示意图;
图3更详细地图示了在图1所示系统中采用的语音匹配机;
图4图示了在图1所示系统中采用的一字符栅格向词汇栅格转换操作的流程图;
图5图示了在图4中更新字符序列表步骤的操作流程图;
图6图示了在图4中检查字符序列表步骤的操作流程图;及
图7图示了在图4中删除字符序列表步骤的运行流程图。
具体实施方式
因此,如图1所示,一个简化的基于网络的语音识别系统1,包括一个客户机2、一个服务器3和一个处于两设备2和3之间的网络连接4。客户机2包括一个用于接收从输入终端6来的输入语音的声音匹配器5。声音匹配器5是利用从数据库7获得的声音模型、字符库和语言模型将输入语音转换为字符栅格的标准语音识别器。声音匹配器5产生的字符栅格8经由网络4被传输到服务器3以待进一步处理。
字符栅格8是单向图,每个节点是一用于连接弧段的时间标志,且每个弧段代表一个其开始和结束时间分别由开始和结束节点确定的可能字符路径。每个弧段与一个用于其所表示字符的声音计分相联系。除了每个弧段代表一个字符而不是一个词汇外,一个字符栅格与常用的词汇栅格是一样的。这个字符栅格代表一组假设由声音匹配器产生的可能的字符与词汇序列。
图2图示了由声音匹配器5产生的对于一输入语音的简单字符栅格的例子。图示的栅格20有四个节点和五段弧线。每个栅格的节点都包含有一个时间标志,该时间标志指示进入该节点的所有弧段的终止时间和出自该节点的所有弧段的起始时间。采用两类特殊节点来标注序列的起点与终点。用带有时间标志0的开始节点来标注栅格的起点。用带有时间标志T的尾节点,即输入语音的终止时间,来标注栅格的终点。在开始节点没有入弧而尾节点没有出弧。每一弧段都有与之相联系的一个字符,如“字符1”,和该字符的计分(score),如“计分1”。
一段弧段连同其开始节点、尾节点一起表示了声音匹配器为在尾节点确定的时段之间输入的语音信号片断而产生的字符。从开始节点至尾节点越过栅格可以得到一字符序列。通常,采用栅格的不同路径可以得到不止一个的字符序列。每个这样的字符序列都代表了一个语音识别系统结果的假设。服务器3根据识别任务所涉及的特定知识领域选择最佳的字符序列。
返回到图1,服务器3包括了一个具有动态领域词库和语言模型的数据库9,与在客户机2中的数据库7中所存储的相似,但其更详细和广泛。这些模型包括针对一确定任务的词汇在手边,例如对于股市查询应用的股票名称,但由于服务器3的存储能力比单个客户机2的要高得多,所以,在这可以采用更为详细的语言模型。服务器3还包括一个自动语言识别(ASR)服务器10,其由两个次级组件构成。第一个次级组件是一将字符栅格转换为词汇栅格的转换器11,用它来接收从网络4来的字符栅格8,分析字符栅格,并根据来自数据库9的该领域词库移去不会形成输出识别结果部分的路径。第二个次级组件是一标准Nbest解码器12,它是利用来自数据库9的语言模型解码从字符栅格到词汇栅格转换器11的词汇栅格以产生识别结果。在由XavierAubert和Hermann Ney所著的“Large Vocabulary Continuous SpeechRecognition Using Word Graphs”论文中可以找到一种译码词汇序列的典型方法,这篇论文发表在《电气和电子工程师学会学报》国际发声、语音与信息处理论坛,1995年第一期第49-52页上(PreceedingsIEEE,International Conference in Acoustics,Speech and SignalProcessing,Vol.1,pp49-52,1995)。应用数据库13为自动语言识别(ASR)服务器10提供应用。
最终的识别结果经由网络4返回到客户机2,在那,一个客户应用程序处理器14接收来自服务器3的最终识别结果并根据客户机2的需要进行操作,如将数据显示给用户。
图3更详尽地图示了客户机2的声音匹配器5。一来自输入6的输入语音首先被提供给特征生成器301,特征生成器301将语音信号转换为一系列的特征向量,在本领域内称为mel-frequency cepstralcoefficients(MFCCs)。在David和Mermelstein所著的“Comparisonof Parametric Representations for Monosyllabic Word Recognitionin Continuously Spoken Sentences(在连续说话的语句中有关单音节词汇识别的参数表示法的比较)”一文中描述了一种寻找MFCCs的已知典型方法,这篇论文发表在《电气和电子工程师学会学报》国际发声、语音与信息处理论坛,第28期第357-366页上(IEEE Transactions onAcoustic Speech and Signal Processing,Vol.28,pp.357-366)。
然后,特征向量序列被应用于声音匹配器5的一个时间同步检索模块(time synchronous search)302中。在序列中的每一特征向量根据存储于数据库305中的大量声音模型进行估算,这些声音模型表示了在字符库304中所有字符的发音特征。字符库304是一存储有需要利用声音匹配器5进行识别的所有字符列表的数据库。在Odell J.J.、Valtchev V.、Woodland P.C.和Young S.J.所著的“A One Pass DecoderDesign for Large Vocabulary Recognition(一种用于大词汇量识别系统的译码器设计)”一文中可以找到一种用于实现模型匹配的典型方法,此文发表在1994年的《有关人类语言学技术的ARPA学报》之405-410页(Proceedings ARPA Workshop on Human LanguageTechnology,pp.405-410,1994)。
对于在输入特征向量序列中的每一个特征向量,时间同步检索模块302产生许多与声音模型非常近似匹配的候选字符。与每一个候选字符相关联的是一个由声音模块计算得来的语音计分和一个字符序列,这一字符序列代表了当前字符之前的字符,这些字符是在自语音信号开始后算起的先前时间帧中由检索模块产生的。
然后,将候选字符应用于字符栅格生成器303中。基于字符和与其相关联的字符序列,对于每一个候选字符,从存储于字符语言模型数据库306中的字符语言模型中生成步骤可能记分。人们使用了一种N-gram语言模型。在Daniel Jurafsky和J.H.Martin发表的“Speechand Language processing(语音及语言处理)”的第六章中可以找到一种为寻找N-gram语言模型计分的已知方法。
然后将N-gram计分加到每个候选字符的声音计分中。为进行后续处理,将候选字符及组合计分反馈回时间同步检索模块302。再者,对每一个候选字符,将一弧加入到字符栅格中以表示字符。再重复上述步骤,直到在输入序列中的所有特征向量被处理完后。在输入语音的末端,从字符序列生成器303中输出一字符栅格8。如上面所提到的,然后通过网络连接4将字符栅格8传送到服务器3,在服务器3中将字符栅格传送到自动语音识别(ASR)服务器10的词汇栅格转换器中。
图4图示了字符栅格在词汇序列转换器中运行的流程图。操作从接收字符栅格8的401步开始。在402步首先产生一个有开始节点但没有弧的空词汇栅格。在转换器11中有一由输入字符栅格8产生的可能的字符序列表。表中每一条都包括一个字符序列和一节点标识符,这个节点标识符是用来指示在序列末端最后一个字符结束的字符栅格节点。在403步中,利用包含来自输入字符栅格8的弧中的字符对字符序列表进行初始化。然后,在下一步404中,将计数器i赋1。然后在405步中,将i的值与在输入字符栅格8中的节点数N相比较。如果i小于N,表示还有字符栅格节点待处理,则通过延伸字符栅格中的节点i,在步骤406更新字符序列表。在下一步407中,对比域词库检查更新过的字符序列,找出在输出词汇栅格中可能的词汇弧,并将新的词汇弧加入到词汇栅格中。然后,在下一步408中,删除字符序列表中不能生成有效词汇弧的条目。然后,在409步中,将节点计数器i的值增1,并循环回到405步。当在字符栅格中的所有节点都处理完后,词汇栅格转换就完成了。在410步生成词汇栅格,并在411步结束操作。
图5更详细地图示了更新字符序列表的406步操作的流程图。操作从501步开始,字符栅格的节点在此用i标示。然后,在502步将在字符序列表S中的条目计数器j初始化为0,并将另一个计数器K初始化为M,M表示字符序列表S中的条目数。然后在503步中,将j的值与M的值相比较。如果j小于M,在504步中,首先根据标示为i的字符栅格的节点来检验它的尾节点,来对在字符序列表S中的第j条进行处理。如果j不等于M,就不需进一步处理,程序则转到第509步继续执行,j值增1。更新后的j值被循环返回到第503步。如果在504步中尾节点Sj等于i,表明了可能扩展字符序列,然后在505步中将计数器1初始化为0。然后在506步中将1的值与来自字符栅格节点标示为i的字符弧数L进行比较。如果1小于L,在507步中,为带有索引k的字符序列表S生成一个新的条目Sk。Sk的尾节点就指向当前弧的尾节点,将当前弧字符添加到原字符序列Sj(字符)而生成新的字符序列。接着,在508步中弧计数器1增1,并使算法循环返回到第506步。在506步中,如果1不小于L,表明了在字符栅格节点中的所有弧已处理完,程序转到第509步,在那,对于在字符序列表中下一条目的j值增1。再者,在505步中,将j值进行评估,如果其不小于M,表明字符序列表S中的所有条目已被处理完。然后程序转到510步,在那,针对来自输入字符栅格节点的每一个字符弧在表S中生成一个字符序列条目,然后操作在第511步退出。
图6图示了检验在图4中407步给出的字符序列表S的操作流程图。操作从第601步开始,然后进行第602步,在那,将在已处理过的S中的条目数的计数器j初始化为0。然后,在603步中,用在字符序列表S中条目数M来比较j的值。如果j小于M,在604步中,根据域词汇库中列表来校验字符序列,以弄清楚其是否是一个有效词汇。如果其是一有效词汇,就在随后的605步中生成一词汇弧,并将其添加到词汇栅格中。然后在606步对在序列中的字符数量n进行检验,以弄清楚其是否小于N。在此实施方案中,N值取为2。如果n小于N,在607步中j值增1,且操作循环返回到603步。否则,如果n不小于N,在608步中,从S中移去该字符序列条目并继续执行第607步的操作。对象汉语这样的语言,需要评估n的值,因为在这样的语言中,一个词(字符序列)其自身可能是另一个词的起始部分。再者,在604步中,如果发现字符序列不是一个有效词,则程序向前跳转到607步以使j值增1。最后,在第603步的估算中,如果j不小于M,则程序在第609步中退出。
图7更详细地图示了在图4的408步中删除字符栅格序列的操作流程图。操作从第701步开始,然后进行第702步,在那,计数器j初始化为0。然后在第703步中,将在字符序列表S中条目的数值M与j值进行比较。如果j小于M,表明还有字符序列需要处理,在第704步中,将序列中的字符数nChar与门限值K进行比较。在此实施方案中,K值取为2。如果nChar不小于K,操作执行第706步,在这,当前条目被从表中移走。如果nChar小于K,在第705步中,将当前词条尾节点标识endNode与当前字符栅格节点i进行比较。如果endNode小于i,则在更新表的下一步中,字符序列不会被扩展,因此程序转到706步进行。否则,该条目被保存到列表中,且程序直接转移到707步,在那,j值增1并循环返回到703步。在703步中,当j值不小于字符序列表S中条目的数值M时,表明表中的所有条目已处理完,此时程序在708步结束。
尽管在此只详述了本发明的一种特殊的实施方案,但是本领域的技术人员可以在不脱离本发明范围而进行各种修改和改进。

Claims (4)

1、一种在具有通过网络连接的一个远程客户机和一个中央服务器的网络环境下的基于字符的语音识别方法,所述方法包括以下步骤:
在客户机端,接收来自话筒的输入语音;
在客户机端,将输入语音与许多存储在客户机中的表示特定字符的预定语音模型进行比较,以提供输入语音包含特定字符的多种可能性;
在客户机端,根据存储在客户机中的基于字符的语言模型,生成表示输入语音包含特定字符的特定序列的多种可能性的字符栅格;
通过网络将字符栅格传输到中央服务器;
在中央服务器中,根据存储于中央服务器的一个词汇表和一个基于词汇的语言模型,由所输入的字符栅格生成一个词汇栅格,所述词汇栅格表示输入语音包含特定词汇的特定序列的可能性;
在中央服务器中,通过词汇栅格确定哪一个特定词汇序列可能与输入语音最匹配;及
通过网络将所确定的特定词汇序列传输到客户机。
2、如权利要求1所述的一种在网络环境下基于字符的语音识别方法,其中生成字符栅格的步骤包括如下步骤:
在基于字符的语言系统中接收输入语音;
从输入语音中析取发声特征;
将该析取的发声特征与事先存储的表示已知特定字符的发声模型进行匹配,以确定输入语音包含已知特定字符的多个字符可能性;
比较随后而来的字符与基于字符的语言模型的一致性,以确定跟随在先前已知特定字符后的可能字符一致性的步骤可能性;以及
将字符可能性与提供给字符栅格的可能序列的步骤可能性或特定字符相结合,来生成特定的字符序列可能性。
3、如权利要求1所述的一种在网络环境下基于字符的语音识别方法,其中,所述由所传输字符栅格生成一个词汇栅格的步骤包括:
通过网络从客户机接收字符栅格;
维持一个字符序列表,这个字符序列表可能形成在词汇表中存在的一个词汇的部分;
对于每一个输入字符栅格节点:
通过扩展在列表中的条目来更新字符序列表,所述条目的结束时间等于与相应于特定序列的字符栅格节点的结束时间;
根据词汇表来检验更新过的字符序列表,当找到了相匹配的字符序列时,就在输出词汇栅格中产生一个词汇弧;和
在字符序列表中删除那些不可能形成在词汇表中存在的一个词汇的部分的条目;以及
在处理完所有的输入字符栅格节点后,由词汇弧生成一个词汇栅格。
4、一种生成有关基于字符语言的字符栅格的方法,所述字符栅格表示输入语音包含的特定字符的特定序列的可能性,所述方法包括以下步骤:
接收基于字符的语言中的输入语音;
从输入语音中提取发声特征;
将提取的发声特征与预先存储的代表已知特定字符的语音模型进行匹配,以确定输入语音中包含已知特定字符的多个字符可能性;
将随后的可能字符与基于字符的语言模型进行一致性比较,以确定跟随在先前已知特定字符后的可能字符一致性的步骤可能性;以及
将字符可能性与提供给字符栅格的可能序列的步骤可能性或特定字符相结合,来生成特定的字符序列可能性。
CN01141727A 2000-10-18 2001-09-14 基于网络的语音识别方法 Pending CN1349212A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US69170400A 2000-10-18 2000-10-18
US09/691,704 2000-10-18

Publications (1)

Publication Number Publication Date
CN1349212A true CN1349212A (zh) 2002-05-15

Family

ID=24777613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN01141727A Pending CN1349212A (zh) 2000-10-18 2001-09-14 基于网络的语音识别方法

Country Status (1)

Country Link
CN (1) CN1349212A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103262156A (zh) * 2010-08-27 2013-08-21 思科技术公司 语音识别语言模型
CN104008132A (zh) * 2014-05-04 2014-08-27 深圳市北科瑞声科技有限公司 语音地图搜索方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103262156A (zh) * 2010-08-27 2013-08-21 思科技术公司 语音识别语言模型
CN103262156B (zh) * 2010-08-27 2015-10-21 思科技术公司 语音识别语言模型
CN104008132A (zh) * 2014-05-04 2014-08-27 深圳市北科瑞声科技有限公司 语音地图搜索方法及系统
CN104008132B (zh) * 2014-05-04 2018-09-25 深圳市北科瑞声科技股份有限公司 语音地图搜索方法及系统

Similar Documents

Publication Publication Date Title
CN108305634B (zh) 解码方法、解码器及存储介质
CN108711420B (zh) 多语言混杂模型建立、数据获取方法及装置、电子设备
EP0954856B1 (en) Context dependent phoneme networks for encoding speech information
CN108417210B (zh) 一种词嵌入语言模型训练方法、词语识别方法及系统
EP1949260B1 (en) Speech index pruning
CN111090727B (zh) 语言转换处理方法、装置及方言语音交互系统
US20060265222A1 (en) Method and apparatus for indexing speech
CN108417202A (zh) 语音识别方法及系统
CN110930980B (zh) 一种中英文混合语音的声学识别方法及系统
CN112017645B (zh) 一种语音识别方法及装置
WO2007056032A1 (en) Indexing and searching speech with text meta-data
WO1996037881A2 (en) Method and apparatus for dynamic adaptation of a large vocabulary speech recognition system and for use of constraints from a database in a large vocabulary speech recognition system
CN111223476B (zh) 语音特征向量的提取方法、装置、计算机设备和存储介质
CN110910903A (zh) 语音情绪识别方法、装置、设备及计算机可读存储介质
CN113392265A (zh) 多媒体处理方法、装置及设备
CN109933773A (zh) 一种多重语义语句解析系统及方法
CN114944149A (zh) 语音识别方法、语音识别设备及计算机可读存储介质
CN115064154A (zh) 混合语言语音识别模型的生成方法及装置
CN112397053B (zh) 语音识别方法、装置、电子设备及可读存储介质
CN112270192B (zh) 一种基于词性和停用词过滤的语义识别方法及系统
CN112668704B (zh) 音频识别模型的训练方法、装置和音频识别方法、装置
CN114974310A (zh) 基于人工智能的情感识别方法、装置、计算机设备及介质
CN1349212A (zh) 基于网络的语音识别方法
CN114283786A (zh) 语音识别方法、装置及计算机可读存储介质
CN114528851A (zh) 回复语句确定方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication