CN109427332B - 使用语音命令执行操作的电子设备及其操作方法 - Google Patents
使用语音命令执行操作的电子设备及其操作方法 Download PDFInfo
- Publication number
- CN109427332B CN109427332B CN201810957270.XA CN201810957270A CN109427332B CN 109427332 B CN109427332 B CN 109427332B CN 201810957270 A CN201810957270 A CN 201810957270A CN 109427332 B CN109427332 B CN 109427332B
- Authority
- CN
- China
- Prior art keywords
- external device
- user
- information
- input
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004458 analytical method Methods 0.000 claims description 19
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 238000003786 synthesis reaction Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 71
- 230000006870 function Effects 0.000 description 46
- 238000004891 communication Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 16
- 230000004044 response Effects 0.000 description 11
- 230000000007 visual effect Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 230000008676 import Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000011017 operating method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000002950 deficient Effects 0.000 description 3
- 238000010977 unit operation Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 244000240602 cacao Species 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 230000002996 emotional effect Effects 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000004622 sleep time Effects 0.000 description 2
- 238000002604 ultrasonography Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000002583 angiography Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002592 echocardiography Methods 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/04—Details of speech synthesis systems, e.g. synthesiser structure or memory management
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/225—Feedback of the input speech
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/228—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2816—Controlling appliance services of a home automation network by calling their functionalities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/75—Indicating network or usage conditions on the user display
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
公开了一种电子设备以及用于控制电子设备的操作的方法。方法包括:从第一外部设备接收与输入相关的第一数据,所述输入包括使用第二外部设备执行任务的请求,并且是通过麦克风获得的,并且包括与第一外部设备的用户接口有关的信息;基于第一数据中的至少一些数据来识别用于执行任务的第二外部设备的状态序列;通过网络接口向第二外部设备发送与第二外部设备的状态序列有关的第一信息;通过网络接口从第二外部设备接收指示需要用于完成任务的附加输入的第二数据,以及基于第二数据中的至少一些数据向第一外部设备发送第二信息。
Description
技术领域
本公开涉及使用语音命令执行操作的电子设备及其操作方法。
背景技术
开始使用各种电子设备,例如智能电话、平板PC、便携式多媒体播放器(PMP)、个人数字助理(PDA)、膝上型个人计算机(PC)和可穿戴设备。
最近将语音识别功能应用于电子设备。电子设备的用户可以使用他或她的语音来执行电子设备的各种功能。
此外,由于其中通过有线/无线网络连接用户生活环境中使用的设备并且开始应用共享信息的物联网(IoT),建立起了可以使用各种电子设备(例如,电视和冰箱)在通过网络连接的不同电子设备上执行语音命令的环境。
如今,已经实现了能够执行语音命令的电子设备,但是如果已经接收到语音命令的电子设备和作为语音命令的控制目标的电子设备是不同的,则执行用户的语音命令可能较为困难。
此外,如果已经接收到语音命令的电子设备和作为语音命令的控制目标的电子设备在物理上彼此远离,则执行用户的语音命令可能较为困难。
为了使能够执行语音命令的电子设备对语音命令进行处理,电子设备可以被配置为接收语音命令所需的所有参数,然后处理语音命令。在这种情况下,存在的问题是仅输出语音命令的处理结果,并且无法提供对处理语音命令的过程的各种反馈。此外,可能会降低语音命令的处理速度。
发明内容
根据本公开的各种实施例的系统包括:网络接口;至少一个处理器,操作地连接到所述网络接口;以及存储器,操作地连接到所述处理器。其中所述存储器可以存储指令,所述指令在由所述处理器执行时,使电子设备(例如,服务器)执行以下操作:通过所述网络接口从包括麦克风的第一外部设备接收与输入相关的第一数据,所述输入包括使用第二外部设备执行任务的请求、并且通过所述麦克风获得并且包括与第一外部设备的用户接口有关的信息,基于第一数据中的至少一些数据来识别用于执行所述任务的第二外部设备的状态序列,通过所述网络接口向第二外部设备发送与第二外部设备的所述状态序列有关的第一信息,通过所述网络接口从第二外部设备接收指示需要用于完成所述任务的附加输入的第二数据,以及基于第二数据中的至少一些数据向第一外部设备发送第二信息。
根据本公开的各种实施例的用于操作电子设备的方法可以包括如下操作:通过网络接口从包括麦克风的第一外部设备接收与输入相关的第一数据,所述输入包括使用第二外部设备执行任务的请求,并且是通过所述麦克风获得的,并且包括与第一外部设备的用户接口有关的信息,基于第一数据中的至少一些数据来识别用于执行所述任务的第二外部设备的状态序列,通过所述网络接口向第二外部设备发送与第二外部设备的所述状态序列有关的第一信息,通过所述网络接口从第二外部设备接收指示需要附加输入来完成所述任务的第二数据,以及基于第二数据中的至少一些数据向第一外部设备发送第二信息。
根据本公开的各种实施例的电子设备包括:网络接口,包括网络接口电路;麦克风;指纹传感器;扬声器;显示器;处理器,操作地连接到所述网络接口、所述麦克风、所述扬声器和所述显示器;以及存储器,操作地连接到所述处理器。其中所述存储器存储指令,所述指令在由所述处理器执行时,使所述电子设备执行以下操作:通过所述麦克风接收第一输入,第一输入包括使用外部设备执行任务的请求,通过所述网络接口向外部服务器发送第一信息,第一信息与第一输入相关并且包括与第一外部设备的用户接口有关的信息,从所述外部服务器接收指示需要附加输入来完成所述任务的第二数据,基于第二数据中的至少一些数据通过所述扬声器提供语音和/或通过所述显示器提供图形用户界面(GUI),通过所述指纹传感器接收生物信息,将接收到的生物信息与注册的生物信息进行比较,当确定接收到的生物信息与注册的生物信息基本相同时,通过所述麦克风和/或所述显示器来接收第二输入,第二输入包括用于完成所述任务的附加输入,以及使用与注册的生物信息相对应的令牌,通过所述网络接口向所述外部服务器发送与第二输入相关的第三数据。
附图说明
根据结合附图的以下详细描述,本公开的一些实施例的上述和其他方面、特征以及优点将更清楚,在附图中:
图1是示出了根据本公开的各种实施例的集成智能系统的图;
图2是示出了根据本公开的实施例的集成智能系统的用户终端的框图;
图3是示出了执行根据本公开的实施例的用户终端的智能app的图;
图4是示出了根据本公开的实施例的集成智能系统的智能服务器的框图;
图5是示出了根据本公开的实施例的路径自然语言理解(NLU)模块生成路径规则的方法的图;
图6是示出了根据本公开的实施例的处理器的上下文模块收集当前状态的图;
图7是示出了根据本公开的实施例的人员模块管理用户信息的图;
图8是示出了根据本公开的实施例的建议模块的框图;
图9是示出了根据本公开的各种实施例的云服务器的框图;
图10是示出了根据本公开的各种实施例的外部设备的框图;
图11A和图11B是示出了当在根据本公开的各种实施例的集成智能系统中需要附加用户输入时的实施例的流程图;
图12A和图12B是示出了当在根据本公开的另一实施例的集成智能系统中需要附加用户输入时的实施例的流程图;
图13、图14、图15、图16和图17是示出了在根据本公开的各种实施例的电子设备中使用外部设备来执行附加用户输入的实施例的图;
图18是示出了根据本公开的各种实施例的电子设备操作方法的图;
图19是示出了根据本公开的另一实施例的电子设备操作方法的流程图;以及
图20是示出了根据本公开的另一实施例的电子设备操作方法的流程图。
具体实施方式
提供参考附图的以下描述以帮助全面地理解本公开的各种示例实施例。以下描述包括各种具体细节以帮助理解,但这些具体细节应被视为仅仅是示例。因此,本领域普通技术人员将认识到:在不脱离本公开的范围和精神的情况下,可以对本文所述的各种实施例进行各种改变和修改。此外,为了清楚和简明起见,可以省略对公知功能和结构的描述。
以下描述和权利要求中使用的术语和词语不限于其字面含义,而是仅用来实现对本公开的清楚一致的理解。因此,本领域技术人员应当清楚,提供对本公开的各种示例实施例的以下描述仅用于说明目的而不用于限制本公开的目的。
应当理解的是,除非上下文中另外清楚指示,否则单数形式“一”、“一个”和“所述”包括复数指示物。因此,例如,对“组件表面”的引用包括对这样的表面中的一个或多个的引用。
术语“大体上”通常可以表示不需要严格实现所记载的特征、参数或者值,而是可以在量上出现不妨碍该特征预期要提供的效果的偏差或变化,包括例如公差、测量误差、测量精度限制及本领域技术人员所知的其他因素。
可在本公开中使用的表述“包括”和“可以包括”可以表示例如所公开的功能、操作和元素的存在,但并非旨在限制一个或多个附加功能、操作和元素。在本公开中,术语“包括”和/或“具有”可以被理解为表示例如某个特征、数目、操作、元素、组件或它们的组合,但并非旨在被解释为排除一个或多个其他特征、数目、操作、元素、组件或它们的组合的存在或添加的可能性。
此外,在本公开中,表述“和/或”包括关联列出的词语中的任意和所有组合。例如,表述“A和/或B”可以包括:A、B、或A和B二者。
在本公开的实施例中,包括诸如“第一”和“第二”等序数的表述可以用于描述各种元素。然而,这些元素不受以上表述的限制。例如,以上表述不限制元素的顺序和/或重要性。以上表述仅用于将一个元素与其他元素进行区分。例如,第一用户设备和第二用户设备可以表示不同的用户设备,但是它们都是用户设备。例如,在不脱离本公开的范围的情况下,第一元素可以被称为第二元素,类似地,第二元素也可以被称为第一元素。
在一组件被称作“连接到”或“访问”另一组件的情况下,意指该组件不仅直接连接到或访问该另一组件,而且在它们之间还可以存在另一组件。此外,在一组件被称作“直接连接到”或“直接访问”另一组件的情况下,意指它们之间不存在附加或其他组件。
根据本公开的电子设备可以是包括通信功能的设备。例如但不限于,电子设备可以与以下各项中的至少一项的组合相对应:智能电话、平板个人计算机(PC)、移动电话、视频电话、电子书(e-book)阅读器、台式PC、膝上型PC、上网本计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数字音频播放器、移动医疗设备、电子手环、电子项链、电子配饰、相机、可穿戴设备、电子时钟、腕表、家用电器(例如,空调、吸尘器、烤箱、微波炉、洗衣机、空气净化器等)、人工智能机器人、电视(TV)、数字多功能盘(DVD)播放器、音频设备、各种医疗设备(例如,磁共振血管造影(MRA)设备、磁共振成像(MRI)设备、计算机断层扫描(CT)设备、扫描机、超声波设备等)、导航设备、全球定位系统(GPS)接收器、事件数据记录仪(EDR)、飞行数据记录仪(FDR)、机顶盒、电视盒(例如,SamsungApple或GoogleTVTM)、电子词典、车载信息娱乐设备、船用电子装备(例如,船用导航设备、陀螺罗盘等)、航空电子设备、安保设备、电子服饰、电子钥匙、摄像录像机、游戏机、头戴式显示器(HMD)、平板显示设备、电子相框、电子相册、包括通信功能的家具或建筑物/结构的一部分、电子板、电子签名接收设备、投影仪等。本领域技术人员将清楚的是,根据本公开的电子设备不限于上述设备。
图1是示出了根据本公开的各种实施例的集成智能系统的图。
参考图1,集成智能系统10可以包括用户终端100、智能服务器200、个人信息服务器300和/或建议服务器400、以及第一外部设备600。根据实施例,集成智能系统10还可以包括云服务器500。
用户终端100可以通过存储在用户终端100中的app(或应用程序)(例如,闹钟app、消息app或照片(图库)app)为用户提供必要的服务。例如,用户终端100可以通过存储在用户终端100中的智能app(或语音识别app)来执行和驱动不同app。用户终端100可以通过用户终端100的智能app来接收用户输入以执行和驱动不同的app。例如,可以通过物理按钮、触摸板、语音输入或远程输入来接收用户输入。根据实施例,用户终端100可以对应于能够访问互联网的各种终端设备(或电子设备),例如移动电话、智能电话、个人数字助理(PDA)和笔记本计算机。
根据实施例,用户终端100可以接收用户的语音作为用户输入。用户终端100可以接收用户的语音并基于用户的语音生成用于驱动app的命令。因此,用户终端100可以使用该命令来驱动app。
智能服务器200可以通过通信网络从外部设备(例如,第一外部设备600或用户终端100)接收用户语音输入,并且可以将用户语音输入改变为文本数据。在另一实施例中,智能服务器200可以基于文本数据生成(或选择)路径规则(例如,用户终端100的状态序列)。路径规则可以包括与用于执行app的功能的动作(或操作)有关的信息或与执行操作所需的参数有关的信息。此外,路径规则可以包括app的操作序列。用户终端100可以接收路径规则,可以基于路径规则来选择app,并且可以在所选择的app中的执行路径规则中包括的操作。
例如,用户终端100可以执行操作,并且可以在显示器上显示与已经执行操作的用户终端100的状态相对应的屏幕。又例如,用户终端100可以执行操作,并且可以不在显示器上显示操作的执行结果。例如,用户终端100可以执行多个操作并且仅在显示器上显示多个操作中的一些操作的结果。例如,用户终端100可以仅在显示器上显示处于最后序列的操作的执行结果。又例如,用户终端100可以接收用户输入并在显示器上显示操作的执行结果。
根据本公开的各种实施例,当在用户终端100中发生部分着陆(例如,缺乏参数信息)时,智能服务器200可以识别属于外部设备并且将执行接收用于输入欠缺的参数的用户输入的操作的外部设备。备选地,当在用户终端100中发生部分着陆时,智能服务器200可以识别属于外部设备并且将发送用于输入欠缺的参数的用户输入的用户界面的外部设备。
个人信息服务器300可以包括存储用户信息的数据库。例如,个人信息服务器300可以从用户终端100接收用户信息(例如,上下文信息或app执行)并将用户信息存储在数据库中。智能服务器200可以通过通信网络从个人信息服务器300接收用户信息,并且可以在其生成用于用户输入的路径规则时使用接收到的用户信息。根据实施例,用户终端100可以通过通信网络从个人信息服务器300接收用户信息,并且可以使用接收到的用户信息作为用于管理数据库的信息。
建议服务器400可以包括数据库,其中存储与终端内的功能或应用或待提供的功能的指令有关的信息。例如,建议服务器400可以包括数据库,其中存储用户能够基于从个人信息服务器300接收的用户终端100的用户信息而使用的功能。用户终端100可以通过通信网络从建议服务器400接收与待提供的功能有关的信息,并且可以向用户提供该信息。
根据本公开的各种实施例的集成智能系统10还可以包括云服务器500。
云服务器500可以执行各种功能。
根据本公开的各种实施例,云服务器500可以存储经认证的外部设备(例如,第一外部设备600或用户终端100)的信息。云服务器500可以每隔设定时间或实时地从经认证的外部设备接收用户的位置。
根据本公开的各种实施例,云服务器500可以确定将向哪个设备发送从智能服务器200接收的数据。根据本公开的各种实施例,如果用户终端100在执行任务时没有用于执行任务的参数信息,则可以停止执行任务。由于参数信息的缺乏而停止执行任务的状态可以被称为例如部分着陆。根据本公开的各种实施例的云服务器500可以从智能服务器200接收部分着陆的信息。部分着陆的信息可以包括对用户终端100的任务执行已符合部分着陆的状态加以指示的信息以及完成用户终端100的任务执行所需的参数特征。云服务器500可以基于经认证的外部设备的信息(例如,第一外部设备600或用户终端100的IP地址、MAC地址或唯一标识符信息)、参数特征和用户位置中的至少一个来确定将向哪个第一外部设备600发送从智能服务器200接收的数据。根据本公开的各种实施例,如果云服务器500确定它将向哪个设备发送从智能服务器200接收的数据,则智能服务器200可以向云服务器500发送数据,并且可以识别它不会向哪个设备发送数据。
根据本公开的各种实施例,智能服务器200可以向云服务器500发送部分着陆的信息。根据本公开的各种实施例,云服务器500可以针对用户生成用于接收参数信息的用户界面(例如,UI屏幕和语音数据),并且可以向第一外部设备600发送所生成的用户界面。根据本公开的各种实施例,智能服务器200可以生成用于从用户接收参数的用户界面。如果由智能服务器200生成用户界面,则云服务器500可以从智能服务器200接收用户界面并向第一外部设备600发送用户界面。
第一外部设备600可以指代例如各种电子设备。根据本公开的各种实施例的第一外部设备600可以接收用户输入,并且可以通过网络接口向智能服务器200发送与用户输入有关的数据。根据本公开的各种实施例的第一外部设备600可以包括麦克风(或话筒)并使用麦克风接收用户输入。当从智能服务器200或云服务器500接收到数据时,第一外部设备600可以基于接收到的数据来生成或输出可以执行附加用户输入的各种用户界面。根据本公开的各种实施例,如果第一外部设备600被识别为将输出能够执行附加用户输入的用户界面的设备,则第一外部设备600可以输出能够执行附加用户输入的用户界面。
根据本公开的各种实施例的第一外部设备600可以支持物联网(IoT),在物联网中该第一外部设备600可以通过通信网络以有线/无线方式连接到各种设备。根据本公开的各种实施例的第一外部设备600可以指代例如配备有麦克风的各种电子设备。根据本公开的另一实施例的第一外部设备600可以不包括显示器和扬声器中的至少一个。根据本公开的各种实施例的第一外部设备600可以协同智能服务器200或云服务器500进行操作。为此,第一外部设备600可以支持IoT。
尽管未在图1中示出,但是根据本公开的各种实施例的集成智能系统10还可以包括第二外部设备(未示出)。
第二外部设备可以指代例如具有与第一外部设备的用户界面不同的用户界面的电子设备。第二外部设备可以使用各种通信手段协同智能服务器200或云服务器500进行操作。
根据本公开的各种实施例的集成智能系统10可以不同地配置接收用户的第一语音的设备(例如,第一外部设备600)以及向用户输出用于接收附加参数的用户界面的设备(例如,第二外部设备)。智能服务器200或云服务器500可以通过考虑附加参数的特征、经认证的外部设备的特征和用户的位置来识别输出用于接收附加参数的用户界面的设备。
根据本公开的各种实施例的集成智能系统10可以不同地配置向用户输出用于接收附加参数的用户界面的设备(例如,第二外部设备)以及接收附加参数的设备。智能服务器200或云服务器500可以通过考虑附加参数的特征、经认证的外部设备的特征和用户的位置来识别接收附加参数的设备。
图2是示出了根据本公开的实施例的集成智能系统的用户终端的框图。
参考图2,用户终端100可以包括输入模块(例如,包括输入电路)110、显示器120、扬声器130、存储器140、处理器(例如,包括处理电路和/或程序元素)150和/或通信模块(例如,包括通信电路)160。用户终端100还可以包括壳体。用户终端100的元素可以位于壳体中或者可以定位在壳体上。
根据实施例的输入模块110可以从用户接收用户输入。例如,输入模块110可以从与其连接的外部设备(例如,键盘或耳机)接收用户输入。又例如,输入模块110可以包括各种输入电路,例如但不限于与显示器120组合的触摸屏(例如,触摸屏显示器)等。又例如,输入模块110可以包括输入电路,例如但不限于位于用户终端100(或者用户终端100的壳体)中的硬件按键(例如,图3的112)(或物理按键)等。
根据实施例,输入模块110可以包括能够接收用户语音作为语音信号的麦克风(例如,图3的111)。例如,输入模块110包括语音输入系统,并且可以通过语音输入系统接收用户的语音作为语音信号。
根据实施例的显示器120可以显示图像或视频和/或应用的执行屏幕。例如,显示器120可以显示app的图形用户界面(GUI)。
根据实施例,扬声器130可以输出语音信号。例如,扬声器130可以向外部输出在用户终端100中生成的语音信号。
根据实施例,存储器140可以存储多个应用(例如,app)141和143。可以响应于用户输入而选择和执行存储在存储器140中的多个app 141和143,并且该多个app 141和143可以进行操作。
根据实施例,存储器140可以包括能够存储识别用户输入所需的信息的数据库(未示出)。例如,存储器140可以包括能够存储日志信息的日志数据库。又例如,存储器140可以包括能够存储用户信息的人员数据库。
根据实施例,存储器140可以存储多个app 141和143。可以加载和操作多个app141和143。例如,可以通过处理器150的执行管理器模块(例如,包括各种处理电路和/或程序元素)153来加载存储在存储器140中的多个app 141和143,并可以操作。多个app 141和143可以包括执行服务141a和143a或执行功能的多个操作(或单元操作)141b和143b。执行服务141a和143a可以由处理器150的执行管理器模块153生成,并且可以执行多个操作141b和143b。
根据实施例,当执行app 141和143的操作141b和143b时,可以在显示器120上显示根据操作141b和143b的执行的执行状态屏幕。例如,执行状态屏幕可以是操作141b和143b已经完成的状态的屏幕。又例如,执行状态屏幕可以是操作141b和143b的执行已符合部分着陆(例如,如果尚未接收到操作141b和143b所需的参数)的屏幕。
根据实施例的执行服务141a和143a可以包括各种处理电路和/或程序元素,并根据路径规则执行操作141b和143b。例如,执行服务141a和143a可以由执行管理器模块153来执行,可以根据来自执行管理器模块153的路径规则来接收执行请求,并且可以响应于执行请求而执行app 141和143的操作141b和143b。当完成对操作141b和143b的执行时,执行服务141a和143a可以向执行管理器模块153发送完成信息。
根据实施例,当在app 141和143中执行多个操作141b和143b时,可以顺序地执行这些操作。当完成对一个操作(操作1)的执行时,执行服务141a和143a可以开始下一个操作(操作2)并向执行管理器模块153发送完成信息。在这种情况下,开始给定操作可以被理解为给定操作转换到可执行状态或者准备执行给定操作。换言之,当给定操作未开始时,不能执行对应操作。当接收到完成信息时,执行管理器模块153可以向执行服务发送对下一操作141b和143b(例如,操作2)的执行请求。根据实施例,当执行多个app 141和143时,可以顺序地执行它们。例如,当完成对第一app 141的上一操作的执行并且接收到完成信息时,执行管理器模块153可以向执行服务143a发送对第二app 143的第一操作的执行请求。
根据实施例,如果已经在app 141和143中执行了多个操作141b和143b,则可以在显示器120上显示基于多个操作141b和143b的执行的结果屏幕。根据实施例,显示器120上可以仅显示根据多个操作141b和143b的执行的多个结果屏幕中的一些结果屏幕。
根据实施例,存储器140可以存储协同智能代理(例如,包括各种处理电路和/或程序元素)151操作的智能app(例如,语音识别app)。协同智能代理151操作的app可以接收用户的语音作为语音信号并处理该语音信号。根据实施例,可以响应于通过输入模块110接收的特定输入(例如,通过硬件按键的输入、通过触摸屏的输入或特定的语音输入)来驱动协同智能代理151操作的app。
根据实施例,处理器150可以包括各种处理电路和/或程序元素,并控制用户终端100的整体操作。例如,处理器150可以控制输入模块110以接收用户输入。处理器150可以控制显示器120显示图像。处理器150可以控制扬声器130输出语音信号。处理器150可以控制存储器140以获取或存储所需信息。
根据实施例,处理器150可以包括智能代理(例如,包括各种处理电路和/或程序元素)151、执行管理器模块(例如,包括各种处理电路和/或程序元素)153和/或智能服务模块(例如,包括各种处理电路和/或程序元素)155。在示例实施例中,处理器150可以通过执行存储在存储器140中的指令来驱动智能代理151、执行管理器模块153或智能服务模块155。可以使用硬件或软件来实现在本公开的各种实施例中描述的若干模块。在本公开的各种实施例中,由智能代理151、执行管理器模块153或智能服务模块155执行的操作可以被解释为由处理器150执行的操作。
根据实施例的智能代理151可以基于作为用户输入接收到的语音信号来生成用于驱动app的命令。根据实施例的执行管理器模块153可以从智能代理151接收所生成的命令,可以选择存储在存储器140中的app 141和143,并且可以执行和驱动所选择的app。根据实施例,智能服务模块155可以管理用户的信息并使用它来处理用户输入。
智能代理151可以向智能服务器200发送通过输入模块110接收的用户输入,以便处理用户输入。
根据实施例,智能代理151可以在向智能服务器200发送用户输入之前对用户输入进行预处理。根据实施例,智能代理151可以包括自适应回声消除器(AEC)模块、噪声抑制(NS)模块、端点检测(EPD)模块或自动增益控制(AGC)模块,以便对用户输入进行预处理。AEC模块可以移除用户输入中包括的回声。NS模块可以抑制用户输入中包括的背景噪声。EPD模块可以通过检测用户输入中包括的用户语音的端部来找到包括用户语音的部分。AGC模块可以调整用户输入的音量,使得用户输入适于被识别和处理。根据实施例,智能代理151可以为了性能而包括所有预处理元素。在另一实施例中,智能代理151可以包括预处理元素中的一些,以便以低能耗操作。
根据实施例,智能代理151可以包括唤醒识别模块,其被配置为识别用户的呼叫。唤醒识别模块可以通过语音识别模块来识别用户的唤醒命令。当接收到唤醒命令时,唤醒识别模块可以激活智能代理151以便接收用户输入。根据实施例,智能代理151的唤醒识别模块可以在低能耗处理器(例如,包括在音频编解码器中的处理器)中实现。根据实施例,可以响应于通过硬件按键进行的用户输入来激活智能代理151。当激活智能代理151时,可以执行协同智能代理151操作的智能app(例如,语音识别app)。
根据实施例,智能代理151可以包括用于执行用户输入的语音识别模块。语音识别模块可以识别用于实现在app中执行操作的用户输入。例如,语音识别模块可以识别在app141和143中执行操作(例如,唤醒命令)的有限用户(或语音)输入(例如,语音,如在执行相机app时执行拍摄操作的“咔嚓”)。例如,被配置为通过辅助智能服务器200来识别用户输入的语音识别模块可以识别可以在用户终端100中处理的用户命令,并且可以快速地处理该用户命令。根据实施例,可以在app处理器中实现智能代理151的用于执行用户输入的语音识别模块。
根据实施例,智能代理151的语音识别模块(包括唤醒模块的语音识别模块)可以使用用于识别语音的算法来识别用户输入。用于识别语音的算法可以是,例如但不限于,隐马尔可夫模型(HMM)算法、人工神经网络(ANN)算法和/或动态时间规整(DTW)算法等中的任何一种。
根据实施例,智能代理151可以将用户的语音输入转换为文本数据。根据实施例,智能代理151可以将用户的语音传送到智能服务器200并接收经转换的文本数据。因此,智能代理151可以在显示器120上显示文本数据。
根据实施例,智能代理151可以接收由智能服务器200发送的路径规则。根据实施例,智能代理151可以向执行管理器模块153发送路径规则。
根据实施例,智能代理151可以向智能服务模块155发送从智能服务器200接收的根据路径规则的执行结果日志。可以在人员模块(或人员管理器)155b的用户偏好信息中累积和管理所发送的执行结果日志。
根据实施例的执行管理器模块153可以从智能代理151接收路径规则,可以执行app 141和143,因此app 141和143执行包括在路径规则中的操作141b和143b。例如,执行管理器模块153可以向app 141和143发送用于执行操作141b和143b的命令信息,并且可以从app141和143接收操作141b和143b的完成信息。
根据实施例,执行管理器模块153可以在智能代理151与app 141和143之间发送/接收用于执行app 141和143的操作141b和143b的命令信息。执行管理器模块153可以绑定要根据路径规则执行的app141和143,并且可以向app 141和143发送包括在路径规则中的操作141b和143b的命令信息。例如,执行管理器模块153可以向app 141和143顺序地发送包括在路径规则中的操作141b和143b,因此根据路径规则顺序地执行app 141和143的操作141b和143b。
根据实施例,执行管理器模块153可以管理app 141和143的操作141b和143b的执行状态。例如,执行管理器模块153可以从app 141和143接收与操作141b和143b的执行状态有关的信息。例如,如果操作141b和143b的执行状态是部分着陆(例如,如果尚未接收到操作141b和143b所需的参数),则执行管理器模块153可以向智能代理151发送与部分着陆有关的信息。智能代理151可以使用接收到的信息来请求用户输入所需信息(例如,参数信息)。又例如,如果操作141b和143b的执行状态是操作状态,则智能代理151可以从用户接收语音。执行管理器模块153可以向智能代理151发送与所执行的app141和143以及app 141和143的执行状态有关的信息。智能代理151可以通过智能服务器200接收用户语音的参数信息,并且可以向执行管理器模块153发送接收到的参数信息。执行管理器模块153可以使用接收到的参数信息将操作141b和143b的参数改变为新参数。
根据实施例,执行管理器模块153可以将包括在路径规则中的参数信息传送到app141和143。当根据路径规则顺序地执行多个app 141和143时,执行管理器模块153可以将包括在路径规则中的参数信息从一个app传送到另一app。
根据实施例,执行管理器模块153可以接收多个路径规则。执行管理器模块153可以基于用户语音来选择多个路径规则。例如,如果用户语音已经指定将执行某个操作141a的某个app 141,但是尚未指定将执行其余操作143b的其他app 143,则执行管理器模块153可以接收多个不同的路径规则,其中,按照所述路径规则来执行将执行某个操作141a的相同app 141(例如,图库app),并且分离地执行将执行其余操作143b的其他app 143(例如,消息app和电报app)。例如,执行管理器模块153可以执行多个路径规则的相同操作141b和143b(例如,连续且相同的操作141b和143b)。如果已经执行了相同操作,则执行管理器模块153可以在显示器120上显示状态屏幕,在所述状态屏幕中可以选择包括在多个路径规则中的不同app 141和143。
根据实施例,智能服务模块155可以包括上下文模块155a、人员模块155b或建议模块155c。
上下文模块155a可以包括各种处理电路和/或程序元素,并从app141和143收集app 141和143的当前状态。例如,上下文模块155a可以通过接收指示app 141和143的当前状态的上下文信息来收集app141和143的当前状态。
人员模块155b可以包括各种处理电路和/或程序元素,并管理使用用户终端100的用户的个人信息。例如,人员模块155b可以收集使用信息和用户终端100的执行结果,并管理用户的个人信息。
建议模块155c可以包括各种处理电路和/或程序元素,并预测用户的意图并向用户推荐该意图。例如,建议模块155c可以通过考虑用户的当前状态(例如,时间、地点、情况或app)向用户推荐命令。
通信模块160可以包括各种通信电路,并且向智能服务器200、个人信息服务器300、建议服务器400、云服务器(例如,图1中的500)或第一外部设备600发送数据或从其接收数据。根据本公开的各种实施例,如果在任务执行期间由于缺乏用于任务执行的参数的信息而发生部分着陆,则用户终端(例如,图1的用户终端100)可以向智能服务器200发送与部分着陆有关的信息。根据本公开的各种实施例,可以从第一外部设备600接收与欠缺的参数有关的信息。智能服务器200可以从云服务器500或第一外部设备600接收与欠缺的参数有关的信息,并且可以基于与欠缺的参数有关的信息来生成新路径规则。用户终端100可以使用通信模块160来接收所生成的路径规则。用户终端100可以使用所生成的路径规则来执行任务并且偏离部分着陆。
图3是示出了执行根据本公开的实施例的用户终端的智能app的图。
图3示出了用户终端(例如,图1的用户终端100)接收用户输入并执行协同智能代理151进行操作的智能app(例如,语音识别app)的示例。
根据实施例,用户终端100可以执行智能app,以使得能够通过硬件按键112来识别语音。例如,当通过硬件按键112接收到用户输入时,用户终端100可以在显示器120上显示智能app的用户界面(UI)121。例如,用户可以触摸智能app的UI 121中的语音识别按钮121a,以便在智能app的UI 121已经被显示在显示器120上的状态下输入(131b)语音。又例如,用户可以通过继续按压硬件按键112来输入(131b)语音,以便输入(131b)语音。
根据实施例,用户终端100可以执行用于通过麦克风111识别语音的智能app。例如,当通过麦克风111接收到(131a)所选择的语音(例如,嘿!Galaxy!Bixby!或醒来!)时,用户终端100可以在显示器120上显示智能app的UI 121。
图4是示出了根据本公开的实施例的集成智能系统的智能服务器的框图。
参考图4,集成智能系统(例如,图1的集成智能系统10)可以包括智能服务器(例如,图1的智能服务器200)。智能服务器200可以包括自动语音识别(ASR)模块(例如,包括各种处理电路和/或程序元素)210、自然语言理解(NLU)模块(例如,包括各种处理电路和/或程序元素)220、路径规划器模块(例如,包括各种处理电路和/或程序元素)230、对话管理器(DM)模块(例如,包括各种处理电路和/或程序元素)240、自然语言生成器(NLG)模块(例如,包括各种处理电路和/或程序元素)250、文本到语音(TTS)模块(例如,包括各种处理电路和/或程序元素)260或着陆管理器(LM)模块(例如,包括各种处理电路和/或程序元素)270。
智能服务器200的NLU模块220或路径规划器模块230可以包括各种处理电路和/或程序元素,并生成路径规则。
根据实施例,ASR模块210可以包括各种处理电路和/或程序元素,并将从用户终端100接收的用户输入转换为文本数据。
根据实施例,自动语音识别模块210可以包括各种处理电路和/或程序元素,并将从用户终端100接收的用户输入转换为文本数据。例如,自动语音识别模块210可以包括语音识别模块。语音识别模块可以包括声学模型和语言模型。例如,声学模型可以包括与发音有关的信息。语言模型可以包括单位音素信息以及与单位音素信息的组合有关的信息。语音识别模块可以使用与发音有关的信息以及与单位音素信息有关的信息将用户语音转换为文本数据。例如,与声学模型和语言模型有关的信息可以存储在自动语音识别数据库(ASR DB)211中。
根据实施例,NLU模块220可以包括各种处理电路和/或程序元素,并通过执行语法分析或语义分析来识别用户意图。在语法分析中,用户输入可以被划分成语法单元(例如,单词、短语或词素),并且可以识别划分的单元具有哪个语法元素。可以使用语义匹配、规则匹配、公式匹配等来执行语义分析。因此,NLU模块220可以从用户输入获得域、意图或表达意图所需的参数(或时隙)。
根据实施例,NLU模块220可以使用匹配规则来识别用户的意图和参数,该匹配规则被划分为域、意图和识别意图所需的参数(或时隙)。例如,一个域(例如,闹钟)可以包括多个意图(例如,闹钟设置或闹钟释放),并且一个意图可以包括多个参数(例如,时间、重复次数或闹钟声音)。例如,多个规则可以包括一个或多个基本元素参数。匹配规则可以存储在自然语言理解数据库(NLU DB)221中。
根据实施例,NLU模块220可以使用语言特征(例如,语法元素,比如语素和短语)来识别从用户输入获得的单词的含义,并且可以通过对所识别的单词的含义与域和意图相匹配来识别用户的意图。例如,NLU模块220可以通过计算从用户输入获得的多少个单词被包括在每个域和意图中来识别用户的意图。根据实施例,NLU模块220可以使用单词(即,用于识别意图的基础)来识别用户输入的参数。根据实施例,NLU模块220可以使用NLU DB 221来识别用户的意图,在该NLU DB 221中已经存储了用于识别用户输入的意图的语言特征。根据另一实施例,NLU模块220可以使用个人语言模型(PLM)来识别用户的意图。例如,NLU模块220可以使用个人信息(例如,联系人信息列表或音乐列表)来识别用户的意图。例如,个人语言模型可以存储在NLU DB 221中。根据实施例,除了NLU模块220之外,自动语音识别模块210还可以参考存储在NLU DB 221中的个人语言模型来识别用户的语音。
根据实施例,NLU模块220可以基于用户输入的意图和参数来生成路径规则。例如,NLU模块220可以基于用户输入的意图来选择要执行的app,并且可以识别要在所选择的app中执行的操作。NLU模块220可以识别与所识别的操作相对应的参数并生成路径规则。根据实施例,由NLU模块220生成的路径规则可以包括与要执行的app、要在app中执行的操作、以及执行操作所需的参数有关的信息。
根据实施例,NLU模块220可以基于用户输入的意图和参数来生成一个路径规则或多个路径规则。例如,NLU模块220可以从路径规划器模块230接收与用户终端100相对应的路径规则集,并且可以通过将用户输入的意图和参数映射到接收到的路径规则集来识别路径规则。
根据另一实施例,NLU模块220可以基于用户输入的意图和参数来识别要执行的app、要在app中执行的操作、以及执行操作所需的参数,并且可以生成一个路径规则或多个路径规则。例如,NLU模块220可以通过使用用户终端100的信息,基于用户输入的意图,以本体或图形模型的形式布置要执行的app和要在app中执行的操作来生成路径规则。例如,所生成的路径规则可以通过路径规划器模块230存储在路径规则数据库(PR DB)231中。可以将所生成的路径规则添加到数据库231的路径规则集。
根据实施例,NLU模块220可以选择多个所生成的路径规则中的至少一个。例如,NLU模块220可以选择多个路径规则中的最佳路径规则。又例如,如果基于用户语音仅给出一些操作,则NLU模块220可以选择多个路径规则。NLU模块220可以基于用户的附加输入来识别多个路径规则中的一个。
根据实施例,NLU模块220可以响应于对用户输入的请求向用户终端100发送路径规则。例如,NLU模块220可以向用户终端100发送与用户输入相对应的一个路径规则。又例如,NLU模块220可以向用户终端100发送与用户输入相对应的多个路径规则。例如,如果基于用户语音仅给出一些操作,则NLU模块220可以生成多个路径规则。
根据实施例,路径规划器模块230可以包括各种处理电路和/或程序元素,并选择多个路径规则中的至少一个。
根据实施例,路径规划器模块230可以向NLU模块220发送包括多个路径规则的路径规则集。路径规则集的多个路径规则可以以表格形式存储在连接到路径规划器模块230的PR DB 231中。例如,路径规划器模块230可以向NLU模块220方发送与从智能代理151接收的用户终端100的信息(例如,OS信息或app信息)相对应的路径规则集。例如,可以针对每个域或域的每个版本来存储在PR DB 231中存储的表格。
根据实施例,路径规划器模块230可以在路径规则集中选择一个路径规则或多个路径规则,并向NLU模块220发送所选择的一个或多个路径规则。例如,路径规划器模块230可以通过将用户的意图和参数匹配至与用户终端100相对应的路径规则集来选择一个或多个路径规则,并且可以向NLU模块220发送该一个多个路径规则。
根据实施例,路径规划器模块230可以使用用户的意图和参数来生成一个路径规则或多个路径规则。例如,路径规划器模块230可以基于用户的意图和参数来识别要执行的app和要在app中执行的操作,并且可以生成一个路径规则或多个路径规则。根据实施例,路径规划器模块230可以将所生成的路径规则存储在PR DB 231中。
根据实施例,路径规划器模块230可以将在NLU模块220中生成的路径规则存储在PR DB 231中。可以将所生成的路径规则添加到存储在PR DB 231中的路径规则集。
根据实施例,存储在PR DB 231中的表格可以包括多个路径规则或多个路径规则集。多个路径规则或多个路径规则集可以包含执行每个路径规则的设备的种类、版本、类型或特征。
根据实施例,DM模块240可以包括各种处理电路和/或程序元素,并确定由NLU模块220识别的用户意图是否清楚。例如,DM模块240可以基于参数的信息是否足够来确定用户的意图是否清楚。DM模块240可以确定由NLU模块220识别的参数是否足以执行任务。根据实施例,如果用户的意图不清楚,则DM模块240可以执行从用户请求必要信息的反馈。例如,DM模块240可以执行请求与用于确定用户意图的参数有关的信息的反馈。
根据实施例,DM模块240可以包括内容提供商模块。如果可以基于由NLU模块220识别的意图和参数来执行操作,则内容提供商模块可以生成与用户输入相对应的任务的执行结果。根据实施例,DM模块240可以向用户终端100发送由内容提供商模块生成的结果作为对用户输入的响应。
根据实施例,NLG模块250可以包括各种处理电路和/或程序元素,并将所选择的信息改变成文本形式。改变成文本形式的信息可以是自然语言语音的形式。例如,所选择的信息可以是与附加输入有关的信息、提供对与用户输入相对应的操作的完成加以指导的信息、或者提供对用户的附加输入加以指导的信息(例如,与用户输入有关的反馈信息)。改变成文本形式的信息可以被发送到用户终端100并显示在显示器120上,或者可以被发送到文本到语音模块260并改变成语音形式。
根据实施例,文本到语音模块260可以包括各种处理电路和/或程序元素,并且将文本形式的信息改变为语音形式的信息。文本到语音模块260可以从NLG模块250接收文本形式的信息,可以将文本形式的信息改变为语音形式的信息,并且可以向用户终端100发送语音形式的信息。用户终端100可以将语音形式的信息输出到扬声器130。
根据实施例,NLU模块220、路径规划器模块230和DM模块240可以实现为单个模块。例如,NLU模块220、路径规划器模块230和DM模块240可以实现为单个模块。单个模块可以识别用户的意图和参数,并生成与所识别的用户的意图和参数相对应的响应(例如,路径规则)。因此,可以向用户终端100发送所生成的响应。
根据本公开的各种实施例,当在用户终端(例如,图1的用户终端100)中的第一应用(例如,图2的第一app 141)或第二应用(例如,图2的第二app 143)的操作(例如,图2的操作1至3141b或图2的操作1至3143b)期间发生部分着陆时,可以仅在接收到欠缺的参数时执行后续操作。其中已经发生部分着陆的设备(例如,用户终端100)和接收附加参数的设备(例如,第一外部设备600)可以是相同的,但也可以是不同的。例如,接收语音的设备和接收附加参数的设备可以是不同的。用户终端100可以基于从输入语音获得的参数的特征、外部设备的特征或用户的位置来确定接收语音的设备和接收附加参数的设备是否将被不同地配置。
当发生部分着陆时,LM模块270可以执行识别属于外部设备的外部设备(例如,图1的第一外部设备600和用户终端100)的操作,并且将执行接收针对欠缺的参数的用户输入的操作。
根据本公开的各种实施例,LM模块270可以包括各种处理电路和/或程序元素,并且生成用于接收针对附加参数的用户输入的UI,并且向所识别的第一外部设备600发送所生成的UI。
根据本公开的各种实施例,LM模块270可以使用从用户终端100接收的与部分着陆有关的信息来识别附加参数的特征,并且可以识别第一外部设备600的特征。外部设备的特征可以指代例如外部设备的各种类型的信息。例如,外部设备的特征可以指代例如外部设备的显示器的分辨率、与外部设备的能力有关的信息或外部设备中包括的输入/输出设备的类型或信息。
根据本公开的各种实施例,LM模块270可以识别第一外部设备600,其属于外部设备600并且将基于附加参数的特征和外部设备600的特征中的至少任何一个来接收附加参数。例如,参数的特征可以包括用户先前输入的数据的类型(例如,图像、照片或音频)、需要由用户选择的应用的类型(例如,SMS应用)、需要由用户选择的数据的类型(例如,图像、照片或音频)或者需要由用户选择的数据的大小。
根据本公开的各种实施例,如果视觉元素包括在为输入附加参数而生成的用户界面中,或者附加参数的特征中包括的参数类型与视觉元素相关,则LM模块270可以识别属于外部设备600并且配备有显示器来作为将接收针对附加参数的用户输入的设备的第一外部设备600,并且可以向所识别的第一外部设备600发送所生成的用户界面(例如,能够接收选择的显示器)。
根据本公开的各种实施例,LM模块270可以通过考虑第一外部设备600的显示器信息(例如,分辨率或是否支持视频标准(例如,诸如H.264或H.265的编解码器))来不同地生成用户界面。例如,如果第一外部设备600是支持超高清晰度(HUD)分辨率的电视,则LM模块270可以生成包括大量信息的用户界面。又例如,如果第一外部设备600的显示器的尺寸是不适于显示大量信息的给定尺寸或更小的显示器,则LM模块270可以生成包括少量信息的简单用户界面。
根据本公开的各种实施例,如果声学元素被包括在用于接收附加参数的用户界面中,则LM模块270可以识别属于外部设备600并且包括扬声器来作为接收针对附加参数的用户输入的设备的第一外部设备600,并且可以向所识别的第一外部设备600发送所生成的用户界面(例如,引发来执行用户语音输入的声音或者引发执行用户输入的文本或图像)。可以从NLG模块250生成以语音实现的用户界面。
根据本公开的各种实施例,LM模块270可以从第一外部设备600接收包括附加参数的用户输入,并且可以基于用户输入获得附加参数。例如,如果用户输入是语音,则LM模块270可以使用ASR模块210获得作为文本数据的用户输入,可以使用NLU模块220接收用户的意图和参数信息,可以生成新路径规则,并且可以向用户终端100发送新路径规则。用户终端100可以基于新路径规则执行任务,从而能够偏离部分着陆。
根据本公开的各种实施例,LM模块270可以在不新生成路径规则的情况下向用户终端100发送所获得的参数。用户终端100可以在使用已经接收到的路径规则和新获得的参数来执行任务的同时偏离部分着陆。
根据本公开的各种实施例,如果LM模块270执行识别外部设备的操作,其中当在云服务器500中发生部分着陆时所述外部设备将执行接收针对欠缺的参数的用户输入的操作,则其可以不执行识别将执行接收针对欠缺的参数的用户输入的操作的外部设备的操作,但是可以向云服务器500发送请求部分着陆信息和对用于用户的附加输入的外部设备的选择。
图5是示出了根据本公开的实施例的NLU模块生成路径规则的方法的图。
参考图5,根据实施例的NLU模块(例如,图4的NLU模块220)可以将app的功能划分为单元操作A至F并将它们存储在PR DB 231中。例如,NLU模块220可以将路径规则集存储在PR DB 231中,所述路径规则集包括被划分为单元操作的多个路径规则A-B1-C1、A-B1-C2、A-B1-C3-D-F和A-B1-C3-D-E-F、A-B2。
根据实施例,路径规划器模块230的PR DB 231可以存储用于执行app的功能的路径规则集。路径规则集可以包括包含多个操作的多个路径规则。在多个路径规则中,可以顺序地布置基于被输入到多个操作的参数而执行的操作。根据实施例,多个路径规则可以被配置成本体或图形模型的形式并存储在PR DB 231中。
根据实施例,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可以识别与通过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可以根据所选择的一个路径规则来完成app141和143的操作。
根据实施例,当包括不充分信息的用户输入被输入到智能服务器200时,NLU模块220可以生成部分地对应于接收到的用户输入的路径规则。例如,NLU模块220可以向智能代理151发送部分对应的路径规则(①)。智能代理151可以向执行管理器模块153发送部分对应的路径规则(②)。执行管理器模块153可以根据路径规则来执行第一app 141。执行管理器模块153可以在执行第一app 141的同时向智能代理151发送与欠缺的参数有关的信息(③)。智能代理151可以使用与欠缺的参数有关的信息来向用户请求附加输入。当接收到附加输入时,智能代理151可以通过向智能服务器200发送附加输入来处理来自用户的附加输入(④)。NLU模块220可以基于附加地输入的用户输入的意图和参数信息来生成添加的路径规则,并且可以向智能代理151发送所添加的路径规则(⑤)。智能代理151可以通过向执行管理器模块153发送路径规则来执行第二app 143(⑥)。
根据实施例,当省略了某些信息的用户输入被输入到智能服务器200时,NLU模块220可以向个人信息服务器300发送用户信息请求。个人信息服务器300可以向NLU模块220发送被存储在人员数据库中的已经输入了用户输入的用户的信息。NLU模块220可以使用用户信息来选择与省略了某些操作的用户输入相对应的路径规则。因此,尽管省略了某些信息的用户输入被输入到智能服务器200,但是NLU模块220可以通过请求所省略的信息来接收附加输入,或者可以使用用户信息来识别与用户输入相对应的路径规则。
图6是示出了根据本公开的实施例的处理器的上下文模块收集当前状态的图。
参考图6,当从智能代理(例如,包括处理电路和/或程序元素)151接收上下文请求(图6的①)时,上下文模块(例如,包括处理电路和/或程序元素)155a可以向app 141和143请求指示app 141和143的当前状态的上下文信息(图6的②)。根据实施例,上下文模块155a可以从app 141和143接收上下文信息(图6的③)并将其发送到智能代理151(图6的④)。
根据实施例,上下文模块155a可以通过app 141和143来接收多条上下文信息。例如,上下文信息可以是与最近执行的app 141和143有关的信息。又例如,上下文信息可以是与app 141和143的当前状态有关的信息(例如,当在图库中查看相应照片时与照片有关的信息)。
根据实施例,除了app 141和143之外,上下文模块155a还可以从设备平台接收指示用户终端100的当前状态的上下文信息。上下文信息可以包括公共上下文信息、用户上下文信息或设备上下文信息。
公共上下文信息可以包括用户终端100的公共信息。可以通过经由设备平台的传感器枢纽接收数据,借助于算法来检查公共上下文信息。例如,公共上下文信息可以包括与当前时间-空间有关的信息。例如,与当前时间-空间有关的信息可以包括当前时间或与用户终端100的当前位置有关的信息。可以通过用户终端100中的时间来检查当前时间,并且可以通过全球定位系统(GPS)来检查与当前位置有关的信息。又例如,公共上下文信息可以包括与物理运动有关的信息。例如,与物理运动有关的信息可以包括与散步、跑步或驾驶有关的信息。可以通过运动传感器来检查与物理运动有关的信息。可以通过运动传感器基于与驾驶有关的信息来检查驾驶,并且还可以通过感测车辆内的蓝牙连接基于与驾驶有关的信息来检查上车和停车。又例如,公共上下文信息可以包括用户活动信息。例如,用户活动信息可以包括与通勤、购物或旅行有关的信息。可以基于与用户或app向数据库注册的地点有关的信息来检查用户活动信息。
用户上下文信息可以包括与用户有关的信息。例如,用户上下文信息可以包括与用户的情绪状态有关的信息。例如,与情绪状态有关的信息可以包括与用户的快乐、悲伤或愤怒有关的信息。又例如,用户上下文信息可以包括与用户的当前状态有关的信息。例如,与当前状态有关的信息可以包括与兴趣或意图(例如,购物)有关的信息。
设备上下文信息可以包括与用户终端100的状态有关的信息。例如,设备上下文信息可以包括与由执行管理器模块153执行的路径规则有关的信息。又例如,设备上下文信息可以包括与电池有关的信息。例如,可以通过电池的充电和放电状态来检查与电池有关的信息。又例如,设备上下文信息可以包括与所连接的设备和网络有关的信息。例如,可以通过设备所连接到的通信接口来识别与所连接的设备有关的信息。
图7是示出了根据本公开的实施例的人员模块管理用户信息的图。
参考图7,人员模块(例如,包括处理电路和/或程序元素)155b可以从app 141和143、执行管理器模块(例如,包括处理电路和/或程序元素)153和/或上下文模块(例如,包括处理电路和/或程序元素)155a接收用户终端100的信息。app 141和143以及执行管理器模块153可以在操作日志数据库中存储与app的操作141b和143b的执行结果有关的信息。上下文模块155a可以在上下文数据库中存储与用户终端100的当前状态有关的信息。人员模块155b可以从操作日志数据库或上下文数据库接收所存储的信息。例如,存储在操作日志数据库和上下文数据库中的数据可以由分析引擎分析,并被发送到人员模块155b。
根据实施例,人员模块155b可以向建议模块155c发送从app 141和143、执行管理器模块153或上下文模块155a接收的信息。例如,人员模块155b可以向建议模块155c发送存储在操作日志数据库或上下文数据库中的数据。
根据实施例,人员模块155b可以向个人信息服务器300发送从app 141和143、执行管理器模块153或上下文模块155a接收的信息。例如,人员模块155b可以周期性地向个人信息服务器300发送所累积并存储在操作日志数据库或上下文数据库中的数据。
根据实施例,人员模块155b可以向建议模块155c发送存储在操作日志数据库或上下文数据库中的数据。可以将人员模块155b生成的用户信息存储在人员数据库中。人员模块155b可以周期性地向个人信息服务器300发送存储在人员数据库中的用户信息。根据实施例,可以将从人员模块155b发送到个人信息服务器300的信息存储在人员数据库中。个人信息服务器300使用存储在人员数据库中的信息来推断生成智能服务器200的路径规则所需的用户信息。
根据实施例,使用由人员模块155b发送的信息推断的用户信息可以包括简档信息或偏好信息。可以通过用户的帐户和累积的信息来推断简档信息或偏好信息。
简档信息可以包括用户的个人信息。例如,简档信息可以包括用户的人口统计信息。例如,人口统计信息可以包括用户的性别或年龄。又例如,简档信息可以包括生活事件信息。可以通过将日志信息与例如生活事件模型进行比较来推断生活事件信息,并且可以通过分析行为模式来增强生活事件信息。又例如,简档信息可以包括兴趣信息。例如,兴趣信息可以包括感兴趣的购物物品或感兴趣的领域(例如,体育或政治)。又例如,简档信息可以包括活动区域信息。例如,活动区域信息可以包括与家庭或工作地点有关的信息。除了与地点的位置有关的信息之外,与活动区域有关的信息可以包括与已经基于累积的停留时间和访问次数而被分配了优先级的区域有关的信息。又例如,简档信息可以包括活动时间信息。例如,活动时间信息可以包括与唤醒时间、通勤时间或睡眠时间有关的信息。可以使用活动区域信息(例如,与家庭或工作地点有关的信息)来推断与通勤时间有关的信息。可以使用用户终端100的非使用时间来推断与睡眠时间有关的信息。
偏好信息可以包括用户的偏好信息。例如,偏好信息可以包括与app偏好有关的信息。例如,可以通过app的使用历史(例如,每小时或每个地点的使用历史)来推断app偏好。app偏好可以用于基于用户的当前状态(例如,时间或地点)来识别要执行的app。又例如,偏好信息可以包括与联系人信息偏好有关的信息。例如,可以通过分析联系人信息的联系人信息(例如,每个小时或在每个地点产生连接的频率)来推断联系人信息偏好。联系人信息偏好可以用于基于用户的当前状态(例如,与重复的姓名的连接)来识别联系人信息。又例如,偏好信息可以包括设置信息。例如,可以通过分析给定设置值的设置频率(例如,被设置为每个小时和每个地点的设置值的频率)信息来推断设置信息。设置信息可以用于基于用户的当前状态(例如,时间、地点或情况)来设置给定设置值。又例如,偏好信息可以包括地点偏好。例如,可以通过给定地点的访问历史(例如,每小时的访问历史)来推断地点偏好。地点偏好可以用于基于用户的当前状态(例如,小时)来识别所访问的地点。又例如,偏好信息可以包括命令偏好。例如,可以通过命令使用频率(例如,每个小时或每个地点的使用频率)来推断命令偏好。命令偏好可以用于基于用户的当前状态(例如,时间或地点)来识别要使用的命令模式。特别地,命令偏好可以包括与通过分析日志信息在正在执行的app的当前状态下用户选择最多的菜单有关的信息。
图8是示出了根据本公开的实施例的建议模块的框图。
参考图8,建议模块(例如,包括处理电路和/或程序元素)155c可以包括提示提供模块(例如,包括处理电路和/或程序元素)155c-1、上下文提示生成模块(例如,包括处理电路和/或程序元素)155c-2、条件检查模块(例如,包括处理电路和/或程序元素)155c-3、条件模型模块(例如,包括处理电路和/或程序元素)155c-4、重用提示生成模块(例如,包括处理电路和/或程序元素)155c-5和/或引入提示生成模块(例如,包括处理电路和/或程序元素)155c-6。
根据实施例,提示提供模块155c-1可以包括各种处理电路和/或程序元素,并向用户提供提示。例如,提示提供模块155c-1可以从上下文提示生成模块155c-2、重用提示生成模块155c-5或引入提示生成模块155c-6接收所生成的提示,并且可以向用户提供提示。
根据实施例,上下文提示生成模块155c-2可以包括各种处理电路和/或程序元素,并且通过条件检查模块155c-3或条件模型模块155c-4基于当前状态生成可推荐的提示。条件检查模块155c-3可以包括各种处理电路和/或程序元素,并通过智能服务模块155接收与当前状态相对应的信息。条件模型模块155c-4可以包括各种处理电路和/或程序元素,并使用接收到的信息来配置条件模型。例如,条件模型模块155c-4可以在向用户或正在使用的app提供提示时检查时间、位置或情况,并且可以向用户提供提示,其中很有可能将按照较高优先级的顺序在对应条件下使用该提示。
根据实施例,重用提示生成模块155c-5可以包括各种处理电路和/或程序元素,并且基于当前状态通过考虑使用频率来生成可推荐的提示。例如,重用提示生成模块155c-5可以包括各种处理电路和/或程序元素,并通过考虑用户的使用模式来生成提示。
根据实施例,引入提示生成模块155c-6可以包括各种处理电路和/或程序元素,并且生成向用户引入新功能或被其他用户广泛使用的功能的提示。例如,引入新功能的提示可以包括智能代理151的引入(例如,操作方法)。
根据另一实施例,建议模块155c的上下文提示生成模块155c-2、条件检查模块155c-3、条件模型模块155c-4、重用提示生成模块155c-5或引入提示生成模块155c-6可以被包括在个人信息服务器300中。例如,建议模块155c的提示提供模块155c-1可以从个人信息服务器300的上下文提示生成模块155c-2、重用提示生成模块155c-5或引入提示生成模块155c-6接收提示,并且可以向用户提供接收到的提示。
根据实施例,用户终端100可以根据以下一系列过程来提供提示。例如,当从智能代理151接收到提示提供请求(①)时,提示提供模块155c-1可以向上下文提示生成模块155c-2发送提示生成请求(②)。当接收到提示生成请求时,上下文提示生成模块155c-2可以使用(③)条件检查模块155c-3从上下文模块155a和人员模块155b接收(④)与当前状态相对应的信息。条件检查模块155c-3可以向条件模型模块155c-4发送接收到的信息(⑤)。条件模型模块155c-4可以为提示分配优先级,所述提示属于向使用该信息的用户提供的提示,并且具有将在条件下使用该提示的最大可能性。上下文提示生成模块155c-2可以检查条件(⑥)并生成与当前状态相对应的提示。上下文提示生成模块155c-2可以向提示提供模块155c-1发送所生成的提示(⑦)。提示提供模块155c-1可以根据所选择的规则来布置提示,并向智能代理151发送该提示(⑧)。
根据实施例,提示提供模块155c-1可以生成多个上下文提示,并根据所选择的规则向多个上下文提示分配优先级。根据实施例,提示提供模块155c-1可以首先向用户提供属于多个上下文提示并且具有高优先级的上下文提示。
根据实施例,用户终端100可以基于使用频率来建议提示。例如,当从智能代理151接收到提示提供请求(①)时,提示提供模块155c-1可以向重用提示生成模块155c-5发送提示生成请求(②)。当接收到提示生成请求时,重用提示生成模块155c-5可以从人员模块155b接收用户信息(③)。例如,重用提示生成模块155c-5可以接收包括在人员模块155b的用户偏好信息中的路径规则、包括在路径规则中的参数、app的执行频率或所使用的app的时间-空间信息。重用提示生成模块155c-5可以生成与接收到的用户信息相对应的提示。重用提示生成模块155c-5可以向提示提供模块155c-1发送所生成的提示(④)。提示提供模块155c-1可以布置提示并向智能代理151发送提示(⑤)。
根据实施例,用户终端100可以建议新功能。例如,当从智能代理151接收到提示提供请求(①)时,提示提供模块155c-1可以向引入提示生成模块155c-6发送提示生成请求(②)。引入提示生成模块155c-6可以通过向建议服务器400发送引入提示提供请求(③)来接收(④)与要从建议服务器400引入的功能有关的信息。例如,建议服务器400可以存储与要引入的功能有关的信息。可以由服务运营商来更新要引入的功能的提示列表。引入提示生成模块155c-6可以向提示提供模块155c-1发送所生成的提示(⑤)。提示提供模块155c-1可以布置提示并向智能代理151发送提示(⑥)。
因此,建议模块155c可以向用户提供由上下文提示生成模块155c-2、重用提示生成模块155c-5或引入提示生成模块155c-6生成的提示。例如,建议模块155c可以在驱动智能代理151的app中显示所生成的提示,并且可以通过该app从用户接收用于选择提示的输入。
图9是示出了根据本公开的各种实施例的云服务器(例如,图1的云服务器500)的框图。
参考图9,云服务器500可以包括通信模块(例如,包括通信电路)510和部分着陆(PL)管理器模块(例如,包括处理电路和/或程序元素)520。
通信模块510可以包括各种通信电路,并且向/从外部设备(例如,图1的智能服务器200、第一外部设备600或用户终端100)和第一外部设备600发送/接收数据。根据本公开的各种实施例,通信模块510可以接收与由智能服务器200发送的部分着陆有关的信息或者用于输入附加参数的用户界面的数据。
PL管理器模块520可以包括各种处理电路和/或程序元素,并且通过考虑从用户说出的语音输入获得的参数的特征、外部设备的特征和用户的位置中的至少一个来不同地配置已经执行接收语音的操作的外部设备以及将执行接收附加参数的操作的外部设备。在这种情况下,接收语音的设备和接收附加参数的设备可以是不同的。附加参数可以指代例如当在用户终端(例如,图1的用户终端100)中发生部分着陆时偏离部分着陆的参数。
根据本公开的各种实施例,PL管理器模块520可以在协同智能服务器200进行操作的同时执行各种操作。例如,智能服务器200可以向云服务器500发送基于第二数据的第二信息,以指示需要附加用户输入。PL管理器模块520可以使用第二信息来识别用于接收附加参数的外部设备。
根据本公开的各种实施例,PL管理器模块520可以向第一外部设备600发送从通信模块510接收的与部分着陆有关的信息(例如,附加参数,比如用户要选择的联系人信息或应用信息)。根据本公开的各种实施例,PL管理器模块520可以基于参数的特征和将执行用于选择附加参数的用户输入的外部设备的特征(例如,是否包括显示器,与显示器的分辨率有关的信息,是否包括扬声器或与外部设备的能力有关的信息)来生成用于用户输入的用户界面。
根据本公开的各种实施例,云服务器500和智能服务器(例如,图1的智能服务器200)可以识别外部设备,并且可以生成用于输入附加参数的用户界面,其中所述外部设备将在彼此协同操作的同时接收用于附加参数的用户输入。例如,智能服务器200的LM模块(例如,图4的LM模块270)可以执行与PL管理器模块510相同的功能。当云服务器500识别出将接收用户输入的外部设备时,LM模块270可以不执行识别外部设备的操作。
根据本公开的各种实施例,第一外部设备600和云服务器500可以使用开放互联联盟(OIC)标准的通知服务来发送/接收与UI屏幕的配置有关的信息。
根据本公开的各种实施例,与外部设备有关的信息可以预先存储在云服务器500的存储器(未示出)中。与外部设备有关的信息可以指代例如与其用户已被认证的外部设备有关的各种类型的信息。例如,与外部设备有关的信息可以包括各种类型的信息,例如第一外部设备600的MAC地址、IP地址或唯一标识符号、是否包括显示器、是否包括扬声器、以及所包括的部件的信息。
根据本公开的另一实施例,可以由智能服务器200代替执行云服务器500的功能。如果智能服务器200执行云服务器500的功能,则可以直接执行智能服务器200与第一外部设备600之间的数据发送/接收,而无需云服务器500的干预。
图10是示出了根据本公开的各种实施例的外部设备(例如,图1的第一外部设备600)的框图。
根据本公开的各种实施例的第一外部设备600可以包括通信模块(例如,包括通信电路)610、用户界面(U1)管理器模块(例如,包括处理电路和/或程序元素)620、控制信号管理器模块(例如,包括处理电路和/或程序元素)630和麦克风640。
通信模块610可以包括各种通信电路,并且向/从智能服务器(例如,图1的智能服务器200)或云服务器(例如,图1的云服务器500)发送/接收数据。根据本公开的各种实施例,通信模块610可以接收由智能服务器200或云服务器500发送的与部分着陆有关的信息或者指示需要附加用户输入的数据。通信模块610可以向智能服务器200或云服务器500发送附加用户输入。智能服务器200的LM模块(例如,图4的LM模块270)可以使用附加用户输入来生成新路径规则。用户终端(例如,图1的用户终端100)可以使用新路径规则来执行任务。
UI管理器模块620可以包括各种处理电路和/或程序元素,并且使用由智能服务器200或云服务器500发送的与部分着陆有关的信息来生成用于接收附加用户输入的界面。
当接收到由智能服务器200或云服务器500发送的用于输出用户界面的数据时,UI管理器模块620可以使用与部分着陆有关的信息、第一外部设备600的信息或用于输出用户界面的数据来生成用户界面。
根据本公开的各种实施例,UI管理器模块620可以基于第一外部设备600的信息(例如,是否包括显示器,与显示器的分辨率有关的信息或是否包括扬声器)来不同地生成用户界面。
根据本公开的各种实施例,如果视觉元素(例如,用于选择图像的用户输入中的显示图像)是接收附加参数所必需的,则UI管理器模块620可以生成包括视觉元素的用户界面。
根据本公开的各种实施例,UI管理器模块620可以通过考虑第一外部设备600的显示器信息(例如,最大可支持的分辨率、是否支持视频标准(例如,诸如H.264或H.265的编解码器)、或显示器的尺寸)来不同地生成用户界面。如果第一外部设备600是支持高达超高清晰度(UHD)分辨率的电视,则UI管理器模块620可以生成包括大量信息的用户界面。可以在已经显示在显示器上的屏幕上以浮动状态显示用户界面,或者可以在通过划分显示器生成的区域中显示用户界面。
又例如,如果第一外部设备600的显示器的尺寸是给定尺寸或更小并且不适于显示大量信息,则UI管理器模块620可以生成包括少量信息的简单用户界面。
根据本公开的各种实施例,UI管理器模块620可以生成包括声音的用户接口,该声音引入要以语音执行的用户输入以便接收附加参数。
控制信号管理器模块630可以包括各种处理电路和/或程序元素,并且对针对附加参数的用户输入执行处理。控制信号管理器模块630可以接收用户输入并基于与用户输入匹配的用户接口的信息来获得参数信息。
虽然未示出,但是根据本公开的各种实施例的第一外部设备600还可以包括显示器。第一外部设备600可以基于显示器上的用户输入来接收附加参数。
根据本公开的各种实施例的第一外部设备600可以包括麦克风640。第一外部设备600可以使用麦克风640接收用户语音输入,包括用于执行任务的请求或附加参数。根据本公开的各种实施例的第一外部设备600可以使用麦克风640对接收到的用户输入进行预处理,并向智能服务器200发送经预处理的用户输入。
图11A和图11B是示出了根据本公开的各种实施例的集成智能系统中接收和处理用户输入的实施例(图11A)和当需要附加用户输入时执行的实施例(图11B)的流程图。
可以在第一外部设备(例如,图1的第一外部设备600)、智能服务器(例如,图1的智能服务器200)和用户终端(例如,图1的用户终端100)之间执行图11A和图11B所示的实施例。
在操作1101处,根据实施例的第一外部设备600可以接收用户输入。根据本公开的各种实施例,第一外部设备600可以在已经执行能够处理用户输入的应用(例如,语音命令处理应用)的状态下接收用户输入。可以基于第一外部设备600支持的用户接口,以各种方式支持用户输入。例如,包括麦克风的第一外部设备600可以接收包括用户的语音数据的用户输入。用户的语音数据可以指代例如请求控制能够在用户终端100中执行的各种功能的操作的语音。例如,用户输入可以指代例如请求以下操作的语音:向用户终端100中的所存储的联系人信息中包括的给定联系人信息(例如,妈妈)发送包括给定内容(例如,“说我今天迟到了”)的消息。又例如,用户输入可以指代例如请求执行存储在用户终端100中的各种应用之一的操作的语音。另外,用户输入可以指代例如包括以下请求的语音:执行控制能够在用户终端100中执行的各种功能的任务。
根据本公开的各种实施例,第一外部设备600可以在执行用户认证之后接收用户输入。可以以各种方式执行用户认证。例如,第一外部设备600可以接收用户的生物信息(例如,指纹、虹膜、面部特征或语音),并且可以基于接收到的生物信息和所存储的用户生物信息之间的比较结果来执行对用户输入的接收。
根据本公开的各种实施例,第一外部设备600可以执行注册用户生物信息的过程。例如,第一外部设备600可以从不同的外部设备(例如,图1的用户终端100或智能服务器200)接收能够访问智能服务器(例如,图1的智能服务器200)的令牌。在这种情况下,用户可以将用户的生物信息(例如,用户的指纹)输入到第一外部设备600(例如,注册用户指纹)。用户的生物信息(例如,指纹数据)可以存储在第一外部设备600的存储器中。根据本公开的各种实施例,第一外部设备600可以连接存储在第一外部设备600的存储器中的生物信息(例如,指纹数据)和令牌。根据本公开的各种实施例,第一外部设备600可以使用用户输入的生物信息(例如,用户的指纹)来执行用户认证。第一外部设备600可以将输入的生物信息与存储在存储器中的生物信息进行比较。如果输入的生物信息与存储在存储器中的生物信息基本相同,则第一外部设备600可以将连接到存储在存储器中的生物信息的令牌与用户输入(例如,用户的语音输入)一起发送到智能服务器200,因此执行与用户输入相关的功能。
根据本公开的各种实施例,第一外部设备600可以包括用于指纹识别的单独的指纹输入单元。各种输入方法(例如,光学类型、电学类型或基于超声波的指纹识别)可以应用于指纹输入方法。对于指纹识别,第一外部设备600可以控制指纹输入单元以存储用户的指纹。
根据本公开的各种实施例,第一外部设备600可以使用被接收的用于语音命令的用户语音来执行用户认证。例如,第一外部设备600不接收用于用户认证的单独用户输入,并且可以使用被接收的用于语音命令的用户输入来执行用户认证。
根据本公开的各种实施例,在用户认证之后,可以允许第一外部设备600访问内部安全区域。第一外部设备600可以使用存储在内部安全区域中的令牌来执行与智能服务器200的通信。
根据本公开的各种实施例,如果使用第一外部设备600的用户有多个,则第一外部设备600可以分析用户的语音(基于频率或语音模式)并基于分析的结果对用户进行划分。第一外部设备600可以对多个用户进行划分并提供适于用户的各种功能。例如,第一外部设备600可以提供与每个用户相对应的功能,例如,执行与多个用户中的给定用户指定的特定输入(例如,语音输入“High Galaxy”)相对应的给定功能(例如,响应于语音输入“HighGalaxy”激活给定应用的功能的功能)。
根据本公开的各种实施例,第一外部设备600识别用户终端100的位置。作为识别的结果,如果用户终端100的位置是先前注册的位置(例如,如果用户终端100位于可靠设备附近),则第一外部设备600不执行用户认证,并且可以执行各种操作,例如用户输入接收。
在操作1103处,根据实施例的第一外部设备600可以向智能服务器200发送与用户输入有关的第一数据。根据本公开的各种实施例,第一数据可以包括与用户输入相对应的数据以及与第一外部设备600的用户接口有关的信息。与第一外部设备600的用户接口有关的信息可以指代例如第一外部设备600中包括的各种用户接口的类型或信息。例如,如果第一外部设备600包括显示器,则可以在第一数据中包括与各种用户接口有关的信息,例如显示器是否可以支持触摸输入或显示器的分辨率。又例如,与第一外部设备600是否包括扬声器有关的信息也可以包括在第一数据中。
根据本公开的各种实施例,如果用户输入包括语音数据,则智能服务器200可以使用ASR模块(例如,图4的ASR模块210)将语音数据转换为文本数据。智能服务器200可以使用NLU模块(例如,图4的NLU模块220)从文本数据获得用户的意图和参数。
在操作1105处,根据实施例的智能服务器200可以使用用户的意图和参数来生成用户终端100的状态序列(例如,路径规则)。用户终端100的状态序列可以指代例如用于执行任务的若干状态的序列。例如,为了执行使用短消息服务应用(例如,图5的第一app)向给定用户发送给定消息的任务,可以顺序地执行三个状态,其中首先执行短消息服务应用(例如,图5的A)、选择给定用户(例如,图5的B)、然后输入(例如,图5的C)并发送消息。根据本公开的各种实施例的智能服务器200可以生成用户终端100的状态序列。
在操作1107处,根据实施例的智能服务器200可以向外部设备中的任何一个发送与状态序列有关的第一信息。根据本公开的各种实施例的智能服务器200可以分析第一信息,并且可以基于分析的结果来识别将向哪个外部设备发送第一信息。智能服务器200可以识别需要执行与第一信息相对应的任务的外部设备,并且可以向所识别的外部设备发送第一信息。图11A和图11B中描述的实施例可以指代例如用户终端100被识别为将执行第一信息的设备的实施例,但是本公开不限于图11A和图11B中描述的实施例。例如,智能服务器200可以向除了用户终端之外的外部设备(例如,诸如冰箱之类的电子设备)发送第一信息。已经接收到第一信息的外部设备可以执行与第一信息相对应的任务。
在操作1109处,根据实施例的用户终端100可以使用第一信息来执行任务。根据本公开的各种实施例的用户终端100可以使用包括在第一信息中的用户终端100的状态序列来执行与第一信息相对应的任务。
在操作1111处,根据实施例的用户终端100可以识别(确定)在任务执行期间是否需要附加参数。根据本公开的各种实施例,可以定义执行任务时的用于执行任务的基本参数。例如,为了执行发送文本消息的任务,诸如指示消息接收者的参数、包括消息内容的参数或指示要执行的应用的参数之类的基本参数可以是必要的。在各种情况下,例如用户输入中不存在基本参数或基本参数模糊不清,用户终端100可以识别是否需要附加参数。根据本公开的各种实施例,如果需要附加参数,则在操作1113处,用户终端100可以向智能服务器200发送指示需要附加用户输入的第二数据。根据本公开的各种实施例,第二数据可以包括指示用户终端100符合部分着陆的数据或与附加参数有关的信息。
根据本公开的各种实施例,当在用户终端100中发生部分着陆时,智能服务器200可以识别属于外部设备并且将执行接收用于欠缺的参数的用户输入的操作的外部设备。备选地,当在用户终端100中发生部分着陆时,智能服务器200可以识别属于外部设备并且将发送用于针对欠缺的参数的用户输入的用户接口的外部设备。
根据本公开的各种实施例,智能服务器200可以识别将执行使用LM模块(例如,图4的LM模块270)来接收附加参数的操作(例如,接收包括与附加参数有关的信息的用户输入的操作)的外部设备。根据本公开的各种实施例,与附加参数有关的信息可以包括用户可以选择的应用的列表、用于选择进行通信的用户的联系人信息、或者与用户可以选择的文件有关的信息(例如,元数据)。
根据本公开的各种实施例,智能服务器200可以基于包括在用户输入中的用户语音的意图来识别接收用户输入的外部设备,所述用户输入包括与附加参数有关的信息。如果在用户输入期间明确地选择了需要执行操作的外部设备(或者如果可以识别该外部设备),则智能服务器200可以将所选择的外部设备识别为将执行接收附加参数的操作的外部设备。例如,当用户执行用户输入“通过电视向我展示照片”时,可以选择电视来执行显示照片的操作。在这种情况下,智能服务器200可以识别电视,使得电视执行接收附加参数的操作(例如,显示用于接收待显示的照片的屏幕的操作)。
根据本公开的各种实施例,智能服务器200可以基于用户的位置来识别接收包括与附加参数有关的信息的用户输入的外部设备。智能服务器200可以识别已经接收到用户输入的用户的地点或当前位置,并且可以将与所识别的用户位置的距离在先前设置范围内的外部设备识别为接收用户输入的外部设备。根据本公开的各种实施例,可以从连接到智能服务器200的各种外部设备(例如,图1的第一外部设备600)收集用户的位置。
根据本公开的各种实施例,智能服务器200可以基于外部设备的特征来识别接收包括与附加参数有关的信息的用户输入的外部设备。智能服务器200可以接收用于请求附加用户输入的第二数据并分析第二数据。
根据本公开的各种实施例,智能服务器200可以基于第二数据的分析结果通过考虑参数的特征(例如,要显示的信息量)来识别外部设备是否可以执行附加参数的接收。例如,智能服务器200可以基于参数特征的分析结果来识别需要以选择照片的方式接收附加参数。智能服务器200可以将包括显示器的外部设备识别为接收包括与附加参数有关的信息的用户输入的外部设备。
又例如,当智能服务器200以选择照片的方式接收附加参数时,智能服务器200可以识别要选择的照片的数量。智能服务器200可以通过考虑照片的数量或外部设备的特征(例如,显示器的尺寸或分辨率)来识别接收包括与附加参数有关的信息的用户输入的外部设备。
根据本公开的各种实施例,智能服务器200可以基于外部设备的优先级来识别接收包括与附加参数有关的信息的用户输入的外部设备。优先级可以由用户设置,或者智能服务器200可以基于用户的使用模式的分析结果来设置优先级。智能服务器200可以将具有高优先级的外部设备识别为接收包括与附加参数有关的信息的用户输入的外部设备。根据本公开的各种实施例,智能服务器200可以向已经接收到用户的语音输入的外部设备分配比其他外部设备更高的优先级。在图11A和图11B所示的实施例中,智能服务器200可以向第一外部设备600分配比其他外部设备更高的优先级,这是因为第一外部设备600已经接收到用户的语音输入。
根据本公开的各种实施例,智能服务器200可以向属于用户注册的外部设备并且用户经常使用的外部设备分配比其他外部设备更高的优先级。根据本公开的各种实施例,智能服务器200可以向被预测为位于用户附近距离内的外部设备分配比其他外部设备更高的优先级。例如,与其他外部设备相比,可以向可穿戴外部设备(例如,可穿戴设备)分配更高的优先级。
根据本公开的各种实施例,智能服务器200可以基于用户模式的分析结果来识别接收包括与附加参数有关的信息的用户输入的外部设备。智能服务器200可以分析用户终端100收集的用户的行为模式(例如,在给定时间在客厅中观看电视的用户的行为模式或用户的睡眠模式),并且可以基于分析结果将给定的外部设备识别为接收包括与附加参数有关的信息的用户输入的外部设备。
在操作1115处,根据实施例的智能服务器200可以向所识别的外部设备(例如,第一外部设备600)发送指示需要附加用户输入来完成任务的第二信息。
根据本公开的各种实施例,第二信息可以包括与执行任务所需的参数有关的信息(例如,可以通过用户输入选择的应用列表或者可以通过用户输入选择的联系人信息列表)或者与用于附加用户输入的用户界面的配置有关的信息。根据本公开的各种实施例,可以基于第二数据生成第二信息。第二信息可以包括用于基于第二数据来生成要由第一外部设备600输出的用户界面的数据。
根据本公开的各种实施例,电子设备200可以基于第一外部设备600的特征不同地生成用于附加用户输入的用户界面。例如,如果外部设备600不包括显示器,则电子设备200可以生成与包括除视觉元素之外的元素的附加用户输入相关的用户接口。例如,如果外部设备600包括显示器但不包括扬声器,则电子设备200可以生成用于包括除声学元素之外的元素(例如,视觉元素)的附加用户输入的用户接口。
在操作1117处,根据实施例的外部设备600可以基于接收到的第二数据来输出用于用户的附加输入的用户界面(例如,要求用户的附加选择的UI屏幕或要求用户的附加语音的语音输出),并且可以接收附加用户输入。
根据本公开的各种实施例,可以在第一外部设备600和智能服务器200中的任何一个中生成用于用户的附加输入的用户界面。根据本公开的另一实施例,还可以在云服务器500中生成用于用户的附加输入的用户界面。
根据本公开的各种实施例,第一外部设备600可以使用UI管理器模块(例如,图10的UI管理器模块620)生成用于用户的附加输入的用户界面。
根据本公开的各种实施例,第一外部设备600可以使用控制信号管理器模块(例如,图10的控制信号管理器模块630)来处理用户的附加输入(例如,语音命令)。
在操作1119处,根据实施例的第一外部设备600可以向智能服务器发送与附加用户输入有关的第三数据。根据本公开的各种实施例,第三数据可以基于用户的输入被不同地配置。例如,如果第一外部设备600使用麦克风接收用户的语音输入,则第三数据可以以与用户输入相对应的语音PCM数据形式配置。又例如,如果第一外部设备600使用第一外部设备的显示器接收用户的输入,则第三数据可以以与用户输入相对应的文本数据形式配置。
在操作1121处,根据实施例的智能服务器200可以基于第三数据再次配置用户终端的状态的序列(路径规则)。由于因用户的附加用户输入而添加了参数,因此智能服务器200可以使用所添加的参数并再次使用现有参数来配置路径规则。
在操作1123处,根据实施例的智能服务器200可以向用户终端100发送与用户终端的状态序列有关的第三信息。根据本公开的各种实施例,第三信息可以以由附加用户输入添加的参数已被添加到第一信息的形式来实现。
在操作1125处,根据实施例的用户终端100可以使用包括在第三信息中的用户终端的状态序列来执行任务。根据本公开的各种实施例,用户终端100可以将在操作1103处生成的用户终端的状态序列与在操作1125处生成的用户终端的状态序列进行比较,可以省略对冗余状态的执行,并且可以从非冗余状态再次执行任务。根据本公开的另一实施例,用户终端100可以终止使用在操作1105处生成的用户终端的状态序列执行的任务,并且可以使用在操作1125处生成的用户终端的状态序列再次执行任务。
在操作1127处,根据实施例的用户终端100可以向智能服务器200发送指示任务的执行已经完成的信息。
在操作1129处,根据实施例的智能服务器200可以向第一外部设备600发送指示任务的执行完成的信息。根据本公开的各种实施例,第一外部设备600可以使用包括在第一外部设备600中的各种用户界面(例如,扬声器或显示器)来输出指示执行完成的信息。
根据本公开的各种实施例,集成智能系统还可以包括云服务器500。如果集成智能系统另外包括云服务器500,则云服务器500可以执行各种操作,这些操作属于由智能服务器200执行的操作并且包括识别将接收附加用户输入的外部设备的操作以及生成用于附加用户输入的用户界面的操作。在这种情况下,智能服务器200可以在协同各种电子设备(例如,连接到智能服务器200的用户终端100和云服务器500)进行操作的同时执行发送/接收数据的操作。识别将接收附加用户输入的外部设备的操作和生成用于附加用户输入的用户界面的操作可以由云服务器500而不是智能服务器200来执行。
图12A和图12B是示出了根据本公开的各种实施例的集成智能系统中接收和处理用户输入的实施例(图12A)和当需要附加用户输入时执行的实施例(图12B)的流程图。
可以在第一外部设备(例如,图1的外部设备600)、智能服务器(例如,图1的智能服务器200)、用户终端(例如,图1的用户终端100)、云服务器(例如,图1的云服务器500)和第二外部设备700之间执行图12A和图12B所示的实施例。
根据本公开的各种实施例,云服务器500可以存储与连接到云服务器500的第一外部设备600和第二外部设备700有关的信息。连接到云服务器500的各种外部设备可以指代例如已经完成用户认证的外部设备。
在操作1201处,根据实施例的第一外部设备600可以接收用户输入。根据本公开的各种实施例,第一外部设备600可以在已经执行能够处理用户输入的应用(例如,语音命令处理应用)的状态下接收用户输入。可以基于第一外部设备600支持的用户界面,以各种方式支持用户输入。例如,包括麦克风的第一外部设备600可以接收包括用户的语音数据的用户输入。用户的语音数据可以指代例如请求控制能够由用户终端100执行的各种功能的操作的语音。例如,用户输入可以指代例如请求以下操作的语音:向用户终端100中存储的联系人信息中包括的给定联系人信息(例如,妈妈)发送包括给定内容(例如,“说我今天迟到了”)的消息。又例如,用户输入可以指代例如请求执行存储在用户终端100中的各种应用之一的操作的语音。另外,用户输入可以指代例如包括以下请求的语音:请求执行控制能够在用户终端100中执行的各种功能的任务。
根据本公开的各种实施例,第一外部设备600或第二外部设备700可以在接收用户输入之前执行用户认证之后接收用户输入。可以以各种方式执行用户认证。例如,第一外部设备600可以接收用户的生物信息(例如,指纹、虹膜、面部特征或语音),并且可以基于接收到的生物信息和所存储的用户生物信息之间的比较结果来执行对用户输入的接收。
根据本公开的各种实施例,在用户认证之后,可以允许第一外部设备600或第二外部设备700访问内部安全区域。第一外部设备600或第二外部设备700可以使用存储在内部安全区域中的令牌来执行与智能服务器200的通信。
根据本公开的各种实施例,如果使用第一外部设备600或第二外部设备700的用户有多个,则第一外部设备600或第二外部设备700可以分析用户的语音(基于频率或语音模式)并基于分析的结果对用户进行划分。
根据本公开的各种实施例,第一外部设备600或第二外部设备700识别用户终端100的位置。作为识别的结果,如果用户终端100的位置是先前注册的位置(例如,如果用户终端100位于可靠设备附近),则第一外部设备600或第二外部设备700不执行用户认证,并且可以执行各种操作,例如用户输入接收。
在操作1203处,根据实施例的第一外部设备600可以向智能服务器200发送与用户输入有关的第一数据。根据本公开的各种实施例,第一数据可以包括与用户输入相对应的数据以及与第一外部设备600的用户接口有关的信息。与第一外部设备600的用户接口有关的信息可以指代例如第一外部设备600中包括的各种用户界面的类型或信息。例如,如果第一外部设备600包括显示器,则可以在第一数据中包括与各种用户接口有关的信息,例如显示器是否可以支持触摸输入或显示器的分辨率。又例如,与第一外部设备600是否包括扬声器有关的信息也可以包括在第一数据中。
根据本公开的各种实施例,如果用户输入包括语音数据,则智能服务器200可以使用ASR模块(例如,图4的ASR模块210)将语音数据转换为文本数据。智能服务器200可以使用NLU模块(例如,图4的NLU模块220)从文本数据获得用户的意图和参数。
在操作1205处,根据实施例的智能服务器200可以使用用户的意图和参数来生成用户终端100的状态序列(例如,路径规则)。用户终端100的状态序列可以指代例如用于执行任务的若干状态的序列。例如,为了执行使用短消息服务应用(例如,图5的第一app)向给定用户发送给定消息的任务,可以顺序地执行三个状态,其中首先执行短消息服务应用(例如,图5的A)、选择给定用户(例如,图5的B)、然后输入(例如,图5的C)并发送消息。根据本公开的各种实施例的智能服务器200可以生成用户终端100的状态序列。
在操作1207处,根据实施例的智能服务器200可以向用户终端100发送与状态序列有关的第一信息。
在操作1209处,根据实施例的用户终端100可以使用第一信息来执行任务。根据本公开的各种实施例的用户终端100可以使用包括在第一信息中的用户终端100的状态序列来执行与第一信息相对应的任务。
在操作1211处,根据实施例的用户终端100可以识别在执行任务时是否需要附加参数。根据本公开的各种实施例,可以定义执行任务时的用于执行任务的基本参数。例如,为了执行发送文本消息的任务,诸如指示消息接收者的参数、包括消息内容的参数或指示要执行的应用的参数之类的基本参数可以是必要的。在各种情况下,例如用户输入中不存在基本参数或基本参数模糊不清,用户终端100可以识别是否需要附加参数。
如果需要附加参数,则在操作1213处,用户终端100可以向智能服务器200发送指示需要附加用户输入的第二数据。根据本公开的各种实施例,第二数据可以包括指示用户终端100符合部分着陆的数据或与附加参数有关的信息。
在操作1215处,智能服务器200可以向云服务器500发送指示需要附加用户输入的基于第二数据的第二信息。
根据本公开的各种实施例,云服务器500可以基于第二信息识别是否可以在第一外部设备600中执行附加用户输入。例如,如果要向用户显示的信息量很大(例如,需要在图库中显示许多照片的情况),则第一外部设备600的显示器可能不适于显示大量信息。云服务器500可以识别应该在与第一外部设备600不同的外部设备中执行附加用户输入。
在操作1217处,根据实施例的云服务器500可以基于由智能服务器200发送的第二信息来识别用于输入附加参数的外部设备。
根据本公开的各种实施例,云服务器500可以使用PL管理器模块(例如,图9的PL管理器模块520)来识别将执行接收附加参数的操作(例如,接收包括与附加参数有关的信息的用户输入的操作)的外部设备。根据本公开的各种实施例,与附加参数有关的信息可以包括用户可以选择的应用的列表、用于选择进行通信的用户的联系人信息、或者与用户可以选择的文件有关的信息(例如,元数据)。
根据本公开的各种实施例,云服务器500可以基于包括在用户输入中的用户语音的意图来识别接收用户输入的外部设备,所述用户输入包括与附加参数有关的信息。如果在用户输入期间明确地选择了需要执行操作的外部设备(或者如果可以识别该外部设备),则智能服务器200可以将所选择的外部设备识别为将执行接收附加参数的操作的外部设备。例如,当用户执行用户输入“通过电视向我展示照片”时,可以选择电视来执行显示照片的操作。在这种情况下,云服务器500可以识别电视,使得电视执行接收附加参数的操作(例如,显示用于接收待显示的照片的屏幕的操作)。
根据本公开的各种实施例,云服务器500可以基于用户的位置来识别接收包括与附加参数有关的信息的用户输入的外部设备。云服务器500可以识别已经接收到用户输入的用户的地点或当前位置,并且可以将在自所识别的用户位置的先前设置范围内的外部设备识别为接收用户输入的外部设备。根据本公开的各种实施例,可以从连接到云服务器500的各种外部设备(例如,图1的第一外部设备600)收集用户的位置。
根据本公开的各种实施例,云服务器500可以基于外部设备的特征来识别接收包括与附加参数有关的信息的用户输入的外部设备。云服务器500可以接收用于请求附加用户输入的第二数据并分析第二数据。
云服务器500可以基于第二数据的分析结果通过考虑参数的特征(例如,要显示的信息量)来识别外部设备是否可以执行附加参数的接收。例如,云服务器500可以基于参数特征的分析结果来识别需要以选择照片的方式接收附加参数。云服务器500可以将包括显示器的外部设备识别为接收包括与附加参数有关的信息的用户输入的外部设备。
又例如,当云服务器500以选择照片的方式接收附加参数时,智能服务器200可以识别要选择的照片的数量。云服务器500可以通过考虑照片的数量或外部设备的特征(例如,显示器的尺寸或分辨率)来识别接收包括与附加参数有关的信息的用户输入的外部设备。
根据本公开的各种实施例,云服务器500可以基于外部设备的优先级来识别接收包括与附加参数有关的信息的用户输入的外部设备。优先级可以由用户设置,或者云服务器500可以基于用户的使用模式的分析结果来设置优先级。云服务器500可以将具有高优先级的外部设备识别为接收包括与附加参数有关的信息的用户输入的外部设备。根据本公开的各种实施例,云服务器500可以向已经接收到用户的语音输入的外部设备分配比其他外部设备更高的优先级。在图11A和图11B所示的实施例中,云服务器500可以向第一外部设备600分配比其他外部设备更高的优先级,这是因为第一外部设备600已经接收到用户的语音输入。
根据本公开的各种实施例,云服务器500可以向属于用户注册的外部设备并且用户经常使用的外部设备分配比其他外部设备更高的优先级。根据本公开的各种实施例,云服务器500可以向被预测为位于用户附近距离内的外部设备分配比其他外部设备更高的优先级。例如,与其他外部设备相比,可以向可穿戴外部设备(例如,可穿戴设备)分配更高的优先级。
根据本公开的各种实施例,云服务器500可以基于用户模式的分析结果来识别接收包括与附加参数有关的信息的用户输入的外部设备。云服务器500可以分析用户终端100收集的用户的行为模式(例如,在给定时间在客厅中观看电视的用户的行为模式或用户的睡眠模式),并且可以基于分析结果将给定的外部设备识别为接收包括与附加参数有关的信息的用户输入的外部设备。
根据本公开的各种实施例,云服务器500可以不同地配置将向其输出用于接收用户的附加输入的用户界面的外部设备和接收用户的附加输入的外部设备。根据本公开的各种实施例,云服务器500可以将第二外部设备700识别为将向其输出用于接收用户的附加输入的用户界面的外部设备。此外,云服务器500可以将第一外部设备100识别为接收用户的附加输入的外部设备。例如,云服务器500可以将包括显示器的第二外部设备700识别为输出用于接收用户的附加输入的GUI的外部设备。云服务器500可以将包括麦克风的第一外部设备100识别为接收用户的附加语音以便使用用户的语音来接收附加输入的外部设备。图12A和图12B示出了第二外部设备700被识别为将向其输出用于接收用户的附加输入的用户界面的设备和接收用户的附加输入的外部设备的实施例,但是本公开不限于此。可以不同地配置将向其输出用于接收用户的附加输入的用户界面的设备以及接收用户的附加输入的外部设备。
在操作1219处,根据实施例的云服务器500可以向所识别的外部设备(例如,第二外部设备700)发送指示需要附加用户输入来完成任务的第二信息。
根据本公开的各种实施例,第二信息可以包括执行任务所需的与附加参数有关的信息(例如,可以通过用户输入选择的应用列表或者可以通过用户输入选择的联系人信息列表)或者与用于附加用户输入的用户界面的配置有关的信息。根据本公开的各种实施例,可以基于第二数据生成第二信息。第二信息可以包括用于基于第二数据生成要由第二外部设备700输出的用户界面的数据。
根据本公开的各种实施例,云服务器500可以基于第二外部设备700的特征不同地生成用于附加用户输入的用户界面。例如,如果第二外部设备700不包括显示器,则云服务器500可以生成与包括除视觉元素之外的元素的附加用户输入相关的用户界面。例如,如果第二外部设备700包括显示器但不包括扬声器,则云服务器500可以生成用于包括除声学元素之外的元素(例如,视觉元素)在内的附加用户输入的用户界面。
在操作1221处,根据实施例的第二外部设备700可以基于接收到的第二数据来输出用于用户的附加输入的用户界面(例如,需要用户的附加选择的UI屏幕或需要用户的附加语音的语音输出),并且可以接收附加用户输入。
根据本公开的各种实施例,可以在云服务器500和第二外部设备700中的任何一个中生成用于用户的附加输入的用户界面。
根据本公开的各种实施例,第二外部设备700可以使用UI管理器模块(例如,图10的UI管理器模块620)生成用于用户的附加输入的用户界面。
根据本公开的各种实施例,第二外部设备700可以使用控制信号管理器模块(例如,图10的控制信号管理器模块630)来处理用户的附加输入(例如,语音命令)。
在操作1223处,根据实施例的第二外部设备700可以向智能服务器200发送与附加用户输入有关的第三数据。根据本公开的各种实施例,可以基于用户的输入来不同地配置第三数据。例如,如果第二外部设备700使用麦克风接收用户的语音输入,则第三数据可以以与用户输入相对应的语音PCM数据形式配置。又例如,如果第二外部设备700使用第一外部设备的显示器接收用户的输入,则第三数据可以以与用户输入相对应的文本数据形式配置。
在操作1225处,根据实施例的智能服务器200可以基于第三数据再次配置用户终端的状态的序列(路径规则)。根据本公开的各种实施例,由于因用户的附加用户输入而添加了参数,因此智能服务器200可以使用所添加的参数并再次使用现有参数来配置路径规则。
在操作1227处,根据实施例的智能服务器200可以向用户终端100发送与用户终端的状态序列有关的第三信息。
在操作1229处,根据实施例的用户终端100可以使用包括在第三信息中的用户终端的状态序列来执行任务。根据本公开的各种实施例,用户终端100可以将在操作1203处生成的用户终端的状态序列与在操作1225处生成的用户终端的状态序列进行比较,可以省略对冗余状态的执行,并且可以从非冗余状态再次执行任务。根据本公开的另一实施例,用户终端100可以终止使用在操作1205处生成的用户终端的状态序列执行的任务,并且可以使用在操作1225处生成的用户终端的状态序列再次执行任务。
图13、图14、图15、图16、图17和图18是示出了在根据本公开的各种实施例的电子设备中使用外部设备执行附加用户输入的实施例的图;
根据本公开的各种实施例,智能服务器200可以基于由用户终端100发送的第二数据向第一外部设备600发送与部分着陆有关的信息。第一外部设备600可以输出用于接收附加参数的用户界面。
图13示出了在处理用于照片发送的用户输入时由于省略了一些参数(例如,省略了用于选择要发送的应用的参数)而发生部分着陆的实施例。参考图13,第一外部设备1300可以显示将执行照片发送的应用的列表1310。根据本公开的各种实施例,第二外部设备700可以包括麦克风710或指纹输入单元(例如,包括指纹输入电路)720。
根据本公开的各种实施例,第二外部设备700可以接收用于控制第一外部设备1300的用户输入。例如,第二外部设备700可以使用对第二外部设备700的操纵来接收用于选择应用列表1310中包括的应用中的一个应用1320的用户输入。第一外部设备1300可以响应于用户的操纵输入向智能服务器200或云服务器500发送操纵信号(或所选择的应用信息)。
根据另一实施例,第二外部设备700可以通过语音输入接收用于选择应用列表1310中包括的应用之一的用户输入。
图14示出了在处理用于照片发送的用户输入时由于省略了一些参数(例如,省略了用于选择要发送的照片的参数)而发生部分着陆的实施例。参考图14,第一外部设备1400可以显示要发送的照片列表1410。
根据本公开的各种实施例,照片列表1410可以包括从用户终端100发送到智能服务器200的第二数据。
第二外部设备700(例如,图12A的第二外部设备700)可以包括各种输入/输出装置,以便接收附加参数。例如,第二外部设备700可以接收用户的语音输入,这是因为它包括麦克风710。接收到的语音输入可以用于接收附加参数。又例如,第二外部设备700可以在显示器(未示出)上接收用户输入,这是因为它包括显示器。接收到的用户输入可以用于接收附加参数。
根据本公开的各种实施例,第二外部设备700可以接收用户输入的用户的生物信息。为了接收用户的生物信息,第二外部设备700可以包括指纹输入单元720。可以将各种输入方法(例如,光学类型、电学类型或基于超声波的指纹识别等)应用于指纹输入单元720。第二外部设备700可以控制指纹输入单元720以便注册用户的指纹。第二外部设备700可以注册用户的指纹,并且可以通过向智能服务器(例如,图1的智能服务器200)或云服务器(例如,图1的云服务器500)发送所注册的用户指纹来执行用户认证。第二外部设备700可以在协同智能服务器200或云服务器500进行操作的同时完成用户认证并执行各种任务。
根据本公开的各种实施例,第二外部设备700可以从智能服务器200接收可访问令牌。第二外部设备700可以连接可访问令牌和存储在存储器中的用户指纹。
根据本公开的各种实施例,第二外部设备700可以接收用户的指纹并执行将接收到的用户指纹与所注册的用户指纹进行比较的任务。作为比较的结果,如果接收到的用户指纹和所注册的用户指纹基本相同,则第二外部设备700可以向智能服务器200发送连接到所注册的用户指纹的令牌,以便可以执行与用户输入(例如,语音输入)相关的功能。
根据本公开的各种实施例,第二外部设备700可以接收多个用户中的每个用户的指纹并且注册多个用户的指纹。第二外部设备700可以接收用户指纹,并且可以识别属于该多个用户并且与接收到的用户指纹相对应的用户。第二外部设备700可以提供适于所识别的用户的各种功能。
根据本公开的各种实施例,第二外部设备700可以接收用户输入,该用户输入包括对能够控制第一外部设备1400的第二外部设备(例如,图12A的第二外部设备700)的操纵。例如,第二外部设备700可以使用对第二外部设备700的操纵来接收用于选择照片列表1410中包括的照片中的一张照片1420的用户输入。第一外部设备1400可以响应于用户的操纵输入向智能服务器200或云服务器500发送操纵信号(或所选择的照片信息)。
根据本公开的实施例,可能难以执行用于通过语音来选择照片的附加用户输入(例如,使用语音来选择多个照片可能是困难的)。在这种情况下,可以使用第一外部设备1400或第二外部设备700的显示器,通过触摸输入或通过对外部设备700的按钮操纵来接收用于选择照片的用户输入。
根据本公开的另一实施例,可以使用麦克风(例如,图14的麦克风710)以语音执行用于选择照片的附加用户输入。如果通过语音输入照片的选择条件(例如,如果选择拍摄照片的时间和地点或者第一照片或第二照片),则第一外部设备1400可以向智能服务器200或云服务器500发送与用户输入(包括语音数据)相关的第三数据。智能服务器200或云服务器500可以使用接收到的第三数据来生成与新终端的状态序列有关的信息。
根据本公开的各种实施例,附加用户输入的对象不限于第一外部设备1400或第二外部设备700,并且可以通过第一外部设备1400或第二外部设备700的各种用户界面(例如,显示器、麦克风或按钮)来接收附加用户输入。
根据本公开的各种实施例,如果第二外部设备700协同云服务器500进行操作,则其可以向云服务器500发送与被输入到第二外部设备700的用户操纵相关的信号。云服务器500可以接收与用户操纵相关的信号,并且可以基于与用户操纵相关的信号来识别与附加用户输入相关的第三数据。
图15示出了在处理在线支付的用户输入时由于省略了一些参数(例如,省略了选择支付手段的参数)而发生部分着陆的实施例。从图15可见,支付手段的列表1510显示在第一外部设备1500的显示器上。
支付手段的列表和支付手段信息1510可以包括从用户终端100发送到智能服务器200的第二数据。智能服务器200可以基于通过分析第二数据识别的附加参数输入所需的信息量以及与外部设备1500的显示器的尺寸有关的信息中的至少一项来确定使用外部设备600中的第一外部设备1500执行附加用户输入。根据本公开的各种实施例,除了智能服务器200之外,云服务器500也可以通过考虑外部设备的特征或参数的特征来识别将执行附加用户输入的外部设备。
第二外部设备700(例如,图12A的第二外部设备700)可以包括各种输入/输出装置,以便接收附加参数。例如,第二外部设备700可以接收用户的语音输入,这是因为它包括麦克风710。接收到的语音输入可以用于接收附加参数。
根据本公开的各种实施例,第二外部设备700可以接收用户输入的用户的生物信息。第二外部设备700可以包括指纹输入单元720,以便接收用户的生物信息。可以将各种输入方法(例如,光学类型、电学类型或基于超声波的指纹识别)应用于指纹输入单元720。第二外部设备700可以控制指纹输入单元720以便注册用户的指纹。第二外部设备700可以注册用户的指纹,并且可以接收由智能服务器(例如,图1的智能服务器200)或云服务器(例如,图1的云服务器500)发布的令牌。当基于所注册的用户指纹完成用户注册时,第二外部设备700可以通过发送由智能服务器(例如,图1的智能服务器200)或云服务器(例如,图1的云服务器500)发布的令牌来执行用户认证。在用户认证完成之后,第二外部设备700可以在协同智能服务器200或云服务器500进行操作的同时执行各种任务。
根据本公开的各种实施例,第二外部设备700可以从智能服务器200接收可访问令牌。第二外部设备700可以连接可访问令牌和存储在存储器中的用户指纹。
根据本公开的各种实施例,第二外部设备700可以接收用户的指纹并执行将接收到的用户指纹与所注册的用户指纹进行比较的任务。作为比较的结果,如果接收到的用户指纹和所注册的用户指纹基本相同,则第二外部设备700可以向智能服务器200发送被连接到所注册的用户指纹的令牌,以便可以执行与用户输入(例如,语音输入)相关的功能。
根据本公开的各种实施例,第二外部设备700可以接收多个用户中的每个用户的指纹并且注册多个用户的指纹。第二外部设备700可以接收用户指纹,并且可以识别属于该多个用户并且与接收到的用户指纹相对应的用户。第二外部设备700可以提供适于所识别的用户的各种功能。
根据本公开的各种实施例,第二外部设备700可以接收使用控制第一外部设备1500的第二外部设备(例如,图12A的第二外部设备700)来选择支付手段1520的用户输入。用户终端100可以使用用户输入来执行支付。例如,第二外部设备700可以接收使用包括在第二外部设备700中的键区来输入执行支付所需的密码的用户输入。又例如,第二外部设备700可以使用包括在第二外部设备700中的生物信息获取装置(例如,指纹传感器720)来接收执行支付所需的生物信息。备选地,第二外部设备700可以接收用户的语音输入。第二外部设备700可以使用用户的语音输入来执行用于支付的用户认证。
根据本公开的各种实施例,第二外部设备700可以以各种形式实现。如图13、图14和图15所示,第二外部设备700可以以遥控器的形式实现,但不限于此。第二外部设备可以以各种形式实现,例如圆柱形式(例如,GoogleTM的HomeTM、AmazonTM的EcoTM、KTTM的GIGAGenie、SKTTM的NUGU、KaKaoTM的KaKao Mini或NaverTM的Wave)。
参考图16,智能服务器(例如,图1的智能服务器200)可以基于通过分析第二数据识别的附加参数输入所需的信息量、与外部设备(例如,图1的外部设备600)的显示器的尺寸有关的信息和外部设备的优先级中的至少一项来确定使用外部设备中的可穿戴设备1600执行附加用户输入。
根据本公开的各种实施例,智能服务器200可以通过考虑外部设备的优先级来识别将接收用于附加参数输入的附加用户输入的外部设备。例如,如果用户经常穿戴可穿戴设备1600,则可穿戴设备1600可以具有比其他外部设备更高的优先级。智能服务器200可以识别将接收附加用户输入的外部设备作为具有比其他外部设备更高的优先级的可穿戴设备1600。
根据本公开的各种实施例,可穿戴设备1600可以接收通过用户在可穿戴设备1600上的显示器上显示的UI屏幕1610上的触摸进行的附加用户输入,但是可以接收通过用户的语音输入1620进行的附加用户输入。
参考图17,智能服务器(例如,图1的智能服务器200)或云服务器(例如,图1的云服务器500)可以基于通过分析第二数据识别的附加参数输入所需的信息量和用户的当前位置(例如,识别出用户在厨房烹饪)来确定使用厨房中的冰箱1700执行附加用户输入。
冰箱1700可以接收通过向冰箱1700的显示器上显示的UI屏幕1710的触摸输入进行的附加用户输入。冰箱1700可以向云服务器500或智能服务器200发送附加用户输入。
参考图18,智能服务器(例如,图1的智能服务器200)或云服务器(例如,图1的云服务器500)可以基于通过分析第二数据识别的附加参数输入所需的信息量和用户的模式(例如,在给定时间(例如,上班时间或下班时间)驾驶的用户的模式)来确定使用车辆内的显示器1810执行附加用户输入。
根据本公开的各种实施例,智能服务器200或云服务器500可以接收通过用户对车辆内的显示器1810上显示的UI屏幕的触摸输入进行的附加用户输入。
根据本公开的各种示例实施例的系统包括:网络接口,包括网络接口电路;至少一个处理器,操作地连接到网络接口;以及存储器,操作地连接到处理器。其中所述存储器可以存储指令,所述在由所述处理器执行时,使得所述系统的电子设备执行以下操作:通过网络接口从包括麦克风的第一外部设备接收与输入相关的第一数据,所述输入包括使用第二外部设备执行任务的请求,并且是通过所述麦克风获得的,并且包括与第一外部设备的用户接口有关的信息,基于第一数据中的至少一些数据来识别用于执行所述任务的第二外部设备的状态序列;通过所述网络接口向第二外部设备发送与第二外部设备的所述状态序列有关的第一信息,通过所述网络接口从第二外部设备接收指示需要附加输入来完成所述任务的第二数据,以及基于第二数据中的至少一些数据向第一外部设备发送第二信息。
在根据本公开的各种示例实施例的系统中,第一外部设备的所述用户接口包括扬声器,但是不包括显示器。第二信息可以包括通过所述扬声器输出的文本。
在根据本公开的各种示例实施例的系统中,所述文本可以包括语音合成标记语言(SSML)。
在根据本公开的各种示例实施例的系统中,所述指令在由所述处理器执行时,使得所述系统的电子设备基于第二数据中的至少一些数据通过所述网络接口向包括显示器的第三外部设备发送第三信息。第三信息可以包括要在所述显示器上显示的图像和文本中的至少一种。
在根据本公开的各种示例实施例的系统中,第一外部设备的所述用户界面可以包括显示器。第二信息可以包括要在所述显示器上显示的图像和文本中的至少一种。
在根据本公开的各种示例实施例的系统中,所述指令在由所述处理器执行时,可以使得所述系统的电子设备接收与第一外部设备的特征相关的数据并且基于第一外部设备的特征识别第二数据将被输出到的设备。
在根据本公开的各种示例实施例的系统中,所述指令在由所述处理器执行时,可以使得所述系统的电子设备基于第一外部设备的特征生成用于接收用于完成所述任务的所述附加用户输入的用户界面。
在根据本公开的各种示例实施例的系统中,所述指令在由所述处理器执行时,可以使得所述系统的电子设备向第一外部设备发送所生成的用户界面。
在根据本公开的各种示例实施例的系统中,所述指令在由所述处理器执行时,可以使得所述系统的电子设备从第一外部设备接收用户位置并且基于所述用户位置识别要向其输出第二数据的外部设备。
在根据本公开的各种示例实施例的系统中,所述指令在由所述处理器执行时,可以使得所述系统的电子设备分析包括在第一数据中的所述用户输入并且基于所述输入的分析结果来识别是否需要所述附加用户输入以用于完成所述任务。
在根据本公开的各种示例实施例的系统中,所述指令在由所述处理器执行时,可以使得所述系统的电子设备接收与所述附加用户输入相关的第三数据,基于第一数据和第三数据来识别用于执行所述任务的第二外部设备的所述状态序列,并向第二外部设备发送与第二外部设备的所识别的状态序列相关的第四信息。
根据本公开的各种示例实施例的电子设备包括:网络接口,包括网络接口电路;麦克风;扬声器;至少一个处理器,操作地连接到所述网络接、所述麦克风和所述扬声器;以及存储器,操作地连接到所述处理器。其中所述存储器存储指令,所述指令在由所述处理器执行时,使所述电子设备执行以下操作:通过所述麦克风接收第一输入,第一输入包括使用外部设备执行任务的请求,通过所述网络接口向外部服务器发送第一信息,第一信息与第一输入相关并且包括与第一外部设备的用户接口有关的信息,通过所述网络接口从所述外部服务器接收指示需要附加输入来完成所述任务的第二数据,基于第二数据中的至少一些数据通过所述扬声器来提供语音,通过所述麦克风来接收包括用于完成所述任务的所述附加输入的第二输入,以及通过所述网络接口向所述外部服务器发送与第二输入相关的第三数据。
根据本公开的各种示例实施例的电子设备包括:网络接口,包括网络接口电路;麦克风;扬声器;显示器;处理器,操作地连接到所述网络接口、所述麦克风、所述扬声器和所述显示器;以及存储器,操作地连接到所述处理器。其中所述存储器存储指令,所述指令在由所述处理器执行时,使所述电子设备执行以下操作:通过所述麦克风接收第一输入,第一输入包括使用外部设备执行任务的请求,通过所述网络接口向外部服务器发送第一信息,第一信息与第一输入相关并且包括与第一外部设备的用户接口有关的信息,从所述外部服务器接收指示需要附加用户输入完成所述任务的第二数据,基于第二数据中的至少一些数据通过所述扬声器提供语音和/或通过所述显示器提供图形用户界面(GUI),通过所述麦克风或所述显示器来接收包括用于完成所述任务的所述附加输入第二输入,以及通过所述网络接口向所述外部服务器发送与第二输入相关的第三数据。
根据本公开的各种示例实施例的电子设备包括:网络接口,包括网络接口电路;麦克风;指纹传感器;扬声器;显示器;处理器,操作地连接到所述网络接口、所述麦克风、所述扬声器和所述显示器;以及存储器,操作地连接到所述处理器。其中所述存储器存储指令,所述指令在由所述处理器执行时,使所述电子设备执行以下操作:通过所述麦克风接收第一输入,第一输入包括使用外部设备执行任务的请求,通过所述网络接口向外部服务器发送第一信息,第一信息与第一输入相关并且包括与第一外部设备的用户接口有关的信息,从所述外部服务器接收指示需要附加输入来完成所述任务的第二数据,基于第二数据中的至少一些数据通过所述扬声器提供语音和/或通过所述显示器提供图形用户界面(GUI),通过所述指纹传感器接收生物信息,将接收到的生物信息与所注册的生物信息进行比较,当确定接收到的生物信息与所注册的生物信息基本相同时,通过所述麦克风或所述显示器来接收第二输入,第二输入包括用于完成所述任务的附加输入,以及使用与所注册的生物信息相对应的令牌通过所述网络接口向所述外部服务器发送与第二输入相关的第三数据。
图19是示出了根据本公开的另一实施例的电子设备操作方法的流程图。
在操作1910处,根据实施例的系统(例如,图1的智能服务器200)可以接收与用户输入相关的第一数据。
根据本公开的各种实施例,用户输入可以包括由第一外部设备(例如,图1的第一外部设备600)通过麦克风获得的用户的语音输入。
根据本公开的各种实施例,第一数据可以包括与第一外部设备600的用户接口有关的信息。与第一外部设备600的用户接口有关的信息可以指代例如与能够向用户输出信息的各种装置或者用户可以通过其执行输入的各种装置(例如,显示器、扬声器或麦克风)有关的信息。
在操作1920处,根据实施例的系统200可以识别用户终端(例如,图1的用户终端100)的状态序列(路径规则)。用户终端100的状态序列可以指代例如用于执行要在用户终端100中执行的任务的执行序列。
在操作1930处,根据实施例的系统200可以向用户终端100发送与用户终端100的状态序列有关的第一信息。用户终端100可以基于第一信息执行任务,并且可以在执行任务期间识别已被省略的执行任务所需的参数。如果参数不足,则用户终端100可以发送指示需要针对附加参数输入的用户输入的第二数据。
在操作1940处,根据实施例的系统(例如,图1的200)可以接收第二数据。在操作1950处,系统200可以向第一外部设备600发送与第二数据有关的第二信息。
图20是示出了根据本公开的另一实施例的电子设备操作方法的流程图。
在操作2010处,根据实施例的系统(例如,图1的智能服务器200)可以接收与用户输入相关的第一数据。
根据本公开的各种实施例,用户输入可以包括通过第一外部设备(例如,图1的第一外部设备600)的麦克风获得的用户的语音输入。
根据本公开的各种实施例,第一数据可以包括与第一外部设备600的用户接口有关的信息。与第一外部设备600的用户接口有关的信息可以指代例如与能够向用户输出信息的各种装置或者能够从用户接收信息的各种装置(例如,显示器、扬声器或麦克风)有关的信息。
在操作2020处,根据实施例的系统200可以识别用户终端(例如,图1的用户终端100)的状态序列(路径规则)。用户终端100的状态序列可以指代例如用于执行要在用户终端100中执行的任务的执行序列。
在操作2030处,根据实施例的系统200可以向用户终端100发送与用户终端的状态序列有关的第一信息。用户终端100可以基于第一信息来执行任务,并且可以在执行任务期间识别任务所需的已被省略的参数。如果参数不足,则用户终端100可以向系统200发送指示需要用于附加参数输入的用户输入的第二数据。
在操作2040处,根据实施例的系统200可以接收由用户终端100发送的第二数据。
在操作2050处,根据实施例的系统200可以识别将发送与接收到的第二数据有关的第二信息的外部设备。根据本公开的各种实施例,系统200可以基于通过分析第二数据识别的附加参数输入所需的信息量、与第一外部设备600有关的信息、与用户的位置有关的信息以及第一外部设备600的优先级中的至少一些来识别将发送第二信息的外部设备。
在操作2060处,根据实施例的系统200可以向所识别的外部设备600发送第二信息。根据本公开的各种实施例,第二信息可以包括与附加用户输入相关的用户界面或与附加参数有关的信息。
根据本公开的各种实施例,系统200可以基于第一外部设备600的特征不同地生成与附加用户输入相关的用户界面。例如,如果第一外部设备600不包括显示器,则系统200可以生成与包括除视觉元素之外的元素在内的附加用户输入相关的用户界面。例如,如果第一外部设备600包括显示器但不包括麦克风,则系统200可以生成与包括除声学元素之外的元素在内的附加用户输入相关的用户界面。
在操作2070处,根据实施例的系统200可以从第一外部设备600接收与附加用户输入相关的第三数据。
在操作2080处,根据实施例的系统200可以基于第三数据识别用户终端100的状态序列(路径规则)。
在操作2090处,根据实施例的系统200可以向用户终端100发送与所识别的序列相关的第三信息。用户终端100可以基于包括在第三信息中的所识别的序列来执行与用户输入相对应的任务。
根据本公开的各种示例实施例的电子设备操作方法可以包括以下操作:通过网络接口从包括麦克风的第一外部设备接收与输入相关的第一数据,所述输入包括使用第二外部设备执行任务的请求,并且是通过所述麦克风获得的,并且包括与第一外部设备的用户接口有关的信息,基于第一数据中的至少一些数据来识别用于执行所述任务的第二外部设备的状态序列,通过所述网络接口向第二外部设备发送与第二外部设备的所述状态序列有关的第一信息,通过所述网络接口从第二外部设备接收指示需要用于完成所述任务的附加输入的第二数据,以及基于第二数据中的至少一些数据向第一外部设备发送第二信息。
在根据本公开的各种示例实施例的电子设备操作方法中,第一外部设备的所述用户接口包括扬声器,但是不包括显示器。第二信息可以包括通过所述扬声器输出的文本。
根据本公开的各种示例实施例的操作所述电子设备的方法还包括以下操作:基于第二数据通过所述网络接口向包括显示器的第三外部设备发送第三信息。
第三信息可以包括要在所述显示器上显示的图像和文本中的至少一种。
根据本公开的各种示例实施例的电子设备操作方法还可以包括以下操作:接收与第一外部设备的特征相关的数据,以及基于第一外部设备的特征识别第二数据将被输出到的设备。
根据本公开的各种示例实施例的电子设备操作方法还可以包括以下操作:基于第一外部设备的特征生成用于接收用于完成所述任务的所述附加输入的用户界面。
根据本公开的各种示例实施例的操作所述电子设备的方法还可以包括以下操作:基于第一外部设备的用户的位置来识别第二数据将被输出到的外部设备。
根据本公开的各种示例实施例的电子设备操作方法还可以包括以下操作:接收与所述附加用户输入相关的第三数据,基于第一数据和第三数据来识别用于执行所述任务的第二外部设备的所述状态序列,以及向第二外部设备发送与第二外部设备的所识别的状态序列相关的第四信息。
在根据本公开的各种示例实施例的使用语音命令执行操作的电子设备和电子设备操作方法中,虽然已经接收到语音命令的电子设备和要基于语音命令控制的电子设备是不同的并且彼此远离,但是可以通过语音命令来控制电子设备。
在根据本公开的各种示例实施例的使用语音命令执行操作的电子设备和电子设备操作方法中,当需要附加参数输入时,可以通过考虑外部设备的特征和用户的位置来识别能够执行附加参数输入的外部设备。
在根据本公开的各种示例实施例的使用语音命令执行操作的电子设备和电子设备操作方法中,可以向用户提供针对处理语音命令的过程的各种反馈,这是因为在首先使用参数执行语音命令之后,还接收欠缺的参数并处理语音命令。
参考根据本公开的各种示例实施例的流程图、方法和计算机程序产品对上述方法进行了描述。应当理解,流程图的每个方框、以及流程图中的方框的组合可以通过计算机程序指令来实现。这些计算机程序指令可被提供给通用计算机、专用计算机和/或用于产生机器的其它可编程数据处理装置等的处理器,使得经由计算机或其它可编程数据处理装置的处理器执行的指令创建用于实现在流程图块中指定的功能的手段。这些计算机程序指令还可以存储在计算机可用存储器或计算机可读存储器中,其中计算机可用存储器或计算机可读存储器可以指引计算机或其它可编程数据处理装置以特定方式工作,使得存储在计算机可用或计算机可读存储器中的指令产生包括用于执行在一个或多个流程图块中规定的功能的指令手段在内的制品。计算机程序指令也可以被加载到计算机或其他可编程数据处理装置上,以使得要在计算机或其他可编程装置上执行的一系列操作产生计算机实现的处理,使得在计算机或其他可编程装置上执行的指令提供用于实现在流程图块中指定的功能的操作。
流程图的每个方框可以表示代码的一个模块、区段或部分,包括用于实现指定逻辑功能的一个或更多个可执行指令。还应当注意,在一些替代的实现方式中,框中标注的功能可以不按该次序进行。例如,连续示出的两个框实际上可能是基本同时执行的,或者所述框在某些时候会以相反的顺序执行,这取决于所涉及到的功能。
本公开的某些方面还可以体现为非暂时性计算机可读记录介质上的计算机可读代码。非暂时性计算机可读记录介质是能够存储随后可由计算机系统读取的数据的任何数据存储设备。非暂时性计算机可读记录介质的示例包括ROM、RAM、压缩盘ROM(CD-ROM)、磁带、软盘和光学数据存储设备。非暂时计算机可读记录介质也可以分布在联网的计算机系统上,使得按照分布式方式存储和执行计算机可读代码。此外,用于实现本公开的功能程序、代码和代码段能够容易地被本公开所属领域的编程技术人员解译。
本公开的实施例在一定程度上可以涉及输入数据的处理和输出数据的产生。输入数据的处理和输出数据的产生可以用硬件和/或与硬件组合的软件来实现。例如,可以在移动设备或者类似或相关电路中采用特定的电子组件,以实现与本公开的各种实施例相关联的功能。备选地,根据所存储的指令操作的一个或多个处理器可以实现与本公开的各种实施例相关联的功能。如果是这种情况,则这种指令可被存储在一个或多个非暂时性处理器可读介质上在本公开的范围内。处理器可读介质的示例包括ROM、RAM、CD-ROM、磁带、软盘和光学数据存储设备。处理器可读介质还可以分布在联网的计算机系统上,使得按照分布方式存储和执行指令。此外,用于实现本公开的功能计算机程序、指令和指令段能够容易地被本公开所属领域的编程技术人员解译。
本公开的各种实施例的方面可以通过硬件、固件来实现,和/或通过执行可以存储在诸如CD ROM、DVD、磁带、RAM、软盘、硬盘或磁光盘等记录介质中的软件或计算机代码或原本存储在远程记录介质或非暂时机器可读介质上并通过网络下载而存储在本地记录介质上的计算机代码来实现,使得本公开的方法可以使用通用计算机通过存储在记录介质上的这种软件来呈现,或通过专用处理器或可编程或专用硬件(例如,ASIC或FPGA等)来呈现。本领域技术人员应理解:计算机、处理器、微处理器控制器或可编程硬件包括存储组件,例如RAM、ROM、闪存等,其可以存储或接收软件或计算机代码,这些软件或计算机代码在被计算机、处理器或硬件访问和执行时实现本公开的方法。
尽管参考本公开各示例实施例示出并描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求及其等同物限定的本公开的精神和范围的前提下,可以在其中进行形式和细节上的各种改变。
Claims (15)
1.一种服务器系统,包括:
网络接口,包括网络接口电路;
至少一个处理器,操作地连接到所述网络接口;以及
存储器,操作地连接到所述处理器,
其中所述存储器存储指令,所述指令在由所述处理器执行时,使所述服务器系统的电子设备执行以下操作:
通过所述网络接口从包括麦克风的第一外部设备接收与输入相关的第一数据,所述输入包括使用第二外部设备执行任务的请求,并且是通过所述麦克风获得的,并且包括与第一外部设备的用户接口有关的信息,
基于第一数据中的至少一些数据来识别用于执行所述任务的第二外部设备的状态序列,
通过所述网络接口向第二外部设备发送与第二外部设备的所述状态序列有关的第一信息,
通过所述网络接口从第二外部设备接收指示需要附加输入来完成所述任务的第二数据,并且
基于第二数据中的至少一些数据向第一外部设备发送第二信息。
2.根据权利要求1所述的服务器系统,其中:
第一外部设备的所述用户接口包括扬声器,但不包括显示器,并且
第二信息包括要通过所述扬声器输出的文本。
3.根据权利要求2所述的服务器系统,其中所述文本包括语音合成标记语言(SSML)。
4.根据权利要求1所述的服务器系统,其中:
所述指令在由所述处理器执行时,使得所述服务器系统的电子设备基于第二数据中的至少一些数据通过所述网络接口向包括显示器的第三外部设备发送第三信息,并且
第三信息包括要在所述显示器上显示的图像和文本中的至少一种。
5.根据权利要求1所述的服务器系统,其中:
第一外部设备的所述用户接口包括显示器,并且
第二信息包括要在所述显示器上显示的图像和文本中的至少一种。
6.根据权利要求1所述的服务器系统,其中所述指令在由所述处理器执行时,使得所述服务器系统的电子设备接收与第一外部设备的特征相关的数据并且基于第一外部设备的特征识别第二数据将被输出到的设备。
7.根据权利要求6所述的服务器系统,其中所述指令在由所述处理器执行时,使得所述服务器系统的电子设备基于第一外部设备的特征生成用于接收用于完成所述任务的所述附加输入的用户界面。
8.根据权利要求7所述的服务器系统,其中所述指令在由所述处理器执行时,使得所述服务器系统的电子设备向第一外部设备发送所生成的用户界面。
9.根据权利要求6所述的服务器系统,其中所述指令在由所述处理器执行时,使得所述服务器系统的电子设备从第一外部设备接收位置并且基于所述位置识别第二数据将被输出到的外部设备。
10.根据权利要求1所述的服务器系统,其中所述指令在由所述处理器执行时,使得所述服务器系统的电子设备分析包括在第一数据中的所述输入并且基于所述输入的分析结果来识别是否需要所述附加输入以完成所述任务。
11.根据权利要求1所述的服务器系统,其中所述指令在由所述处理器执行时,使得所述服务器系统的电子设备接收与所述附加输入相关的第三数据,基于第一数据和第三数据来识别用于执行所述任务的第二外部设备的所述状态序列,并向第二外部设备发送与第二外部设备的所识别的状态序列相关的第四信息。
12.一种电子设备,包括:
网络接口,包括网络接口电路;
麦克风;
扬声器;
显示器;
处理器,操作地连接到所述网络接口、所述麦克风、所述扬声器和所述显示器;以及
存储器,操作地连接到所述处理器,
其中所述存储器存储指令,所述指令在由所述处理器执行时,使所述电子设备执行以下操作:
通过所述麦克风接收第一输入,第一输入包括使用外部设备执行任务的请求,
通过所述网络接口向外部服务器发送第一信息,第一信息与第一输入相关并且包括与所述电子设备的用户接口有关的信息,
从所述外部服务器接收指示需要附加输入来完成所述任务的第二数据,
基于第二数据中的至少一些数据通过所述扬声器提供语音和/或通过所述显示器提供图形用户界面(GUI),
通过所述麦克风和/或所述显示器来接收包括用于完成所述任务的所述附加输入的第二输入,以及
通过所述网络接口向所述外部服务器发送与第二输入相关的第三数据。
13.一种操作电子设备的方法,所述方法包括使所述电子设备执行以下操作:
通过网络接口从包括麦克风的第一外部设备接收与输入相关的第一数据,所述输入包括使用第二外部设备执行任务的请求,并且是通过所述麦克风获得的,并且包括与第一外部设备的用户接口有关的信息;
基于第一数据中的至少一些数据来识别用于执行所述任务的第二外部设备的状态序列;
通过所述网络接口向第二外部设备发送与第二外部设备的所述状态序列有关的第一信息;
通过所述网络接口从第二外部设备接收指示需要附加输入来完成所述任务的第二数据,并且
基于第二数据中的至少一些数据向第一外部设备发送第二信息。
14.根据权利要求13所述的方法,其中:
第一外部设备的所述用户接口包括扬声器,但不包括显示器,并且
第二信息包括要通过所述扬声器输出的文本。
15.根据权利要求13所述的方法,还包括:
基于第二数据,通过所述网络接口向包括显示器的第三外部设备发送第三信息,
其中第三信息包括要在所述显示器上显示的图像和文本中的至少一种。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0106226 | 2017-08-22 | ||
KR1020170106226A KR102396147B1 (ko) | 2017-08-22 | 2017-08-22 | 음성 명령을 이용한 동작을 수행하는 전자 장치 및 전자 장치의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109427332A CN109427332A (zh) | 2019-03-05 |
CN109427332B true CN109427332B (zh) | 2023-04-25 |
Family
ID=63524058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810957270.XA Active CN109427332B (zh) | 2017-08-22 | 2018-08-21 | 使用语音命令执行操作的电子设备及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10803870B2 (zh) |
EP (1) | EP3447765B1 (zh) |
KR (1) | KR102396147B1 (zh) |
CN (1) | CN109427332B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102426704B1 (ko) | 2017-08-28 | 2022-07-29 | 삼성전자주식회사 | 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치 |
US11348576B1 (en) * | 2017-12-06 | 2022-05-31 | Amazon Technologies, Inc. | Universal and user-specific command processing |
US20220399022A1 (en) * | 2021-06-09 | 2022-12-15 | Samsung Electronics Co., Ltd. | Electronic device and method for operating thereof |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8099289B2 (en) | 2008-02-13 | 2012-01-17 | Sensory, Inc. | Voice interface and search for electronic devices including bluetooth headsets and remote systems |
US9305548B2 (en) | 2008-05-27 | 2016-04-05 | Voicebox Technologies Corporation | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US8620709B2 (en) * | 2011-02-11 | 2013-12-31 | Avaya, Inc | Mobile activity manager |
US9159322B2 (en) * | 2011-10-18 | 2015-10-13 | GM Global Technology Operations LLC | Services identification and initiation for a speech-based interface to a mobile device |
CN104885406B (zh) * | 2012-12-18 | 2019-06-21 | 三星电子株式会社 | 用于在家庭网络系统中远程控制家庭设备的方法和设备 |
JP6360484B2 (ja) * | 2013-09-03 | 2018-07-18 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 音声対話制御方法 |
KR102110257B1 (ko) * | 2014-01-20 | 2020-05-14 | 삼성전자주식회사 | 전화번호를 이용하여 외부 기기를 제어하는 전자 기기 및 방법 |
WO2015108330A1 (en) * | 2014-01-20 | 2015-07-23 | Samsung Electronics Co., Ltd. | Electronic device for controlling an external device using a number and method thereof |
KR102377277B1 (ko) * | 2015-02-27 | 2022-03-23 | 삼성전자주식회사 | 전자 장치에서 커뮤니케이션 지원 방법 및 장치 |
KR101790204B1 (ko) * | 2015-07-14 | 2017-11-20 | 삼성전자주식회사 | 결제 서비스를 위한 카드 등록 방법 및 이를 구현하는 휴대 전자 장치 |
US10091545B1 (en) * | 2016-06-27 | 2018-10-02 | Amazon Technologies, Inc. | Methods and systems for detecting audio output of associated device |
US9972318B1 (en) * | 2016-09-21 | 2018-05-15 | Amazon Technologies, Inc. | Interpreting voice commands |
-
2017
- 2017-08-22 KR KR1020170106226A patent/KR102396147B1/ko active IP Right Grant
-
2018
- 2018-08-17 US US16/104,192 patent/US10803870B2/en active Active
- 2018-08-21 CN CN201810957270.XA patent/CN109427332B/zh active Active
- 2018-08-21 EP EP18190004.4A patent/EP3447765B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20190021088A (ko) | 2019-03-05 |
KR102396147B1 (ko) | 2022-05-10 |
US20190066689A1 (en) | 2019-02-28 |
CN109427332A (zh) | 2019-03-05 |
US10803870B2 (en) | 2020-10-13 |
EP3447765B1 (en) | 2021-12-01 |
EP3447765A1 (en) | 2019-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108121490B (zh) | 用于处理多模式输入的电子装置、方法和服务器 | |
US10818289B2 (en) | Method for operating speech recognition service and electronic device for supporting the same | |
US11670302B2 (en) | Voice processing method and electronic device supporting the same | |
CN110199350B (zh) | 用于感测语音结束的方法和实现该方法的电子设备 | |
KR102543693B1 (ko) | 전자 장치 및 그의 동작 방법 | |
CN108509119B (zh) | 用于功能执行的电子设备的操作方法和支持其的电子设备 | |
KR102414122B1 (ko) | 사용자 발화를 처리하는 전자 장치 및 그 동작 방법 | |
KR102309031B1 (ko) | 지능형 에이전트 관리 방법 및 장치 | |
EP3531416A1 (en) | System for processing user utterance and controlling method thereof | |
US20180143802A1 (en) | Method for processing various inputs, and electronic device and server for the same | |
US11150870B2 (en) | Method for providing natural language expression and electronic device supporting same | |
CN110462647B (zh) | 电子设备及执行电子设备的功能的方法 | |
US11765234B2 (en) | Electronic device, server and recording medium supporting task execution using external device | |
US11631406B2 (en) | Method for responding to user utterance and electronic device for supporting same | |
KR102472010B1 (ko) | 전자 장치 및 전자 장치의 기능 실행 방법 | |
CN109427332B (zh) | 使用语音命令执行操作的电子设备及其操作方法 | |
KR20180081922A (ko) | 전자 장치의 입력 음성에 대한 응답 방법 및 그 전자 장치 | |
US20200152181A1 (en) | Electronic device for processing user utterance | |
JP2019175453A (ja) | ユーザ音声入力の処理を含むシステム及びその動作方法並びに電子装置 | |
CN112567718A (zh) | 响应用户语音执行包括呼叫的任务的电子装置及操作方法 | |
KR20210001082A (ko) | 사용자 발화를 처리하는 전자 장치와 그 동작 방법 | |
KR101993368B1 (ko) | 멀티 모달 입력을 처리하는 전자 장치, 멀티 모달 입력을 처리하는 방법 및 멀티 모달 입력을 처리하는 서버 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |