本申请要求于2017年4月28日提交的韩国专利申请no.10-2017-0055377的优先权,其内容通过引用被并入本文中。
本公开涉及一种用于语音数据处理的技术,并且更具体地涉及在利用机器学习算法的人工智能(ai)系统中的语音数据处理及其应用。
背景技术
诸如智能电话、平板电脑和计算机的电子设备越来越普遍。另外,电子设备包括越来越多的功能和应用。随着功能数量的增加,用户从可用的应用或功能中选择所需的功能或应用变得更加困难。
上述信息仅作为背景信息被呈现以辅助理解本公开。关于上述任何内容是否可适用于关于本公开的现有技术,尚未作出任何判定,且没有作出断言。
技术实现要素:
人工智能系统(或集成智能系统)能够包括通过自身进行学习和判断并且在使用时提高识别率的系统。
人工智能技术可以包括使用通过自身对输入数据本身的特性进行分类或学习的算法的机器学习(深度学习)技术,以及通过使用机器学习算法来进行模拟(例如识别,确定等)的元素技术(elementtechnology)。
例如,元素技术可以包括如下技术中的至少一种:识别口语或书写字符的语言理解技术、识别诸如视觉的对象的视觉理解技术、确定用于逻辑地推断和预测所确定信息的信息的推断或预测技术、将经验信息处理为知识数据的知识表达技术以及控制车辆的自动驾驶和机器人的动作的操作控制技术。
上述元素技术中的语言理解包括自然语言处理、机器翻译、对话系统、查询响应、语音识别/合成等,作为识别和应用/处理人类语言/字符的技术。
如果按下指定的硬件按键或通过麦克风输入指定的语音,则配备有人工智能系统的电子设备可以启动智能应用(诸如语音识别应用(或app)),并且可以进入用于通过智能应用接收用户的语音输入的待机状态。例如,电子设备可以在显示器的屏幕上显示智能应用的用户界面(ui)。另外,电子设备可以在待机状态下通过麦克风接收用户的语音输入。在这种情况下,电子设备可以将与所接收的语音输入相对应的语音数据发送到智能服务器。智能服务器可以将所接收的语音数据转换为文本数据并且可以基于所转换的文本数据确定任务序列,所述任务包括关于执行在电子设备中包括的至少一个应用的功能的任务(或操作)的信息或关于执行任务所需要的参数的信息。之后,电子设备可以从智能服务器接收任务序列,并且可以根据任务序列执行任务。
在要被连续执行的任务中存在需要较长执行时间的任务的情况下,从智能服务器接收任务序列以处理该任务序列的电子设备可以等待相应任务的执行完成或可以通过为任务设置的超时来取消对通过规则(passrule)的处理。
本公开的各方面可以至少解决上述问题和/或缺点,并且可以至少提供下面描述的优点。因此,本公开的一方面提供了一种语音数据处理方法以及支持该方法的电子设备,所述方法在存在经延迟的任务同时根据从智能服务器接收的任务序列执行任务的情况下,增加经延迟的任务的超时时间并将经延迟的任务切换为在后台的任务。根据本公开的一方面,一种电子设备包括显示器、被配置为接收语音输入的麦克风、被配置为与外部电子设备通信的通信电路、被配置为存储至少一个应用的存储器;以及电连接到所述麦克风、所述通信电路、所述显示器和所述存储器的一个或更多个处理器,其中所述处理器被配置为获得与通过所述麦克风接收的所述用户的语音相对应的语音数据,将所述语音数据通过所述通信电路发送到外部电子设备,通过所述通信电路从所述外部电子设备接收基于所述语音数据确定的用于执行至少一个应用的第一功能的任务序列;并且在基于所述任务序列执行任务时,当确定任务序列中的第一任务的执行未在指定时间内完成时,延长所述第一任务的超时时间(time-out)并且将所述第一任务的执行切换为在后台执行。
根据本公开的另一方面,一种电子设备的语音数据处理方法,所述方法包括:获得与通过麦克风接收的语音输入相对应的语音数据;通过通信电路将所述语音数据发送到外部电子设备;经由所述通信电路从所述外部电子设备接收基于所述语音数据确定的用于执行至少一个应用的第一功能的任务序列;并且在基于所述任务序列执行任务时,当确定第一任务的执行未在指定时间内完成时,延长所述第一任务的超时时间并且将所述第一任务的执行切换为在后台执行。
根据本公开的另一方面,一种电子设备,包括:壳体;触摸屏显示器,所述触摸屏显示器设置在所述壳体内并且通过所述壳体的第一部分暴露;麦克风,所述麦克风设置在所述壳体内部并且通过所述壳体的第二部分暴露;至少一个扬声器,所述至少一个扬声器布置在所述壳体内并且通过所述壳体的第三部分暴露;设置在所述壳体内的无线通信电路;一个或更多个处理器,所述一个或更多个处理器设置在所述壳体内并且电连接到所述触摸屏显示器、所述麦克风、所述扬声器和所述无线通信电路;以及存储器,所述存储器设置在所述壳体内并且电连接到所述处理器,其中所述存储器存储包括第一用户界面的第一应用,并且其中所述存储器存储指令,当所述指令被执行时使得所述处理器:通过所述触摸屏显示器或所述麦克风中的至少一个来接收包括通过使用所述第一应用来执行任务的请求;通过所述无线通信电路将与所述用户输入相关联的数据发送到外部服务器;经由所述无线通信电路从所述外部服务器接收包括关于用于执行所述任务的所述电子设备的状态序列的信息的响应,其中所述电子设备在所述状态序列中执行所述任务,使得每个状态都在指定时间内完成;并且当与所述第一应用相关联的一个选定状态持续时间超过所述指定时间时,则延长所述选定状态的指定时间。
根据本公开的各个实施例,所述经延迟的任务的超时时间可以增加,并且因此能够防止对通过规则的处理被取消。
根据本公开的各个实施例,所述经延迟的任务可以被切换为后台中的所述任务,由此通过提供执行另一任务或电子设备支持的另一功能的方法来增加电子设备的可用性。
此外,可以提供通过本公开直接或间接理解的各种效果。
根据下面结合附图公开了本公开的各个实施例的具体实施方式,本公开的其他方面、优点和显着特征对于本领域技术人员将变得显而易见。
附图说明
根据结合附图进行的下面描述,本公开的某些实施例的以上和其他方面、特征和优点将更明显,其中:
图1是例示根据本公开的各个实施例的集成智能系统的视图。
图2是例示根据本公开的实施例的集成智能系统的用户终端的框图。
图3是例示根据本公开的实施例的运行了用户终端的智能应用的视图。
图4是例示根据本公开的实施例的集成智能系统的智能服务器的框图。
图5是例示根据本公开的实施例的nlu模块的任务序列生成方法的图。
图6是例示根据本公开的实施例的与语音数据处理相关联的电子设备的框图。
图7是例示根据本公开的实施例的与语音数据处理相关联的电子设备的操作方法的流程图。
图8是例示根据本公开的实施例的与到任务的后台的切换相关联的电子设备的操作方法的流程图。
图9是用于描述根据本公开的实施例的执行与经延迟的任务相关联的其他任务中的需要用户输入的任务的方法的视图。
图10是用于描述根据本公开的实施例的执行与经延迟的任务相关联的其他任务中的需要用户输入的任务的另一方法的视图。
图11是用于描述根据本公开的实施例的执行与经延迟的任务相关联的其他任务中的需要用户输入的任务的另一方法的视图。
图12是用于描述根据本公开的实施例的输出用于提供存在经延迟的任务的通知的对象的方法的视图。
图13是用于描述根据本公开的实施例的执行与经延迟的任务相关联的另一任务的方法的视图。
图14是用于描述根据本公开的实施例的执行与经延迟的任务相关联的其他任务中的需要用户的语音输入的任务的方法的视图。
图15是用于描述根据实施例的建议与经延迟的任务类似的功能的方法的视图。
图16是用于描述根据实施例的建议与经延迟的任务类似的功能的另一方法的视图。
图17是用于描述根据本公开的实施例的显示经延迟的任务的状态的方法的视图。
图18是例示根据本公开的实施例的与显示经延迟的任务的状态的方法相关联的电子设备的操作方法的视图。
图19例示了根据各个实施例的网络环境1900中的电子设备1901。
贯穿附图,应该注意的是,相似的附图标记用于描绘相同或相似的元件、特征和结构。
具体实施方式
在下文中,本公开的各个实施例可以被描述为与附图相关联。因此,本领域的普通技术人员将认识到,在不脱离本公开的范围的情况下,能够对本文描述的各个实施例进行各种修改,等效和/或替代。
在描述本公开的实施例之前,将描述应用本公开的实施例的集成智能系统。
图1是例示根据本公开的各个实施例的集成智能系统的视图。
参考图1,集成智能系统10可以包括用户终端100、智能服务器200、个人信息服务器300或建议服务器400。
用户终端100可以通过用户终端100中存储的应用(或应用程序)(例如,警报应用、消息应用、图片(图库)应用等)提供用户所需的服务。例如,用户终端100可以通过用户终端100中存储的智能应用(或语音识别应用)运行或操作另一应用。可以接收用于通过用户终端100的智能应用启动和操作其他应用的用户输入。例如,用户输入可以通过物理按钮、触摸板、语音输入、远程输入等来接收。根据实施例,与互联网连接的各种类型的终端设备(或电子设备)(诸如移动电话、智能电话、个人数字助理(pda)、笔记本电脑等)可以对应于用户终端100。
根据实施例,用户终端100可以接收用户话语作为用户输入。用户终端100可以接收用户话语并且可以基于用户话语生成用于操作应用的指令。这样,用户终端100可以通过使用该指令来操作应用。
智能服务器200可以通过通信网络从用户终端100接收用户的语音输入,并且可以将语音输入改变为文本数据。在另一个实施例中,智能服务器200可以基于文本数据生成(或选择)任务序列。任务序列可以包括关于运行应用的功能的任务(或操作、功能或动作)的信息或关于执行该任务所需的参数的信息。另外,任务序列可以包括应用的任务的顺序。用户终端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、扬声器130、存储器140或处理器150。用户终端100可以进一步包括壳体,并且用户终端100的元件可以被安置在壳体中或可以位于壳体上。
根据实施例,输入模块110可以从用户接收用户输入。例如,输入模块110可以从连接的外部设备(例如,键盘或耳机)接收用户输入。又例如,输入模块110可以包括耦接到显示器120的触摸屏(例如,触摸屏显示器)。又例如,输入模块110可以包括放置在用户终端100(或用户终端100的壳体)中的硬件按键(或物理按键)。
根据实施例,输入模块110可以包括能够接收用户话语作为语音输入的麦克风(例如,图3的麦克风111)。例如,输入模块110可以包括语音输入系统,并且可以通过语音输入系统接收用户的话语作为语音输入。
根据实施例,显示器120可以显示应用的图像、视频和/或运行画面(screen)。例如,显示器120可以显示应用的图形用户界面(gui)。
根据实施例,扬声器130可以输出语音信号。例如,扬声器130可以将在用户终端100中生成的语音信号输出到外部。
根据实施例,存储器140可以存储多个应用141和143。存储器140中存储的多个应用141和143可以根据用户输入来选择、启动和运行。
根据实施例,存储器140可以包括能够存储识别用户输入所需的信息的数据库。例如,存储器140可以包括能够存储日志信息的日志数据库。又例如,存储器140可以包括能够存储特定于用户的信息的个人数据库。
根据实施例,存储器140可以存储多个应用141和143,并且多个应用141和143可以被加载来进行操作。例如,存储器140中存储的多个应用141和143可以由处理器150的执行管理器模块153加载以进行操作。多个应用141和143可以包括执行功能或多个任务(或单元任务)141b和143b的执行服务141a和143a。执行服务141a和143a可以由处理器150的执行管理器模块153生成,然后可以执行多个任务141b和143b。
根据实施例,当执行应用141和143的任务141b和143b时,可以在显示器120中显示根据任务141b和143b的执行的执行状态画面。例如,执行状态画面可以是其中任务141b和143b被完成的状态下的画面。又例如,执行状态画面可以是其中任务141b和143b处于扫描状态(例如,等待必要参数或输入)的画面。
根据实施例,执行服务141a和143a可以根据任务序列执行任务141b和143b。例如,执行服务141a和143a可以由执行管理器模块153激活,可以根据任务序列从执行管理器模块153接收执行请求,并且可以根据执行请求执行应用141和143的任务141b和143b。如果任务141b和143b的执行被完成,则执行服务141a和143a可以将完成信息发送到执行管理器模块153。
根据实施例,在其中多个任务141b和143b分别在应用141和143中被执行的情况下,多个任务141b和143b可以被顺序地执行。例如,任务143b可以是依赖于任务141b的数据。如果一个任务(任务1)的执行被完成,则执行服务141a和143a可以打开下一个任务(任务2),并且可以将完成信息发送给执行管理器模块153。这里,应理解的是,打开任意任务是将任意任务的状态改变为可执行状态或准备执行该任意任务。换句话说,如果任意任务未被打开,则不会执行相应的任务。如果接收到完成信息,则执行管理器模块153可以将对下一个任务141b和143b的执行请求发送到执行服务(例如,任务2)。根据实施例,在执行多个应用141和143的情况下,可以顺序地执行多个应用141和143。例如,如果在执行第一应用141的最后任务之后接收到完成信息,则执行管理器模块153可以将第二应用143的第一任务的执行请求发送到执行服务143a。
根据实施例,在应用141和143中执行多个任务141b和143b的情况下,根据执行的多个任务141b和143b中的每个的执行的结果画面可以被显示在显示器120中。根据实施例,根据执行的多个任务141b和143b的多个结果画面中的仅一部分可以被显示在显示器120中。
根据实施例,存储器140可以存储与智能代理151配合操作的智能应用(例如语音识别应用)。与智能代理151配合操作的应用可以接收用户的话语并且将用户的话语处理为话音信号。根据实施例,与智能代理151配合操作的应用可以由通过输入模块110输入的特定输入(例如,通过硬件按键的输入,通过触摸屏的输入或特定语音输入)来触发。
根据实施例,处理器150可以控制用户终端100的全部任务。例如,处理器150可以控制输入模块110接收用户输入。处理器150可以控制显示器120显示图像。处理器150可以控制扬声器130输出语音信号。处理器150可以控制存储器140读取或存储必要的信息。
根据实施例,处理器150可以电连接到输入模块110,输入模块110包括接收语音输入的麦克风,并且处理器150可以包括智能代理151、执行管理器模块153或智能服务模块155。在实施例中,处理器150可以通过执行存储器140中存储的指令来对智能代理151、执行管理器模块153或智能服务模块155进行驱动。在本公开的各个实施例中描述的模块可以通过硬件或通过软件来实现。在本公开的各个实施例中,应理解的是,由智能代理151、执行管理器模块153或智能服务模块155执行的任务是由处理器150执行的任务。
根据实施例,智能代理151可以基于作为用户输入接收的语音信号来生成用于操作应用的指令。根据实施例,执行管理器模块153可以从智能代理151接收所生成的指令,并且可以选择、启动和操作存储器140中存储的应用141和143。根据实施例,智能服务模块155可以管理用户的信息并且可以使用用户的信息来处理用户输入。
智能代理151可以处理通过输入模块110所接收的用户输入并且可以通过通信电路将其发送到智能服务器200。
根据实施例,在将用户输入发送到智能服务器200之前,智能代理151可以对用户输入进行预处理。根据实施例,为了对用户输入进行预处理,智能代理151可以包括自适应回声消除器(aec)模块、噪声抑制(ns)模块、终点检测(epd)模块或自动增益控制(agc)模块。aec可以消除用户输入中包括的回声。ns模块可以抑制用户输入中包括的背景噪声。epd模块可以检测用户输入中包括的用户语音的终点以搜索存在用户语音的部分。agc模块可以调整用户输入的音量,以适于识别和处理用户输入。根据实施例,智能代理151可以包括用于执行的所有预处理元件。然而,在另一实施例中,智能代理151可以包括一部分预处理元件以便以低功率操作。
根据实施例,智能代理151可以包括对用户的呼叫进行识别的唤醒识别模块。唤醒识别模块可以通过语音识别模块识别用户的唤醒指令。在唤醒识别模块接收到唤醒指令的情况下,唤醒识别模块可以激活智能代理151以接收用户输入。根据实施例,智能代理151的唤醒识别模块可以用低功率处理器(例如,音频编解码器中包括的处理器)来实现。根据实施例,智能代理151可以根据通过硬件按键输入的用户输入来激活。在智能代理151被激活的情况下,可以执行与智能代理151配合操作的智能应用(例如,语音识别应用)。在某些实施例中,唤醒代理151可以响应于接收到预定的语音输入而被唤醒。例如,预定词语的用户话语能够使唤醒代理151醒来。
根据实施例,智能代理151可以包括用于执行用户输入的语音识别模块。语音识别模块可以识别用于执行应用中的任务的用户输入。例如,语音识别模块可以识别用于执行应用141和143中的诸如唤醒指令的任务的受限用户(语音)输入(例如,当正在运行相机应用时用于执行捕捉任务的诸如“咔哒声”的话语)。例如,用于协助智能服务器200的同时识别用户输入的语音识别模块可以识别并快速处理能够在用户终端100中被处理的用户指令。根据实施例,用于执行智能代理151的用户输入的语音识别模块可以在应用处理器中被实现。
根据实施例,智能代理151的语音识别模块(包括唤醒模块的语音识别模块)可以通过使用用于识别语音的算法来识别用户输入。例如,用于识别语音的算法可以是隐马尔可夫模型(hmm)算法、人工神经网络(ann)算法或动态时间规整(dtw)算法中的至少一个。
根据实施例,智能代理151可以将用户的语音输入改变为文本数据。根据实施例,智能代理151可以将用户的语音发送给智能服务器200。另外,智能代理151可以将文本数据显示在显示器120中。
根据实施例,智能代理151可以从智能服务器200接收任务序列。根据实施例,智能代理151可以将任务序列发送到执行管理器模块153。
根据实施例,智能代理151可以向智能服务模块155发送根据(从智能服务器200接收的)任务序列的执行结果日志,并且所发送的执行结果日志可以在个人模块155b的用户的偏好信息中被累积和管理。
根据实施例,执行管理器模块153可以从智能代理151接收任务序列以运行应用141和143,并且执行管理器模块153可以允许应用141和143执行任务序列中包括的任务141b和143b。例如,执行管理器模块153可以将用于执行任务141b和143b的指令信息分别发送到应用141和143,并且可以从应用141和143接收任务141b和143b的完成信息。
根据实施例,执行管理器模块153可以在智能代理151与应用141和143之间发送或接收用于执行应用141和143的任务141b和143b的指令信息。执行管理器模块153可以将应用141和143绑定为根据任务序列被执行,并且可以将任务序列中包括的任务141b和143b的指令信息发送到应用141和143。例如,执行管理器模块153可以将任务序列中包括的任务141b和143b顺序地发送到应用141和143,并且可以根据任务序列顺序地执行应用141和143的任务141b和143b。
根据实施例,执行管理器模块153可以管理应用141和143的任务141b和143b的执行状态。例如,执行管理器模块153可以从应用141和143接收关于任务141b和143b的执行状态的信息。例如,在任务141b和143b处于扫描状态(例如,等待任务所需的输入参数)的情况下,执行管理器模块153可以发送关于扫描状态的信息给智能代理151。智能代理151可以通过使用所接收的信息向用户请求输入必要信息(例如,参数信息)。又例如,在任务141b和143b的执行状态处于操作状态的情况下,处理器150可以使扬声器输出语音提示,向用户要求额外的话语/语音输入。可以从用户接收话语/语音输入,并且执行管理器模块153可以向智能代理151发送关于正在运行的应用141和143的信息以及应用141和143的运行状态。智能代理151可以通过智能服务器200从用户的语音输入接收参数信息,并且可以将所接收的参数信息发送给执行管理器模块153。执行管理器模块153可以通过使用所接收的参数信息将任务141b和143b中的每个的参数改变为新的参数。
根据实施例,执行管理器模块153可以将任务序列中包括的参数信息发送到应用141和143。在多个应用141和143根据任务序列而顺序执行的情况下,执行管理器模块153可以将任务序列中包括的参数信息从一个应用发送到另一个应用。
根据实施例,执行管理器模块153可以接收多个任务序列。执行管理器模块153可以基于用户的话语/语音输入来选择多个任务序列。例如,在用户话语指定执行任务141b的一部分的应用141但不指定执行任何其他任务143b的应用143的情况下,执行管理器模块153可以接收多个不同的任务序列,其中执行任务141b的一部分的同一应用141(例如,图库应用)被运行,并且其中执行另一任务143b的不同应用143(例如,消息应用或电报(telegram)应用)被运行。例如,执行管理器模块153可以执行多个任务序列中的同一任务141b和143b(例如,同一连续任务141b和143b)。在执行管理器模块153执行同一任务的情况下,执行管理器模块153可以在显示器120中显示用于选择多个任务序列中包括的不同应用141和143的状态画面。
根据某些实施例,在基于任务序列执行任务时,当确定第一任务未在指定时间内被执行时,处理器150延长第一任务的超时时间并且将第一任务的执行切换为在后台执行。
超时时间应理解为指正在执行并等待事件(例如用于检测事件的输入或参数)的任务的时间限制。
根据实施例,智能服务模块155可以包括上下文模块155a、个人模块155b或建议模块155c。
上下文模块155a可以从应用141和143收集应用141和143的当前状态。例如,上下文模块155a可以接收指示应用141和143的当前状态的上下文信息以收集应用141和143的当前状态。
个人模块155b可以利用用户终端100对用户的个人信息进行管理。例如,个人模块155b可以收集用户终端100的使用信息和执行结果以对用户的个人信息进行管理。
建议模块155c可以预测用户的意图以向用户推荐指令。例如,建议模块155c可以考虑了用户的当前状态(例如,时间、地点、上下文或应用)来向用户推荐指令。
图3是例示根据本公开的实施例的在智能应用被运行时的用户终端的视图。
图3例示了用户终端100接收用户输入(例如,112、116a)以运行与智能代理151配合操作的智能应用(例如,语音识别应用)。
根据实施例,用户终端100可以在按下硬件按键112之后运行用于识别语音的智能应用。例如,在用户终端100通过硬件按键112接收到用户输入的情况下,用户终端100可以在显示器120中显示智能应用的ui121。例如,用户可以触摸智能应用的ui121的语音识别按钮121a,为的是在智能应用的ui121被显示在显示器120中的状态下输入语音113b的目的。在另一示例中,在连续按下硬件按键112来输入语音输入116a时,用户可以输入语音输入116b。
根据实施例,用户终端100可以运行用于通过麦克风111识别语音的智能应用。例如,在通过麦克风111输入113a指定的词语命令(例如,唤醒!)的情况下,用户终端100可以在显示器120中显示智能应用的ui121。
图4是例示根据本公开的实施例的集成智能系统的智能服务器的框图。
参考图4,智能服务器200可以包括自动语音识别(asr)模块210、自然语言理解(nlu)模块220、路径规划模块230、对话管理器(dm)模块240、自然语言生成器(nlg)模块250或文本到语音(tts)模块260。
智能服务器200的nlu模块220或路径规划模块230可以生成任务序列。
根据实施例,asr模块210可以将从用户终端100所接收的用户输入改变为文本数据。例如,asr模块210可以包括话语识别模块。话语识别模块可以包括声学模型和语言模型。例如,声学模型可以包括与话语相关联的信息,并且语言模型可以包括单位音素信息和关于单位音素信息的组合的信息。话语识别模块可以通过使用与话语和单位音素信息相关联的信息将用户话语改变为文本数据。例如,关于声学模型和语言模型的信息可以被存储在自动语音识别数据库(asrdb)211中。
根据实施例,nlu模块220可以通过执行语法分析或语义分析来掌握用户意图。语法分析可以将用户输入划分为语法单元(例如,词语、短语、语素等)并确定划分的单元具有哪些语法元素。语义分析可以通过使用语义匹配、规则匹配、公式匹配等来执行。如此,nlu模块220可以获得域、意图或表达该意图的用户输入所需的参数(或时隙)。
根据实施例,nlu模块220可以通过使用被划分为域、意图以及掌握意图所需的参数(或时隙)的匹配规则来确定用户的意图和参数。例如,一个域(例如,警报)可以包括多个意图(例如,警报设置、警报取消等),并且一个意图可以包括多个参数(例如,时间、迭代数目、警报声等)。例如,多个规则可以包括一个或更多个必要的参数。匹配规则可以被存储在自然语言理解数据库(nludb)221中。
根据实施例,nlu模块220可以通过使用语言特征(例如,语法元素)(诸如语素、短语等)来掌握从用户输入中提取的词语的含义,并且可以将所抓取的词语的含义与域和意图相匹配来确定用户意图。例如,为了确定用户意图的目的,nlu模块220可以计算在域和意图中的每个中包括多少个从用户输入中提取的词语。根据实施例,nlu模块220可以通过使用作为掌握意图的基础的词语来确定用户输入的参数。根据实施例,nlu模块220可以通过使用存储用于掌握用户输入的意图的语言特征的nludb221来确定用户意图。根据另一个实施例,nlu模块220可以通过使用个人语言模型(plm)来确定用户意图。例如,nlu模块220可以通过使用个性化信息(例如,联系人列表或音乐列表)来确定用户意图。例如,plm可以被存储在nludb221中。根据实施例,asr模块210以及nlu模块220可以参考存储在nludb221中的plm来识别用户的语音。
根据实施例,nlu模块220可以基于用户输入的意图和参数来生成任务序列。例如,nlu模块220可以基于用户输入的意图选择要被运行的应用,并且可以在所选的应用中确定要执行的任务。nlu模块220可以确定与所确定的任务相对应的参数以生成任务序列。根据实施例,由nlu模块220生成的任务序列可以包括与要被运行的应用有关的信息、要在应用中执行的任务以及执行该任务所需的参数。
根据实施例,nlu模块220可以基于用户输入的意图和参数来生成一个任务序列或多个任务序列。例如,nlu模块220可以从路径规划模块230接收与用户终端100相对应的任务序列集,并且可以将用户输入的意图和参数映射到所接收的任务序列集,为的是确定任务序列的目的。
根据另一个实施例,nlu模块220可以基于用户输入的意图和参数来确定要运行的应用、要在应用中执行的任务以及执行任务所必需的参数,为的是生成一个任务序列或多个任务序列的目的。例如,nlu模块220可以通过以本体或图形模型的形式根据用户输入的意图使用用户终端100的信息来布置要运行的应用和要在应用中执行的任务,为的是生成任务序列的目的。例如,生成的任务序列可以通过路径规划模块230被存储在任务序列数据库(prdb)231中。生成的任务序列可以被添加到prdb231的任务序列集中。
根据实施例,nlu模块220可以选择所生成的多个任务序列中的至少一个任务序列。例如,nlu模块220可以选择多个任务序列中的最优任务序列。又例如,在基于用户话语仅指定任务的一部分的情况下,nlu模块220可以选择多个任务序列。nlu模块220可以根据用户的附加输入来确定多个任务序列中的一个任务序列。
根据实施例,nlu模块220可以响应于对用户输入的请求将任务序列发送到用户终端100。例如,nlu模块220可以将与用户输入相对应的一个任务序列发送到用户终端100。又例如,nlu模块220可以将与用户输入相对应的多个任务序列发送到用户终端100。例如,在基于用户话语仅指定任务的一部分的情况下,可以由nlu模块220生成多个任务序列。
根据实施例,路径规划模块230可以选择多个任务序列中的至少一个任务序列。
根据实施例,路径规划模块230可以将包括多个任务序列的任务序列集发送到nlu模块220。任务序列集的多个任务序列可以以表格形式被存储在与路径规划模块230连接的prdb231中。例如,路径规划模块230可以将与从智能代理151所接收的用户终端100的信息(例如,os信息或应用信息)相对应的任务序列集发送到nlu模块220。例如,prdb231中存储的表格可以针对每个域或针对每个版本的域来存储。
根据实施例,路径规划模块230可以从任务序列集中选择一个任务序列或多个任务序列,以将所选的一个任务序列或所选的多个任务序列发送到nlu模块220。例如,路径规划模块230可以将用户意图和参数与对应于用户终端100的任务序列集进行匹配,以选择一个任务序列或多个任务序列,并且可以将所选的一个任务序列或所选的多个任务序列发送到nlu模块220。
根据实施例,路径规划模块230可以通过使用用户意图和参数来生成一个任务序列或多个任务序列。例如,路径规划模块230可以基于用户意图和参数来确定要运行的应用和要在应用中执行的任务,为的是生成一个任务序列或多个任务序列的目的。根据实施例,路径规划模块230可以将所生成的任务序列存储在prdb231中。
根据实施例,路径规划模块230可以将由nlu模块220生成的任务序列存储在prdb231中。所生成的任务序列可以被添加到被存储在prdb231中的任务序列集中。
根据实施例,prdb231中存储的表格可以包括多个任务序列或多个任务序列集。多个任务序列或多个任务序列集可以反映执行每个任务序列的设备的种类、版本、类型或特性。
根据实施例,dm模块240可以确定nlu模块220掌握的用户意图是否清楚。例如,dm模块240可以基于参数的信息是否充分来确定用户意图是否清楚。dm模块240可以确定nlu模块220掌握的参数是否足以执行任务。根据实施例,在用户意图不清楚的情况下,dm模块240可以执行用于向用户请求必要信息的反馈。例如,dm模块240可以执行用于请求关于用于掌握用户意图的参数的信息的反馈。
根据实施例,dm模块240可以包括内容提供商模块。在内容提供商模块基于nlu模块220所掌握的意图和参数执行任务的情况下,内容提供商模块可以生成通过执行与用户输入相对应的任务而获得的结果。根据实施例,dm模块240可以将由内容提供商模块生成的结果作为对用户输入的响应发送到用户终端100。
根据实施例,自然语言生成模块nlg250可以将指定的信息改变为文本形式。被改变为文本形式的信息可以是自然语言话语的一种形式。例如,指定的信息可以是关于附加输入的信息、用于指导完成与用户输入相对应的任务的信息、或用于指导用户的附加输入的信息(例如关于用户输入的反馈信息)。被改变为文本形式的信息可以在被发送到用户终端100之后被显示在显示器120中,或可以在被发送到tts模块260之后被改变为语音形式。
根据实施例,tts模块260可以将文本形式的信息改变为语音形式的信息。tts模块260可以从nlg模块250接收文本形式的信息,可以将文本形式的信息改变为语音形式的信息,并且可以将语音形式的信息发送给用户终端100。用户终端100可以将语音形式的信息输出到扬声器130。
根据实施例,nlu模块220、路径规划模块230和dm模块240可以用一个模块来实现。例如,nlu模块220、路径规划模块230和dm模块240可以用一个模块来实现,可以确定用户意图和参数,并且可以生成与所确定的用户意图和参数相对应的响应(例如,任务序列)。这样,所生成的响应可以被发送到用户终端100。
在某些实施例中,asrdb211、nludb221和prdb231能够包括每个电子设备中的每个任务141b、143b的注册。每个任务141b、143b能够与通常与其相关联的可听的词语数据相关联。当asr模块210、nlu模块220和路径规划模块230接收到语音数据时,上述模块能够识别与语音数据的部分相关联的任务141b、143b。所识别的任务141b、143b然后能够用于生成任务序列。
图5是例示根据本公开的实施例的nlu模块的任务序列生成方法的图。
参考图5,根据实施例,nlu模块220可以将应用的功能划分为单位任务(例如,a至f),并且可以将划分的单位任务存储在prdb231中。例如,nlu模块220可以将包括被划分成单位任务的多个任务序列a-b1-c1、a-b1-c2、a-b1-c3-d-f和a-b1-c3-d-e-f存储在prdb231中。
根据实施例,路径规划模块230的prdb231可以存储用于执行应用的功能的任务序列集。任务序列集可以包括多个任务序列,所述多个任务序列中的每个任务序列包括多个任务。根据输入到多个任务中的每个的参数执行的任务可以顺序地布置在多个任务序列中。根据实施例,以本体或图形模型的形式实现的多个任务序列可以被存储在prdb231中。
根据实施例,nlu模块220可以选择多个任务序列a-b1-c1、a-b1-c2、a-b1-c3-d-f和a-b1-c3-d-e-f中的与用户输入的意图和参数相对应的最佳任务序列a-b1-c3-d-f。
根据实施例,在不存在与用户输入完全匹配的任务序列的情况下,nlu模块220可以向用户终端100发送多个规则。例如,nlu模块220可以选择与用户输入部分对应的任务序列(例如,a-b1)。nlu模块220可以选择包括与用户输入部分对应的任务序列(例如,a-b1)的一个或更多个任务序列(例如,a-b1-c1、a-b1-c2、a-b1-c3-d-f和a-b1-c3-d-e-f),并且可以将该一个或更多个任务序列发送到用户终端100。
根据实施例,nlu模块220可以基于由用户终端100添加的输入来选择多个任务序列中的一个,并且可以将所选的一个任务序列发送给用户终端100。例如,nlu模块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的目的。
根据另一个实施例,nlu模块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接收到信息不足的用户输入的情况下,nlu模块220可以生成与所接收的用户输入部分对应的任务序列。例如,nlu模块220可以将部分对应的任务序列发送给智能代理151。智能代理151可以将部分对应的任务序列发送给执行管理器模块153,并且执行管理器模块153可以根据任务序列运行第一应用141。执行管理器模块153可以在运行第一应用141时将关于不足参数的信息发送给智能代理151。智能代理151可以通过使用关于不足参数的信息向用户请求附加输入。如果另外的输入被用户输入,则智能代理151可以将附加输入处理并发送到智能服务器200。nlu模块220可以基于另外输入的用户输入的意图和参数信息生成要添加的任务序列,并且可以将要添加的任务序列发送到智能代理151。智能代理151可以将任务序列发送到执行管理器模块153并且可以运行第二应用143。
根据实施例,在智能服务器200接收到丢失了一部分信息的用户输入的情况下,nlu模块220可以将用户信息请求发送到个人信息服务器300。个人信息服务器300可以将个人数据库中存储的输入用户输入的用户的信息发送到nlu模块220。nlu模块220可以通过使用用户信息来选择与其中丢失了一部分任务的用户输入相对应的任务序列。这样,即使智能服务器200接收到其中丢失了一部分信息的用户输入,nlu模块220也可以对丢失的信息做出请求以接收额外的输入,或可以通过使用用户信息确定与用户输入相对应的任务序列。
图6是例示根据本公开的实施例的与语音数据处理相关联的电子设备的框图。图6中所示的电子设备600可以包括与上述附图的用户终端100的配置相同或相似的配置。
根据实施例,如果设置在电子设备600的壳体的一个表面上的硬件按键(例如,硬件按键112)被按下或通过麦克风610(例如,麦克风111)输入了指定的语音(例如,唤醒!)时,电子设备600可以启动智能应用(诸如存储器670(例如,存储器140)中存储的语音识别应用)。在这种情况下,电子设备600可以在显示器630(例如,显示器120)的屏幕上显示智能应用的ui(例如,ui121)。
根据实施例,在智能应用的ui被显示在显示器630中的状态下,用户可以触摸智能应用的ui中包括的语音输入按钮(例如,语音识别按钮121a),为的是输入语音的目的。如果智能应用的ui中包括的语音输入按钮被触摸,则电子设备600可以进入待机状态用于接收用户的语音输入,并且可以在待机状态下通过麦克风610接收用户的语音输入。在任何实施例中,在硬件按键(例如,映射到智能应用的运行和语音输入功能的按钮)被按下并保持的情况下(例如,在硬件按键被保持在按压状态的情况下),电子设备600可以启动智能应用并且可以激活麦克风610以接收语音输入。另外,如果接收到用户的语音输入,则电子设备600可以通过通信电路690将与语音输入对应的语音数据发送到外部电子设备(例如,智能服务器200)。在这种情况下,外部电子设备可以将所接收的语音数据转换为文本数据,可以基于所转换的文本数据确定包括关于用于执行电子设备600中包括的至少一个应用的功能的任务(或操作)的序列信息的任务序列,并且可以将所确定的任务序列发送到电子设备600。之后,电子设备600可以根据从外部电子设备接收的任务序列来执行任务。就此而言,关于任务的序列信息可以包括每个任务的标识信息、关于执行每个任务所需的参数的信息、关于任务的执行顺序的信息等。
根据实施例,在根据从外部电子设备所接收的任务序列来执行任务时,在存在(即,经延迟的任务)未在指定时间(例如,超时时间)内完成的任务的情况下,电子设备600可以增加经延迟的任务的超时时间并且可以将经延迟的任务的执行切换为在后台中的任务。替代地,电子设备600可以增加经延迟的任务的超时时间并且可以在屏幕的至少一部分上显示经延迟的任务的执行状态信息(例如,执行进度),并且可以提供用户界面,使得用户输入(例如,触摸)是可能的。也就是说,电子设备600可以防止由于经延迟的任务的超时而导致任务序列的处理被取消,并且可以提供执行另一任务或电子设备600中安装的另一应用的功能的方法。
参考图6,执行上述功能的电子设备600可以包括麦克风610、显示器630、处理器650、存储器670和通信电路690。然而,电子设备600的配置不限于此。根据各个实施例,除了前述元件之外,电子设备600可以进一步包括至少其他元件。例如,为了向用户通知语音输入的处理结果的目的,电子设备600可以进一步包括将电子设备600中产生的语音信号输出到外部的扬声器(例如,扬声器130)。例如,扬声器可以将电信号转换成振动以将声波发送到空气中。
根据实施例,麦克风610可以接收用户的话语作为语音信号。例如,麦克风610可以将由用户话语引起的振动能量转换成电信号,并且可以将所转换的电信号发送到处理器650。
根据实施例,显示器630可以向用户显示各种内容(例如,文本、图像、视频、图标、符号等)。根据实施例,显示器630可以包括触摸屏。例如,显示器630可以使用电子笔或用户身体的一部分(例如手指)来获得触摸输入、手势输入、接近输入或悬停输入。
根据实施例,处理器650可以执行数据处理或与电子设备600的至少一个其他元件的控制和/或通信相关联的操作。例如,处理器650可以驱动操作系统(os)或应用程序来控制连接到处理器650的多个硬件元件或软件元件,并且可以处理各种数据或可以执行算术运算。处理器650可以包括中央处理单元(cpu)、应用处理器(ap)或通信处理器(cp)中的一个或更多个。根据实施例,处理器650可以使用片上系统(soc)来实现。
根据实施例,处理器650可以启动存储器670中存储的应用(例如,智能应用),并且可以将应用的运行画面输出到显示器630。例如,处理器650可以组织与屏幕中的应用相关联的上下文(例如,ui)以将内容输出到显示器630。
根据实施例,如果语音输入按钮被选择,则处理器650可以进入待机状态用于接收语音输入。例如,待机状态可以是麦克风610被激活的状态,以便语音输入是可能的。此外,为了通知用户处理器650进入了待机状态的目的,处理器650可以将与待机状态相关联的画面输出到显示器630。例如,处理器650可以向显示器630通知麦克风610已经被激活,并且因此可以向用户通知语音输入是可能的。
根据实施例,如果通过麦克风610接收到语音输入,则处理器650可以通过通信电路690将与语音输入相对应的语音数据发送到外部电子设备(例如,智能服务器200)。此外,处理器650可以通过通信电路690从外部电子设备接收基于通过将语音数据转换为文本格式的数据而生成的文本数据所确定的任务序列。在任何实施例中,如果通过麦克风610接收到语音输入,则处理器650可以通过通信电路690将通过将与语音输入相对应的语音数据转换为文本格式的数据而生成的文本数据发送到外部电子设备。
根据实施例,处理器650可以通过通信电路690从外部电子设备(例如,智能服务器200)接收包括关于执行存储器670中存储的至少一个应用的功能的任务的序列信息的任务序列。如果接收到任务序列,则处理器650可以基于任务序列执行任务。例如,处理器650可以通过使用任务序列中包括的每个任务的标识信息来验证要执行的任务,并且可以基于任务序列中的执行顺序来顺序地执行任务。
根据实施例,在任务被顺序执行时存在经延迟的任务的情况下,处理器650可以增加经延迟的任务的超时时间。例如,处理器650可以增加设置的超时时间,以便经延迟的任务的执行被完成。在任何实施例中,处理器650可以根据任务的类型不同地设置超时时间,并且可以根据任务的类型不同地设置超时时间增加的时间。又例如,在即使处理器650增加经延迟的任务的超时时间,经延迟的任务也未在增加的超时时间内执行的情况下,处理器650可以将关于任务的延迟的信息输出到显示器630并且可以重新延长任务的超时时间或可以提供用于取消任务的执行的用户界面。
根据实施例,处理器650可以将经延迟的任务的执行切换为在后台中执行。例如,处理器650可以在后台执行经延迟的任务并且可以在前台执行与经延迟的任务相关联的另一任务或可以在前台执行存储器670中包括的另一应用的功能。例如,在后台执行经延迟的任务的操作可以包括处理器650限制与经延迟的任务相关联地使用的系统资源以不占用用户界面的操作。
“前台”处理应指由处理器立即进行的当前处理,而“后台”处理应指要由处理器处理的处理列表中但目前尚未被处理的处理。
根据实施例,处理器650可以确定是否存在任务序列中包括的任务中的这样的另一个任务,所述另一个任务不论经延迟的任务的执行结果如何都可执行。在这种情况下,处理器650可以将经延迟的任务的执行切换为在后台执行,并且可以在前台执行其他可执行的任务。
根据实施例,在存在除了经延迟的任务之外的其他任务中的缺少必要参数信息的任务的情况下,处理器650可以进行到用于获得参数信息的过程。例如,为了获得参数信息的目的,处理器650可以将与参数信息相关联的用户界面输出到显示器630。就这一点而言,例如,与参数信息相关联的用户界面可以包括需要用户的触摸输入的按钮对象、引起用户语音输入的显示对象等。如此,在继续执行经延迟的任务时,处理器650可以接收完成任务序列的处理所必需的用户输入。
根据实施例,处理器650可以从智能服务器200接收多个任务序列;如果所述多个任务序列中的任务序列中包括的任务被延迟,则处理器650可以在后台执行经延迟的任务的同时执行另一个任务序列中包括的任务。
根据实施例,当在后台执行经延迟的任务时,处理器650可以执行与经延迟的任务类似的功能。例如,在经延迟的任务作为用于执行第一功能的阶段被执行的情况下,当在后台执行经延迟的任务时,处理器650可以执行与第一功能类似的第二功能。例如,在第一功能是将声音输出到第一输出路径(例如,蓝牙耳机)的功能的情况下,处理器650可以执行第二功能以将声音输出到第二输出路径(例如,扬声器)。在这种情况下,用户可以验证类似的功能被执行,然后处理器650可以从用户接收验证结果。
根据实施例,处理器650可以向显示器630输出用于提供存在经延迟的任务的通知的对象。例如,对象可以包括告知存在经延迟的任务的文本和特定图标(例如,诸如语音识别应用等的智能应用的图标)中的至少一个。在对象包括图标的情况下,如果通过用户的触摸输入来选择图标,则经延迟的任务的标识信息、经延迟的任务的执行时间、经延迟的任务的超时时间、直到经延迟的任务的超时时间为止的剩余时间、用于取消经延迟的任务的按钮对象等可以被输出到显示器630。在任何实施例中,处理器650可以通过使用能够表达时间流的对象(例如,进度条)来表达经延迟的任务的执行时间或直到经延迟的任务的超时时间为止的剩余时间。
根据实施例,如果经延迟的任务的执行被完成,则处理器650可以确定是否存在要执行的其他任务;在存在任务的情况下,处理器650可以基于任务的序列信息来执行任务。在任何实施例中,处理器650可以从执行目标中排除任务中的已经被执行并且随后被完成的任务。例如,在处理器650在后台执行经延迟的任务的同时,在前台执行并且然后完成的另一任务的情况下,处理器650可以将其他任务从执行目标中排除。
根据实施例,存储器670可以存储与电子设备600的至少一个其他元件相关联的命令或数据。根据实施例,存储器670可以存储软件和/或程序。例如,存储器670可以存储与人工智能技术相关联的应用(例如,智能应用)。例如,智能应用可以包括与接收用户话语作为语音信号并处理语音信号的功能相关联的指令、从外部电子设备接收关于用于执行存储器670中存储的至少一个应用的功能的任务的序列信息的指令、基于序列信息执行任务的指令、在任务中的经延迟的任务存在的情况下增加经延迟的任务的超时时间的指令、或将经延迟的任务的执行切换为在后台执行的指令。然而,智能应用中包含的指令不限于此。根据各个实施例,除了上述指令之外,智能应用可以进一步包括至少另一个指令,并且可以省略上述指令中的至少一个。另外,在存储器670中存储的软件和/或程序中包括的指令可以由处理器650加载到易失性存储器上,并且可以根据指定的程序例程来处理。
根据实施例,通信电路690可以支持在电子设备600和外部电子设备(例如,智能服务器200、个人信息服务器300或建议服务器400)之间建立通信信道以及通过建立的通信信道执行有线或无线通信。
如上所述,根据各个实施例,电子设备(例如,电子设备600)可以包括显示器(例如,显示器630)、被配置为接收用户语音的麦克风(例如,麦克风610)、被配置为与外部电子设备通信的电路(例如,通信电路690)、被配置为存储至少一个应用的存储器(例如,存储器670)、以及电连接到麦克风,通信电路,显示器和存储器的处理器(例如,处理器650)。处理器可以被配置为获得与通过麦克风接收的用户语音相对应的语音数据,通过通信电路将语音数据发送到外部电子设备,通过通信电路从外部电子设备接收基于语音数据确定的用于执行至少一个应用的第一功能的任务的序列信息,并且在基于序列信息执行任务时,如果确定存在在指定时间内未完成其执行的第一任务,则延长第一任务的超时时间,并将第一任务的执行切换为在后台执行。
根据各个实施例,处理器可以被进一步配置为如果第一任务的执行被切换到在后台执行,则向显示器输出用于提供存在第一任务的通知的对象。
根据各个实施例,处理器可以被进一步配置为如果发生用于选择对象的触摸输入,则将关于第一任务的状态信息输出到显示器。
根据各个实施例,处理器可以被进一步配置为如果确定存在其执行与任务中的第一任务的执行结果无关的第二任务,则执行第二任务。
根据各个实施例,处理器可以被进一步配置为如果确定第二任务是需要用户输入的任务,则提供用户界面以获得用户输入。
根据各个实施例,处理器可以被进一步配置为如果确定任务中不存在可执行的第二任务,则将包括允许要执行的至少一个应用的第二功能的对象的画面输出到显示器。
根据各个实施例,处理器可以被进一步配置为将建议执行与第一功能类似的第二功能的对象输出到显示器。
根据各个实施例,处理器可以被进一步配置为如果第一任务的执行未在延长的超时时间内完成,则再次延长已延长的超时时间。
根据各个实施例,处理器可以被进一步配置为如果第一任务的执行在延长的超时时间内被完成,则确定是否存在与任务中的第一任务相关联的第二任务;以及如果存在第二任务存,则执行第二任务。
如上所述的,根据各个实施例,电子设备(例如,电子设备600)可以包括壳体、设置在壳体内并且通过壳体的第一部分暴露的触摸屏显示器(例如,显示器630)、设置在壳体内并通过壳体的第二部分暴露的麦克风(例如,麦克风610)、设置在壳体内并且通过壳体的第三部分暴露的至少一个扬声器(例如,扬声器130)、设置在壳体内部的无线通信电路(例如,通信电路690)、设置在壳体内并且电连接到触摸屏显示器,麦克风,扬声器和无线通信电路的处理器(例如,处理器650)、以及设置在壳体内并电连接到处理器的存储器(例如,存储器670)。存储器可以存储包括第一用户界面的第一应用,并且存储器可以存储指令,当该指令被执行时使得处理器通过触摸屏显示器或麦克风中的至少一个来接收包括用于通过使用第一应用执行任务的请求的用户输入,通过无线通信电路将与用户输入相关联的数据发送到外部服务器,通过无线通信电路从外部服务器接收包括关于用于执行任务的电子设备的状态序列的信息的响应,其中电子设备处于执行任务的状态序列中,以便每个状态在指定时间内完成,并且如果与第一应用相关联的一个所选状态持续比指定时间更长的时间,则延长所选状态的指定时间。
根据各个实施例,存储器可以存储指令,当指令在被执行时使得处理器在接收到用户输入时显示第二用户界面,并且在用于所选状态的指定时间被延长时显示第一用户界面的至少一部分。
图7是例示根据本公开的实施例的与语音数据处理相关联的电子设备的操作方法的流程图。
参考图7,在操作710中,电子设备(例如,电子设备600的处理器(例如,处理器650))可以获得语音数据。例如,如果用户发出语音输入,则处理器可以通过麦克风(例如,麦克风610)获得与语音输入相对应的语音数据。
在操作720中,根据实施例的处理器可以通过通信电路(例如,通信电路690)将获得的语音数据发送到外部电子设备(例如,智能服务器200)。在这种情况下,外部电子设备可以将所接收的语音数据转换为文本数据并且可以基于所转换的文本数据来确定(或生成)关于用于执行存储器(例如存储器670)中安装的至少一个应用的功能的任务的序列信息。在任何实施例中,处理器可以将获得的语音数据转换为文本数据,并且可以通过通信电路将所转换的文本数据发送到外部电子设备。在这种情况下,外部电子设备可以基于所接收的文本数据来确定(或生成)关于任务的序列信息。
在操作730中,根据实施例的处理器可以通过通信电路从外部电子设备接收任务序列。也就是说,处理器可以通过通信电路从外部电子设备接收用于执行由外部电子设备基于语音数据确定的至少一个应用的功能的任务序列。关于任务的序列信息可以包括每个任务的标识信息、关于执行每个任务所需的参数的信息、关于任务的执行顺序的信息等。
在操作740中,根据实施例的处理器可以基于序列信息来执行任务。例如,处理器可以基于任务序列顺序地执行任务。
在操作750中,根据实施例的处理器可以确定在任务序列的任务中是否存在在指定时间(例如,超时时间)内未完成的任务(即,经延迟的任务)。例如,处理器中包括的执行管理器模块(例如,执行管理器模块153)可以将每个任务的执行请求顺序地发送到应用,并且可以从应用接收对每个任务的执行完成响应。在这种情况下,如果在指定时间内未接收到对任务的执行完成响应,则执行管理器模块可以验证相应的任务被延迟。
在这方面,任务的超时时间可以设置为针对每个任务单元的指定时间,并且可以根据每个任务的任务类型而被不同地设置。例如,在任务的执行时间根据诸如文件下载、文件删除等的文件数量而改变的情况下,超时时间可以在考虑了文件的数量的情况下来动态设置。
替代地,可以在执行管理器模块内设置任务的超时时间,并且执行管理器模块可以使用存储器中存储的超时时间。在任何实施例中,对于每个任务,任务的超时时间可以被存储在智能服务器200中并且可以被管理。在这种情况下,智能服务器200可以将每个任务的超时时间包括在关于任务序列中包括的任务的序列信息中,并且可以将任务序列发送到电子设备。
根据实施例,在任务的执行未在指定时间内完成的情况下(即,经延迟的任务),在操作760中,处理器可以增加经延迟的任务的超时时间,并且可以将经延迟的任务的执行切换为在后台执行。也就是说,处理器可以增加经延迟的任务的超时时间,为的是防止由于经延迟的任务的超时而导致任务序列的处理被取消的目的。此外,处理器可以通过将经延迟的任务的执行切换为在后台执行来支持另一任务的执行或存储器中安装的另一应用的功能。超时时间被增加的时间可以设置为每个任务单元的指定时间,并且可以根据每个任务的任务类型而被不同地设置。
根据实施例,在不存在其执行未在指定时间内完成的任务(即,经延迟的任务)的情况下,在操作770中,处理器可以确定是否存在要执行的任务。例如,处理器可以确定是否存在与任务中的上个执行的任务相关联的另一个任务。在存在要执行的另一任务的情况下,处理器可以返回到操作740。也就是说,处理器可以基于序列信息执行要执行的其他任务。之后,如操作750中所述的,如果其他任务的执行未在指定时间内完成,则处理器可以执行操作760;如果其他任务的执行在指定时间内被完成,则处理器可以执行操作770。
在增加经延迟的任务的超时时间之后,在操作780中,根据实施例的处理器可以确定相应任务的执行是否在超时时间内被完成。例如,类似于操作750,处理器中包括的执行管理器模块可以将任务的执行请求发送到应用;然而,如果在超时时间内没有接收到对任务的执行完成响应,则执行管理器模块可以确定任务的执行是否未被完成。
根据实施例,如果其超时时间被增加的任务的执行被完成,则处理器可以返回到操作770。例如,处理器可以确定是否存在要执行的另一任务。
根据实施例,如果其超时时间被增加的任务的执行未被完成,则处理器可以取消该任务的执行。在这种情况下,处理器可以取消对其中包括所述任务的任务序列的处理。在任何实施例中,在取消对其中包括所述任务的任务序列的处理之前,处理器可以向用户提供用户界面,用户通过该用户界面来确定是否取消任务序列的处理。例如,处理器可以通过扬声器(例如,扬声器130)输出用于询问是否取消任务序列的处理的语音。在这种情况下,如果用户发出语音命令以取消对任务序列的处理,则处理器可以取消对任务序列的处理。在任何实施例中,处理器可以取消所述任务的执行并且可以执行具有与所述任务的功能类似的功能的任务。在这种情况下,用户可以确定是否执行具有类似功能的任务,然后处理器可以从用户接收确定结果。又例如,处理器可以再次延长任务的超时时间。
图8是例示根据本公开的实施例的与到任务的后台的切换相关联的电子设备的操作方法的流程图。
参考图8,在执行从外部电子设备(例如,智能服务器200)接收的任务序列中包括的任务时,如果任务中的第一任务的执行未在指定时间内完成,则在操作810中,电子设备(例如,电子设备600)的处理器(例如处理器650)可以增加经延迟的第一任务的超时时间并且可以将第一任务的执行切换为在后台的第一任务。
在操作830中,根据实施例的处理器可以向显示器(例如,显示器630)输出用于提供存在经延迟的任务的通知的对象。也就是说,处理器可以输出用于提供存在第一任务的通知的对象。例如,对象可以包括告知存在经延迟的任务(例如,第一任务)的文本和指定图标(例如,诸如语音识别应用的智能应用的图标等)中的至少一个。在一个实施例中,可以省略操作830的执行。
根据实施例,在对象包括图标的情况下,如果图标通过用户的触摸输入来选择,则处理器可以将经延迟的任务的标识信息、经延迟的任务的执行时间、经延迟的任务的超时时间、直到经延迟的任务的超时时间的剩余时间、用于取消经延迟的任务的按钮对象等输出到显示器。在任何实施例中,处理器可以通过使用能够表达时间流的对象(例如,进度条)来表达经延迟的任务的执行时间或直到经延迟的任务的超时时间的剩余时间。
在操作850中,根据实施例的处理器可以确定是否存在与经延迟的任务(例如,第一任务)的执行结果无关的另一个可执行任务(例如,第二任务)。在存在可执行的第二任务的情况下,在操作870中,处理器可以执行第二任务。在不存在可执行的第二任务的情况下,在操作890中,根据实施例的处理器可以将允许存储器中安装的另一应用的功能被执行的画面输出到显示器。例如,处理器可以将与经延迟的任务相关联的画面的输出切换到后台,并且可以将在前台状态下允许另一应用的功能被执行的画面(例如,主画面)输出到显示器。
在这点上,画面的输出被输出到画面的后台的状态可以包括与画面的输出相关联的处理未被终止但画面输出被终止的状态、至少一部分画面与前台中的画面输出重叠的状态、画面中包括的对象中的与用户界面相对应的对象被停用的状态等。
如上所述,根据各个实施例,电子设备(例如,电子设备600)的语音数据处理方法可以包括获得与通过麦克风接收的用户语音相对应的语音数据,通过通信电路将语音数据发送到所连接的外部电子设备,通过通信电路从外部电子设备接收基于语音数据确定的用于执行至少一个应用的第一功能的任务的序列信息,并且再基于该序列执行任务时,如果确定存在其执行未在指定时间内完成的第一任务,则延长第一任务的超时时间并且将第一任务的执行切换为在后台执行。
根据各个实施例,语音数据处理方法可以进一步包括如果第一任务的执行被切换为在后台执行,则向显示器输出用于提供存在第一任务的通知的对象。
根据各个实施例,语音数据处理方法可以进一步包括如果发生用于选择对象的触摸输入,则向显示器输出关于第一任务的状态信息。
根据各个实施例,语音数据处理方法可以进一步包括如果确定存在其执行与任务中的第一任务的执行结果无关的第二任务,则执行第二任务。
根据各个实施例,语音数据处理方法可以进一步包括如果确定第二任务是需要用户输入的任务,则提供用户界面以获得用户输入。
根据各个实施例,语音数据处理方法可以进一步包括如果确定任务中不存在可执行的第二任务,则向显示器输出这样的画面,所述画面包括允许至少一个应用的第二功能被执行的对象。
根据各个实施例,语音数据处理方法可以进一步包括向显示器输出建议执行与第一功能类似的第二功能的对象。
根据各个实施例,语音数据处理方法可以进一步包括如果第一任务的执行未在延长的超时时间内完成,则再次延长已延长的超时时间。
根据各个实施例,语音数据处理方法可以进一步包括如果第一任务的执行在延长的超时时间内被完成,则确定是否存在与任务中的第一任务相关联的第二任务;并且如果存在第二任务,则执行第二任务。
图9是用于描述根据本公开的实施例的执行与经延迟的任务相关联的其他任务中的需要用户输入的任务的方法的视图。
参考图9,电子设备(例如,电子设备600)可以启动存储器(例如,存储器670)中存储的智能应用,诸如语音识别应用。在这种情况下,电子设备可以在显示器(例如,显示器630)的屏幕900上显示智能应用的ui。另外,在智能应用的ui被显示在屏幕900上的状态下,如果用户为了输入语音而触摸智能应用的ui中包括的语音输入按钮,则电子设备可以进入待机状态以接收用户的语音输入并且可以通过处于待机状态的麦克风(例如,麦克风610)接收用户的语音输入。在这种情况下,如第一状态901所示的,电子设备可以在屏幕900上显示用于提供正在接收用户的语音输入(“listening...(正在听…)”)的通知的第一对象910。在任何实施例中,电子设备可以在智能应用的ui中包括第一对象910并且可以在屏幕900上输出第一对象910。在任何实施例中,在设置在壳体的一个表面上的硬件按键(例如,硬件按键112)被按压并保持时,电子设备可以启动智能应用并且可以启动麦克风以接收语音输入。
如果用户的语音输入被完成,则根据实施例的电子设备可以通过通信电路(例如,通信电路690)将与所接收的语音输入相对应的语音数据发送到外部电子设备(例如,智能服务器200))。在这种情况下,外部电子设备可以将所接收的语音数据转换成文本数据,可以基于所转换的文本数据确定包括关于这样的任务的序列信息的任务序列,并且可以将所确定的任务序列发送给电子设备,其中,所述任务用于执行电子设备的存储器中包括的至少一个应用的功能。如第二状态903所示的,在发送语音数据之后,直到接收到任务序列为止,根据实施例的电子设备可以显示指示电子设备处于待机状态以接收任务序列的第二对象920(“ok,holdon...(好的,等一下…)”)。在任何实施例中,电子设备可以包括智能应用的ui中的第二对象920,并且可以在屏幕900上输出第二对象920。例如,电子设备可以将智能应用的ui中包括的第一对象910切换到第二对象920。
根据实施例,电子设备可以确定在包括在所接收的任务序列中的任务中是否存在其执行未在指定时间内完成的经延迟的任务。在这种情况下,如第三状态905所示的,电子设备可以在屏幕900上输出关于经延迟的任务的状态信息。例如,电子设备可以在屏幕900上输出指示经延迟的任务的类型的第三对象951和指示经延迟的任务的执行时间(btconnecting...10sec...(蓝牙连接...10秒...))的第四对象953。在实施例中,电子设备可以在智能应用的ui中包括第三对象951和第四对象953,并且可以在屏幕900上输出第三对象951和第四对象953。例如,电子设备可以将智能应用的ui中包括的第二对象920切换到第三对象951和第四对象953。
根据实施例,如第三状态905所示的,电子设备可以延长经延迟的任务的超时时间。在这种情况下,如第四状态907所示的,电子设备可以在屏幕900上输出关于经延迟的任务的状态信息。例如,电子设备可以输出指示经延迟的任务的类型的第三对象951和指示经延迟的任务的执行时间的第四对象953。也就是说,根据实施例的电子设备可以连续地输出在第三状态905和第四状态907中输出的第三对象951和第四对象953。然而,随着时间流逝,所经过的时间可以被应用于在第四状态907中输出的第四对象953。
例如,电子设备900可以在后台执行连接蓝牙耳机的任务,同时在前台执行检索期望媒体的任务。
根据实施例,在第三状态905中,电子设备可以确定除了经延迟的任务之外的其他任务中是否存在需要用户输入的任务。例如,电子设备可以确定在任务序列中包括的任务中是否存在缺少必要参数信息的任务。在即使任务需要参数信息时也存在不包括参数信息的任务的情况下,为了获得参数信息的目的,电子设备可以在屏幕900上输出与参数信息相关联的用户界面。在任何实施例中,如第四状态907所示的,电子设备可以在屏幕900上显示用于确定用户界面是否被输出的第五对象970。
图10是用于描述根据本公开的实施例的执行与经延迟的任务相关联的其他任务中的需要用户输入的任务的另一方法的视图。
根据实施例,在与经延迟的任务相关联的其他任务中存在需要用户输入的任务的情况下,电子设备(例如,电子设备600)可以进行到接收用户输入的过程。例如,电子设备可以在显示器(例如显示器630)的屏幕1000上输出与参数信息相关联的用户界面,为的是获得执行该任务所需的参数信息的目的。在这种情况下,用户界面可以根据参数信息的类型而被不同地组织,并且可以在屏幕1000上输出。
参考图10,根据实施例的电子设备可以启动智能应用,诸如存储器(例如,存储器670)中存储的语音识别应用。在这种情况下,电子设备可以在屏幕1000上显示智能应用的ui。另外,在智能应用的ui被显示在屏幕1000上的状态下,如果用户触摸智能应用的ui中包括的语音输入按钮为的是输入语音的目的,则电子设备可以进入待机状态以接收用户的语音输入,并且可以通过处于待机状态的麦克风(例如,麦克风610)接收用户的语音输入。在这种情况下,如第一状态1001所示的,电子设备可以在屏幕1000上显示用于提供正在接收用户的语音输入的通知的第一对象1010。在任何实施例中,在设置在壳体的一个表面上的硬件按键(例如,硬件按键112)被按压并保持时,电子设备可以启动智能应用并且可以激活麦克风以接收语音输入。
如果用户的语音输入被完成,则根据实施例的电子设备可以通过通信电路(例如,通信电路690)将与所接收的语音输入相对应的语音数据发送到外部电子设备(例如,智能服务器200)。在这种情况下,外部电子设备可以将所接收的语音数据转换成文本数据,可以基于所转换的文本数据确定包括关于这样的任务的序列信息的任务序列,并且可以将所确定的任务序列发送给电子设备,其中,所述任务用于执行电子设备的存储器中包括的至少一个应用的功能。如第二状态1002所示的,在发送语音数据之后直到接收到任务序列为止,根据实施例的电子设备可以在屏幕1000上显示指示电子设备处于待机状态以接收任务序列的第二对象1020。
根据实施例,电子设备可以确定在所接收的任务序列中包括的任务中是否存在其执行未在指定时间内完成的经延迟的任务。在这种情况下,如第三状态1003所示的,电子设备可以在屏幕1000上输出关于经延迟的任务的状态信息。例如,电子设备可以在屏幕1000上输出指示经延迟的任务的类型的第三对象1031以及指示经延迟的任务的执行时间的第四对象1033。
根据实施例,如第三状态1003所示的,电子设备可以延长经延迟的任务的超时时间。在这种情况下,如第四状态1004所示的,电子设备可以在屏幕1000上输出关于经延迟的任务的状态信息。例如,电子设备可以在屏幕1000上输出指示经延迟的任务的类型的第三对象1031以及指示经延迟的任务的延迟时间的第四对象1033。也就是说,根据实施例的电子设备可以连续输出在第三状态1003和第四状态1004中输出的第三对象1031和第四对象1033。然而,随着时间流逝,所经过的时间可以被应用于在第四状态1004中输出的第四对象1033。
根据实施例,如果经延迟的任务的执行未在延长的超时时间内完成,则在第四状态1004中,电子设备可以在屏幕1000上输出用于提供执行未在延长的超时时间内完成的通知的第五对象1040。此外,电子设备可以确定除了经延迟的任务之外的其他任务中是否存在需要用户输入的任务。例如,电子设备可以确定在任务序列中包括的任务中是否存在缺少必要参数信息的任务。在即使任务需要参数信息时存在不包括参数信息的任务的情况下,为了获得参数信息的目的,电子设备可以在屏幕1000上输出与参数信息相关联的用户界面。在任何实施例中,如第五状态1005所示的,电子设备可以在屏幕1000上显示用于确定用户界面是否被输出的第六对象1050。
例如,电子设备1000可以在后台执行连接蓝牙耳机的任务,同时在前台执行检索期望的媒体的任务。
根据实施例,电子设备可以根据要获得的参数信息的类型来不同地组织用户界面。例如,在图9中,用户的语音可以被表述为“通过使用蓝牙耳机播放歌曲a(playsongabyusingabtheadset)”;连接到蓝牙耳机、搜索歌曲a以及播放所选的歌曲a可以分别被设置为第一任务、第二任务和第三任务;可能需要关于“歌曲a”的参数信息来执行任务中的第二任务和第三任务。如此,图9中的电子设备可以提供允许用户选择“歌曲a”的用户界面。例如,电子设备可以从屏幕上的存储器中存储的所有歌曲文件中输出仅包括其每个的艺术家信息是“a”的歌曲文件的列表。又例如,在图10中,用户的语音可以被表述为“通过使用蓝牙耳机播放音乐(playmusicbyusingabtheadset)”;连接到蓝牙耳机、搜索音乐和播放所选的歌曲a可以分别被设置为第一任务、第二任务和第三任务;可能需要关于“音乐”的参数信息来执行任务中的第二任务和第三任务。如此,图10中的电子设备可以提供允许用户选择“音乐”的用户界面。例如,如第六状态1006所示的,电子设备可以在屏幕1000上输出包括存储器中存储的所有音乐文件(或歌曲文件)的列表。该列表可以包括至少一个项目,该至少一个项目包括关于每个音乐文件的信息1061和允许用户选择每个音乐文件的按钮1063(例如,复选框)。
根据实施例,如第六状态1006所示的,电子设备可以在屏幕1000上显示用于提供存在经延迟的任务的通知的对象1065。
图11是用于描述根据本公开的实施例的执行与经延迟的任务相关联的其他任务中的需要用户输入的任务的另一方法的视图。
参考图11,在与经延迟的任务相关联的其他任务中存在需要用户输入的任务的情况下,根据实施例的电子设备(例如,电子设备600)可以基于单独的任务序列执行在经延迟的任务之后要被执行的任务。例如,如果从智能服务器200接收用于执行支持电子设备之间的数据发送/接收的应用(例如智能开关应用等)的功能的任务序列,则电子设备可以从智能服务器200接收单独的任务序列并且可以基于该单独的任务序列处理任务序列中包括的任务中的在经延迟的任务之后要被执行的任务。
根据实施例,在第一状态1101中,电子设备可以在显示器(例如,显示器630)的屏幕1100上输出智能开关应用的第一运行画面;如果通过用户的触摸输入来选择第一运行画面中包括的发送按钮1111或接收按钮1113,则电子设备可以搜索要被发送或接收的数据。在这种情况下,如第二状态1103所示的,电子设备可以在屏幕1100上显示用于提供数据正在被发现的通知的对象1130。
根据实施例,在第二状态1103中,如果与数据搜索相对应的任务的执行未在指定时间内完成,则电子设备可以基于单独的任务序列在数据被找到之后执行任务(即,接收用户输入以从所找到的数据中选择要被发送或接收的数据的任务、发送或接收所选的数据的任务等)。可以从智能服务器200接收单独的任务序列,并且当接收到单独的任务序列时的时间点可以根据上下文而不同,诸如用户首次发言时的时间点、在后台执行经延迟的任务时的时间点等。
之后,如果要被发送或接收的数据的搜索被完成,如在第三状态1105中,则电子设备可以在屏幕1100上输出包括关于每个找到的数据的类型的信息1151、允许每个数据被选择的按钮1153等的列表。
图12是用于描述根据本公开的实施例的输出用于提供存在经延迟的任务的通知的对象的方法的视图。
根据实施例,在存在经延迟的任务的情况下,电子设备(例如,电子设备600)可以在延长经延迟的任务的超时时间的同时将经延迟的任务的执行切换为在后台执行。此时,电子设备可以在显示器(例如,显示器630)的屏幕1200上输出用于提供存在经延迟的任务的通知的对象。
参考图12,电子设备可以启动智能应用,诸如存储器(例如,存储器670)中存储的语音识别应用。在这种情况下,电子设备可以在屏幕1200上显示智能应用的ui。另外,在智能应用的ui被显示在屏幕1200上的状态下,如果用户触摸智能应用的ui中包括的语音输入按钮为的是输入语音的目的,则电子设备可以进入待机状态以接收用户的语音输入,并且可以通过处于待机状态的麦克风(例如,麦克风610)接收用户的语音输入。在这种情况下,如第一状态1201所示的,电子设备可以在屏幕1200上显示用于提供正在接收用户的语音输入的通知的第一对象1210。在任何实施例中,在设置在壳体的一个表面上的硬件按键(例如,硬件按键112)被按压并保持时,电子设备可以启动智能应用并且可以激活麦克风以接收语音输入。
如果用户的语音输入被完成,则根据实施例的电子设备可以通过通信电路(例如,通信电路690)将与所接收的语音输入相对应的语音数据发送到外部电子设备(例如,智能服务器200)。在这种情况下,外部电子设备可以将所接收的语音数据转换成文本数据,可以基于所转换的文本数据确定包括关于这样的任务的序列信息的任务序列,并且可以将所确定的任务序列发送给电子设备,其中,所述任务用于执行电子设备的存储器中包括的至少一个应用的功能。如第二状态1203所示的,在发送语音数据之后直到接收任务序列为止,根据实施例的电子设备可以在屏幕1200上显示指示电子设备处于待机状态以接收任务序列的第二对象1230。
根据实施例,在所接收的任务序列中包括的任务中存在其执行未在指定时间内完成的经延迟的任务的情况下,如第三状态1205所示的,电子设备可以在屏幕1200上输出关于经延迟的任务的状态信息。例如,电子设备可以在屏幕1200上输出指示经延迟的任务的类型的第三对象1250。在任何实施例中,第三对象1250可以进一步包括用于提供如下通知的内容:该通知是用于提供经延迟的任务的执行时间或存在经延迟的任务的通知的对象(例如,第三对象1250)的大小能够被最小化。
根据实施例,如果在第三状态1205之后经过了特定时间,如第四状态1207所示的,则电子设备可以在屏幕1200的部分区域中显示用于提供存在经延迟的任务的通知的对象(例如,第三对象1250)。例如,电子设备可以显示其大小被最小化的第四对象1273。在这种情况下,电子设备可以允许第四对象1273仅部分地重叠存储器中安装的另一应用的功能运行画面1271。
根据实施例,如果发生触摸第四对象1273的用户输入,则电子设备可以在屏幕1200上输出关于经延迟的任务的状态信息。例如,在经延迟的任务的执行被完成的情况下,电子设备可以在屏幕1200上输出经延迟的任务的执行完成结果。
图13是用于描述根据本公开的实施例的执行与经延迟的任务相关联的另一任务的方法的视图。
根据实施例,在执行任务序列中包括的一部分任务花费很长时间的情况下,电子设备(例如,电子设备600)的处理器(例如,处理器650)可以向用户提供提示。例如,提示可以包括与用户能够执行附加输入的操作相对应的对象。例如,该提示可以是为了获得参数信息的目的而提供给用户的用户输入的示例。
参考图13,电子设备可以启动智能应用,诸如存储器(例如,存储器670)中存储的语音识别应用。在这种情况下,电子设备可以在屏幕1300上显示智能应用的ui。另外,在智能应用的ui被显示在屏幕1300上的状态下,如果用户触摸智能应用的ui中包括的语音输入按钮为的是输入语音的目的,则电子设备可以进入待机状态以接收用户的语音输入并且可以在待机状态下通过麦克风(例如,麦克风610)接收用户的语音输入。在这种情况下,如第一状态1301所示的,电子设备可以在屏幕1300上显示用于提供正在接收用户的语音输入的通知的第一对象1310。在任何实施例中,在设置在壳体的一个表面上的硬件按键(例如,硬件按键112)被按压并保持时,电子设备可以启动智能应用并且可以激活麦克风以接收语音输入。
如果用户的语音输入被完成,则根据实施例的电子设备可以通过通信电路(例如,通信电路690)将与所接收的语音输入相对应的语音数据发送到外部电子设备(例如,智能服务器200)。在这种情况下,外部电子设备可以将所接收的语音数据转换成文本数据,可以基于所转换的文本数据确定包括关于这样的任务的序列信息的任务序列,并且可以将所确定的任务序列发送给电子设备,其中,所述任务用于执行电子设备的存储器中包括的至少一个应用的功能。如第二状态1303所示的,在发送语音数据之后直到接收到任务序列为止,根据实施例的电子设备可以在屏幕1300上显示指示电子设备处于待机状态以接收任务序列的第二对象1330。
根据实施例,在所接收的任务序列中包括的任务中存在其执行未在指定时间内完成的经延迟的任务的情况下,如第三状态1305所示的,电子设备可以在屏幕1300上输出关于经延迟的任务的状态信息。例如,电子设备可以在屏幕1300上输出指示经延迟的任务的类型的第三对象1351和指示经延迟的任务的执行时间的第四对象1353。
根据实施例,在第三状态1305中,电子设备可以确定要提供给用户的提示。例如,在除了经延迟的任务之外的其他任务中存在需要参数信息的任务的情况下,电子设备可以为了获得参数信息的目的来确定要提供给用户的提示。就这一点而言,处理器中包括的智能代理(例如,智能代理151)可以将提示提供请求发送到处理器中包括的建议模块(例如,建议模块155c)。如果从智能代理接收到提示提供请求,则建议模块中的提示提供器可以接收该请求并且可以请求上下文提示生成器来生成提示。上下文提示生成器可以通过使用条件检查器从上下文模块(例如,上下文模块155a)或个人模块(例如,个人模块155b)接收信息。上下文提示生成器可以通过使用所接收的信息来在建议模块中设置条件模型,并且可以验证条件模型以生成与上下文匹配的提示。如果生成的提示被发送给提示提供器,则提示提供器可以根据内部规则对要显示给用户的提示进行排序,并且可以显示所选的提示。
根据实施例,如果确定了要提供给用户的提示,如第四状态1307所示的,则电子设备可以在屏幕1300上输出指示所确定的提示的第五对象1370。例如,与用户能够执行附加输入的操作相对应的对象(例如,用于搜索另一设备的ui)可以被显示在第五对象1370中。
图14是用于描述根据本公开的实施例的执行与经延迟的任务相关联的其他任务中的需要用户的语音输入的任务的方法的视图。
根据实施例,在与经延迟的任务相关联的其他任务中存在需要用户输入的任务的情况下,电子设备(例如,电子设备600)可以进行到接收用户输入的过程。例如,电子设备可以在显示器(例如,显示器630)的屏幕1400上输出与参数信息相关联的用户界面,为的是获得执行该任务所需的参数信息的目的。在任何实施例中,电子设备可以通过使用语音输入来接收用户输入。在这种情况下,电子设备可以请求用户通过使用语音来输入参数信息,并且可以激活麦克风(例如麦克风610)以接收用户的语音输入。
参考图14,电子设备可以启动智能应用,例如存储器(例如,存储器670)中存储的语音识别应用。在这种情况下,电子设备可以在屏幕1400上显示智能应用的ui。另外,在智能应用的ui被显示在屏幕1400上的状态下,如果用户触摸智能应用的ui中包括的语音输入按钮为的是输入语音的目的,则电子设备可以进入待机状态以接收用户的语音输入并且可以在待机状态下通过麦克风接收用户的语音输入。在这种情况下,如第一状态1401所示的,电子设备可以在屏幕1400上显示用于提供正在接收用户的语音输入的通知的第一对象1410。在任何实施例中,在设置在壳体的一个表面上的硬件按键(例如,硬件按键112)被按压并保持时,电子设备可以启动智能应用并且可以激活麦克风以接收语音输入。
如果用户的语音输入被完成,则根据实施例的电子设备可以通过通信电路(例如,通信电路690)将与所接收的语音输入相对应的语音数据发送到外部电子设备(例如,智能服务器200)。在这种情况下,外部电子设备可以将所接收的语音数据转换成文本数据,可以基于所转换的文本数据确定包括关于这样的任务的序列信息的任务序列,并且可以将所确定的任务序列发送给电子设备,其中,所述任务用于执行电子设备的存储器中包括的至少一个应用的功能。如第二状态1402所示的,在发送语音数据之后直到接收到任务序列为止,根据实施例的电子设备可以在屏幕1400上显示指示电子设备处于待机状态以接收任务序列的第二对象1420。
根据实施例,在所接收的任务序列中包括的任务中存在其执行未在指定时间内未完成的经延迟的任务的情况下,如第三状态1403所示的,电子设备可以在屏幕1400上输出关于经延迟的任务的状态信息。例如,电子设备可以在屏幕1400上输出指示经延迟的任务的类型的第三对象1431和指示经延迟的任务的执行时间的第四对象1433。
根据实施例,在即使已经延长了经延迟的任务的超时时间,经延迟的任务的执行在延长的超时时间内仍未完成的情况下,电子设备可以确定在除了经延迟的任务以外的其他任务中是否存在需要参数信息的任务。在存在需要参数信息的另一个任务的情况下,如第四状态1404所示的,电子设备可以在屏幕1400上输出第五对象1440,其允许用户说出与参数信息相关联的语音以获得参数信息。在任何实施例中,在延长经延迟的任务的超时时间之前,电子设备可以确定除了经延迟的任务之外的其他任务中是否存在需要参数信息的任务;在存在需要参数信息的另一个任务的情况下,电子设备可以在屏幕1400上输出第五对象1440。此外,电子设备可以激活麦克风以便接收用户的语音。在这种情况下,电子设备可以通过麦克风接收与参数信息相关联的用户语音输入;如第一状态1405所示的,电子设备可以在屏幕1400上显示用于提供正在接收用户的语音输入的通知的第六对象1450。
图15是用于描述根据实施例的建议与经延迟的任务类似的功能的方法的视图。
参考图15,当在后台执行经延迟的任务时,电子设备(例如,电子设备600)可以执行类似于经延迟的任务的功能,或可以向用户建议执行类似的功能。例如,在经延迟的任务作为执行第一功能的阶段被执行的情况下,当在后台执行经延迟的任务时,电子设备可以执行与第一功能类似的第二功能。
电子设备可以启动智能应用,诸如存储器(例如,存储器670)中存储的语音识别应用。在这种情况下,电子设备可以在屏幕1500上显示智能应用的ui。另外,在智能应用的ui被显示在屏幕1500上的状态下,如果用户触摸智能应用的ui中包括的语音输入按钮为的是输入语音的目的,则电子设备可以进入待机状态以接收用户的语音输入并且可以在待机状态下通过麦克风接收用户的语音输入。在这种情况下,如第一状态1501所示,电子设备可以在屏幕1500上显示用于提供正在接收用户的语音输入的通知的第一对象1510。在任何实施例中,在设置在壳体的一个表面上的硬件按键(例如,硬件按键112)被按压并保持时,电子设备可以启动智能应用并且可以激活麦克风以接收语音输入。
如果用户的语音输入被完成,则根据实施例的电子设备可以通过通信电路(例如,通信电路690)将与所接收的语音输入相对应的语音数据发送到外部电子设备(例如,智能服务器200)。在这种情况下,外部电子设备可以将所接收的语音数据转换成文本数据,可以基于所转换的文本数据确定包括关于这样的任务的序列信息的任务序列,并且可以将所确定的任务序列发送给电子设备,其中,所述任务包括用于执行电子设备的存储器中包括的至少一个应用的功能。如第二状态1502所示的,在发送语音数据之后直到接收到任务序列为止,根据实施例的电子设备可以在屏幕1500上显示指示电子设备处于待机状态以接收任务序列的第二对象1520。
根据实施例,在所接收的任务序列中包括的任务中存在其执行未在指定时间内完成的经延迟的任务的情况下,如第三状态1503所示的,电子设备可以在屏幕1500上输出关于经延迟的任务的状态信息。例如,电子设备可以在屏幕1500上输出指示经延迟的任务的类型的第三对象1531和指示经延迟的任务的执行时间的第四对象1533。
根据实施例,即使延长了经延迟的任务的超时时间,经延迟的任务的执行仍未在延长的超时时间内完成的情况下,电子设备可以向用户建议与要由经延迟的任务执行的功能(例如,第一功能)类似的功能(例如,第二功能)。例如,如第四状态1504所示的,电子设备可以在屏幕1500上输出指示建议执行第二功能的内容的第五对象1540。例如,在第一功能是通过第一输出路径(例如,蓝牙耳机)输出声音的功能的情况下,电子设备可以向用户建议执行第二功能以通过第二输出路径(例如,扬声器)输出声音。在任何实施例中,在延长经延迟的任务的超时时间之前,电子设备可以向用户建议执行第二功能。在任何实施例中,在延长经延迟的任务的超时时间时,在完成经延迟的任务的执行之前,电子设备可以建议用户应该执行与要由经延迟的任务执行的第一功能类似的第二功能。例如,在连接蓝牙耳机之前,电子设备可以向用户建议是否通过扬声器收听音乐。在这种情况下,如果连接了蓝牙耳机,则电子设备可以通知用户与蓝牙耳机的连接已完成,并且可以将通过扬声器输出的音乐输出到蓝牙耳机。又例如,在存在经延迟的任务的情况下,电子设备可以向用户建议执行类似的第二功能,来代替要由经延迟的任务执行的第一功能。例如,在与蓝牙耳机的连接被延迟的情况下,电子设备可以建议用户通过扬声器代替蓝牙耳机来听音乐。
根据实施例,如果接收到接受执行第二功能的用户输入,如第五状态1505所示的,则电子设备可以执行第二功能。例如,电子设备可以在屏幕1500上输出与执行第二功能相关联的第六对象1550。
根据实施例,如果经延迟的任务的执行在第二功能的执行期间被完成,则电子设备可以终止输出与执行第二功能相关联的第六对象1550,并且可以在屏幕1500上输出经延迟的任务的执行完成结果。
图16是用于描述根据实施例的建议与经延迟的任务类似的功能的另一方法的视图。
参考图16,当在后台执行经延迟的任务的同时,电子设备(例如,电子设备600)可以执行与经延迟的任务类似的功能,或可以向用户建议执行类似的功能。例如,在经延迟的任务作为执行第一功能的阶段被执行的情况下,当在后台执行经延迟的任务的同时,电子设备可以执行与第一功能类似的第二功能。
电子设备可以启动智能应用,诸如存储器(例如,存储器670)中存储的语音识别应用。在这种情况下,电子设备可以在屏幕1600上显示智能应用的ui。另外,在屏幕1600上显示智能应用的ui的状态下,如果用户触摸智能应用的ui中包括的语音输入按钮用于输入语音,则电子设备可以进入待机状态以接收用户的语音输入,并且可以在待机状态下通过麦克风接收用户的语音输入。在这种情况下,如第一状态1601所示的,电子设备可以在屏幕1600上显示用于提供正在接收用户的语音输入的通知的第一对象1610。在任何实施例中,在设置在壳体的一个表面上的硬件按键(例如,硬件按键112)被按压并保持时,电子设备可以启动智能应用并且可以激活麦克风以接收语音输入。
如果用户的语音输入被完成,则根据实施例的电子设备可以通过通信电路(例如,通信电路690)将与所接收的语音输入相对应的语音数据发送到外部电子设备(例如,智能服务器200)。在这种情况下,外部电子设备可以将所接收的语音数据转换成文本数据,可以基于所转换的文本数据确定包括关于这样的任务的序列信息的任务序列,并且可以将所确定的任务序列发送给电子设备,其中,所述任务用于执行电子设备的存储器中包括的至少一个应用的功能。如第二状态1602所示的,在发送语音数据之后直到接收到任务序列为止,根据实施例的电子设备可以在屏幕1600上显示指示电子设备处于待机状态以接收任务序列的第二对象1620。
根据实施例,在所接收的任务序列中包括的任务中存在其执行未在指定时间内完成的经延迟的任务的情况下,如第三状态1603所示的,电子设备可以在屏幕1600上输出关于经延迟的任务的状态信息。例如,电子设备可以在屏幕1600上输出指示经延迟的任务的类型的第三对象1631和指示经延迟的任务的执行时间的第四对象1633。
根据实施例,电子设备可以向用户建议与要由经延迟的任务执行的功能(例如,第一功能)类似的功能(例如,第二功能)。例如,如第四状态1604所示的,电子设备可以在屏幕1600上输出指示建议执行第二功能的内容的第五对象1640。例如,在第一功能是通过第一输出路径(例如,蓝牙耳机)输出声音的功能的情况下,电子设备可以向用户建议执行第二功能以通过第二输出路径(例如扬声器)输出声音。在这种情况下,在通过第二输出路径输出声音(例如,音乐)未被设置的情况下,电子设备可以通过第二输出路径输出指定的声音(例如,背景音乐)。
根据实施例,如果接收到接受执行第二功能的用户输入,则如第五状态1605所示的,电子设备可以执行第二功能。例如,电子设备可以在屏幕1600上输出与执行第二功能相关联的第六对象1650。
根据实施例,如果经延迟的任务的执行在第二功能的执行期间被完成,则电子设备可以终止输出与执行第二功能相关联的第六对象1650,并且可以在屏幕1600上输出经延迟的任务的执行完成结果。
图17是用于描述根据本公开的实施例的显示经延迟的任务的状态的方法的视图。
参考图17,电子设备(例如,电子设备600)可以启动智能应用,诸如存储器(例如,存储器670)中存储的语音识别应用。例如,在设置在壳体的一个表面上的硬件按键(例如,硬件按键112)被按压并保持的情况下,电子设备可以启动智能应用。电子设备可以启动智能应用并且可以在显示器(例如,显示器630)的屏幕1700上显示智能应用的ui。例如,电子设备可以将智能应用的ui输出到屏幕1700的部分区域(例如,下端区域)。作为另一示例,如第一状态1701所示的,电子设备可以输出智能应用的ui来占据屏幕1700的大部分区域。
根据实施例,电子设备可以进入待机状态用于接收用户的语音输入,并且可以激活麦克风以在待机状态下接收语音输入。在这种情况下,如第一状态1701所示的,电子设备可以在屏幕1700上显示指示用户的语音输入能够被接收的第一对象1710。
根据实施例,如果用户的语音输入通过激活的麦克风被完成,则电子设备可以通过通信电路(例如,通信电路690)将与所接收的语音输入相对应的语音数据发送到外部电子设备(例如,智能服务器200)。在这种情况下,外部电子设备可以将所接收的语音数据转换成文本数据,可以基于所转换的文本数据确定包括关于用于这样的任务的序列信息的任务序列,并且可以将所确定的任务序列发送给电子设备,其中,所述任务执行电子设备的存储器中包括的至少一个应用的功能。根据实施例,外部电子设备可以将转换的文本数据发送到电子设备;并且如第二状态1702所示的,电子设备可以在屏幕1700上显示包括所接收的文本数据的第二对象1715。
根据实施例,如果从外部电子设备接收到任务序列,则电子设备可以基于任务序列中包括的任务的序列信息来执行任务。另外,如第二状态1702所示的,电子设备可以在屏幕1700上显示用于提供执行任务的通知的第三对象1720。
根据实施例,在所接收的任务序列中包括的任务中存在其执行未在指定时间内完成的经延迟的任务的情况下,电子设备可以延长经延迟的任务的超时时间。另外,在智能应用的ui被输出同时占用屏幕1700的大部分区域的情况下,电子设备可以将智能应用的ui最小化以便在屏幕1700上输出关于经延迟的任务的状态信息(例如,执行状态信息)。例如,如第三状态1703所示的,电子设备可以终止输出智能应用的ui,仅留下指定的图标1770(例如,智能应用的图标等)。在任何实施例中,电子设备可以在第一状态1701和第二状态1702中不输出指定图标1770,并且如第三状态1703中所示的,可以在最小化智能应用的ui的过程中输出指定图标1770。
根据实施例,如果智能应用的ui被最小化,则电子设备可以在屏幕1700上显示关于经延迟的任务的状态信息,例如经延迟的任务的执行状态信息。例如,在经延迟的任务包括诸如下载特定数据的操作的情况下,如第三状态1703所示的,电子设备可以显示与可下载数据块的列表中的特定数据相对应的项目的第四对象1730。例如,第四对象1730可以包括特定数据的标识名称1731、特定数据的标识图像1733、特定数据的下载状态1735、特定数据的下载进度1737等。
根据实施例,如果经延迟的任务的执行被完成,则电子设备可以在屏幕1700上显示经延迟的任务的执行完成结果。例如,如第四状态1704所示的,电子设备可以将特定数据的下载状态1735改变为完成状态,并且可以删除特定数据的下载进度率1737。然而,指示经延迟的任务的执行完成结果的方法不限于此。在任何实施例中,电子设备可以将特定数据的下载进度率1737改变为与完成状态相对应的信息(例如,100%),而不删除特定数据的下载进度率1737。
根据实施例,在经延迟的任务的执行被完成并且然后在屏幕1700上显示延迟任务的执行完成结果的状态下,如果经过了指定时间,则电子设备可以执行与经延迟的任务相关联的另一任务(例如,显示下载的数据)。替代地,如第五状态1705所示的,电子设备可以在屏幕1700上显示其他任务的执行完成结果。例如,电子设备可以在屏幕1700上显示与下载的数据相对应的第五对象1750。
根据实施例,在经延迟的任务的执行状态信息被显示在屏幕1700上的状态下,如果通过用户的触摸输入选择了屏幕1700,则电子设备可以提供用户界面,使得用户输入是可能的。
根据实施例,在经延迟的任务的执行状态信息被显示在屏幕1700上的状态下,如果通过用户的触摸输入选择了指定图标1770,则电子设备可以中断执行经延迟的任务。在这种情况下,电子设备可以取消对包括经延迟的任务的任务序列的处理。
图18是例示根据本公开的实施例的与显示经延迟的任务的状态的方法相关联的电子设备的操作方法的视图。
参考图18,电子设备(例如,电子设备600)可以启动智能应用,例如存储器(例如,存储器670)中存储的语音识别应用。例如,智能应用可以包括与智能代理1850(例如,智能代理151)和执行管理器模块1830(例如,执行管理器模块153)相关联的指令。电子设备的处理器(例如处理器650)可以将智能应用中包括的指令加载到存储器上并且可以执行该指令以便执行智能代理1850和执行管理器模块1830的功能。
根据实施例,在操作1851中,智能代理1850可以通过麦克风(例如,麦克风610)获得语音数据。另外,在操作1852中,智能代理1850可以将通过通信电路(例如,通信电路690)获得的语音数据发送到智能服务器1870。
根据实施例,在操作1871中,智能服务器1870可以将所接收的语音数据转换为文本数据,并且可以基于所转换的文本数据确定包括关于这样的任务的序列信息的任务序列,其中,所述任务用于执行电子设备的存储器中安装的至少一个应用1810的功能。此外,在操作1872中,智能服务器1870可以将所确定的任务序列发送给智能代理1850。
根据实施例,在操作1853中,从智能服务器1870接收任务序列的智能代理1850可以将任务序列发送到执行管理器模块1830。接收任务序列的执行管理器模块1830可以基于任务序列中包括的任务的序列信息将任务发送给相应应用1810。例如,如在操作1831中,执行管理器模块1830可以将第一任务发送到应用1810。
如在操作1811中,接收到第一任务的应用1810可以执行第一任务。另外,如果第一任务的执行被完成,如在操作1812中,则应用1810可以将第一任务的执行完成响应发送给执行管理器模块1830。
接收到第一任务的执行完成响应的执行管理器模块1830可以确定是否存在与任务中的与第一任务相关联的另一第二任务;在存在第二任务的情况下,如在操作1832中,执行管理器模块1830可以将第二任务发送给应用1810。在这种情况下,在操作1813中,应用1810可以执行所接收的第二任务。
根据实施例,在第二任务被延迟的情况下(例如,在执行未在指定时间内完成的情况下)或在预计第二任务将被延迟的情况下(例如,在确定第二任务的平均处理时间超过指定时间的情况),如在操作1814中,应用1810可以请求执行管理器模块1830延长与第二任务相关联的超时时间。在这种情况下,在操作1833中,执行管理器模块1830可以延长与第二任务相关联的超时时间。例如,执行管理器模块1830可以将与第二任务相关联的超时时间再次设置为延长时间,并且可以重置时间计数。
根据实施例,如在操作1815中,应用1810可以请求智能代理1850显示第二任务的执行状态。在这种情况下,智能代理1850可以在显示器(例如,显示器630)的屏幕上输出与第二任务相关联的执行状态信息。根据实施例,如在操作1854中,在屏幕上输出关于第二任务的执行状态信息之前,智能代理1850可以最小化智能应用的ui。例如,智能代理1850可以隐藏智能应用的ui并且可以在屏幕的特定区域中显示智能应用的图标。
根据实施例,如在操作1816中,应用1810可以获得输入来选择智能应用的图标。例如,在关于第二任务的执行状态信息被显示的状态下,应用1810可以获得用户输入来选择智能应用的图标。在这种情况下,应用1810可以中断第二任务的执行。此外,如在操作1817中,应用1810可以向执行管理器模块1830或智能代理1850通知第二任务的执行被中断。
根据实施例,如果在操作1855中接收到中断第二任务的执行的通知,则智能代理1850可以中断或取消对包括第二任务的任务序列的处理。
图19例示了根据各个实施例的网络环境1900中的电子设备1901。根据本公开中公开的各个实施例,电子设备1901可以包括各种类型的设备。例如,电子设备1901可以包括便携式通信设备(例如,智能手机)、计算机设备(例如,个人数字助理(pda)、平板个人计算机(pc)、膝上型pc、台式pc、工作站或服务器)、便携式多媒体设备(例如,电子书阅读器或mp3播放器)、便携式医疗设备(例如,心率计、血糖计、血压计或温度计)、相机或可穿戴设备中的至少一个。可穿戴设备可以包括附件型设备(例如,钟表、戒指、手镯、脚链、项链、眼镜、隐形眼镜或头戴式设备(hmd))、单件式织物或衣服型设备(例如,电子服装)、身体附连型设备(例如,皮肤垫或纹身)或生物可植入电路中的至少一种。根据实施例,电子设备可以包括例如电视(tv)、数字多功能盘(dvd)播放器、音频设备、音频附件设备(例如,扬声器、头戴式耳机或耳机)、冰箱、空调、清洁器、烤箱、微波炉、洗衣机、空气净化器、机顶盒、家庭自动化控制面板、安全控制面板、游戏机、电子词典、电子钥匙、摄像机或电子相框中的至少一个。
根据另一个实施例,电子设备可以包括导航设备、全球导航卫星系统(gnss)、事件数据记录器(edr)(例如,用于汽车、船舶或飞机的黑匣子)、车辆信息娱乐设备(例如,用于车辆的平视显示器)、工业或家庭机器人、无人机、自动取款机(atm)、销售点(pos)设备、测量设备(例如,水表、电表或燃气表)或物联网(例如,灯泡、喷淋装置、火警、恒温器或路灯)中的至少一个。根据本公开的实施例,电子设备不限于上述设备。例如,类似于具有测量个人生物信息(例如,心率或血糖)功能的智能手机,电子设备可以以复杂的方式提供多个设备的功能。在本公开中,这里使用的术语“用户”可以指使用电子设备的人或可以指使用电子设备的设备(例如,人工智能电子设备)。
参考图19,在网络环境1900下,电子设备1901(例如电子设备600)可以通过本地无线通信1998与电子设备1902通信,或可以通过网络1999与电子设备1904或服务器1908通信。根据实施例,电子设备1901可以通过服务器1908与电子设备1904进行通信。
根据实施例,电子设备1901可以包括总线1910、处理器1920(例如,处理器650)、存储器1930(例如,存储器670)、输入设备1950(例如,麦克风610或鼠标)、显示器1960(例如,显示器630)、音频模块1970、传感器模块1976、接口1977、触觉模块1979、相机模块1980、电源管理模块1988、电池1989、通信模块1990(例如,通信电路690)以及用户识别模块1996。根据实施例,电子设备1901可以不包括上述元件的至少一个(例如,显示器1960或相机模块1980),或可以进一步包括其他元件。
例如,总线1910可以互连上述元件1920至1990并且可以包括用于在上述元件之间传输信号(例如,控制消息或数据)的电路。
处理器1920可以包括中央处理单元(cpu)、应用处理器(ap)、图形处理单元(gpu)、相机的图像信号处理器(isp)或通信处理器(cp)中的一个或更多个。根据实施例,处理器1920可以使用片上系统(soc)或系统级封装(sip)来实现。例如,处理器1920可以驱动操作系统(os)或应用来控制与处理器1920连接的另一元件(例如,硬件或软件元件)中的至少一个并且可以处理并计算各种数据。处理器1920可以将从其他元件中的至少一个(例如,通信模块1990)接收的命令或数据加载到易失性存储器1932中以处理该命令或数据,并且可以将处理结果数据存储到非易失性存储器1934。此外,处理器1920可以包括如图2中所示的智能代理151、智能服务模块155和执行管理器模块153。
存储器1930可以包括例如易失性存储器1932或非易失性存储器1934。易失性存储器1932可以包括例如随机存取存储器(ram)(例如,动态ram(dram)、静态ram(静态ramsram)或同步动态ram(sdram))。非易失性存储器1934可以包括例如一次性可编程只读存储器(otprom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、掩模rom、闪存rom、闪存、硬盘驱动器或固态驱动器(ssd)。另外,根据与电子设备1901的连接,非易失性存储器1934可以以内部存储器1936的形式或仅在必要时通过连接可用的外部存储器1938的形式来配置。外部存储器1938可以进一步包括诸如紧凑型闪存(cf)、安全数字(sd)、微型安全数字(micro-sd)、迷你安全数字(mini-sd)、极限数字(xd)、多媒体卡(mmc)或记忆棒。外部存储器1938可以以有线方式(例如,电缆或通用串行总线(usb))或无线方式(例如蓝牙)与电子设备1901可操作地或物理地连接。
例如,存储器1930可以存储例如电子设备1901的至少一个不同的软件元件,诸如与程序1940相关联的指令或数据。程序1940可以包括例如内核1941、库1943、应用框架1945或应用程序(可互换地称为“应用”)1947。存储器1930可以存储与任务141b相关联的第一应用141a和与任务143b相关联的第二应用143a。
输入设备1950可以包括麦克风、鼠标或键盘。根据实施例,键盘可以包括物理连接的键盘或通过显示器1960虚拟显示的键盘。麦克风可以被配置为接收语音输入。
显示器1960可以包括显示器、全息图设备或投影仪,以及控制相关设备的控制电路。屏幕可以包括例如液晶显示器(lcd)、发光二极管(led)显示器、有机led(oled)显示器、微机电系统(mems)显示器或电子纸显示器。根据实施例,显示器可以柔性地、透明地或可穿戴地实现。显示器可以包括触摸电路或压力传感器(可互换地称为力传感器),该触摸电路能够检测用户的输入,例如手势输入、接近输入或悬停输入;该压力传感器能够测量触摸压力的强度。触摸电路或压力传感器可以与显示器一体地实现,或可以使用至少一个传感器与显示器分开地实现。全息图设备可以使用光的干涉在空中显示立体图像。投影仪可以将光投影到屏幕上以显示图像。屏幕可以位于电子设备1901的内部或外部。显示模块可以被配置为显示诸如图9-17的对象之类的对象。
音频模块1970可以例如将声音转换成电信号或将电信号转换成声音。根据实施例,音频模块1970可以通过输入设备1950(例如,麦克风)获得声音,或可以通过电子设备1901中包括的输出设备(未示出)(例如,扬声器或接收器)或与电子设备1901连接的外部电子设备(例如,电子设备1902(例如,无线扬声器或无线耳机))或电子设备1906(例如,有线扬声器或有线耳机)输出声音。
传感器模块1976可以测量或检测例如电子设备1901的内部操作状态(例如,功率或温度)或外部环境状态(例如,高度、湿度或亮度)以生成电信号或与所测量的状态或检测到的状态的信息相对应的数据值。传感器模块1976可以包括例如手势传感器、陀螺仪传感器、大气压传感器、磁传感器、加速度传感器、握持传感器、接近传感器、颜色传感器(例如,红绿蓝(rgb)传感器)、红外传感器、生物传感器(例如,虹膜传感器、指纹传感器、心率监测(hrm)传感器、电子鼻传感器、肌电图(emg)传感器、脑电图(eeg)传感器、心电图(ecg)传感器)、温度传感器、湿度传感器、照度传感器或紫外线(uv)传感器。传感器模块1976可以进一步包括控制电路用于控制其中包括的至少一个或更多个传感器。根据实施例,可以通过使用处理器1920或与处理器1920分离的处理器(例如,传感器集线器)来控制传感器模块1976。在分离的处理器(例如,传感器集线器)被使用的情况下,当处理器1920处于睡眠状态时,分离的处理器可以在不唤醒处理器1920的情况下操作来控制传感器模块1976的至少一部分操作或状态。
根据实施例,接口1977可以包括高清晰度多媒体接口(hdmi)、通用串行总线(usb)、光学接口、推荐标准232(rs-232)、d超小型接口(d-sub)、移动高清链接(mhl)接口、sd卡/mmc接口或音频接口。连接器1978可以物理地连接电子设备1901和电子设备1906。根据实施例,连接器1978可以包括例如usb连接器、sd卡/mmc连接器或音频连接器(例如,耳机连接器)。
触觉模块1979可以将电信号转换成机械刺激(例如,振动或运动)或电刺激。例如,触觉模块1979可以向用户施加触觉或运动感觉刺激。触觉模块1979可以包括例如电机、压电元件或电刺激器。
相机模块1980可以捕获例如静止图像和运动图片。根据实施例,相机模块1980可以包括至少一个镜头(例如,广角镜头和长焦镜头、或前镜头和后镜头)、图像传感器、图像信号处理器或闪光灯(例如,发光二极管或氙灯)。
用于管理电子设备1901的电力的电源管理模块1988可以构成电源管理集成电路(pmic)的至少一部分。
电池1989可以包括主电池、辅助电池或燃料电池,并且可以由外部电源再充电以为电子设备1901的至少一个元件供电。
通信模块1990可以建立电子设备1901与外部设备(例如,第一外部电子设备1902、第二外部电子设备1904或服务器1908)之间的通信信道。通信模块1990可以通过建立的通信信道来支持有线通信或无线通信。根据实施例,通信模块1990可以包括无线通信模块1992或有线通信模块1994。通信模块1990可以经由第一网络1998(例如,诸如蓝牙或红外数据协会(irda)的无线局域网)或第二网络1999(例如,诸如蜂窝网络的无线广域网)通过无线通信模块1992或有线通信模块1994中的相关模块与外部设备通信。
无线通信模块1992可以支持例如蜂窝通信、本地无线通信和全球导航卫星系统(gnss)通信。该蜂窝通信可以包括例如长期演进(lte)、高级lte(lte-a)、码分多址(cma)、宽带cdma(wcdma)、通用移动电信系统(umts)、无线宽带(wibro)或全球移动通信系统(gsm)。本地无线通信可以包括无线保真(wi-fi)、wi-fi直连,光保真(li-fi)、蓝牙、蓝牙低功耗(ble)、zigbee、近场通信(nfc)、磁安全传输(mst)、射频(rf)或身体局域网(ban)。gnss可以包括全球定位系统(gps)、全球导航卫星系统(glonass)、北斗导航卫星系统(北斗),欧洲全球卫星导航系统(伽利略)等中的至少一个。在本公开中,“gps”和“gnss”可以互换使用。
根据实施例,当无线通信模块1992支持蜂窝通信时,无线通信模块1992可以例如使用用户识别模块(例如sim卡)1996在通信网络内识别或认证电子设备1901。根据实施例,无线通信模块1992可以包括与处理器2820(例如,应用处理器(ap))分离的通信处理器(cp)。在这种情况下,通信处理器可以处理器1920处于活动状态时代替处理器1920执行与电子设备1901的元件1910至1996中的至少一个相关联的至少一部分功能,并且当处理器1920处于活动状态时与处理器1920一起执行与电子设备1901的元件1910至1996中的至少一个相关联的至少一部分功能。根据实施例,无线通信模块1992可以包括多个通信模块,每个通信模块仅支持蜂窝通信、短距离无线通信或gnss通信方案中的相关通信方案。无线通信模块1992可以将语音数据发送到智能服务器200并从智能服务器200接收任务序列。
有线通信模块1994可以包括例如局域网(lan)服务、电力线通信或普通老式电话服务(pots)。
例如,第一网络1998可以采用例如wi-fi直连或蓝牙通过电子设备1901和第一外部电子设备1902之间的无线直接连接来发送或接收指令或数据。第二网络1999可以包括电信网络(例如,诸如lan或wan的计算机网络、因特网或电话网络)用于在电子设备1901和第二电子设备1904之间发送或接收指令或数据。第一网络1998能够包括智能服务器200。
根据实施例,指令或数据可以通过与第二网络连接的服务器1908在电子设备1901和第二外部电子设备1904之间被发送或接收。第一外部电子设备1902和第二外部电子设备1904中的每个可以是与电子设备1901类型不同或相同的设备。根据各个实施例,电子设备将执行的全部或部分操作1901可以由另一个或更多个电子设备(例如,电子设备1902和1904或服务器1908)执行。根据实施例,在电子设备1901自动或响应于请求执行任何功能或服务的情况下,电子设备1901可以不内部地执行功能或服务,但是可以替代地或另外地将针对与电子设备1901相关联的功能的至少一部分的请求发送给任何其他设备(例如,电子设备1902或1904或服务器1908)。其他电子设备(例如,电子设备1902或1904或服务器1908)可以执行所请求的功能或其他功能,并且可以将执行结果发送给电子设备1901。电子设备1901可以使用所接收的结果提供所请求的功能或服务或可以额外地处理所接收的结果以提供所请求的功能或服务。为此,例如,可以使用云计算、分布式计算或客户端-服务器计算。
本公开的各个实施例和本文使用的术语并不意图将本公开中描述的技术限制到具体实施例,并且应该理解,实施例和术语包括对本文描述的相应实施例的修改、等效和/或替代。关于附图的描述,类似的元件可以由相似的附图标记标记。除非另有说明,单数形式的术语可以包括复数形式。在本文公开的公开内容中,表述“a或b”、“a和/或b中的至少一个”、“a和/或b中的至少一个”、“a、b或c”或“a、b和/或c中的至少一个”等可以包括相关所列项目的一个或更多个的任意和所有组合。诸如“第一”或“第二”等表述可以表示它们的元件,而与它们的优先级或重要性无关,并且可以用于将一个元件与另一个元件区分开但不限于这些组件。当一个(例如,第一)元件被称为“(可操作地或通信地)耦接到另一个(例如第二)元件”或“连接到”另一个(例如第二)元件时,它可以直接与另一个元件耦接或连接或可以存在介入中间的元件(例如,第三元件)。
根据情况,本文使用的表述“适用于或被配置为”可以可互换地用作例如“适于”、“具有......的能力”、“被改变为”、“被制为”、“能够”、或“被设计为”。表达“被配置为…的设备”可以指设备“能够”与另一个设备或其他组件一起操作。例如,“被配置成(或设置为)执行a、b和c的处理器”可以指用于执行相应操作的专用处理器(例如,嵌入式处理器)或通过执行存储器设备(例如,存储器430)中存储的一个或更多个软件程序来执行相应操作的通用处理器(例如,中央处理单元(cpu)或应用处理器)。
在本说明书中使用的术语“模块”可以包括用硬件实现的单元或用其中存储的软件编程的硬件。例如,术语“模块”可以与术语“逻辑”、“逻辑块”、“组件”、“电路”等互换使用。“模块”可以是集成组件的最小单元或其一部分,或可以是用于执行一个或更多个功能或其一部分的最小单元。“模块”可以被机械地或电子地实现,并且可以包括例如用于执行一些已知或将要开发的操作的专用ic(asic)芯片、现场可编程门阵列(fpga)和可编程逻辑器件。
根据各个实施例,装置(例如,其模块或其功能)或方法(例如,操作)的至少一部分可以例如通过计算机可读存储介质(例如,存储器430)中存储的指令以程序模块的形式实现。该指令在由处理器(例如,处理器420)执行时可以使处理器执行与该指令相对应的功能。计算机可读记录介质可以包括硬盘、软盘、磁介质(例如,磁带)、光介质(例如,光盘只读存储器(cd-rom)和数字多功能光盘(dvd)、磁光介质(例如,软光盘))、嵌入式存储器等。该一个或更多个指令可以包含由编译器制作的代码或由解释器执行的代码。
根据各个实施例的每个元件(例如,模块或程序模块)可以由单个实体或多个实体组成,上述子元件的一部分可以被省略或可以进一步包括其他元件。替代地或另外地,在被集成到一个实体之后,一些元件(例如,模块或程序模块)可以相同或类似地执行由在集成之前的每个对应元件执行的功能。根据各个实施例,由模块、程序模块或其他元件执行的操作可以通过连续方法、并行方法、重复方法或启发式方法来执行,或操作的至少一部分可以以不同顺序执行或被省略。替代地,可以添加其他操作。
虽然已经参考本公开的各个实施例示出和描述了本公开,但是本领域技术人员将理解,可以在不脱离由所附权利要求及其等同物限定的本公开的范围的情况下进行各种形式和细节上的改变。