用于模块仲裁的方法和装置与流程

文档序号:11530653阅读:224来源:国知局
用于模块仲裁的方法和装置与流程



背景技术:

如本领域所已知的,在一些系统中,单个语音识别ui系统可以处理用于多个应用的用户话语。仲裁模块可以选择应用中的一个来响应用户话语。在常规系统中,多类分类器执行针对各种应用的仲裁。然而,这种多类分类器是针对已知的应用而训练的。因此,多类分类器不容易扩展用于独立开发的应用。



技术实现要素:

本发明的实施例提供了用于具有多个模块的单个用户界面(ui)系统的方法和装置,其中每个模块实现完整系统的ui功能的子集。模块典型地对应于由系统所支持的应用。在运行时,由一个仲裁系统应用仲裁,该仲裁系统对由用户传递到ui系统的请求进行分析,并且取决于所请求的功能,ui系统将控制传递到相关模块。本发明的实施例涉及基于语音识别的ui系统,其中用户输入是语音命令,但是本发明的实施例也可以用于处理可能不明确的输入的其他ui系统。

一般来说,模块彼此独立地操作并可以被彼此独立地开发,从而可以容易地与其他模块对框架进行扩展,而不需要改变现有模块或改变仲裁系统。本发明的实施例根据未定义数量的独立开发的ui模块(可以向其给予控制的ui模块)提供了ui系统。

在说明性的实施例中,可能在一些第一处理(例如,对音频话语应用自动的语音识别)之后,将到ui系统的用户输入传递到相应的模块。每个模块输出概率以表示输入具有的与相应模块的功能的相关性等级。模块独立操作并向仲裁模块提供输入,仲裁模块可以处理来自任何实际数量的模块的输入。仲裁模块的作用是采集相应模块的输出,并将它们中的一个或多个提出为应该被允许处理用户的命令的模块。

本发明的实施例适用于其中期望可扩展的框架的各种应用,举例来说,例如将包括一个或多个支持语音的应用的不同设备连接到汽车中的头部单元,和/或允许不同的asr/nlu技术在系统中共享单个麦克风的集成系统。进一步的应用包括提供asr/nlu系统的可扩展系统,其可以与在不同设备上下载和执行的其他模块一起扩展。应当理解,模块不一定必须存在于不同的设备上。也可以在单个设备上(具有所提供的灵活性),可以在不同的时间点由独立的团队来开发模块,可以由用户对它们进行自由选择和组合等。

在本发明的一个方面中,一种方法包括:响应于用户话语而从第一应用的第一分类器接收第一输入,第一输入包括用户话语的至少一部分在针对第一应用的域内的概率,其中在针对第一应用的域内表示第一应用包括响应话语所需要的功能;响应于用户话语而从第二应用的第二分类器接收第二输入,第二输入包括用户话语的至少一部分在针对第二应用的域内的概率;以及使用第一和第二输入来对用户话语执行仲裁,以使得第一应用和第二应用中的第一个优先化以用于响应用户话语。

该方法还可以包括以下特征中的一个或多个:由特定于第一应用的第一应用中的asr模块对用户话语执行自动语音识别(asr),并生成针对用户话语的第一n-最佳列表,由第一应用中的第一分类器处理第一n-最佳列表,由车辆的头部单元上的仲裁模块执行仲裁,第一应用位于车辆上并且第二应用位于无线连接到头部单元的移动电话上,使用参考数据集来训练第一分类器和第二分类器,第一分类器包括域内/域外分类器,其中针对域内数据使用与第一应用相关的输入数据来训练域内/域外分类器,而针对域外数据使用与第一应用不相关的输入数据来训练域内/域外分类器,其中后者是从参考数据集中提取的,第一应用和第二应用是独立开发的,但是使用相同的参考数据集来获得用于训练的域外数据,和/或第一分类器接收特征集作为从用户话语得到的输入。

