语音处理装置、语音处理方法、程序、和记录介质的制作方法

文档序号:2822384阅读:276来源:国知局
专利名称:语音处理装置、语音处理方法、程序、和记录介质的制作方法
技术领域
本发明一般涉及一种语音处理装置、语音处理方法、程序、和记录介质,具体地,涉及用于防止获得错误未知单词(word)的语音处理装置、语音处理方法、程序、和记录介质。
背景技术
为了在具有获得新单词功能的连续语音识别系统中得到诸如名字的未知单词,即,不包括在词典中的未知单词,该系统需要估计在言语中的未知单词的持续时间并且将发音(读音)指定给该未知单词。
为了在言语中估计未知单词的持续时间,系统根据比单词短的单元(子单词(sub-word)),如音素、音节和另一个音位单元(phonological unit),来执行语音识别。将音节序列指定给言语,即,将日语假名的读音指定给言语从而获得每个音节的记分。通过适当地处置记分,则可以为不在词汇表中的单词(OOV)估计记分。如果有一定持续时间的OOV单词的记分高于包括在词典中的单词的记分,则将该持续时间中的言语识别为未知单词。由未知单词的持续时间中的子单词序列(如音节序列)代表未知单词的发音(例如,参考由Issam Bazzi和James R.Glass所著的、2000年10月出版的“Proceedings ofInternational Conference on Spoken Language Processing(ICSLP)2000”的433-436页,由Atsuhiko KAI和Seiichi NAKAGAWA所著的、1997年10月出版的日本电子、信息和通信工程师学会期刊J80-D-II卷上的2615-2625页刊登的“Comparison of Continuous Speech Recognition Systems with Unknown WordProcessing for Speech Disfluencies”,和由Hiroaki KOKUBO、ShigehikoONISHI、Hirofumi YAMAMOTO和Genichiro KIKUI所著的、2002年7月出版的日本信息处理协会期刊43卷第7号的2082-2090页上刊登的“EfficientDecoding Method for OOV word Recognition with Subword Models”)。
但是,当根据音节单元执行语音识别处理以估计未知单词的持续时间时,单词间的边界并不必须匹配于音节间的边界。
在单词和音节边界间的这种不匹配,即,单词序列和子单词序列边界间的不匹配将随后参照图1进行说明。
例如,如图1所示,当根据<OOV>和相邻单词间的边界、单词语音识别结果为“单词1”<OOV>“单词2”时,单词间的边界有时不匹配于子单词序列中的边界(即,子单词序列Sy11到Sy18)。如这里所使用的,<OOV>是代表未知单词的符号。“单词1”和“单词2”是在词典中包括的单词(即,已知单词)。
在图1所示的例子中,<OOV>的较早边界暂时对应于Sy14的中点,并且<OOV>的较后边界暂时对应于Sy17的中点。因此,对应于不匹配的边界的子单词Sy14和Sy17有时包括在<OOV>中,并且有时被排除在<OOV>之外。为了获得<OOV>的发音,最好确定子单词的边界。
作为通过使用子单词序列来获得<OOV>的发音的方法,已知有通过确定子单词的边界(即,未知单词的持续时间的边界)来获得<OOV>的发音的方法。
随后参考图2说明通过使用子单词序列来获得<OOV>的发音的方法。
在通过使用子单词序列来获得<OOV>的发音的方法中,如果包括任一<OOV>边界的音节的持续时间的50%或更多包含在<OOV>中,则认为该音节是<OOV>的一部分。
例如,如图2所示,被正常识别的单词序列的一部分为“单词1”、<OOV>、和“单词2”。从语音打字机来的子单词序列的一部分是音节i、音节j、音节k。在这种情况下,因为L1>L2,其中L1是与单词1对应的音节i的持续时间,而L2是与<OOV>对应的音节i的持续时间,所以确定音节i不包括在<OOV>中。另一方面,当考虑音节k(其包括<OOV>的暂时较后边界)的持续时间L3+L4时,因为L3>L4,其中L3是与<OOV>对应的音节k的持续时间,而L4是与单词2对应的音节k的持续时间,则确定音节k包括在<OOV>中。
图3示出了通过使用图2所示的子单词序列来获得<OOV>的发音的方法的试验结果。
在包括酒店入住和在餐馆点菜言语的旅行应用中,为12个人(6男,6女)的言语的752个类型进行了通过使用图2所示的子单词序列来获得<OOV>的发音的方法的试验。如图4所示,设置特征参数的条件、声学模型、和语言模型。特征参数设置为16比特和16KHz语音采样、10毫秒(msec)帧时间段、25毫秒帧长度、第12级唛(Mel)频率倒谱系数(MFCC)、和0到第12级MFCC的第一级衰退系数(25维)。声学模型是16混合物和1000约束状态(tied-state)隐马尔可夫模型(HMM)。语言模型是子单词三字母组(trigram)、截止(cut-off)三字母组5、和二字母组(bigram)5。在这个试验中,使用314个类型的音节和音节链作为子单词。使用的语言模型是用根据NIKKEI Shimbun(NihonKeizai Shimbun)文章的长达六年的语料库来训练的音素三字母组。
图3以百分比形式示出了当使用通过使用图2所示的子单词序列来获得<OOV>的发音的方法而获得<OOV>发音时,子单词序列的识别精确度、替换错误、删除错误、和插入错误。如同这里所使用的,术语“替换错误”指其中由另一个音节替换了正确的音节的错误,术语“删除错误”指其中要被识别的音节根本没有被识别的错误,以及术语“插入错误”指其中要被识别的音节未出现在识别结果中的错误。根据公式Acc=(N_C-N_I)/N,由总音节数目N、正确回答数目N_C、和插入错误数目N_I确定识别精确度Acc。
如图3所示,在通过使用图2所示的子单词序列来获得<OOV>的发音的方法中,识别精确度是42.2%。替换错误率、删除错误率、和插入错误率分别是22.4%、33.3%和4.1%。

发明内容
在使用通过使用图2所示的子单词序列来获得<OOV>的发音的方法中,如果与<OOV>的任一边界对应的音节的持续时间的50%或更多包括在<OOV>中,则认为该音节是<OOV>的一部分。因此,如果错误地估计了未知单词的持续时间中的一个或多个音节,则很难更正音节的错误,从而获得错误的未知单词。结果,例如,如果认为已经非常错误地估计或可能非常错误地估计未知单词的持续时间,则不应该使用该语音识别结果来获得未知单词。
因此,需要防止获得错误未知单词的一种语音处理装置、语音处理方法、程序和记录介质。
根据本发明的实施例,语音处理装置处理输入的言语,并且根据处理结果对包括在输入言语中的单词进行注册。语音处理装置包括识别装置,用于识别输入的言语;未知单词确定装置,用于确定由识别装置获得的输入言语的识别结果是否包括未知单词;识别结果拒绝装置,用于确定是否拒绝由未知单词确定装置确定为包括未知单词的识别结果;以及单词提取装置,用于获得与在确定的未被识别结果拒绝装置拒绝的识别结果中所包括的未知单词对应的单词。
根据本发明的实施例,语音处理方法处理输入的言语,并且根据处理结果对输入言语中包括的单词进行注册。语音处理方法包括步骤(a)识别输入的言语,(b)确定由识别输入的言语的步骤所获得的输入言语的识别结果是否包括未知单词,(c)确定是否拒绝在步骤(b)确定为包括未知单词的识别结果,和(d)获得与在确定未被步骤(c)拒绝的识别结果中所包括的未知单词对应的单词。
根据本发明的实施例,计算机可读记录介质存储程序,其处理输入的言语,并且根据处理结果对包括在输入言语中的单词进行注册。该程序包括步骤(a)识别输入的言语,(b)确定由识别输入的言语的步骤所获得的输入言语的识别结果是否包括未知单词,(c)确定是否拒绝在步骤(b)确定为包括未知单词的识别结果,和(d)获得与在确定未被步骤(c)拒绝的识别结果中所包括的未知单词对应的单词。
根据本发明的实施例,程序处理输入的言语并且根据处理结果对包括在输入言语中的单词进行注册。该程序包括用于使得计算机执行下列步骤的程序代码(a)识别输入的言语,(b)确定由识别输入的言语的步骤所获得的输入言语的识别结果是否包括未知单词,(c)确定是否拒绝在步骤(b)确定为包括未知单词的识别结果,和(d)获得与在确定未被步骤(c)拒绝的识别结果中所包括的未知单词对应的单词。
如上所述,根据本发明,可以防止获得错误的未知单词。


