语音处理设备、语言处理方法、存储介质及程序的制作方法

文档序号:2821413阅读:173来源:国知局
专利名称:语音处理设备、语言处理方法、存储介质及程序的制作方法
技术领域
本发明涉及一种语音处理设备、语言处理方法、存储介质及程序,尤其是涉及这样一种用于提取包含在输入声音信号之中的未知单词并且在连续语音识别期间很容易对其进行记录的语音处理设备、语言处理方法、存储介质及程序。
背景技术
在可获得新词汇的语音识别系统中,为了获得新的词汇,必须对语音中的未知部分进行估计并且将读音分配给该未知部分。
为了估计该未知部分,根据诸如音素或者音节这样的比单词更短的单元(子单词)来识别语言。将音节序列分配给话语,也就是说,分配日语假名读法。同时,计算每个音节的得分。此后通过对该得分进行适当的处罚来估计非法单词(OOV)的得分。在单词识别的情况下,因为不是正常单词候选者的单词是未知单词,因此除正常单词候选者之外的单词使用上述得分。如此,如果该话语包含一未知单词并且未知单词的得分在错误单词得分与正确单词得分之间,那么将未知部分识别为未知单词。随后,为了将一读音分配给未知部分,根据来自音节打字机的未知部分的时间(times)信息来索引诸如音节序列这样的上述子单词序列。这可对分配给未知单词的音节序列进行估计(例如参考由Issam Bazzi和James R.Glass所著的、于2000年11月所公开的“国际口语语音处理会议记录(ICSLP)2000”第433-436页(以下简称为“非专利文献1”),由Atsuhiko KAI和Seiichi NAKAGAWA所著的、日本电子信息通信工程师学会于1997年10月第J80-D-II卷第2615-2625页所发表的、名称为“连续语音识别系统利用用于语音机能障碍的未知单词处理来进行比较”(以下简称为“非专利文献2”)以及由Hiroaki KOKUBO、Shigehiko ONISHI、Hirofumi YAMAMOTO及Genichiro KIKUI所著的、日本信息处理学会期刊于2002年七月第43卷第7期第2082-2090页所发表的、名称为“利用子单词模型来进行OOV单词识别的有效解码方法”(以下简称为“非专利文献3”))。
令人遗憾的是,在音节搜索的情况下,尽管获得音节的得分,但是单词之间的界限未必与音节之间的界限相匹配。现在参考图1对单词与音节界限之间的这种不匹配进行说明。
与通过单词序列检索所获得的单词之间的界限相对应的时间未必与其和通过子单词序列检索所获得的子单词之间的界限相对应的时间相匹配。例如,如图1所示,当单词识别的结果是单词1<OOV>单词2时,根据<OOV>与相邻单词之间的界限,单词之间的界限有时与子单词序列(即子单词序列Sy11至Sy18)中的界限不匹配。这里,<OOV>是用于表示未知单词的一标记。在图1中,<OOV>前后的界限暂时分别与Sy14和Sy17的中途点(halfway point)相对应。因此,与不匹配界限相对应的子单词Sy14和Sy17有时包含在<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>之中。另一方面,因为L3>L4,其中L3是与<OOV>相对应的音节k的持续时间并且L4是与单词2相对应的音节k的持续时间,因此确定音节k包含在<OOV>之中。
图3和图4示出通过子单词序列获取<OOV>读音的方法的实验结果。
例如,在旅行应用中为12个人(6个男性,6个女性)的752类话语执行通过图2所示的子单词序列获取<OOV>读音的方法的实验,这752类话语包括用于旅馆登记以及在饭店点菜的话语。设置了如图3所示的特征参数、声学模型以及语言模型这样的条件。将特征参数设置成16位且16KHz采样、10毫秒帧周期、25毫秒帧长、12阶Mel频率对数倒谱参数(MelFrequency Cepstrum Cofficients,MFCC)以及0至12阶MFCC(25维)的一阶回归参数。该声学模型是其为16混合且具有1000个约束状态的隐马尔可夫模型(Hidden Markov Model,HMM)。该语言模型是子单词三连词(sub-word trigram)、截止三连词5以及二连词(biagram)5。在这个实验中,314类音节和音节链用作子单词。所使用的语言模型是利用Nihon KeizaiShimbun文章六年来的语料库所训练的音素三连词。
图4示出当将通过图2所示的子单词序列获取<OOV>读音的方法应用于子单词序列时,就识别准确度、替代错误、删除错误以及子单词序列的插入错误而言的性能百分比。如这里所使用的,术语“替代错误”指的是由另一个音节代替了正确音节这样的错误,术语“删除错误”指的是根本不能对所要识别的音节进行识别这样的错误,而术语“插入错误”指的是在识别结果中出现未识别的音节这样的错误。根据下列等式(1)由音节总数N、正确回答的次数N_C以及插入错误的数目N_I来确定识别准确度AccAcc=(N_C-N_I)/N(1)参考图4,在通过图2所示的子单词序列获取<OOV>读音的方法中,识别准确度是40.2%。删除错误率和插入错误率分别是33.3%和4.1%。
然而,在通过图2所示的子单词序列获取<OOV>读音的方法中,连续的单词识别必须在考虑音节的界限的同时执行单词识别。另外,例如,如图4所示,因为40.2%的识别准确度不是很高,而33.3%的删除错误率很高,因此用户往往认为机器人采用了非智能的连续语音识别系统。此外,如图4所示,与33.3%的删除错误率相比,4.1%的插入错误率不被均衡。

发明内容
因此,本发明的一个目的就是提高语音识别过程中的识别率并且均衡所出现的删除错误与插入错误。
根据本发明,一种语音处理设备包括识别装置,用于识别连续输入的话语;未知单词确定装置,用于确定识别装置的识别结果是否包括一未知单词;网络产生装置,如果未知单词确定装置确定识别装置的识别结果包括未知单词,用于产生一网络,该网络具有包括在与未知单词两侧的单词界限相对应的时间处的子单词的路径以及不包括该子单词的路径;获取装置,如果未知单词确定装置确定识别装置的识别结果包括未知单词,用于获得与该未知单词相对应的单词;以及记录装置,记录获取装置所获得的单词,同时使该单词与其他信息相关联。
该语音处理设备还可以包括用于确定识别结果是否与一预定模式相匹配的模式确定装置,其中,如果识别结果与该预定模式相匹配,那么该记录装置记录该单词。
该语音处理设备还可以包括应答产生装置,当未知单词确定装置确定识别结果不包括一未知单词或者模式确定装置确定识别结果与预定模式不匹配时,该应答产生装置产生与所输入的话语相对应的应答。
该记录装置记录该单词,同时使该单词与用作其他信息的类别相关联。
如果模式确定装置确定识别结果与该模式相匹配,那么该记录装置还对其他信息进行记录,同时使其他信息与匹配模式相关联。
获取装置通过使未知单词成群而获得该单词。
网络产生装置所产生的网络是单词和音节的网络。
该语音处理设备还包括选择装置和读音获取装置,其中该选择装置根据输入话语与网络之间的匹配来在该网络中选择具有最高得分的路径,而该读音获取装置根据包括由选择装置所选的路径的网络来获取未知单词的读音。
该语音处理设备还包括比较装置,该比较装置对通过使输入话语的预定持续期与已知单词相匹配而获得的声音得分与通过音节打字机的识别而获得的声音得分进行比较,其中,如果通过音节打字机的识别而获得的声音得分优于其他得分,那么该比较装置估计该持续期与一未知单词相对应。
在比较装置对通过音节打字机的识别所获得的声音得分进行校正之后,该比较装置对通过使输入话语的预定持续期与已知单词相匹配而获得的声音得分与通过音节打字机的识别而获得的声音得分进行比较。
根据本发明,一语言处理方法包括步骤识别连续输入的话语;确定识别步骤的识别结果是否包括一未知单词;如果确定步骤确定识别结果包括未知单词,那么产生一网络,该网络具有包括在与未知单词两侧的单词界限相对应的时间处的子单词的路径以及不包括子单词的路径;如果确定步骤确定识别结果包括未知单词,那么获得与该未知单词相对应的单词;以及记录获取步骤所获得的单词,同时使该单词与其他信息相关联。
根据本发明,一存储介质存储这样一程序,该程序包括识别连续输入的话语;确定识别步骤的识别结果是否包括一未知单词;如果确定步骤确定识别结果包括未知单词,那么产生一网络,该网络具有包括在与未知单词两侧的单词界限相对应的时间处的子单词的路径以及不包括子单词的路径;如果确定步骤确定识别结果包括未知单词,那么获得与该未知单词相对应的单词;以及记录获取步骤所获得的单词,同时使该单词与其他信息相关联。
根据本发明,一程序可使计算机执行识别连续输入的话语;确定识别步骤的识别结果是否包括一未知单词;如果确定步骤确定识别结果包括未知单词,那么产生一网络,该网络具有包括在与未知单词两侧的单词界限相对应的时间处的子单词的路径以及不包括子单词的路径;如果确定步骤确定识别结果包括未知单词,那么获得与该未知单词相对应的单词;以及记录获取步骤所获得的单词,同时使该单词与其他信息相关联。
在根据本发明的语音处理设备、语言处理方法、存储介质以及程序中,识别连续输入的话语。如果该识别结果包括一未知单词,那么产生一网络。根据该网络来获取未知单词的读音。获取与未知单词相对应的单词,并且记录该单词,同时使其与其他信息相关联。