在本发明的另一方面中,一种产品包括:具有存储的指令的非暂时性计算机可读存储介质,该存储的指令使得机器能够:响应于用户话语而从第一应用的第一分类器接收第一输入,第一输入包括用户话语的至少一部分在针对第一应用的域内的概率,其中在针对第一应用的域内指示由第一应用提供的功能;响应于用户话语而从第二应用的第二分类器接收第二输入,第二输入包括用户话语的至少一部分在针对第二应用的域内的概率;以及使用第一输入和第二输入来对用户话语执行仲裁,以使得第一应用和第二应用中的第一个优先化以用于响应用户话语。

该产品还可以包括以下特征中的一个或多个:由特定于第一应用的第一应用中的asr模块对用户话语执行自动语音识别(asr),并生成针对用户话语的第一n-最佳列表,由第一应用中的第一分类器处理第一n-最佳列表,由车辆的头部单元上的仲裁模块执行仲裁,第一应用位于车辆上并且第二应用位于无线连接到头部单元的移动电话上,使用参考数据集来训练第一分类器和第二分类器,第一分类器包括域内/域外分类器,针对域内数据而使用与第一应用相关的输入数据来训练域内/域外分类器并且针对域外数据而使用与第一应用不相关的输入数据来训练域内/域外分类器,其中后者是从参考数据集中提取的,第一应用和第二应用是独立开发的,但是使用相同的参考数据集来获得域外数据,和/或第一分类器接收特征集作为从用户话语得到的输入。

在本发明的另外的方面中,一种系统包括:与第一应用和第二应用通信的接口;耦合到该接口的仲裁模块,该仲裁模块基于响应于用户话语的来自第一应用的第一输入和响应于用户话语的来自第二应用的第二输入,对用户的用户话语进行仲裁,其中从第一应用的第一分类器来接收第一输入,第一输入包括用户话语的至少一部分在针对第一应用的域内的概率,其中在针对第一应用的域内对应于由第一应用提供的功能,并且其中从第二应用的第二分类器来接收第二输入,第二输入包括用户话语的至少一部分在针对第二应用的域内的概率,仲裁模块使第一应用和第二应用中的第一个优先化以用于响应用户话语。

该系统还可以包括以下特征中的一个或多个:由特定于第一应用的第一应用中的asr模块对用户话语执行自动语音识别(asr),并生成针对用户话语的第一n-最佳列表,由第一应用中的第一分类器处理第一n-最佳列表,由车辆的头部单元上的仲裁模块执行仲裁,第一应用位于车辆上并且所第二应用位于无线连接到头部单元的移动电话上,使用参考数据集来训练第一分类器和第二分类器,第一分类器包括域内/域外分类器,针对域内数据使用与第一应用相关的输入数据来训练域内/域外分类器并且针对域外数据使用与第一应用不相关的输入数据来训练域内/域外分类器,其中后者是从参考数据集中提取的,第一应用和第二应用是独立开发的,但是使用相同的参考数据集来获得域外数据,和/或第一分类器接收特征集作为从用户话语得到的输入。

附图说明

根据以下附图描述,可以更全面地理解本发明的前述特征,以及本发明自身,其中:

图1是具有模块可扩展仲裁的系统的示意性表示;

图2是示出具有模块可扩展仲裁的系统的进一步细节的示意性表示;

图3是示出用于模块可扩展仲裁的步骤的说明性顺序的流程图;

图4是能够执行本文所描述的处理的至少一部分的说明性计算机的示意性表示。

具体实施方式

图1示出了包括与多个设备104a-n通信的汽车头部单元102的系统100。头部单元102包括多个应用106a-m,例如电话应用106a、导航应用106b以及娱乐应用106n。应当理解,可以在汽车头部单元102上提供各种各样的应用106。应用106耦合到包括仲裁模块110的交互模块108。

诸如移动电话的第一设备104a包括耦合到交互模块114的应用112,例如,社交媒体应用。诸如平板计算机的第二设备104n包括耦合到交互模块118的多个应用116a-o,例如,导航应用和sms应用。

如下面更全面地描述的,仲裁模块110确定头部单元102或设备104上的哪个应用应当响应例如来自车辆中的乘客的用户语音命令。仲裁还可以确定多个应用能够响应用户语音命令。在这种情况下,其作用是确定每个应用的相对相关性。