图1是图解说明单词和音节边界间的不匹配的示意图;图2是图解说明通过使用子单词序列来获得<OOV>的发音方法的示意图;图3示出了通过使用子单词序列来获得<OOV>的发音的方法的试验结果;图4是图解说明通过使用子单词序列来获得<OOV>的发音方法的试验条件的示意图;
图5图解说明了根据本发明实施例的对话系统的配置;图6是图解说明特征空间的示意图;图7是图解说明存储在关联存储器单元3中的项目的示意图;图8是图解说明语音识别单元1的配置的方框图;图9是图解说明对话系统操作的流程图;图10是图解说明在步骤S22的详细语音识别过程的流程图;图11是图解说明在步骤S54的详细单词序列产生过程的流程图;图12是图解说明语言模型数据库53的语言模型的例子的示意图;图13是图解说明使用有限状态自动机的语言模型的例子的示意图;图14是图解说明使用三字母组计算语言记分例子的示意图;图15是图解说明三字母组数据库的例子的示意图;图16是图解说明使用有限状态自动机的OOV检查语言模型的例子的示意图;图17A、17B、和17C是图解说明单词/音节网络的产生的示意图;图18示出了使用单词/音节网络获得OOV的试验结果;图19示出了使用单词/音节网络获得OOV的试验结果;图20是图解说明在步骤S28的详细单词提取过程的流程图;图21是图解说明模板的例子的示意图;图22是图解说明包括语音打字机45的语法的例子的示意图;图23是图解说明语音识别单元1的另一个配置的方框图;图24是图解说明在音素边界k的左右的两种上下文的定义的示意图;图25是图解说明在音素边界k的左右的两种上下文的定义的示意图;图26是图解说明在音素边界k的左右的两种上下文的定义的示意图;和图27是图解说明根据本发明实施例的计算机的配置的方框图。
具体实施例方式
以下,参照附图来详细说明本发明的实施例。
图5图解说明了根据本发明实施例的对话系统的配置。
例如,可以将这种对话系统集成到机器人里以通过语音与人类用户进行交流。当输入语音时,从语音提取例如用户名或机器人名的未知单词进行注册。
即,将用户发出的声音信号输入到语音识别单元1。语音识别单元1识别输入的声音信号,并且在需要时,根据识别的结果输出文本和附加的信息到对话控制单元4和单词提取单元2。
单词提取单元2从语音识别单元1输出的信息中获得还没有在语音识别单元1的单词词典中注册的未知单词。然后单词提取单元2自动存储该单词的音频特征,从而语音识别单元1能够随后作为已知单词来识别该单词的声音。
即,单词提取单元2根据对应声音的特征、将未知单词分类为在特征空间中形成的几个群集。每个群集具有ID(标识)和代表音节序列(发音)。根据ID来管理群集。
图6特别图解说明了声音的特征(特征空间)。为了简化,在图6中两维地示出了声音的特征。
例如,将三个声音“AKA”、“AO”和“MIDORI”输入到单词提取单元2。单词提取单元2将这三个声音分类为三个对应的群集,分别是“AKA”群集21、“AO”群集22和“MIDORI”群集23。同时,单词提取单元2将代表音节序列(在图6所示情况中的“A/KA”、“A/O”和“MI/DO/RI”)和ID(在图6所示情况中的“1”、“2”和“3”)分配给群集。
如果再次输入声音“AKA”,因为对应的群集存在,则单词提取单元2将输入的声音分类为“AKA”群集21。不创建新群集。相反,如果输入声音“KURO”,则对应的群集不存在。单词提取单元2创建“KURO”群集24并且将代表音节序列(在图6所示的情况中的“KU/RO”)和ID(在图6所示的情况中的“4”)分配给该群集。
因此,可以通过检查是否创建了新的群集来确定输入的声音是否为未获得的单词(即,未知单词)。本发明者的日本专利申请No.2001-97843公开了用于获得单词的详细过程。
回来参照图5,关联存储器单元3存储诸如类别的信息,该类别辨别未知单词(精确地说,曾经是未知单词的已知单词)是用户名还是机器人名。例如,在图7所示的情况中,关联存储器单元3存储包括群集ID和分类名称的一对项目。在图7的例子中,群集ID“1”、“3”和“4”属于“用户名”类别,而群集ID“2”属于“机器人名”类别。
对话控制单元4根据语音识别单元1的输出来理解从用户而来的言语内容,并且控制对用户的响应。对话控制单元4还参考关联存储器单元3以在需要时理解从用户而来的言语内容。
图8示出了图5所示的语音识别单元1的配置。
语音识别单元1包括麦克风41、模数(AD)转换器42、特征提取模块43、匹配模块44、语音打字机45、拒绝模块46、网络产生模块47、控制模块48、声学模型数据库51、词典数据库52、语言模型数据库53、和OOV检查语言模型数据库54。
将从用户来的言语输入到麦克风41,其将言语转换为电音频信号。将该音频信号提供给AD转换器42。AD转换器42对从麦克风41输入的模拟音频信号进行采样、量化、并且随后将它们转换为数字音频信号。将这些数字音频信号传送给特征提取模块43。
特征提取模块43从AD转换器42输出的被适当定义的音频数据的每帧中提取诸如频谱、能量线性预测系数(power liner predictive coefficient)、倒谱系数和线频谱对(line spectrum pair)的特征参数(特征)。将该特征参数传送到匹配模块44和语音打字机45。
根据从特征提取模块43来的特征参数,并同时在需要时参照声学模型数据库51、词典数据库52和语言模型数据库53,匹配模块44对输入到麦克风41的言语(输入声音)执行语音识别。然后匹配模块44将由语音识别所获得的单词序列输出到拒绝模块46和控制模块48。
使用特征提取模块43提供的特征参数并同时参照声学模型数据库51,语音打字机45还在音节基础上对输入的声音进行语音识别,然后将通过语音识别获得的音节序列输出到匹配模块44和网络产生模块47。例如,从言语“WATASHINONAMAEWAOGAWADESU”,获得音节序列“WA/TA/SHI/NO/NA/MA/E/WA/O/GA/WA/DE/SU”。可以将任何商业用的语音打字机作为语音打字机45来使用。
在语音打字机45的位置,可以使用能够从任何言语获得音节序列的装置。例如,可以使用根据日语音素(a/i/u/e/o/ka/ki/.....)执行语音识别的装置,或使用根据另一个音位(phonological)单元或者比单词小的单元的子单词执行语音识别的装置。
拒绝模块46参考OOV检查语言模块数据库54以确定拒绝模块46是否拒绝作为语音识别结果所获得的、从匹配模块44传送来的单词序列。然后拒绝模块46根据确定的结果拒绝单词序列或将其传送到网络产生模块47。
网络产生模块47产生单词/音节网络,即,根据从拒绝模块46来的单词序列和从语音打字机45来的音节序列的单词和音节的网络。即,网络产生模块47产生单词/音节网络,其包括包含在与<OOV>的较早边界对应的时刻音节的路径、未包含这个音节的路径、包含在与<OOV>的较后边界对应的时刻的音节的路径、和不包含这个音节的路径。将单词/音节网络输出到匹配模块44。
控制模块48控制AD转换器42、特征提取模块43、匹配模块44、语音打字机45、和拒绝模块46的操作。控制模块48还确定从匹配模块44提供的语音识别结果是否包含未知单词。
声学模型数据库51存储声学模型,其代表将被识别的言语的语言的独立音素和音节的声学特征。例如,可以使用隐马尔可夫模型(HMM)作为声学模型。词典数据库52存储描述有关发音信息的词典和描述将被识别的单词和短语的音素和音节链的模型。
如在这里使用的,术语“单词”指适合识别过程的单元。其不必与语言单词相同。例如“TAROUKUN”可以是一个单词,或可以是以“TAROU”和“KUN”形式的两个单词。而且可以将较大的单元“KONNICHIWATAROUKUN”考虑为一个单词。
此外,术语“音节”指声学地适合识别过程的单元。其不必与语音音节相同。例如可以由两个音节符号“TO/U”,或“TO”的托长音“TO”来表示在单词“TOUKYOU”中的“TOU”。而且可以采用代表无声的符号。再进一步,可以采用将无声分类为“言语前无声”、“言语间的短无声”、“言语中的无声”和“与‘TSU’对应的无声”的符号。
语言模型数据库53存储语言模型,其为关于如何链接或连接在词典数据库52中注册的单词(即,已知单词)的语言(语法)信息。
OOV检查语言模型数据库54存储语言模型,用于检查包括<OOV>的语句。
下面参照图9的流程图说明图5中所示的对话系统的处理过程。
在步骤S21,用户输入言语到语音识别单元1的麦克风41(见图8),该语音识别单元1将言语转换为电音频信号,并且输出电音频信号。在步骤S22,语音识别单元1执行语音识别处理。
下面参照图10来详细说明语音识别过程。在步骤S51,AD转换器42将从麦克风41输出的音频信号转换为数字音频信号,并且将它们传送到特征提取模块43。
在步骤S52,特征提取模块43从AD转换器42接收音频信号。随后,处理过程行进到步骤S53,其中特征提取模块43从音频信号中提取每个适当帧的特征参数,如频谱、能量、和它们的时间变化,并且将它们传送到匹配模块44和语音打字机45。
在步骤S54,匹配模块44和语音打字机45执行单词序列产生处理以产生将被语音识别的单词序列。将被语音识别的单词序列包括为未知单词的符号的“<OOV>”,以及在词典数据库52中注册的已知单词。下面参照图11来详细说明单词序列产生的处理过程。
在步骤S81,匹配模块44和语音打字机45在输入言语的某持续时间计算两种类型的声学记分当假设该持续时间的言语是已知单词时的声学记分,和当假设该持续时间的言语是<OOV>时的声学记分。即,匹配模块44通过将输入言语的持续时间与在词典数据库52中注册的已知单词进行匹配来计算声学记分,而语音打字机45计算持续时间的声学记分。声学记分指示从语音识别产生的单词序列的候选者与输入的言语在声音方面的紧密相似程度。
随后,从将输入言语的部分对在词典数据库52中注册的已知单词进行匹配结果而来的声学记分与从语音打字机45接收来的声学记分进行比较。虽然逐单词地执行对于已知单词的匹配,但是由语音打字机45进行的匹配是逐音节执行的。因为标度不一样,所以难以比较。通常,音节的声学记分高于单词的声学记分。因此,在步骤S82,匹配模块44更正从语音打字机45来的声学记分从而以相同的标度比较两个声学记分。
例如,用某系数乘以从语音打字机45来的声学记分,或从语音打字机45来的声学记分减去预定值或与帧长度成比例的值。如所知的,因为这个处理过程是相对的,所以可以更正对已知单词进行匹配而来的声学记分。在例如,“在大型词汇系统中使用自动定义的单词片段作为过滤器的OOV检测”,EUROSPEECH 99卷1,49-52页中详细说明了这个处理过程。
在步骤S83,匹配模块44比较两个声学记分,即,对已知单词进行匹配而产生的声学记分和从语音打字机45来的声学记分(在更正之后),以确定哪个声学记分更高。如果在步骤S83确定从语音打字机45来的声学记分高于另外的声学记分,则处理过程行进到步骤S84,于此匹配模块44估计将为<OOV>单词(即,未知单词)的持续时间(即,计算声学记分的持续时间)。
如果在步骤S83,确定从通过对已知单词进行匹配而获得的声学记分而来的声学记分高于其他记分,则处理过程行进到步骤S85,于此匹配模块44估计将是已知单词的持续时间。
即,例如,当输入言语是“WATASHINONAMAEWAOGAWADESU”时,在言语中、对于“O/GA/WA”,将从语音打字机45输出的声学记分与从对已知单词进行匹配而来的声学记分进行比较。如果对于“O/GA/WA”,从语音打字机45来的声学记分高于从对已知单词进行匹配而来的声学记分,则将与持续时间“OGAWA”对应的单词估计为“<OOV>(O/GA/WA)”。相反,如果已知单词的声学记分(即,从对已知单词进行匹配而来的声学记分)高于从语音打字机45来的声学记分,则将已知单词估计为与持续时间“OGAWA”对应的单词。
将输入的言语的全部持续时间划分为几个模式的子持续时间。以某些模式为所有的子持续时间执行从步骤S81到S85的处理过程。然后处理过程行进到步骤S86。
在步骤S86,为了执行语音识别,匹配模块44获得n个单词序列,估计该n个单词序列具有优先基于从单词序列中来的高的总声学记分,其中每个都与输入言语的全部持续时间对应,并且其中每个都是在步骤S84或步骤S85所估计的子持续时间的单词连接。
再参照图10,在步骤S55,根据与步骤S54的处理过程相独立的语音基础,语音打字机45识别由特征提取模块43在步骤S53的处理过程所提取的特征参数,并且输出获得的音节序列到匹配模块44。例如,当言语“WATASHINONAMAEWAOGAWADESU”(其中“OGAWA”是未知单词)输入到语音打字机45时,语音打字机45输出音节序列“WA/TA/SHI/NO/NA/MA/E/WA/O/GA/WA/DE/SU”。在步骤S55,使用步骤S54的处理结果可以获得音节序列。
在步骤S56,匹配模块44为在步骤54获得的每个单词序列计算声学记分。对于没有<OOV>(未知单词)的单词序列,采用已知的方法,即,计算言语的特征参数的每个单词序列(单词模型的连接)的似然性。在另一方面,对于带有<OOV>的单词序列,很难使用已知方法为与<OOV>对应的声音跨度计算声学记分,因为事先不存在与<OOV>对应的单词模型。因此,从语音打字机45的识别结果中提取用于声音跨度的声学记分。更正声学记分以作为<OOV>的声学记分来使用,进一步将其集成到为其他已知单词的声学记分。使用最终记分作为单词序列的记分。
在步骤S57,匹配模块44提取从顶端具有高记分的单词序列的m个候选者,其中m≤n。在步骤S58,匹配模块44参照语言模型数据库53计算单词序列的每个候选者的语言记分。语言记分指示候选单词序列在语言方面的适合性。下面将说明用于计算语言记分的方法。
为了语音识别单元1识别未知单词,语言模型可以支持未知单词。下面将说明使用支持未知单词的语法或有限状态自动机(FSA)的例子,和使用作为支持未知单词的统计语言模型之一的三字母组的例子。
参照图12说明使用语法的例子。图12中所示的语法以Backus-Naur形式(BNF)表示。在图12中,“$A”代表变量,“A|B”代表A或者B。“[A]”表示A是可选的。“{A}”表示A重复零或多次。
<OOV>是未知单词的符号。在语法中定义<OOV>允许包含要处理的未知单词的单词序列。虽然在图12中没有定义“$ACTION”,但定义了诸如“KIRITU”(起立)、“CHAKUSEKI”(坐下)、“OJIGI”(鞠躬)、和“AISATSU”(问候)的动作名称。
通过确定候选单词序列是否符合(适合)下面语法“<start>/KONNICHIWA/<end>”、“<start>/SAYOUNARA/<end>”、和“<start>/WATASHI/NO/NAMAE/WA/<OOV>/DESU/<end>”(其中“/”代表单词分隔符),匹配模块44将语言记分分配给候选单词序列。在图12中,“<start>”和“<end>”分别是表示言语前和后的特定符号。
为了使用这种语法来计算语言记分,引入了分析程序(分析器)。分析程序将单词序列分类为语法接受的单词序列组和语法不接受的单词序列组。即,例如,匹配模块44将语言记分1给予符合图12中的语法的单词序列,而将语言记分0给予不符合该语法的单词序列。
因此,例如,两个候选单词序列“<start>/WATASHI/NO/NAMAE/WA/<OOV>(TA/RO/U)/DESU/<end>”和“<start>/WATASHI/NO/NAMAE/WA/<OOV>(JI/RO/U)/DESU/<end>”适合图12所示的语法“<start>/WATASHI/NO/NAMAE/WA/<OOV>/DESU/<end>”。因此,例如将语言记分1给予两个候选单词序列的每一个。
因此,在将语法转换为等效的有限态自动机(之后称为“FSA”)或适当的FSA后,可以通过确定FSA是否能够接受候选单词序列来计算候选单词序列的语言记分。
图13图解说明了将图12所示的语法转换为等效的FSA的例子。FSA是包括状态(节点)和路径(弧)的有方向的(directed)图形。如图13所示,S1代表起始状态,而S16代表最终状态。实际上,如图12中,将动作名称注册为“$ACTION”。
将单词分配给路径。当发生从预定状态到随后状态的转变时,路径拥有(consume)该单词。被分配“∈”的路径是不拥有单词的特殊路径(在下面被称为“∈转变”)。即,例如,当发生从起始状态S1到状态S2的转变时,拥有<start>。当发生从状态S2到状态S3的转变时,拥有“WATASHI”。但是,因为从状态S3到状态S5的转变是∈转变,所以在转变期间不拥有单词。因此,在从状态S3跳到状态S5之后,可能发生从状态S3到随后的状态S6的转变。
通过从起始状态S1开始之后确定转变是否可以到达最后状态S16来确定FSA是否可以接受给定单词序列。
即,例如,当候选单词序列是“<start>/WATASHI/NO/NAMAE/WA/<OOV>/DESU/<end>”,可以通过使从起始状态S1到状态S2的转变发生来拥有单词“<start>”。可以通过导致发生从状态S2到状态S3的转变来拥有单词“<WATASHI>”。以相同的方式,可以通过使从状态S3到状态S4、从状态S4到状态S5、从状态S5到状态S6、和从状态S6到状态S7的转变顺序发生来拥有单词“NO”、“NAMAE”、“WA”、和“<OOV>”。随后,从状态S7到状态S15的转变能够拥有“DESU”,而从状态S15到状态S16的转变能够消耗“<end>”。最后,转变可以到达最后状态S16。因此,FSA接受候选单词序列“<start>/WATASHI/NO/NAMAE/WA/<OOV>/DESU/<end>”,并且,例如将语言记分1给予候选单词序列。
例如,如果候选单词序列是“<start>/KIMI/NO/<OOV>/NAMAE/<end>”,则可能发生从状态S1到状态S2、从状态S2到状态S8、和从状态S8到状态S9的转变,并且可能拥有“<start>”、“<KIMI>”和“<NO>”。但是,不能发生随后的转变,因此不能拥有下个单词<OOV>。即,转变不能到达最后的状态S16,从而FSA不接受“<start>/KIMI/NO/<OOV>/NAMAE/<end>”,并且,例如,将语言记分0给予候选单词序列。
参照图14说明使用统计语言模型之一的三字母组来计算语言记分的例子。在统计语言模型中,发现单词序列的产生概率是语言记分。根据统计语言模型,当候选单词序列例如是如在图14中第1行所示的“<start>/WATASHI/NO/NAMAE/WA/<OOV>/DESU/<end>”,则由如第2行所示的单词序列的产生概率表示候选单词序列的语言记分。它也由在第3到第6行所示的条件概率之积来表示。这里例如“P(NO|<start>WATASHI)”表示在“NO”之前紧邻的单词是“WATASHI”而在“WATASHI”之前紧邻的单词是“<start>”的条件下“NO”的出现概率。
在三字母组中,在图14中第3到第6行所示的等式用在第7到第9行所示的三个连续单词的条件概率近似。可以通过参考图15中所示的三字母组数据库获得连续单词的条件概率。通过提前分析大量的文本而完成三字母组数据库。
在图15所示的例子中,当三个单词w1、w2和w3以这个顺序出现时,示出了三个连续单词w1、w2和w3的概率P(w3|w1 w2)。例如当三个单词w1、w2和w3分别是“<start>”、“WATASHI”和“NO”时,概率P(w3|w1 w2)是0.12。当三个单词w1、w2和w3分别是“WATASHI”、“NO”和“NAMAE”时,概率P(w3|w1 w2)是0.01。当三个单词w1、w2和w3分别是“<OOV>”、“DESU”和“<end>”时,概率P(w3|w1 w2)是0.87。
应该理解预先以相同的方式得到“P(W)”和“P(w2|w1)”。
如上所述,在语言模型中为未知单词使用符号<OOV>允许包括<OOV>的候选单词序列的语言记分得以计算。
此外,在其他语言模型的情况下,使用符号<OOV>允许包括<OOV>的候选单词序列的语言记分以相同的方式得以计算。
而且,在没有<OOV>条目的语言模型的情况下,将<OOV>映射到语言模型中适当的单词的机制使得包括<OOV>的候选单词序列的语言记分得以计算。例如,在不具有“P(<OOV>|WATASHIWA)”而具有“P(OGAWA|WATASHIWA)”的三字母组中,可以通过映射<OOV>到“OGAWA”和通过将“P(<OOV>|WATASHIWA)”的值考虑为“P(OGAWA|WATASHIWA”的值来计算语言记分。
再参照图10,在步骤S58匹配模块44计算每个候选单词序列的语言记分。然后处理过程行进到步骤S59,于此匹配模块44为每个候选单词序列合并声学记分和语言记分。在步骤S60,根据在步骤S59获得的声学记分和语言记分的合并记分,匹配模块44选择具有最佳记分的候选单词序列之一。然后匹配模块44将候选单词序列作为识别结果输出到拒绝模块46和控制模块48。
当使用图12所示的语法和如图13所示的有限状态自动机作为语言模型时,在步骤S59的合并过程期间,可以删除具有语言记分0的候选单词序列而保留具有非零语言记分的候选单词序列。
再参照图9,如上所述,在步骤S22执行语音识别后,处理过程行进到步骤S23。在步骤S23,语音识别单元1的控制模块48确定从匹配模块44来的所识别的单词序列是否包括未知单词。
如果在步骤S23确定在识别结果中包括未知单词,则处理过程行进到步骤S24。在步骤S24,控制模块48控制拒绝模块46,从而确定是否采用或拒绝从匹配模块44来的包括未知单词的语音识别结果以获得未知单词。然后处理过程从步骤S24行进到步骤S25,于此拒绝模块46通过在控制模块48的控制下参考OOV检查语言模型数据库54来确定是否拒绝语音识别结果。
下面参照图16说明由拒绝模块46在步骤S25所执行的处理过程。
图16图解说明了存储在OOV检查语言模型数据库54中的OOV检查语言模型。OOV检查语言模型是包括未知单词的语句的语法。在图16中,使用有限状态自动机(FSA)说明该语法。
如在图13所示的情况,作为如图16中所示的OOV检查语言模型而工作的FSA是包括状态(节点)和路径(弧)的有方向的图形。
将单词分配给状态。当发生从预定状态到随后状态的转变时,起始状态拥有单词。在图16中,C1代表起始状态而C8代表最后状态。
根据作为如图16所示的OOV检查语言模型而工作的FSA是否能够接受语音识别结果,拒绝模块46确定是否拒绝语音识别结果。
为了确定作为OOV检查语言模型而工作的FSA是否能够接受语音识别结果,确定从起始状态C1开始的状态转变是否能够到达最后状态C8,同时拥有在语音识别结果的单词序列中的每个单词。
如图16中所示的OOV检查语言模型接受下面六个语音识别结果WATASHINO NAMAEWA <OOV> DESU
WATASHINO NAMAEWA <OOV> DAYOBOKUNO NAMAEWA <OOV> DESUBOKUNO NAMAEWA <OOV> DAYONAMAEWA <OOV> DESUNAMAEWA <OOV> DAYO在图9中的步骤S25,如果OOV检查语言模型接受语音识别结果,则拒绝模块46确定采用从匹配模块44提供的语音识别结果,而如果OOV检查语言模型不接受语音识别结果,则拒绝模块46确定拒绝语音识别结果。
除了这个方法,拒绝模块46还能够通过使用例如诸如如图14和15所示的三字母组的统计语言模型来确定是否采用或拒绝语音识别结果。在这种情况下,如果从统计语言模型获得的语言记分小于或等于预定的阈值,则拒绝模块46确定拒绝语音识别结果,而如果该语言记分大于(或等于)预定的阈值,则拒绝模块46确定采用语音识别结果。
再参照图9,如果在步骤S25确定拒绝模块46不拒绝语音识别结果而是采用它,则拒绝模块46输出语音识别结果到网络产生模块47。然后处理过程行进到步骤S26。
在步骤S26,根据从拒绝模块46来的语音识别结果和从语音打字机45来的语音识别结果的音节序列,网络产生模块47产生单词/音节网络。然后网络产生模块47输出单词/音节网络到匹配模块44。即,网络产生模块47产生单词/音节网络,该网络包括包含在与<OOV>之前紧邻的边界对应的时刻的音节的路径、不包含该音节的路径、包含在与<OOV>之后紧邻的边界对应的时刻音节的路径、和不包含该音节的路径。将单词/音节网络输出到匹配模块44。
在步骤S27,根据从语音打字机45来的语音识别结果的音节序列和从网络产生模块47提供来的单词/音节网络,匹配模块44将单词/音节网络匹配从用户输入的言语。
下面参照图17说明使用单词/音节网络的匹配过程和单词/音节网络的产生过程。
例如,用户输入言语“WATASHINONAMAEWAOGAWADESU”到麦克风41,其中“OGAWA”是未知单词。如图17A所示,匹配模块44例如获得单词序列“<start>/WTASHI/NO/NAMAE/WA/<OOV>/DESU/<end>”作为语音识别结果。同时,如图17B所示,语音打字机(phonetic typewriter)45输出音节序列“WA/TA/SHI/NO/NA/MA/E/WA/O/GA/WA/DE/SU”作为语音识别结果。
在这种情况下,如图17A和17B所示,在从匹配模块44的语音识别结果获得的单词序列中的边界通常并不匹配在从语音打字机45获得的音节序列中的边界。例如,在图17A和17B的情况下,在单词序列中的单词“WA”和单词“<OOV>”之间的边界对应于在音节序列中的音节“WA”。在单词序列中的单词“<OOV>”和单词“DESU”之间的边界对应于音节序列中的音节“WA”(最后的“WA”)。即,当考虑单词序列中的单词“WA”和单词“<OOV>”之间的边界时,与该边界对应的、在音节序列中的音节“WA”被包括在单词序列中的单词“WA”和单词“<OOV>”两者之中。
为了解决这个问题,产生单词/音节网络,其包括在语音识别结果的单词序列中的单词和在语音识别结果的音节序列中的音节。即,如图17C所示,产生单词/音节网络,其包括包含在与<OOV>之前紧邻的边界对应的时刻音节的路径、不包含该音节的路径、包含在与<OOV>之后紧邻的边界对应的时刻音节的路径、和不包含该音节的路径。
更具体地,例如,通过将单词序列的每个单词分配给状态和通过使用路径连接状态(单词),来产生语音识别结果“WATASHI/NO/NAMAE/WA/<OOV>/DESU”(<start>和<end>未示出)的单词序列的单词/音节网络。
在<OOV>之前紧邻的单词“WA”和在<OOV>之后紧邻的单词“DESU”之间的持续时间与音节“WA”、“O”、“GA”和“W/A”对应。在这种情况下,将这些音节分配给使用路径92、93、94、102和103连接的状态。此外,代表在<OOV>之前紧邻的单词“WA”的状态将代表与<OOV>之前紧邻的边界对应的音节“WA”的状态旁路(bypass),并且使用路径91连接到代表随后音节“O”的状态。而且,代表在<OOV>之后紧邻的单词“DESU”的状态将代表与<OOV>之后紧邻的边界对应的音节“WA”的状态旁路,并且使用路径101连接到代表先前音节“GA”的状态。
结果,如图17C中所示,在单词序列中的单词“WA”和单词“<OOV>”之间的边界处,在单词/音节网络中产生不包含与边界对应的音节“WA”的路径91,和包含音节“WA”的路径92和93。在单词序列中的单词“DESU”和单词“<OOV>”之间的边界处,在单词/音节网络中产生不包含与边界对应的音节“WA”的路径101,和包含音节“WA”的路径102和103。因此,可以选择与输入言语的单词/音节网络中的<OOV>对应的子单词序列(音节序列),而不用确定在子单词序列中的边界。
在图17C所示的单词/音节网络中,在<OOV>之前紧邻的单词“WA”和在<OOV>之后紧邻的单词“DESU”之间的持续时间包括音节“WA”、“O”、“GA”和“WA”,它们是可能与<OOV>的发音对应的音节。因此,单词/音节网络可以产生下面的四个语句假设WATASHINO-NAMAE-WA-WA-O-GA-WA-DESUWATASHINO-NAMAE-WA-WA-O-GA-DESUWATASHINO-NAMAE-WA-O-GA-WA-DESUWATASHINO-NAMAE-WA-O-GA-DESU如图9中所示,在步骤S27,匹配模块44将从用户输入的言语(即,产生语句假设的输入言语)匹配每个语句假设。然后处理过程行进到步骤S28,于此根据从用户输入的言语和语句假设之间的匹配结果,匹配模块44例如选择具有最高声学记分的语句假设。然后该处理过程行进到步骤S29。在步骤S29,根据在步骤S28所选择的语句假设,匹配模块44获得与<OOV>对应的发音。即,如果例如在步骤S28从四个语句假设中选择“WATASHINO-NAMAE-WA-O-GA-WA-DESU”,则在步骤S29获得“OGAWA”作为<OOV>的发音。
图18和19示出了使用上述方法来获得<OOV>的试验结果。试验条件相同于图4的试验条件,因此将不再重复那些描述。
图18以百分比示出了<OOV>的音节序列的识别精确度、替换错误率、删除错误率、和插入错误率。每个项目的详细说明与图3的相同,因此不再重复其说明。如可以从图18中的试验结果看出的,识别精确度为48.5%,其与使用图3所示的子单词序列的<OOV>发音获得方法的40.2%相比较有所改进。删除错误和插入错误的出现概率分别为11.6%和8.0%。与使用图3所示的子单词序列获得<OOV>发音方法中的33.3%和4.1%的那些相比,两个比率的平衡有所改进,即,两个比率之间的差减小了。
图19示出了试验结果,在该试验中一个人输出包括<OOV>“KUROSAKI”的言语和包括<OOV>“KAZUMI”的言语,并且从所述言语中获得<OOV>。
如图19中所示,在第一个识别中,将“KUROSAKI”识别为“KUROTACHI”,其中在“TA”和“CHI”发生了替换错误。在第二个识别中,将“KUROSAKI”识别为“OROSA”,其中发生删除错误“KU”和替换错误“O”。在第三个识别中,将“KUROSAKI”识别为“ROSAKI”,其中发生删除错误“KU”。在第四个识别中,将“KUROSAKI”识别为“ROSAKI”,其中发生删除错误“KU”。最后,在第五个识别中,将“KUROSAKI”识别为“KUROSAKI”,即,没有发生错误。
在第一个识别中,将“KAZUMI”识别为“KAZUMI”,其中没有错误发生。在第二个识别中,将“KAZUMI”识别为“KATSUNI”,其中发生“ZU”和“MI”的替换错误。在第三个识别中,将“KAZUMI”识别为“KAZUMI”,其中没有错误发生。在第四个识别中,将“KAZUMI”识别为“KATSUMI”,其中发生替换错误“ZU”。在第五个识别中,将“KAZUMI”识别为“KASUMI”,其中发生替换错误“ZU”。
再参照图9,在步骤S29,匹配模块44将所获得的、与<OOV>对应的发音(未知单词的发音或读音(reading))和发音持续时间的特征参数提供给控制模块48。然后处理过程行进到步骤S30。
在步骤S30,控制模块48将从匹配模块44接收的未知单词的特征参数和发音传送给单词提取单元2(见图5),并且控制单词提取单元2以执行单词提取处理,从而获得未知单词。
参照图20来详细说明单词提取处理过程。在步骤S111,单词提取单元2提取从语音识别单元1传送来的未知单词(<OOV>)的特征参数。在步骤S112,根据未知单词的特征参数,单词提取单元2确定未知单词是否属于现存的群集。如果在步骤S112确定未知的单词不属于现存的群集,则在步骤S113,单词提取单元2创建与未知单词对应的新群集,并且将唯一的群集ID分配给该群集。然后,在步骤S114,单词提取单元2输出未知单词所从属的群集的ID到语音识别单元1的控制模块48。
如果在步骤S112确定未知单词属于现存的群集之一,则单词提取单元2不必创建新群集,因此单词提取单元2跳过在步骤S113的处理过程。处理过程行进到步骤S114,于此单词提取单元2输出未知单词所从属的现存的群集的ID到语音识别单元1的控制模块48。控制模块48将从单词提取单元2输出的未知单词的群集ID和未知单词的发音以及包括未知单词的语音识别结果一同传送给对话控制单元4。
再参照图9,在步骤S30完成单词提取处理之后,在步骤S31,对话控制单元4确定从控制模块48传送来的语音识别结果的单词序列是否与模板匹配。换句话说,在这个步骤,确定所识别的单词序列是否需要注册某个名称。随后,如果在步骤S31确定所识别的单词序列与模板匹配,则处理过程行进到步骤S32,于此对话控制单元4控制关联的存储器单元3以存储从控制模块48接收的其类别和群集ID。
参照图21说明在步骤S31对话控制单元4所使用的模板的例子。在图21中,“/A/”意味着“如果包括了单词序列A”,而“A|B”意味着A或B。“.”意味着任何单一的字符,而“A+”意味着A重复一次或多次。“(.)+”意味着任何字符序列。
在图21中所示的模板121指示如果所识别的单词序列匹配于在图的左列中的常规表达,则执行在右列中的对应操作。例如,如果所识别的单词序列为“<start>/WATASHI/NO/NAMAE/WA/<OOV>(O/GA/WA)/DESU/<end>”,则从这个语音识别结果“WATASHINONAMAEWA<OOV>”所产生的字符序列与图21中的第二常规表示相匹配。随后,执行对应的操作“将与<OOV>对应的群集ID作为用户名称进行注册”。即,如果“<OOV>(O/GA/WA)”的群集ID是“1”,如图7中所示,则将群集ID“1”的类别名称注册为“用户名”。
此外,例如,如果所识别的单词序列是“<start)/KIMI/NO/NAMAE/WA/<OOV>(A/I/BO)/DAYO/(end)”,则在所识别单词序列中的“KIMINONAMAEWA<OOV>”匹配于图21中的第一常规表达。因此,如果“<OOV>(A/I/BO)”的群集ID是“2”,则将群集ID“2”的类别名称注册为“机器人名”。
一些对话系统仅仅具有所注册单词的一种类型(例如,仅仅“用户名”)。在这种情况下,可以简化模板121和关联的存储器单元3。例如,模板121包含操作“如果语音识别结果包括<OOV>,则存储<OOV>的ID”,并且关联存储器单元3只存储群集ID。
因此,对话控制单元4利用上述的在关联存储器单元3中注册的信息来在随后的对话中执行确定的处理过程。例如,当对话系统执行下面的处理过程时确定来自用户的言语是否包含机器人名;如果该言语包含机器人名,则确定从用户调用该对话系统;和如果包含机器人名,则将传送回适当的应答,或当对话系统执行下面的处理过程时允许机器人说出用户名,通过参考在关联存储器单元3中的信息,对话控制单元4可以获得机器人名的单词(类别名称为“机器人名”的条目)或用户名的单词(类别名称为“用户名”的条目)。
在另一方面,如果在图9的步骤S23确定语音识别结果不包含未知单词,或如果在步骤S25确定拒绝语音识别结果,或如果在步骤S31确定语音识别结果不匹配于模板,则处理过程行进到步骤S33,于此对话控制单元4为输入的言语产生应答。即,不注册名称(未知单词),并且执行用户输入的言语的预定处理过程。
更具体地,如果在步骤S23确定语音识别结果不包含未知单词,即,如果语音识别结果只包含已知单词,则语音识别单元1的控制模块48将只包含已知单词的语音识别结果传送到对话控制单元4。对话控制单元4产生例如对只包含已知单词的语音识别结果的应答语句,并且使用合成声音输出回答语句。
此外,如果在步骤S25确定拒绝语音识别结果,即,如果确定语音识别结果包含未知单词并且认为未知单词的持续时间已经被错误地估计,则语音识别单元1的控制模块48传送那个事件。在这种情况下,对话控制单元4例如产生提示消息要求用户再次给出言语,并且用合成声音输出提示消息。
而且,如果在步骤S31确定语音识别结果不匹配于模板,即,如果在图5中所示的对话系统中没有定义对包含未知单词的语音识别结果的响应(即,动作),则对话控制单元4产生例如指示对话系统不能理解用户的言语的消息,并且使用合成声音输出该消息。
如上所述,当语音识别结果包含未知单词,并且当估计未知单词(<OOV>)的持续时间是错误时,拒绝语音识别的结果。因此,可以防止错误未知单词的获得。
在步骤S32,当对话控制单元4使关联存储器单元3与其类别关联地存储作为未知单词的名称的群集ID时,语音识别单元1的控制模块48可以将名称(即,未知单词)的发音注册到词典数据库52中。因此在注册之后,语音识别单元1能够将之前未知的单词作为已知单词来识别。
此外,可以在步骤S28的处理过程之后紧接着执行图9中的步骤S24和S25的处理过程(即,在步骤S29的处理过程之前紧邻着)。即,如果在步骤S23确定语音识别结果包含未知单词,则处理过程可以直接行进到步骤S26。而且在步骤S28选择语句假设之后,可以在步骤S24和S25确定是否以上述的方式拒绝语句假设。如果确定拒绝语句假设,则处理过程行进到步骤S33。如果确定不拒绝语句假设,则处理过程可以行进到步骤S29。
当在图9所示的步骤S22中的语音识别处理过程中将语法用作语言模型时,该语法可以包括与语音打字机45的功能对应的说明。图22图解说明了在这种情况下的语法的例子。在图22中所示的语法131中,在第一行的变量“$SYLLABLE”包含用“|”连接的所有音节,其意味着“或”。因此,$SYLLABLE代表音节符号之一。这个功能对应于语音打字机45。变量“$OOV”代表“$SYLLABLE”的零或多次重复。因此,在第三行的“WA”和“DESU”之间的“$OOV”可以接受任何发音。
在使用语法131的语音识别结果中,使用代表一个或多个音节的符号书写与“$OOV”对应的部分。例如,“WATASHINONAMAEWAOGAWADESU”(其中“OGAWA”是未知单词)的语音识别结果是“<start>/WATASHI/NO/NAMAE/WA/O/GA/WA/DESU/<end>”。
在上面的说明中,通过关联存储器单元3,将类别注册为关于未知单词的信息;但是,可以注册其他信息。此外,可以除去图9中流程图的步骤S30。在这种情况下,在步骤S32,对话控制单元4控制关联存储器单元3以与其对应类别相关联来存储子单词序列(未知单词的发音)。
而且,在前面的说明中,网络产生模块47从单词和音节产生单词/音节网络,如图17C所示;但是,网络产生模块47可以从单词和子单词产生有别于音节的不同网络,诸如音素和其他音位单元。
图23图解说明了图5所示的语音识别单元1的另一个配置。在图23中,将相同的附图标记指定给相关于图8的那些所说明和示出的相同的元件,因此不再重复说明。即,在图23中所示的语音识别单元1相同于图8中所示的,除了在图23中的语音识别单元1不包括OOV检查语言模型数据库54,而在拒绝模块46的位置包括拒绝模块346。
拒绝模块346为从匹配模块44传送来的语音识别结果计算置信度(confidence measure)。然后拒绝模块346根据置信度确定是否拒绝语音识别结果。
如图23中所示,在具有这样配置的语音识别单元1中,在图9的步骤S25确定是否拒绝从匹配模块44来的、包含未知单词的语音识别结果,过程如下即,拒绝模块346为与从匹配模块44来的、包含未知单词的语音识别结果中的未知单词相邻的已知单词计算置信度。换句话说,拒绝模块346为紧邻于未知单词前的单词和紧接于未知单词之后的单词计算置信度。这里,置信度指示与语音识别结果相关的单词的同一性(identity)的置信程度(可信度)。
如果例如在未知单词(<OOV>)之前紧邻的单词的置信度和在未知单词之后紧接的单词的置信度大于或等于(或仅仅大于)预定的阈值,则拒绝模块346确定采用语音识别结果。而且,如果例如在未知单词(<OOV>)之前紧邻的单词的置信度或者在未知单词之后紧接的单词的置信度小于(或等于)预定的阈值,则拒绝模块346确定拒绝语音识别结果。
或者,例如,根据在语音识别结果中的未知单词之前紧邻的单词的置信度和未知单词之后紧接的单词的置信度的平均值与预定阈值之间的幅度关系,拒绝模块346能够确定是否拒绝语音识别结果。此外,根据在语音识别结果中的未知单词之前紧邻的单词的置信度和未知单词之后紧接的单词的置信度之一与预定阈值之间的幅度关系,拒绝模块346可以确定是否拒绝语音识别结果。而且,根据在语音识别结果中的未知单词之前紧邻的两个或多个单词的置信度和未知单词之后紧接的两个或多个单词的置信度与预定阈值之间的幅度关系,拒绝模块346可以确定是否拒绝语音识别结果。
在使用图16所示的有限状态自动机(FSA)作为OOV检查语言模型并且根据OOV检查语言模型来确定是否拒绝语音识别结果的情况下,如果作为OOV检查语言模型工作的FSA不接受语音识别结果,则拒绝语音识别结果。因此,虽然FSA限制用户输出来注册他或她自己的名字(即,未知单词)的言语,仍然可以准确地拒绝(可能包括错误估计的未知单词的持续时间的)语音识别结果。
相反,在使用统计语言模型作为OOV检查语言模型并且根据OOV检查语言模型确定是否拒绝语音识别结果的情况下,或在根据语音识别结果的置信度来确定是否拒绝语音识别结果的情况下,可能接受(极可能包括错误估计的未知单词的持续时间的)语音识别结果。但是,当用户注册他或她自己的名称(即,未知单词)时,用户可以几乎不带有任何限制的进行言语。
此外,为了确定是否拒绝语音识别结果,可以合并上述方法。即,使用有限状态自动机(FSA)作为OOV检查语言模型并且根据OOV检查语言模型来确定是否拒绝语音识别结果。如果确定采用语音识别结果,则还要确定是否根据语音识别结果的置信度来拒绝所采用的语音识别结果。
如上所述,在图23中所示的拒绝模块346根据语音识别结果的置信度来确定是否拒绝语音识别结果(在语音识别结果中的单词)。随后将说明计算置信度的方法。
置信度指示语音识别结果(在语音识别结果中的单词)的信任度(可信度)。因此,在包含未知单词的语音识别结果中,如果与未知单词相邻的已知单词(即,在未知单词前紧邻的单词和在未知单词后紧接的单词)的置信度处于一定水平,作为一些已知单词的已知单词的概率也相关于语音识别结果而处于一定水平。因此,可能在已知单词之间的持续时间中是未知单词(未知单词的持续时间)。相反,如果与未知单词相邻的已知单词的置信度低,则作为一些已知单词的已知单词的概率相关于语音识别结果也是低的。因此,在已知单词之间的持续时间中不可能是未知单词(未知单词的持续时间)。
这样,在图23示出的拒绝模块346中,通过根据与未知单词相邻的已知单词的置信度来拒绝语音识别结果,可以拒绝可能包括错误估计的未知单词的持续时间的语音识别结果,从而防止错误未知单词的获得。
例如,当匹配模块44使用HMM来执行语音识别处理时,拒绝模块346计算置信度,过程如下即,通常,在使用HMM声学模型的语音识别处理中,在HMM中将单词模型表示为音素和音节的连接,音素和音节是基本的识别单元。在语音识别期间,由于输入的言语没有被正确地分离为音素单元和音节单元,所以可能导致识别错误(错误识别)。从反面说,如果可以准确地确定在输入的言语中的例如音素单元之间的边界(位置),则能够准确地识别音素,并且因此,可以正确地识别单词和语句。
为了确定在语音识别结果中是否将输入的音频信号准确地划分为具有精确边界的音素单元,作为验证尺度引入了音素边界验证量度PBVM。为在语音识别结果(单词序列)中的每个音素计算音素边界验证量度PBVM。为单词单元或语句单元扩展每个音素的音素边界验证量度PBVM,从而为单词和语句获得置信度。因此,可以为单词和语句两者(全部的语音识别结果)计算置信度。
例如,计算音素边界验证量度PBVM,过程如下即,将音素边界k定义为在语音识别结果(单词序列)中任何音素k和随后的音素k+1之间的边界。然后定义在音素边界k左右的(暂时在音素边界k之前或之后的)的上下文(context)。为了定义在音素边界k左右(前后)的两种上下文,可以采用图24、25和26所示的三种定义之一。
即,图24图解说明了在音素边界k的左右(前后)的两种上下文的第一种定义的例子。
在图24中,示出了音素k、k+1、音素k+2、作为音素k和k+1间的边界的音素边界k、和作为音素k+1和k+2间的边界的音素边界k+1。在音素k和k+1中,由虚线示出了音频信号的帧之间的边界。例如,音素k的最后帧是帧i,而音素k+1的第一帧是帧i+1。而且,在音素k中,HMM状态顺序移动到状态a、b和C,然而在音素k+1中,HMM状态顺序地移动到状态a′、b′和C′。
在图24(以及在下述图25和26)中的实线曲线表示例如音频信号的能量转变。
在对图24所示的音素边界k的左右(前后)的两种上下文的第一定义中,在音素边界k左边(在时间序列中在音素边界k之前)的上下文包括与状态c对应的所有帧,状态c是音素k的最后的HMM状态,即,在帧(i-4)和帧i之间的帧。在音素边界k右边(在时间序列中在音素边界k之后)的上下文包括与状态a′对应的所有帧,状态a′是音素k+1的第一HMM状态,即,在帧(i+1)和帧(i+4)之间的帧。
图25图解说明了对在音素边界k的左右(前后)的两种上下文的第二定义的例子。在图25中,相同的附图标记指定给那些与图24相关而示出和说明的相同元件,因此不再重复说明(在下述的图26中也相同)。
在对如图25所示的音素边界k的左右(前后)的两种上下文的第二定义中,在音素边界k左边的上下文包括与状态b对应的所有帧,状态b是音素k的第二最后的HMM状态。在音素边界k右边的上下文包括与状态b′对应的所有帧,状态b′是音素k+1的第二HMM状态。
图26示出了对在音素边界k的左右(前后)的两种上下文的第三定义的例子。
在对如图26所示的音素边界k的左右(前后)的两种上下文的第三定义中,在音素边界k左边的上下文包括帧(i-n)到i。在音素边界k右边的上下文包括帧(i+1)到(i+m)。这里,n和m是大于或等于1的整数。
随后,计算指示两种上下文的相似性的相似性函数。为了计算相似性函数,引入代表上下文的矢量。
例如,为了执行语音识别(匹配),在帧(frame)的基础上提取频谱。在这种情况下,例如为上下文的每个帧产生包括频谱的系数的矢量。上下文的矢量(即,指示上下文的矢量)可以是在上下文中所有帧的平均矢量。
使得两种上下文的矢量为x和y。例如,由下面等式(1)给出相似性函数s(x,y)s(x,y)=xty||x||·||y||·····(1)]]>在等式(1)中,‖x‖是在矢量x的矢量空间中的范数(对于‖y‖类似),x′是矢量x的转置。因为通过矢量x和y的内积x′y除以矢量x和y的幅度值之积‖x‖·‖y‖来计算等式(1)中的相似性函数s(x,y),所以相似性函数s(x,y)是两个矢量x和y之间的夹角(cosθ)。
这里,随着相似性函数s(x,y)的值减小,矢量x和y的相似性增加。
通过使用相似性函数s(x,y),可以由下面等式(2)表达给定音素边界k的音素边界验证量度PBVM(k)PBVM(k)=1-s(x,y)2···(2)]]>除了相似性函数s(x,y),为了计算两个矢量x和y的相似性,可以采用表示两个矢量x和y之间距离的距离函数d(x,y)(注意在从1到-1的范围中将d(x,y)归一化)。在这种情况中,可以用下面等式(3)表达音素边界验证量度PBVM(k)PBVM(k)=1-d(x,y)2··········(3)]]>产生指示包括在上下文中的每个帧的频谱的矢量(包括频谱的系数的矢量),并且使用在上下文中所有帧的矢量的平均值(平均矢量)作为在音素边界k处的上下文的两个矢量x和y。此外,(例如)表示最接近于音素边界k的帧的频谱的矢量具有代表从其减去的上下文中所有帧的频谱的矢量平均值。可以采用结果矢量作为矢量x和y两者。此外,当使用高斯分布来表示在HMM中的特征的输出概率密度函数时,可以从例如定义高斯分布的平均矢量计算在音素边界k的上下文的矢量x和y,该高斯分布代表在与上下文中的帧对应的HMM状态中的输出概率密度函数。
通过等式(2)和(3)获得的给定音素边界k的音素边界验证量度PBVM(k)是与变量k相关的具有0和1之间的值的连续函数。“PBVM(k)=0”指示在音素边界k的左右的上下文的矢量定向于相同的方向。即,当音素边界验证量度PBVM(k)的函数值为0时,音素边界k不与实际的音素边界一致,即,可能发生识别错误。
相反,当音素边界验证量度PBVM(k)的函数值为1时,在音素边界k的左右的上下文的矢量定向于相反的方向,并因此,音素边界k可能与在音频信号中的精确的音素边界一致。
如上所述,具有0到1之间范围的音素边界验证量度PBVM(k)指示作为实际音素边界的音素边界k的似然性。
随后,因为在语音识别结果的单词序列中的每个单词包括多个音素,所以可以从单词的音素的音素边界验证量度PBVM(k)来计算单词的置信度。
即,可以采用下面的值作为单词的置信度每个单词的音素的音素边界验证量度PBVM的平均值;每个单词的音素的音素边界验证量度PBVM的最小值;每个单词的音素的音素边界验证量度PBVM的最大值和最小值之差;每个单词的音素的音素边界验证量度PBVM的标准方差;或每个单词的音素的音素边界验证量度PBVM的变差(variation)系数(由除以平均值的标准方差计算的值)。
可以用与单词的置信度相同的方式获得语音识别结果的单词序列的总置信度。
即,当语音识别结果例如是“The weather yesterday was nice”,并且单词“The”、“weather”、“yesterday”、“was”和“nice”的置信度分别是0.90、0.86、0.13、0.81和0.95,并且当采用例如在单词序列中的单词的置信度中的最小值作为语音识别结果的置信度时,语音识别结果“The weather yesterday wasnice”的置信度是0.13,这是单词“yesterday”的置信度值。或者,当采用语音识别结果的单词序列中的单词的置信度中的平均值作为该语音识别结果的置信度时,语音识别结果“The weather yesterday was nice”的置信度是0.73,这是各个单词“The”、“weather”、“yesterday”、“was”和“nice”的置信度0.90、0.86、0.13、0.81和0.95的平均值。
在上述情况中,从在语音识别结果的单词序列中的每个单词的置信度获得语音识别结果的置信度。此外,例如可以从在语音识别结果的单词序列中的每个单词的音素边界的音素边界验证量度PBVM直接获得语音识别结果的置信度。
此外,如在日本待审专利申请公开号No.9-259226中所公开的,可以采用在第一位置和第二位置中语音识别结果的候选者的信任记分值之间的差作为置信度。而且,可以从HMM计算的每个帧的声学记分计算置信度。再进一步,可以使用神经网络来计算置信度。
可以由硬件和软件来执行上述处理过程。当由软件来执行该处理过程时,从单词/音节网络或记录介质、在包括专用硬件的计算机或能够通过安装各种程序来执行各种功能的通用个人计算机中安装软件程序。
如图27所示,记录介质的例子不仅包括被分发给用户以为用户提供与设备分离的程序的包装介质,如磁盘171、光盘172、磁光盘173、和半导体存储器174,还包括存储程序的ROM(只读存储器)152和包括在存储单元158中的硬盘,它们被预储存在设备中,并且用该设备分发给用户。
图27图解说明了个人计算机150的配置,该个人计算机150用于通过软件执行图5所示的对话系统的处理过程。个人计算机150包括CPU(中央处理单元)151。输入和输出(I/O)接口155经由总线154连接到CPU151。ROM152和RAM(随机存取存储器)153连接到总线154。
由用户操作的鼠标、键盘、和麦克风、包括诸如AD转换器的输入装置的输入单元157、和包括诸如显示器、扬声器和DA转换器的输出单元的输出单元156连接到I/O接口155。此外,用于存储程序和各种数据的、包括硬盘驱动器的存储单元158和用于经由诸如因特网的单词/音节网络传送和接收数据的通信单元159连接到I/O接口155。
可选驱动器160连接到I/O接口155。驱动器160从/向诸如磁盘171、光盘172、磁光盘173和半导体存储器174的记录介质上读出或写入数据。
允许个人计算机150执行实施本发明的实施例的语音处理装置的功能的语音处理程序存储在磁盘171(包括软盘)、光盘172(包括CD-ROM(致密盘只读存储器)和DVD(数字通用盘))、磁光盘173(包括MD,(小型盘))、或半导体存储器174中。将包括语音处理程序的记录介质提供给个人计算机150,其中由驱动器160读出语音处理程序,并且被安装在包括在存储单元158中的硬盘驱动器上。响应于与经由输入单元157输入的用户命令对应的、从CPU来的命令,将在存储单元158中安装的语音处理程序从存储单元158中装载于RAM 153。
在本说明书中,描述存储在记录介质中的程序的步骤不仅包括上述顺序执行的处理过程,而且还包括平行或独立执行的处理过程。
此外,作为使用在本说明书中,“系统”指多个设备的逻辑组合;多个设备不必包括在一个机身中。
本领域的技术人员应该理解依照设计要求和其他因素,可以发生各种改动、组合、子组合和改变,只要它们在所附的权利要求书或等效文件的范围之内。
权利要求
1.一种语音处理装置,用于处理输入的言语,并且根据处理结果对包含在输入的言语中的单词进行注册,该装置包括识别装置,用于识别输入的言语;未知单词确定装置,用于确定由识别装置获得的输入言语的识别结果是否包括未知单词;识别结果拒绝装置,用于确定是否拒绝由未知单词确定装置确定为包括未知单词的识别结果;以及单词提取装置,用于获得与在确定未被识别结果拒绝装置拒绝的识别结果中所包含的未知单词对应的单词。
2.根据权利要求1所述的语音处理装置,其中所述识别结果拒绝装置根据包含未知单词的语句的未知单词语言模型来确定是否拒绝识别结果。
3.根据权利要求2所述的语音处理装置,其中所述未知单词语言模型是用有限状态自动机编写的语法模型。
4.根据权利要求2所述的语音处理装置,其中所述未知语言模型是统计语言模型。
5.根据权利要求1所述的语音处理装置,其中所述识别结果拒绝装置根据识别结果的置信度来确定是否拒绝识别结果。
6.根据权利要求5所述的语音处理装置,其中所述识别结果拒绝装置根据与包含在识别结果中的未知单词相邻的已知单词的置信度来确定是否拒绝识别结果。
7.一种语音处理方法,用于处理输入的言语,并且根据处理结果对输入言语中包括的单词进行注册,该语音处理方法包括步骤(a)识别输入的言语;(b)确定由步骤(a)所获得的输入言语的识别结果是否包括未知单词;(c)确定是否拒绝在步骤(b)确定为包括未知单词的识别结果;和(d)获得与在确定未被步骤(c)拒绝的识别结果中所包括的未知单词对应的单词。
8.一种存储程序的计算机可读记录介质,该程序处理输入的言语,并且根据处理结果对包括在输入言语中的单词进行注册,该程序包括步骤(a)识别输入的言语;(b)确定由步骤(a)所获得的输入言语的识别结果是否包括未知单词;(c)确定是否拒绝在步骤(b)确定为包括未知单词的识别结果;和(d)获得与在确定未被步骤(c)拒绝的识别结果中所包括的未知单词对应的单词。
9.一种程序,用于处理输入的言语,并且根据处理结果对包括在输入言语中的单词进行注册,该程序包括程序代码,其使得计算机执行步骤(a)识别输入的言语;(b)确定由步骤(a)所获得的输入言语的识别结果是否包括未知单词;(c)确定是否拒绝在步骤(b)确定为包括未知单词的识别结果;和(d)获得与在确定未被步骤(c)拒绝的识别结果中所包括的未知单词对应的单词。
10.一种语音处理装置,用于处理输入的言语,并且根据处理结果对包含在输入的言语中的单词进行注册,该装置包括识别单元,被配置来识别输入的言语;未知单词确定单元,被配置来确定由识别单元获得的输入言语的识别结果是否包括未知单词;识别结果拒绝单元,被配置来确定是否拒绝由未知单词确定单元确定为包括未知单词的识别结果;以及单词提取装置单元,被配置来获得与在确定未被识别结果拒绝单元拒绝的识别结果中所包括的未知单词对应的单词。
全文摘要
本发明提供了一种装置,其输入言语,并且根据输入的言语执行语音识别。该语音处理装置确定识别结果是否包含未知单词。如果确定识别的结果包含未知单词,则确定是否拒绝识别的结果。如果确定不拒绝识别的结果,则获得与包含在识别结果中的未知单词对应的单词。该装置可用作语音处理装置。
文档编号G10L15/00GK1725295SQ20051008475
公开日2006年1月25日 申请日期2005年7月20日 优先权日2004年7月22日
发明者小川浩明 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1