数据库访问的制作方法

文档序号:6412914阅读:212来源:国知局
专利名称:数据库访问的制作方法
技术领域
本发明是关于数据库访问,特别是关于(虽然不排除其他)采用语音识别输入和合成语音输出的数据库访问。
国际专利公开No.WO94/14270描述了一种机器目录查询系统,其中呼叫方首先被提示说出所需城市的名称。然后所说的词语被加以识别并选择具有最高置信度的词语作为由一用户所说的词语。然后呼叫者被提示说出所寻求方的名称。在取得令人满意的置信度时,即访问数据库并将号码明确表达给呼叫者。如果置信度不能达到可取的置信度水平,则提示呼叫者拼读全部或部分地点或名称。如果发现口头输入与数据库之间有不止一个相匹配,就要求用户逐个地确认每一个匹配,直至找到一被确认的匹配。如找不到这样的匹配,即终止此自动处理。
欧洲专利申请公开No.433964涉及一利用文本输入的系统。首先,将代表姓的输入单词与表目(entry)相匹配。如果发现一匹配是“类似的”但不与输入严格相同,则将输入的起始字符与数据库表目进行比较。如果它们相符合,即作数据表目记录。然后系统比较所需的标题和所需的个人姓名。将最可能的表目提供给用户。
美国专利No.5204894涉及一个人电子目录,其中表目的名称以用户的声音存贮,而相关号码则利用一多频音(DTME)电话键板或口头输入来输入。当用户需要访问此目录时,用户讲出所需名称而目录系统将输入的第一个词语与存贮的词语相比较并顺次向用户提供所有可能的词语直到用户确认一个。
在上述所有的现有技术系统中,系统向用户按顺序地提供数据库中被识别的表目直到用户确认该数据表目是所要的。
按照本发明的一个方面提供的一数据库访问设备包括
(a)一数据库,包括分别由多个含有有关一表目的信息项的机器表述的字段组成的表目,所述表述形成一第一词表;(b)通告装置,响应属于这种表述的一第二词表的机器表述产生表示口头通告的音频信号;(c)输入装置,可运行来接收信号并生成其属于这种表述的一第三词表的机器表述;(d)翻译装置,定义第一词表与第二词表之间的和第一词表与第三词表之间的关系;和(e)控制装置,可用来(ⅰ)按照所定义的关系对由输入装置生成的每一表述产生一或多个对应于第一词表的表述;(ⅱ)识别包含所产生的表述的数据库表目;(ⅲ)检验被识别表目的一被选择字段或字段组合中所含的各个表述或表述组合来识别这些表述或组合中的可辨别的一个(或多个),一可辨别的表述或组合为在按照所定义的关系被翻译成第二词表的表述时不同于每一个其他被作同样翻译的这种可辨别表述或组合;和(ⅳ)控制通告装置来产生包含对应于可辨别的表述或组合之一的至少一个单词或单词组合的通告。
由通告装置输出的所包含的词语可以为任一合适的形式,例如此被包含的词语可表示一完整的词,一拼读的词或字母数字。
本发明另一个方面提供一语音识别方法包括(a)产生至少一个要求应答的通告;(b)识别应答;(c)识别含有匹配被识别的应答的字段的数据库表目;(d)在这样的表目的数量超过预定限制的情况下,产生包含至少一个对应于一被识别表目的被选择字段的单词的通告用于作肯定的或否定的应答;(e)在接收到肯定的应答后,识别含有匹配被识别的应答的字段和其所选择字段匹配所述单词的数据库表目;和(f)重复步骤(d)和(e)至少一次。
现在参照附图举例说明本发明的某些实施例。所列附图为

