用于基于预先合成的对话提供人工智能服务的电子设备和方法
文献发布时间:2023-06-19 10:14:56
技术领域
本公开涉及提供基于语音的智能辅助服务的电子设备。
背景技术
近来,正在引入提供基于语音的智能助手服务的电子设备。例如,人工智能扬声器很方便,因为它能够控制布置在家庭中的各种家用电器并监视水或电的使用量,而无需人工干预。
使用基于语音的平台的电子设备(例如,人工智能扬声器或智能手机)能够管理或控制其他设备,而无需用户手动操作。电子设备可以使用人工智能算法和语音识别来通过语音与用户通信,从而使家中的用户仅通过语音即可轻松控制其他设备。这样的电子设备正在成为下一代平台。
发明内容
技术问题
在现有技术中,现有的电子设备倾向于仅在从用户接收到调用基于语音的智能助手服务的唤醒话语之后才拾取用户的语音,分析所拾取的语音数据,并提供相应的人工智能服务。
这样的电子设备在接收到唤醒话语之前认为用户的对话是没有意义的,而忽略了用户的日常对话。在这种情况下,为了接收期望的服务,用户可能必须在唤醒话语之后重复他或她在唤醒话语之前所说的话。
技术问题的决方案
根据本公开的实施例,提供了一种电子设备。该电子设备可以包括:壳体;麦克风,设置在壳体内部并且通过壳体的第一部分暴露的麦克风;至少一个扬声器,该至少一个扬声器设置在壳体内部并通过壳体的第二部分暴露;设置在壳体内部的通信电路;处理器,该处理器设置在壳体内部,并且与麦克风、扬声器和通信电路可操作地连接;以及存储器,该存储器设置在壳体内部,与处理器可操作地连接,并且被配置为存储多个应用程序。该存储器存储有指令,该指令在被执行时使处理器控制电子设备:在接收到调用基于语音的智能助手服务的唤醒话语之前,基于指定条件收集用户的语音数据;将收集到的语音数据发送到外部服务器,并请求外部服务器构建被配置为预测用户的意图的预测数据库;以及在接收到唤醒话语之后,基于包括在预测数据库中的至少一条信息来输出与用户的意图相关的推荐服务。
根据本公开的实施例,提供了一种能够响应于调用基于语音的智能助手服务的唤醒话语而提供与用户的意图相关的推荐服务的操作电子设备的方法。该方法可以包括:在接收到所述唤醒话语之前,基于指定条件收集用户的语音数据;将收集到的语音数据发送到外部服务器,并请求所述外部服务器构建被配置为预测所述用户的意图的预测数据库;在接收到所述唤醒话语之后,基于存储在所述预测数据库中的至少一条信息来确定权重;以及基于所述权重确定与所述用户的意图相关的推荐服务,并输出所确定的推荐服务。
根据本公开的实施例,一种用于响应于调用基于语音的智能助手服务的唤醒话语来操作服务器以提供与用户的意图相关的推荐服务的方法。该方法可以包括:从电子设备接收语音数据;分析语音数据中包括的用户的对话的上下文;基于分析的上下文确定语音数据是否足以识别出用户的意图;基于语音数据生成足以识别用户的意图的路径规则,并基于语音数据不足以识别用户的意图而累积存储语音数据;基于生成的路径规则来构建使用生成的路径规则预测用户的意图的预测数据库;以及基于接收到唤醒话语的电子设备将预测数据库中包括的至少一个路径规则发送到电子设备。
根据本公开的实施例,电子设备预先(例如,在用户输入唤醒话语之前)收集用户的会话,并基于收集的结果提供基于语音的智能助手服务。因此,电子设备可以提供快速且准确的响应并基于附加信息产生响应。另外,当电子设备的用户使用基于语音的智能助手服务时,可以通过减少语音输入的数量和/或大小来提高用户的便利性。
本发明的有益效果
根据本公开的各种实施例的电子设备可以在用户输入唤醒话语之前预先收集用户的对话,并且可以基于收集的结果提供人工智能服务。因此,电子设备可以提供快速且准确的响应并基于附加信息产生响应。另外,当电子设备的用户利用语音识别人工智能服务时,可以通过减少语音输入的数量或大小来提高用户的便利性。
附图说明
通过以下结合附图的详细描述,本公开的某些实施例的上述和其他方面、特征和优点将变得更加明显,其中:
图1是示出了根据本公开的各种实施例的示例集成智能系统的图;
图2是示出了根据本公开的实施例的集成智能系统中的示例电子设备的框图;
图3A和图3B是示出了根据本公开的实施例的电子设备的示例智能应用的执行的图;
图4是示出了根据本公开的实施例的智能服务模块的示例上下文模块收集当前状态信息的图;
图5是示出了根据本公开的实施例的智能服务模块的示例建议模块的框图;
图6是示出了根据本公开的实施例的集成智能系统中的示例智能服务器的框图;
图7是示出了根据本公开的实施例的自然语言理解(NLU)模块生成路径规则的示例方案的图;
图8是示出了根据本公开的实施例的管理关于用户的信息的智能服务模块的示例角色模块的图;
图9是示出了根据本公开的实施例的集成智能系统的示例操作的图;
图10A和图10B是示出了根据本公开的实施例的电子设备的状态指示的示例的图;
图11是示出了根据本公开的实施例的电子设备提供人工智能服务的示例方法的图;
图12是示出了根据本公开的实施例的电子设备提供人工智能服务的另一示例方法的图;
图13是示出了根据本公开的实施例的电子设备的示例操作的流程图;
图14是示出了根据本公开的另一实施例的电子设备的示例操作的流程图;
图15是示出了根据本公开的实施例的电子设备设置权重的示例方案的流程图;
图16是示出了根据本公开的实施例的集成智能系统的示例配置和操作的框图;
图17是示出了根据本公开的实施例的示例自动语音识别模块的框图;
图18是示出了根据本公开的实施例的电子设备获得路径规则的示例方案的图;
图19是示出了根据本公开的实施例的智能服务器的示例操作的流程图;
图20是示出了根据本公开的实施例的电子设备收集语音数据的示例操作的流程图;
图21是示出了根据本公开的实施例的电子设备响应于唤醒话语提供推荐服务的示例操作的流程图;
图22是示出了根据本公开的实施例的电子设备请求附加信息的示例操作的流程图;
图23是示出了根据本公开的实施例的电子设备基于说话者提供推荐服务的示例的图;
图24是示出了根据本公开的实施例的电子设备基于时间信息提供推荐服务的示例的图;
图25是示出了根据本公开的实施例的电子设备基于上下文的完整性来提供推荐服务的示例的图;
图26是示出了根据本公开的实施例的电子设备提供推荐服务的另一示例的图;以及
图27是示出了根据本公开的实施例的电子设备提供补充信息的示例的图。
具体实施方式
在描述本公开的实施例之前,给出了可以将本公开的实施例应用于集成智能系统的描述。
图1是示出了根据本公开的各种实施例的示例集成智能系统的图。
参照图1,集成智能系统10可以包括电子设备100、智能服务器200、个性化信息服务器300和建议服务器400。
电子设备100可以通过存储在其中的应用程序(应用或app)(例如,闹钟应用、消息应用、照片或图库应用)来提供用户所需的服务。例如,电子设备100可以通过存储在电子设备100中的智能应用(或语音识别app)来调用和执行其他应用。电子设备100可以通过智能应用接收用于执行另一应用的输入(例如,用户输入)。例如可以但不限于经由物理按钮、触摸板、语音输入、远程输入等来接收用户输入。在示例实施例中,电子设备100可以对应于可以连接到互联网的各种终端设备(或电子设备)之一,例如但不限于,移动电话、智能手机、个人数字助理(PDA)、笔记本计算机等。
在示例实施例中,电子设备100可以接收用户话语作为用户输入。电子设备100可以接收用户话语,并且基于用户话语生成调用特定应用的命令。因此,电子设备100可以使用命令来执行应用。
智能服务器200可以通过通信网络从电子设备100接收用户语音输入,并将接收到的语音输入转换为文本数据。在另一个实施例中,智能服务器200可以基于文本数据生成或选择路径规则。路径规则可以包括关于用于执行应用的功能的动作(或操作)的信息或关于执行动作所需的参数的信息。路径规则还可以包括关于应用的动作序列的信息。电子设备100可以接收路径规则,根据该路径规则选择应用,并且执行由该路径规则指示的所选应用的动作。
在本公开中,术语“路径规则”通常来说可以指但不限于电子设备100执行用户请求的任务的状态序列。也就是说,路径规则可以包括关于状态序列的信息。该任务例如可以是智能应用能够提供的任何动作。例如但不限于,任务可以对应于创建时间表,将照片发送给期望的对方,提供天气信息等。电子设备100可以通过例如在一个或多个状态(例如,电子设备100的操作状态)之间进行顺序转换来执行任务。
在示例实施例中,路径规则可以由人工智能(AI)系统提供或生成。人工智能系统例如可以但不限于包括基于规则的系统、基于神经网络的系统(例如,前馈神经网络(FNN)、递归神经网络(RNN))等或其任意组合,或者可以是其他一些人工智能系统。在示例实施例中,路径规则可以例如但不限于是预定义的路径规则集中的一个选定规则,可以响应于用户请求而实时生成等。例如,人工智能系统可以选择多个预定义的路径规则中的至少一个,可以动态地或实时地生成路径规则等。电子设备100还可以使用混合系统来提供路径规则。
在示例实施例中,电子设备100可以执行操作并且在显示器上显示已经执行了该操作的电子设备100的状态。例如,电子设备100可以执行操作,但是不将操作结果显示在显示器上。电子设备100可以执行多个操作并且在显示器上显示一些操作的结果。电子设备100可以仅在显示器上显示序列的最后操作的结果。作为另一示例,电子设备100可以接收用户输入并且在显示器上显示针对用户输入的操作结果。
个性化信息服务器300可以包括存储用户信息的数据库。例如,个性化信息服务器300可以从电子设备100接收用户信息(例如,上下文信息或应用执行),并将接收到的信息存储在数据库中。智能服务器200可以通过通信网络从个性化信息服务器300接收用户信息,并且可以使用用户信息来生成与用户输入相对应的路径规则。在示例实施例中,电子设备100可以通过通信网络从个性化信息服务器300接收用户信息,并且可以使用接收到的信息来管理数据库。
建议服务器400可以包括数据库,该数据库存储关于电子设备的功能的信息或关于存储在电子设备中的应用的信息。例如,建议服务器400可以从个性化信息服务器300接收电子设备100的用户信息,并且可以包括用户可用的功能的数据库。电子设备100可以通过通信网络从建议服务器400接收关于可用功能的信息,并且可以将接收到的信息提供给用户。
图2是示出了根据本公开的实施例的集成智能系统中的示例电子设备的框图。
参照图2,电子设备100可以包括输入模块(例如,包括输入电路)110、显示器120、用户接口模块(例如,包括用户接口电路)125、扬声器130、存储器140、和处理器(例如,包括处理电路)150。电子设备100还可以包括壳体,并且电子设备100的组件可以安装在壳体内或布置在壳体上。电子设备100还可以在壳体内部包括通信电路。电子设备100可以通过通信电路与外部服务器(例如,智能服务器200)交换数据(或信息)。
在示例实施例中,输入模块110可以包括各种输入电路并且从用户接收用户输入。例如,输入模块110可以从连接的外部设备(例如,键盘或耳机)接收用户输入。作为另一示例,输入模块110可以包括与显示器120耦接的触摸屏。作为另一示例,输入模块110可以包括位于电子设备100(或其壳体)中的硬件键(或物理键)。然而,将理解的是本公开不限于这些示例。
在示例实施例中,输入模块110可以包括能够接收用户话语作为语音信号的麦克风。例如,输入模块110可以包括语音输入系统,并且可以通过语音输入系统接收用户话语作为语音信号。麦克风可以通过壳体的一部分(例如,第一部分)暴露。
在示例实施例中,显示器120可以显示执行的应用的图像、视频和/或画面。例如,显示器120可以显示应用的图形用户界面(GUI)。显示器120可以通过壳体的一部分(例如,第二部分)暴露。
在示例实施例中,用户接口模块125可以包括各种用户接口电路,并且提供关于在接收唤醒话语之前收集用户对话的状态或者响应于唤醒话语提供推荐服务的状态的用户界面(UI)或用户体验(UX)。用户接口模块125可以包括设置在电子设备100的壳体的至少一部分中的LED照明(例如,图10A和图10B中的标记1003)。例如,电子设备100可以结合收集用户对话的状态或提供推荐服务的状态来控制LED照明1003。电子设备100可以基于电子设备100的状态来控制LED照明1003的形状、亮度、强度或颜色。
在示例实施例中,扬声器130可以输出声音信号。扬声器130可以将在电子设备100中产生的声音信号输出到外部。扬声器130可以通过壳体的一部分(例如,第三部分)暴露。
在示例实施例中,存储器140可以存储多个应用(应用程序)141和143。应用141和143例如可以是用于执行与用户输入相对应的功能的程序。在示例实施例中,存储器140可以存储智能代理145、执行管理器模块147和智能服务模块149。智能代理145、执行管理器模块147和智能服务模块149例如可以是用于处理接收到的用户输入(例如,用户话语)的框架(应用框架)。
在示例实施例中,存储器140可以包括能够存储识别用户输入所必需的信息的数据库。例如,存储器140可以包括能够存储日志信息的日志数据库。作为另一示例,存储器140可以包括能够存储用户信息的角色数据库。
在示例实施例中,存储器140可以存储多个应用141和143,并且多个应用141和143可以被加载用于执行。例如,存储在存储器140中的应用141和143可以被执行管理器模块147加载以执行。每个应用141或143可以包括执行功能的执行服务模块141a或143a。为了执行功能,应用141或143可以通过执行服务模块141a或143a执行多个操作141b或143b(例如,状态序列)。也就是说,执行服务模块141a和143a由执行管理器模块147激活,并且可以执行多个操作141b和143b。
在示例实施例中,当执行应用141或143的操作141b或143b时,可以在显示器120上输出根据操作141b或143b的执行的执行状态画面。例如,执行屏幕画面可以是操作141b或143b完成时的画面。例如,执行状态画面可以是操作141b或143b的部分登陆的画面(例如,操作141b或143b所需的参数未被输入)。
在示例实施例中,执行服务模块141a或143a可以根据路径规则来执行操作141b或143b。例如,执行服务模块141a或143a可以由执行管理器模块147激活,从执行管理器模块147接收与路径规则相对应的执行请求,并且响应于该执行请求来执行操作141b或143b。从而,可以执行应用141或143的功能。当操作141b或143b完成时,执行服务模块141a或143a可以将完成信息发送到执行管理器模块147。
在示例实施例中,操作141b或143b可以在应用141或143中顺序执行。执行服务模块141a或143a可以完成一个操作的执行(例如,第一应用141的操作1或第二应用143的操作1),打开下一个操作(例如,第一应用141的操作2或第二应用143的操作2),并将完成信息发送到执行管理器模块147。例如,打开操作可以理解为将操作转换到可执行状态或准备执行操作。也就是说,如果未打开操作,则无法执行该操作。在接收到完成信息时,执行管理器模块147可以将下一个操作(例如,第一应用141的操作2或第二应用143的操作2)的执行请求发送到相应的执行服务模块。在示例实施例中,可以顺序地执行应用141和143。例如,在接收到第一应用141的最后操作(例如,操作3)的完成信息时,执行管理器模块147可以将对第二应用143的第一操作(例如,第二应用143的操作1)的执行请求发送到执行服务模块143a。
在示例实施例中,当在应用141和143中执行多个操作141b和143b时,可以在显示器120上输出与每个已执行的操作141b和143b相对应的结果画面。当在应用141和143中执行操作141b和143b时,与一些已执行的操作141b和143b相对应的结果画面可以在显示器120上输出。
在示例实施例中,存储器140可以存储与智能代理145相关联的智能应用(例如,语音识别应用)。与智能代理145相关联的应用可以接收用户话语并将其处理为语音信号。可以通过输入模块110的特定输入(例如,经由硬件键的输入、经由触摸屏的输入或特定语音输入)来调用与智能代理145相关联的应用。
在示例实施例中,存储在存储器140中的智能代理145、执行管理器模块147或智能服务模块149可以由处理器150执行。智能代理145、执行管理器模块147或智能服务模块149的功能可以由处理器150执行。将根据处理器150的操作或动作来描述智能代理145、执行管理器模块147或智能服务模块149的功能。存储在存储器140中的智能代理145、执行管理器模块147或智能服务模块149可以以硬件、软件或其任何组合来实现。也就是说,电子设备100中包括的各种模块和代理(例如,智能代理145、执行管理器模块147、智能服务模块149等)可以包括各种处理电路和/或可执行程序元素。
在示例实施例中,处理器150可以包括各种处理电路并且控制电子设备100的整体操作。例如,处理器150可以控制输入模块110接收用户输入。处理器150可以控制显示器120显示图像。处理器150可以控制扬声器130输出声音信号。处理器150可以控制存储器140执行程序并检索或存储必要的信息。
在示例实施例中,处理器150可以执行存储在存储器140中的智能代理145、执行管理器模块147或智能服务模块149。由此,处理器150可以实现智能代理145、执行管理器模块147、或智能服务模块149的功能。
在示例实施例中,处理器150可以执行智能代理145以基于作为用户输入接收到的语音信号来生成用于调用应用的命令。处理器150可以执行执行管理器模块147,以根据生成的命令来调用存储在存储器140中的应用141或143。处理器150可以执行智能服务模块149以管理用户信息并使用用户信息处理用户输入。
处理器150可以执行智能代理145以将经由输入模块110接收到的用户输入传输到智能服务器200,并且可以通过智能服务器200处理用户输入。
在示例实施例中,处理器150可以在将用户输入发送到智能服务器200之前调用智能代理145以预处理用户输入。在示例实施例中,为了预处理用户输入,智能代理145可以包括自适应回声消除器(AEC)模块、噪声抑制(NS)模块、端点检测(EPD)模块或自动增益控制(AGC)模块。自适应回声消除器模块可以去除用户输入中包括的回声。噪声抑制模块可以抑制用户输入中包括的背景噪声。端点检测模块可以检测用户输入中包括的用户语音的端点,并使用检测到的端点来找到存在用户语音的部分。自动增益控制模块可以调整用户输入的音量以适合于识别和处理用户输入。处理器150可以执行所有高性能的预处理组件,并且可以执行用于低功耗操作的一些预处理组件。
在示例实施例中,智能代理145可以执行存储在存储器140中的唤醒识别模块以识别用户的调用。处理器150可以经由唤醒识别模块来识别用户的唤醒命令,并且可以在接收到唤醒命令时执行智能代理145以接收用户输入。唤醒识别模块可以用低功率处理器(例如,包括在音频编解码器中的处理器)来实现。在示例实施例中,处理器150可以在经由硬件键接收到用户输入时调用智能代理145。当调用智能代理145时,可以执行与智能代理145相关联的智能应用(例如,语音识别应用)。
在示例实施例中,智能代理145可以包括处理用户输入的语音识别模块。处理器150可以通过语音识别模块识别用户输入以使得应用执行动作。例如,处理器150可以经由语音识别模块来识别有限的用户(语音)输入,该有限的用户(语音)输入使得应用141或143执行诸如唤醒命令的动作(例如,诸如“点击”之类的话语来触发相机应用运行时的拍摄动作)。处理器150可以协助智能服务器200快速识别和处理能够通过语音识别模块在电子设备100中处理的用户命令。可以在应用处理器中实现用于处理用户输入的智能代理145的语音识别模块。
在示例实施例中,智能代理145的语音识别模块(包括唤醒模块的语音识别模块)可以使用语音识别算法来识别用户输入。语音识别算法可以包括但不限于例如隐马尔可夫模型(HMM)算法、人工神经网络(ANN)算法、动态时间规整(DTW)算法等中的至少一种。
在示例实施例中,处理器150可以调用智能代理145以将用户的语音输入转换为文本数据。例如,处理器150可以经由智能代理145将语音输入发送到智能服务器200,并且可以从智能服务器200接收与语音输入相对应的文本数据。然后,处理器150可以将转换后的文本数据显示在显示器120上。
在示例实施例中,处理器150可以调用智能代理145以从智能服务器200接收路径规则。处理器150可以经由智能代理145将路径规则传递给执行管理器模块147。
在示例实施例中,处理器150可以根据从智能服务器200接收到的路径规则来调用智能代理145,并且将执行结果日志传递给智能服务模块149,其中可以在角色模块149b的用户偏好信息中进行积累和管理执行结果日志。
在示例实施例中,处理器150可以调用执行管理器模块147以从智能代理145接收路径规则,并且可以使应用141和143执行由路径规则指示的动作141b和143b。例如,处理器150可以经由执行管理器模块147将用于执行操作141b和143b的命令信息(例如,路径规则信息)发送到应用141和143,并且从应用141和143接收操作141b和143b的完成信息。
在示例实施例中,处理器150可以调用执行管理器模块147以在智能代理145与应用141和143之间传输命令信息(例如,路径规则信息),以执行应用141和143的操作141b和143b。处理器150可以通过执行管理器模块147根据路径规则来绑定要被执行的应用141和143,并且针对操作141b和143b发送路径规则的应用141和143的命令信息(例如,参数)。例如,处理器150可以通过执行管理器模块147将路径规则中包括的操作141b和143b的参数依次发送到应用141和143,以便根据路径规则依次执行应用141和143的操作141b和143b。
在示例实施例中,处理器150可以调用执行管理器模块147以管理应用141和143的操作141b和143b的执行状态。例如,处理器150可以经由执行管理器模块147从应用141b和143b接收关于操作141b和143b的执行状态的信息。例如,如果操作141b或143b处于暂停(部分着陆)状态(例如,操作141b或143b所需的参数未被输入),则处理器150可以经由执行管理器模块147将关于暂停状态的信息发送给智能代理145。然后,处理器150可以基于通过智能代理145接收到的信息来请求用户输入必要的信息(例如,参数信息)。作为另一个示例,如果操作141b或143b处于运行状态,则处理器150可以经由智能代理145从用户接收话语。处理器150可以通过执行管理器模块147将关于正在执行的应用141或143及其执行状态的信息发送给智能代理145。处理器150可以经由智能代理145将用户话语发送给智能服务器200。处理器150可以经由智能代理145从智能服务器200接收用户话语的参数信息。处理器150可以经由智能代理145将接收到的参数信息发送给执行管理器模块147。执行管理器模块147可以基于接收到的参数信息将操作141b和143b的参数改变为新参数。
在示例实施例中,处理器150可以调用执行管理器模块147以将包括在路径规则中的参数信息发送到应用141和143。当要根据路径规则顺序地执行应用141和143时,执行管理器模块147可以提供从一个应用到另一应用的路径规则中包括的参数信息。
在示例实施例中,处理器150可以调用执行管理器模块147以接收多个路径规则。处理器150可以基于用户话语经由执行管理器模块147选择多个路径规则。例如,如果用户话语指定一个应用141执行操作141a,但未指定另一应用143执行剩下的操作143b,则处理器150可以通过执行管理器模块147接收不同的路径规则以运行用于执行操作141a的指定应用141(例如,图库应用)和运行用于执行剩下的操作143b的不同应用143(例如,消息和电报应用)。处理器150可以例如经由执行管理器模块147执行由多个路径规则指示的相同操作141b和143b(例如,相同的连续操作141b和143b)。当执行相同的操作时,处理器150可以通过执行管理器模块147在显示器120上显示用于选择由多个路径规则表示的不同应用141和143的状态画面。
在示例实施例中,智能服务模块149可以包括上下文模块149a、角色模块149b和建议模块149c。
处理器150可以调用上下文模块149a以收集关于应用141和143的状态的信息。例如,处理器150可以调用上下文模块149a以接收指示应用141和143的当前状态的上下文信息,并且可以通过接收到的上下文信息来收集应用141和143的当前状态信息。
处理器150可以调用角色模块149b来管理使用电子设备100的用户的个人信息。例如,处理器150可以调用角色模块149b来收集电子设备100的使用信息和执行结果信息,并且可以基于收集到的使用情况和执行结果信息来管理用户的个人信息。
处理器150可以调用建议模块149c以预测用户的意图并基于用户的意图向用户推荐命令。例如,处理器150可以调用建议模块149c来基于用户的当前状态(例如,时间、位置、状况、或应用)向用户推荐命令。
图3A和图3B是示出了根据本公开的实施例的电子设备的智能应用的示例执行的图。
在示例实施例中,图3A和图3B示出了电子设备100接收用户输入并执行与智能代理145相关联的智能应用(例如,语音识别应用)的情况。
在示例实施例中,如图3B所示,电子设备100例如可以但不限于通过硬件键112调用用于语音识别的智能应用。例如,当通过硬件键112接收到用户输入时,电子设备100可以在显示器120上显示智能应用的用户界面(UI)121。例如,当智能应用的UI 121输出在显示器120上时,用户可以触摸智能应用的UI 121的语音识别按钮121a来输入语音信号120b。作为另一个示例,用户可以连续按下硬件键112以输入语音信号120b。
在示例实施例中,如图3A所示,电子设备100可以通过麦克风111调用用于语音识别的智能应用。例如,当经由麦克风111输入指定的语音信号120a(例如,“起床!”)时,电子设备100可以在显示器120上显示智能应用的UI 121。
图4是示出了根据本公开的实施例的智能服务模块的示例上下文模块收集当前状态信息的图。
参照图4,当从智能代理145接收到上下文请求(①)时,处理器150可以调用上下文模块149a以发送对指示了应用141和143的当前状态的上下文信息的请求(②),从应用141和143接收上下文信息(③),并将接收到的上下文信息发送到智能代理145(④)。
在示例实施例中,处理器150可以经由上下文模块149a从应用141和143接收多条上下文信息。上下文信息例如可以但不限于是关于最近执行的应用141或143的信息。上下文信息例如可以但不限于是关于应用141或143的当前状态的信息(例如,在图库中查看照片时关于特定照片的信息)。
在示例实施例中,处理器150可以经由上下文模块149a从设备平台以及应用141和143接收指示电子设备100的当前状态的上下文信息。上下文信息例如可以包括但不限于通用上下文信息、用户上下文信息、设备上下文信息等。
通用上下文信息可以包括关于电子设备100的通用信息。可以通过设备平台的传感器集线器接收通用上下文信息,并且可以通过内部算法来验证通用上下文信息。例如,通用上下文信息可以包括关于当前时间和空间的信息。当前时间和空间的信息可以包括例如关于当前时间的信息或关于电子设备100的当前位置的信息。当前时间可以通过电子设备100的时间来确定,并且可以经由全球定位系统(GPS)来确定关于当前位置的信息。作为另一个示例,通用上下文信息可以包括关于身体运动的信息。关于身体运动的信息可以包括例如但不限于关于步行、跑步、驾驶等信息。可以通过运动传感器来识别身体运动信息。对于关于驾驶的信息,可以通过运动传感器识别骑行,并可以通过检测车辆中的蓝牙连接来识别上车或停车。作为另一个示例,通用上下文信息可以包括用户活动信息。用户活动信息可以包括例如关于通勤、购物或旅行的信息。可以基于关于用户或应用在数据库中注册的位置的信息来检查用户活动信息。
用户上下文信息可以包括关于用户的信息。例如,用户上下文信息可以包括关于用户的情绪状态的信息。关于情绪状态的信息可以包括例如但不限于关于用户的幸福、悲伤、愤怒等信息。作为另一示例,用户上下文信息可以包括关于用户的当前状态的信息。关于当前状态的信息可以包括例如关于兴趣或意图(例如,购物)的信息。
设备上下文信息可以包括关于电子设备100的状态的信息。例如,设备上下文信息可以包括关于由执行管理器模块147处理的路径规则的信息。作为另一示例,设备上下文信息可以包括关于电池的信息。关于电池的信息可以指示例如电池的充电或放电状态。作为另一示例,设备上下文信息可以包括关于连接的设备和网络的信息。可以经由例如设备连接的通信接口来识别关于所连接的设备的信息。
图5是示出了根据本公开的实施例的智能服务模块的示例建议模块的框图。
参照图5,建议模块149c可以包括提示提供模块(例如,包括处理电路和/或可执行程序元素)149c-1、上下文提示生成模块(例如,包括处理电路和/或可执行程序元素)149c-2、条件检查模块(例如,包括处理电路和/或可执行程序元素)149c-3、条件模型模块(例如,包括处理电路和/或可执行程序元素)149c-4、重用提示生成模块(例如,包括处理电路和/或可执行程序元素)149c-5以及介绍提示生成模块(例如,包括处理电路和/或可执行程序元素)149c-6。
在示例实施例中,处理器150可以调用提示提供模块149c-1以向用户提供提示。例如,处理器150可以经由提示提供模块149c-1接收由上下文提示生成模块149c-2、重用提示生成模块149c-5或介绍提示生成模块149c-6生成的提示,并将该提示提供给用户。
在示例实施例中,处理器150可以调用条件检查模块149c-3或条件模型模块149c-4以生成能够根据当前状态推荐的提示。处理器150可以调用条件检查模块149c-3以接收关于当前状态的信息,并且可以调用条件模型模块149c-4以基于接收到的信息来配置条件模型。例如,处理器150可以调用条件模型模块149c-4,以在要向用户提供提示的时间点识别使用中的时间、位置、状况或应用,并基于在相应条件下使用的可能性按照优先级的顺序来向用户提供提示。
在示例实施例中,处理器150可以调用重用提示生成模块149c-5以生成能够根据使用频率推荐的提示。例如,处理器150可以调用重用提示生成模块149c-5,以基于用户的使用模式来生成提示。
在示例实施例中,介绍提示生成模块149c-6可以生成用于向用户介绍新功能或另一用户经常使用的功能的提示。例如,介绍新功能的提示可以包括对智能代理145的介绍(例如,操作方式)。
在另一实施例中,建议模块149c的上下文提示生成模块149c-2、条件检查模块149c-3、条件模型模块149c-4、重用提示生成模块149c-5和介绍提示生成模块149c-6可以被包括在个性化信息服务器300中。在这种情况下,处理器150可以调用提议模块149c的提示提供模块149c-1以从个性化信息服务器300的上下文提示生成模块149c-2、重用提示生成模块149c-5或介绍提示生成模块149c-6接收提示,并将接收到的提示提供给用户。
在示例实施例中,电子设备100可以根据以下示例操作系列来提供提示。例如,在从智能代理145接收到提示提供请求时,处理器150可以经由提示提供模块149c-1将提示生成请求发送到上下文提示生成模块149c-2。在接收到提示提供请求时,处理器150还可以经由条件检查模块149c-3从上下文模块149a和角色模块149b接收与当前状态相对应的信息。处理器150可以经由条件检查模块149c-3将接收到的信息传送到条件模型模块149c-4,并且可以基于条件模型模块149c-4提供的信息并按照对上述条件的适用性来对要提供给用户的提示进行优先级排序。处理器150可以识别以上条件,并通过上下文提示生成模块149c-2来生成与当前状态相对应的提示。处理器150可以将通过上下文提示生成模块149c-2生成的提示转发给提示提供模块149c-1。处理器150可以经由提示提供模块149c-1根据指定的规则对提示进行分类,并且将分类后的提示发送给智能代理145。
在示例实施例中,处理器150可以通过提示提供模块149c-1生成多个上下文提示,并根据指定的规则为多个上下文提示分配优先级。处理器150可以首先通过提示提供模块149c-1向用户提供多个上下文提示中的高优先级提示。
在示例实施例中,电子设备100可以根据使用频率来建议提示。例如,在从智能代理145接收到提示提供请求时,处理器150可以经由提示提供模块149c-1将提示生成请求发送到重用提示生成模块149c-5。在接收到提示提供请求之后,处理器150可以经由重用提示生成模块149c-5从角色模块149b接收用户信息。例如,处理器150可以通过重用提示生成模块149c-5接收路径规则、包括在路径规则中的参数、角色模块149b的用户偏好信息中包括的关于应用执行频率的信息、以及关于使用应用的时间和空间的信息。处理器150可以生成与通过重用提示生成模块149c-5接收到的用户信息相对应的提示。处理器150可以将通过重用提示生成模块149c-5生成的提示转发给提示提供模块149c-1。处理器150可以经由提示提供模块149c-1对提示进行分类,并且将分类后的提示转发给智能代理145。
在示例实施例中,电子设备100可以建议关于新功能的提示。例如,在从智能代理145接收到提示提供请求时,处理器150可以经由提示提供模块149c-1将提示生成请求发送到介绍提示生成模块149c-6。处理器150可以通过介绍提示生成模块149c-6将介绍提示提供请求发送到建议服务器400,并且从建议服务器400接收关于要介绍的功能的信息。建议服务器400可以例如存储关于要介绍的功能的信息以及服务运营商可以更新要介绍的功能的提示列表。处理器150可以将通过介绍提示生成模块149c-6生成的提示转发给提示提供模块149c-1。处理器150可以经由提示提供模块149c-1对提示进行分类,并且将分类后的提示转发给智能代理145。
因此,处理器150可以通过建议模块149c向用户提供由上下文提示生成模块149c-2、重用提示生成模块149c-5或介绍提示生成模块149c-6生成的提示。例如,处理器150可以经由建议模块149c将生成的提示输出到与智能代理145相关联的应用,并且通过该应用接收用于选择提示的用户输入。
图6是示出了根据本公开的实施例的集成智能系统中的示例智能服务器的框图。
参照图6,智能服务器200可以包括自动语音识别(ASR)模块(例如,包括处理电路和/或可执行程序单元)210、自然语言理解(NLU)模块(例如,包括处理电路和/或可执行程序元素)220、路径规则器模块(例如,包括处理电路和/或可执行程序元素)230、对话管理器(DM)模块(例如,包括处理电路和/或可执行程序元素)240、自然语言生成器(NLG)模块(例如,包括处理电路和/或可执行程序元素)250、文本语音(TTS)模块(例如,包括处理电路和/或可执行程序元素)260和预测数据库270。
在示例实施例中,智能服务器200可以包括通信电路、存储器和处理器。处理器可以执行存储在存储器中的指令以驱动ASR模块210、NLU模块220、路径规则器模块230、DM模块240、NLG模块250和TTS模块260。智能服务器200可以通过通信电路向外部电子设备(例如,电子设备100)发送数据(或信息)和从外部电子设备(例如,电子设备100)接收数据(或信息)。
智能服务器200的自然语言理解模块220或路径规则器模块230可以生成路径规则。
在示例实施例中,自动语音识别模块210可以将从电子设备100接收到的用户输入转换为文本数据。
在示例实施例中,自动语音识别模块210可以将从电子设备100接收到的用户输入转换为文本数据。例如,自动语音识别模块210可以包括话语识别模块。话语识别模块可以包括声学模型和语言模型。例如,声学模型可以包括与发声相关的信息,并且语言模型可以包括关于音素及其组合的信息。话语识别模块可以基于关于发声和音素的信息将用户话语转换为文本数据。关于声学模型和语言模型的信息可以存储在例如自动语音识别数据库(ASR DB)211中。
在示例实施例中,自然语言理解模块220可以执行语法分析或语义分析以识别用户的意图。通过语法分析,可以将用户输入划分为语法单位(例如,单词、短语或语素),并且可以识别所划分的单位的语法元素。可以通过语义匹配、规则匹配或公式匹配来执行语义分析。从而,自然语言理解模块220可以识别用户输入的域和意图以及表示意图所必需的参数(或位置)。
在示例实施例中,自然语言理解模块220可以使用识别意图所需的域、意图和参数(或隙)分类的匹配规则来确定用户的意图和参数。例如,一个域(例如,闹钟)可以包括多个意图(例如,打开闹钟和关闭闹钟),并且一个意图可以包括多个参数(例如,时间、重复次数和闹铃声)。多个规则可以包括例如一个或更多个强制参数。匹配规则可以存储在自然语言理解数据库(NLU DB)221中。
在示例实施例中,自然语言理解模块220可以基于诸如语素或短语的语言特征(例如,语法元素)来识别从用户输入中提取的词语的含义,并将该词语的识别出的含义与域和意图进行匹配从而确定用户的意图。例如,自然语言理解模块220可以通过计算每个域和意图中包含多少个从用户输入提取出的词语来确定用户的意图。在示例实施例中,自然语言理解模块220可以使用作为识别意图的基础的词语来确定用户输入的参数。自然语言理解模块220可以使用自然语言理解数据库221来确定用户的意图,自然语言理解数据库221中存储了用于识别用户输入的意图的语言特征。自然语言理解模块220可以使用例如个人语言模型(PLM)来确定用户的意图。例如,自然语言理解模块220可以基于个人信息(例如,联系人列表或音乐列表)来确定用户的意图。可以将个人语言模型存储在例如自然语言理解数据库221中。在示例实施例中,自动语音识别模块210以及自然语言理解模块220可以通过参考存储在自然语言理解数据库221中的个人语言模型来识别用户的语音输入。
在示例实施例中,自然语言理解模块220可以基于用户输入的意图和参数来生成路径规则。例如,自然语言理解模块220可以基于用户输入的意图来选择要执行的应用,并且确定要在所选应用中执行的动作。自然语言理解模块220可以通过确定与确定的动作相对应的参数来生成路径规则。例如,由自然语言理解模块220生成的路径规则可以包括关于将要执行的应用、将在该应用中执行的动作(例如,一个或更多个状态)以及执行该动作所需的参数的信息。
在示例实施例中,自然语言理解模块220可以基于用户输入的意图和参数来生成一个或更多个路径规则。例如,自然语言理解模块220可以从路径规则器模块230接收与电子设备100相对应的路径规则集,并且通过将用户输入的意图和参数映射到接收到的路径规则集来确定路径规则。
在另一实施例中,自然语言理解模块220可以通过基于用户输入的意图和参数来确定要执行的应用、要在app中执行的动作和执行动作所需的参数来生成一个或更多个路径规则。例如,自然语言理解模块220可以通过基于关于电子设备100的信息,根据用户输入的意图,以本体模型或图模型的形式表示要执行的应用和要执行的动作来生成路径规则。生成的路径规则可以通过路径规则器模块230存储在例如路径规则数据库(PR DB)231中。可以将生成的路径规则添加到路径规则数据库231的路径规则集中。
在示例实施例中,自然语言理解模块220可以在多个生成的路径规则中选择至少一个路径规则。例如,自然语言理解模块220可以在多个路径规则中选择最佳路径规则。作为另一示例,当基于用户话语仅指定一些动作时,自然语言理解模块220可以选择多个路径规则。自然语言理解模块220可以基于额外的用户输入来选择多个路径规则中的一个路径规则。
在示例实施例中,自然语言理解模块220可以将路径规则发送到电子设备100作为对用户输入的响应。例如,自然语言理解模块220可以将与用户输入相对应的一个路径规则发送给电子设备100。作为另一示例,自然语言理解模块220可以将与用户输入相对应的多个路径规则发送给电子设备100。例如,当基于用户话语仅指定一些动作时,自然语言理解模块220可以生成多个路径规则。
在示例实施例中,路径规则器模块230可以选择多个路径规则中的至少一个路径规则。
在示例实施例中,路径规则器模块230可以将路径规则集传送到自然语言理解模块220。路径规则集的路径规则可以以表格的形式存储在附接到路径规则器模块230的路径规则数据库(PR DB)231中。例如,路径规则器模块230可以向自然语言理解模块220发送与从智能代理145接收到的关于电子设备100的信息(例如,OS和应用)相对应的路径规则集。路径规则数据库231中的表可以基于域或域版本存储。
在示例实施例中,路径规则器模块230可以从路径规则集中选择一个或更多个路径规则并将所选路径规则发送给自然语言理解模块220。例如,路径规则器模块230可以通过将用户的意图和参数与对应于电子设备100的路径规则集进行匹配来选择一个或更多个路径规则,并将所选路径规则发送给自然语言理解模块220。
在示例实施例中,路径规则器模块230可以根据用户的意图和参数来生成一个或更多个路径规则。例如,路径规则器模块230可以通过基于用户的意图和参数来确定要执行的应用和要在应用中执行的动作来生成一个或更多个路径规则。路径规则器模块230可以将生成的路径规则存储在路径规则数据库231中。
在示例实施例中,路径规则器模块230可以将由自然语言理解模块220生成的路径规则存储在路径规则数据库231中。可以将生成的路径规则添加到存储在路径规则数据库231中的路径规则集中。
在示例实施例中,存储在路径规则数据库231中的表可以包括多个路径规则或路径规则集。多个路径规则或路径规则集可以反映处理该路径规则的设备的类别、版本、类型或特性。
在示例实施例中,对话管理器模块240可以确定由自然语言理解模块220识别出的用户的意图是否明确。例如,对话管理器模块240可以基于关于参数的信息是否足够来确定用户的意图是否清楚。对话管理器模块240可以确定由自然语言理解模块220识别出的参数是否足以执行特定任务。如果用户的意图不清楚,则对话管理器模块240可以执行反馈过程以向用户请求必要的信息。例如,对话管理器模块240可以执行反馈过程以请求关于用于识别用户的意图的参数的信息。
在示例实施例中,对话管理器模块240可以包括内容提供者模块。如果可以基于自然语言理解模块220识别出的意图和参数来执行操作,则内容提供者模块可以生成执行与用户输入相对应的任务的结果。对话管理器模块240可以将内容提供者模块生成的结果转发给电子设备100,作为对用户输入的响应。
在示例实施例中,自然语言生成器(NLG)模块250可以将指定的信息改变为文本形式。改变为文本形式的信息可以是自然语言话语的形式。指定的信息可以是例如关于附加输入的信息、指示与用户输入相对应的操作的完成的信息或者请求用户的附加输入的信息(例如,用户输入的反馈信息)。可以将文本形式的信息发送到将其输出到显示器120上的电子设备100,或者可以将文本形式的信息发送到将其改变为语音形式的文本语音模块260。
在示例实施例中,文本语音模块260可以将文本信息转换为语音信息。文本语音模块260可以从自然语言生成器模块250接收文本信息,将文本信息转换为语音信息,并将语音信息发送到电子设备100。电子设备100可以将语音信息输出到扬声器130。
在示例实施例中,自然语言理解模块220、路径规则器模块230和对话管理器模块240可以被实现为单个模块。例如,自然语言理解模块220、路径规则器模块230和对话管理器模块24可以被实现为单个模块,确定用户的意图和参数,并生成与用户的意图和参数对应的响应(例如,路径规则)。生成的响应可以被发送到电子设备100。
在示例实施例中,预测数据库270可以在接收到唤醒话语之前存储包含在从电子设备100收集的语音数据中的信息。例如,预测数据库270可以存储从自动语音识别模块210接收的文本数据、说话者信息或关键词。预测数据库270可以存储由路径规则器模块230生成的路径规则、与路径规则有关用户特定权重信息、关于应用141和143的信息,以及应用141和143的状态信息。
图7是示出了根据本公开的实施例的路径规则器模块生成路径规则的示例方案的图。
参照图7,在示例实施例中,自然语言理解模块220可以将应用的功能划分为一个或更多个动作(例如,状态A、B1、B2、C1、C2、C3、D、E和状态F),并将其存储在路径规则数据库231中。例如,自然语言理解模块220可以将包括被划分为一个或更多个动作(例如状态)的多个路径规则(A-B1-C1、A-B1-C2、A-B1-C3-DF、A-B1-C3-D-E-F、A-B2)的路径规划集存储在路径规则数据库231中。
在示例实施例中,路径规则器模块230的路径规则数据库231可以存储用于执行应用功能的路径规则集。路径规则集可以包括多个路径规则,每个路径规则包括多个动作(例如,状态序列)。在路径规则中,可以依次布置根据相应的输入参数执行的多个动作。多个路径规则可以以本体模型或图形模型的形式表示,并存储在路径规则数据库231中。
在示例实施例中,自然语言理解模块220可以在对应于用户输入的意图和参数的多个路径规则(A-B1-C1、A-B1-C2、A-B1-C3-D-F、A-B1-C3-D-E-F、A-B2)中选择最佳或优选的路径规则A-B1-C3-D-F。
在示例实施例中,如果不存在完全匹配用户输入的路径规则,则自然语言理解模块220可以将多个路径规则发送到电子设备100。例如,自然语言理解模块220可以选择部分匹配用户输入的路径规则(例如,A-B1)。自然语言理解模块220可以选择包含部分匹配用户输入的路径规则(例如,A-B1)的一个或更多个路径规则(例如,A-B1-C1、A-B1-C2、A-B1-C3-D-F、A-B1-C3-D-E-F),并将所选路径规则发送到电子设备100。
在示例实施例中,自然语言理解模块220可以基于来自电子设备100的附加输入来选择多个路径规则之一,并且将所选路径规则发送到电子设备100。例如,自然语言理解模块220可以根据来自电子设备100的附加用户输入(例如,选择C3的输入)在多个路径规则(例如,A-B1-C1,A-B1-C2、A-B1-C3-D-F、A-B1-C3-D-E-F)中选择一个路径规则(例如,A-B1-C3-D-F),并将所选路径规则发送到电子设备100。
在另一实施例中,自然语言理解模块220可以确定与来自电子设备100的附加用户输入(例如,选择C3的输入)相对应的用户的意图和参数,并将确定的用户的意图和参数发送到电子设备100。电子设备100可以根据收到的用户的意图和参数从多个路径规则(例如,A-B1-C1、A-B1-C2、A-B1-C3-D-F、A-B1-C3-D-E-F)中选择一个路径规则(例如,A-B1-C3-D-F)。
因此,电子设备100可以使用所选路径规则来完成应用141或143的操作。
在示例实施例中,当智能服务器200接收到缺少信息的用户输入时,自然语言理解模块220可以生成与该用户输入部分匹配的路径规则。例如,自然语言理解模块220可以将部分匹配的路径规则发送到智能代理145。处理器150可以调用智能代理145来接收路径规则,并将部分匹配的路径规则转发给执行管理器模块147。处理器150可以根据路径规则通过执行管理器模块147执行第一应用141。在通过执行管理器模块147运行第一应用141的同时,处理器150可以将关于丢失参数的信息发送给智能代理145。处理器150可以经由智能代理145基于关于丢失参数的信息来向用户请求附加输入。当经由智能代理145从用户接收到附加输入时,处理器150可以将附加用户输入发送到智能服务器200进行处理。自然语言理解模块220可以基于附加用户输入的用户的意图和参数来生成附加路径规则,并且将生成的路径规则发送给智能代理145。处理器150可以经由智能代理145通过将路径规则发送到执行管理器模块147来执行第二应用143。
在示例实施例中,如果智能服务器200接收到缺少某些信息的用户输入,则自然语言理解模块220可以将对用户信息的请求发送给个性化信息服务器300。个性化信息服务器300可以向自然语言理解模块220发送存储在角色数据库中的用户信息。自然语言理解模块220可以使用该用户信息来选择与不完整的用户输入相对应的路径规则。因此,尽管智能服务器200接收到缺少一些信息的用户输入,但是自然语言理解模块220可以通过获取更多信息作为对附加输入请求的响应或者使用存储的用户信息来确定与用户输入相对应的路径规则。
在示例实施例中,下面的表1示出与用户请求的任务相关联的路径规则的示例。
【表1】
参照表1,由智能服务器(图1中的智能服务器200)根据用户话语(例如,“共享照片”)生成或选择的路径规则可以包括至少一种状态(25、26、27、28、29或30)。例如,至少一种状态(例如,电子设备的操作状态之一)可以对应于以下项的至少一个:照片应用调用(pictureView 25)、照片搜索执行(searchView 26)、搜索结果画面显示(searchViewResult 27)、没有所选照片的搜索结果画面显示(SearchEmptySelectedView)28、具有至少一张所选照片的搜索结果画面显示(SearchSelectedView 29)或共享应用选择画面输出(CrossShare 30)。
在示例实施例中,路径规则的参数信息可以对应于至少一个状态。例如,参数信息可以对应于状态“具有至少一张所选照片的搜索结果画面显示”(29)。
可以通过处理包括状态序列25、26、27、28和29的路径规则来执行用户请求的任务(例如,“共享照片!”)。
图8是示出了根据本公开实施例的管理关于用户的信息的智能服务模块的示例角色模块的图。
参照图8,处理器150可以通过角色模块149b从应用141和143、执行管理器模块147或上下文模块149a接收关于电子设备100的信息。处理器150可以将通过操作管理器模块147收集的应用中的关于的操作141b,143b的结果的信息存储在动作日志数据库中。处理器150可以经由上下文模块149a将关于电子设备100的当前状态的信息存储在上下文数据库中。处理器150可以经由角色模块149b从动作日志数据库或上下文数据库接收存储的信息。可以通过例如分析引擎来分析存储在动作日志数据库和上下文数据库中的数据,并且可以将分析结果发送到角色模块149b。
在示例实施例中,处理器150可以经由角色模块149b将从应用141和143、执行管理器模块147或上下文模块149a接收的信息发送至建议模块149c。例如,处理器150可以经由角色模块149b将存储在动作日志数据库或上下文数据库中的数据传输到建议模块149c。
在示例实施例中,处理器150可以通过角色模块149b将从应用141和143、执行管理器模块147或上下文模块149a接收的信息发送到个性化信息服务器300。例如,处理器150可以经由角色模块149b将存储在动作日志数据库或上下文数据库中的累积数据周期性地发送到个性化信息服务器300。
在示例实施例中,处理器150可以经由角色模块149b将存储在动作日志数据库或上下文数据库中的数据传送到建议模块149c。通过角色模块149b生成的用户信息可以存储在角色数据库中。角色模块149b可以周期性地将存储在角色数据库中的用户信息发送到个性化信息服务器300。经由角色模块149b发送到个性化信息服务器300的信息可以存储在角色数据库中。个性化信息服务器300可以使用存储在角色数据库中的信息来推断智能服务器200所需的用于生成路径规则的用户信息。
在示例实施例中,基于通过角色模块149b接收到的信息推断出的用户信息可以包括简档信息或偏好信息。可以从用户的帐户和累积的信息中推导出简档信息或偏好信息。
简档信息可以包括用户的个人信息。例如,简档信息可以包括用户的人口统计信息。人口统计信息可以包括例如但不限于关于用户的性别、年龄等信息。简档信息可以包括生活事件信息。可以通过例如将日志信息与生活事件模型进行比较来推断生活事件信息,并且可以通过分析行为模式来增强生活事件信息。作为另一示例,简档信息可以包括兴趣信息。兴趣信息可以包括例如关于感兴趣的购物项目或感兴趣的领域(例如,体育或政治)的信息。作为另一示例,简档信息可以包括活动区域信息。活动区域信息可以包括关于例如房屋或工作场所的信息。关于活动区域的信息可以包括关于基于累积停留时间和访问次数分配优先级的地点的信息以及该地点的位置信息。作为另一示例,简档信息可以包括活动时间信息。活动时间信息可以包括例如关于起床时间、通勤时间或睡眠时间的信息。可以基于活动区域信息(例如,关于家庭和工作场所的信息)来推断关于通勤时间的信息。可以基于电子设备100的未使用时间来推断关于睡眠时间的信息。
偏好信息可以包括关于用户的偏好的信息。例如,偏好信息可以包括关于应用偏好的信息。可以例如通过应用的使用历史(例如,使用时间和地点记录)来推导应用偏好。应用偏好可以用于根据用户的当前状态(例如时间或地点)确定要执行的应用。作为另一示例,偏好信息可以包括关于联系人偏好的信息。可以通过分析关于使用频率的信息(例如,按时间或地点的联系人使用频率)来推导出联系人偏好。联系人偏好可以用于根据用户的当前状态确定要使用的联系人(例如,包含相同名称的联系人)。作为另一示例,偏好信息可以包括关于设置的信息。可以通过分析特定设置值的使用频率(例如,按时间或地点的设置值的使用频率)来推断设置信息。设置信息可以用于根据用户的当前状态(例如,时间、地点或状况)来确定特定设置值。作为另一示例,偏好信息可以包括关于特定地点的偏好信息。可以例如通过对特定位置的访问记录(例如,按时间的访问频率)来推导位置偏好。位置偏好可以用于基于用户的当前状态(例如,时间)来确定正在访问的位置。作为另一示例,偏好信息可以包括关于命令偏好的信息。可以通过例如特定命令的使用频率(例如,按时间或位置的使用频率)来推断命令偏好。命令偏好可以用于根据用户的当前状态(例如,时间或位置)来确定要使用的命令模式。例如,命令偏好信息可以包括关于在执行中的应用的当前状态中最频繁选择的菜单的信息,该信息可以通过分析日志信息来获得。
根据本公开的各种实施例,电子设备(例如,图2中的电子设备100)可以包括:壳体;麦克风,该麦克风设置在壳体内部并且至少部分地通过壳体的第一部分暴露;至少一个扬声器(例如,图2中的扬声器130),该至少一个扬声器设置在壳体内部并且至少部分地通过壳体的第二部分暴露;设置在壳体内部的通信电路;处理器(例如,图2中的处理器150),该处理器设置在壳体内部并与麦克风、扬声器130和通信电路可操作地连接;存储器(例如,图2中的存储器140),该存储器设置在壳体内部,可操作地连接到处理器150,并被配置为存储多个应用程序。存储器可以存储有指令,该指令在被执行时使处理器150控制电子设备:在接收到调用基于语音的智能助手服务的唤醒话语之前,基于指定条件来收集用户的语音数据;将收集到的语音数据发送到外部服务器(例如,图2中的智能服务器200),并请求外部服务器200生成用于预测用户的意图的预测数据库(例如,图6中的预测数据库270);在接收到唤醒话语之后,基于预测数据库270中包括的至少一条信息来输出与用户的意图相关的推荐服务。
该指令可以被配置为使处理器150:在接收到唤醒话语之后,计算(例如,确定)开始收集用户语音数据的第一时间点与接收到唤醒话语的第二时间点之间的差;以及基于差的大小,确定用于选择推荐服务的权重。
该指令可以被配置为使处理器150:如果该差大于指定值,则为关于唤醒话语的说话者的信息分配更高的权重;如果该差小于指定值,则为存储在预测数据库270中的命令的完整性分配更高的权重。
该指令可以被配置为使处理器150:当接收到唤醒话语时,检查唤醒话语是否包括关键词,如果包括关键词,则确定用于基于关键词选择推荐服务的权重。
电子设备100还可以包括LED照明1003,并且该指令可以被配置为基于对用户对话的上下文的理解,使处理器150控制电子设备改变LED照明1003的颜色、长度或厚度中的至少一种。
该指令可以被配置为使处理器150:如果从用户的对话获得的参数信息量超过指定值,则基于获得的参数信息确定推荐服务;以及控制LED照明1003产生与确定的推荐服务相对应的颜色。该指定条件可以对应于以下条件中的至少一个:语音输入大于或等于指定值;在给定时间段内没有语音输入之后出现语音输入;语音输入小于所述指定值然后大于或等于所述指定值;从用户接收到物理按钮输入;从用户输入指定字符;从多个用户接收到语音输入;从给定数量或更多用户接收到语音输入;指定空间中存在多个电子设备;在电子设备100中注册有多个用户帐户;与电子设备100中注册的时间表相对应的时间;电子设备100位于指定空间中,并且时间对应于预先注册的时间表。
该指令可以被配置为使处理器150分析获得的语音数据以识别说话者并为每个识别出的说话者构建预测数据库270。
该指令可以被配置为:如果在接收到唤醒话语之后基于预测数据库270中包括的至少一条信息的用户的意图不清楚,则使处理器150输出用于请求附加信息的UI(用户界面)或UX(用户体验)。
该指令可以被配置为使处理器150以基于指定的单位将收集到的语音数据发送到外部服务器200,并且从外部服务器200接收路径规则作为对发送的语音数据的响应,其中,路径规则可以是包括关于用于执行与用户的意图有关的任务的电子设备100的状态序列的信息。
图9是示出了根据本公开的实施例的集成智能系统的示例操作的图。
参照图9,在示例实施例中,集成智能系统(例如,图1中的系统10)可以包括电子设备(例如,图2中的电子设备100)和通过网络与电子设备100连接的智能服务器(例如,图6中的服务器200)。
在示例实施例中,电子设备100可以是音频输出设备。例如,电子设备100可以包括人工智能扬声器。
在示例实施例中,电子设备100可以在从用户接收唤醒话语之前预先收集用户的对话,识别收集到的对话,并且构建包含关于用户的意图的信息的预测数据库270。
在示例实施例中,在构造了预测数据库270之后从用户接收到唤醒话语时,电子设备100可以参考预测数据库270以推荐与在接收到唤醒话语前收集到的对话相关联的动作、命令或服务。例如,如果用户在唤醒话语之前具有与外卖食物相关的对话,则电子设备100可以响应于接收到唤醒话语而推荐与外卖食物命令相关的动作或命令。在另一个实施例中,除了响应于用户的调用推荐动作或命令之外,电子设备100还可以执行与推荐的动作或命令相关联的搜索功能,并将找到的结果提供给用户。例如,除了推荐与外卖食物订单相关的动作或命令之外,电子设备100还可以执行对可外卖食物、折扣信息或可递送时间的搜索,并提供搜索结果。
在示例实施例中,可以在智能服务器200中配置预测数据库270。例如,智能服务器200可以包括与电子设备100配合操作的预测数据库270,并且还可以包括路径规则数据库(PR DB)231或自然语言理解模块220来编写与用户的意图相关的命令。在示例实施例中,智能服务器200还可以包括图6所示的智能服务器200的组件中的至少一个,以编写与用户的意图相关的命令。在示例实施例中,预测数据库270可以被配置在智能服务器200和电子设备100中。例如,如果电子设备100包括预测数据库270,则电子设备100的预测数据库270可以被配置为与智能服务器200的预测数据库270互通。在示例实施例中,预测数据库270可以包括与命令完整性相关的关键词、说话者信息、对话时间或上下文。在示例实施例中,预测数据库270可以包括在从用户接收到唤醒话语时分配用于选择服务(操作)的权重所需的信息。
在各种实施例中,电子设备100在接收唤醒话语之前收集用户的会话,预测用户的意图或命令,并基于预测结果向用户建议动作或服务。因此,电子设备100可以提供快速和准确的响应以及基于附加信息的响应。另外,当用户通过电子设备100使用基于语音的人工智能服务时,可以通过减少语音输入的数量或大小来增加用户便利性。
接下来,参考图9给出预先预测电子设备100的用户的意图的语音识别人工智能服务的描述。
在示例实施例中,如标记1所示,包括具有语音识别功能的人工智能扬声器的电子设备100可以在接收到来自用户的唤醒话语之前收集用户的会话。例如,电子设备100可以在接收唤醒话语之前收集电子设备100附近的用户A与用户B之间的对话。
在示例实施例中,如标记2所示,电子设备100可以将收集到的对话发送到智能服务器200,并且智能服务器200可以分析接收到的对话以收集对确定用户的意图有用的信息并使用收集到的信息构建预测数据库270。例如,电子设备100可以协助智能服务器200构建预测数据库270。
在示例实施例中,如标记3所示,电子设备100可以从用户接收唤醒话语。例如,电子设备100可以接收来自用户的预设的唤醒话语“嗨,Bixby!!”。
在示例实施例中,如标记4所示,电子设备100可以响应于唤醒话语提供人工智能服务。例如,响应于唤醒话语,电子设备100可以参考预测数据库270以推荐与在接收唤醒话语之前收集到的用户对话相关联的动作、命令或服务。例如,电子设备100可以基于唤醒话语的类型、接收到唤醒话语的时间或者已经产生唤醒话语的用户来确定用于选择推荐服务的权重,并且可以根据确定的权重提供推荐服务。稍后将参考图13详细描述权重的确定。
图10A和图10B是示出了根据本公开的实施例的电子设备的状态指示的示例的图。
参照图10A和图10B,在示例实施例中,电子设备(例如,图2中的电子设备100)可以提供与在接收唤醒话语之前收集用户对话的状态或者响应于该唤醒话语提供推荐服务的状态有关的用户界面(UI)或用户体验(UX)。例如,电子设备100可以包括设置在壳体的一部分上的LED照明1003,并且可以与收集用户对话的状态或提供推荐服务的状态相关联地控制LED照明1003。在示例实施例中,电子设备100可以基于电子设备100的状态来控制LED照明1003的形状、亮度、强度或颜色。在另一个实施例中,电子设备100可以包括设置在壳体的一部分上的显示器,并且电子设备100可以与收集用户对话的状态或提供推荐服务的状态相关联地控制显示器。
在示例实施例中,如图10A所示,电子设备100可以根据收集用户对话的状态来控制LED照明1003具有第一形式,并且可以基于对用户对话上下文的理解来改变LED照明1003的长度或厚度。例如,随着上下文理解程度的增加,电子设备100可以增加LED照明1003的长度或厚度,从而使得用户可以容易地识别出电子设备100对会话内容有多少了解。在示例实施例中,电子设备100可以对用户对话的上下文的理解程度进行评分,并且可以基于计算出的评分来控制LED照明1003的长度。例如,当得分相对较低时,电子设备100可以控制LED照明1003具有第一长度1001,并且当得分相对较低时,电子设备100可以控制LED照明1003具有比第一长度1001长的第二长度1002。
在示例实施例中,如图10B所示,如果完全理解了用户对话的上下文,则电子设备100可以确定推荐服务并且控制LED照明1003具有第二形式,使得用户可以识别出存在推荐服务。例如,电子设备100可以在收集用户的对话期间控制LED照明1003以显示第一颜色,并且可以在确定推荐服务之后控制LED照明1003以显示第二颜色。通过查看LED照明1003的第二颜色,用户可以识别出存在由电子设备100推荐的人工智能服务,然后用户可以通过发出唤醒话语来识别推荐服务。在示例实施例中,电子设备100可以预先确定推荐服务的完整性,并且基于确定的结果来改变LED照明1003的等级。例如,如果推荐服务的完整性较高,则电子设备100可以增加LED照明1003的等级。在示例实施例中,电子设备100可以基于从先前的对话中获得的参数信息量来确定推荐服务的完整性。例如,当预先配置诸如“代理、时间、地点、动作的目标、执行动作的方法或动作的原因”之类的参数时,电子设备100可以基于先前的对话来确定参数,并且随着确定的参数的比率增加,可以确定推荐服务的完整性较高。
图11是示出了根据本公开的实施例的电子设备100提供人工智能服务的示例方法的图。
参照图11,在示例实施例中,电子设备(例如,图2中的电子设备100)可以以与在接收到唤醒话语之前收集用户的对话的状态或者响应于唤醒话语提供推荐服务的状态有关的各种方式来提供用户界面(UI)或用户体验(UX)。
在示例实施例中,包括具有语音识别功能的人工智能扬声器的电子设备100可以在从用户接收到唤醒话语之前收集用户的会话。例如,在以以下方式接收唤醒话语之前,电子设备100可以收集电子设备100附近的用户A、用户B与用户C之间的对话。
如标记1所示,用户A可以说:“下午2点去吃披萨吧”。如标记2所示,用户C可以说:“好的,我想吃烤肉披萨”。
在示例实施例中,电子设备100可以被配置为在接收到唤醒话语之前通过收集对话并分析收集到的对话来预测用户的意图。例如,为了识别用户的意图,电子设备100可以从对话中提取参数并且将提取出的参数存储在预测数据库270中。在示例实施例中,参数可以对应于动作的代理、动作的时间、动作的位置、动作的目标、执行动作的方法或动作的原因中的至少之一。例如,电子设备100可以分析以上对话并且在预测数据库270中存储参数信息(期望的订购时间是“下午2点”并且要订购的食物是“烤肉披萨”)。
在上述对话之后,用户B可以为电子设备100产生唤醒话语(例如,“Bixby!!”)。如标记3所示,用户B可以说“Bixby!!”。
在示例实施例中,响应于从用户B接收到唤醒话语(例如,Bixby!!),电子设备100可以在预测数据库270中搜索披萨订单并输出搜索结果。例如,电子设备100不仅可以搜索与用户的意图(例如,“下午2点订购烤肉披萨”)直接相关的信息,还可以搜索与用户的意图间接相关的信息(例如,诸如“今天的番薯披萨有20%的折扣”的折扣信息)。如标记4所示,电子设备100可以产生声音输出(“我将在下午2点订购烤肉披萨。请注意,今天的番薯披萨有20%的折扣”。),或通过显示器提供相应的信息。
在示例实施例中,电子设备100可以在提供推荐服务的同时控制LED照明1003显示指定的颜色。
图12是示出了根据本公开的实施例的电子设备100提供人工智能服务的另一示例方法的图。
参照图12,在另一个实施例中,电子设备(例如,图2中的电子设备100)可以基于在接收到唤醒话语之前收集的用户的对话来提供推荐服务。例如,在以以下方式接收唤醒话语之前,电子设备100可以收集电子设备100附近的用户A、用户B与用户C之间之间的对话。如标记1所示,用户A可以说:“下午两点去吃披萨吧。”如标记2所示,用户C可以说:“好的,我想吃烤肉披萨”。
在示例实施例中,电子设备100可以通过在接收到唤醒话语之前收集对话并分析收集的对话来预测用户的意图。例如,为了识别用户的意图,电子设备100可以从对话中提取参数并且将提取出的参数存储在预测数据库270中。在示例实施例中,参数可以对应于动作的代理、动作的时间、动作的位置、动作的目标、执行动作的方法或动作的原因中的至少之一。例如,电子设备100可以分析以上对话并且在预测数据库270中存储参数信息(期望的订购时间是“下午2点”并且要订购的食物是“烤肉披萨”)。
在示例实施例中,电子设备100可以检查推荐服务的完整性,并且如果完整性超过指定值,则确定推荐服务。例如,电子设备100可以从收集的对话中获取参数信息,基于参数信息确定用户的意图,并且实时地编写与用户的意图相关的推荐服务。电子设备100可以基于获得的参数信息来确定用户的意图,直到获得的参数信息量超过指定值为止,并且可以将与用户的意图相关的电子设备100的操作确定为推荐服务。例如,电子设备100可以在预测数据库270中存储参数信息(期望的订购时间是“下午2点”并且要订购的食物是“烤肉披萨”),从存储的信息中预测用户的意图(“我要订购下午2点的烤肉披萨”),然后基于预测结果将披萨订购动作确定为推荐服务。
在示例实施例中,当确定推荐服务时,电子设备100可以提供指示存在推荐服务的UI(用户界面)或UX(用户体验)。如果推荐服务的完整性超过指定值,则电子设备100可以输出指示存在推荐服务的语音消息,并且用户可以回复电子设备100的语音消息。例如,如标记3所示,电子设备100可以基于确定的推荐服务来输出语音消息(“我可以提些建议吗?”)。如标记4所示,用户B可以说“可以”作为肯定答案。在另一个实施例中,电子设备100可以控制LED照明1003或输出指定的声音作为通知存在推荐服务的UI(用户界面)或UX(用户体验)。
在示例实施例中,响应于来自用户的诸如“可以”之类的肯定回答,电子设备100可以在预测数据库270中搜索披萨订单并输出搜索结果。例如,电子设备100不仅可以搜索与用户的意图直接相关的信息,而且还可以搜索与用户的意图间接相关的信息(例如,折扣信息)。例如,如标记5所示,电子设备100可以提供诸如“我将在下午2点订购烤肉披萨。请注意,今天的番薯披萨有20%的折扣”。
根据本公开的各种实施例,用于响应于调用基于语音的智能助手服务的唤醒话语来操作能够提供与用户的意图相关的推荐服务的电子设备(例如,图2中的电子设备100)的方法可以包括:在接收到唤醒话语之前,基于指定条件收集用户的语音数据;将收集到的语音数据发送到外部服务器(例如,图2中的智能服务器200),并请求外部服务器200生成用于预测用户的意图的预测数据库(例如,图6中的预测数据库270);在接收到唤醒话语之后,基于存储在预测数据库270中的至少一条信息来确定权重;基于权重确定与用户的意图相关的推荐服务并输出确定的推荐服务。
确定权重可以包括:在接收到唤醒话语之后,计算开始收集用户语音数据的第一时间点与接收到唤醒话语的第二时间点之间的差;以及如果该差大于指定值,则将更高的权重分配给唤醒话语的说话者的信息;如果该差小于指定值,则将更高的权重分配给存储在预测数据库270中的命令的完整性。
该方法还可以包括:当接收到唤醒话语时,检查唤醒话语是否包括关键词;以及基于包括的关键词确定用于选择推荐服务的权重。
电子设备100还可以包括LED照明1003,并且输出所确定的推荐服务可以包括基于对用户对话的上下文的理解来改变LED照明1003的颜色、长度或厚度中的至少一种。输出所确定的推荐服务可以包括:如果从用户的对话获得的参数信息量超过指定值,则基于获得的参数信息确定推荐服务;以及控制LED照明1003产生与所确定的推荐服务相对应的颜色。
图13是示出了根据本公开的实施例的电子设备100的示例总体操作的流程图。
在示例实施例中,在操作1313,当用户开始对话时,电子设备(例如,图2中的电子设备100)可以收集用户的对话。
在示例实施例中,在操作1315,电子设备100可以将收集到的用户对话发送到智能服务器(例如,图6中的服务器200),并请求智能服务器200构建预测数据库270。例如,智能服务器200可以从电子设备100接收用户对话,从接收到的对话中提取参数,并且基于提取出的参数来生成预测数据库270。在示例实施例中,智能服务器200可以与自然语言理解模块220配合来构建预测数据库270,使得电子设备100可以识别用户的意图。预测数据库270可以存储关于句子完整性、说话者或对话时间的信息。在另一个实施例中,预测数据库270还可以存储推荐服务的偏好信息和用于识别附加上下文的关键词信息。
在示例实施例中,在操作1317,电子设备100可以确定是否接收到唤醒话语(例如,调用命令)。如果接收到唤醒话语,则过程可以进行到操作1319。如果没有接收到唤醒话语,则过程可以返回到操作1313。
在示例实施例中,在操作1319,响应于接收到唤醒话语,电子设备100可以基于应用于句子完整性、说话者信息或对话时间的权重来提供结果作为人工智能服务。例如,当接收到唤醒话语时,电子设备100可以参考在智能服务器200中配置的预测数据库270,以确定唤醒话语的类型的权重、输入唤醒话语的时间点,或者已经产生唤醒话语的用户,基于确定的权重确定推荐服务,并提供确定的推荐服务。例如,如果接收到唤醒话语的时间与开始收集对话的时间之间的差相对较小,则电子设备100可以为对话的上下文和完整性分配较高的权重,并且基于收集到的对话的上下文和完整性来提供推荐服务。如果接收到唤醒话语的时间与开始收集对话的时间之间的差相对较大,则电子设备100可以向已经产生唤醒话语的用户分配较高的权重,并提供与已经产生唤醒话语的用户有关的推荐服务。在另一实施例中,如果接收到唤醒话语的时间与开始收集对话的时间之间的差相对较大,则电子设备100可以输出为已经产生唤醒话语的用户请求身份验证的UI(用户界面)或UX(用户体验),并且仅当用户成功身份验证后才可以提供推荐服务。
在示例实施例中,电子设备100可以在接收唤醒话语之前下载由智能服务器200生成的预测数据库270的信息,并将下载的信息存储在存储器140中。在这种情况下,电子设备100可以在接收到唤醒话语时参考存储在存储器140中的预测数据库270的信息。
图14是示出了根据本公开的另一实施例的电子设备100的示例操作的流程图。
在示例实施例中,在操作1413,电子设备(例如,图2中的电子设备100)可以在用户开始对话时收集用户的对话。
在示例实施例中,在操作1415,电子设备100可以将收集到的用户对话发送到智能服务器(例如,图6中的服务器200),并请求智能服务器200构建预测数据库270。例如,智能服务器200可以从电子设备100接收用户对话,从接收的对话中提取参数,并且基于提取的参数来生成预测数据库270。在示例实施例中,智能服务器200可以与自然语言理解模块220配合来构建预测数据库270,使得电子设备100可以识别用户的意图。预测数据库270可以存储关于句子完整性、说话者或对话时间的信息。在另一个实施例中,预测数据库270还可以存储推荐服务的偏好信息和用于识别附加上下文的关键词信息。
在示例实施例中,在操作1417,电子设备100可以确定是否接收到唤醒话语(例如,调用命令)。如果接收到唤醒话语,则过程可以进行到操作1419。如果没有接收到唤醒话语,则过程可以返回到操作1413。
在示例实施例中,在操作1419,电子设备100可以检查唤醒话语是否包括关键词。例如,关键词是与路径规则有关的信息,并且可以是由用户输入的参数信息以及唤醒话语。例如,用户可以通过使用唤醒话语和关键词的组合来触发电子设备100的人工智能服务功能。如果唤醒话语是“Bixby”,则当用户输入语音输入“Bixby音乐!!”时,“音乐”可以是关键词。如果唤醒话语包括关键词,则过程可以进行到操作1421。如果唤醒话语不包括关键词,则过程可以进行到操作1423。
在示例实施例中,在操作1421,电子设备100可以基于关键词来调整存储在预测数据库270中的参数的权重。在操作1425,电子设备100可以基于调整后的权重将推荐服务作为结果输出。例如,在图11或图12的以上描述中,由电子设备100预先收集的会话与披萨订单有关,因此,在预测数据库270中配置的参数可以与披萨订单有关。如果用户产生“Bixby音乐”作为唤醒话语,则电子设备100可以首先推荐与播放音乐有关的功能(服务),而不是与披萨订单有关的服务。
在示例实施例中,在操作1423,电子设备100可以在接收唤醒话语之前参考预测数据库270来确定与对话相关联的动作、命令或服务。例如,电子设备100可以基于唤醒话语的类型、输入唤醒话语的时间点或者已经产生唤醒话语的用户来确定用于选择推荐服务的权重。在操作1425,电子设备可以基于参考预测数据库270确定的权重将推荐服务作为结果进行输出。
在示例实施例中,电子设备100可以在接收到唤醒话语之前下载由智能服务器200生成的预测数据库270的信息,并将下载的信息存储在存储器140中。在这种情况下,电子设备100可以在接收到唤醒话语时参考存储在存储器140中的预测数据库270的信息。
图15是示出了根据本公开的实施例的电子设备100设置权重的示例方案的流程图。
在示例实施例中,参考图15,电子设备(例如,图2中的电子设备100)可以被配置为考虑开始收集对话的时间与接收到唤醒话语的时间之间的时间差来确定权重。
在示例实施例中,在操作1511,电子设备100可以根据指定条件开始收集用户的对话。例如,电子设备100可以从第一时间点(t1)收集用户的对话,将收集到的用户对话发送到智能服务器(例如,图6中的服务器200),并且请求智能服务器200构建预测数据库270。智能服务器200可以从电子设备100接收用户对话,分析接收到的对话,并且基于分析结果生成预测数据库270。
在示例实施例中,电子设备100开始收集用户的语音数据的指定条件可以例如但不限于对应于以下条件1至11中的至少一个。
条件1:语音输入大于或等于指定值;
条件2:在给定时间段内没有语音输入之后出现语音输入(例如,用户被认为出门在外);
条件3:语音输入小于所述指定值,然后大于或等于所述指定值;
条件4:从用户接收到物理按钮输入;
条件5:来自用户输入的指定字符;
条件6:从多个用户接收到语音输入;
条件7:从给定数量或更多用户接收到语音输入(例如,两个或更多个用户);
条件8:指定空间中存在多个电子设备;
条件9:在电子设备中注册有多个用户帐户;
条件10:与电子设备中注册的时间表相对应的时间;或者
条件11:电子设备位于指定空间(例如,会议室)中,并且时间对应于预先注册的时间表。
在示例实施例中,在操作1513,当接收到唤醒话语时,电子设备100可以确定接收到唤醒话语的时间点与收集会话的时间点之间的差。例如,电子设备100可以计算接收到唤醒话语(例如,调用命令)的第二时间点(t2)与开始收集对话的第一时间点(t1)之间的时间差(t2-t1),并将时间差(t2-t1)与指定值(t3)进行比较。
在示例实施例中,如果接收到唤醒话语的时间点与开始收集对话的时间点之间的差较小,则在操作1515,电子设备100可以为收集到的对话的上下文和完整性分配更高的权重,并基于收集到的对话的上下文和完整性提供推荐服务。例如,如果接收到唤醒话语的第二时间点(t2)与开始收集对话的第一时间点(t1)之间的差(t2-t1)小于指定值(t3),则电子设备100可以将更高的权重分配给收集到的对话的上下文和完整性。
在示例实施例中,如果在接收到唤醒话语的时间点与开始收集对话的时间点之间的差相对较大,则在操作1517,电子设备100可以向已经产生唤醒话语的用户分配更高的权重,并提供与产生唤醒话语的用户有关的推荐服务。例如,如果接收到唤醒话语的第二时间点(t2)与开始收集对话的第一时间点(t1)之间的差(t2-t1)大于指定值(t3),则电子设备100可以向已经产生唤醒话语的用户分配更高的权重。在另一实施例中,如果接收到唤醒话语的时间与开始收集对话的时间之间的差相对较大,则电子设备100可以输出为已经产生唤醒话语的用户请求身份验证的UI(用户界面)或UX(用户体验),并且仅当用户成功身份验证后才可以提供推荐服务。
图16是示出了根据本公开的实施例的集成智能系统的示例配置和操作的框图。
参考图16,在示例实施例中,集成智能系统可以包括智能代理(例如,包括处理电路和/或可执行程序元素)(例如,图2中的代理145)、自动语音识别(ASR)模块(例如,包括处理电路和/或可执行程序元素)(例如,图6中的模块210)、预自然语言理解(预NLU)模块(例如,包括处理电路和/或可执行程序元素)215、自然语言理解模块(例如,包括处理电路和/或可执行程序元素)(例如,图6中的模块220)、路径规则器模块(例如,包括处理电路和/或可执行程序元素)(例如,图6中的模块230)、路径规则数据库(例如,图6中的数据库231)、预测数据库(例如,图6中的数据库270)、自然语言生成器(NLG)模块(例如,包括处理电路和/或可执行程序元素)(例如,图6中的模块250)、执行管理器模块(例如,包括处理电路和/或可执行程序元素)(例如,图6中的模块147)、文本语音模块(例如,图6中的模块260)和应用(例如,图2中的应用141或143)。在示例实施例中,图16中所示的智能代理145、执行管理器模块147以及应用141和143可以被配置在电子设备100中,而其余组件可以被配置在智能服务器(例如,图6中的服务器200)中,但是本公开不限于此。
在各种实施例中,集成智能系统可以被配置为在接收到唤醒话语时基于先前对话的内容向用户提供快速反馈。例如,集成智能系统可以基于先前的对话在预测数据库270中预先存储基于上下文的命令集,并且当接收到来自用户的唤醒话语时,基于预测数据库270来编写命令以提供推荐服务。
在各种实施例中,电子设备(例如,图2中的电子设备100)可以根据产生唤醒话语的说话者来提供个性化结果(推荐服务)。例如,电子设备100可以将由上下文和说话者分类的多个命令集存储在预测数据库270中,并且基于已经产生唤醒话语的说话者来提供推荐服务。
在各种实施例中,电子设备100可以基于命令的时间和完整性来提供反馈信息。例如,电子设备100可以基于会话内容针对每个时隙和命令的完整性来配置预测数据库270,并且根据接收到唤醒话语的时间或输入的关键词以及唤醒话语来提供各种反馈信息(推荐服务)。
接下来,给出能够提供上述功能的集成智能系统的主要操作的描述。
在示例实施例中,智能代理145可以在根据指定条件(例如,用户话语的发起、周围环境(例如,电子设备100的接近)的变化或发生事件(例如,安排会议)接收到唤醒话语之前收集用户的对话。为了识别用户的意图,智能代理145可以将收集到的对话发送到自动语音识别模块210。智能代理145可以以规则的间隔(例如,5秒)将接收到的语音输入传送到自动语音识别模块210。如果在指定时间内不存在语音输入,则智能代理145可以将响应于唤醒话语而收集到的语音输入发送到自动语音识别模块210。
在示例实施例中,自动语音识别模块210可以识别语音输入并将识别出的语音输入转换为文本。自动语音识别模块210可以将转换后的文本传递到电子设备100或自然语言理解模块220。自动语音识别模块210可以被配置为通过分析语音数据来识别说话者。例如,自然语言理解模块220可以使用由自动语音识别模块210分析出的说话者信息来识别说话者的意图。自动语音识别模块210可以将说话者信息以及从语音输入转换的文本数据发送给电子设备100。自动语音识别模块210可以基于先前存储在数据库中的数据来确定说话者(例如,琼斯),并且如果说话者信息不在数据库中则可以使用代表特定说话者的通用名称(例如,用户1)来更新数据库。
在示例实施例中,预自然语言理解模块215可以包括各种处理电路和/或可执行程序元素,并且可以被配置为在从语音输入转换的文本很长的时候进行操作。例如,如果从语音输入转换的文本很长,则预自然语言理解模块215可以从该长文本中生成代表性句子,并将生成的代表性句子发送给自然语言理解模块220。例如,每个路径规则可以具有最能反映相应意图的代表性句子。预自然语言理解模块215可以使用针对用户的理解而修改的句子(代表性友好话语,RFU)来生成代表性句子。预自然语言理解模块215可以集中于从自动语音识别模块210接收到的文本中包含的关键名词或关键词,或者可以基于动词来组成代表性句子以预测用户的意图。例如,如果收集到的对话是“你会把在夏威夷拍的照片之类的东西通过短信发给你母亲吗”,预自然语言理解模块215可以生成清晰简洁的代表性句子,例如“在夏威夷拍摄的照片,给妈妈发短信”。预自然语言理解模块215可以被包括在自然语言理解模块220中,或者可以与自然语言理解模块220分开配置。
在示例实施例中,自然语言理解模块220可以从自动语音识别模块210或预自然语言理解模块215接收文本数据和说话者信息,使用指定规则基于文本数据和说话者信息确定参数(或时隙)和上下文,并基于确定的参数和上下文识别用户的意图。自然语言理解模块220可以将确定的参数、上下文和用户的意图发送到路径规则器模块230。
在示例实施例中,自然语言理解模块220可以以指定单位分析从自动语音识别模块210接收到的文本数据和说话者信息,确定在先前步骤中分析出的文本数据和说话者信息与在下一步骤中分析出的文本数据和说话者信息之间的关联,基于确定结果识别用户的意图,并将所确定的用户的意图发送给路径规则器模块230。例如,自然语言理解模块220可以被配置为确定作为下一个单位接收的文本数据和说话者信息与作为前一个单位接收的文本数据和说话者信息之间的关联,并将确定结果发送到路径规则器模块230。
在一示例实施例中,路径规则器模块230可以使用用户的意图和参数来生成一个或多个路径规则。例如,路径规则器模块230可以基于用户的意图和参数来确定要执行的应用141或143以及在应用141或143中要执行的动作,以生成一个或更多个路径规则。路径规则器模块230可以将生成的路径规则存储在路径规则数据库231中。路径规则器模块230可以通过参考说话者信息来组织和管理每个说话者的生成的路径规则。
在示例实施例中,预测数据库270可以存储由自动语音识别模块210转换的文本数据的至少一部分、参数以及关于完整性、说话者或时间的信息。智能代理145可以基于用户的意图或参数为存储在预测数据库270中的信息项分配优先级,并且基于该优先级将存储的信息项发送到执行管理器模块147。在示例实施例中,预测数据库270可以被配置为如下表2所示。
【表2】
在示例实施例中,执行管理器模块147可以使用表2中的“编号”字段来管理从路径规则器模块230接收到的路径规则。“编号”字段值按照存储在预测数据库270中的顺序来组织,并且每个“编号”字段值都可以表示一个路径规则。如果满足指定条件(例如,给定时间到期或执行动作),则智能代理145可以删除由相应“编号”字段值表示的路径规则。
在示例实施例中,表2中的“规则ID”字段可以用于管理应用141和143,以提供与用户的意图有关的反馈信息。例如,可以为每个应用141或143分配唯一的规则ID,并且规则ID可以包括指示相应应用141或143的执行状态的自变量。路径规则器模块230可以基于用户的意图和参数信息确定应用141或143及其与电子设备100将要提供的与反馈信息(推荐服务)相关的应用141或143的状态信息,将关于应用的信息及其状态存储在预测数据库270中,并向执行管理器模块147提供与所确定的应用及其状态相关联的规则ID。例如,规则ID“weather_100”可以表示显示由天气应用141或143产生的本地天气信息的状态。
在示例实施例中,表2中的“代表性话语”字段可以用于存储与用户的意图有关的代表性句子和与用户的意图匹配的应用141或143。例如,如果“规则ID”与天气应用141或143有关,则诸如“今天水原的天气怎么样?”或“天气如何?”之类的代表性话语可以与希望知道天气信息的用户的意图有关。
在示例实施例中,表2中的“说话者”字段可以用于管理关于与路径规则相关联的说话者的信息。例如,可以在预测数据库270中将每个路径规则与说话者信息进行映射。在表2中,假定用户A具有关于天气和音乐(歌曲)的对话,并且与天气应用141或143和音乐应用141或143有关的路径规则与用户A映射。假定用户B具有关于音乐、电视和金融的对话,并且与音乐应用141或143、电视应用141或143和金融应用141或143有关的路径规则与用户B映射。
在示例实施例中,表2中的“优先级”字段可以用于表示与已经产生唤醒话语的说话者有关的路径规则的优先级。例如,可以针对对应的路径规则基于每个用户参与对话的程度(例如,谈话量(输入字符的时间或数量))来分配优先级。例如,如果用户A经常进行与天气有关的对话,则可以设置与天气相关联的路径规则的优先级,以便在用户A产生唤醒话语时首先提供与天气相关联的路径规则。可以针对相应的路径规则基于已经使用了语音识别人工智能服务的用户的使用历史来分配优先级。路径规则器模块230可以基于先前已经使用语音识别人工智能服务的用户的使用历史来针对每个路径规则确定用户偏好,并且可以基于确定的偏好来设置对应的路径规则的优先级。例如,如果用户A重复使用语音识别人工智能服务来获取过去特定时间和/或特定位置的天气信息,则可以设置与天气相关联的路径规则的优先级,以便当用户A产生唤醒话语时,将首先提供与天气相关联的规则。在示例实施例中,在当前时间接近与用户的分析意图有关的指定时间时,可以将优先级设置为较高的值。如果将用户的意图分析为在给定时间使用特定服务,则路径规则器模块230可以在时间接近给定时间时向与该服务有关的路径规则分配更高的优先级。例如,当用户说“我将在下午4点吃披萨”时,在时间接近下午4点时,路径规则器模块230可以为与披萨订购有关的路径规则分配较高的优先级。
在示例实施例中,表2中的“关键词”字段可以用于管理与路径规则相关联的至少一个代表性单词。例如,如果唤醒话语包括关键词,则电子设备100可以将较高的权重分配给包括关键词的信息,并且提供与关键词有关的路径规则作为推荐服务。
在示例实施例中,表2中的“注释(时间)”字段可以用于管理关于生成路径规则的时间或预期对路径规则的调用的时间(例如,保留时间、或指定的时间表)。例如,路径规则器模块230可以基于用户提供的时间信息来记录生成路径规则的时间。路径规则器模块230可以基于每个用户先前使用语音识别人工智能服务的历史来设置预期对路径规则的调用的时间。
在各种实施例中,预测数据库270除了上述字段之外还可以包括各种字段,或者可以仅包括上述字段中的一些字段。
在示例实施例中,自然语言生成器模块250可以将指定的信息转换为文本数据。自然语言话语可以被转换为文本数据。这里,指定的信息可以是例如关于附加输入的信息、指示与用户输入相对应的动作的完成的信息、或者请求来自用户的附加输入的信息(例如,关于用户输入的反馈信息)。转换后的文本数据可以被发送到电子设备100并显示在显示器120上,或者可以被发送到文本语音模块260并被转换为声音数据。
在示例实施例中,执行管理器模块147可以从路径规则器模块接收路径规则,并根据接收到的路径规则执行应用141或143。执行管理器模块147在接收到唤醒话语之前不执行应用141或143,并且可以响应于接收到唤醒话语来执行应用141或143。在接收到唤醒话语之前,智能代理145可以不调用执行管理器模块147。例如,智能代理145可以连续地更新预测数据库270并且在输入唤醒话语之前不调用执行管理器模块147。智能代理145可以响应于唤醒话语的接收来调用执行管理器模块147,将存储在预测数据库270中的路径规则发送到执行管理器模块147,并且通过执行管理器模块147执行应用141和143。
在示例实施例中,文本语音模块260可以将文本信息转换为声音信息。文本语音模块260可以从自然语言生成器模块250接收文本数据,将文本数据转换为声音数据,并且将声音数据发送到电子设备100。电子设备100可以通过扬声器130输出声音数据。
图17是示出了根据本公开的实施例的示例自动语音识别模块210的框图。
参考图17,自动语音识别模块210可以包括语音特征提取模块(例如,包括处理电路和/或可执行程序元素)1711、语音识别模块(例如,包括处理电路和/或可执行程序元素)1713、说话者特征提取模块(例如,包括处理电路和/或可执行程序元素)1721、说话者确定模块(例如,包括处理电路和/或可执行程序元素)1723、语音收集模块(例如,包括处理电路和/或可执行程序元素)1725和说话者模型更新模块(例如,包括处理电路和/或可执行程序元素)1727。自动语音识别模块210的某些组件可以配置在电子设备100(例如,图2中的电子设备100)中的存储器140。
在示例实施例中,语音特征提取模块1711可以提取接收到的语音输入的语音特征(例如,特征矢量)。例如,语音特征提取模块1711可以通过从语音输入中去除噪声信号或不属于人类语音的频率范围的信号来提取语音输入的语音特征。
在示例实施例中,语音识别模块1713可以基于由语音特征提取模块1711提取的语音特征来执行语音识别。例如,语音识别模块1713可以参考存储在第一数据库1715中的声学模型、存储在第二数据库1717中的语言模块或存储在第三数据库1719中的词汇表中的至少一个基于提取出的语言特征来对接收到的语音输入进行语音识别。第一数据库1715可以存储一个或更多个声学模型,第二数据库1717可以存储一个或更多个语言模型,而第三数据库1719可以存储一个或更多个词典模型。语音识别模块1713可以将语音识别结果转换为文本数据,并将文本数据发送到自然语言理解模块220。第一数据库1715、第二数据库1717、第三数据库1719可以被包括在连接到电子设备100的外部服务器(例如,智能服务器200)中。第一数据库1715、第二数据库1717、第三数据库1719可以被包括在电子设备100的存储器(例如,图2中的存储器140)中。
在示例实施例中,自然语言理解模块220可以对识别出的语音执行句法分析或语义分析以识别用户的意图。例如,自然语言理解模块220可以基于指定的规则来确定从语音识别模块1713接收到的文本数据的参数(或位置)和上下文,并且基于确定的参数和上下文来识别用户的意图。自然语言理解模块220可以将确定的参数、上下文和用户的意图传送到关键词提取模块1739。
在示例实施例中,关键词提取模块1739可以包括各种处理电路和/或可执行程序元素,并且从识别出的语音输入中提取与上下文有关的关键词,根据用户对提取的与上下文有关的关键词进行分类,并且将分类后的关键词存储在预测数据库270。关键词提取模块1739可以被包括在自然语言理解模块220中,或可以与自然语言理解模块220分开配置。
在示例实施例中,说话者特征提取模块1721可以从接收到的语音输入中提取说话者特征。例如,说话者特征提取模块1721可以从接收到的语音数据中提取语音特征(例如,特征向量)以获得说话者特征。
在示例实施例中,说话者确定模块1723可以基于由说话者特征提取模块1721提取出的说话者特征来确定接收到的语音输入的说话者是否是已存储的说话者模型的说话者。例如,说话者确定模块1723可以检查接收到的语音输入的说话者是否对应于存储在第四数据库1729中的说话者模型中的一个(例如,第一说话者模型1733、第二说话者模型1735和第三说话者模型1737),并确定与接收到的语音输入的说话者相对应的说话者模块。第四数据库1729可以被包括在连接到电子设备100的外部服务器(例如,图6中的智能服务器200)中。第四数据库1729可以被包括在电子设备100的存储器(例如,图2中的存储器140)中。
在示例实施例中,说话者确定模块1723可以包括分数计算模块1724。分数计算模块1724可以以分数的形式测量接收到的语音输入的说话者与已存储的说话者模型之一的说话者之间的相似度。说话者确定模块1723可以根据分数计算模块1724计算出的相似度得分来确定接收到的语音输入的说话者是否是已存储的说话者模型的说话者。
在示例实施例中,说话者确定模块1723可以通过测量对应于预先存储的说话者模型的向量与从接收到的语音输入中提取出的向量之间的相似度来获得说话者的相似度得分。当与存储的说话者模型相对应的向量和从接收到的语音输入中提取出的向量分别是A和B时,说话者确定模块1723可以根据下面的等式1计算(确定)相似度得分。
[等式1]
(此处,A·B表示A和B的内积,|A|表示A的大小,|B|表示B的大小。)
在各种实施例中,取决于说话者模型的类型,除了公式1,还可以应用各种相似度计算技术。
在示例实施例中,语音收集模块1725可以从说话者确定模块1723接收说话者信息,基于接收到的说话者信息来收集说话者特定的语音数据,并将收集到的语音数据存储在第四数据库1729中。如果收集到的数据对应于新说话者时,语音收集模块1725可以调用说话者模型更新模块1727来更新存储在第四数据库1729中的说话者模型信息。例如,说话者模型更新模块1727可以参考第四数据库1729从与新说话者相对应的语音数据库中提取代表性语音模型,并将提取出的代表语音模型新存储在第四数据库1729中。
图18是示出了根据本公开的实施例的电子设备100获得路径规则的示例方案的图。
在各种实施例中,参照图18,电子设备(例如,图2中的电子设备100)可以根据以下过程响应于唤醒话语从智能服务器(例如,图6中的服务器200)获得路径规则。
在示例实施例中,当认证的用户A与用户B开始对话时,电子设备100可以收集用户A与用户B之间的对话,将收集到的对话发送到智能服务器200,并且请求智能服务器200构建预测数据库270。智能服务器200可以从电子设备100接收到的用户A与用户B的对话中提取参数,并且基于提取出的参数来构建预测数据库270。
在示例实施例中,如标记1所示,电子设备100可以从用户A接收唤醒话语,并且响应于接收到唤醒话语而对已经产生唤醒话语的用户A执行说话者识别。电子设备100可以结合智能服务器200对已经产生唤醒话语的用户A执行说话者识别。
在示例实施例中,如标记2所示,在进行说话者识别之后,电子设备100可以在智能服务器200中存储的预测数据库270中搜索与识别出的说话者有关的路径规则,并基于优先级选择检索到的路径规则中的至少一个。
在示例实施例中,如标记3所示,电子设备100可以在存储在智能服务器200中的预测数据库270中确定具有最高优先级的路径规则,并从存储在智能服务器200中的路径规则数据库231获得确定的路径规则。电子设备100可以通过根据从路径规则数据库231获得的路径规则执行应用141或143来向用户提供推荐服务。预测数据库270和路径规则数据库231可以被包括在智能服务器200中。预测数据库270或路径规则数据库231中的至少一个可以被包括在电子设备100中。
根据本公开的各种实施例,一种操作能够响应于调用基于语音的智能助手而提供与用户的意图有关的推荐服务的服务器的方法(例如,图2中的智能服务器200)可以包括:从电子设备(例如,图2中的电子设备100)接收语音数据;分析语音数据中包括的用户对话的上下文;基于分析的上下文确定语音数据是否足以识别用户的意图;基于语音数据足以识别用户的意图来生成路径规则,并基于语音数据不足以识别用户的意图来累积地存储语音数据;基于生成路径规则,使用生成的路径规则来生成预测数据库(例如,图6中的预测数据库270)以预测用户的意图;基于电子设备100接收到唤醒话语来将预测数据库270中包括的至少一个路径规则发送给电子设备100。
确定语音数据是否足以识别用户的意图可以包括:从语音数据获得关于多个指定参数的信息;以及基于获得的信息超过指定值的参数的量,确定语音数据足以识别用户的意图。
该操作方法还可以包括:从电子设备100获得语音数据的说话者信息;以及管理预测数据库270,以使路径规则与说话者信息匹配。该参数可以包括关于分别对应于动作的代理、动作的时间,动作的位置、动作的目标、执行动作的方法以及动作的原因的字段的信息。预测数据库270可以存储关于从语音数据获得的文本数据、说话者、与说话者信息有关的权重、电子设备100中可执行的应用、应用的状态和/或关键词中的至少一项的信息。
图19是示出了根据本公开的实施例的智能服务器200的示例操作的流程图。
在示例实施例中,参照图19,在操作1901,智能服务器(例如,图6中的服务器200)可以调用自动语音识别模块210以识别来自电子设备(例如,图6中的电子设备100)的语音输入,并将识别出的语音输入转换为文本数据。自动语音识别模块210可以将文本数据转发到电子设备100或自然语言理解模块220。自动语音识别模块210可以通过分析语音数据来识别说话者。例如,自然语言理解模块220可以使用由自动语音识别模块210分析的说话者信息来识别说话者的意图。自动语音识别模块210可以将说话者信息和从语音输入转换的文本数据发送到电子设备100。自动语音识别模块210可以基于先前存储在数据库(例如,第四数据库1729)中的数据来确定说话者(例如,琼斯),并且如果说话者信息不在数据库中则可以使用代表特定说话者的通用名称(例如,用户1)来更新数据库。
在示例实施例中,在操作1903,智能服务器200可以调用自然语言理解模块220以从自动语音识别模块210接收文本数据和说话者信息,基于文本数据和使用指定规则的说话者信息确定参数(或时隙)和上下文,并基于所确定的参数和上下文识别用户的意图。自然语言理解模块220可以将确定的参数、上下文和用户的意图发送到路径规则器模块230。
在示例实施例中,在操作1905,智能服务器200可以基于由自然语言理解模块220分析的用户的意图和参数调用路径规则器模块230来确定从电子设备100接收的语音输入是否对应于全根话语。例如,全根话语可以指例如可以从语音输入中得出用户的意图的情况。路径规则器模块230可以基于从语音输入获得的参数信息量来确定全根话语。例如,如果从用于字段的语音输入中获得了超过指定数量的诸如动作的代理、动作的时间、动作的地点、动作的目标、执行动作以及该动作的原因的方法的参数信息,则路径规则器模块230可以确定语音输入对应于全根话语。如果从电子设备100接收的语音输入对应于全根话语,则过程可以进行到操作1907。如果从电子设备100接收的语音输入不对应于全根话语,则可以累积存储语音输入,并且该过程可以返回到操作1901以获得新的语音输入。
在示例实施例中,如果语音输入对应于全根话语,则在操作1907,智能服务器200可以通过路径规则器模块230生成路径规则。路径规则器模块230可以根据用户的意图和参数来生成一个或更多个路径规则。例如,路径规则器模块230可以通过基于用户的意图和参数来确定要执行的应用(例如,应用141或143)以及在该应用中要执行的动作,来生成一个或更多个路径规则。路径规则器模块230可以将生成的路径规则存储在路径规则数据库231中。路径规则器模块230可以参考说话者信息来管理预测数据库270,使得一个路径规则与一个说话者匹配。在示例实施例中,在执行操作1907之后,智能服务器200可以再次执行操作1901以识别来自电子设备100的语音输入并将识别出的语音输入转换为文本数据。响应于附加语音输入,智能服务器200可以更新存储在预测数据库270中的路径规则。
在示例实施例中,在操作1909,智能服务器200可以响应于电子设备100接收到的唤醒话语而向电子设备100发送(例如,传送)路径规则。智能服务器200可以确定用于基于唤醒话语的类型、输入唤醒话语的时间点或已经产生唤醒话语的用户,选择路径规则的权重,并将基于所确定的权重选择的路径规则发送到电子设备100。
图20是示出了根据本公开的实施例的电子设备100收集语音数据的示例操作的流程图。
在示例实施例中,参照图20,在操作2001,电子设备(例如,图2中的电子设备100)可以保持在待机状态。在待机状态下,可以激活设置在电子设备100的一部分上的传感器或短距离通信模块。例如,在待机状态下,电子设备100可以检测由传感器(例如,麦克风)接收到的信息(例如,对话)、设备通过短距离通信模块的接近或日程表事件的发生(例如,会议)。
在示例实施例中,在操作2003,电子设备100可以确定是否满足开始收集来自用户的语音输入的指定条件。例如,电子设备100可以在检测到在指定级别或更高级别(例如,给定持续时间或更长时间,或者给定数量或更大)两个或更多个用户之间的对话时确定满足指定条件。如果不满足指定条件,则电子设备100可以保持在待机状态。可以参照图15中的操作1511,以确定是否满足指定条件。
在示例实施例中,如果满足指定条件,则在操作2005,电子设备100可以收集语音数据。电子设备100可以从满足指定条件的时间点累积地存储接收到的语音数据。
在示例实施例中,在操作2007,电子设备100可以确定是否满足向智能服务器200发送语音数据的条件。例如,电子设备100可以基于指定的单位(例如,持续时间或数据量)来收集语音数据,并且可以确定当超过指定的单位时,确定是否满足将收集到的语音数据传输到智能服务器200的条件。
如果满足传输条件,则过程可以进行至操作2009,或者如果不满足传输条件,则可以返回至收集语音数据的操作2005。
在示例实施例中,在操作2009,电子设备100可以将收集到的语音数据发送(例如,传输)到智能服务器(例如,图6中的服务器200)。智能服务器200可以分析从电子设备100接收的语音数据,并且基于分析结果来构建预测数据库270。
图21是示出了根据本公开的实施例的响应于唤醒话语提供推荐服务的电子设备100的示例操作的流程图。
在示例实施例中,参照图21,电子设备(例如,图2中的电子设备100)可以将收集到的语音数据发送(传输)到智能服务器(例如,图6中的服务器200),如在图20的操作2009中所描述的。
在示例实施例中,在操作2101,电子设备100可以从智能服务器200接收语音数据分析结果,作为对已经发送到智能服务器200的语音数据的响应。分析结果可以包括关于与已发送的语音数据有关的时间、说话者、完整性或路径规则中的至少一个的信息。或者,可以在电子设备100中执行语音数据分析。路径规则可以基于由以指定的单位分析从电子设备100接收到的语音数据的智能服务器200产生的结果。
在示例实施例中,在操作2103,电子设备100可以根据从智能服务器200接收的语音数据分析结果来更新预测数据库270。语音数据分析的结果可以是路径规则。电子设备可以将接收到的路径规则存储在预测数据库270中。路径规则也可以存储在预测数据库270可以参考的单独的数据库中。
在示例实施例中,在操作2105,电子设备100可以确定是否接收到唤醒话语(例如,调用命令)。例如,诸如“Bixby!!”之类的唤醒话语可以是为触发语音识别人工智能服务而指定的命令。如果没有接收到唤醒话语,则过程可以返回到操作2009。在操作2009,电子设备100可以收集语音数据并将收集到的语音数据发送到智能服务器200。
在示例实施例中,在操作2107,电子设备100可以分析接收到的语音数据作为唤醒话语,以确定已经产生唤醒话语的说话者。例如,电子设备100可以分析作为唤醒话语接收到的语音数据以获得说话者信息。作为另一示例,电子设备100可以将作为唤醒话语输入的语音数据发送到智能服务器200,并且可以从智能服务器200获得说话者信息。
在示例实施例中,在操作2109,电子设备100可以确定获得的说话者信息是否存在于说话者数据库中。例如,电子设备100可以与在自动语音识别模块210中配置的说话者确定模块1723配合来提取说话者特征,并且基于提取出的说话者特征来确定接收到的语音数据的说话者是否与存储的说话者模型的说话者相同。例如,说话者确定模块1723可以检查接收到的语音数据的说话者是否对应于存储在第四数据库1729中的说话者模型中的一个(例如,第一说话者模型1733、第二说话者模型1735和第三说话者模型1737),并确定与接收到的语音数据的说话者相对应的说话者模型。
在示例实施例中,如果与提取出的说话者信息有关的信息存在于预测数据库270中,则在操作2111,电子设备100可以选择与说话者有关的路径规则,并基于所选路径规则来提供推荐服务作为反馈。例如,如果在预测数据库270中为多个说话者分配了路径规则,则电子设备100可以通过向已经产生唤醒话语的说话者分配较高的权重来选择路径规则。作为另一示例,如果存在与唤醒话语一起输入的关键词,则电子设备100可以基于该关键词来调整存储在预测数据库270中的参数的权重,并且根据调整后的权重来提供推荐服务。
在示例实施例中,如果在预测数据库270中不存在与提取出的说话者信息有关的信息,则在操作2113,电子设备100可以提供默认反馈。例如,电子设备100可以等待来自用户的附加语音输入,或者可以输出请求用户输入用于确定意图的附加信息的UI(用户界面)或UX(用户体验)。
图22是示出了根据本公开的实施例的电子设备100请求附加信息的示例操作的流程图。
在示例实施例中,参照图22,在操作2201,电子设备(例如,图2中的电子设备100)可以根据指定条件接收输入信息,并将接收到的信息发送到智能服务器(例如,图6中的服务器200)。例如,在检测到在指定级别或更高级别(例如,给定持续时间或更长时间,或给定数量或更多)两个或更多个用户之间的对话时,电子设备100可以收集语音数据并将收集到的语音数据发送到智能服务器200。
在示例实施例中,在操作2203,电子设备100可以响应于发送到智能服务器200的语音数据从智能服务器200接收路径规则,并且可以分析接收到的路径规则以构建预测数据库270。
在示例实施例中,在操作2205,电子设备100可以从用户接收被设置为唤醒语音识别人工智能服务的唤醒话语(例如,调用命令)。
在示例实施例中,在操作2207,如果在接收到唤醒话语时用户的意图不清楚,则电子设备100可以输出请求附加信息的UI(用户界面)或UX(用户体验)。例如,如果电子设备100基于在接收唤醒话语之前收集的对话仅理解上下文“用户正尝试订购外卖食品”,则其可以产生对唤醒话语的响应,例如“您想点什么样的食物?”作为附加信息的请求。例如,如果在接收唤醒话语时没有清楚地理解用户的意图或先前对话的上下文,则电子设备100可以请求针对参数中尚未识别出的一些参数的附加输入,例如动作的代理、动作的时间、动作的地点、动作的目标、执行动作的方法以及动作的原因。如果确定接收到唤醒话语时用户的意图清楚,则电子设备100可以跳过操作2207。
在示例实施例中,在操作2209,电子设备100可以为已经产生唤醒话语的用户选择路径规则,并提供相应的推荐服务作为反馈。例如,电子设备100可以确定用户的说话者信息,并基于确定的说话者信息来提供结果反馈。
【表2】
图23是示出了根据本公开的实施例的电子设备100基于说话者提供推荐服务的示例的图。图24是示出了根据本公开的实施例的电子设备100基于时间信息来提供推荐服务的示例的图。图25是示出了根据本公开的实施例的电子设备100基于上下文的完整性来提供推荐服务的示例的图。
在以下关于图23和图24的描述中,假设在电子设备(例如,图2中的电子设备100)接收到唤醒话语时,如以上表3中所示配置预测数据库270。
参照图23,如果已经产生唤醒话语的说话者是用户A,则电子设备100可以首先通过执行管理器模块147选择与用户A相关联的路径规则。例如,在表3中,作为与用户A有关的第一路径规则和第二路径规则,执行管理器模块147可以首先选择第一路径规则和第二路径规则。电子设备100的执行管理器模块147可以基于权重来选择初始选择的路径规则之一。例如,因为第一路径规则在第一路径规则和第二路径规则中具有最高的权重,所以执行管理器模块147可以选择第一路径规则,并且电子设备100可以根据选择结果输出声音信号,例如“今天水原的天气很晴朗”。在示例实施例中,基于在接收到唤醒话语之前收集到的对话中用户A最频繁地谈论天气的事实,电子设备100可以为预测数据库270中的第一路径规则分配相对较高的权重。在另一个实施例中,基于在接收唤醒话语之前用户A经常使用的与天气有关的人工智能服务的偏好信息,电子设备100可以将相对较高的权重分配给预测数据库270中的第一路径规则。
在示例实施例中,如果已经产生唤醒话语的说话者是用户A,则电子设备100可以首先通过执行管理器模块147选择与用户A相关联的第一路径规则和第二路径规则。在唤醒话语中没有包含关键词时,电子设备100可以选择第一路径规则,因为第一路径规则在第一路径规则和第二路径规则中具有更高的权重。然而,如果唤醒话语中包含关键词时,则电子设备100可以在第一路径规则和第二路径规则中选择第二路径规则。例如,如果用户A产生的唤醒话语中未包括关键词“音乐或歌曲”,则电子设备100可以选择第二路径规则。
参照图24,如果已经产生唤醒话语的说话者是用户B,则电子设备100可以首先通过执行管理器模块147选择与用户B相关联的路径规则。例如,在表3中,作为与用户B有关的第二、第四和第五路径规则,执行管理器模块147可以首先选择第二、第四和第五路径规则。电子设备100的执行管理器模块147可以基于权重来选择初始选择的路径规则之一。例如,执行管理器模块147可以选择第四路径规则,因为第四路径规则在第二、第四和第五路径规则中具有最高的权重,并且电子设备100可以根据选择结果输出诸如“您想看15频道的电视节目吗?”这样的声音信号。在示例实施例中,基于在接收到唤醒话语之前收集到的对话中用户B最频繁地谈论的电视节目的事实,电子设备100可以将相对较高的权重分配给预测数据库270中的第四路径规则。在另一个实施例中,如果预测数据库270中的路径规则之间的权重差小于或等于指定值,则电子设备100可以选择最近生成的路径规则。例如,假设第二路径规则的权重为80%,第四路径规则的权重为83%,因为两个权重之差小于指定值(例如,8%),则电子设备100可以选择生成时间较晚的第四路径规则。
参照图25,在示例实施例中,如果存在在接收唤醒话语时从先前的对话中清楚地理解了上下文的推荐服务,则电子设备100可以选择与推荐服务相关联的路径规则。例如,在从用户C接收到唤醒话语之后,电子设备100可以基于对用户即将订购披萨的清晰理解(用户的意图)来推荐与第三路径规则相对应的披萨订购服务。
【表4】
在各种实施例中,智能服务器200可以根据预设上下文来管理信息。例如,智能服务器200可以将语音内容分类为诸如“天气”、“商业”和“设备控制”之类的上下文组,并将最近的上下文状态存储在预测数据库270中。上面的表4示出了由电子设备100或智能服务器(例如,图6中的服务器200)管理的上下文的示例。
在示例实施例中,当电子设备100开始收集用户对话时,智能服务器200可以将默认优先级分配给与收集到的对话和最近存储的上下文相关联的路径规则。如果在收集的对话中存在附加提示,则智能服务器200可以向与该提示相关联的另一路径规则分配更高的优先级。在此,附加提示可以引用表4中的代表词作为识别上下文的标准。例如,在电子设备100收集用户的对话之前,智能服务器200可以将“设备控制”上下文存储为最新上下文。如果用于识别上下文的提示(例如,表4中的代表词)未包括在电子设备100收集的对话中,则智能服务器200可以首先将与最新上下文“设备控制”相关联的路径规则发送给电子设备100。另一方面,如果用于识别上下文的提示(例如,与上下文“天气”有关的代表词,例如“温度”、“空气”或“湿度”)包含在电子设备100收集的对话中,则智能服务器200可以将与上下文“天气”相关联的路径规则发送到电子设备100,而忽略与最近的上下文“设备控制”相关联的路径规则的优先级。
【表5】
图26是示出了根据本公开的实施例的电子设备100提供推荐服务的另一示例的图。
在以下关于图26的描述中,假设当电子设备(例如,图2中的电子设备100)接收到唤醒话语时,预测数据库270被配置为如表5所示。
参照图26,如果已经产生唤醒话语的说话者是用户C,则电子设备100可以首先通过执行管理器模块147选择与用户C相关联的路径规则。例如,在表5中,作为与用户C有关的第三路径规则,执行管理器模块147可以首先选择第三路径规则。此后,执行管理器模块147不仅可以在接收唤醒话语之前基于用户之间的对话是针对中国食物订单的对话来选择第三路径规则还可以选择第一和第二路径规则,电子设备100可以根据选择结果输出诸如“A想吃什锦面,B想吃炸酱面,C想吃炒饭,你想在中国餐馆点菜吗?”这样的声音信号。或者,电子设备100可以通过显示器输出与声音信号相对应的信息,诸如“A想吃什锦面,B想吃炸酱面,C想吃炒饭,你想在中国餐馆点菜吗?”。
在示例实施例中,如果用户响应于推荐服务而输入不同的信息,则电子设备100可以改变路径规则。例如,在电子设备100输出了诸如诸如“A想吃什锦面,B想吃炸酱面,C想吃炒饭,你想在中国餐馆点菜吗?”这样的声音信号时,如果用户输入了诸如“改吃炸酱面”的语音输入时,电子设备100可以为用户A使用更改过的菜单项来订购食物。在这种情况下,电子设备100可以输出请求用户A重新确认更改请求的UI(用户界面)或UX(用户体验)。
图27是示出了根据本公开的实施例的电子设备100提供补充信息的示例的图。
在示例实施例中,参照图27,电子设备(例如,图2中的电子设备100)可以通过在收集用户对话的同时通过输出用户界面(UI)或用户体验(UX)来显示当前状态信息。例如,电子设备100可以基于对用户对话的上下文的理解来控制LED照明以改变其颜色、长度或厚度。例如,电子设备100可以在开始收集用户对话时控制LED照明以输出第一颜色(例如,黄色)2701,并且可以随着对话收集的进行将LED照明的颜色从第一颜色改变为第二颜色(例如,绿色)2703。当完全理解用户对话的上下文时,电子设备100可以确定推荐服务并控制LED照明以输出第三颜色(例如,蓝色)2705,使得用户可以知道存在推荐服务。
如上所述,根据本公开的各种实施例的电子设备可以在用户输入唤醒话语之前预先收集用户的对话,并且可以基于收集的结果提供人工智能服务。因此,电子设备可以提供快速且准确的响应并基于附加信息产生响应。另外,当电子设备的用户利用语音识别人工智能服务时,可以通过减少语音输入的数量或大小来提高用户的便利性。
根据各种实施例的电子设备可以是各种类型的电子设备之一。电子设备可以包括例如但不限于便携式通信设备(例如,智能电话)、计算机设备、便携式多媒体设备、便携式医疗设备、相机、可穿戴设备、家用电器等。根据本公开的实施例,电子设备不限于上述那些。
应当理解,本公开的各种实施例及其中使用的术语并不旨在将本文阐述的技术特征限制为特定的实施例,而是包括对相应实施例的各种改变、等同或替换。关于附图的描述,相似的附图标记可以用于指代相似或相关的元件。
应当理解,除非相关上下文清楚地另外指出,否则与项目相对应的名词的单数形式可以包括一个或多个事物。如本文所使用的,诸如“A或B”、“A和B中的至少一个”、“A或B中的至少一个”、“A、B或C”、“A、B和C中的至少一个”、以及“A、B或C中的至少一个”中的每个短语可以包括在相应的短语之一中一起列举的项目的任何一种或所有可能的组合。
如本文所使用的,诸如“第一”和“第二”或“第1”和“第2”之类的术语可以被用来简单地将对应的组件与另一组件区分开,并且在其他方面不限制组件(例如,重要性或顺序)。应当理解,如果一个元件(例如,第一元件)被称为使用或不使用术语“可操作地”或“可通信地”与另一元件(例如,第二元件)“耦合”和“连接”或“耦合至”和“连接至”另一元件(例如,第二元件),则意味着该元件可以直接(例如,有线地)、无线地或经由第三元件与另一元件耦合。
如本文所使用的,术语“模块”可以包括以硬件、软件或固件实现的单元,并且可以与其他术语互换使用,例如“逻辑”、“逻辑块”、“部件”或“电路”。模块可以是适于执行一个或更多个功能的单个整体组件或其最小单元或其一部分。例如,根据实施例,该模块可以以专用集成电路(ASIC)的形式实现。
本文所阐述的各种实施例可以被实现为包括存储在机器(电子设备101)可读的存储介质(例如,内部存储器136或外部存储器138)中的一个或更多个指令的软件(例如,程序140)。例如,机器(例如,电子设备101)的处理器(例如,处理器120)可以调用存储在存储介质中的一个或更多个指令中的至少一个,并且在处理器的控制下使用或不使用一个或更多个组件的情况下执行该指令。这允许机器被操作以根据所调用的至少一条指令来执行至少一项功能。该一个或更多个指令可以包括由编译器生成的代码或由解释器可执行的代码。可以以非暂时性存储介质的形式来提供机器可读存储介质。其中,术语“非暂时性”可以是有形的设备,并且可以不包括信号(例如,电磁波),但是该术语不区分数据在存储介质中半永久存储的位置和数据在存储介质中临时存储的位置。
根据实施例,可以在计算机程序产品中包括并提供根据本公开的各个实施例的方法。该计算机程序产品可以作为产品在卖方和买方之间进行交易。该计算机程序产品可以以机器可读存储介质(例如,光盘只读存储器(CD-ROM))的形式分发,或者可以经由应用商店在线(例如,下载或上传)分发(例如,PlayStore
根据各种实施例,上述组件的每个组件(例如,模块或程序)可以包括单个实体或多个实体。根据各种实施例,可以省略一个或更多个上述组件,或者可以添加一个或更多个其他组件。替代地或附加地,可以将多个组件(例如,模块或程序)集成到单个组件中。在这种情况下,根据各种实施例,集成的组件仍可以以与集成之前多个组件中的相应组件执行的相同或相似的方式来执行多个组件中的每个组件的一个或更多个功能。根据各种实施例,可以依次、并行、重复或试探地执行由模块、程序或另一组件执行的操作,或者可以以不同顺序执行或省略操作中的一个或多个,或者可以添加一个或多个其他操作。
尽管已经参考各种示例实施例示出和描述了本公开,但是应当理解,示例实施例旨在是说明性的,而不是限制性的,并且本领域的技术人员将理解和意识到可以在不脱离由所附权利要求及其等同形式所定义的本公开的真正精神和充分范围的情况下在形式和细节上进行各种变化。
- 用于基于预先合成的对话提供人工智能服务的电子设备和方法
- 提供对话内容的电子设备、服务器及其方法