模式匹配方法和装置的制作方法

文档序号:2829337阅读:328来源:国知局
专利名称:模式匹配方法和装置的制作方法
技术领域
本发明涉及用于匹配音素序列的装置和方法。本发明用于响应用户的输入查询,搜索具有关联语音注释的数据文件的数据库。输入查询可以为语音查询或打字查询。
信息数据库是众所周知的,其问题是如何快速、有效地从数据库中定位并检索所需的信息。现有数据库搜索工具允许用户使用打字关键字来搜索数据库。虽然上述工具是快速有效的,但此类搜索并不适合不同类型的数据库,如视频或音频数据库。
近来,人们提议用音频和视频文件中语音内容的语音转录,为此类视频和音频数据库作注释,然后通过比较用户的输入查询的语音转录与数据库中的音素注释数据,实现检索。用于匹配音素序列的技术首先定义查询中的一组特征,将每个特征视为来自音素串的重叠的固定大小的碎片,然后标识各特征在查询和注释中的出现频率,最后通过使用上述出现频率的余弦度量,确定查询和注释之间的相似性度量。上述音素比较技术的一个优点在于能够处理以下情况,即查询词序不与注释词序完全匹配的情况。然而,其问题是容易出现错误,特别是当以不同速度说出查询和注释,并且如果从查询中删除了部分单词而并未从注释中删除单词时,反之亦然。
本发明的目的在于提供一种用于搜索数据库的选择系统。
根据一个方面,本发明提供一种特征比较装置,包括用于接收第一和第二特征序列的装置;使第一特征序列的特征和第二特征序列的特征一致以形成许多调整对的装置;用于比较各调整对的特征以生成比较得分的装置,比较得分表示调整对之间的相似性;以及组合所有调整对的比较得分以提供第一和第二特征序列之间的相似性度量的装置;其特征在于比较装置包括第一比较装置,对于每个调整对,比较调整对中第一特征序列的特征与预定特征集合中取得的众多特征的每个特征,以提供相对应的众多中间比较得分,比较得分表示所述第一特征序列的特征和来自所述集合的各特征之间的相似性;第二比较装置,对于每个调整对,比较调整对中第二特征序列的特征与来自该集合的所述众多特征的每个特征,以提供更多相对应的众多中间比较得分,比较得分表示所述第二特征序列的特征和来自该集合的各特征之间的相似性;以及通过组合所述众多中间比较得分计算调整对的所述比较得分的装置。此类系统的优点在于允许识别系统由于错误识别特征而改变第一和第二特征序列。
根据另一方面,本发明提供用于搜索数据库中的信息条目以标识需要从中检索的信息的装置,数据库中的每个条目包括一个语音特征序列,该装置包括用于接收输入查询的装置,输入查询包括一个语音特征序列;用于比较所述语音特征之查询序列与所述数据库之各语音特征序列以提供一组比较结果的装置;以及使用所述比较结果标识从所述数据库中检索的所述信息的装置;其特征在于,所述比较装置具有许多不同的比较操作模式,并且该装置还包括用于确定(i)语音特征的查询序列是否是从音频信号或文本生成的;用于确定(ii)当前数据库的语音特征序列是否是从音频信号或文本生成的,并用于输出确定结果的装置;以及为当前数据库序列,依据比较结果选择所述比较装置的操作模式的装置。最好当确定装置确定输入查询和注释均是根据语音生成的,比较装置起上述装置的作用。
根据另一方面,本发明提供搜索数据库以标识需要从中检索的信息的装置,其中数据库包括许多信息条目,所述许多信息条目中的每个条目具有一个关联注释,注释包括一个语音注释特征序列,该装置包括用于接收输入语音查询的许多音频解释的装置;用于将输入查询的每种解释转换为语音查询特征序列的装置,语音查询特征序列表示解释内的语音;用于比较每种解释的语音查询序列与每个注释的语音注释特征以提供一组比较结果的装置;用于组合通过比较每个解释的语音查询特征与同一注释的语音注释特征而获得的比较结果,为每个注释提供输入查询和注释之间的相似性度量的装置;以及使用所有注释的组合装置提供的相似性度量标识需要从所述数据库中检索的所述信息的装置。
根据另一方面,本发明提供特征比较装置,包括用于接收第一和第二查询特征序列的装置,每个序列表示输入查询的一种解释;用于接收注释特征序列的装置;用于使每个解释的查询特征与注释的注释特征一致以形成许多调整组的装置,每个调整组包括来自每个解释的一个查询特征和一个注释特征;用于比较各调整组的特征以生成比较得分的装置,比较得分表示调整组的特征之间的相似性;以及组合所有调整组的比较得分以提供输入查询的解释和注释之间的相似性度量的装置;其特征在于所述比较装置包括第一特征比较器,对于每个调整组,比较调整组中第一查询序列特征与预定特征集合中取得的众多特征的每个特征,以提供相对应的众多中间比较得分,比较得分表示所述第一查询序列特征和来自该集合的各特征之间的相似性;第二特征比较器,对于每个调整组,比较调整组中第二查询序列特征与来自该集合的所述众多特征的每个特征,以提供更多相对应的众多中间比较得分,比较得分表示所述第二查询序列特征和来自该集合的各特征之间的相似性;第三特征比较器,对于每个调整组,比较调整组中的注释特征与来自该集合的所述众多特征的每个特征,以提供更多相对应的众多中间比较得分,比较得分表示所述注释特征和来自该集合的各特征之间的相似性;以及通过组合所述众多中间比较得分计算调整组的所述比较得分的装置。
以下参照