图1示出解释单词序列中和子单词序列中的界限之间不相匹配的示意图;图2示出解释用于通过子单词序列获取<OOV>读音的方法的示意图图3示出解释在通过图2所示的子单词序列获取<OOV>读音的方法的情况下的实验条件的示意图;图4示出在通过图2所示的子单词序列获取<OOV>读音的方法的情况下的试验结果;图5示出本发明所应用的对话系统的一实施例;图6示出群状态(cluster status)的一示例;图7是示出单词记录的示意图;图8是图5所示的语音识别装置的结构方框图;
图9是图5所示的对话系统的操作流程图;图10是图9中步骤S22的语音识别处理的详细流程图;图11是图10中步骤S54的单词序列产生处理的详细流程图;图12示出语言模型数据库中所使用的语法的一示例;图13示出具有有限自动机的语言模型的一示例;图14示出通过利用三连词来计算语言得分的一示例;图15示出三连词数据库的一示例;图16是解释网络创建的示意图;图17示出根据本发明的试验结果;图18示出根据本发明的试验结果;图19是图9中步骤S28的单词获取处理的详细流程图;图20示出模板的一示例;图21示出包括有音节打字机功能的语法的一示例;以及图22是根据本发明一实施例的计算机的结构方框图。
具体实施例方式
参考附图来对本发明的实施例进行说明。图5示出本发明所应用的一对话系统的实施例。
将该对话系统集成到例如一机器人中,以通过语音与人类用户交谈。当输入语音时,从语音中提取用户名以便记录。
也就是说,将用户所发出的声音信号输入到语音识别单元1。语音识别单元1对所输入的声音信号进行识别,且根据识别结果将文本和附加信息输出到对话控制单元3并且在必要时将其输出到单词提取单元4。
单词提取单元4自动地存储未记录在语音识别单元1识别词典中的单词的音频特征,以便单词提取单元4随后可识别那些单词的声音。
也就是说,单词提取单元4接收来自音节打字机的输入声音的读音并且将其分成若干群。每个群具有一ID和一代表性的音节序列。根据该ID来管理这些群。参考图6来说明这些群的状态。
例如,将三个声音“AKA”、“AO”以及“MIDORI”输入到单词提取单元4中。单词提取单元4将这三个声音分成三个相应群,即分别是“AKA”群21、“AO”群22以及“MIDORI”群23。同时,单词提取单元4将代表性的音节序列(在图6所示的情况下为“A/KA”、“A/O”以及“MI/DO/RI”)以及ID(在图6所示的情况下为“1”、“2”以及“3”)分配给这些群。
如果再次输入声音“AKA”,那么因为存在相应的群,因此单词提取单元4将所输入的声音分类为“AKA”群21,而不创建新的群。与此相反,如果输入声音“KURD”,那么不存在相应的群。单词提取单元4创建“KURO”群24并且将一代表性的音节序列(在图6所示的情况下为“KU/RO”)和一ID(在图6所示的情况下为“4”)分配给该群。
因此,通过检测是否创建了新的群可确定所输入的声音是否是未获得的单词。该发明人的日本专利申请No.2001-97843公开了用于获得一单词的详细处理。
关联存储器单元2存储诸如类别这样的、识别所记录的名称(未知单词)是用户名或者机器人名的信息。例如,在图7所示的情况下,存储一对群ID和类别名。在图7的示例中,群ID“1”、“3”以及“4”属于“用户名”类别,而群ID“2”属于“机器人名”类别。
对话控制单元3根据语音识别单元1的输出来理解用户的话音内容,并且根据该理解来控制对名字(未知单词)的记录。对话控制单元3还对后续对话进行控制以根据存储在关联存储器单元2中的所记录名字的信息来识别记录名。
图8示出语音识别单元1的结构。
语音识别单元1包括麦克风41、模/数(AD)转换器42、特征提取模块43、匹配模块44、音节打字机45、控制模块46、网络产生模块47、声学模型数据库51、词典数据库52以及语言模型数据库53。
将用户的话语输入到麦克风41,该麦克风41将该话语转换成电音频信号。将音频信号提供给AD转换器42。AD转换器42对来自麦克风41的模拟音频信号进行采样、量化,然后转换成数字音频信号。将这些音频信号传送到特征提取模块43。
该特征提取模块43从AD转换器42所输出的、被适当定义的音频数据的每个帧中提取诸如光谱、能量线性预测系数、倒频谱系数以及线性光谱对这样的特征参数。将特征参数传送到匹配模块44以及音节打字机45。
匹配模块44根据来自特征提取模块43的特征参数,参考声学模型数据库51、词典数据库52以及语言模型数据库53来为从麦克风41所输入的话语寻找最可能的单词序列。然后,匹配模块44将该单词序列输出到网络产生模块47。
该声学模型数据库51存储这样一个声学模型,该声学模型表示所要识别的话语的语言的声音特征。该声音特征包括音素和音节。例如,隐马尔可夫模型(HMM)可用作声学模型。词典数据库52存储描述与读音有关的信息的词典以及描述关于所要识别的单词或短语的一系列音素和音节的模型。
如这里所使用的,术语“单词”指的是适合于识别处理的一单元。它不必与语言上的单词相同。例如,“TAROUKUN”可以是一个单词,也可以是以“TAROU”和“KUN”形式的两个单词。另外,较大的单元“KONNICHIWATAROUKUN”可以是一个单词。
此外,术语“音节”指的是其在声学上适合于识别处理的一单元。它不必与语言上的音节相同。例如,“TOUKYOU”单词中的“TOU”可以由是“TO”的长音的两个音节标记“TO/U”或者“TO”来表示。另外,可采用表示无声的标记。另外,还可采用这样一标记,该标记将该无声分类为“话语之前的无声”、“话语之间的短无声”、“话语中的无声”以及“与‘TSU’相对应的无声”。
该语言模型数据库53描述了如何链接或者连接词典数据库52中所记录的单词。
该音节打字机45根据特征提取模块43所提供的特征参数来捕获与输入话语相对应的音节序列,然后将该音节序列输出到网络模块44和网络产生模块47。例如,从“WATASHINONAMAEWAOGAWADESU”中捕获音节序列“WA/TA/SHI/NO/NA/MA/E/WA/O/GA/WA/DE/SU”。音节打字机45是在市场上买得到的。
代替音节打字机,可使用能够从任何语音中捕获音节序列的机构。例如,可以使用基于日语音素(a/i/u/e/o/k/a/k/i/...)的语音识别或者基于比单词更小的单元的另一音韵单元或子单词的语音识别。
控制模块46对AD转换器42、特征提取模块43、匹配模块44以及音节打字机45的操作进行控制。
网络产生模块47根据由音节打字机45所捕获的音节序列中的子单词序列(音节序列)产生单词和音节的网络。也就是说,网络产生模块47产生在与紧接<OOV>之前的界限相对应的时间包含一音节的路径、不包含这一音节的一路径、在与紧接<OOV>之后的界限相对应的时间包含一音节的路径以及不包含这一音节的路径,这些路径将全部输出到匹配模块44。
现在参考图9的流程图来对根据本发明的对话处理进行说明。
在步骤S21,用户将语音输入到麦克风41,该麦克风41将该语音转换成电音频信号。在步骤S22,语音识别单元1执行语音识别处理。
现在参考图10对语音识别处理进行详细描述。在步骤S51,AD转换器42将麦克风41所产生的音频信号转换成数字音频,并且将其传送到特征提取模块43。
在步骤S52,特征抽取模块43接收来自AD转换器42的音频信号。随后,该处理转到步骤S53,在步骤S53特征提取模块43例如提取诸如频谱、功率及其时间变差这样的每个适当帧的特征参数,并且将其传送到匹配模块44。
在步骤S54,匹配模块44使存储在词典数据库52中的一些单词模块连接在一起,产生一单词序列。该单词序列包括未知单词的标记“<OOV>”以及记录在词典数据库52中的已知单词。现在参考图11对单词序列产生处理进行详细描述。
在步骤S81,匹配模块44计算关于输入语音的某持续时间的两类声音得分从输入语音与记录在词典数据库52中的已知单词的匹配所产生的声音得分以及根据输入语音(在这种情况下,“WA/TA/SHI/NO/NA/MA/E/WA/O/GA/WA/DE/SU”的部分)而从音节打字机45所接收到的声音得分。该声音得分表明就声音而言,该语音识别所产生的单词序列的候选者与输入语音有多么相象。
随后,从输入语音的部分与记录在词典数据库52中的已知单词相匹配所产生的声音得分与根据输入语音而从音节打字机45所接收到的声音得分进行比较。尽管一词一词地执行与已知单词的匹配,但是也可一个音节一个音节地执行通过音节打字机45的匹配。因为尺度不同,因此比较起来很困难。通常,音节的声音得分要大于单词的声音得分。因此,在步骤S82,匹配模块44对来自音节打字机45的声音得分进行校正以便以相同的尺度来比较这两个声音得分。
例如,将来自音节打字机45的声音得分乘以某个系数,或者从来自音节打字机45的声音得分中减去一预定值或与帧长度成比例的一值。如我们所看到的,因为该处理是相对的,因此可以校正来自与已知单词的匹配的声音得分。在EUROSPEECH99卷1、第49-52页所发表的“OOV-Detectingin Large Vocabulary System Using Automatically Defined Word-Fragments asFillers(大词汇系统利用自动定义的单词段作为填充符来进行OOV检测)”中详细描述了该处理。
在步骤S83,匹配模块44对两个声音得分进行比较,也就是说,匹配模块44确定由音节打字机45的识别所产生的声音得分是否大于(即,好于)另一得分。如果来自音节打字机45的声音得分大于另一得分,那么处理转到步骤S84,在该步骤S84中,匹配模块44确定非法词汇(out-of-vocabulary)<OOV>单词(未知单词)的跨度(span)。
如果在步骤S83确定来自音节打字机45的声音得分小于来自与已知单词的匹配的声音得分,那么处理转到步骤S86,在该步骤S86中匹配模块44确定到已知单词的跨度。
也就是说,例如,当来自音节打字机45的、关于与“O/GA/WA”相对应的跨度的声音得分大于来自与已知单词的匹配的声音得分时,输出单词“<OOV>(O/GA/WA)”以作为与该语音跨度相对应的单词。相反,如果来自与该已知单词的匹配的声音得分大于来自音节打字机45的声音得分,那么输出相应已知单词。
在步骤S85,匹配模块44根据一优先级产生被估计为具有很高声音得分的n个单词序列(该单词序列是若干个单词模型的连接)。
再次参考图10,在步骤S55,音节打字机45根据与步骤S54的处理相独立的音素来识别在步骤553的处理中所提取的特征参数,并且输出一音节序列。例如,当将其中的“OGAWA”是一未知单词的声音“WATASHINONAMAEWAOGAWADESU”输入到音节打字机45中时,音节打字机45输出一音节序列“WA/TA/SHI/NO/NA/MA/E/WA/O/GA/WA/DE/SU”。
在步骤S56,匹配模块44计算在步骤54中所产生的每个单词序列的声音得分。对于不具有<OOV>(未知单词)的单词序列而言,采用已知方法,也就是说,将声音的特征参数输入到每个单词序列(单词模型的连接)以计算相似性。另一方面,对于具有<OOV>的单词序列而言,已知方法不能计算与<OOV>相对应的声音跨度的声音得分,因为预先不存在与<OOV>相对应的单词模型。因此,从音节打字机的识别结果中提取该声音跨度的声音得分。对该声音得分进行校正以使用作<OOV>的声音得分,进一步将其与其他已知单词的声音得分进行积分。最后得分用作该单词序列的得分。
在步骤S57,匹配模块44从顶上提取m个具有高分的单词序列的候选者,其中m<n。在步骤S58,匹配模块44参考语言模型数据库53来计算每个候选者的语言得分。该语言得分表明就语言而言该候选单词序列是合适的。现在对计算该语言得分的方法进行详细描述。
为了根据本发明的语音识别单元1识别未知单词,语言模型必须支持未知单词。现在描述使用支持未知单词的语法或者有限自动机(FSA)的示例以及使用作为统计语言模型之一的三连词的示例。
参考图12对利用语法的示例进行描述。语法61存在于巴科斯-诺尔范式(BNF)中。在图12中,“$A”指一变量,“A|B”指A或者B。“[A]”指A是可选的。“{A}”指重复A零次或更多次。
<OOV>是未知单词的符号。语法中的定义<OOV>使得包含有未知单词的单词序列能够被处理。尽管图12中未定义“$ACTION”,但是定义了诸如“KIRITU”、“CHAKUSEKI”、“OJIGI”以及“AISATSU”这样的动作名字。
在语法61中,接受与存储在数据库中的语法相符的下列单词序列或利用该语法对其进行分析“<start>/KONNICHIWA/<end>”、“<start>/SAYOUNARA/<end>”以及“<start>/WATASHI/NO/NAMAE/WA/<OOV>/DESU/<end>”,其中“/”表示单词的分隔符。相反,不接受其与存储在数据库中的语法不相符的下列单词序列或不利用该语法对其进行分析“<start>/KIMI/NO/<OOV>/NAMAE/<end>”。“<start>”和“<end>”是分别表示一话语前后的无声的特殊符号。
为了通过利用这种语法来计算语言得分而引入了分析器。该分析器将单词序列分类成该语法接受的一单词序列组以及该语法不接受的一单词序列组。也就是说,例如,将语言得分1给予可接受的单词序列并且将语言得分0给予不可接受的单词序列。
因此,例如,将两个单词序列“<start>/WATASHI/NO/NAMAE/WA/<OOV>(TA/RO/U)/DESU/<end>”及“<start>/WATASHI/NO/NAMAE/WA/<OOV>(JI/RO/U)/DESU/<end>”变为“<start>/WATASHI/NO/NAMAE/WA/<OOV>/DESU/<end>”。计算该单词序列的语言得分并且为这两个单词序列输出语言得分1(即可接受的)。
另外,在将该语法转换等效的有限自动机(以下简称为“FSA”)或者近似FSA之后,FSA可以确定是否可为每个单词序列接受一单词序列语法。
图13示出将图12所示的语法转换等效FSA的一示例。FSA是包括有状态(节点)和路径(弧线)的一有向图。如图13所示,S1是初始状态并且S16是最终状态。实际上,如图12所示,将动作名字记录为“$ACTION”。
将一单词分配给一路径。当出现从预定状态转换到下一状态时,该路径将吞掉单词。被指定为“∈”的路径是其不吞掉单词的专用路径(以下简称为“∈转换”)。也就是说,例如,对于“<start>/WATASHI/WA/<OOV>DESU/<end>”而言,出现从初始状态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>”。
在“<start>/KIMI/NO/<OOV>/NAMAE/<end>”的情况下,出现从状态S1到状态S2的转换、从状态S2到状态S8的转换以及从状态S8到状态S9的转换并且吞掉“<start>”、“KIMI”以及“NO”。然而,不能出现后续转换,因此不能到达最终状态S16。因此,FSA不接受“<start>/KIMI/NO/<OOV>/NAMAE/<end>”。
现在参考图14来描述利用作为统计语言模型之一的三连词计算语言得分的一示例。在该统计语言模型中,发现单词序列的生成概率就是语言得分。也就是说,例如,由行2所示的单词序列的生成概率来表示图14所示语言模型71中的“<start>/WATASHI/NO/NAMAE/WA/<OOV>/DESU/<end>”的语言得分。这还可以由行3至行6所示的条件概率的乘积来表示。在这里,例如,在紧接“NO”之前的单词是“WATASHI”、紧接“WATASHINO”之前的单词是“<start>”的条件下,“P(NO|<start>WATASHI)”是“NO”的出现概率。
在该三连词中,图14中行3至6所示的等式约等于行7至行9所示的三个相邻单词的条件概率。参照图15所示的三连词数据库81而获得这些概率。通过预先对大量文本进行分析而实现该三连词数据库81。
在图15所示的示例中,示出三个连续单词w1、w2以及w3的概率P(w3|w1 w2)。例如,当三个单词w1、w2以及w3分别是“<start>”、“WATASHI”以及“NO”时,该概率是0.12。当三个单词w1、w2以及w3分别是“WATASHI”、“NO”以及“<end>”时,该概率是0.01。当三个单词w1、w2以及w3分别是“<OOV>”、“DESU”以及“<end>”时,该概率是0.87。
当然,还要预先得到“P(W)”以及“P(w2|w1)”。
如上所述,将<OOV>条目(entry)处理引入语言模型中能够计算包括<OOV>的单词序列的语言得分。因此,可以输出标记<OOV>以作为识别的结果。
另外,在其他语言模型的情况下,<OOV>条目处理能够计算包括有<OOV>的单词序列的语言得分。
此外,在不具有<OOV>条目的语言模型的情况下,将<OOV>映射到适当单词的机构能够计算语言得分。例如,当采用不具有“P(<OOV>|WATASHIWA)”的三连词数据库时,可以通过访问具有“P(OGAWA|WATASHIWA)”的数据库并且利用其概率而不是“P(<OOV>|WATASHIWA)”来计算“P(<OOV>|WATASHIWA)”的语言得分。
再次参考图10,在步骤S59,匹配模块44将声音得分与语言得分相结合。在步骤S60,匹配模块44根据在步骤S59所计算的相结合的得分来选择具有最好得分的单词序列的候选者之一并且将其输出。这是匹配模块44的识别结果。
在语言模型是一FSA的情况下,像步骤S59中的结合处理一样,可以根据语言得分是零还是非零来分别删除或者留下该单词序列。
再次参考图9,在步骤S22中执行了如上所述的语音识别之后,语音识别单元1的控制模块46在步骤S23确定所识别的单词序列是否包含未知单词。如果在步骤S23确定包含未知单词,那么网络产生模块47根据单词序列以及由音节打字机45所输出的音节序列所产生的于单词序列产生单词和子单词(例如音节)的网络。也就是说,产生包含在与紧接<OOV>之前的界限相对应的时间处的音节的路径、不包含该音节的路径、其包含在与紧接<OOV>之后的界限相对应的时间处的音节的路径以及不包含该音节的路径,并且将这些路经输出到匹配模块44。
在步骤S25,匹配模块44基于子单词序列以及网络产生模块47所提供的网络使用户的话语与该网络相匹配,其中该子单词序列就是音节打字机45所提供的音节序列。
图16是用于说明创建该网络的示意图。
例如,用户将语音“WATASHINONAMAEWAOGAWADESU”输入到麦克风41中,其中“OGAWA”是未知单词。匹配模块44根据所获得的声音得分与语言得分的结合得分来选择具有最好得分的单词序列的候选者,并将其输出。例如,如图16A所示,输出“<start>/WATASHI/NO/NAMAE/WA/<OOV>/DESU/<end>”以作为识别结果。同时,音节打字机45输出图16B所示的音节序列“WA/TA/NO/NA/MA/E/WA/O/GA/WA/DE/SU”。
在这种情况下,如图16A和16B所示,从匹配模块44的识别结果中所获得的单词序列的界限通常与从音节打字机45中所获得的音节序列的界限不相配。在图16A和16B情况下,该单词序列中的单词“WA”与单词“<OOV>”之间的界限与音节序列中的音节“WA”相对应。该单词序列中的单词“<OOV>”与单词“DESU”之间的界限与音节序列中的音节“WA”相对应(最后的“WA”)。因此,当单词序列中的单词“WA”与单词“<OOV>”之间的界限与音节序列中的音节“WA”不相配时,音节“WA”有时包含在单词“WA”之中,而有时包含在该单词序列中的单词“<OOV>”之中。
为了解决该问题,产生单词和音节的网络。也就是说,产生包含在与紧接<OOV>之前的界限相对应的时间处的音节的路径、不包含该音节的路径、包含在与紧接<OOV>之后的界限相对应的时间的音节的路径以及不包含该音节的路径。
例如,如图16B和16C所示,根据特征提取模块43所输出的时间信息的特征参数,由音节打字机45所定义的、与该子单词序列中的音节“WA”和音节“WA”(最后一个)的帧相对应的时间分别是t0和t1。该单词序列中的时间t2和t3分别与音节打字机所定义的时间t0和t1相对应。参考图16C,紧接“<OOV>”之前的单词“WA”与紧接“<OOV>”之后的单词“DESU”之间的持续期D是由音节“WA”、“O”、“GA”以及“WA”组成的,这些音节可能是与<OOV>读音相对应的音节。
如图16C所示,在该单词序列中的单词“WA”与单词“<OOV>”之间的界限上,产生不包含音节“WA”的路径91以及包含该音节“WA”的路径92和93。在该单词序列中的单词“<OOV>”与单词“DESU”之间的界限上,产生不包含音节“WA”的路径101以及包含音节“WA”的路径102和103。因此,无需确定子单词序列中的界限即可选择输入语音的最好网络上的子单词序列。
在图16的情况下,在使输入语音与单词和音节的网络相匹配之后,该网络产生下列四句子假设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,在步骤S26,匹配模块44用户的声音输入与网络之间的匹配结果来选择具有高分的路径(例如,图16中的路径91、102以及103)。在步骤S27,匹配模块44根据步骤S26所选网络上的路径(例如图16中的路径91、102以及103)以及音节打字机45所输出的子单词序列而获得与<OOV>(在图16所示的“O/GA/WA”的情况下)相对应的读音。
图17和18示出根据本发明的实验结果。该实验条件与图3中的实验条件相同,因此省略这些说明。
图17示出就音节序列的识别准确度、替代错误、删除错误以及插入错误百分比而言的性能。每个项目的详细说明与图4相同,因此省略了其说明。从图17的结果可以看出,识别准确度是48.5%,与通过子单词序列中<OOV>读音获取方法所获得的40.2%的识别准确度相比有所提高。删除错误和插入错误的出现概率分别是11.6%和8.0%。与用于获取子单词序列中的<OOV>读音的方法中的删除错误和插入错误为33.3%和4.1%相比,改善了这两个百分比的均衡,也就是说降低了这两个百分比之间的差。
图18示出根据本发明的一个人的话语中的各个<OOV>的部分识别结果的一示例。
如图18所示,在第一次识别中,将“KUROSAKI”识别为“KUROTACHI”,其中在“TA”和“CHI”中出现替代错误。在第二次识别中,出现删除错误“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,控制模块46在步骤S28对单词提取单元4进行控制以执行用于获取未知单词的单词获取处理。
参考图19对单词获取处理进行详细描述。在步骤S11,单词提取单元4从语音识别单元1中提取未知单词(<OOV>)的特征参数,尤其是提取时间信息的特征参数。在步骤S112,单词提取单元4确定未知单词是否属于现有的群。如果未知单词不属于现有的群,那么该单词提取单元4在步骤S113创建与未知单词相对应的一新群。此后,在步骤S114,单词提取单元4将未知单词所属群的ID输出到语音识别单元1的匹配模块44。
在步骤S112,如果未知单词属于现有群之一,那么单词提取单元4不必创建新的群,并且单词提取单元4跳转到步骤S113中的处理。该处理转到步骤S114,在其中单词提取单元4将未知单词所属的现有群的ID输出到匹配模块44。
关于每个未知单词执行图19中的处理。
再次参考图9,在步骤S28的单词获取处理之后,对话控制单元3在步骤S29确定在步骤S28所获得的单词序列是否与一模板相匹配。换句话说,在这些步骤中,确定所识别的单词序列是否需要对某个名称进行记录。随后,如果在步骤S29中所识别的单词序列与该模板相匹配,那么对话控制单元3在步骤S30控制关联存储器单元2以存储该名称的群ID以及其类别。
现在参考图20对模板的一示例进行描述,对话控制单元3利用该模板来进行匹配。在图20中,“/A/”指如果包含单词序列A,而“A|B”指A或者B。“.”指任何单个符号,而“A+”指A的一次或多次重复。“(.)+”指任意字符序列。
模板121表明如果所识别的单词序列与位于附图左栏的正规表达式相匹配,那么执行右栏中的相应操作。例如,如果所识别的单词序列是“<start>/WATASHI/NO/NAMAE/WA/<OOV>(O/GA/WA)/DESU/<end>”,那么由该识别结果“WATASHINONAMAEWA<OOV>DESU”所产生的字符序列与图20中的第二正规表达式相匹配。因此,执行“将与<OOV>相对应的ID记录为用户名”这样的相应操作。也就是说,如果如图5所示“<OOV>(O/GA/WA)”的群ID是“1”,那么将以群ID“1”命名的类别记录为“用户名”。
另外,例如,如果所识别的单词序列是“<start>/KIMI/NO/NAMAE/WA/<OOV>(A/I/BO)/DAYO/<end>”,那么由该识别结果所产生的字符序列“KIMINONAMAEWA<OOV>DAYO”与图20中的第一正规表达式相匹配。因此,如果“<OOV>(A/I/BO)”的群ID是“2”,那么将以群ID“2”命名的类别记录为“机器人名”。
有些对话系统只具有一类记录单词(例如只有“用户名”)。在这种情况下,可简化模板121和关联存储器单元2。例如,模板121包含“如果识别结果包含<OOV>,那么对<OOV>的ID进行记录”这样的操作,并且关联存储器单元2只存储群ID。
对话控制单元3使用记录到关联存储器单元2中的上述信息以对后续对话中的确定过程进行处理。例如,下列处理需要该对话系统确定用户话语是否包含机器人名称;确定如果该话语包含机器人名称,那么用户调用该对话系统;如果包含机器人名称那么送回一适当应答。
或者,下列处理需要该对话系统使机器人说出用户名。
在这些情况下,对话控制单元3可通过参考关联存储器单元2中的信息来获得机器人名称的单词(其类别名称是“机器人名称”的条目)或者用户名的单词(其类别名称是“用户名”的条目)。
另一方面,如果在步骤S23中识别结果不包含未知单词,或者在步骤S29中识别结果与该模板不相配,那么对话控制单元3在步骤S31产生对输入话语的应答。也就是说,不对一名称(未知话)进行记录并且对用户所输入的话语执行预定处理。
当一语法用作语言模型时,该语法可包含其与音节打字机的功能相对应的描述。图21示出在这种情况下该语法的一示例。在语法131中,第一行中的变量“$SYLLABLE”包含与“|”连在一起的所有音节,该“|”指的是“or”。因此,$SYLLABLE表示音节标记之一。变量“OOV”表示“$SYLLABLE”的零次或多次重复,即任何一个音节标记的零次或多次重复的连接。该描述起音节打字机的作用。因此,第三行中的“WA”与“DESU”之间的“$OOV”可接受任何读音。
在利用语法131的识别结果中,为“$OOV”输出多个标记。例如,“WATASHINONAMAEWAOGAWADESU”的识别结果是“<start>/WATASHINO/NAMAE/WA/O/GA/WA/DESU/<end>”。在将其变为“<start>/WATASHI/NO/NAMAE/WA/<OOV>(O/GA/WA)/DESU”之后,按照与音节打字机相同的方法可执行继步骤S23之后的处理。
在上述实施例中,将一类别记录为未知单词信息,然而,也可记录其他信息。另外,可以除去图9中的流程图的步骤S28。在这种情况下,在步骤S30,对话控制单元3控制关联存储器单元2以存储一对子单词序列和其相应类别。
此外,在上述实施例中,产生如图16C所示的音节和单词的网络,然而,所需的全部是使输入话语的似然性最大化的、最好网络上的子单词序列被选中。因此,使用除音节之外的、诸如音素及其他音韵单元这样的子单词和单词的网络。
图22示出用于执行上述处理的个人计算机150的结构。该个人计算机150包括一中央处理器(CPU)151。I/O接口155通过总线154而与CPU 151相连。只读存储器(ROM)152和随机存取存储器(RAM)153与总线154相连。
包含诸如用户操作的鼠标、键盘、麦克风和AD转换器这样的输入设备的输入单元157,以及包含诸如显示器、扩音器和DA转换器这样的输出设备的输出单元156与I/O接口155相连。同时,包含硬盘驱动器的、用于存储程序和各类数据的存储单元158以及用于通过诸如互联网这样的网络来传送数据的通信单元159与I/O接口155相连。
用于从诸如磁盘171、光盘172、光磁盘173以及半导体存储器174这样的存储介质中读取数据并且将数据写入到其上的可选驱动器160与I/O接口155相连。
使个人计算机150用作根据本发明的语音处理设备的语音处理程序存储在包含软盘的磁盘171、包含只读光盘存储器(CD-ROM)和数字化视频光盘(DVD)的光盘172、包含微磁盘(MD)的光磁盘173或者半导体存储器174中。将该存储介质中的语音处理程序提供给个人计算机150并且安装在存储单元158的硬盘驱动器中,同时通过驱动器160来读取。根据来自CPU 151的、与输入单元157所输入的用户命令相对应的一命令,将安装在存储单元158中的语音处理程序从存储单元158加载到RAM 153上以运行。
通过硬件或者软件来执行上述处理。在软件处理的情况下,通过网络或者存储介质将执行该软件处理的程序安装在装配在专用硬件或者通用个人计算机中的计算机中,该计算机在设置之后可执行各种程序。
参考图22,该存储介质不但包含被分发给用户以与设备主体分离地提供程序的、诸如磁盘171、光盘172、光磁盘173或者半导体存储器174这样的封装式记录媒体,而且包含用于存储该程序并且将其提供给用户和设备主体的ROM 152或者存储单元158中的硬盘。
在本说明书中,用于描述存储在存储介质中的程序的步骤不但包含在上述序列中所执行的处理,而且还包含与其并行或者独立执行的处理。
此外,如本说明书中所使用的,“系统”指的是多个设备的逻辑组合。这多个设备不必包含在一个机壳中。
工业实用性如上所述,根据本发明,以读音的形式来记录一单词。此外,在用户不知道记录模式的情况下也可执行该记录。此外,可从包含已知单词和未知单词的连续输入话语中提取未知单词、可恢复未知单词的读音、并且可靠的获得未知单词。其结果是,很容易地记录未知单词。此外,后续对话可使用所记录的单词。
另外,根据本发明,可提高语音识别的识别准确度。此外,可降低获取未知单词期间的删除错误,并且可平衡删除错误率与插入错误度。因此,用户很少认为包括有连续语音识别系统的机器人是非智能的。
权利要求
1.一种用于处理输入话语并且根据处理结果记录包含在输入话语中的单词的语音处理设备,包括识别装置,用于识别连续输入的话语;未知单词确定装置,用于确定识别装置的识别结果是否包括一未知单词;网络产生装置,如果未知单词确定装置确定识别装置的识别结果包括未知单词,那么该网络产生装置产生这样一网络,该网络具有包括在与未知单词两侧的单词界限相对应的时间处的子单词的路径以及不包括子单词的路径;获取装置,如果未知单词确定装置确定识别装置的识别结果包括未知单词,那么该获取装置获取与该未知单词相对应的单词;以及记录装置,对获取装置所获得的单词进行记录,同时使该单词与其他信息相关联。
2.根据权利要求1的语音处理设备,还包括用于确定识别结果是否与一预定模式相匹配的模式确定装置,其中,如果识别结果该预定模式相匹配,那么该记录装置记录该单词。
3.根据权利要求2的语音处理设备,还包括应答产生装置,当未知单词确定装置确定识别结果不包括一未知单词或者模式确定装置确定识别结果与预定模式不匹配时,该应答产生装置产生与所输入的话语相对应的应答。
4.根据权利要求2的语音处理设备,其中记录装置记录该单词,同时使该单词与用作其他信息的类别相关联。
5.根据权利要求2的语音处理设备,其中,如果模式确定装置确定识别结果与该模式相匹配,那么该记录装置还对其他信息进行记录,同时使其他信息与匹配模式相关联。
6.根据权利要求1的语音处理设备,其中获取装置通过群集未知单词而获得该单词。
7.根据权利要求1的语音处理设备,其中网络产生装置所产生的网络是单词和音节的网络。
8.根据权利要求7的语音处理设备,还包括选择装置,该选择装置根据输入话语与网络之间的匹配来在该网络中选择具有最高得分的路径;以及读音获取装置,该读音获取装置根据包括选择装置所选的路径的网络来获取未知单词的读音。
9.根据权利要求1的语音处理设备,还包括比较装置,用于将通过使输入话语的预定持续期与已知单词相匹配而获得的声音得分与通过音节打字机的识别而获得的声音得分进行比较,其中,如果通过音节打字机的识别所获得的声音得分优于另一个得分,那么该比较装置估计该持续期与一未知单词相对应。
10.根据权利要求9的语音处理设备,其中在比较装置对通过音节打字机的识别所获得的声音得分进行校正之后,该比较装置对通过使输入话语的预定持续期与已知单词相匹配而获得的声音得分与通过音节打字机的识别而获得的声音得分进行比较。
11.一种用于处理输入话语并且根据处理结果记录包含在输入话语中的单词的语音处理方法,包括步骤识别连续输入的话语;确定识别步骤的识别结果是否包括一未知单词;如果确定步骤确定识别结果包括未知单词,那么产生这样一网络,该网络具有包括在与未知单词两侧的单词界限相对应的时间处的子单词的路径以及不包括子单词的路径;如果确定步骤确定识别结果包括未知单词,那么获得与该未知单词相对应的单词;以及记录获取步骤所获得的单词,同时使该单词与其他信息相关联。
12.一种存储有计算机可读程序的存储介质,该程序在一语音处理设备中执行以对输入话语进行处理并根据处理结果记录包含在输入话语之中的单词,其中计算机可读程序执行步骤识别连续输入的话语;确定识别步骤的识别结果是否包括一未知单词;如果确定步骤确定识别结果包括未知单词,那么产生这样一网络,该网络具有包括在与未知单词两侧的单词界限相对应的时间处的子单词的路径以及不包括子单词的路径;如果确定步骤确定识别结果包括未知单词,那么获得与该未知单词相对应的单词;以及记录获取步骤所获得的单词,同时使该单词与其他信息相关联。
13.一种程序,该程序可使语音处理设备对输入话语进行处理并根据处理结果记录包含在输入话语之中的单词,其中该程序可使计算机执行步骤识别连续输入的话语;确定识别步骤的识别结果是否包括一未知单词;如果确定步骤确定识别结果包括未知单词,那么产生这样一网络,该网络具有包括在与未知单词两侧的单词界限相对应的时间处的子单词的路径以及不包括子单词的路径;如果确定步骤确定识别结果包括未知单词,那么获得与该未知单词相对应的单词;以及记录获取步骤所获得的单词,同时使该单词与其他信息相关联。
全文摘要
一种用于降低删除错误并提高语音识别率的语音处理设备和方法、存储介质以及程序。参考图16C,搭建单词和音节的网络以使得不包含音节“ha”的路径(91)、包含音节“ha”的路径(92)以及路径(93)在与单词“wa”和单词“<OOV>”之间的界限相对应的部分中产生,而不包含音节“ha”的路径(101)、包含音节“wa”的路径(102)以及路径(103)在与单词“<OOV>”和单词“desu”之间的界限相对应的部分中产生。这使得可为输入的话语选择该网络上的最佳子单词序列。本发明可应用于语音识别系统。
文档编号G10L15/00GK1692405SQ20038010030
公开日2005年11月2日 申请日期2003年11月12日 优先权日2002年11月21日
发明者小川浩明 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1