图1为表明语音的、口头的和数据库的表述之间翻译举例的实体关系图;图2为按照本发明的设备的方框图;图3为说明图1的设备的运行的流程图;图3a为说明图1的设备的另一种运行方式的流程图;图4为说明标识可辨别元组的处理的流程图;和图5为表明语音的、口头的、拼音的和数据库的表述之间翻译举例的实体关系图。
将对一声音交互式设备进行说明,它为访问数据库的内容对用户提出问题并识别用户的应答。一例如可被用于一自动电话目录查询系统的名称、地址和电话号的数据库将被用作为例子。不过首先得讨论一些基本概念,这对理解此设备的运行将是有用的。
设想数据库含有许多表目(entry),每一表目包含许多各自含有一项关于此表目的信息的字段(field);例如表目所涉及的个人的名、姓、地址和电话号。一表目中的一组字段在此被称为元组(tuple),即就是N个字段的组合(当N=1、2或3时分别称为单字段元组、二字段元组和三字段元组(single,duple,triple))。这样,一完整的表目为一元组,也如同从一表目提取的较小的字段组;从而从示例数据库取得的一组名/姓对即形成一组被提取的元组。
存贮在数据库字段中的信息项可采取任何方便的表述;总的说来本说明书中将假设应用文本表述,例如对姓Jonson,采用对应于此名称的字母的字符代码,但对某些字段采用特殊的表述;例如对于地理位置,可以用不同的表述来识别数个具有相同名称的各别场所,例如将三个被称为Southend的英格兰的地方表述为Southend1、Southend2、Southend3。
设备与用户之间的对话中的用于表示字段内容的单词在概念上与数据库表述是不同的,对各字段均代表一口头词表。如果数据库表述为文本则在它们与此口头词表之间将会有一些重叠,但即使这样仍可希望考虑这一事实,即为说明一信息项用户可以利用与数据库字段中所实际含有的单词不同的单词;亦就是某些单词可被看作是同义词。
最后还必须注意,有关一单词(同形异义词)可能有不止一种发音,和反之不止一个单词可能具有相同发音(同音异义词)。
这些概念在作为“实体关系图”的图1中说明,这里可看到在由左到右或由右到左移动时均必须在表述之间加以翻译。框A表示一组数据库表目。框B表示一组专有的姓,它与该表目具有一对多(1many)的关系,即,一个姓可能出现在许多表目中,但一个表目仅含有一个姓。框C、D和E对应于名、城市和电话号的表述组,这里适用类似的说明。框F表示对应于名的口头词表,即此设备允许用来说明这一字段的所有单词的组。这考虑到例如同义词这样的别名可能会与数据库词表不同(或者,即使相同也可能不会与它一一对应),例如象Andy或Jim这样的缩写形式可能被看作具有与Andrew和James同样的意义。在框C和F之间示出二个连接途径,对应于用于此口头词表单词的优选形式和“或许可能”被利用的替换形式。
类似地,框G表示对应于城市名的口头词表。这里又出现产生别名的可能性,因为经常一大城市内可包含较小的地方或区域。例如Ipswich为英格兰Suffolk郡的一城市。附近为一称为Kesgrave的小区。一个居住在Kesgrave的人可将他的地址在数据库中或者记作Ipswich或者记作Kesgrave。同样,一寻找这样的人的电话号的查询者可能给出这二个名字作为地点。因此Ipswich和Kesgrave可被看做是用于作数据库检索的同义词。但应指出,地理上的别名是很复杂的Ipswich可被看作是另一本地村庄如Foxhall的同义词,而Kesgrave和Foxhall则不是同义词因为它们是不同的地方。
框H为完整起见表示对姓的口头词表,虽然对于这一字段同义词出现的机会或许很小。
框J表示考虑到同音异义和同形异义词的姓的发音词表。例如,Smith通常发带短“i”的音如在英文词“pith”中那样,而名字Smythe则发带长“i”的音如“lithe”中那样。另一方面,Smythe又可以此二种方法发音。还有其他变化发音的例子,例如由于地区口音的改变。为后面要解释的原因,还表明了“基本的”和“可能是”的链接。
框K和L分别表示用于名和地理名称的发音词表。
图2为一用作进行对话的设备的方框图。音频信号输入1连接到语音识别器2,而音频信号输出3则连接到语音合成器4。一存贮程序控制处理器5形式的控制单元控制此识别器和合成器的运行,并可访问程序存贮器6、工作存贮器(RAM)7、数据库8、口头词表翻译表9和发音表10。音频输入和输出被连接来(或许经由电话线路)与用户作双向通信。
假定数据库8如上面讨论的包含文本形式的电话目录表目。口头词表翻译表9为一含有由目录表述和口头词表表述组成的单词对的存贮区,例如对Ipswish来说
如果希望的话,任何被用作为数据库表述的具有与口头词表单词一一对应关系并与之相同的单词可从表中略去,因为无需翻译)。翻译表9具有对每一字段类型的一独立区域并可由处理器5访问来确定对应于一给定词表单词的数据库表述,反之亦然。如果希望的话(或者如果数据库表达不是文本形式)所有项均可加以翻译。
发音表10为一包含一查找表(以及,如果希望的话,一组用于减少查找表中的表目数量的规则)的存贮区,使得处理器5能访问它(为合成目的或为辨识同音异义)来对一给定口头词表单词求得它的一或多种发音的语音表述,和反过来(为识别目的),对一给定的语音表述求得对应于该发音的一或多个口头词表单词。对每一类型字段最好有一独立区域。
图3中的流程图说明设备的运行,作为一存贮在存贮器6中的程序实现。第一步是利用合成器产生对用户的提问,和识别用户的应答。从而在步骤100、104、108处理器5发送给合成器4命令,指示它发出要求用户分别说明他所寻找的电话号的所有者的姓、名和城市的通告。在步骤102、106和110,处理器给识别器2发送命令指示它参照对应于这些字段的语音词表来识别用户的应答。识别器可访问翻译表9、10来确定为每一识别步骤所用的词表,或者可内部存放或产生其自身的词表;在后一情况下,被用的词表必须对应于由表9、10(和,如果合适的话,由数据库)所确定的那些以使它能仅仅输出包括在此语音词表中的单词。识别器被配置成能使它将符合与用户实际口述的单词相似的预定标准的所有语音表述输出给各识别步骤。(识别器当然能将其翻译成口头词表表述,许多识别器均能这样做)。很可能识别器会指出用户实际所讲的单词对表10中的任一语音表述均太不相象,并将此向处理器5指出。最好识别器也对每一表述生成一“分数(score)”或可信性量度,指明与实际口述的单词的一致性的相对概率或可能性。预备步骤100~110将不再讨论,因为它们在别处说明了;例如可参看我们的未决国际专利申请No.PCT/GB/02524。
下文将说明涉及多个带有分数的元组与数据库表目匹配的步骤。从这些进行匹配的表目推演出一组带有分数的专有(即可辨别的)元组,它们对应于与用于此匹配的元组不同的一组字段(可能重叠的)。
步骤110后处理器5对此三个字段的每一个均有一或多个被认为已被识别的语音表述。现在需要的是翻译成口头词表表述,亦即图1左边所表明的翻译。因而在步骤112中,处理器访问表10对每一单词确定一或多个对应的口头词表表述,从而使它现在具有三组口头词表表述,每一字段一个。
每个口头词表表述的分数是它被翻译来自的语音表述的分数。如果二语音表述翻译为相同的词表表述,可以取两个分数中具有较高置信度的一个。这是上述的一般化匹配过程的一个特例,其中单字段元组的匹配组为发音而单字段元组的推导组为口头词表项。
在步骤114,现在处理器5利用表9执行翻译,翻译为数据库表述(亦即图1中央表明的翻译),对各口头表述确定一或多个对应的数据库表述,从而它现在有三组数据库表述。就早先的翻译而言分数是可以传播的。数据库表述表示若干个三字段元组(实际的数目为此三组中每一个组的表述的数目的积)。三字段元组的分数通常是组成它的各个别表述的分数的积。在步骤116,处理器生成这些三字段元组的列表并将它传送到数据库,后者返回一对应于这些三字段元组的数据库表目的数目的计数K。如果(步骤118)此数为零,则处理器在步骤120发送一命令给合成器作出通告表明没有找到表目而结束此程序(步骤122)。要不然可采取其他动作如将用户转换为手动操作员。
如果存在有表目,则在步骤124从数据库依次检索在步骤116被匹配的全部表目元组来确定是否存在三个或更少些的可辨别表目。元组被按似然性的顺序检索,最可能的排在第一。有可能不止一个元组会共享同一分数。在这一情况中可在它们中选择任意的排序,或利用一先验常识来确定此排序。当检取出元组时,对它们是否表示三个或更少的可辨别表目加以评定。现在来解释“可辨别”的含义及其确定方法。一旦计数到达四此测试即结束。如果(步骤126)可辨别的表目的数为三或更少,则在步骤128中处理器从数据库检取这些表目并将它们送往合成器4,后者利用用于从数据库表述翻译到基本语音表述的表9、10以可信性的顺序(即最高者排在第一)将它们读给用户。
如果存在多于三个的可辨别表目,则处理进入一交互式确认阶段,在此设法识别出含有三个或更少可辨别元组的经提取的元组表列,并依次将这些元组提供给用户加以确认。在此例中,元组为对应于姓名(即名+姓)的二字段元组,和对应于城市的单字段元组。应指出,尽管有此例中的情况,原则上并不一定需要这些元组的组成单词对应于那些用户已被询问的字段。
在步骤130检查是否此姓名二字段元组已被提供以便确认,第一次回答将总是为“no”,而在步骤132从三字段元组表列准备一被提取的姓名二字段元组表列。对该表中的姓名二字段元组采取与步骤124中对三字段元组的相同方式进行验证,以确定是否存在三个或更少的可辨别二字段元组。(如希望的话,可将该表中的非同样的数据库表述二字段元组的数量加以计数,而如果这超过一预定限度,例如30,则跳过详细的验证处理(至步骤144))。如果有三个或更少的可辨别二字段元组,则(步骤134)将每一带分数的二字段元组翻译成一单个的基本语音表述并在步骤136中以可信度顺序馈送给合成器,从而使合成器发出问题(例如)“姓名为John Smith 请回答yes或no”,而每一次识别器将回答送到处理器(138)以检测为“yes”或“no”。如果用户回答“yes”,则在步骤140(a)将姓和名字段标以“已确认”从而使进一步提供它们以便确认的操作能被步骤130的测试避开;(b)删除所有除有关被确认的二字段元组的那些(见下面)之外的三字段元组表列的成员。
然后处理由步骤124重新开始。
如果用户回答“no”则删除三字段元组的表列中的对应成员。删除哪些取决于所定义的语音表述和数据库表述之间的关系,如系统设计人员所选择的。例如,如用户被问到“姓名是John Smith ”及用户回答“no”,包括John和Smith/Smyth/Smythe在内的三字段元组的表列的所有成员均可被删除,或者仅仅那些包含John和Smith/Smyth的成员可能被删除,如果已由系统设计者确定Smythe总是与Smith或Smyth作不同发音的话。
同样地,如果用户被问到“姓名是Dave Smith ”和用户回答“no”,包含Dave Smith的成员可被删除及用户被问“姓名为David Smith ”。
如果(步骤142)用户对所有提供的元组均回答no,这就被看作是失败而处理经由步骤120和122终止。
如果在步骤134的测试中可辨别的姓名二字段元组的数量对确认来说过大,或者在第二次或以后的通过中在步骤130已经进行过姓名确认,并假设(步骤144)还未将城市名提交来加以确认,则开始一城市名确认处理,这包括在所有方面均类似于已说明过的步骤132至142的步骤146至154。
如果这些处理不能减少在测试126中的可辨别表目的数量,则最后处理以通告156即已发现的表目太多难以应答而终止。或者,可后随进一步的过程,其中一或多个其他问题被提出(如步骤100)来得到有关更多字段的信息。
图3中所示的从步骤116向上的处理为清楚起见已利用对单字段和二字段元组的确认进行了说明。一较通用化的算法可如下进行。
开始如果无数据库表目仍然有效的话给出“毫无”消息。
结束算法。
转移如果存在三个或更少可辨别数据库表目提供它们。
结束算法。
如果存在多于三个可辨别数据库表目,则对尚未被确认的连续的被作优先级分配的字段或字段组合进行如下操作(do the following)直到不再剩有这样的字段如果对此存在有带三个或更少的可辨别元组的元组列表,则设法确认这一列表。
如果是肯定的确认,即确认它并去“转移”。
如果是否定的确认,则给出“错误表目”消息,回到“do the following”。
在一被作优先级分配的列表中,获取可能被询问的下一词表。
如果存在未被询问和未确认的词表剩留请求它。
走到算法的开始。
如果没有给出“太多”消息。
结束算法。
对整个此查询处理的替换处理如图3a中所示。此处理如下述进行开始如果无数据库表目仍然有效(300)给出“毫无”消息(301)。
结束算法。
如果存在有三个或更少的可辨别数据库表目(302)提供它们(303)。
结束算法。
如果存在多于三个可辨别数据库表目(302),考虑每一个尚未被确认的被优先级分配的字段或字段组合列表(304)如果存在带三个或更少可辨别元组的一元组列表设法确认此列表(308)如为肯定确认(309)去到“开始”如为否定给出错误表目消息(310)结束算法。
如果没有考虑下一字段或字段组合。
如果无带有三个或更少的可辨别元组的元组表列在一作优先级分配的表列中,如果存在未被询问和未确认的剩余词表(305)要求它(307)去到“开始”如果没有给出“太多”消息(306)结束算法。
在上述过程中,需要检验数据库表述中的元组的表列来确定存在多少可辨别的元组。处理中的元组可能是一完整的数据库表目(如上述步骤124中那样),它可能是包含来自二个(或更多)字段的表述的一个提取的元组(如步骤132中)或者它可能是被提取的单字段元组(如步骤146中)。
二个表述被认为是不可辨别的,如果(a)它们相同;或(b)它们翻译为相同的口头词表单词(例如它们是同义词或是地理上混淆的);或(c)它们翻译为同音异义的口头词表单词(亦即,这些单词翻译为相同的语音表述)。
二个元组被认为是不可辨别的,如果一个元组的每一字段与另一元组的对应字段是不可辨别的话(如上面定义的)。
类似地二表述被认为是可辨别的,如果(a)它们是不相同的;(b)它们不翻译为相同的口头词表单词(例如它们不是同义词或地理上混淆的);和(c)它们不翻译为同音异义的口头词表单词(亦即单词不翻译为相同的语音表述)。
假设数据库表述中有一元组表列,其中该表列中的第一元组为D(1)及当前占据表列中第n个位置的元组为D(n)(n=1,…N),此表列中为N个元组。各元组由M字段组成,被指定为d,故元组D(n)的第m字段为d(n,m),亦即D(n)={d(n,m)},m=1,…,M。最好此表列按分数排序,亦即具有最高置信度的元组为D(1),下一个D(2)等等。
要说明的处理如图4的流程图中所示,包括从表列中取第一元组并将其与表列中其下面的元组相比较以查清这二者是否是可辨别的。如它们不是,就将占据下面位置的元组从表列中删除。重复这一操作直至所有元组均被检验过。然后对现在占据该表列中第二位置的元组进行同样步骤,等等,最后剩留在表列中的每一个元组均是相互间可辨别的。如果希望,此处理在确信可辨别元组的数量超过能被随后步骤处理的数量(亦即在此例中,3)时尽快终止。
在图4中,i指向表列中一元组而j指向表列中向下一元组。I为表列中元组的数量。在步骤200中,I被初始化为1,I被设定为N,而在步骤202中从数据库读取D(i)。步骤204设定j指向随后的元组并在步骤206中读取D(j)。然后在步骤208中将字段指针m初始化为1,此后跟随一顺次取此二个元组的各个字段的循环。元组D(i)的字段m借助表9翻译(步骤210)成一个或多个口头词表单词s1(a),其中a=1,…,A而A是实际上发现的同义词数。此口头词表单词s1(a)然后利用表10被翻译(步骤212)成总共B个语音表述p1(b)(b=1,…,B)。B是这样的表述的数量,即A乘以同音异义词数。类似步骤214、216进行D(j)的对应字段的二级翻译来产生一或多个语音表述p2(d)(d=1,…,D)。
在步骤218中,每一个语音表述p1(b)与每一个表述p2(d)加以比较(亦即总数为BD的比较)。如果在任何这些比较中均未发现均等性,则认为此二元组是可辨别的。如果(步骤226)j没有到达表列中最后一元组,则在重复步骤206以读取另一元组之前将其增量(228);否则在步骤230测试元组指针i看其是否到达表列的倒数第二个成员并或者将其(如果尚没有的话)在返回到步骤202之前增量(232),或者(如果已经的话)结束处理。这时,此表列现在仅包含相互可加以辨别的元组,数量为I,并因而在步骤234从处理的这一部分退出之前在步骤233中将结果k设置为I。
如果另一方面218中的比较表明对一元组的一个字段所产生的语音表述之一与对另一元组的同一字段所产生的语音表述之间的同一性的话,则就必须增量m(步骤236)并对下一个字段重复步骤210至218。如果此二元组的所有字段均进行了比较而且全都是不可辨别的,则在步骤238这一情况得到识别和元组被认为是不可辨别的。在这一情况下,较低的元组D(j)被从表列去除和将I减量以使其继续以表示表列中剩留的元组数(步骤240、242),而后在步骤244中测试j以确定它是否指到超过表列的最后端(现在它已被缩短),如果不是,则从步骤206继续检验每一个元组。否则处理前进到步骤230,已经说明过。
每次步骤232增量i以指到一元组,就知道还有至少i个元组,它们将不会在步骤240被从表列中去除。因而此时可测试指针i(步骤246)以弄清它是否达到3,而如果是,此处理可被中断,k设置到4并由此到退出234。
为了弄清图4的算法与图3或3a的步骤之间的关系,应当说明(a)算法表示步骤124的执行,这里图4结束时的表列被用来访问(从数据库)要在步骤128被提供的表目;(b)算法表示步骤132的执行,这里图4结束时的表列表示要在步骤136提供给用户的姓名元组(按数据库表述)的表列;(c)算法表示步骤146的执行,这里图4结束时的表列表示要在步骤150提供给用户的城市的表列;(d)算法表示步骤302的执行。
剩下要做的是说明图3中步骤140和154中发生的去除操作。以步骤140为例,所遵循的原理是在用户已确认一对(或组)被认为是不可辨别的元组之一的元组(在此情况下为一二字段元组)时,这就被看做是也构成对该对或该组中其他元组的确认。例如,如果姓名二字段元组的表列包含有Dave SmithDavid Smyth并且它们被步骤132认为是不可辨别的,仅有一个表目(例如第一个“Dave Smith”)被提供给用户用于在步骤136中进行确认。提出哪一个元组按照系统设计者所作的选择来确定。但如果用户说“yes”,则在步骤140中所有含有“Dave Smith”和所有含有“David Smyth”的元组均被保留。
尽管这可以利用步骤132中执行的翻译结果来进行,但最好如下处理。语音表述中被确认的二字段元组的各字段p(即步骤136中所产生的)利用表9、10被翻译成一或多个数据库表述。所有由这些表述的组合所表示的二字段元组均要加以确认,亦即,含有这些二字段元组之一的三字段元组的表列中的任一个三字段元组均被保留,而其他三字段元组则被删除。
澄清图1的实体关系图与图3和4中的处理之间的关系或许是值得的。在这些处理中,发生从数据库表述到口头词表表述到语音表述的翻译(即在图1中从右到左)和在反方向上、即从语音表述到口头词表表述到数据库表述的翻译(即图1中从左到右)。图中替换途径的存在(例如可以是口头的/主要是口头的)隐含着翻译路由的选择。对于合成器,“主要为口头”的路由将正常地采用,而对其他目的可以按照人们的希望改变来包括或排除翻译中的同义词或同音异义词。下面列表表示不同的路由,其中以一组对于名字的路由为例。也可以采用其他映射。
这样,当接收到一输入并产生表示输入信号的机器表述时,对此单字段元组输入的机器表述即要被变换成所有可能的数据表述。为实现这一点,输入被“可能是发音的“路由映射到口头识别词表。这样,输入的所有可能的口头表述被加以识别。然后这些口头词表表述被映射到口头表述可能表示的所有可能的数据库表述(例如“可能是口头的”)。例如假定名“Dave”为输入而由语音识别器2生成语音表述D AI V和M AI V。然后这些语音表述被变换成口头词表表述,例如,“Dave”和“Mave”。这些口头词表表述的每一个再借助存贮区9被变换成所有可能的数据库表述(“可能是口头的”)例如Dave,David,Mve,Mavis。然后处理器5在数据库8中搜索在其名字段中包含这些表目中任一个的所有表目。
对所有找到的表目处理器5检验所选择字段中所含的各个表述以识别这些组合中可辨别的那些。然后可将可辨别的表目提供给用户加以确认。为此,处理器5参照口头词表存贮区10并按照所定义的关系,将经识别的数据库表述通过“可能是口头的”路由翻译成口头词表。这样Dave的所有表目均被翻译为“Dave”和“David”,David的所有表目均被翻译为“Dave”或“David”,Mave的所有表目均被翻译为“Mave”或“Mavis”,Mavis的所有表目均被翻译成“Mave”或“Mavis”。然后处理器5参照存贮区10将口头词表表述翻译成语音表述(“可能是发音的”)。这样,表明“Dave”、“David”、“Mave”和“Mavis”如何发音的语音表述被确定为D AI V、D AI VI D、D AA VID、M AI V和M AI VI S。这些语音表述则被加以检验以识别可辨别的表述。例如,Dave和David是不可辨别的,因为共有至少一个共同的发音。但是,Mave和Dave则是可辨别的因为它们不共有任何共同的语音表述。如果二数据库表述被发现是不可辨别的话,则保留表述中的一个而另一个被丢弃,例如选择David和Mavis而丢弃Dave和Mave。这一选择由系统设计者确定并存放在存贮器6中。“David”和“Mavis”的最可能的语音表述被处理器5利用“主要为口头的”/“主要为发音的”关系提供到合成器4给用户。
应指出,实践中存贮区9、10可包含对各映射的独立的“表”。
图1表明通告装置例如语音合成器的词表与输入装置例如语音识别器的词表相同时的情况。但这不是总是如此的。例如应注意的是拼音法也可被用作替换输入和/或对口头形式的确认媒介。拼音所需的技术与口头形式极类似。图5以包含对城市名作拼音(以框M表明)与图1相对应(虽然拼音也可用作姓和名,但为了简单,这些映射在图5中未表示)。除口头识别外还必须提供“可能为拼音的”和“主要为拼音的”的翻译。
如拼音法要在识别和/或确认期间利用,则对上面对照图1所述的所有路由均需以“被拼音的”代替“被发音的”,算法仍然全部适用。
也应提到,口头的或拼音的输入或输出并不是关键的。因为有关提供和确认的问题仍然存在。例如可能采用键板输入,这因为对电话键板的各个按钮分配有不止一个字母而存在有模糊问题。在此情况下需要再一个键板输入代码的词表,带有类似于上述的发音和拼“可能是键入的”的翻译。
输入词表和数据库的机器表述可按照相同技术,例如数据库表目可以文本形式存贮和此输入也是以文本形式来产生,此时数据库和输出的机器表述则按不同技术产生,例如口头输出。
如果供给用户一包含有用户实际所说的单词抽义词的通知可能引起混淆。例如,假如用户寻求“Dave Smith”而系统产生一输出如下“你说的是David Smith ”。为了避免这种混淆,就必须进行检查以保证对应于被辨识的可辨别的数据库表目的单词也要与为输入装置所识别的单词相对应。
权利要求
1.数据库访问设备,包括(a)数据库,包含多个表目,每个表目由含有关于该表目的信息项的机器表述的多个字段组成,所述表述构成一第一词表;(b)通告装置,响应属于这种表述的一第二词表的机器表述生成表示口头通知的音频信号;(c)输入装置,可运行来接收信号并产生其属于这种表述的一第三词表的机器表述;(d)翻译装置,定义第一词表与第二词表之间的和第一词表与第三词表之间的关系;和(e)控制装置,可运行来(ⅰ)按照所定义的关系为由输入装置所产生的各个表述生成对应于第一词表的一或多个表述;(ⅱ)识别包含所生成的表述的数据库表目;(ⅲ)检验被识别的表目的一被选择的字段或字段组合中所包含的各个表述或表述组合,以识别这些表述或组合中的可辨别的那些,一可辨别的表述或组合在被按照所定义的关系翻译成第二词表的表述时与每一个其他的这种可辨别表述或组合被作同样翻译时均不同;(ⅳ)控制通告装置生成包含有对应于可辨别表述或组合之一的至少一个单词或单词组合的通知。
2.按照权利要求1的设备,其特征是控制装置可运行来控制通告装置生成连续的通知,其中每一个包含对应于可辨别表述或组合之一的至少一个单词或单词的组合,控制装置可运行来控制通告装置按置信度顺序输出通知,第一个通知包含对应于最可能的可辨别的表述或组合的至少一个单词或单词的组合。
3.按照权利要求1或2的设备,其特征是控制装置可运行来在步骤(ⅳ)中对每一个可辨别的表述或组合利用翻译装置从该可辨别的表述或组合生成第二词表中的一个表述或组合并将其传送给通告装置。
4.按照权利要求1或2的设备,其特征是控制装置可运行来在步骤(ⅳ)中为每一可辨别的表述或组合向通告装置传送一个按照由翻译装置定义的关系对应于此可辨别的表述或组合而且在步骤(ⅲ)中已经生成的第二词表中的表述或组合。
5.按照权利要求1至4中任一个的设备,其特征是控制装置可运行来在步骤(ⅳ)中生成要求确认所包含的单词或组合的通知并被进一步配置来运行(ⅴ)在接收到一确认的应答后,从对应于所包含的单词的第二词表中的表述或组合生成对应于第一词表的一或多个表述或组合,以及识别数据库表目或在所选择的字段中含有这种表述或组合的表目。
6.按照前述权利要求中任一个的设备,其特征是输入装置为可运行来接收音频信号的语音识别器。
7.按照权利要求6的设备,其特征是第二和第三词表相同。
8.按照前述权利要求中任一个的设备,其特征是第一和第三词表相同。
9.按照前述权利要求中任一个的设备,其特征是所选择的字段的至少一个是这样的字段,即其中在步骤(ⅱ)中已找到一被生成的表述,以及其中在步骤(ⅳ)中所包括的单词是对应于由输入装置生成的表述的单词。
10.按照前述权利要求中任一个的设备,其特征是还包括一中间词表而翻译装置定义第一词表与此中间词表、第二词表与此中间词表和第三词表与此中间词表之间的关系。
11.访问一数据库系统的方法,所述数据库系统包括一包含多个表目的数据库,每个表目由含有关于该表目的信息项的机器表述的多个字段组成,所述表述构成一第一词表;响应属于这种表述的一第二词表的机器表述生成表示口头通告的音频信号的通告装置;和运行来接收信号并产生属于这种表述的第三词表的机器表述的输入装置,其特征是所述访问数据库系统的方法包括(ⅰ)按所定义的第一词表与第三词表之间的关系对每一由输入装置产生的表述生成对应于第一词表的一或多个表述;(ⅱ)识别包含所生成的表述的数据库表目;(ⅲ)检验经识别的表目的一被选字段或字段组合中所包含的各个表述或表述的组合以识别这些表述或组合中的可辨别的那些,一可辨别的表述或组合在按所定义的关系被翻译成第二词表的表述时与每一个其他这种可辨别的表述或组合在被作同样翻译时不同;和(ⅳ)控制通告装置生成包含对应于可辨别的表述或组合之一的至少一个单词或单词组合的通告。
12.按照权利要求11的方法,其特征是还包括在步骤(ⅳ)中控制输出装置以置信度顺序输出一或多个通告,第一通告包含对应于最可能的可辨别表述的至少一个单词或单词的组合。
13.按照权利要求11或12的方法,其特征是还包括(a)生成至少一个要求应答的通告;(b)识别应答;(c)识别含有匹配此被识别的应答的字段的数据库表目;(d)在这种表目的数量超过一预定限制的情况下,生成含有至少一个对应于被识别表目的一被选择字段的单词的输出用于作肯定或否定应答;(e)在接收到一肯定应答后,识别含有匹配被识别的应答的字段而且其被选择字段匹配所述单词的数据库表目;和(f)重复步骤(d)和(e)至少一次。
14.按照前述权利要求11或12的方法,其特征是包括(a)生成至少一个要求应答的通告;(b)识别该应答;(c)识别含有匹配被识别的应答的字段的数据库表目;(d)在这种表目的数量低于或等于一预定限制的情况下,生成一表示一个或多个各自包含匹配表目的一或多个字段的表目的输出,并退出;(e)在这种表目的数量超过一预定限制的情况下,对一特定字段或字段组合检验该被识别表目的此特定字段或字段组合中所包含的一可辨别的表述或表述组合;(f)在这种可辨别的表述或表述组合的数量高于一预定限制的情况下,重复步骤(e),按一预定次序选择尚未被考虑过的另一字段或字段的组合,直至没有这种字段剩下以供考虑;(g)生成至少一个要求一尚未被要求或确认的应答的输出;(h)识别此应答;(i)重复步骤(c)至少一次;(j)在这种可辨别的表述或表述的组合的数量低于或等于一预定的限制的情况下,生成包含至少一个对应于一被识别表目的被选择字段的单词的通告用于肯定或否定应答;(k)在接收到一肯定的应答之后,识别含有匹配被识别的应答的字段以及其被选择字段匹配所述单词或单词的组合的数据库表目;和(l)重复步骤(d)和(e)至少一次;(m)在接收到对所有这种单词的否定应答后,退出数据库访问方法。
全文摘要
访问数据库系统的方法和设备,所述数据库系统包括一含有多个表目的数据库,每个表目由包含有关一表目的信息项的机器表述的多个字段组成,所述表述构成一第一词表;响应属于这种表述的一第二词表的机器表述产生表示该机器表述的信号的输出装置;和可运行来接收信号并生成属于这种表述的一第三词表的机器表述的输入装置。访问此数据库系统的方法包括(i)按照第一词表与第三词表之间一被定义的关系对由输入装置生成的各个表述产生一或多个与第一词表相应的表述;(ii)识别包含所产生的表述的数据库表目;(iii)检验被识别的表目的一被选择字段或字段组合中所包含的各个表述或表述组合来识别这些表述或组合中的可辨别的一个(或一些),一可辨别的表述或组合在当其被按照所定义的关系被翻译成第二词表的表述时与每一个其他这种可辨别的表述或组合在被作同样翻译时均不同;和(iv)控制输出装置以产生包含对应于可辨别的表述或组合之一的至少一个单词或单词组合的输出。
文档编号G06F17/30GK1210643SQ9719198
公开日1999年3月10日 申请日期1997年1月27日 优先权日1996年1月31日
发明者戴维·约翰·阿特沃特, 保罗·安德鲁·奥尔森, 谢默斯·奥德海因·布里奇曼, 史蒂文·约翰·惠特克 申请人:英国电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1