图1至28说明本发明的示例性实施方式,在附图中图1是一个示意框图,表示利用用户打字输入或语音输入生成的注释数据为数据文件作注释的用户终端;图2是音素和字格注释数据的示意图,字格注释数据是为了给数据文件作注释而根据用户的打字输入生成的;图3是音素和字格注释数据的示意图,字格注释数据是为了给数据文件作注释而根据用户的语音输入生成的;图4是允许用户利用打字输入或语音查询从数据库中检索信息的用户终端的示意框图;图5a是一个流程图,表示图4所示的用户终端的控制流程的一部分;图5b是一个流程图,表示图4所示的用户终端的控制流程的剩余部分;图6a是一个示意图,表示基础统计模型,采用该模型生成查询和注释;图6b是一个示意图,表示代表打字输入的第一音素序列和代表用户语音输入的第二音素序列,该图表示相对于打字输入,用户之语音输入中的音素插入和删除的可能性;图6c是一个示意图,表示分别代表语音输入的第一和第二音素序列,以及代表正则音素序列的第三音素序列,正则音素序列与对应语音输入中实际说的音素序列相对应,该图表示相对于对应的正则音素序列,两种语音输入中的音素插入和删除的可能性;图7示意表示注释音素序列和查询音素序列创建的搜索空间,以及起始空节点和终止空节点;图8是一个二维图,水平轴用于注释音素,垂直轴用于查询音素,该图表示许多格点,每个格点与注释音素和查询音素之间的一个可能匹配相对应;图9a示意表示注释为打字输入并且根据语音输入生成查询时,动态规划匹配过程中采用的动态规划约束;图9b示意表示当查询为打字输入并且当注释为语音输入时,动态规划匹配过程中采用的动态规划约束;图10示意表示为示例音素存储的删除和译码概率;图11示意表示注释和查询均为语音输入时,动态规划匹配过程中采用的动态规划约束;图12是一个流程图,表示动态规划过程中执行的主要处理步骤;图13是一个流程图,表示通过从一个空的起点传播到所有可能起点而开始动态规划处理时采用的主要处理步骤;图14是一个流程图,表示为了将动态规划路径从起点传播到所有可能终点而采用的主要处理步骤;图15是一个流程图,表示将路径从终止节点传播到一个空的终止节点时采用的主要处理步骤;图16a是一个流程图,表示使用动态规划约束传播路径时执行的处理步骤的一部分;图16b是一个流程图,表示使用动态规划约束传播路径时包含的剩余处理步骤;图17是一个流程图,表示为了从起点到终点传播路径而确定跃迁得分时包含的处理步骤;图18a是一个流程图,表示为删除和译码注释和查询音素而计算得分时采用的处理步骤的一部分;图18b是一个流程图,表示为删除和译码注释和查询音素而计算得分时采用的剩余步骤;图19示意表示一个注释音素序列和两个查询音素序列创建的搜索空间,以及一个起始空节点和一个终止空节点;图20是一个流程图,表示通过从一个空的起始节点传播到所有可能起始节点而开始动态规划处理时采用的主要处理步骤;图21是一个流程图,表示为了将动态规划路径从起点传播到所有可能终点而采用的主要处理步骤;图22是一个流程图,表示将路径从终止节点传播到空的终止节点时采用的主要处理步骤;图23是一个流程图,表示使用动态规划约束传播路径时执行的处理步骤;图24是一个流程图,表示为了从起点到终点传播路径而确定跃迁得分时包含的处理步骤;图25a是一个流程图,表示为删除和译码注释和查询音素而计算得分时采用的处理步骤的第一部分;图25b是一个流程图,表示为删除和译码注释和查询音素而计算得分时采用的处理步骤的第二部分;图25c是一个流程图,表示为删除和译码注释和查询音素而计算得分时采用的处理步骤的第三部分;图25d是一个流程图,表示为删除和译码注释和查询音素而计算得分时采用的处理步骤的第四部分;图25e是一个流程图,表示为删除和译码注释和查询音素而计算得分时采用的剩余步骤;图26a示意表示备择实施方式,该实施方式为使查询与各注释一致而采用不同技术;图26b表示动态规划得分随图26a所示的实施方式中的查询与注释之比较结果的变化方式;图27是一个示意框图,表示响应输入语音查询从远程服务器上的数据中检索数据文件的备择用户终端的构成;以及图28表示允许用户响应输入语音查询从远程服务器上的数据库中检索数据的另一种用户终端。
可以使用专用硬件电路实现本发明的实施方式,但是本文使用计算机软件(即,代码)实现所述实施方式,其中计算机软件连同诸如个人计算机、工作站、影印机、传真机、个人数字助理(PDA)等一起运行。
数据文件注释图1表示用户终端59的组成,用户终端59允许用户通过键盘3或麦克风7输入打字或语音注释数据,以便为数据库29中存储的数据文件91作注释。在本实施方式中,数据文件91包括利用照相机生成的二维图像。用户终端59允许用户39利用适当注释给2D图像作注释,以便随后利用该注释从数据库29中检索2D图像。在本实施方式中,由语音转录部件75将打字输入转换为音素(或类似于音素)和字格注释数据,然后传送到控制部件55。图2表示为打字输入“pictureof Taj Mahal”生成的音素和字格注释数据。正如图2所示,音素和字格为具有一个入口和一个出口的有向无环图。它表示用户输入的不同语法分析。如图所示,语音转录部件75根据内部语音字典(未示出)识别许多不同的可能音素串,后者与打字输入相对应。
同样,自动语音识别部件51将语音输入转换为音素(或类似于音素)和字格注释数据,然后传送到控制部件55。自动语音识别部件51生成音素和字格注释数据,其方法是(i)生成输入发言的音素格;(ii)然后识别音素格内的单词;以及(iii)最后组合二者。图3表示为输入发言“picture of Taj Mahal”生成的音素和字格。如图所示,自动语音识别部件识别许多不同的可能音素串,后者与输入发言相对应。正如语音识别技术人员熟知的那样,不同可能性可以具有语音识别部件51生成的特有权重,权重表示语音识别部件之输出的置信度。然而,在本实施方式中,并不对音素进行加权处理。正如图3所示,将自动语音识别部件51在音素格内识别的单词,插入到音素格数据结构中。对于以上给定的示例短语,自动语音识别部件51识别单词“picture”、“of”、“off”、“the”、“other”、“ta”、“tar”、“jam”、“ah”、“hal”、“ha”和“al”。
如图3所示,自动语音识别部件51生成的音素和字格是一个具有一个入口和一个出口的有向无环图。它表示用户的输入注释发言不同语法分析。它并不仅仅是一个带有选择的单词序列,由于无需用一个选择替换每个单词,所以可以将一个单词替换为两个或多个单词或音素,并且整个结构能够形成一个或多个单词或音素的替换。因此,音素和字格注释数据内的数据密度在注释数据内基本上保持线性,而不会像在生成音频注释输入的N个最佳单词列表的系统中那样呈指数增长。
在本实施方式中,自动语音识别部件51或语音转录部件75生成的注释数据具有以下通式标题-标志,是否混合了单词或音素-时间索引,将存储器内注释数据块的位置关联到给定的时间点。
-使用的单词集(即,字典)-使用的音素集-词汇所属语言-音素概率数据块(i)i=0,1,2,......
节点Njj=0,1,2,......
-节点从块的起始的时间偏移-音素链表(k)k=0,1,2,......
节点Nj的偏移=Nk-Nj(Nk为链表K扩展到的节点)与链表(k)关联的音素-单词链表(l)l=0,1,2,……节点Nj的偏移=Ni-Nj(Nj为链表l扩展到的节点)与链表(l)关联的单词由于并非数据库内的所有数据文件均包含上述组合音素和字格注释数据,所以提供标志,后者标识注释数据是字注释数据,还是音素注释数据,抑或是混合数据,此时,将使用不同的搜索策略来搜索注释数据。
在本实施方式中,将注释数据划分为节点块,以便允许搜索跳到用于给定搜索的注释数据的中间位置。因此,标题包括一个时间索引,时间索引将存储器内注释数据块的位置,关联到起始时间和与块的开始相对应的时间之间的给定时间偏移。
标题还包括定义所用单词集(即,字典)、所有音素集及其概率以及词汇所属语言的数据。同时,标题可以包含用于生成注释数据的自动语音识别系统的详细信息,以及生成注释数据期间使用的任何适当设置。
标题之后是注释数据块,对于块内的每个节点,注释数据块标识该节点从块的起始的时间偏移,利用音素将该节点链接到其他节点的音素链表,以及利用单词将该节点链接到其他节点的单词链表。每个音素链表和单词链表标识与该链表关联的音素或单词。同时标识到当前节点的偏移。例如,如果利用音素链表将节点N50链接到节点N55,则到节点N50的偏移为5。正如本领域的技术人员理解的那样,通过使用上述偏移表示允许将连续注释数据划分为单独块。
在自动语音识别部件输出权重的实施方式中,该数据结构还包括权重或置信度得分,其中权重表示语音识别部件输出的置信度。具体而言,为各节点提供置信度得分,后者表示到达该节点的置信度,并且每个音素和单词链表将包含依赖于相应音素或单词之权重的跃迁得分。通过放弃具有较低置信度得分的匹配,使用上述权重控制数据文件的搜索和检索。
响应用户的输入,控制部件55从数据库29中检索适当的2D文件,然后将生成的音素和单词注释数据附加到数据文件91上。然后将经过扩充的数据文件返回到数据库29。在上述注释处理步骤中,控制部件55能够在显示器57上显示2D图像,从而用户确保该注释数据是与正确的数据文件91关联的。
正如下面详细说明的那样,使用上述音素和字格注释数据允许快速、有效地搜索数据库29,以标识并检索其内存储的所需2D图像数据文件。其实现方法为,首先使用单词数据搜索数据库29,如果该搜索不能提供所需的数据文件,则使用更鲁棒的音素数据执行进一步的搜索。正如语音识别领域内的本领域的技术人员理解的那样,通过使用音素数据更加鲁棒,因为音素是字典独立的,并且允许系统妥善处理词汇之外的单词,如姓名、地点、外来词等。同时,使用音素数据能够使该系统适应未来,因为当利用语音输入原始注释并且原始自动语音识别系统不能理解输入注释的单词时,也能检索数据库29中存储的数据文件。
数据文件检索图4是一个框图,表示本实施方式中使用的从数据库29中检索带注释的2D图像的用户终端59的组成。例如,用户终端59可以为个人计算机、手持设备等。如图所示,在本实施方式中,用户终端59包括带注释的2D图像数据库29,自动语音识别部件51,语音转录部件75,键盘3,麦克风7,搜索引擎53,控制部件55和显示器57。操作中,用户或者通过麦克风7输入语音查询,或者通过键盘3输入打字查询,然后或者通过自动语音识别部件51或者通过语音转录部件75处理该查询,以生成相应音素和单词数据。该数据可以采取音素和字格的形式,但并非必需。然后将音素和单词数据输入到可操作的控制部件55中,以便使用搜索引擎53初始化数据库29的适当搜索。然后将搜索引擎53生成的搜索结果传回到控制部件55,后者分析该搜索结果,生成并通过显示器57向用户显示适当的显示数据(如检索的2D图像)。
图5a和5b为流程图,表示用户终端59在本实施方式中的运行方式。在步骤S1中,用户终端59处于空闲状态并等待用户39的输入查询。当收到输入查询时,自动语音识别部件51或语音转录部件75在步骤S3中生成输入查询的音素和单词数据。然后在步骤S5中,控制部件55通知搜索引擎53使用根据输入查询生成的单词数据搜索数据库29。本实施方式中采用的单词搜索与打字单词搜索技术中采用的搜索方法相同,因此不再赘述。如果在步骤S7中,控制部件55根据搜索结果确定找到用户的输入查询的匹配,则通过显示器57向用户输出搜索结果。
在本实施方式中,用户终端59允许用户考虑该搜索结果,并等待用户确认该结果是否与用户要求的信息相对应。如果是用户要求的信息,则处理从步骤S11进行到该处理的结束,然后用户终端59返回到其空闲状态并等待下一个输入查询。然而,如果用户指示(例如,通过输入适当语音命令)该搜索结果与所需信息不一致,则该处理从步骤S11进行到步骤S13,在步骤S13中,搜索引擎53对数据库29进行音素搜索。然而,在本实施方式中,并不是在步骤S13中对整个数据库29执行音素搜索,因为取决于数据库的大小,该搜索可能需要几个小时。
在步骤S13中执行的音素搜索使用在步骤S5中执行的单词搜索的结果,确定可能与用户的输入查询相对应的数据库的一个或多个部分。例如,如果查询包括三个单词并且单词搜索仅能确定注释内的一个或两个查询单词,则对围绕所识别单词的注释部分进行音素搜索。稍后将详细说明本实施方式中实现的步骤S13中的音素搜索。
在执行音素搜索后,在步骤S15中,控制部件55确定是否找到匹配。如果找到匹配,则该处理进行到步骤S17,在步骤S17中,控制部件55在显示器57上向用户显示搜索结果。此外,该系统等待用户确认搜索结果是否与所需信息相对应。如果结果正确,则该处理从步骤S19进行到结束,并且用户终端59返回到空闲状态,等待下一个输入查询。然而,如果用户指示该搜索结果与所需信息不一致,则该处理从步骤S19进行到步骤S21,在步骤S21中,控制部件55能够通过显示器57询问用户是否对整个数据库29进行音素搜索。如果响应此查询,用户指示应执行此类搜索,则该处理进行到步骤S23,在步骤S23中,搜索引擎对整个数据库29执行音素搜索。
当完成此搜索时,在步骤S25中,控制部件55确定是否找到用户的输入查询的匹配。如果找到匹配,则该处理进行到步骤S27,在步骤S27中,控制部件55在显示器57上向用户显示搜索结果。如果搜索结果正确,则该处理从步骤S29进行到处理的结束,用户终端59返回到其空闲状态,等待下一个输入查询。另一方面,如果用户指示搜索结果仍然与所需信息不一致,则该处理转到步骤S31,在步骤S31中,控制部件55通过显示器57询问用户是否希望重新定义或修正搜索查询。如果用户希望重新定义或修正搜索查询,则该处理返回到步骤S3,在步骤S3中,以相同方式处理用户的后继输入查询。如果不需要希望重新定义或修正搜索查询,则放弃该搜索结果以及用户的初始输入查询,用户终端59返回到其空闲状态,等待下一个输入查询。
以上概述了用户终端59在本实施方式中执行搜索的方式。以下详细说明搜索引擎53音素搜索的方式,同时简要说明作为搜索策略之基础的动机。
作为分类问题的信息检索在经典分类情况中,必需将测试数据分类为K类中的一类。通过使用有关已知种类的其他数据的知识实现分类。分类问题假设有一个取值范围为1到K的“种类”随机变量。通过确定测试数据最可能属于的种类,查找最佳分类。假设训练数据是利用导致种类k的nk个数据的N次生成处理生成的,其中∑kk=1nk=N。利用n表示向量(n1,n2,…,nk),利用D表示训练数据,利用x表示测试数据,则经典分类问题是确定使以下概率取最大值的k的值P(k|x,D,n)=P(x|k,D,n)P(k|D,n)P(x|D)----(1)]]>分子上的第二项是种类的先验概率,出现频繁的种类其权重较高。在信息检索上下文中,每个种类具有单一训练数据(即,注释数据)。因此,对于信息检索,可以忽略上式右边的第二项。同样,也可以忽略分母,原因在于每个种类的P(x|D)均相同,因此仅仅归一化分母。所以,只需对上式的分子上的第一项进行排序,就能够对种类进行排序。换句话说,确定并排列所有种类的P(x|dk)次序,其中dk是种类k的训练数据。
在本实施方式中,测试数据x代表输入查询,种类k的训练数据(即,dk)代表第k个注释,并且假定存在图6a所示的生成查询和注释的基础统计模型(M)。在一般情况中,该模型有3个未知数模型结构m,通过该模型用于查询和注释的状态序列sq和sa,以及输出分布C。此时,我们知道输出分布,因为它体现根据输入语音生成音素串的语音识别系统的特性。正如下面说明的那样,通过将一个已知语音的较大数据库应用于语音识别系统,能够获得输出分布,并且以下称为混淆统计。因此,通过将状态序列和模型引入上述概率(并且变量q用于输入查询,变量a用于注释)得到P(q|a)=ΣmΣsaΣsqP(q|m,sq,sa,C,a)P(m,sq,sa|C,a)----(2)]]>通过使用贝叶斯方法展开,得到P(q|a)=ΣmΣsaΣsqP(q|m,sq,C)P(a|m,sa,C)P(sq|m,C)P(sa|m,C)P(m|C)ΣmΣsaΣsqP(a|m,sa,C)P(sa|m,C)P(m|C)----(3)]]>尽管上式看起来很复杂,但是可以使用标准动态规划算法来计算状态序列集合sq和sa的总和。另外,可以忽略分子和分母上的最后一项,因为可以假定每个模型是相等的,并且可以忽略状态序列项P(s|m,c),因为可以假定每个状态序列是相等的。此外,通过假定基础模型结构是一个大致具有查询长度的正则音素序列(经过插入),可以免除不同模型上的总和计算,尽管利用所有可能音素上总和代替,因为在一般情况中,模型的正则音素序列是未知的。因此,通过忽略状态序列总和,需要在动态规划算法内计算的分子上的项变为Σr=1NpP(ai|pr,C)P(qj|pr,C)P(pr|C)----(4)]]>分母上的项为Σr=1NpP(ai|pr,C)P(pr|C)----(5)]]>其中Np为系统已知的音素总数,ai、qj和pr分别为与正在计算的当前格点DP相对应的注释音素、查询音素和模型音素。通过比较公式(4)和(5)得到,分母上需要计算的概率项分子上也需要计算。因此,可以在同一动态规划例程内计算这些概率项。通过详细考虑所确定的概率,P(qj|pr,C)是在给定混淆统计的情况下将正则音素pr译码为查询音素qj的概率;P(ai|pr,C)是在给定混淆统计的情况下将正则音素pr译码为注释音素ai的概率;P(pr|C)是在给定混淆统计的情况下正则音素pr的无条件出现概率。
除上述概率项之外,在动态规划计算过程的每个点上,必需计算另一项,该项处理相对于模型的查询或注释中的插入和删除。正如本领域的技术人员理解的那样,查询中的插入或删除操作与注释中的插入或删除操作独立,反之亦然。因此,单独处理这些附加项。对于公式(5)中的归一化项,必需考虑相对于模型的注释内的插入和删除操作。
根据图4和图5的描述,本领域的技术人员可以理解,在本实施方式中,可以根据文本或语音导出注释音素数据和查询音素数据。因此,必需考虑四种情况i)注释和查询都是根据文本生成的;ii)注释是根据文本生成的但查询是根据语音生成的;iii)注释是根据语音生成的但查询是根据文本生成的;以及
iv)查询和注释都是根据语音生成的。
第一种情况最简单,无需花费时间压缩/展开注释或查询,并且只需利用各自音素序列的布尔比较实现注释和查询之间的比较。
在第二种情况中,推定注释是正确的,动态规划匹配允许在查询中插入和删除音素,以便查找二者之间的最佳匹配。为了说明此种情况,图6b表示注释音素序列(标记为a0,a1,a2…)和查询音素序列(标记为q0,q1,q2…)之间的可能匹配,其中注释音素是根据文本生成的。正如虚箭头所示,使注释音素a0与查询音素q0结盟,使注释音素a1与查询音素q2结盟,使注释音素a2与查询音素q3结盟,使注释音素a3与查询音素q3结盟,并且使注释音素a4与查询音素q4结盟。对于上述匹配中的每个匹配,动态规划例程计算公式(4)和(5)中的概率项。然而,此时上述公式可以简化,因为模型音素的正则序列是已知的(为注释音素)。具体而言,归一化项为1,因为注释为模型,并且分子简化为P(qi|aj,C)。除上述译码项之外,动态规划例程还计算相对于注释在查询中插入的音素(如查询音素q1)的有关插入和删除概率,以及相对于注释在查询中删除的音素的有关插入和删除概率(利用与两个注释音素a2和a3匹配的查询音素q3表示)。
上面提到的第三种情况与第二种情况类似,只是推定查询音素序P(K|x,D,n)=P(D|K,x,n)P(K|x,n)P(D|x)----(6)]]>列是正确的,并且动态规划匹配允许相对于查询在注释中插入和删除音素。然而,在该情况中,由于查询是已知的,所以不能使用公式(1)到(5)。因此,在该情况中,将公式(1)修订为正如公式(1)中的对应项那样,可以忽略分子和分母上的第二项。按照展开公式(1)的分子上的第一项的相同方式,展开公式(6)的分子上的第一项。然而,在该情况中,由于推定查询为模型,所以在动态规划例程中计算的归一化项简化为1,并且分子简化为P(ai|qj,C)。正如上面讨论的第二种情况那样,动态规划例程还计算相对于查询在注释中插入的音素的有关插入和删除概率,以及相对于查询在注释中删除的音素的有关插入和删除概率。
最后,在第四种情况中,注释和查询都是根据语音生成的,两个音素数据序列都可以具有相对于模型音素的未知正则序列的插入和删除操作,其中模型音素的未知正则序列代表实际说出的文本。图6c表示此种情况,该图表示注释音素序列(标记为ai,ai+1,ai+2…)、查询音素序列(标记为qj,qj+1,qj+2…)和音素序列(标记为pn,pn+1,pn+2…)之间的可能匹配,其中音素序列(pn,pn+1,pn+2…)代表查询和注释实际说出的正则音素序列。正如图6c所示,在该情况中,动态规划匹配技术必须提供相对于模型音素的正则序列在注释和查询中插入音素(用插入的音素ai+3和qj+1表示)以及从注释和查询中删除音素(用音素ai+1和qj+2表示,同时使这两个音素于正则音素序列中的两个音素结盟)。
正如本领域的技术人员理解的那样,通过在算法中引入模型音素序列,该算法更适合查询和注释中的发音变化。
上面概要说明了本实施方式通过匹配查询音素序列与注释音素序列而在数据库中执行信息检索的方式。为了进一步理解本实施方式的操作,以下简要说明标准动态规划算法,然后详细说明本实施方式中使用的特定算法。
DP搜索概述正如本领域的技术人员理解的那样,动态规划是查找特征序列(在本实施方式中为音素)之间的最佳匹配的一种技术。它通过同时传播许多动态规划路径进行查找,每条路径代表注释音素序列和查询音素序列之间的一个可能匹配。所有路径从一个起始空节点开始,然后传播直至到达一个终止空节点,其中起始空节点位于注释和查询的开始,终止空节点位于注释和查询的结束。图7和图8示意表示执行的匹配和路径传播。具体而言,图7表示一个直角坐标图,其水平轴用于注释,垂直轴用于查询。在左上角提供起始空节点φs,在右下角提供终止空节点φe。如图8所示,沿水平轴提供注释音素,沿垂直轴提供查询音素。同时,图8表示许多格点,每个格点代表注释音素和查询音素之间的一个可能匹配。例如,格点21代表注释音素a3和查询音素q1之间的一个可能匹配。同时,图8表示3条动态规划路径m1、m2和m3,这些路径表示代表注释和查询的音素序列之间的3个可能匹配,这些路径从起始空节点φs开始,通过格点传播到终止空节点φe。回到公式(2)和(3),上述动态规划路径表示以上讨论的不同状态序列sq和sa。
正如图7中的水平轴和垂直轴的不同长度表示的那样,输入查询无需包括注释的所有单词。例如,如果注释为“picture of the TajMahal”,则用户通过输入查询“Taj Mahal”就能够在数据库29中搜索该图片。在该情况中,最佳匹配路径通过顶部的水平轴,直至该查询开始匹配注释。然后开始通过格点到达较低的水平轴,并且在终点结束。在图7中用路径23表示。然而,正如本领域的技术人员理解的那样,查询中的单词的出现次序必须与注释中的单词的出现次序相同,否则动态规划匹配不起作用。
为了确定注释音素序列和查询音素序列之间的相似性,动态规划处理记录传播的每条动态规划路径的得分,得分依赖于沿该路径排列的音素的总体相似性。为了限制正在匹配的序列中的音素的删除和插入次数,动态规划处理对动态规划路径传播的方式施加某些限制。正如本领域的技术人员理解的那样,上述四种情况的动态规划约束互不相同。
DP约束注释和查询都是文本。
在查询音素数据和注释音素数据都是根据文本生成的情况中,动态规划匹配退化为两个音素序列之间的布尔匹配,并且不允许音素删除或插入操作。
注释是文本而查询是语音。
在注释音素数据是根据文本生成的而查询音素数据是根据语音生成的情况中,注释中不能有音素删除或插入,但是相对于注释,查询中可以有音素删除和插入。图9a表示本实施方式中使用的动态规划约束,其中注释是根据文本生成的而查询是根据语音生成的。如图所示,如果动态规划路径在格点(i,j)结束,则该动态规划路径能够传播到格点(i+1,j)、(i+1,j+1)和(i+1,j+2),其中(i,j)表示注释音素ai和查询音素qj之间的匹配。传播到点(i+1,j)表示与打字注释相比,从口头查询中删除一个音素的情况;传播到点(i+1,j+1)表示注释中的下一个音素和查询中的下一个音素之间有一个简单译码的情况;传播到点(i+1,j+2)表示与打字注释相比,在口头查询中插入音素qj+1,并且注释音素ai+1和查询音素qj+2之间存在译码的情况。
注释是语音而查询是文本。
在注释是根据语音生成的而查询是根据文本生成的情况中,查询中不能有音素插入或删除,但是相对于查询,注释中可以有插入和删除。图9b表示本实施方式中使用的动态规划约束,其中注释是根据语音生成的而查询是根据文本生成的。如图所示,如果动态规划路径在格点(i,j)结束,则该动态规划路径能够传播到格点(i,j+1)、(i+1,j+1)和(i+2,j+1),其中(i,j)表示注释音素ai和查询音素qj之间的匹配。传播到点(i,j+1)表示与打字查询相比,从口头注释中删除一个音素的情况;传播到点(i+1,j+1)表示注释中的下一个音素和查询中的下一个音素之间有一个简单译码的情况;传播到点(i+2,j+1)表示与打字查询相比,在口头注释中插入音素ai+1,并且注释音素ai+2和查询音素qj+1之间存在译码的情况。
注释是语音且查询也是语音。
在注释和查询都是根据语音生成的情况中,相对于另一方,可以在注释和查询中插入和删除音素。图11表示本实施方式中使用的动态规划约束,其中注释音素和查询音素都是根据语音生成的。具体而言,如果动态规划路径在格点(i,j)结束,则该动态规划路径能够传播到格点(i+1,j)、(i+2,j)、(i+3,j)、(i,j+1)、(i+1,j+1)、(i+2,j+1)、(i,j+2)、(i+1,j+2)和(i,j+3),其中(i,j)表示注释音素ai和查询音素qi之间的匹配。因此,上述传播允许相对于与实际说出的文本相对应的模型音素的未知正则序列,在注释和查询中插入和删除音素。
开始和结束DP约束在本实施方式中,动态规划匹配操作允许动态规划路径从任意注释音素开始和结束。因此,查询无需包含注释的所有单词,但是查询单词的出现次序必须与注释中的单词的出现次序相同。
DP得分传播如上所述,动态规划处理记录每条动态规划路径的得分,得分依赖于沿该路径排列的音素的相似性。因此,当将在点(i,j)结束的路径传播到其他点时,动态规划处理将此类处理的相应“耗费”添加到在点(i,j)结束的路径的累加得分中,在与该点关联的存储器(SCORE(i,j))中存储。正如本领域的技术人员理解的那样,此耗费包括上述插入概率、删除概率和译码概率。具体而言,当有插入时,将累加得分乘以插入给定音素的概率;当有删除时,将累加得分乘以删除该音素的概率;以及当有译码时,将累加得分乘以对两个音素进行译码的概率。
为了能够计算上述概率,该系统存储所有可能音素组合概率。在本实施方式中,以类似于译码的方式,处理注释或查询中的音素删除。只需把删除作为另一个音素来处理就能实现。因此,如果该系统了解43个音素,则该系统将存储1892(1892=43x44)个译码/删除概率,每个可能的音素译码和删除一个概率。图10表示此种情况,该图以概率方式表示为音素/ax/存储的可能音素译码,并且包括删除音素(φ)。正如本领域的技术人员理解的那样,给定音素的所有译码概率之和为1,因为不存在其他概率。除上述译码/删除概率之外,该系统还存储43个插入概率,每个可能音素插入一个概率。正如后面说明的那样,预先根据训练数据确定这些概率。
为了说明得分传播,现在考虑许多示例。在注释为文本但查询为语音的情况中,对于从点(i,j)传播到点(i+1,j+2)的路径,相对于注释插入音素qj+1,并利用注释音素ai+1对查询音素qj+2进行译码。因此,由下式提供传播到点(i+1,j+2)的得分S(i+1,j+2)=S(i,j)PI(qj+1|C)P(qj+2|ai+1,C) (7)其中PI(qj+1|C)为在口头查询中插入音素qi+1的概率,P(qi+2|ai+1,C)代表将注释音素ai+1译码为查询音素qj+2的概率。
当注释和查询都是根据语音生成的,并且从点(i,j)传播到点(i+2,j+1)时,相对于查询插入注释音素ai+1,并且注释音素ai+2和查询音素qj+1之间有一个译码。因此,由下式提供传播到点(i+2,j+1)的得分S(i+2,j+1)=s(i,j)PI(ai+1|C)Σr=1NpP(ai+2|pr,C)P(qj+1|pr,C)P(pr|C)----(8)]]>正如本领域的技术人员理解的那样,在上述路径传播期间,几条路径会在同一格点相遇。在本实施方式中,仅仅累加与相遇路径关联的得分。作为选择,可以比较这些得分,然后具有最高得分的路径继续,而放弃其他路径。然而,在本实施方式中上述处理并不是必要的,因为动态规划处理只对查找得分感兴趣,其中得分表示查询音素数据和注释音素数据之间的相似性。它并不对了解二者之间的最佳匹配感兴趣。
如果查询和注释都的根据语音生成的,则当所有路径传播到终止节点φe并且在确定查询和当前注释之间的相似性的总得分后,该系统使用DP处理期间累积的归一化项,对该得分进行归一化。然后,该系统以类似方式比较该查询与下一个注释。当该查询与所有注释匹配时,对注释的归一化得分进行排序,并且根据此排序,该系统向用户输出与输入查询最相似的注释。
DP搜索的详细说明以下详细说明匹配查询音素序列与注释音素序列时,执行动态规划搜索的方式。参照图12,在步骤S101中,该系统初始化动态规划得分。接着在步骤S103中,该系统将路径从空的起始节点(φs)传播到所有可能的起点。然后在步骤S105中,该系统通过使用上述动态规划约束,将动态规划路径从所有起点传播到所有可能的终点。最后在步骤S107中,该系统将在终点结束的路径传播到空的终止节点(φe)。
图13以更详细的方式表示步骤S103包含的处理步骤,步骤S103将动态规划路径从空的起始节点(φs)传播到所有可能的起点,其中由动态规划约束定义起点。一个约束是动态规划路径可以从任意注释音素开始,而定义查询音素序列中所允许之跳数的其他约束依赖于该查询是文本还是语音。具体而言,如果查询是根据文本生成的,则起点包括搜索空间中的第一行格点,即点(i,0),i=0到Nann-1;如果查询是根据语音生成的,则起点包括搜索空间中的前四行格点,即点(i,0)、(i,1)、(i,2)和(i,3),i=0到Nann-1。
以下参照图13所示的步骤说明实现上述处理的方式。如图所示,在步骤S111中,系统确定输入查询是否是文本查询。若是,则处理进行到步骤S113,在步骤S113中,系统将变量mx的值设置为1,当查询为文本时,该值定义查询音素序列中允许的最大“跳”数。然后该处理进行到步骤S115、S117和S119,这些步骤是可操作的,以便在搜索空间的第一行中的每个格点开始动态规划路径,其方法是将从空的起始节点转到格点(i,0)的跃迁得分,添加到与点(i,0)关联的得分(SCORE(i,0))中,i=0到Nann-1。当查询是文本时,在图12所示的步骤S103中结束处理,然后处理进行到步骤S105。
如果该系统在步骤S111中确定查询不是文本而是根据口头输入生成的,则该系统进行到步骤S121,在步骤S121中,将mx设置为mxhops,后者为一个常数,其值比动态规划约束允许的最大“跳”数大1。正如图9和图10所示,当查询是语音时,一条路径最多可以跳到沿查询音素序列方向三个音素之外的查询音素。因此,在本实施方式中,mxhops的值为4,并且将变量mx设置为4,如果查询中有四个以上的音素,否则,将mx设置为查询中的音素数。然后该处理进行到步骤S123、S1245、S127、S129和S131,这些步骤是可操作的,以便在搜索空间的前四行中的每个格点开始动态规划路径,其方法是将相应的跃迁概率添加到与相应格点关联的得分上。如果查询是根据口头输入生成的,则图12所示的步骤S103中结束处理,然后处理进行到步骤S105。
在本实施方式中,该系统在步骤S105中将动态规划路径从起点传播到终点,其方法是以诸如光栅之类的技术,逐列处理搜索空间中的格点。图14表示用来控制上述光栅处理操作的控制算法。在步骤S151中,该系统比较注释音素循环指针i与该注释中的音素数(Nann)。最初将注释音素循环指针i设置为0,该处理最初进行到步骤S153,在步骤S153中,类似比较查询音素循环指针j与查询中的音素总数(Nquery)。最初将循环指针j也设置为0,并且该处理进行到步骤S155,在步骤S155中,该系统通过使用上述动态规划约束传播在点(i,i)结束的路径。稍后会详细说明该系统在步骤S155中传播路径的方式。在步骤S155后,在步骤S157中将循环指针加1,然后该处理返回到步骤S153。在处理完查询中的所有音素后(从而处理当前一列格点后),该处理进行到步骤S159,在步骤S159中,将查询音素循环指针j复位到0,并且将注释音素循环指针i加1。接着,该处理返回到步骤S151,在步骤S151中,对下一列格点进行类似处理。在处理了最后一列格点后,该处理进行到步骤S161,在步骤S16中,将注释音素循环指针i复位到0,并且图12所示的步骤S105中的处理结束。
图15详细表示将位于终点的路径传播到终止空节点φe时,图12所示的步骤S107包含的处理步骤。正如从起始空节点φs开始传播一样,由动态规划约束定义作为“终点”的格点,动态规划约束取决于查询是文本还是语音。另外,在本实施方式中,动态规划约束允许动态规划路径在沿注释音素序列的任意点退出该注释。因此,如果查询为文本,则该系统允许在最后一行格点结束的动态规划路径传播到终止空节点φe,其中最后一行格点指点(i,Nquery-1),i=0到Nann-1。然而,如果查询是根据语音生成的,则该系统允许在最后四行格点中传播的路径传播到终止空节点φe,其中最后四行格点指点(i,Nquery-4)、(i,Nquery-3)、(i,Nquery-2)和(i,Nquery-1),i=0到Nann-1。
如图15所示,该过程从步骤S171开始,在步骤S171中,该系统确定查询是否是文本。若是,则该处理进行到步骤S173,在步骤S173中,将查询音素循环指针j设置为Nquery-1。接着,该处理进行到步骤S175,在步骤S175中,比较注释音素循环指针i与该注释中的音素数(Nann)。最初将注释音素循环指针i设置为0,从而处理进行到步骤S177,在步骤S177中,该系统计算从点(i,Nquery-1)到空的终止节点φe的跃迁得分。然后,组合该跃迁得分与SCORE(i,Nquery-1)中存储的在点(i,Nquery-1)结束的路径的累积得分。如上所述,在本实施方式中,跃迁和累积得分是基于概率的,并且通过乘以概率组合它们。然而,在本实施方式中,为了避免执行乘法并且为了避免使用高浮点精度,该系统使用跃迁和累积得分的对数概率。因此,在步骤S179中,该系统将在点(i,Nquery-1)结束的路径的累积得分添加到在步骤S177中计算的跃迁得分中,然后将其结果复制到临时存储器TEMPENDSCORE中。
如上所述,如果两个以上的动态规划路径在同一点相遇,则累加每条路径的累积得分。因此,由于使用对数概率,所以能够有效地将相遇路径关联的得分转换回概率值,进行累加,然后再转换为对数概率。在本实施方式中,此操作称为“对数加法”操作。这是一种公知技术,并且在以下著作中说明,书名“自动语音识别-(Sphinx)系统开发”,作者李开复,Kluwer Academic出版,1989,第28-29页。
由于从点(i,Nquery-1)传播到空的终止节点的路径会遇到其他动态规划路径,所以该系统对TEMPENDSCORE和终止节点中存储的得分(ENDSCORE)进行对数加法,并将结果存储到ENDSCORE中。接着该处理进行到步骤S183,在步骤S183中,将注释音素循环指针i加1。然后,该处理返回到步骤S175,在步骤S175中,对下一行格点中的下一个格点进行类似处理。在按上述方式处理了最后一行中的所有格点后,在图12所示的步骤S107中执行的处理结束。
如果该系统在步骤S171中确定该查询不是文本,则该处理进行到步骤S185,在步骤S185中,将查询音素循环指针j设置为查询中的音素数减mxhops,即Nquery-4。然后该处理进行到步骤S187,在步骤S187中,该系统检查注释音素循环指针i是否小于该注释中的音素数(Nann)。最初将注释音素循环指针i设置为0,从而该处理进行到步骤S189,在步骤S189中,该系统检查查询音素循环指针j是否小于查询中的音素数(Nquery)。最初成立,该处理进行到步骤S191,在步骤S191中,该系统计算从格点(i,j)到空的终止节点φe的跃迁得分。然后在步骤S193中,将该跃迁得分添加到在点(i,j)结束的路径的累积得分中,并将结果复制到临时存储器TEMPENDSCORE中。接着,该处理进行到步骤S195,在步骤S195中,该系统对TEMPENDSCORE和ENDSCORE进行对数加法,并将结果存储到ENDSCORE中。然后该处理进行到步骤S197,在步骤S197中,将查询音素循环指针j加1,然后该处理返回到步骤S189。重复上述处理步骤,直至增加后的查询音素循环指针j等于该查询中的音素数(Nquery)。然后该处理进行到步骤S199,在步骤S199中,将查询音素循环指针j复位为Nquery-4,并且将注释音素循环指针i加1。接着该处理返回到步骤S187。重复上述处理步骤,直至按上述方式处理了搜索空间的最后四行中的所有格点,此后在图12显示的步骤S107中执行的处理结束。
传播在图14所示步骤S155中,该系统通过使用上述动态规划约束传播在格点(i,j)结束的路径。图16是一个流程图,表示执行上述传播步骤时包含的处理步骤。如图所示,在步骤S211中,该系统设置两个变量mxi和mxj的值,并且初始化注释音素循环指针i2和查询音素循环指针j2。提供循环指针i2和j2的目的是遍历在点(i,j)结束的路径能够传播到的所有格点,变量mxi和mxj用于确保i2和j2只取动态规划约束允许的值。具体而言,将mxi设置为i+mxhops,如果i+mxhops小于等于注释中的音素数,否则,将mxi设置为注释中的音素数(Nann)。同样,将mxj设置为j+mxhops,如果j+mxhops小于等于查询中的音素数,否则,将mxj设置为查询中的音素数(Nquery)。最后在步骤S211中,该系统将注释音素循环指针i2初始化为等于注释音素循环指针i的当前值,将查询音素循环指针j2初始化为等于查询音素循环指针j的当前值。
由于该系统采用的动态规划约束依赖于注释和查询是文本还是语音,所以下一步骤确定注释和查询的生成方式。由判定块S213、S215和S217进行判定。如果注释和查询都是根据语音生成的,则在格点(i,j)结束的动态规划路径能够传播到图11所示的其他格点,并且处理步骤S219到S235运行,以便将该路径传播到其他格点。具体而言,在步骤S219中,该系统比较注释音素循环指针i2与变量mxi。由于在步骤S211中将注释音素循环指针i2设置为i,将mxi设置为i+4,所以该处理进行到步骤S221,在步骤S221中,以类似方式比较查询音素循环指针j2。接着该处理进行到步骤S223,该步骤确保路径不会停留在相同格点(i,j),原因在于最初i2等于i,j2等于j。因此,该处理最初进行到步骤S225,在步骤S225中将查询音素循环指针j2加1。
接着,该处理返回到步骤S221,在步骤S221中,比较已增加其值的j2与mxj。如果j2小于mxj,则该处理返回到步骤S223,然后该处理进行到步骤S227,步骤S227是可操作的,目的是避免沿注释音素和查询音素序列的跳数太大。实现方法为,确保只有在i2+j2小于i+j+mxhops时才传播路径。从而确保只处理图11所示的三角形点集。假设满足上述条件,则该处理进行到步骤S229,在步骤S229中,该系统计算从格点(i,j)到格点(i2,j2)的跃迁得分(TRANSCORE)。然后该处理进行到步骤S231,在步骤S231中,该系统将在步骤S229中确定的跃迁得分,添加到为点(i,j)存储的累积得分中,并复制到临时存储器TEMPSCORE中。如上所述,在本实施方式中,如果两条或多条动态规划路径在同一格点相遇,则累加与各条路径关联的累积得分。因此,在步骤S233中,该系统对TEMPSCORE和已经为格点(i2,j2)存储的累积得分进行对数加法,并且在SCORE(i2,j2)中存储其结果。然后该处理返回到步骤S225,在步骤S225中,将查询音素循环指针j2加1,然后该处理返回到步骤S221。如果查询音素循环指针j2等于mxj的值,则该处理进行到步骤S235,在步骤S235中,将查询音素循环指针j2复位为初始值j,并且将注释音素循环指针i2加1。然后,该处理进行到步骤S219,在步骤S219中,开始处理图11所示的下一列格点。在将该路径从点(i,j)传播到图11所示的所有其他点之后,处理结束。
如果判定块S213和S215确定注释为文本而查询为语音,则该处理进行到步骤S241到S251,这些步骤是可操作的,以便将在点(i,j)结束的路径传播到图9a所示的格点。具体而言,在步骤S241中,该系统确定注释音素循环指针i是否指向注释中的最后一个音素。若是,则注释中不再有音素,处理结束。如果注释音素循环指针i小于Nann-1,则该处理进行到步骤S243,在步骤S243中,比较查询音素循环指针j2与mxj。最初,j2小于mxj,因此该处理进行到步骤S245,在步骤S245中,该系统计算从点(i,j)到点(i+1,j2)的跃迁得分(TRANSCORE)。将该跃迁得分添加到与在点(i,j)结束的路径关联的累积得分中,并将结果复制到临时存储器TEMPSCORE中。然后在步骤S249中,该系统对TEMPSCORE和与点(i+1,j2)关联的累积得分进行对数加法,并且在SCORE(i+1,j2)中存储其结果,从而确保组合在格点(i+1,j2)相遇的路径的路径得分。接着该处理进行到步骤S251,在步骤S251中,将查询音素循环指针j2加1,然后该处理返回到步骤S243。将在点(i,j)结束的路径传播到图9a所示的其他点后,j2将等于mxj,在点(i,j)结束的路径的传播结束。
如果判定块S213和S217确定注释为语音而查询为文本,则该处理进行到图16b所示的步骤S255到S265,这些步骤是可操作的,以便将在点(i,j)结束的路径传播到图9b所示的其他格点。其实现方法为,首先在步骤S255中,检查查询音素循环指针j是否指向表示查询的音素序列中的最后一个音素。若不是,则该处理进行到步骤S257,在步骤S257中,比较注释音素循环指针i2与mxi。最初,i2等于mxi,并且假定注释音素i不在表示注释的音素序列的结束位置,该处理进行到步骤S259,在步骤S259中,计算从点(i,j)移动到点(i2,j+1)的跃迁得分。然后该处理进行到步骤S261,在步骤S261中,将该跃迁得分添加到在点(i,j)结束的路径的累积得分中,并将结果复制到临时存储器TEMPSCORE中。接着该处理进行到步骤S263,在步骤S263中,对TEMPSCORE和已经为点(i2,j+1)存储的累积得分进行对数加法,并且在SCORE(i2,j+1)中存储其结果。然后该处理进行到步骤S265,在步骤S265中,将注释音素循环指针i2加1,并且该处理返回到步骤S257。重复上述处理步骤,直至将在点(i,j)结束的路径传播到图9b所示的每一个其他格点。此时,结束在点(i,j)的路径的传播,处理结束。
最后,如果判定块S213和S215确定注释和查询均为文本,则该处理进行到图16b所示的步骤S271到S279,这些步骤是可操作的,以便将在点(i,j)结束的路径传播点(i+1,j+1),其前提是还有其他注释音素和其他查询音素。具体而言,在步骤S271中,该系统检查注释音素循环指针i是否指向最后一个注释音素。若不是,则该处理进行到步骤S273,在步骤S273中,相对于查询音素序列,以类似方式检查查询音素循环指针j。如果不再有注释音素或者如果不再有查询音素,则处理结束。然而,如果还有其他注释音素和其他查询音素,则该处理进行到步骤S275,在步骤S275中,该系统计算从点(i,j)到点(i+1,j+1)的跃迁得分。然后在步骤S277中,将该跃迁得分添加到为点(i,j)存储的累积得分中,并将结果存储到临时存储器TEMPSCORE中。接着该处理进行到步骤S279,在步骤S279中,该系统对TEMPSCORE和已经为点(i+1,j+1)存储的累积得分进行对数加法,并且在SCORE(i+1,j+1)中存储其结果。正如本领域的技术人员理解的那样,在本实施方式中步骤S277和S279是必需的,因为动态规划约束允许路径从表示注释的音素序列内的任意音素开始,因此,点(i+1,j+1)可能已经具有与其关联的得分。在步骤S279之后,结束点(i,j)的传播,并且处理结束。
跃迁得分在图12所示的步骤S103、S105和S107中,传播动态规划路径,并且在此传播期间,在步骤S127、S117、S177、S191、S229、S245、S259和S275中计算跃迁得分。在这些步骤中,该系统计算适当的插入概率、删除概率以及相对于跃迁之起点和终点的译码概率。以下参照图17和18说明本实施方式中实现的计算方式。
具体而言,图17是一个流程图,表示在计算从格点(i,j)传播到格点(i2,j2)的路径的跃迁得分时包含的一般处理步骤。在步骤S291中,对于在点(i,j)和点(i2,j2)之间插入的每个注释音素,该系统计算插入所插入音素的得分(即以上讨论的概率PI()的对数),并将该得分添加到适当存储器INSERTSCORE中。然后该处理进行到步骤S293,在步骤S293中,该系统以类似方式计算在点(i,j)和点(i2,j2)之间插入的每个查询音素的得分,并将其添加到INSERTSCORE中。请注意,如果(i,j)是起始空节点φs或者如果(i2,j2)是终止空节点φe,则该系统不计算所有插入的注释音素的插入概率(由于不惩罚从任意注释音素开始或结束路径),尽管计算所有插入的查询音素的插入概率。如上所述,计算的得分是基于对数的概率,因此,在INSERTSCORE中添加得分相当于乘以相应的插入概率。接着该处理进行到步骤S295,在步骤S295中,该系统计算从点(i,j)传播到点(i2,j2)时的删除和/或译码得分,累加这些得分,并存储在适当存储器DELSCORE中。然后该处理进行到步骤S297,在步骤S297中,该系统累加INSERTSCORE和DELSCORE,并将结果复制到TRANSCORE。
以下参照图18,详细说明步骤S295包含的确定从点(i,j)传播到点(i2,j2)时的删除和/或译码得分的处理。由于可能的删除和译码取决于注释是否是根据文本生成的以及查询是否是根据文本生成的,所以判定块S301、S303和S305确定注释是文本还是语音,以及查询是文本还是语音。如果这些判定块确定注释和查询均是文本,则没有删除操作,并且在步骤S307中利用布尔匹配对两个音素进行译码。如果注释音素ai2与查询音素qj2相同,则该处理进行到步骤S309,在步骤S309中,将TRANSCORE设置为log(1)(即,0),并且处理结束。然而,如果注释音素ai2与查询音素qj2不同,则该处理进行到步骤S311,在步骤S311中,将TRANSCORE设置为一个非常大的负数,即log(0),并且处理结束。
如果判定块S301和S305确定注释是语音而查询是文本,则通过使用以上讨论的公式(4)的简化形式确定跃迁得分。此时,该处理从步骤S303转到步骤S313,在步骤S313中,该系统确定注释循环指针i2是否等于注释循环指针i。若是,则意味着该路径已经从点(i,j)传播到点(i,j+1)。因此,已经相对于查询音素序列从注释音素序列中删除了查询音素qj+1。因此,在步骤S317中,该系统将删除音素qj+1的对数概率(即,logP(φ|qj+1,C)),复制到DELSCORE中,并且处理结束。如果在步骤S313中该系统确定i2不等于i,则该系统考虑将在点(i,j)结束的路径传播到点(i+1,j+1)、(i+2,j+1)或(i+3,j+1)之一。无论在哪种情况中,均不存在删除,注释音素ai2和查询音素qj+1之间只有插入和译码。因此,在步骤S315中,该系统将把查询音素qj+1译码为注释音素ai2的对数概率(即,logP(ai2|qj+1,C)),复制到DELSCORE中,并且处理结束。
如果判定块S301和S305确定注释是文本而查询是语音,则通过使用以上讨论的公式(4)的其他简化形式确定跃迁得分。此时,该处理从步骤S305转到步骤S319,在步骤S319中,该系统确定查询音素循环指针j2是否等于查询音素循环指针j。若是,则该系统计算从点(i,j)到点(i+1,j)的跃迁得分。此时,已经相对于注释音素序列从查询音素序列中删除了注释音素ai+1。因此,在步骤S321中,该系统确定并将删除注释音素ai+1的对数概率(即,logP(φ|ai+1,C)),复制到DELSCORE中,并且处理结束。如果在步骤S319中,该系统确定查询音素循环指针j2不等于查询音素循环指针j,则该系统确定从点(i,j)到点(i+1,j+1)、(i+1,j+2)或(i+1,j+3)之一的跃迁得分。此时,不存在删除,注释音素ai+1和查询音素qj2之间只有插入和译码。因此,在步骤S323中,该系统确定并将把注释音素ai+1译码为查询音素qj2的对数概率(即,logP(qi2|ai+1,C)),复制到DELSCORE中,并且处理结束。
如果判定块S301和S303确定注释和查询均是根据语音生成的,则通过使用以上公式(4)确定跃迁得分。此时,该处理从步骤S303转到步骤S325,在步骤S325中,该系统确定注释循环指针i2是否等于注释循环指针i。若是,则该处理进行到步骤S327,在步骤S327中,将音素循环指针r初始化为1。在计算公式(4)期间,音素指针r用于遍历系统已知的每个可能音素。然后该处理进行到步骤S329,在步骤S329中,该系统比较音素指针r与该系统已知的音素数Nphonemes(在本实施方式中等于43)。最初,在步骤S327中将r设置为1,因此该处理进行到步骤S331,在步骤S331中,该系统确定音素pr出现的对数概率(即,log P(pr|C)),并将其复制到临时存储器TEMPDELSCORE中。如果注释音素循环指针i2等于注释音素i,则该系统正在将在点(i,j)结束的路径传播到点(i,j+1)、(i,j+2)或(i,j+3)之一。因此,查询中有一个注释中没有的音素。从而在步骤S333中,该系统将从注释中删除音素pr的对数概率(即,log P(φ|pr,C)),添加到TEMPDELSCORE中。接着该处理进行到步骤S335,在步骤S335中,该系统将把音素pr译码为查询音素qj2的对数概率(即,logP(qi2|pr,C)),添加到TEMPDELSCORE中。然后该处理进行到步骤S337,在步骤S337中,对TEMPDELSCORE和DELSCORE执行对数加法,并将结果存储到DELSCORE中。接着该处理进行到步骤S339,在步骤S339中,将音素循环指针r加1,然后该处理返回到步骤S329,在步骤S329中,以类似方式处理该系统已知的下一个音素。在对该系统已知的43音素中的每个音素执行上述计算后,处理结束。
在步骤S325中,如果该系统确定i2不等于i,则该处理进行到步骤S341,在步骤S341中,该系统确定查询音素循环指针j2是否等于查询音素循环指针j。若是,则该处理进行到步骤S343,在步骤S343中,将音素循环指针r初始化为1。然后该处理进行到步骤S345,在步骤S345中,比较音素循环指针r与该系统已知的音素总数(Nphonemes)。最初在步骤S343中将r设置为1,因此该处理进行到步骤S347,在步骤S347中,该系统确定音素pr出现的对数概率,并将其复制到临时存储器TEMPDELSCORE中。接着,该处理进行到步骤S349,在步骤S349中,该系统确定把音素pr译码为注释音素ai2的对数概率,并将其添加到TEMPDELSCORE中。如果查询音素循环指针j2等于查询音素循环指针j,则该系统正在将在点(i,j)结束的路径传播到点(i+1,j)、(i+2,j)或(i+3,j)之一。因此,注释中有一个查询中没有的音素。从而在步骤S351中,该系统确定从查询中删除音素pr的对数概率,并将其添加到TEMPDELSCORE中。接着该处理进行到步骤S353,在步骤S353中,该系统对TEMPDELSCORE和DELSCORE执行对数加法,并将结果存储到DELSCORE中。然后在步骤S355中,将音素循环指针r加1,并且该处理返回到步骤S345。在对该系统已知的所有音素执行步骤S347到S353的处理后,处理结束。
在步骤S341中,如果该系统确定查询音素循环指针j2不等于查询音素循环指针j,则该处理进行到步骤S357,在步骤S357中,将音素循环指针r初始化为1。然后该处理进行到步骤S359,在步骤S359中,该系统比较音素计数器r与该系统已知的音素数(Nphonemes)。最初在步骤S357中将r设置为1,因此该处理进行到步骤S361,在步骤S361中,该系统确定音素pr出现的对数概率,并将其复制到临时存储器TEMPDELSCORE中。如果查询音素循环指针j2不等于查询音素循环指针j,则该系统正在将在点(i,j)结束的路径传播到点(i+1,j+1)、(i+1,j+2)和(i+2,j+1)之一。因此,没有删除,只有插入和译码。所以该处理进行到步骤S363,在步骤S363中,将把音素pr译码为注释音素ai2的对数概率,添加到TEMPDELSCORE中。然后该处理进行到步骤S365,在步骤S365中,确定把音素pr译码为查询音素qj2的对数概率,并添加到TEMPDELSCORE中。接着在步骤S367中,该系统对TEMPDELSCORE和DELSCORE执行对数加法,并将结果存储到DELSCORE中。然后在步骤S369中,将音素计数器r加1,并且该处理返回到步骤S359。在对该系统已知的所有音素执行步骤S361到S367的处理后,处理结束。
归一化动态规划处理的上述说明仅仅处理了公式(3)的分子部分。因此,在输入查询已经与数据库中的注释音素序列匹配后,必须通过归一化公式(3)的分母定义的项,归一化该匹配的得分(在ENDSCORE中存储)。如上所述,在计算分子时,即在上述动态规划例程中,计算分母。其原因在于,通过比较分子和分母可以发现,分母上的各项已经在分子上进行了计算。然而,请注意,如果注释或查询是根据文本生成的,则不执行归一化。在本实施方式中,执行归一化的目的在于使较长注释的权重不大于较短注释的权重,并且使包含常见音素的注释的权重不大于包含罕见音素的权重。通过利用一个依赖于该注释与基础模型匹配程度的项来归一化该得分,实现上述处理。
训练在上述实施方式中,该系统使用1892个译码/删除概率和43个插入概率(称为混淆统计),上述概率用于计算音素匹配操作中动态规划路径的得分。在本实施方式中,预先在训练期间确定上述概率,并存储在存储器(未示出)中。具体而言,在训练期间,以两种方式使用语音识别系统提供语音的音素译码。在第一种方式中,给语音识别系统提供语音和实际说出的单词。从而语音识别部件能够使用该信息生成所说单词的正则音素序列,以获得语音的理想译码。然后利用语音识别系统对相同语音进行译码,但此时并不使用实际说出的单词的知识(以下称为自由译码)。自由译码生成的音素序列与正则音素序列的区别在于i)自由译码会出现错误,并在译码中插入正则序列中未出现的音素,或者,在译码中遗漏正则序列中出现的音素;ii)可能混淆一个音素与另一个音素;以及iii)即使语音识别系统能够正确对该语音进行译码,自由译码仍然与正则译码不同,其原因在于交谈发音与正则发音之间的区别,例如,在交谈语言中,通常将单词“and”(其正则形式为/ae//n//d/和/ax//n//d/)缩减为/ax//n/,甚至缩减为/n/。
因此,如果将大量发言译码为其正则形式或其自由译码形式,则可以使用动态规划方法匹配二者。当音素应为p时,以上处理提供译码为d的计数。根据上述训练结果,可以按下述方式逼近以上译码、删除和插入概率。
由下式给出音素d是一个插入的概率PI(d|C)=Idnod----(9)]]>其中Id是自动语音识别系统插入音素d的次数,nod是相对于正则序列插入译码音素的总次数。
由下式给出将音素p译码为音素d的概率P(d|p,C)=cdpnp----(10)]]>其中cdp是音素为p时自动语音识别系统译码为d的次数,np是音素为p时自动语音识别系统译码为任意音素(包括删除)的次数。
由下式给出应该对音素p进行译码时未译码(即,删除)的概率P(Φ|p,C)=Opnp----(11)]]>其中Op是应该对p译码时自动语音识别系统未译码的次数,np同上。
第二实施方式在第一实施方式中,比较一个输入查询与许多存储的注释。在本实施方式中,比较两个输入的语音查询与存储的注释。本实施方式适合在噪声环境中进行输入查询的应用,或要求较高准确性的应用。并不适合查询为文本的情况,因为这使得其他查询是多余的。因此,该系统能够处理以下两种情况(i)输入查询是根据语音生成的并且注释也是根据语音生成的;以及(ii)输入查询是根据语音生成的但注释是根据文本生成的。
本实施方式使用的动态规划算法与第一实施方式中使用的算法类似,但使其适应同时匹配两个查询与注释。图19表示一个三维坐标图,其中给两个查询中的每个提供一维,给注释提供另一维。图19表示本实施方式的动态规划算法处理的三维格点。该算法使用第一实施方式中使用的相同跃迁得分、动态规划约束和混淆统计(即,音素概率),以便在图19所示的三维格点网络中传播路径,并计算每条路径的得分。
以下详细说明上述三维动态规划处理。通过比较图20至25与图13至18,本领域的技术人员可以理解,本质上,三维动态规划算法与第一实施方式中采用的二维动态规划算法是相同的,只是为了考虑额外查询,需要添加几个控制循环。
三维动态规划算法按照图12所示的所有步骤,比较两个查询与注释。图20详细表示步骤S103中包含的处理步骤,其中在步骤S103中,将动态规划路径从空的起始节点φs,传播到动态规划约束定义的所有可能起点。在这点上,约束指动态规划路径可以从任何一个注释音素开始,并且一条路径可以从每个查询的任何前四个音素开始。因此,参照图20,在步骤S401中,该系统将变量mxj和mxk的值设置为mxhops,后者与第一实施方式中使用的常数相同。因此,在本实施方式中,同时将mxj和mxk设置为4,前提是每个输入查询包含四个以上的音素。否则,将mxj和/或mxk设置为相应查询中的音素数。接着该处理进行到步骤S403到S417,这些步骤是可操作的,以开始位于点(i,j,k)的动态规划路径,其中i=0到Nann,j=1到3,k=0到3。从而结束图12所示的步骤S103中的处理,然后该处理进行到步骤S105,在步骤S105中,将上述动态规划路径传播到终点。
正如在第一实施方式中那样,在本实施方式中,该系统通过以光栅方式处理搜索空间中的格点,将动态规划路径从起点传播到终点。图21表示控制上述光栅处理操作所使用的控制算法。通过比较图21和图14可以看出,本控制算法与第一实施方式中使用的控制算法具有相同的通式。其唯一区别在于更复杂的传播步骤S419,以及提供查询块S421、S423和S425,以便处理第二输入查询引起的附加点。为了更好地理解图21所示控制算法的操作方式,请读者参考有关图14的说明。
图22以详细方式表示将位于终点的路径传播到终止空节点φe时,本实施方式使用的图12所示的步骤S107中的处理步骤。通过比较图22和图15可以看出,本实施方式中采用的步骤S107中的处理步骤,与第一实施方式中采用的相应处理步骤类似。其区别在于,更复杂的跃迁得分计算块443和附加块(S439、S441和S443),并且需要变量(k)以处理由于第二查询而引起的附加格点。因此,为了理解步骤S431到S449中包含的处理,请读者参考有关图15的说明。
图23是一个流程图,表示图21所示的传播步骤S419中包括的处理步骤。图16表示用于二维实施方式的相应流程图。通过比较图23和图16可以看出,两种实施方式之间的主要区别在于附加变量(mxk和k2)以及处理由于第二查询引起的附加格点所需要的处理块(S451、S453、S455和S457)。图23稍微复杂一些,因为两个查询必须为语音,因此该流程只有两个主要分支,一个用于注释为文本,另一个用于注释为语音。为了更好地理解图23所示的流程图包含的处理步骤,请读者参考有关图16的说明。
图24是一个流程图,表示在图23所示的处理步骤期间,计算从点(i,j,k)传播到(i2,j2,k2)的动态规划路径的跃迁得分时包含的处理步骤。图17表示用于二维实施方式的相应流程图。通过比较图24和图17可以看出,本实施方式与第一实施方式之间的主要区别在于附加处理步骤S461,该步骤用于第二查询中插入音素的插入概率。因此,为了更好地理解图24所示流程图中包含的处理步骤,请读者参考有关图17的说明。
以下参照图25详细说明图24的步骤S463包含的处理步骤,该步骤用于确定从点(i,j,k)到(i2,j2,k2)的路径传播的删除和/或译码得分。由于可能的删除和译码依赖于注释是根据文本还是根据语音生成的,所以判定块S501确定注释是文本还是语音。如果注释是根据文本生成的,则音素循环指针i2必须指向注释音素ai+1。接着该处理进行到步骤S503、S505和S507,这些步骤是可操作的,以确定第一和第二查询中是否有音素删除(相对于注释)。如果有音素删除,则j2等于j,k2等于k。
-如果j2不等于j并且k2不等于k,则相对于注释查询中没有删除,并且该处理进行到步骤S509,在步骤S509中,将把注释音素ai+1译码为第一查询音素qj2的对数概率,复制到DELSCORE中。然后该处理进行到步骤S511,在步骤S511中,将把注释音素ai+1译码为第二查询音素qk2的对数概率,添加到DELSCORE中。
-如果该系统确定j2不等于j但k2等于k,则该处理进行到步骤S513和S515,在步骤S513中,确定删除注释音素ai+1的概率,并复制到DELSCORE中,并且在步骤S515中,将把注释音素ai+1译码为第一查询音素qj2的对数概率,添加到DELSCORE中。
-如果该系统确定j2等于j并且k2等于k,则该处理进行到步骤S517和S519,在这些步骤中,该系统确定从第一和第二查询中删除注释音素ai+1的对数概率,并将其结果存储到DELSCORE中。
-如果该系统确定j2等于j但k2不等于k,则该处理进行到步骤S521和S523,这些步骤是可操作的,以便在步骤S521中,将删除注释音素ai+1的对数概率,复制到DELSCORE中,并且在步骤S523中,将把注释音素ai+1译码为第二查询音素qk2的对数概率,添加到DELSCORE中。
在步骤S501中,如果该系统确定注释是根据语音生成的,则该系统通过分别比较i2与i、j2与j以及k2与k,确定(在步骤S525到S537中)该注释或两个查询中是否有音素删除。正如图25b到25e所示,如果注释是根据语音生成的,则有8个主要分支,这些分支用于确定8种可能情况的适当译码和删除概率。由于在每种情况中执行的处理非常相似,所以仅给出一种情况的说明。
具体而言,在步骤S525、S527和S531中,如果该系统确定注释中有音素删除(因为i2=i)但两个查询中没有音素删除(因为j2≠j且k2≠k),则处理进行到步骤S541,在步骤S541中,将音素循环指针r初始化为1。在计算与第一实施方式中所述公式(4)类似的公式时,音素循环指针r用于遍历该系统已知的每个音素。接着,该处理进行到步骤S543,在步骤S543中,该系统比较音素指针r与该系统已知的音素数N phonemes(在本实施方式中等于43)。最初在步骤S541中将r设置为1。因此,该处理进行到步骤S545,在步骤S545中,该系统确定音素pr出现的对数概率,并将其复制到临时存储器TEMPDELSCORE中。然后,该处理进行到步骤S547,在步骤S547中,该系统确定在注释中删除音素pr的对数概率,并将其添加到TEMPDELSCORE中。接着该处理进行到步骤S549,在步骤S549中,该系统确定把音素pr译码为第一查询音素q1j2的对数概率,并将其添加到TEMPDELSCORE中。然后,该处理进行到步骤S551,在步骤S551中,该系统确定把音素pr译码为第二查询音素q2k2的对数概率,并将其添加到TEMPDELSCORE中。接着,该处理进行到步骤S553,在步骤S553中,该系统对TEMPDELSCORE和DELSCORE进行对数加法,并将结果存储到DELSCORE中。然后该处理进行到步骤S555,在步骤S555中,将音素指针r加1。接着该处理返回到步骤S543,在步骤S543中,对该系统已知的下一音素执行类似处理。在计算了该系统已知的43个音素后,处理结束。
如通过比较在图25中执行的处理步骤和在图18中执行的处理步骤可以看出,在用于译码和删除的动态规划算法内计算的概率项,类似于公式(4),但具有用于第二查询的附加概率项。具体而言,该算法具有以下形式Σr=0NpP(ai|pr,C)P(qj1|pr,C)P(qk2|pr,C)P(pr|C)----(12)]]>这正是我们期望的,因为两个查询是彼此条件独立的。
在将所有动态规划路径传播到终止节点φe后,利用第一实施方式中计算的相同归一化项(由公式(5)给出),归一化该匹配的总得分。这是因为归一化项仅仅依赖于注释模型的相似性。在匹配两个查询与所有注释后,对注释的归一化得分进行排序,然后基于此排序,该系统向用户输出注释或与输入查询最相似的注释。
在上述第二实施方式中,比较两个输入查询与存储的注释。正如本领域的技术人员理解的那样,可以使该算法适合任意数目的输入查询。正如在两个查询中说明的那样,添加其他查询只需在该算法中添加许多循环,以解决附加查询。然而,在比较三个以上的输入查询与所存储注释的实施方式中,必须采用使用剪枝的动态规划例程,以满足速度或存储约束。此时,只传播相遇路径的最佳得分,而不是累加所有路径的所有概率,并且终止较差得分的路径。
替代实施方式正如本领域的技术人员理解的那样,可以将用于匹配一个音素序列与另一个音素序列的技术,应用于除数据检索之外的其他应用。另外,正如本领域的技术人员理解的那样,尽管上述系统以音素和字格为单位使用音素,但是也可以使用其他诸如音素之类的单位,如音节或片假名(日文字母表)。
正如本领域的技术人员理解的那样,仅仅利用示例说明动态规划匹配和两个音素序列的匹配,并且可以做出各种变更。例如,虽然采用通过格点传播路径的光栅扫描技术,但是也可以采用通过格点逐步传播路径的其他技术。另外,正如本领域的技术人员理解的那样,可以使用除上述约束之外的其他动态规划约束来控制匹配处理。
在上述实施方式中,注释通常比查询长,并且动态规划匹配算法使查询与整个注释一致。在备择实施方式中,通过在每个步骤中使查询从头到尾越过注释,并且通过比较该查询和与该查询具有大致相同长度的注释部分,匹配算法也可以比较查询与注释。在此类实施方式中,在每个步骤中,通过使用与上述技术类似的动态规划技术,使该查询与注释的相应部分一致。图26a表示此种技术,该图表示将查询越过图26b表示的注释时,该查询与当前注释之间的匹配的动态规划得分的变化方式。图26b所示的图中的峰值代表与该查询最匹配的注释部分。通过比较在比较查询与各注释期间获得的峰值DP得分,确定与该查询最相似的注释。
在上述实施方式中,通过使用音素和字格注释数据给图片作注释。正如本领域的技术人员理解的那样,可以使用音素和字格数据给许多不同种类的数据文件作注释。例如,可以在医疗应用中使用此类注释数据,给病人的x射线、诸如NMR扫描之类的3D视频、超声扫描等作注释。也可以对诸如音频数据或地震数据之类的1D数据作注释。
在上述实施方式中,使用根据输入语音信号生成音素序列的语音识别系统。正如本领域的技术人员理解的那样,也可以与其他类型的语音识别系统一起使用上述系统,此类语音识别系统生成输出单词或字格序列,可以将该序列分解成具有选择的对应音素串,以便模拟生成音素串的识别程序。
在上述实施方式中,通过使用最大似然概率估计,根据语音识别系统的混淆统计,计算插入、删除和译码概率。正如本领域的技术人员理解的那样,也可以使用诸如最大熵之类的其他技术来估计上述概率。可以在Kluwer Academic出版的、作者为John Skilling、书名为“最大熵和贝叶斯方法”的著作的第45页到52页中,找到最大熵技术的详细说明,这里引用其内容作为参考。
在上述实施方式中,数据库29和自动语音识别部件51均位于用户终端59内。正如本领域的技术人员理解的那样,这并不是必须的。图27表示数据库29和搜索引擎53位于远程服务器60的实施方式,其中用户终端59通过通过网络接口部件67和69以及数据网络68(如因特网),访问数据库29。在本实施方式中,用户终端59只能接收来自麦克风7的语音查询。通过自动语音识别部件51,将这些查询转换为音素和单词数据。然后将这些数据传送到控制部件55,后者控制通过数据网络68到位于远程服务器60内的搜索引擎53的数据传输。然后搜索引擎53以在上述实施方式中执行搜索的方式,执行搜索。通过数据网络68,将搜索结果从搜索引擎53传回到控制部件55。接着控制部件55考虑从网络中接收的搜索结果,并在显示器57上显示适当数据供用户39查看。
除把数据库29和搜索引擎53设置在远程服务器60内之外,还可以把自动语音识别部件51设置在远程服务器60内。图28表示此类实施方式。如图所示,在本实施方式中,通过输入线路61,将来自用户的输入语音查询传送到语音编码部件73,后者能够对语音进行编码,以便通过数据网络68进行有效传输。将经过编码的数据传送到控制部件55,控制部件55通过网络68将该数据传送到远程服务器60,然后由自动语音识别部件51进行处理。接着,将语音识别部件51生成的输入查询的音素和单词数据,传送到搜索引擎53,以便在搜索数据库29时使用。通过网络接口69和网络68,将搜索引擎53生成的搜索结果,传回到用户终端59。然后通过网络接口部件67,将从远程服务器接收的搜索结果,传送到控制部件55,后者对该结果进行分析,生成并在显示器57上显示适当数据供用户39查看。
类似地,可以提供用户终端59,该终端仅允许来自用户的打字输入,并且具有搜索引擎,而数据库位于远程服务器中。在此类实施方式中,语音转录部件75也可以位于远程服务器60中。
在上述实施方式中,动态规划算法用于使查询音素序列与注释音素序列匹配。正如本领域的技术人员理解的那样,可以使用任何匹配技术。例如,可以使用自然技术,该技术以相同方式处理所有可能的匹配。然而,优先使用动态规划,因为很容易使用标准处理硬件实现该技术。
以上说明了使用动态规划技术比较两个或多个正则音素序列的方式。然而,正如图2和图3所示,最好以格点的方式存储注释。正如本领域的技术人员理解的那样,为了使上述比较技术对格点起作用,必须将格点定义的音素序列“扁平化”为一个没有分支的音素序列。实现上述处理的自然方法是标识以上格点定义的所有不同的可能音素序列,然后比较每个音素序列与各查询序列。然而,这并不是最佳方式,因为格点的公共部分要与每个查询序列比较许多次。因此,最好通过根据格点内每个音素的可用时戳信息,顺序标记格点内的每个音素,对格点进行“扁平化”处理。在动态规划匹配期间,在每个DP格点上使用互不相同的动态规划约束,以确保路径根据格点结构传播。
下表说明图2所示的部分音素格点使用的DP约束。具体而言,第一列表示为格点内的每个音素分配的音素好(p1到p9);第二列对应于格点中的实际音素;最后一列表示在下一个动态规划时间点时,在该音素结束的路径能够传播到的音素。尽管该图未示出,但是第二列包含该音素链接到的节点的详细信息,以及对应的音素链表。
例如,如果动态规划路径在按时间排序的音素p4结束,则该动态规划路径可以停留在音素p4,或者传播到任一按时间排序的音素p5到p11。正如从该表中看到的那样,在某些点,路径能够扩展到音素并不是按时间排序的音素序列连续排列的。例如,对于在按时间排序的音素p6结束的动态规划路径而言,该路径或者停留在该音素,或者传播到音素p10、p12、p15、p16。通过按上述方式对格点中的音素进行连续编号,并且通过依靠格点改变所使用动态规划约束,能够实现输入查询与注释格点之间的有效动态规划匹配。另外,正如本领域的技术人员理解的那样,如果输入查询也生成一个格点,则以类似方式对该格点进行 “扁平化”处理,并且相应调整动态规划约束。
在上述实施方式中,注释和查询使用相同的音素混淆概率。正如本领域的技术人员理解的那样,如果使用不同识别系统生成上述概率,在可以对注释和查询使用不同的音素混淆概率。原因在于混淆概率依赖于生成音素序列所使用的识别系统。
在上述实施方式中,如果注释或查询是根据文本生成的,则假定与键入字文本相对应的正则音素序列是正确的。实际情况并非如此,因为以上假设键入的单词没有拼写错误或输入错误。因此,在备择实施方式中,也可以对键入查询和/或注释使用混淆概率。换句话说,即使注释或者查询抑或二者均为文本,也要使用公式(4)和(12)。所使用的混淆概率试图将拼写错误和输入错误编成法典。正如本领域的技术人员理解的那样,用于输入错误的混淆概率依赖于所用的键盘的种类。具体而言,错误输入单词的混淆概率依赖于键盘的布局。例如,如果输入字母“d”,则字母“d”键周围的按键具有较高的错误输入概率,而远离“d”键的按键具有较低的错误输入概率。如上所述,可以与单词的拼写错误的混淆概率一起使用上述输入错误概率,或者用前者代替后者。通过分析大量用户输入的文档并监视通常出现的拼写错误的类型,确定拼写错误概率。拼写错误概率可以考虑输入错误引起的转录错误。在此类实施方式中,使用的动态规划约束应支持打字输入中的插入和/或删除。例如,可以使用图11所示的约束。
另一种选择是该文本是否是利用每个按键分配了多个字母的键盘(如移动电话的键盘)输入的,此时用户必须重复按某个按键以转到分配给该按键的字母。在此类实施方式中,可以调整混淆概率,以便作为输入字母而分配给同一按键的字母,比与其他按键关联的字母的错误输入混淆概率要高。正如使用移动电话发送文本信息的人员能够理解的那样,由于在输入所需字母时的按键次数不正确,所以经常出现输入错误。
在上述实施方式中,控制部件使用公式(4)或(12)来计算各跃迁的译码得分。除根据上述公式计算该系统已知的所有可能音素的总和之外,还可以将控制部件调整为,确定使以上总和内之概率项取最大值的未知音素pr,然后使用最大概率作为注释和查询之对应音素的译码概率。然而,此方式并不是最佳方式,因为它需要附加计算来确定使上述总和内的概率项取最大值的音素(pr)。
在第一实施方式中,在动态规划算法中,为每个调整音素对计算公式(4)。在计算公式(4)时,与系统已知的每个音素比较注释音素和查询音素。正如本领域的技术人员理解的那样,对于给定的注释音素和查询音素对,公式(4)中的许多概率等于或近似等于零。因此,在备择实施方式中,只比较所有已知音素的子集,该子集是预先根据混淆统计确定的。为了实现此类实施方式,可以使用注释音素和查询音素构建一个查找表,后者标识使用公式(4)时需要与注释和查询音素进行比较的模型音素。
在上述实施方式中,被调整并且匹配注释和查询特征代表语音单位。正如本领域的技术人员理解的那样,也可以在由于生成特征序列的识别系统之误差而造成查询和注释特征混淆的其他应用中,使用上述技术。例如,可以在光学字符或手写识别系统中使用以上技术,其中在光学字符或手写识别系统中,识别系统有可能将一个输入字符误认为另一个字符。
以上说明了许多实施方式和修改。正如本领域的技术人员理解的那样,显然还有许多其他实施方式和修改。
权利要求
1.一种特征比较装置,包括用于接收第一和第二特征序列的装置;使第一特征序列的特征和第二特征序列的特征相对准以形成多个对准的特征对的装置;用于比较各对准的特征对的特征以生成一个比较得分的装置,该比较得分表示对准的特征对之间的相似性;以及用于结合所有对准的特征对的比较得分以提供第一和第二特征序列之间的一个相似性度量的装置;其特征在于所述比较装置包括第一比较装置,用于对于每个对准的特征对对对准的特征对中第一特征序列的特征与预定特征集合中取得的多个特征的每个特征进行比较,以提供相对应的多个中间比较得分,这些中间比较得分表示所述第一特征序列的特征和来自所述集合的各特征之间的相似性;第二比较装置,用于对于每个对准的特征对对对准的特征对中第二特征序列的特征与来自该集合的所述多个特征的每个特征进行比较,以提供进一步的相对应的多个中间比较得分,这些中间比较得分表示所述第二特征序列的特征和来自该集合的各特征之间的相似性;以及通过结合所述多个中间比较得分而计算对准的特征对的所述比较得分的装置。
2.根据权利要求1的装置,其中所述第一和第二比较装置用于分别比较第一特征序列的特征和第二特征序列的特征与所述预定特征集合中的每个特征。
3.根据权利要求1或2的装置,其中所述比较装置用于生成对准的特征对的比较得分,该得分表示将对准的特征对的第二特征序列的特征混为对准的特征对的第一特征序列的特征的概率。
4.根据权利要求3的装置,其中所述第一和第二比较装置用于提供中间比较得分,该得分表示把从预定特征集合中取得的相应特征混为对准的特征对中的特征的概率。
5.根据权利要求4的装置,其中所述计算装置用于(i)将比较对准的特征对中的第一和第二特征序列的特征与该集合中的同一特征时获得的中间得分,进行相乘,以提供多个经过相乘的中间比较得分;以及(ii)累加以上生成的经过相乘的中间得分,以计算对准的特征对的所述比较得分。
6.根据权利要求5的装置,其中所述预定特征集合中的每个所述特征具有在特征序列内出现的预定概率,并且所述计算装置是可操作的,以便利用该集合中特征的出现概率计算每个所述经过相乘的中间比较得分的权重,以上集合用于生成经过相乘的中间比较得分。
7.根据权利要求6的装置,其中所述计算装置能够计算Σr=1nP(qj|pr)P(ai|pr)P(pr)]]>其中qj和ai分别是第一和第二特征序列的特征的对准的特征对;P(qj|pr)为把集合特征pr混为第一特征序列的特征qj的概率;P(ai|pr)为把集合特征pr混为第二特征序列的特征ai的概率;以及P(pr)表示集合特征pr在特征序列中的出现概率。
8.根据权利要求7的装置,其中第一和第二特征序列的特征的混淆概率是预先定义的,并且依赖于分别生成第一和第二序列的识别系统。
9.根据权利要求5到8中的任何一个的装置,其中所述中间得分表示对数概率,所述计算装置能够通过累加相应的中间得分执行所述乘法,并且能够通过执行对数加法计算,执行所述经过相乘的得分的所述加法。
10.根据权利要求9的装置,其中所述结合装置能够累加所有对准的特征对的比较得分,以确定所述相似性度量。
11.根据任意前述权利要求的装置,其中所述调整装置能够标识所述第一和第二特征序列中的特征删除和插入,所述比较装置能够依靠所述调整装置标识的特征删除和插入,生成调整特征对的所述比较得分,特征删除和插入出现在对准的特征对中特征的附近。
12.根据任意前述权利要求的装置,其中所述调整装置包括动态规划装置,该装置使用动态规划技术调整所述第一和第二特征序列。
13.根据权利要求12的装置,其中所述动态规划装置能够逐渐确定所述第一和第二特征序列之间的多个可能调整,所述比较装置能够确定所述动态规划装置确定的每个可能调整特征对的比较得分。
14.根据权利要求13的装置,其中所述比较装置能够在逐渐确定所述可能调整期间,生成所述比较得分。
15.根据权利要求12、13或14的装置,其中所述动态规划装置能够确定所述第一和第二特征序列之间的最佳调整,所述结合装置能够通过仅仅结合最佳调整特征对的比较得分,提供所述相似性度量。
16.根据权利要求13或14的装置,其中所述结合装置能够通过结合所有可能的调整特征对的所有比较得分,提供所述相似性度量。
17.根据任意前述权利要求的装置,其中所述第一和第二特征序列中的每个特征均属于所述预定特征集合,所述第一和第二比较装置能够使用预定数据提供所述中间得分,预定数据使所述集合中的特征相互关联。
18.根据权利要求17的装置,其中所述第一比较装置使用的预定数据依赖于生成第一特征序列的系统,所述第二比较装置使用的预定数据与所述第一比较装置使用的预定数据不同,并且依赖于生成第二特征序列的系统。
19.根据权利要求17或18的装置,其中每个预定数据包括,对于特征集合中的每个特征,把该特征混为特征集合的每个其他特征的概率。
20.根据权利要求19的装置,其中每个预定数据还包括,对于特征集合中的每个特征,在特征序列中插入特征的概率。
21.根据权利要求19或20的装置,其中每个预定数据还包括,对于特征集合中的每个特征,从特征序列中删除特征的概率。
22.根据任意前述权利要求的装置,其中所述第一和第二特征序列表示时间连续信号。
23.根据任意前述权利要求的装置,其中所述第一和第二特征序列表示音频信号。
24.根据权利要求23的装置,其中所述第一和第二特征序列表示文本和/或语音。
25.根据权利要求24的装置,其中每个所述特征表示文本或语音的一个亚单词部分。
26.根据权利要求25的装置,其中每个所述特征表示一个音素。
27.根据任意前述权利要求的装置,其中所述第一特征序列包括,根据打字输入生成的多个亚单词部分,所述第一比较装置能够使用输入错误概率和/或拼写错误概率来提供所述中间比较得分。
28.根据任意前述权利要求的装置,其中所述第二特征序列包括,根据口头输入生成的多个亚单词部分序列,所述第二比较装置能够使用错误识别概率来提供所述中间得分。
29.根据任意前述权利要求的装置,其中所述接收装置能够接收三个或多个特征序列;其中所述调整装置能够调整接收的每个特征序列的特征,以形成多个调整特征组;所述比较装置能够比较各调整特征组内的特征,以生成一个比较得分,该得分表示所述调整特征组之间的相似性;以及所述结合装置能够结合所有调整特征组的比较得分,以提供三个或多个特征序列之间的相似性度量。
30.根据权利要求29的装置,其中所述调整装置能够同时相互调整特征序列。
31.根据任意前述权利要求的装置,其中所述接收装置能够接收多个第二特征序列;所述调整装置能够调整所述第一特征序列与每个所述第二特征序列,以形成每个调整的多个调整特征对;所述结合装置能够结合各调整的比较得分,以提供第一特征序列和所述多个第二特征序列之间的各相似性度量。
32.根据权利要求31的装置还包括,用于比较所述结合装置输出的所述多个相似性度量的装置,以及用于输出表示与所述第一特征序列最相似的第二特征序列的信号的装置。
33.根据权利要求31或32的装置,其中所述结合装置包括对每个所述相似性度量进行归一化的归一化装置。
34.根据权利要求33的装置,其中所述归一化装置能够通过利用各自的归一化得分划分各相似性度量,归一化各相似性度量,各自的归一化得分依据相应的第二特征序列的长度而变化。
35.根据权利要求34的装置,其中各自的归一化得分依据相应的第二特征序列中的特征序列而变化。
36.根据权利要求34或35的装置,其中所述各自的归一化得分随所述第二比较装置计算的相应中间得分而变化。
37.根据权利要求33到36中的任何一个的装置,其中所述调整装置包括动态规划装置,该装置利用动态规划技术调整所述第一和第二特征序列,在逐渐计算所述可能调整时,所述归一化装置能够利用所述动态规划装置计算各归一化得分。
38.根据权利要求37的装置,其中所述归一化装置能够计算每个Σr=1nP(ai|pr)P(pr)]]>可能调整特征对的以下值其中P(ai|pr)表示将特征pr混为第二特征序列ai的概率,P(pr)表示集合特征pr在特征序列中的出现概率。
39.根据权利要求37的装置,其中所述归一化装置能够通过乘以为相应的调整特征对计算的归一化项,计算所述相应的归一化得分。
40.一种用于搜索一个数据库以标识需要从中检索的信息的装置,其中该数据库包括多个信息条目,所述多个信息条目中的每个条目都具有一个关联注释,该关联注释包括一个注释特征序列,该装置包括用于接收输入语音查询的多个解释的装置;用于将该输入查询的每种解释转换为表示该解释的一个查询特征序列的装置;用于把每种解释的查询序列与每个注释的注释特征相比较以提供一组比较结果的装置;用于结合通过把每个解释的查询特征与同一注释的注释特征相比较而获得的比较结果从而为每个注释提供对该输入查询和该注释之间的相似性的一种度量的装置;以及用于利用结合装置提供的所有注释的相似性度量来标识需要从所述数据库中检索的所述信息的装置。
41.根据权利要求40的装置,其中所述比较装置能够同时比较每个解释的查询特征与当前注释的注释特征。
42.根据权利要求40或41的装置,其中所述比较装置包括使每个解释的查询特征与当前注释的注释特征一致以形成多个调整特征组的装置,每个调整特征组包括来自每个注释的一个查询特征和一个注释特征;一个特征比较器,比较每个调整特征组的特征,以便生成表示调整组的特征之间的相似性的比较得分;以及其中所述结合装置能够结合当前注释的所有调整特征组的比较得分,以提供输入查询和当前注释之间的所述相似性度量。
43.根据权利要求42的装置,其中所述特征比较器包括调整组中每个特征的相应特征比较装置,用于比较组特征与从预定特征集合中取得的多个特征的每个特征,以提供相应的多个中间比较得分,该得分表示所述组特征与该集合中相应特征之间的相似性;以及通过结合相应特征比较装置生成的多个中间比较得分,计算调整组的所述比较得分的装置。
44.根据权利要求40到43中的任何一个的装置,其中所述注释的某些注释或所有注释的语音注释特征序列,是根据音频注释信号生成的。
45.根据权利要求40到44中的任何一个的装置,其中所述注释的某些注释或所有注释的语音注释特征序列,是根据文本注释生成的。
46.根据权利要求40到45中的任何一个的装置,其中所述转换装置包括一个语音识别系统。
47.根据权利要求40到46中的任何一个的装置,其中所述信息条目的一个或多个条目是关联注释。
48.一种用于搜索一个数据库以标识需要从中检索的信息的装置,其中该数据库包括多个信息条目,所述多个信息条目中的每个条目具有一个关联注释,该关联注释包括一个特征序列,该装置包括用于接收包含特征序列的输入查询的装置;根据权利要求1到39中的任何一个的装置,用于比较查询特征序列与每个注释的特征,以提供一组比较结果;以及使用所述比较结果标识要从所述数据库中检索的所述信息的装置。
49.一种用于搜索一个数据库以标识需要从中检索的信息的装置,其中该数据库包括多个信息条目,所述多个信息条目中的每个条目具有一个关联注释,该关联注释包括一个语音特征序列,该装置包括用于接收包含语音特征序列的输入查询的装置;用于比较所述语音特征查询序列与每个注释的语音特征以提供一组比较结果的装置;以及用于利用所述比较结果来标识从所述数据库中检索的所述信息的装置;其特征在于,所述比较装置具有多个不同的比较操作模式,并且该装置还包括用于确定(i)语音特征的查询序列是否是从音频信号或文本生成的以及(ii)当前注释的语音特征序列是否是从音频信号或文本生成的并用于输出一个确定结果的装置;以及用于依据所述确定结果为当前的注释选择所述比较装置的操作模式的装置。
50.根据权利要求49的装置,其中如果所述确定装置确定所述输入查询和所述当前注释都是从语音生成的,则所述选择装置能够选择所述操作模式,从而所述比较装置作为根据权利要求1到39的装置。
51.根据权利要求48到50中的任何一个的装置,其中所述信息条目的一个或多个条目是关联注释。
52.一种特征比较装置,包括用于接收第一和第二查询特征序列的装置,每个序列表示输入查询的一种解释;用于接收注释特征序列的装置;用于使每个解释的查询特征与注释的注释特征一致以形成多个调整特征组的装置,每个调整组包括来自每个解释的一个查询特征和一个注释特征;用于比较各调整特征组的特征以生成比较得分的装置,比较得分表示调整组的特征之间的相似性;以及结合所有调整特征组的比较得分以提供输入查询的解释和注释之间的相似性度量的装置;其特征在于所述比较装置包括第一特征比较器,对于每个调整组,比较调整组中第一查询序列特征与预定特征集合中取得的多个特征的每个特征,以提供相对应的多个中间比较得分,比较得分表示所述第一查询序列特征和来自该集合的各特征之间的相似性;第二特征比较器,对于每个调整组,比较调整组中第二查询序列特征与来自该集合的所述多个特征的每个特征,以提供更多相对应的多个中间比较得分,比较得分表示所述第二查询序列特征和来自该集合的各特征之间的相似性;第三特征比较器,对于每个调整组,比较调整组中的注释特征与来自该集合的所述多个特征的每个特征,以提供更多相对应的多个中间比较得分,比较得分表示所述注释特征和来自该集合的各特征之间的相似性;以及通过结合所述多个中间比较得分计算调整组的所述比较得分的装置。
53.一种搜索数据库以标识需要从中检索的信息的装置,其中数据库包括多个信息条目,所述多个信息条目中的每个条目具有一个关联注释,注释包括一个语音注释特征序列,该装置包括用于接收口头输入语音查询的多个解释的装置;用于将输入查询的每种解释转换为语音查询特征序列的装置,语音查询特征序列表示解释内的语音;用于比较每种解释的语音查询特征与每个注释的语音注释特征,以提供输入查询与每个注释之间的相似性度量的装置;使用所有注释的结合装置提供的相似性度量,标识要从所述数据库中检索的所述信息的装置;其特征在于,所述比较装置具有多个不同的比较操作模式,并且该装置还包括用于确定当前注释的语音特征序列是根据音频信号生成的还是根据文本生成的,并用于输出确定结果的装置;以及根据所述确定结果,为当前注释选择所述比较装置的操作模式的装置。
54.一种特征比较方法,包括以下步骤接收第一和第二特征序列;使第一特征序列的特征和第二特征序列的特征一致以形成多个对准的特征对的步骤;比较各对准的特征对的特征以生成比较得分的步骤,比较得分表示对准的特征对之间的相似性;以及结合所有调整特征对的比较得分以提供第一和第二特征序列之间的相似性度量的步骤;其特征在于所述比较步骤包括第一比较步骤,对于每个对准的特征对,比较对准的特征对中第一特征序列的特征与预定特征集合中取得的多个特征的每个特征,以提供相对应的多个中间比较得分,比较得分表示所述第一特征序列的特征和来自所述集合的各特征之间的相似性;第二比较步骤,对于每个对准的特征对,比较对准的特征对中第二特征序列的特征与来自该集合的所述多个特征的每个特征,以提供更多相对应的多个中间比较得分,比较得分表示所述第二特征序列的特征和来自该集合的各特征之间的相似性;以及通过结合所述多个中间比较得分,计算对准的特征对的所述比较得分的步骤。
55.根据权利要求54的方法,其中所述第一和第二比较步骤能够分别比较第一特征序列的特征和第二特征序列的特征与所述预定特征集合中的每个特征。
56.根据权利要求54或55的方法,其中所述比较步骤能够生成对准的特征对的比较得分,该得分表示将对准的特征对的第二特征序列的特征混为对准的特征对的第一特征序列的特征的概率。
57.根据权利要求56的方法,其中所述第一和第二比较步骤能够提供中间比较得分,该得分表示把从预定特征集合中取得的相应特征混为对准的特征对中的特征的概率。
58.根据权利要求57的方法,其中所述计算步骤能够,(i)将比较对准的特征对中的第一和第二特征序列的特征与该集合中的同一特征时获得的中间得分,进行相乘,以提供多个经过相乘的中间比较得分;以及(ii)累加以上生成的经过相乘的中间得分,以计算对准的特征对的所述比较得分。
59.根据权利要求58的方法,其中所述预定特征集合中的每个所述特征具有在特征序列内出现的预定概率,并且所述计算步骤能够利用该集合中特征的出现概率计算每个所述经过相乘的中间比较得分的权重,以上集合用于生成经过相乘的中间比较得分。
60.根据权利要求59的方法,其中所述计算步骤能够计算Σr=1nP(qj|pr)P(ai|pr)P(pr)]]>其中qi和ai分别是第一和第二特征序列的特征的对准的特征对;P(qj|pr)为把集合特征pr混为第一特征序列的特征qj的概率;P(ai|pr)为把集合特征pr混为第二特征序列的特征ai的概率;以及P(pr)表示集合特征pr在特征序列中的出现概率。
61.根据权利要求60的方法,其中第一和第二特征序列的特征的混淆概率是预先定义的,并且依赖于分别生成第一和第二序列的识别系统。
62.根据权利要求58到61中的任何一个的方法,其中所述中间得分表示对数概率,所述计算步骤能够通过累加相应的中间得分执行所述乘法,并且能够通过执行对数加法计算,执行所述经过相乘的得分的所述加法。
63.根据权利要求62的方法,其中所述结合步骤能够累加所有对准的特征对的比较得分,以确定所述相似性度量。
64.根据权利要求54到63中的任何一个的方法,其中所述调整步骤能够标识所述第一和第二特征序列中的特征删除和插入,所述比较步骤能够依靠所述调整步骤标识的特征删除和插入,生成调整特征对的所述比较得分,特征删除和插入出现在对准的特征对中特征的附近。
65.根据权利要求54到64中的任何一个的方法,其中所述调整步骤使用动态规划技术调整所述第一和第二特征序列。
66.根据权利要求65的方法,其中所述动态规划步骤逐渐确定所述第一和第二特征序列之间的多个可能调整,所述比较步骤确定所述调整步骤确定的每个可能调整特征对的比较得分。
67.根据权利要求66的方法,其中所述比较步骤在逐渐确定所述可能调整期间,生成所述比较得分。
68.根据权利要求65、66或67的方法,其中所述调整步骤确定所述第一和第二特征序列之间的最佳调整,所述结合步骤通过仅仅结合最佳调整特征对的比较得分,提供所述相似性度量。
69.根据权利要求67或68的方法,其中所述结合步骤通过结合所有可能的调整特征对的所有比较得分,提供所述相似性度量。
70.根据权利要求54到69中的任何一个的方法,其中所述第一和第二特征序列中的每个特征均属于所述预定特征集合,所述第一和第二比较步骤使用预定数据提供所述中间得分,预定数据使所述集合中的特征相互关联。
71.根据权利要求70的方法,其中所述第一比较步骤中使用的预定数据依赖于生成第一特征序列的系统,所述第二比较步骤中使用的预定数据与所述第一比较步骤中使用的预定数据不同,并且依赖于生成第二特征序列的系统。
72.根据权利要求70或71的方法,其中每个预定数据包括,对于特征集合中的每个特征,把该特征混为特征集合的每个其他特征的概率。
73.根据权利要求72的方法,其中每个预定数据还包括,对于特征集合中的每个特征,在特征序列中插入特征的概率。
74.根据权利要求72或73的方法,其中每个预定数据还包括,对于特征集合中的每个特征,从特征序列中删除特征的概率。
75.根据权利要求54到74中的任何一个的方法,其中所述第一和第二特征序列表示时间连续信号。
76.根据权利要求54到75中的任何一个的方法,其中所述第一和第二特征序列表示音频信号。
77.根据权利要求76的方法,其中所述第一和第二特征序列表示语音。
78.根据权利要求77的方法,其中每个所述特征表示语音的一个亚单词部分。
79.根据权利要求78的方法,其中每个所述特征表示一个音素。
80.根据权利要求54到79中的任何一个的方法,其中所述第一特征序列包括多个亚单词部分,所述第一比较步骤使用输入错误概率和/或拼写错误概率来提供所述中间比较得分。
81.根据权利要求54到80中的任何一个的方法,其中所述第二特征序列包括,根据口头输入生成的多个亚单词部分序列,所述第二比较步骤使用错误识别概率来提供所述中间得分。
82.根据权利要求54到81中的任何一个的方法,其中所述接收步骤接收三个或多个特征序列;其中所述调整步骤调整接收的每个特征序列的特征,以形成多个调整特征组;所述比较步骤比较各调整特征组内的特征,以生成一个比较得分,该得分表示所述调整特征组之间的相似性;以及所述结合步骤结合所有调整特征组的比较得分,以提供三个或多个特征序列之间的相似性度量。
83.根据权利要求82的方法,其中所述调整步骤同时相互调整特征序列。
84.根据权利要求54到83中的任何一个的方法,其中所述接收步骤接收多个第二特征序列;所述调整步骤调整所述第一特征序列与每个所述第二特征序列,以形成每个调整的多个调整特征对;所述结合步骤结合各调整的比较得分,以提供第一特征序列和所述多个第二特征序列之间的各相似性度量。
85.根据权利要求84的方法还包括以下步骤,用于比较所述结合步骤输出的所述多个相似性度量的步骤,以及用于输出表示与所述第一特征序列最相似的第二特征序列的信号的步骤。
86.根据权利要求84或85的方法,其中所述结合步骤包括对每个所述相似性度量进行归一化的归一化步骤。
87.根据权利要求86的方法,其中所述归一化步骤通过利用各自的归一化得分划分各相似性度量,归一化各相似性度量,各自的归一化得分依据相应的第二特征序列的长度而变化。
88.根据权利要求87的方法,其中各自的归一化得分依据相应的第二特征序列中的特征序列而变化。
89.根据权利要求87或88的方法,其中所述各自的归一化得分随所述第二比较步骤计算的相应中间得分而变化。
90.根据权利要求86到89中的任何一个的方法,其中所述调整步骤逐渐确定所述第一和第二特征序列之间的多个可能调整,所述比较步骤确定所述调整步骤确定的每个可能调整特征对的比较得分,在逐渐计算所述可能调整时,所述归一化步骤利用所述调整步骤计算各归一化得分。
91.根据权利要求90的方法,其中所述归一化步骤对每个可能调整特征计算以下值Σr=1nP(ai|pr)P(pr)]]>其中P(ai|pr)表示将特征pr混为第二特征序列ai的概率,P(pr)表示集合特征pr在特征序列中的出现概率。
92.根据权利要求91的装置,其中所述归一化步骤通过乘以为相应的调整特征对计算的归一化项,计算所述相应的归一化得分。
93.一种用于搜索数据库以标识需要从中检索的信息的方法,其中数据库包括多个信息条目,所述多个信息条目中的每个条目具有一个关联注释,该关联注释包括一个注释特征序列,该方法包括以下步骤接收输入语音查询的多个解释;将输入查询的每种解释转换为表示解释的查询特征序列;比较每种解释的查询序列与每个注释的注释特征以提供一组比较结果;结合通过比较每个解释的查询特征与同一注释的注释特征而获得的比较结果,以便为每个注释提供输入查询和注释之间的相似性度量;以及使用所有注释的结合装置提供的相似性度量,标识需要从所述数据库中检索的所述信息。
94.根据权利要求93的方法,其中所述比较方法同时比较每个解释的查询特征与当前注释的注释特征。
95.根据权利要求93或94的方法,其中所述比较步骤包括以下步骤使每个解释的查询特征与当前注释的注释特征一致以形成多个调整特征组,每个调整特征组包括来自每个注释的一个查询特征和一个注释特征;使用特征比较器比较每个调整特征组的特征,以便生成表示调整组的特征之间的相似性的比较得分;以及其中所述结合步骤结合当前注释的所有调整特征组的比较得分,以提供输入查询和当前注释之间的所述相似性度量。
96.根据权利要求93到95中的任何一个的方法,其中每个所述查询特征序列和所述注释特征序列表示音频信号。
97.根据权利要求96的方法,其中每个所述查询特征序列和所述注释特征序列表示语音。
98.根据权利要求97的方法,其中每个特征表示语音的一个亚单词部分。
99.根据权利要求98的方法,其中每个所述特征表示一个音素。
100.根据权利要求93到99中的任何一个的方法,其中所述注释的某些注释或所有注释的语音注释特征序列,是根据音频注释信号或文本注释生成的。
101.一种特征比较方法,包括以下步骤接收第一和第二特征序列;使第一特征序列的特征和第二特征序列的特征一致;比较各对准的特征对的特征以生成调整特征对的比较得分;以及结合所有调整特征对的比较得分以提供第一和第二特征序列之间的相似性度量的步骤;其特征在于所述比较步骤包括第一比较步骤,比较对准的特征对中第一特征序列的特征与多个可能特征,以提供相对应的多个中间比较得分;第二比较步骤,比较对准的特征对中第二特征序列的特征与所述多个特征的每个特征,以提供更多相对应的多个中间比较得分;以及通过结合所述多个中间比较得分,提供对准的特征对的所述比较得分的步骤。
102.一种用于搜索数据库以标识需要从中检索的信息的方法,其中数据库包括多个信息条目,所述多个信息条目中的每个条目具有一个关联注释,该关联注释包括一个特征序列,该方法包括以下步骤接收包含特征序列的输入查询;使用根据权利要求54到101中的任何一个所述的方法,比较查询特征序列与每个注释的特征,以提供一组比较结果;以及根据所述比较结果标识要从所述数据库中检索的所述信息。
103.一种用于搜索数据库以标识需要从中检索的信息的方法,其中数据库包括多个信息条目,所述多个信息条目中的每个条目具有一个关联注释,该关联注释包括一个语音特征序列,该方法包括以下步骤接收包含语音特征序列的输入查询;比较所述语音特征查询序列与每个注释的语音特征,以提供一组比较结果;以及使用所述比较结果标识从所述数据库中检索的所述信息;其特征在于,所述比较步骤能够使用多个不同的比较技术来执行所述比较,并且该方法还包括以下步骤确定(i)语音特征的查询序列是从音频信号还是从文本生成的;确定(ii)当前注释的语音特征序列是从音频信号还是从文本生成的,并输出确定结果;以及对于当前注释,依据所述确定结果选择在所述比较步骤中执行所述比较使用的技术。
104.根据权利要求103的装置,其中如果所述确定步骤确定所述输入查询和所述当前注释的根据语音生成的,则所述比较步骤执行权利要求54到101中的任何一个所述的方法。
105.一种用于搜索数据库以标识需要从中检索的信息的方法,其中数据库包括多个信息条目,所述多个信息条目中的每个条目具有一个关联注释,该关联注释包括一个注释特征序列,该方法包括以下步骤接收输入查询的多个解释;将输入查询的每种解释转换为表示解释的查询特征序列;比较每种解释的查询序列与每个注释的注释特征以提供一组比较结果;结合通过比较每个解释的查询特征与同一注释的注释特征而获得的比较结果,以便为每个注释提供输入查询和注释之间的相似性度量;以及使用所有注释的结合步骤提供的相似性度量,标识需要从所述数据库中检索的所述信息。
106.根据权利要求105的方法,其中所述比较步骤同时比较每个解释的查询特征与当前注释的注释特征。
107.根据权利要求105或106的方法,其中所述比较步骤包括以下步骤使每个解释的查询特征与当前注释的注释特征一致以形成多个调整特征组,每个调整特征组包括来自每个注释的一个查询特征和一个注释特征;使用特征比较器比较每个调整特征组的特征,以便生成表示调整组的特征之间的相似性的比较得分;以及其中所述结合步骤结合当前注释的所有调整特征组的比较得分,以提供输入查询和当前注释之间的所述相似性度量。
108.根据权利要求107的方法,其中所述特征比较器比较调整组中每个特征与从预定特征集合中取得的多个特征的每个特征,以提供相应的多个中间比较得分,该得分表示所述结合特征与该集合中相应特征之间的相似性,以及通过结合所生成的多个中间比较得分,计算调整组的所述比较得分。
109.根据权利要求105到108中的任何一个的方法,其中每个所述查询特征序列和所述注释特征序列表示时间连续信号。
110.根据权利要求105到109中的任何一个的方法,其中每个所述查询特征序列和所述注释特征序列表示音频信号。
111.根据权利要求110的方法,其中每个所述查询特征序列和所述注释特征序列表示语音。
112.根据权利要求111的方法,其中每个所述特征表示语音的一个亚单词部分。
113.根据权利要求112的方法,其中每个所述特征表示一个音素。
114.根据权利要求105到113中的任何一个的方法,其中所述注释的某些注释或所有注释的语音注释特征序列,是根据音频注释信号生成的。
115.根据权利要求105到113中的任何一个的方法,其中所述注释的某些注释或所有注释的语音注释特征序列,是根据文本注释生成的。
116.根据权利要求105到115中的任何一个的方法,其中所述转换步骤使用一个语音识别系统。
117.根据权利要求105到116中的任何一个的方法,其中所述信息条目的一个或多个条目是关联注释。
118.一种特征比较方法,包括以下步骤接收第一和第二查询特征序列,每个序列表示输入查询的一种解释;接收注释特征序列;使每个解释的查询特征与注释的注释特征一致以形成多个调整特征组,每个调整组包括来自每个解释的一个查询特征和一个注释特征;比较各调整特征组的特征以生成比较得分,比较得分表示调整组的特征之间的相似性;以及结合所有调整特征组的比较得分,以提供输入查询的解释和注释之间的相似性度量;其特征在于所述比较步骤包括以下步骤对于每个调整组,比较调整组中第一查询序列特征与预定特征集合中取得的多个特征的每个特征,以提供相对应的多个中间比较得分,比较得分表示所述第一查询序列特征和来自该集合的各特征之间的相似性;对于每个调整组,比较调整组中第二查询序列特征与来自该集合的所述多个特征的每个特征,以提供更多相对应的多个中间比较得分,比较得分表示所述第二查询序列特征和来自该集合的各特征之间的相似性;对于每个调整组,比较调整组中的注释特征与来自该集合的所述多个特征的每个特征,以提供更多相对应的多个中间比较得分,比较得分表示所述注释特征和来自该集合的各特征之间的相似性;以及通过结合所述多个中间比较得分计算调整组的所述比较得分。
119.一种搜索数据库以标识需要从中检索的信息的方法,其中数据库包括多个信息条目,所述多个信息条目中的每个条目具有一个关联注释,该关联注释包括一个语音注释特征序列,该方法包括以下步骤接收口头输入查询的多个解释;将输入查询的每种解释转换为语音查询特征序列,语音查询特征序列表示解释内的语音;比较每种解释的语音查询特征与每个注释的语音注释特征,以提供输入查询与每个注释之间的相似性度量;使用所有注释的结合步骤提供的相似性度量,标识要从所述数据库中检索的所述信息;其特征在于,所述比较步骤具有多个不同的比较操作模式,并且该方法还包括以下步骤确定当前注释的语音特征序列是根据音频信号生成的还是根据文本生成的,并输出确定结果;以及根据所述确定结果,为当前注释选择所述比较步骤的操作模式。
120.根据权利要求102到119中的任何一个的方法,其中所述信息条目的一个或多个条目是关联注释。
121.根据权利要求54到120中的任何一个的方法,其中按照所申明的次序执行所有步骤。
122.一种用于存储处理器可实现的指令的存储介质,该指令控制处理器实现根据权利要求54到121中的任何一个的方法。
123.处理器可实现的指令,该指令控制处理器实现根据权利要求54到121的方法。
全文摘要
提供一种用于匹配两个或多个音素序列的系统,其中音素序列是根据文本或语音生成的。最好使用具有约束的动态规划匹配技术,约束取决于以上两个序列是根据文本还是根据语音生成的,并且利用适当的音素混淆得分、音素插入得分和音素删除得分,对动态规划路径的得分进行加权。
文档编号G10L15/18GK1409842SQ00816353
公开日2003年4月9日 申请日期2000年10月25日 优先权日1999年10月28日
发明者菲利普·N·加纳, 贾森·P·A·查尔斯沃特, 樋口麻子 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1