尽管结合汽车头部单元示出并描述了本发明的说明性实施例,但是应当理解,本发明的实施例适用于具有期望仲裁的各种应用的任何系统。

图2示出了具有实现用户界面(ui)功能的子集的多个模块202a-n的系统200。在实施例中,模块202中的每一个都对应于系统所支持的应用。示例可以是支持导航功能(语音控制的导航)的模块、支持电话功能(语音辅助的拨号)的模块以及支持控制音乐播放器的模块。模块202可以设置在车辆头部单元或连接的设备上。在运行时,由单个仲裁模块204提供仲裁,该单个仲裁模块204对由用户传递到ui系统的请求进行分析。根据所请求的功能,仲裁模块204将控制传递到相关模块。

应用202中的每一个从车辆头部单元或连接的(或未连接的)设备提供不同功能,例如,移动电话、导航、天气、音乐。应当理解,设备可以使用任何合适的通信协议(例如,蓝牙)来耦合到车辆头部单元。一般来说,头部单元和连接的应用使用车辆的麦克风和扬声器。在实施例中,仲裁模块204驻留于车辆前端上,但是可以位于任何实际的本地或远程位置处。

在实施例中,模块202彼此独立地操作。一般来说,可以彼此独立地开发模块202,以提供容易扩展的框架,而不改变现有模块或仲裁系统204。如下文更全面地描述的,本发明的实施例根据未定义数量的独立开发的ui模块提供了ui系统,并将控制指派给“正确的”模块。

模块202中的每一个都采用相同的共同定义的格式的输入。典型地,在语音ui系统中,这将是用户对系统的音频命令(例如,“播放歌曲x”)。然而,它也可以是不同的格式。例如,本领域的技术人员可以首先放置asr模块然后将其用作不同模块的输入,该asr模块将音频命令转换为文本命令,并且对于所有模块是公共的。

模块202中的每一个都包括向仲裁模块204提供输出的功能。该输出格式是单个数字,其指示接收到的输入与当前模块相关的概率,例如,模块具有用于响应接收到的ui命令的所需要的功能。如下文更全面地解释的,该概率对不同的模块是可比较的。这种可比性使得仲裁模块204能够进行操作。

在一个实施例中,每个模块202中存在的功能包括相应的输入处理模块210a-n和相应的id-vs-ood分类器模块241a-n。输入处理210对输入进行分析并从其导出特征集212a-n。在输入是以音频命令形式的情况下,这种输入处理通常会采用asr系统的形式。形成这种系统的输出的特征集可以包括例如指示以下操作的数字向量或布尔值:

-在音频信号中是否识别出了与模块相关的某些关键字(例如,对于导航模块来说,输入处理器可以搜索诸如“驾驶”、“导航”等词语)。

-asr系统给予该识别的置信度分数是多少(有多确定已经成功地识别了语句)。

-由asr系统所识别的命令的语言模型分数是多少(该命令包括以该顺序的这些词语的概率是多少)。

术语识别置信度、语言模型分数以及特征集在本领域中是公知的。基于输入信号来计算特征集以作为分类器的输入的实践在本领域中也是公知的。

id-vs-ood分类器214采用特征集212作为输入,并得出所接收的输入信号(其被处理以获得特征集合)与当前模块相关的概率。我们将该概率称为p(appa│s),其中,appa是当前模块,而s是输入信号。注意,在说明性实施例中使用产生后验概率估计作为输出的分类器。本领域所已知的示例是逻辑回归或神经网络。可以在与本领域相关的文献中找到其他的这样的分类器,并且其他的这样的分类器容易被本领域的普通技术人员理解。取决于具体应用的需要,由分类器接受的输入格式可以是相当自由的。应当注意,由输入处理产生的输出(特征集)符合分类器所期望的输入的类型。

本发明的实施例的一个方面是每个模块202的分类器214的输出(概率)与其他分类器的输出直接可比较。这通过对分类器214的训练来获得。训练是其中通过使用训练过程和训练数据集来使得分类器214适应特定使用情况的过程。训练过程取决于所选定的分类器的种类;可以使用本领域已知的任何合适的技术。另一方面,训练数据集使得分类器214的输出可比较。

