发明内容
因此,需要改进系统的存储管理。联系到该需要,将系统存储器的成本保持在最低也会是合乎需要的。为了增强例如道路交通方面的安全性,进一步的需要是将用户交互减小至最低水平。
这些需要中的至少一个是通过独立权利要求的主题解决的。有利实施例由从属权利要求界定。
本发明的一个方面是将参考项目(term)与输入的口述短语的项目进行匹配。取决于存储容量,形成匹配的参考项目的各种可选的串接(concatenation)。例如,只要有足够的存储容量可用于为每个先前匹配的参考项目加载各个参考项目列表,就可以保持这些串接。如果然后将会超出存储容量,则可以请求用户进行补充输入以减小所存储的匹配参考项目的串接的数目,并随之减小存储器中为了加载与剩余的匹配参考项目/串接相对应的列表而所需的空间。
本发明的一个优点是可提供节省资源的语音识别系统。进一步,在超出存储容量的情况下,语音识别系统可仅需要用户对初始输入的口述短语的单个项目进行补充输入,而无需请求完全重复口述短语。系统对补充用户输入的请求可以例如考虑语音和拼写相似性这二者。
语音识别系统的下面的实施例可以例如在基于车辆的环境中的导航系统中或在移动装置(如个人数字助理、手持装置、移动电话等)中实现。
根据本发明的一个实施例,提供了通过语音识别系统交互地识别口述短语的语音识别方法。根据该方法,类别n的至少一个参考项目列表从数据库加载到列表存储器中。随即,可以确定类别n的至少一个参考项目是否可与包括多个项目的输入的口述短语的其中一个项目匹配。如果至少一个参考项目可与口述短语的项目匹配,则类别n-1的至少一个路径可通过类别n的该至少一个匹配参考项目而得到扩展以形成类别n的至少一个路径。对于最高类别,路径在最初被建立并在随后的类别得到扩展。
因此,可以确定列表存储器的存储容量是否足以为类别n的每个路径加载类别n+1的各个参考项目列表。如果确定存储容量不够,则可以基于补充用户输入来消除类别n的至少一个路径。然后,可以卸载类别n的该至少一个参考项目列表,并且可以为类别n的每个路径加载类别n+1的各个参考项目列表。
在本发明的另一实施例中,可以有N个不同的类别,并且级别n的路径含有间隔N到n中的不同类别的匹配参考项目的串接。应该注意N和n都是整数。
根据另一实施例,基于补充用户输入来消除类别n的至少一个路径可包括,基于补充用户输入来消除类别m的匹配参考项目和消除含有类别m的被消除的匹配参考项目的类别n的所有路径。这可能是有利的,如果先前级别的匹配参考项目具有语音相似性并且在声学地澄清方面难以区分的话。
进一步,根据本发明的另一实施例,在确定列表存储器的存储容量不足以为类别n的每个路径加载类别n+1的各个参考项目列表后,可以基于补充用户输入来消除类别m以外的类别的匹配参考项目,并且可以消除含有m以外的级别的被消除的匹配参考项目的类别n的所有路径。
根据本发明的另一实施例,在确定列表存储器的存储容量不足以为类别n的每个路径加载类别n+1的各个参考项目列表后,可选择具有最高可能性成为唯一地指定数据库的条目(entry)的路径的类别n的相应路径,并且可为类别n的被选路径的匹配参考项目加载相应的参考项目列表。
进一步,根据本发明的另一实施例,具有最高可能性成为唯一地指定数据库的条目的路径的类别n的相应路径,可基于当前车辆位置、当前或先前目的地或媒体文件当中的至少一个参数来确定。
在本发明的另一实施例中,如果对于类别n-1的一路径,级别n的参考项目列表中没有相应项目匹配口述短语的项目,则可消除类别n-1的该路径。
进一步,根据本发明的另一实施例,可以确定对于级别n的一个剩余路径,是否仅有一个可能的项目存在于级别n-1的路径的参考项目列表中,并使用由该路径指定的数据库条目来启动应用程序。
根据另一实施例,如果所有类别N都被处理完(passed)并且余下最低类别的多于一个的路径,则可以请求补充输入。
根据本发明的另一实施例,如果余下最低类别的一个路径,则可使用由该路径指定的数据库条目来启动应用程序。
在本发明的另一实施例中,路径可指向:表示媒体库条目的数据库条目,或导航路线引导服务的目的地,或用于操作插件式计算机(board computer)的命令,或用于对装置进行控制的命令,或外部在线数据库的条目。
为了例如向语音识别系统的用户提供更多灵活性,另一实施例提出口述短语的项目可由语音识别系统以任意顺序接收。可替换地,口述短语的项目必须由语音识别系统以预定顺序接收。
进一步,根据本发明的另一实施例,如果口述短语的项目和加载的列表的相应参考项目具有等于或高于阈值标准的语音和/或拼写相似性,则可确定参考项目与该项目匹配。
根据另一实施例,甚至是在列表存储器的容量足够时,一旦出现匹配参考项目的语音或拼写相似性,语音识别系统就可中断口述短语的输入。
在本发明的另一实施例中,潜在地匹配口述短语的项目的参考项目列表可以可视地或声学地输出以允许用户通过从列表中选择哪个匹配的参考项目将被考虑以保持特定类别的路径,来提供补充输入。
参考项目在输出列表上的顺序可有利地基于它们与口述短语的项目匹配的可能性。
为了将必要的用户输入保持在最低水平,可以在声学地提供补充输入以将一个参考项目与口述短语的项目匹配的请求的数目超过预设数目时输出列表。
进一步,输出列表的条目可口头地选择,并且如果不成功,则可通过操纵控制元件来选择。
进一步,根据另一实施例,在唯一地识别数据库条目后,路径的匹配参考项目可由系统可视地或声学地确认。
本发明还涉及语音识别系统。根据一个实施例,语音识别系统包括处理单元,用来将类别n的至少一个参考项目列表从数据库加载到列表存储器中,其中处理单元可操作地确定类别n的至少一个参考项目是否可与包括多个项目的输入的口述短语的其中一个项目匹配。该处理单元还可操作地通过类别n的该至少一个匹配参考项目来扩展类别n-1的至少一个路径,以形成类别n的至少一个路径。进一步,处理单元可确定列表存储器的存储容量是否足以为类别n的每个路径加载类别n+1的各个参考项目列表。在处理单元确定列表存储器的存储容量不足以为类别n的每个路径加载类别n+1的各个参考项目列表时,可基于补充用户输入来消除类别n的至少一个路径。处理单元还可卸载类别n的该至少一个参考项目列表,并且可以为类别n的每个路径加载类别n+1的各个参考项目列表。
本发明还提供了存储指令的计算机可读介质,当所述指令被交互语音识别系统的处理单元执行时,可使交互语音识别系统识别口述短语。这可通过将类别n的至少一个参考项目列表从数据库加载到列表存储器中,随后确定类别n的至少一个参考项目是否可与包括多个项目的输入的口述短语的其中一个项目匹配,来执行。类别n-1的至少一个路径可通过类别n的该至少一个匹配参考项目而得到扩展,以形成类别n的至少一个路径。进一步,可确定列表存储器的存储容量是否足以为类别n的每个路径加载类别n+1的各个参考项目列表。在确定存储容量不够时可以基于补充用户输入来消除类别n的至少一个路径。然后,可以卸载类别n的该至少一个参考项目列表,并且可以为类别n的每个路径加载类别n+1的各个参考项目列表。
本发明的另一实施例涉及通过语音识别系统交互地识别口述短语的方法。根据该方法,可取决于可用的列表存储器容量,为至少一个类别的每个将各个参考项目列表从数据库加载到列表存储器中。然后,可以确定至少一个参考项目是否可与包括多个项目的输入的口述短语的至少一个项目匹配。语音识别系统还可存储匹配的参考项目,并卸载当前的参考项目列表。如果先前不能够加载所有类别的所有参考项目列表,则可卸载当前的参考项目列表,并且可加载至少另一个类别的每个的参考项目列表。随即,可重复匹配处理并且可存储匹配的参考项目。进一步,可加载与存储的匹配参考项目相对应的参考项目列表。可寻找最有可能识别数据库条目的匹配参考项目的串接。
本发明的另一实施例涉及通过语音识别系统交互地识别口述短语的方法。根据该方法,接收到的输入的口述短语可包括类别n或更低类别的项目。进一步,可以基于当前车辆位置、当前或先前驾驶目的地或在播放列表中选择的将被重放或当前正在重放的媒体库的媒体文件当中的至少一个参数,来加载类别n的参考项目列表。然后,可以确定加载的列表中的类别n的参考项目是否可与口述短语的项目匹配。
根据另一实施例,可以确定输入的口述短语中具有最高类别的参考项目,其中输入的口述短语中的项目的最高类别可以定义为类别n。
进一步,根据另一实施例,可以将至少一个参数与数据库中的类别n+1的参考项目匹配,并且可以为类别n+1的匹配参考项目加载类别n的参考项目列表。
在本发明的另一实施例中,类别n-1的至少一个路径可通过类别n的该至少一个匹配参考项目而得到扩展,以形成类别n的至少一个路径。对于最高类别,路径在最初被建立并在随后的类别得到扩展。因此,可以确定列表存储器的存储容量是否足以为类别n的每个路径加载类别n+1的各个参考项目列表。如果确定存储容量不够,则可基于补充用户输入来消除类别n的至少一个路径。然后,可以卸载类别n的该至少一个参考项目列表,并且可以为类别n的每个路径加载类别n+1的各个参考项目列表。
具体实施方式
在进一步详细讨论本发明的不同示例性实施例之前,先在下面定义本文中频繁使用的几个术语。
数据库典型地由几个数据库条目的集合组成。每个数据库条目自身可包括许多不同的字段,其中所有数据库条目可典型地包括同样数目的不同字段。每个字段可与将在下面更详细概述的类别相关联。
数据库可以例如是包括数字音乐文件、视频、游戏等的媒体库。例如,在本发明的一个实施例中,数据库被实现为SQL内部/外部(在线)数据库(SQL=结构化查询语言)。考虑例如数字音乐文件的媒体库,其可以包括可例如由曲风、演奏者和标题表征的歌曲的集合。这些特征可被认为每个均与一个类别相关联。
在本发明的另一实施例中,数据库也可包含全世界的、全洲的或全国的目的地和/或兴趣点(POI)的条目。目的地和/或兴趣点可被认为包括若干字段,诸如国家、(任选地)州、城市、街道名称、房屋号、房屋号的尾标(suffix)、补充信息等。
在本发明的另一实施例中,用于操作插件式计算机和/或控制基于车辆的装置的命令被存储在数据库中。当操作车辆装置时,例如,每个命令可以包括:指示要控制的单元(例如,“空调”)的字段(其例如对应于最高类别),随后是指示要执行的操作(例如,“温度”)的字段(其可对应于下一类别)。根据示例性的输入口述短语“请把空调的温度设置为20度”,项目“空调”表示最高类别。项目“温度”可对应于下一类别,随后是项目“20度”,其可对应于该实例的最低类别。
另一选项可以是,数据库包括不同类型的条目,诸如媒体、目的地、兴趣点、插件式计算机命令等。
如上所述,数据库条目的每个字段可与类别相关联。例如,导航系统的数据库的国家可定义为对应于最高类别。下一类别可表示目的地的城市,随后的类别可以是街道名称,等等。数据库的各个字段的条目被表示为参考项目。
类似地,对于媒体库,歌曲标题“Madman across the water”可以例如是类别“标题”的参考项目。一旦数据库从语音识别系统接收到查询,就可以根据该查询中指示的类别生成适当的参考项目的列表。例如,如果第一查询指示最高类别,则将国家的列表返回给语音识别系统。如下面详细说明的那样,下一类别的下一查询可从数据库返回语音识别系统在先前类别中先前确定的该国家内的城市的列表。
语音识别系统处理不同类别的顺序可取决于不同因素,诸如要启动的应用程序或要控制的功能,要指定的数据库条目的类型,等等。例如,如果语音识别系统与车辆的导航系统结合使用,并且例如如果车辆位于欧洲,则语音识别系统可以使用下面的数据库条目类别的顺序来处理输入的口述短语(例如,导航系统的驾驶目的地):国家,城市,街道名,等等。如果例如车辆位于美国,则类别可以以不同的顺序来处理,该顺序从州开始,随后是城市,街道名称,等等。
例如,兴趣点可以仅由两个类别(其可以是例如“纽约市政厅(Cityhall in New York)”)定义。用户可在其口述短语中使用关键词“兴趣点”。然后,语音识别系统可加载“纽约”的“兴趣点”类别的参考项目列表,其中参考项目可与数据库中的唯一地址相关联。
当使用语音识别系统来识别数字音乐文件库的条目时,例如可使用自由搜索而不采用分级排序的类别。
通常,类别n可指示总共N个类别中的特定类别。因此,类别n-1可表示类别n前面的类别。类别n+1可在类别n之后得到处理。
口述短语是由用户输入的完整发声。基于口述短语,语音识别系统试图唯一地识别数据库的一个条目。例如,输入的导航目的地通常识别数据库的一个唯一地址。在本发明的另一实施例中,口述短语也可唯一地识别数据库的多个条目。假定用户打算听某个演奏者的曲集的所有歌曲,则语音识别系统必须寻定并选择若干个标题。
根据本发明的另一实施例,口述短语由多个项目组成,这些项目可由语音识别系统识别为输入的发声的一些部分。项目可定义为类似“Melbourne”的单个词或形成例如类似“Please,drive me to”的命令的词的串接。这些项目必须在语音识别处理开始之前从口述的发声中确定。
然后,语音识别系统试图将各个类别的参考项目与输入的口述短语的项目进行匹配,以获得不同类别的匹配参考项目的一个或多个串接(也表示为“路径”),每个串接识别一个数据库条目。
图1示出根据本发明的示例性实施例的口述短语与其项目和该实例的相关类别。口述短语可以是“Please drive me to Harbor Street fifteenA in Melbourne”。首先,项目“Please drive me to”可确定为对应于最高类别1,其可以是指示哪个应用程序将被启动或哪个单元将被控制的命令。在该实例中,导航系统被请求计算到达给定目的地的路线。然后,项目“Melbourne”可被定义为对应于下一类别2。输入的目的地地址的项目“Harbor Street”可定义为对应于下一类别3。然后,项目“fifteen”可对应于类别4,并且项目“A”可对应于最低类别。通常,应用程序或要控制的单元可由最高类别的匹配参考项目规定。随后的类别的分级结构可取决于最高类别的匹配参考项目。
类别n的匹配参考项目表示可与口述短语的项目匹配的参考项目。例如,在操作导航系统(包括或共同操作语音识别)时,输入的短语可以是“Please,drive me to Melbourne”。对于该实例,命令“please,driveme to”被认为是一个项目。进一步,“Melbourne”被认为是该实例的另一项目。语音识别系统可将参考项目澳大利亚的“Melbourne”与口述短语的输入项目匹配,但也可以将参考项目美国Florida的“Melbourne”与口述短语的输入项目匹配。
参考项目的列表被定义为与所请求的类别相对应的数据库字段内容的列表。例如,该列表可通过请求从数据库取回。作为请求的参数,可以使用一个或多个先前处理的类别的一个或多个匹配参考项目。例如,数据库响应于具有参数“USA,Melbourne”的对街道名称的查询而返回的参考项目列表,将返回美国Melbourne中的所有街道的所有名称。通过使用SQL,请求可具有下面的格式:SELECT streets FROMdatabase WHERE country=’USA’AND city=’Melbourne’。因此,不使用参数的对街道名称的查询将返回包含在数据库中的所有街道名称的列表,而不管特定城市(和国家)(例如使用SQL:SELECT streets FROMdatabase)。
路径是各种类别的匹配参考项目的串接。一个或多个路径可在匹配参考项目的处理中动态地建立和/或消除。例如,如果在类别n没有其它的参考项目可与口述短语的项目匹配,则可消除各个路径。例如,如果对于具有城市“Melbourne”(澳大利亚)的路径,没有参考项目可与口述短语的项目“Townhallstreet”匹配,则可以删除含有“Melbourne”(澳大利亚)的路径。与之相对比,关于城市“Melbourne”(Florida),例如,类别“街道”的各个参考项目可与口述短语的项目“Townhallstreet”匹配。
进一步,措辞语音相似性表示至少两个参考项目可与口述短语的一个项目匹配的情况,其中匹配的参考项目表示具有不同拼写但具有相同发音的项目。例如,参考项目“Harbor Street”和“Harberstreet”可与输入的口述短语的项目“Harbor Street”匹配。
下面的段落将描述本发明的多个实施例。应该注意,本发明可有利地例如与基于车辆的娱乐、导航和信息处理装置结合使用,但本发明不限于用在该特定的示例性的基于车辆的环境中。
本发明的一个方面是改善语音识别系统的存储管理。这可通过仅加载各个类别的参考项目至存储器来实现。语音识别系统识别输入的口述短语中的一个或多个项目,其中每个项目可对应于具有重要性的各个类别。例如,如果语音识别系统的用户想听媒体库的歌曲,则他/她可输入所期望的歌曲的演奏者和标题。在口述短语已经由用户输入后,语音识别系统可发送查询至数据库并取回包括存储在数据库中的所有演奏者的参考项目的列表。
最高类别的参考项目的列表被存储在列表存储器中。随后,将每个参考项目与口述短语的每个项目进行比较。一旦所有加载的参考项目已经与口述短语的项目进行了比较,并且至少一个参考项目已经与口述短语的项目匹配,就已经为该相应的类别完成了搜索和匹配处理。每个匹配的参考项目可添加到各个路径(即,表示各个路径的第一元素)。各个类别的至少一个路径的匹配处理可被认为是语音识别处理的迭代步骤。
根据下一较低的类别(其可例如对应于歌曲的标题),该至少一个匹配的参考项目(标题)可与先前类别的各个匹配参考项目串接。为了将列表存储器的占用率保持在最低水平,在当前处理的类别中没有为其发现参考项目的路径被删除。
因此,通过仅加载根据各个类别的参考项目的列表,语音识别系统有效地使用可用的存储器。也就是,对于数字音乐文件的实例,首先可加载演奏者的列表并将其与口述短语的项目进行比较。然后如果类似作为实例的“Madonna”的演奏者已经与口述短语的项目匹配,则卸载演奏者列表并加载“Madonna”的所有可得到的歌曲标题。该方法在存储器占用率方面比例如同时加载具有所有演奏者和标题的列表的方法要高效得多。
本发明的另一方面是减小语音识别系统和用户之间必需的交互。根据本发明的一个实施例,考虑口述短语的项目而不是对完整的发声执行语音识别,这在必需的用户交互方面要有效得多。
例如,口述短语可以是“I want to listen to the song Fever fromMadonna”。当对整个发声执行语音识别时,系统在为“I want to listen to”寻找参考项目时可能会有问题,并且可能会请求重复口述短语。根据本发明,语音识别系统可仅考虑口述短语的项目“Madonna”和“Fever”。由于系统可允许输入项目的任意顺序,所以可以实现对补充用户输入的必要请求的减少。甚至在补充用户输入是必需的情况中,语音识别系统也可仅需要校正各个单独的项目,而无需重复整个口述短语。这可显著地增强道路交通中的安全性。
减小用户交互的第二个措施是有效地加载参考项目列表至列表存储器。由于列表存储器可以以满容量操作,所以可以追踪许多可能的路径以便无需请求用户进行补充输入。系统还可消除在各个类别处不具有合适的相应参考项目的路径。
因此,本发明的语音识别系统提供了有效的操作系统,其解决了增强存储管理和减少用户交互的需要。
图2显示出了根据本发明的示例性实施例,导航系统或插件式计算机如何在汽车环境中实现的实例。该系统可以例如包括导航系统1,导航系统1包括用于执行语音识别的所有处理装置和数据库。麦克风2可设置在车辆的内部以用于输入口述短语。进一步,导航系统可以例如包括用于与用户可视地交互的触摸板显示器(touchpad display),并且如果有必要,可在显示器3上显示软键盘以使得用户能够输入。可替换地或另外,导航系统还可包括使用户能够输入的按键或按钮4。这些按键或按钮可以例如在方向盘上,并且可有利于与用户相应的用户友好性以便不使用户从道路交通分心。例如,也设置了扬声器5来声学地输出信息和请求给用户。显示器也可例如设置为将信息投影在用户视场内的挡风玻璃上的平视显示器。对于语音识别所必需的硬件模块以及它们在例如导航系统1中的实现,在图3中显示出。
图3显示出根据本发明的示例性实施例,可包括在语音识别系统中的多个硬件模块。可实现用户接口10以用于由用户输入口述短语和用于输出对补充用户输入的请求。这可通过采用供输入用的麦克风2或显示器3的软键盘或按键4和供输出用的显示器3和/或扬声器5来执行。
进一步,输入存储器12存储输入的口述短语。如下面参考图5所述,语音识别系统的处理单元14能够经由接口17发送查询至数据库16以获得参考项目的列表。进一步,处理单元14可加载从数据库16接收的参考项目列表至列表存储器13。数据库可包括至少一个永久存储介质,诸如硬盘驱动器、DVD、CD或其它光学存储介质以存储数字音乐文件、电影、导航目的地、兴趣点、命令等。连接至列表存储器13和处理单元14的识别部11能够比较存储在列表存储器13中的每个参考项目与存储在输入存储器12中的口述短语的项目。包括匹配参考项目的串接的路径可被存储在输出存储器15中。
图4示例性地显示出根据本发明的示例性实施例,当在车辆的导航系统中实现时,语音识别系统如何操作。对于该实例,为了示例性的目的,假定与输入目的地地址相应的输入口述短语是“Please drive meto Harbor Street fifteen A in Melbourne”。此处,为了简单起见,假定语音识别系统仅用于控制导航系统,因此不需要从口述短语中确定哪个应用程序将被启动或哪个单元将被控制。首先,语音识别系统可任选地确定目的地的国家。可以假定目的地位于关于口述短语被输入的时间点的同一国家内。在本发明的一个实施例中,国家可基于当前车辆位置(其可以例如通过GPS接收机来确定)而被(自动地)预选择。可替换地,可以请求用户手动地预选择国家。该预选择的国家然后可用作步骤S20的基础。
根据上面的说明,语音识别系统从最高类别(该实例中的类别1)开始,并加载相应国家(在该实例中为美国)的城市。语音识别系统比较加载列表的每个参考项目(每个城市)与输入的口述短语的每个项目。在已经终止最高类别的搜索运行后,可以假设通过考虑匹配参考项目拼写和/或语音相似性而发现了两个参考项目。在该实例中,美国城市“Melbourne”和“Elburn”与口述短语的一个项目匹配。
类别1的搜索运行的结果:
[Melbourne(USA)] 路径a1
[Elburn(USA)] 路径d1
在还没有预选择国家的情况中,城市的搜索运行可以以多于两个城市结束。例如,这些匹配的城市可以是“Melbourne”(澳大利亚)、“Melbourne”(美国)、“Elburn”(美国)和“Malborn”(德国)。
该实例将以表示美国的匹配城市的路径a1和d1继续进行。系统保持两个路径(a1和d1),因为不能确定是否已经有一个路径对于口述输入的目的地地址无效,由于在该阶段街道名称还没有被匹配。
进一步,在一个实施例中,处理单元可在搜索运行之间(即,在每次搜索特定类别之后)确定是否已经有一个路径唯一地识别数据库条目,即该实例中的目的地。如果是,则可开始计算到目的地的路线。
处理单元可确定是否有足够的存储容量来加载在当前类别匹配的两个城市中的每个城市的街道名称列表。如果在加载这两个城市的街道名称列表时超出存储器容量,则系统可请求用户进行补充输入。特别地,可以例如请求用户选择两个城市中的一个。相反,如果有足够的存储器容量可利用,则可保持存储两个路径并卸载城市列表。然后,对城市“Melbourne”(美国)和“Elburn”(美国)的所有街道名称的查询,被发送到数据库。应答可以是根据例如街道名称的下一类别(该实例中为类别2)的参考项目的两个列表,然后这两个列表被加载到列表存储器13中。
系统以表示路径a1的当前末端的节点S21继续进行处理,并且可在为“Melbourne”(美国)加载的相应参考列表中搜索包含在输入的口述短语中的街道名称的项目。在该实例中,两个街道名称可匹配口述短语的项目“Harbor Street”。特别地,它们是“Harbor Street”(路径a1+2)和“Harberstreet”(路径c1+2)。因此,路径被分割并分别扩展到节点S23和S24。同样的处理被应用于城市“Elburn”(美国),在这种情况下没有与街道名称相应的参考项目可以匹配输入的口述短语的项目,因为对于与口述短语的项目(“Harbor Street”)在拼写和语音上相似的该城市,可能没有有效的街道名称(S25,路径d1+2)。
使用独立的列表可能是有利的,因为匹配的参考项目(此处是街道名称)可容易地与各个路径(此处是城市名称)相关联。如果所有加载的参考项目(例如,匹配城市的所有街道名称)都包括在一个参考项目列表中,则可能无法分配给与匹配城市相应的路径。
在这一点上,应该注意,路径a1+2表示从节点S20到节点S21和到节点S23的路径。因此,路径c1+2表示从节点S20到节点S21和到节点S24的路径。
类别2的搜索运行的结果:
[Melbourne(USA),Harbor Street] 路径a1+2
[Melbourne(USA),Harberstreet] 路径c1+2
因为在步骤S25,对于“Elburn(USA)”,没有参考项目可匹配口述短语的项目,所以包括从节点S20到S22和从节点S22到S25的路径的路径d1+2可由系统消除。因此,消除的路径在下一类别的随后搜索运行中将不再被考虑。
进一步,处理单元可任选地再次确定是否已经有一个剩余路径唯一地识别目的地。如果是,则可开始路线的计算。
处理单元可任选地确定是否有足够的存储容量来加载每个匹配的街道名称的房屋号列表。如果存储器容量在加载所有三个街道名称的房屋号列表时被超出,则系统可请求用户补充输入。特别地,可以例如请求用户选择两个街道名称中的一个。如果有足够的存储器容量可用,则可保持存储两个路径a1+2(S20到S23)和c1+2(S20到S24)并可卸载街道名称列表。然后,对“Melbourne”(美国)中的街道“HarborStreet”和“Melbourne”(美国)中的街道“Harberstreet”的所有房屋号的查询,可被发送到数据库。应答可以是根据例如各个街道的房屋号的下一类别(该实例中为类别3)的参考项目列表,这些参考项目列表然后被加载到列表存储器13中。
系统以表示路径a1+2的当前末端的节点S23继续进行处理,并可在与“Harbor Street”(Melbourne,美国)相对应的加载参考列表中搜索包含在输入的口述短语中的房屋号的项目。在该实例中,两个房屋号可匹配口述短语的项目“fifteen”。特别地,这两个房屋号是“fifteen”(路径a1+2+3)和“fifty”(路径b1+2+3)。因此,路径被分割并分别扩展到节点S26和S27。同样的处理可在节点S24应用于街道“Harberstreet”(Melbourne,美国),在这种情况下仅一个与房屋号相应的参考项目(“fifteen”,路径a1+2+3,节点S28)可匹配输入的口述短语的项目,因为对于与口述短语的项目(“fifteen”)在拼写和语音上相似的该街道,可能没有其它有效的房屋号。
类别3的搜索运行的结果:
[Melbourne(USA),Harbor Street,fifteen] 路径a1+2+3
[Melbourne(USA),Harbor Street,fifty] 路径b1+2+3
[Melbourne(USA),Harberstreet,fifteen] 路径c1+2+3
进一步,处理单元可任选地再次确定是否已经有一个路径唯一地识别目的地。如果是,则可开始计算路线。
处理单元可确定是否有足够的存储容量来加载每个匹配房屋号的房屋号的后缀列表。如果存储器容量在加载所有四个匹配的房屋号的房屋号后缀列表时被超出,则系统可请求用户补充输入。特别地,可以例如请求用户选择两个街道名称中的一个和/或再次输入房屋号。如果有足够的存储器容量可利用,则可保持存储三个路径(a1+2+3,b1+2+3,c1+2+3)并可卸载房屋号的列表。然后,根据每个路径的各个匹配街道名称和它们相应的匹配城市而对匹配房屋号“fifteen”和“fifty”的所有后缀的查询,可被发送到数据库。应答可以是根据例如房屋号的后缀的下一类别(该实例中为类别4)的参考项目列表,然后这些参考项目列表被加载到列表存储器13中。
关于类别4,可用于房屋号“fifteen”或“fifty”的唯一后缀“A”,可以例如是“Melbourne,USA”的“Harbor Street”中的房屋号“fifteen”。包括从S20到S29的路径的路径a1+2+3+4可被确定为在所有其它路径被消除后的唯一剩余路径。特别地,可消除路径b1+2+3+4,其包括从S20到S30的路径。进一步,可消除路径a1+2+3+4,其包括从S20到S31的路径。
类别4的搜索运行的结果:
[Melbourne(USA),Harbor Street,fifteen,A] 路径a1+2+3+4
处理单元确定剩余路径a1+2+3+4唯一地识别导航系统的地址数据库条目。然后,启动应用程序,在该实例中,其可以是对具有被识别的地址的路线的计算。
总之,即使在没有足够清楚地口头输入口述短语的情况下,语音识别系统仍能够通过考虑关于输入的口述项目的语音相似性的各种可能性,来识别正确的数据库条目,而无需仓促地请求用户补充输入。
在图4的实例中,语音识别系统是指识别唯一地识别数据库的一个条目的输入口述短语。图5示例性地示出根据本发明的示例性实施例,语音识别系统也能够识别唯一地识别多个数据库条目的输入口述短语。
在图5中,例如,假定的输入口述短语是“I want to listen to Madmanacross the water from Elton John”。该实例应示出数字音乐文件媒体库的实例。在该实例中,数据库的类别可能没有分级顺序。因此,在查询最高类别时,返回的参考项目列表可对应于例如数字音乐文件的类别“title(标题)”或“album(曲集)”。但其也可以仅是类别“artist(演奏者)”。要加载的类别的顺序可以由语音识别系统定义或者可以由口述短语的输入项目的顺序定义。在该实例中,类别“artist”的参考项目被确定为要首先加载。系统也可以根据例如最高类别“artist”、第二类别“album”和作为第三类别的“title”,来随后处理参考项目列表的加载。
如已经在图4的先前实例中显示出的那样,语音识别追踪多个可能的路径,在该实例中将是路径a1和b1。在该实例中,类别“artist”的匹配参考项目可以是“Elton John”和“Alton Ellis”。进一步,该系统确定对于作为演奏者的参考项目“Alton Ellis”,不能获得可匹配曲集或歌曲“Madman across the water”的数据库参考项目。因此,在匹配处理的进一步进行中,可消除该特殊路径(b1)。在已经将参考项目“Elton John”与口述短语的项目匹配后,在步骤S53(路径a1+2)和步骤S54(路径b1+2),系统必须确定匹配的参考项目“Madman across thewater”是否已经识别了数据库的条目。由于“Madman across the water”可能是具有多个标题的曲集,也可能是单个歌曲标题,所以在步骤S55需要补充用户输入。在该步骤,用户可澄清语音识别系统接下来必须考虑哪个路径。在该实例中,在步骤S55中请求补充输入时,用户可通过口头输入口述项目“album”而选择曲集“Madman across the water”。在步骤S57(路径a1+2),对应于曲集“Madman across the water”的所有歌曲标题被确定为匹配的参考项目,并且可启动用于重放的应用程序并把匹配的参考项目(此处为曲集的所有歌曲)作为指定要重放的歌曲的输入参数(例如播放列表)。如果用户在步骤S56仅决定歌曲,则标题“Madman across the water”被确定为唯一的匹配参考项目,并且以这一首歌曲来启动应用程序。
根据本发明的另一实施例,语音识别系统可取决于列表存储器的可利用容量,来首先加载至少一个类别的每个的参考项目列表。例如,可首先加载类别“album”和“title”的参考项目。可进一步假定加载类别“artist”的参考项目列表将超出类别存储器的容量。然后,系统试图将至少一个参考项目与口述短语的至少一个项目匹配。匹配的参考项目可以例如是“Madman across the water”(歌曲)和“Madman acrossthe water”(曲集)。
在该第一次匹配处理之后,存储匹配的参考项目并卸载列表,并且如果先前不能加载所有类别的所有列表,则加载剩余类别的参考项目列表,其在该实例中是类别“artist”的参考项目列表。系统可再次试图将至少一个参考项目与口述短语的至少一个项目匹配。例如,根据该实例,参考项目“Elton John”和“Alton Ellis”可被匹配。在已经匹配了参考项目后,系统可确定识别数据库条目的最适当和最可能的串接。通过使用SQL,系统的请求可例如具有下面的格式:SELECT*FROM database WHERE((song=’Madman across the water’)OR(album=’Madman across the water’))AND((artist=’Elton John’)OR(artist=’Alton Ellis’))。
在该实例中,数字音乐文件数据库的条目将被识别。由于通过逻辑“AND”函数而产生的类别“album”和“title”的组合将导致来自演奏者“Elton John”的曲集“Madman across the water”的歌曲“Madmanacross the water”,所以在实例中使用逻辑“OR”函数以获得两个选中项(hit),即歌曲“Madman across the water”和具有其相应歌曲的曲集“Madman across the water”。
换句话说,在该实例中,同一类别的匹配参考项目可以采用逻辑“OR”函数组合,而且,不同类别的匹配参考项目可也以采用逻辑“OR”函数组合。
然而,在其它情形中,不同类别的所有匹配参考项目可以通过逻辑“AND”函数组合。这可以应用于例如导航系统的地址的匹配参考项目上。
该示例性查询的返回结果可以是两个选中项,即来自“Elton John”的“Madman across the water”(曲集)和来自“Elton John”的“Madmanacross the water”(歌曲)。由于可能没有进一步的用户输入,所以系统可在步骤S55停止,并请求用户补充输入以决定是否所有歌曲都要选择或仅从具有相同名称的曲集中选出一首歌曲。
进一步,在另一实施例中,为了示例性目的,假定用户想听具有先前确定的标题的播放列表。语音识别系统可识别具有相应的唯一数据库条目的播放列表的名称,并以包括在播放列表中的各个歌曲来启动应用程序。
类似的解决方案可例如适用于具有将在特定路线上选中的预定的中途停留点的导航系统。这些中途停留点可例如对应于具有特定路线的名称的参考项目。这对例如具有几个中途停留点目的地的观光旅行会是有帮助的。
图6示出根据本发明的示例性实施例的语音识别处理的示例性流程图。首先,口述短语由用户在步骤S1输入。然后,在步骤S2,具有最高类别的参考项目列表被加载到语音识别系统的列表存储器13中。数据库可例如包括各个应用程序的所有参考项目,诸如媒体库,或导航路线引导服务的目的地,或用于操作插件式计算机的命令,或用于控制基于车辆的装置的命令,或外部在线数据库的条目。
作为下一步骤,在步骤S3,随后将参考项目的加载列表的每个参考项目与输入口述短语的每个项目比较。如果加载的参考项目列表中没有参考项目可匹配输入的口述短语的项目,则请求用户再次输入整个口述短语(步骤S1)。然后,处理系统再次执行步骤S3并决定是否至少一个参考项目可匹配输入口述短语的一个项目。只要没有参考项目可匹配口述短语的项目,则重复执行步骤S1至S3,例如直到用户中断该处理为止。
如果在步骤S3,至少一个参考项目可匹配输入的口述短语的一个项目,则系统继续进行步骤S4。如上所述,路径是在当前类别之前已经被处理的各个类别的匹配参考项目的串接。在步骤S4,可以决定路径是否由于没有当前类别的合适参考项目而被排除。
这可适用于例如图4中的路径d1+2,在这种情况下不能找到口述短语的项目“Harbor Street”的参考项目。因此,该路径或其它路径可能是无用的,并可在循环中的步骤S5被消除,直到没有另外的路径可被删除。
系统继续进行步骤S6,在该步骤中可以决定是否存储的路径中的一个已经唯一地识别数据库的条目。如果是这样,则可以通过使用数据库的条目来启动应用程序或对单元进行控制(步骤S14)。如果没有数据库条目可由存储的路径中的一个唯一地识别,则系统继续进行步骤S7以在步骤S7为类别n的每个路径决定存储容量是否足以加载下一类别n+1的各个参考项目列表。如果足够,则系统继续进行步骤S9并存储串接的匹配参考项目的路径。如果在步骤S7,存储容量不足以为类别的每个路径加载下一类别n+1的各个参考项目列表,则请求用户补充输入以在步骤S8鉴于语音和/或拼写相似性而澄清匹配的参考项目,以减小存储路径的数目,从而相应地减小在下一类别n+1为相应的匹配参考项目加载参考项目列表所需的存储器。
然后,系统可继续进行步骤S9以存储串接的匹配参考项目的澄清的和剩余的路径。然后,可以在步骤S12决定是否参考项目的列表已经对应于最低类别。在已经决定参考项目列表不对应于最低类别后,在步骤S13卸载当前参考项目列表并加载下一类别的参考项目列表。在该步骤,要加载的参考项目列表是与类别n的路径的匹配参考项目相匹配的参考项目列表。
如果在步骤S12参考项目列表对应于最低类别,则系统在步骤S11决定是否剩余路径中的一个已经唯一地指定了数据库条目。如果不是,则请求用户通过补充输入从剩余路径中识别正确的路径。这可通过请求澄清先前类别的一个匹配参考项目或先前类别之一的一个匹配参考项目来实现。如果步骤S10的用户交互是成功的,并且数据库的条目由存储的匹配参考项目的串接唯一地识别,则可以使用数据库的条目来启动应用程序或对单元进行控制(步骤S14)。
总结针对图6概述的概念,语音识别系统在其存储器中保持至少一个路径,并决定对于当前类别的每个匹配参考项目,下一类别n+1的各个参考项目列表是否可加载到列表存储器中。如果列表存储器的容量会被超出,则可以请求用户识别与先前类别之一的匹配参考项目相对应的路径,以便减小剩余路径。这使得系统能够应付受限制的列表存储器容量,以适当地加载剩余路径的参考项目列表。
通过该实例,显然的是,由于语音识别系统仅在必要时请求补充用户输入,所以道路交通的安全性得到了增强。并且如果需要补充输入,则系统仅要求澄清口述短语的特定项目,而不是要求重复整个口述短语。
语音识别系统的可替换实施例可以是根据图7的实现方案。基本上,其步骤类似于图6所示的步骤,但在执行步骤S7之前,可以在步骤S6a确定是否存储的路径中的一个已经唯一地识别多个数据库条目。如果是这样,则系统可推断多个条目被用户所期望以由应用程序启动,如果例如仅曲集的演奏者和标题被口头输入的话。可替换地,在未定义的情形中,可以在使用数据库条目启动应用程序或对单元进行控制之前,请求用户为其决定进行补充输入。根据图5的实例,用户可在步骤S55在仅播放一首歌曲或播放与歌曲同名的整个曲集之间做出决定。
而且,语音识别系统也可通过关键词来操作。用户可在输入具有关于目的地或想要听的歌曲的信息的口述短语之前,输入用于控制车辆中的装置或开始导航系统的路线引导或选择媒体库的命令。基于所识别的关键词,语音识别系统可在执行图6的实例的步骤之前加载类别的各个分级结构。
关键词也可用于识别用户创建的歌曲的播放列表的名称。用户可以知道存储在语音识别系统的数据库中的关键词,或者系统具有存储在数据库中的各种关键词以便不需要基于所存储的关键词对用户进行训练。
另一示例性实施例涉及语音识别系统不能够匹配最高类别的参考项目的情形。不是请求用户重复输入口述短语(S1),而是可替换地,系统取决于可利用的存储器容量而试图加载下一类别的参考项目列表,并可试图将至少一个参考项目与口述短语的项目匹配。在其中一个下一类别中,系统可确定可被消除的不合适的路径,以便将存储器占用率保持在最低水平。进一步,在特定类别,最高类别的参考项目可基于除第一类别以外的类别的匹配参考项目而获得。例如,如果没有城市名称能够匹配口述短语的项目,则系统可加载所有城市的所有街道名称并可继续进行处理直到串接揭示出一定数目的路径是无效的为止,这些路径因此可被消除。基于路径的消除,可确定类别(例如,城市)的先前未被识别的项目。这可进一步确保将补充输入所需的用户交互保持在最低水平。
为了甚至向语音识别系统的用户提供更高的灵活性,根据本发明的另一实施例,输入的口述短语的项目也可以以任意顺序输入。而且,语音识别系统也能够提供必须澄清的路径的参考项目列表的可视输出,其中可视地输出参考项目列表的顺序可以基于它们匹配口述短语的项目的可能性。系统也可适于声学地请求用户补充输入预设的次数,直到可视地输出列表,用户通过操纵控制元件从其中进行选择。
本发明额外的实施例涉及进一步减少必要的用户交互,这可例如应用于列表存储器被超出的情况。该实施例更可以是存储器管理的进一步增强。不是在确定列表存储器的存储容量不足以为类别n的每个路径加载类别n+1的各个参考项目列表之后请求用户补充输入,而是语音识别系统可继续处理具有最高可能性成为唯一地指定数据库条目的路径的类别n的路径的匹配参考项目。参考项目列表可根据特定路径的匹配参考项目加载。在匹配处理之后,在同一类别内,要选择的下一路径是成为唯一地指定数据库条目的路径的可能性为下一较低的可能性的路径。再次加载根据当前选择的路径的参考项目列表并重复执行匹配处理,直到所有路径都已经被处理为止。
示例性的口述短语可以是“Drive me to Elizabeth Street Berkeley”。首先,语音识别系统可匹配参考项目(城市)“Berkeley”与口述短语的项目,并使该匹配的参考项目与具有最高可能性成为唯一地识别数据库条目的路径的路径相关联。该最高类别的第二匹配参考项目可以是New Jersey的城市“Elizabeth”。假定类别存储器将在加载两个匹配的城市名称的所有街道名称时被超出,则系统可首先基于最高可能性来选择参考项目“Berkeley”并加载“Berkeley”的所有街道名称。如果例如加载的列表中没有参考项目可匹配口述短语的项目“ElizabethStreet”,则可卸载对应于匹配参考项目(城市)“Berkeley”的街道名称列表并消除该路径。然后,可加载对应于城市“Elizabeth”的街道名称列表,并且例如参考项目“Berkeley Street”可匹配口述短语的项目。然后,具有匹配参考项目“Elizabeth”和“Berkeley Street”的路径已经成为具有最高可能性成为唯一地识别数据库条目的路径的路径,该路径可在下一类别内首先被考虑。对于每个随后的类别,所考虑的路径可以基于它们成为唯一地识别数据库条目的路径的可能性而被排序。
其它示例性实施例涉及考虑用于识别输入口述短语的操作参数的语音识别系统。操作参数可以例如是语音识别系统的目前位置、当前或先前的目的地、或者当前正在重放的或在播放列表中选择的媒体库的媒体文件等当中的至少一个。
在一个实施例中,操作参数可以用于确定唯一地指定数据库条目的最可能路径,然而,在另一实施例中,操作参数可以用于确定比输入的口述短语的项目具有更高类别的参考项目。后一个实施例在下面的情况中会是有利的:语音识别系统允许用户仅输入例如街道名称和房屋号,而不是说出完整的目的地。
在示例性实施例中,用户可输入口述短语(例如驾驶目的地),但语音识别系统匹配多个参考项目与例如口述短语的城市名称。通过使用操作参数,可以例如防止请求用户进行补充输入。该系统可通过GPS接收机来使用当前车辆位置的操作参数以获得当前城市名称。随后,可以检查基于GPS信息确定的当前城市名称是否匹配口述短语中的潜在城市名称之一。
因此,通过借助例如GPS信号澄清各个参考项目,可以找到最可能的路径。
在另一示例性实施例中,当前操作参数可用于初始地确定对于正确识别收入口述短语所必需的参考项目。
例如,出于示例性的目的,可以假定导航系统的用户位于New York(城市),并且仅向语音识别系统输入街道名称和房屋号作为输入的口述短语。在系统已经检测到输入口述短语不是完整目的地输入之后,系统可首先确定对应于最高类别的口述短语的项目。然后,系统可借助例如GPS信号解析出语音识别系统所处的城市名称,在本实例中将是“New York”。然后将该城市名称用作次高类别的参考项目。语音识别系统然后可试图将对应于操作参数“New York”的参考项目与输入口述短语的项目匹配。即,在该实例中,可以为基于GPS信息或者先前或当前导航目的地确定的类别n+1的项目(“New York”),加载类别n(街道名称)的参考项目列表。
另一实例可对应于音乐文件和例如仅包括歌曲标题的口述短语。然后系统可首先加载对应于例如当前被播放的歌曲的演奏者的参考项目。
导航系统中的实现方案可以是有利的,因为其允许仅输入不完整的目的地,然而,仍能保证目的地的口述短语的正确识别。为了向语音识别系统的用户提供更高的灵活性,这会是极大的益处。
本发明的另一实施例涉及使用硬件和软件的本发明的上述各个实施例的实现方案。可以认识到,各个实施例和实例可以使用计算装置(处理器)来实现或执行。计算装置或处理器可以例如是通用处理器,数字信号处理器(DSP),专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑器件等。本发明的各个实施例也可以通过这些装置的组合来执行或实现。
进一步,本发明的各个实施例也可通过软件模块来实现,这些软件模块由处理器执行或直接在硬件中执行。而且,软件模块和硬件实现方案的组合也是可能的。软件模块可存储在任何种类的计算机可读存储介质上,例如存储在RAM、EPROM、EEPROM、闪存、寄存器、硬盘、CD-ROM、DVD等上。
进一步,应该注意,本发明的不同实施例的各个单独的特征可独立地或以任意组合方式作为另一发明的主题。
本领域的技术人员可以理解的是,可在不偏离本发明宽泛描述的精神或范围的情况下对具体实施例中所示的本发明做出许多变化和/或改进。因此,这些实施例在所有方面都应被认为是说明性的而非限制性的。