要用于训练模块202a的id-vs-ood分类器214a的训练数据集应当包括与模块相关的输入数据和与模块不相关的输入数据的示例,我们将与模块相关的输入数据称为域内(id)数据,而将与模块不相关的输入数据称为域外(ood)数据。如果我们假设模块202a支持音乐功能,则id数据指示与由该模块支持的音乐功能相关的命令,例如,“播放歌曲x”或“关闭收音机”,而ood数据可以是从“导航到la”到“明天天气如何”的任何事物。在实施例中,每个模块202应当与id数据的集合(与模块相关的输入的示例的广泛且一般的集合)相关联。

为了解释我们如何使得每个分类器的输出概率可比较,我们首先考虑不是模块化的常规的集成系统(其中模块不一定可以被单独开发并自由组合)。在这种情况下,将训练具有n个输出(每个模块一个输出)的单个多类分类器,其中每个输出将对应于一个模块的后验概率,例如p(appa│s)。用于这种多类分类的分类器和针对它们的训练的在本领域中是已知的。这种分类器的训练数据集将对应于所有n个模块的id数据的结合。

作为根据本发明的实施例的朝向模块化的第一步骤,我们可以将该方法改变为训练具有单个输出p(appa│s)的n个分类器(每类一个)。该分类器214a的输出指示一个模块202a的后验概率。我们将这样的单输出分类器214a称为二进制分类器。在这种情况下,用标记为id的它自己的id数据来训练二进制分类器214a,并且所有其他模块202b-n的数据作为ood。

现在我们考虑本发明所针对的全模块化系统,其中模块是独立开发并自由组合的。在开发模块appa的期间,本领域的技术人员不容易用id数据和ood数据构成良好训练数据集,其中ood数据是所有其他模块的所有id数据的结合。虽然appa的id是已知的,但是所有其他模块的id数据通常不是已知的。这是因为模块是独立开发的,并且在运行时还将把模块独立地放在一起。这表示我们不了解数据集的ood部分,我们也不了解其大小。为了解决这个问题,说明性实施例包括以下操作:

-我们使用参考数据集(206)。该数据集包括输入数据的各种各样的示例。该数据集应当尽可能地广泛,并且一般表示可以给予系统的输入。每当我们训练用于新模块appa的分类器时,我们使用与模块appa不相关的参考数据集的任何语句作为ood数据。该参考数据集是将不同模块的训练过程联系在一起的公共参考点。

-我们用固定比例的id数据和ood数据来进行训练。可以自由选择该比例,但是对于所有模块该比例应当是相同的,例如,25%的id数据。

仲裁模块204通过对由每个模块202计算的包括二进制id-vs-ood概率和id概率的概率进行比较来做出仲裁决定。因为新模块的分类器可以以与其他模块可比较的格式生成输出,所以可以容易地添加新的应用。

一般来说,仲裁模块204可以从任何实际数量的应用模块202接收输入。另外,可以生成权重来调整仲裁模块204的行为,例如,相比于非其他模块而偏爱某些模块。这样的权重可以反映单独或组合采用的用户偏好、学习成果、训练等等。

在仲裁之后,选定的模块202还可以执行特定于该模块的其他分类任务,例如,“播放franksinatra的myway”可以涉及播放(主题)特定艺术家(字段(slot))的特定歌曲(字段)的主题/字段提取220。该任务特定于每个模块,并独立于仲裁。这表示可以仅使用id数据对其进行训练,在独立开发单个模块appa的期间该id数据是可用的。在这一点上可以使用本领域已知的用于主题/字段提取的任何算法。

如果使用估计后验概率的分类器(如针对idvsood分类所描述的)来进行主题/字段提取,则我们可以将其输出称为p(i│appa,s),其中i指的是主题和字段的组合。因为主题/字段提取特定于模块,所以该概率取决于输入信号s和模块appa。在这种情况下,本领域的技术人员可以计算对所有模块可比较的主题/字段组合的概率,如p(i│appa,s)p(appa│s)(其中我们假设给定的主题/字段只可能在一个模块内)。

图3示出了用于提供独立可插拔模块之间的仲裁的说明性步骤顺序。在步骤300中,接收到诸如用户话语的输入。在步骤302中,第一模块和第二模块使用asr对用户话语进行处理来生成相应的n-最佳输出,其形成用作到其各自分类器的输入的特征集。在步骤304中,第一模块的第一分类器处理第一n-最佳列表,而第二模块中的第二分类器处理第二n-最佳列表。分类器输出概率。在步骤306中,仲裁模块处理来自第一分类器和第二分类器的输出。在步骤308中,仲裁模块指派第一模块和第二模块中的一个来响应用户话语。

应当理解,上文所描述的说明性步骤可以包括各种类型的输入,根据各种类型的输入可以由id-ood分类器生成并使用特征集。

应当理解,本文所使用的术语应用指的是功能的集合。通常,这样的功能集合将以某种方式相关,例如,因为它们指的是相同的物理设备(例如,“电话”应用),或者因为它们指的是语义相关的概念。然而,原则上,它们还可以指代功能的更随机的组合(例如,覆盖“电话”和“导航”相关功能二者的应用)。此外,应用程序不一定必须是相互排斥的:在它们支持的功能方面可以有重叠。术语应用程序的这种灵活定义确保了该系统的广泛适用性。

图4示出了可以执行本文所描述的处理的至少一部分的示例性计算机400。计算机400包括处理器402、易失性存储器404、非易失性存储器406(例如,硬盘)、输出设备407以及图形用户界面(gui)408(举例来说,例如,鼠标、键盘、显示器)。非易失性存储器406存储计算机指令412、操作系统416以及数据418。在一个示例中,由处理器402出自易失性存储器404执行计算机指令412。在一个实施例中,产品420包括非暂时性计算机可读指令。

可以以硬件、软件或二者的组合来实现处理。可以在可编程计算机/机器上执行的计算机程序中实现处理,可编程计算机/机器各自包括处理器、存储介质或可由处理器(包括易失性存储器和非易失性存储器和/或存储元件)读取的其他制造产品、至少一个输入设备,以及一个或多个输出设备。程序代码可以应用于使用输入设备而输入的数据,以执行处理并生成输出信息。

系统可以至少部分地经由计算机程序产品(例如,在机器可读存储设备中)执行处理,以用于由数据处理装置(例如,可编程处理器、计算机、或多个计算等)来执行或控制数据处理装置的操作。可以以高级过程或面向对象的编程语言来实现每个这样的程序以与计算机系统通信。然而,可以以汇编语言或机器语言来实现程序。语言可以是编译语言或解释语言,并且可以以任何形式部署该语言,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序可以被部署为在一个计算机上或多个计算机上执行,多个计算机在一个站点处或者分布在多个站点之间并通过通信网络互连。计算机程序可以存储在存储介质或者可以由通用或专用可编程计算机读取的设备(例如,cd-rom、硬盘、或磁盘)上,以用于当存储介质或设备由计算机读取时对计算机进行配置和操作。处理还可以被实现为配置有计算机程序的机器可读存储介质,其中在执行时,计算机程序中的指令使得计算机进行操作。

处理可以由执行一个或多个计算机程序以执行系统的功能的一个或多个可编程处理器来执行。系统的全部或部分可以被实现为专用逻辑电路(例如,fpga(现场可编程门阵列)和/或asic(专用集成电路))。

可以对本文所描述的不同实施例的元件进行组合以形成上文没有具体阐述的其他实施例。在单个实施例的上下文中描述的各种元件也可以单独地提供或者以任何合适的子组合的形式来提供。本文没有具体描述的其他实施例也在所附权利要求的范围内。

已经描述了本发明的示例性实施例,现在对于本领域的普通技术人员来说变得显而易见的是,也可以使用包括其概念的其他实施例。本文所包括的实施例不应被限于所公开的实施例,而是仅应由所附权利要求的精神和范围来限制。本文所引用的所有出版物和参考文献通过整个地引用明确地并入本文中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1