CN110798506B - 执行命令的方法、装置及设备 - Google Patents
执行命令的方法、装置及设备 Download PDFInfo
- Publication number
- CN110798506B CN110798506B CN201910937857.9A CN201910937857A CN110798506B CN 110798506 B CN110798506 B CN 110798506B CN 201910937857 A CN201910937857 A CN 201910937857A CN 110798506 B CN110798506 B CN 110798506B
- Authority
- CN
- China
- Prior art keywords
- information
- slot
- terminal
- gui
- user command
- 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 142
- 230000004044 response Effects 0.000 claims description 88
- 238000004891 communication Methods 0.000 claims description 63
- 230000006854 communication Effects 0.000 claims description 63
- 230000015654 memory Effects 0.000 claims description 61
- 238000012545 processing Methods 0.000 claims description 42
- 230000003993 interaction Effects 0.000 claims description 34
- 238000003860 storage Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 18
- 230000002452 interceptive effect Effects 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims 1
- 238000003058 natural language processing Methods 0.000 abstract description 3
- 238000013473 artificial intelligence Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 17
- 238000007726 management method Methods 0.000 description 15
- 230000005236 sound signal Effects 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 11
- 210000000988 bone and bone Anatomy 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 9
- 230000002829 reductive effect Effects 0.000 description 8
- 230000001502 supplementing effect Effects 0.000 description 8
- 241000282414 Homo sapiens Species 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 239000013589 supplement Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000036961 partial effect Effects 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- JLGLQAWTXXGVEM-UHFFFAOYSA-N triethylene glycol monomethyl ether Chemical compound COCCOCCOCCO JLGLQAWTXXGVEM-UHFFFAOYSA-N 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- 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/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
-
- 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0489—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
- G06F3/04895—Guidance during keyboard input operation, e.g. prompting
-
- 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/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- 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
-
- 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/26—Speech to text systems
-
- 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/52—Network services specially adapted for the location of the user terminal
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例公开了一种执行命令的方法、装置、终端及服务器,涉及人工智能领域,具体涉及语音识别、自然语言处理等领域,该方法包括在终端与用户交互过程中,终端或用于执行用户命令的服务器可以存储槽位与其对应的GUI信息,用于执行用户命令的服务器在该用户命令被配置的槽位的填充信息缺失时,可以从存储的GUI信息中获取缺失的槽位的填充信息,避免了用户与终端的多次交互,更加智能,提高命令的执行效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种执行命令的方法、装置及设备。
背景技术
人机对话已经广泛应用于人们的日常生活,例如,聊天机器人、机器人客服、智能音响、语音助手等。机器与人类对话的实现主要包括三个步骤:(1)听懂,即利用语音识别技术,将用户输入的用户命令(如语音等)转换为文本;(2),理解,即将转换得到的文本进行意图识别,以理解用户命令的意图;(3),回答,即根据用户命令的意图,生成响应信息。通常,在基于用户输入的用户命令识别到的用户意图缺失关键信息时,机器不能准确地生成回答。
例如,在用户命令为“这个酒店距离虹桥机场有多远?”机器响应该用户命令需要知道“这个酒店”是指哪个酒店,现有技术中,机器会向用户发问“您要查询那家酒店与虹桥机场的距离?”,终端接收用户输入的信息,如“希尔顿酒店”,即为该槽位的填充信息。可见,机器需要与用户进行多次交互,才能获取用户命令中缺失的槽位的填充信息,执行用户命令,导致用户命令的响应耗时长。
发明内容
本发明实施例所要解决的技术问题在于,提供一种执行命令的方法,可以避免槽位的填充信息缺失引起的终端与用户的多次交互。
第一方面,本发明实施例提供了一种执行命令的方法,包括:终端根据输入的用户命令生成第一请求,第一请求用于向服务器请求执行用户命令;进而,终端向服务器发送第一请求,接收该服务器发送的第二请求,该第二请求用于向终端请求第一信息,第一信息用于确定第一槽位的填充信息,其中,第一槽位为用户命令的目标意图被配置的M个槽位中填充信息缺失的槽位,M为正整数,目标意图和M个槽位的填充信息用于服务器执行用户命令;进而,终端根据第二请求,在第一GUI信息集合中确定所述第一信息,第一GUI信息集合包括槽位与GUI信息的对应关系;从而,终端将第一信息发送至服务器,以使服务器根据目标意图和M个槽位的填充信息执行用户命令。
可选地,终端还可以接收和输出来自服务器的用户命令的响应信息。
执行上述方法,在执行目标意图所需要的槽位的填充信息缺失时,从第一GUI信息集合中获取该缺失的填充信息,进而避免了用户与终端的交互以补充填充信息,更加智能,提高用户命令的执行效率。
结合第一方面,在一种可能的实现方式中,该方法还包括,在检测到针对图形用户界面(GUI)上第一控件的用户操作时,终端更新或存储第一控件对应的GUI信息,GUI为终端上显示的用户界面。
结合第一方面,在一种可能的实现方式中,第一信息可以是第一槽位的填充信息或第一槽位对应的GUI信息。
在第一信息为第一槽位的填充信息的情况下,服务器在第一槽位的填充信息缺失的情况下,向终端请求该缺失的槽位的填充信息,终端从存储的第一GUI信息集合中获取该第一槽位的填充信息,进而避免了用户与终端的交互以补充填充信息,更加智能,提高用户命令的执行效率。
在第一信息为第一槽位的填充信息的情况下,服务器在第一槽位的填充信息缺失的情况下,向终端请求该缺失的槽位对应的GUI信息,终端从存储的第一GUI信息集合中获取该请求的GUI信息,进一步地,服务器可以根据GUI信息确定缺失槽位的填充信息,可以避免从第一GUI信息集合中确定槽位的填充信息的处理过程在处理资源有限的终端中执行,上述方法通过服务器执行,可以进一步地提高命令的执行效率。
结合第一方面,在一种可能的实现方式中,终端根据输入的用户命令生成第一请求的一种实现方式可以是:终端识别输入的用户命令的预测意图;在第二槽位的填充信息缺失时,从第一GUI信息集合中获取第二槽位对应的GUI信息,第二槽位为用户命令的预测意图被配置N个槽位中缺失填充信息的槽位,N为正整数;进而,根据用户请求和第二槽位对应的GUI信息生成第一请求,第一请求携带第二槽位对应的GUI信息,以使服务器在接收到第一请求后,服务器根据用户命令和第二槽位对应的GUI信息确定第一槽位。
执行上述方法,在终端可以包括粗粒度的意图分类器,预测用户命令的预测意图,并将可能缺失的第二槽位的填充信息与用户命令一起发送至服务器,进而服务器可以根据以及识别到的更准确的目标意图,该目标意图被配置的M个槽位的填充信息大概率可以从用户命令和第二槽位的填充信息中获取到,进而,进一步减少业务服务器与终端之间用于补充槽位的填充信息的交互。
结合第一方面,在一种可能的实现方式中,终端根据输入的用户命令生成第一请求的另一种实现方式可以是:终端根据输入的用户命令和第二GUI信息集合生成第一请求,第一请求携带第二GUI信息集合,以使服务器在接收到第一请求后,服务器根据用户命令和第二GUI信息集合确定第一槽位。
执行上述方法,终端将第二GUI信息集合与用户命令一起发送至服务器,进而服务器识别到的用户命令的目标意图被配置的M个槽位的填充信息大概率可以从用户命令和第二GUI信息集合中获取到,进而,进一步减少业务服务器与终端之间用于补充槽位的填充信息的交互。
第二方面,本申请实施例提供了一种执行命令的方法,该方法包括:服务器接收终端发送的第一请求,第一请求用于向服务器请求执行用户命令;在第一槽位的填充信息缺失时,从第一GUI信息集合中确定第一槽位的填充信息,第一槽位为用户命令的目标意图被配置的M个槽位中填充信息缺失的槽位,M为正整数,第一GUI信息集合包括槽位与GUI信息的对应关系;进而,根据用户命令的目标意图及目标意图的被配置的槽位的填充信息执行用户命令,得到用户命令的响应信息;从而,向终端发送响应信息。
执行上述方法,在槽位的填充信息缺失时,服务器从第一GUI信息集合中获取缺失的填充信息,进而避免了用户与终端的交互以补充填充信息,更加智能,提高用户命令的执行效率。
结合第二方面,在一种可能的实现方式中,第一GUI信息集合包括第一控件对应的GUI信息,第一控件对应的GUI信息为终端在检测到针对图形用户界面(GUI)上针对第一控件的用户操作时存储或更新的,其中,GUI为终端上显示的用户界面。
结合第二方面,在一种可能的实现方式中,服务器在第一槽位的填充信息缺失时,从第一GUI信息集合中确定第一槽位的填充信息的一种实现方式可以是:服务器在第一槽位的填充信息缺失时,向终端发送第二请求,第二请求用于向终端请求第一槽位的填充信息;进而,服务器接收来自终端的第一槽位的填充信息,其中,该第一槽位的填充信息是终端从第一GUI信息集合中确定的。
执行上述方法,服务器在第一槽位的填充信息缺失的情况下,向终端请求该缺失的槽位的填充信息,终端从存储的第一GUI信息中获取,进而避免了用户与终端的交互以补充填充信息,更加智能,提高用户命令的执行效率。
结合第二方面,在一种可能的实现方式中,服务器在第一槽位的填充信息缺失时,从第一GUI信息集合中确定第一槽位的填充信息的另一种实现方式可以是:服务器在第一槽位的填充信息缺失时,向终端发送第三请求,第三请求用于向终端请求第一槽位对应的GUI信息;进而,接收来自终端的第一槽位对应的GUI信息,根据第一槽位对应的GUI信息确定第一槽位的填充信息,其中,该第一槽位的填充信息是终端从第一GUI信息集合中确定的。
执行上述方法,服务器在第一槽位的填充信息缺失的情况下,向终端请求该缺失的槽位对应的GUI信息,终端从存储的第一GUI信息集合中获取该请求的GUI信息,进一步地,服务器可以根据GUI信息确定缺失槽位的填充信息,可以避免从第一GUI信息集合中确定槽位的填充信息的处理过程在处理资源有限的终端中执行,上述方法通过服务器执行,可以进一步地提高命令的执行效率。
结合第二方面,在一种可能的实现方式中,第一请求携带第二槽位对应的GUI信息;在服务器接收终端发送的第一请求之后,在第一槽位的填充信息缺失时,从第一GUI信息集合中确定第一槽位的填充信息之前,该方法还可以包括:服务器根据用户命令和第二槽位对应的GUI信息确定第一槽位,其中,第二槽位为用户命令的预测意图被配置N个槽位中缺失填充信息的槽位,N为正整数,预测意图为终端识别到的用户命令的意图。
执行上述方法,在终端可以包括粗粒度的意图分类器,预测用户命令的预测意图,并将可能缺失的第二槽位的填充信息与用户命令一起发送至服务器,进而服务器可以根据以及识别到的更准确的目标意图,该目标意图被配置的M个槽位的填充信息大概率可以从用户命令和第二槽位的填充信息中获取到,进而,进一步减少业务服务器与终端之间用于补充槽位的填充信息的交互。
结合第二方面,在一种可能的实现方式中,1第一请求携带第二GUI信息集合;接收终端发送的第一请求之后,在第一槽位的填充信息缺失时,服务器从第一GUI信息集合中确定第一槽位的填充信息之前,该方法还可以包括:服务器根据用户命令和第二GUI信息集合确定第一槽位。
执行上述方法,终端将第二GUI信息集合与用户命令一起发送至服务器,进而服务器识别到的用户命令的目标意图被配置的M个槽位的填充信息大概率可以从用户命令和第二GUI信息集合中获取到,进而,进一步减少业务服务器与终端之间用于补充槽位的填充信息的交互。
结合第二方面,在一种可能的实现方式中,第一请求携带第一GUI信息集合。
执行上述方法,终端在向服务器发送请求的同时将第一GUI信息集合也发送至服务器,此时服务器不需要在向终端请求缺失的填充信息,可以直接从第一GUI信息集合中确定第一槽位的填充信息,进一步减少业务服务器与终端之间用于补充槽位的填充信息的交互。
结合第二方面,在一种可能的实现方式中,该方法还包括:服务器还可以接收终端发送的第一控件对应的GUI信息,更新或存储第一控件对应的GUI信息,其中,第一控件为终端的图形用户界面(GUI)上的一个控件。
可选地,第一控件对应的GUI信息为终端在检测到针对图形用户界面(GUI)上第一控件的用户操作时获取的第一控件对应的GUI信息,其中,GUI为终端上显示的用户界面。
执行上述方法,将可以将用户操作产生的GUI信息实时更新到服务器,即,服务器存储了第一GUI信息集合,此时服务器不需要在向终端请求缺失的填充信息,可以直接从第一GUI信息集合中确定第一槽位的填充信息,进一步减少业务服务器与终端之间用于补充槽位的填充信息的交互。
第三方面,本申请实施例还提供了一种执行命令的方法,该方法包括:终端在接收到输入的用户命令后,识别用户命令的目标意图;在第一槽位的填充信息缺失时,从第一GUI信息集合中获取第一槽位的填充信息,第一槽位为目标意图被配置的M个槽位中填充信息缺失的槽位,M为正整数,第一GUI信息集合包括槽位与GUI信息的对应关系;进而,终端根据目标意图和M个槽位的填充信息执行用户命令,得到命令的响应信息,输出该响应信息。
可选地,终端根据目标意图和M个槽位的填充信息执行用户命令,得到命令的响应信息的一种实现方式可以是:终端根据目标意图、M个槽位的填充信息生成第四请求;进而,向服务器发送第四请求,以使服务器在接收到第四请求后根据目标意图、M个槽位的填充信息执行目标意图,得到并向终端发送响应信息;从而,接收该响应信息。
第四方面,本申请实施例还提供了、一种执行命令的方法,该方法包括:服务器接收终端发送的第四请求,第四请求用于请求执行用户命令的目标意图,第四请求携带目标意图和目标意图被配置的M个槽位的填充信息,M个槽位的填充信息包括第一槽位的填充信息,第一槽位的填充信息是终端根据第一GUI信息集合确定的,M为正整数,第一GUI信息集合包括槽位与GUI信息的对应关系;进而,服务器根据目标意图、M个槽位的填充信息执行目标意图,得到响应信息,向终端发送响应信息。
第五方面,本申请实施例还提供了一种执行命令的装置,应用于终端,该装置可实现如第一方面任一实现方式所述的执行命令的方法。
第六方面,本申请实施例还提供了一种终端,所述终端包括:一个或多个处理器、一个或多个存储器、通信接口;所述通信接口用于与服务器数据交互,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述终端执行如第一方面任一实现方式所述的执行命令的方法。
第七方面,本申请实施例还提供了一种执行命令的装置,应用于服务器,该装置可实现如第二方面任一实现方式所述的执行命令的方法。
第八方面,本申请实施例还提供了一种服务器,所述服务器包括:一个或多个处理器、一个或多个存储器、通信接口;所述通信接口用于与终端数据交互,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述终端执行如第二方面任一实现方式所述的执行命令的方法。
第九方面,本申请实施例还提供了一种执行命令的装置,应用于终端,该装置可实现如第二方面任一实现方式所述的执行命令的方法。
第十方面,本申请实施例还提供了一种终端,所述终端包括:一个或多个处理器、一个或多个存储器、通信接口;所述通信接口用于与服务器数据交互,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述终端执行如第三方面任一实现方式所述的执行命令的方法。
第十一方面,本申请实施例还提供了一种执行命令的装置,应用于服务器,该装置可实现如第四方面任一实现方式所述的执行命令的方法。
第十二方面,本申请实施例还提供了一种服务器,所述服务器包括:一个或多个处理器、一个或多个存储器、通信接口;所述通信接口用于与终端数据交互,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述终端执行如第四方面任一实现方式所述的执行命令的方法。
第十三方面,本申请实施例还提供了一种终端,所述终端包括触控屏、一个或多个存储器和用以执行存储于所述存储器中的一个或一个以上程序的一个或一个以上的处理器,所述终端通过所述显示屏显示用户图形界面(GUI),所述GUI包括第一控件,其中,在检测到的针对所述第一控件的用户操作时,所述终端存储或更新所述第一控件对应的GUI信息。
第十四方面,本申请实施例还提供了一种图像用户界面(GUI),该GUI显示于终端,所述终端包括触控屏、一个或多个存储器和用以执行存储于所述存储器中的一个或一个以上程序的一个或一个以上的处理器,所述终端通过所述显示屏显示用户图形界面(GUI),所述GUI包括第一控件,其中,在检测到的针对所述第一控件的用户操作时,所述终端存储或更新所述第一控件对应的GUI信息。
结合第十三方面或第十四方面,在一种可能的实现方式中,所述GUI还包括文本输入控件,其中:响应于检测到的针对所述文本输入控件输入的文本格式的用户指令,将所述文本格式的用户指令发送至服务器。
结合第十三方面或第十四方面,在一种可能的实现方式中,所述GUI还包括语音输入控件,其中:响应于检测到的针对所述文本输入控件输入的语音格式的用户指令,将所述语音格式的用户指令发送至服务器。
第十五方面,本申请实施例还提供了一种包含指令的计算机程序产品,当上述计算机程序产品在电子设备上运行时,使得上述终端执行如第一方面中任一可能的实现方式所述的执行命令的方法。
第十六方面,本申请实施例还提供了一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在终端上运行时,使得终端执行第一方面中任一可能的实现方式所述的执行命令的方法。
第十七方面,本申请实施例还提供了一种包含指令的计算机程序产品,当上述计算机程序产品在电子设备上运行时,使得终端执行第二方面中任一可能的实现方式所述的执行命令的方法。
第十八方面,本申请实施例还提供了一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在终端上运行时,使得服务器执行第二方面中任一可能的实现方式所述的执行命令的方法。
第十九方面,本申请实施例还提供了一种包含指令的计算机程序产品,当上述计算机程序产品在电子设备上运行时,使得所述终端执行第三方面中任一可能的实现方式所述的执行命令的方法
第二十方面,本申请实施例还提供了一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在终端上运行时,使得终端执行第三方面中任一可能的实现方式所述的执行命令的方法。
第二十一方面,本申请实施例还提供了一种包含指令的计算机程序产品,当上述计算机程序产品在电子设备上运行时,使得所述服务器执行第四方面中任一可能的实现方式所述的执行命令的方法。
第二十二方面,本申请实施例还提供了一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在终端上运行时,使得服务器执行第四方面中任一可能的实现方式所述的执行命令的方法。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1A-图1E是本申请实施例提供的GUI的结构示意图;
图2A是本申请实施例提供的场景一下的系统架构示意图;
图2B是本申请实施例提供的场景二下的系统架构示意图;
图3是本申请实施例提供的一种系统架构图;
图4A是本申请方法实施例一提供的一种执行命令的方法的流程示意图;
图4B是本申请方法实施例一提供的另一种执行命令的方法的流程示意图;
图4C是本申请实施例提供的一种判断M个槽位的填充信息是否缺失和获取缺失的槽位的填充信息的实现方式的流程示意图;
图4D是本申请方法实施例二提供的一种执行命令的方法的流程示意图;
图4E是本申请方法实施例三提供的一种执行命令的方法的流程示意图;
图5是本申请方法实施例四提供的又一种执行命令的方法的流程示意图;
图6A是本申请方法实施例五提供的又一种执行命令的方法的流程示意图;
图6B是本申请实施例提供的一种终端识别用户命令的目标意图的实现方式法的流程示意图;
图7是本申请实施例提供的一种执行命令的装置的结构示意图;
图8是本申请实施例提供的又一种执行命令的装置的结构示意图;
图9是本申请实施例提供的又一种执行命令的装置的结构示意图;
图10是本申请实施例提供的又一种执行命令的装置的结构示意图;
图11是本申请实施例提供的一种终端的结构示意图;
图12是本申请实施例提供的一种服务器是结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本申请实施例进行描述。
首先介绍本申请实施例涉及的专业术语和概念。
(1)用户命令
在人机对话领域,用户命令为用户输入的,该也可以称为用户需求。本申请实施例中用户命令可以是语音、图像、视频、音视频、文本等中的一种或多种的组合。例如,用户命令是用户通过麦克风输入的语音,此时,用户命令也可以称为“语音命令”;又例如,用户命令是用户通过键盘或虚拟键盘输入的文本,此时,用户命令也可以称为“文本命令”;又例如,用户命令是用户通过摄像头输入的图像,并通过虚拟键盘输入“图像中的人物是谁?”,此时,用户命令为图像与文本的组合;又例如,用户命令为用户通过摄像头和麦克风输入的一段音视频,此时,用户命令也可以称为“音视频命令”。
(2)语音识别(speech recognition)
语音识别技术,也被称为自动语音识别(automatic speech recognition,ASR)、计算机语音识别(computer speech recognition)、或语音转文本识别(speech to text,STT),是一种通过计算机将人类的语音转换为相应的文本的方法。
在用户命令为语音命令或包含语音的命令时,可以通过ASR将用户命令转换为文本。通常,ASR的工作原理是:第一步,将用户输入的音频信号按帧进行拆分,得到帧信息;第二步,将得到的帧信息识别成状态,其中,若干帧信息对应一个状态;第三步,将状态组合成音素,其中,每三个状态组合成一个音素;第四步,将音素组合成单词,若干个音素组成一个单词。可以看出,只要知道每帧信息对应哪个状态了,语音识别的结果也就出来了。如何确定每帧信息对应的状态呢?通常,可以看待识别的帧信息对应哪个状态的概率最大,则该帧信息就属于哪个状态。
在语音识别的过程中,可以采用声学模型(acoustic model,AM)和语言模型(language model,LM)来确定一条语音对应的一组字序列。其中,声学模型可以理解为是对发声的建模,它能够把语音输入转换成声学表示的输出,即把一条语音的声学特征解码为音素或字词这样的单元,更准确的说是给出语音属于某个声学符号(如音素)的概率。语言模型则给出一组字序列为这条语音的概率,即把字词解码成一组字序列(即一个完整的句子)。
(3)自然语言理解(natural language generation,NLU)
自然语言理解就是希望机器像人一样,具备正常人的语言理解能力。其中,一个重要的功能就是意图识别,例如,用户命令为“希尔顿酒店距离白云机场有多远?”,则用户命令的意图是“查询距离”,该意图被配置的槽位有“起始地”和“目的地”,槽位“起始地”的信息为“希尔顿酒店”,槽位“目的地”的信息为“白云机场”,有了意图、槽位的信息,机器就可以应答了。
(4)意图(Intent)和意图识别
意图是指识别用户命令表达具体是想做什么。意图识别可以理解为语义表达分类的问题,也可以说,意图识别是一个分类器(本申请实施例中也称意图分类器),确定用户命令是哪个意图。常用的用于意图识别的意图分类器为支持向量机(SVM)。决策树和深度神经网络(DNN)。其中,深度神经网络可以是卷积神经网络(convolutional neural network,CNN)或循环神经网络(recurrent neural network,RNN)等,RNN可以包括长短期记忆(longshort-termmemory,LSTM)网络、堆叠环神经网络(stacked recurrent neural network,SRNN)等。
意图识别的大致的流程包括,首先,对语料(即一组字序列)进行预处理,如去除语料的标点符号,去除停用词等等;其次,利用词嵌入(word embedding)算法,如,word2vec算法将预处理后的语料生成词向量(word embedding);进而,利用意图分类器(如,LSTM)来进行特征提取、意图分类等工作。本申请实施例中,意图分类器为训练后的模型,可以识别一个或多个场景下的意图,或识别任意意图。例如,意图分类器可以识别机票预订场景下的意图,包括,订机票、筛选机票、查询机票价格、查询机票信息、退机票、改签机票、查询到机场距离等。又例如,意图分类器可以识别多个场景下的意图。
(5)槽位(slot)
当用户意图被确定之后,NLU模块就需要进一步理解用户命令中的内容,为简便起见,可以选择最核心的部分进行理解,其他可以忽略,那些最重要的部分可以称之为槽位(Slot)。也就是说,槽位是对用户表达(如用户命令被识别出的一组字序列)中关键信息的定义。针对用户命令的意图可以配置一个或多个槽位,以获取到该槽位的信息,机器就可以响应该用户命令。例如在订机票的意图中,槽位有“起飞时间”、“起始地”、“目的地”,这三个关键信息需要在自然语言理解NLU的时候被识别出来,而能够准确识别槽位,需要用到槽位类型(Slot-Type),依然举上面的例子,如果你想精确的识别出“起飞时间”、“起始地”、“目的地”这三个槽位,就需要有背后对应的槽位类型,分别是“时间”,“城市名称”。可以说,槽位类型就是特定知识的结构化知识库,用以识别和转化用户口语化表达的槽位信息。从编程语言的角度来理解,intent+slot可以看成是用一个函数来描述用户的需求,其中"intent对应函数"、"slot对应的是函数的参数","slot_type对应参数的类型"。不同的意图被配置的槽位中可以分为必要槽位和可选槽位,其中,必要槽位是执行用户命令必须的填充的槽位,可选槽位是执行用户命令可选择的填充或不填充的槽位,在不进行说明的情况下,本申请中槽位可以是必要槽位或可选槽位,也可以为必要槽位。
上述“订机票”这个例子中定义了三个核心槽位,分别是“起飞时间”,“起始地”和“目的地”。如果要全面考虑用户订机票需要输入的内容,我们肯定能想到更多槽位,比如旅客人数、航空公司、起飞机场、降落机场等,对于槽位的设计者来说,可以基于意图的粒度来设计槽位。
(6)槽位填充(slot filling)
槽位填充就是提取用户命令中结构化字段,也可以说是读取句子(本申请实施例中指用户命令)中一些语义成分,因此,槽位填充可以看成一个序列标注问题。序列标注问题包括自然语言处理中的分词、词性标注、命名实体识别(named entity recognition,NER)、关键词抽取、词义角色标注等等。我们在做序列标注时给定特定的标签集合,就可以进行序列标注。解决序列标注问题的方法包括最大熵马尔可夫模型(MEMM),条件随机场(CRF)以及循环神经网络(RNN)等。
序列标注就是对给定文本中每一个字符打上标签,其本质上是对线性序列中每个元素根据上下文内容进行分类的问题。即,对于一个一维的线性输入序列,给该线性输入序列中的每个元素打上标记集合中的某个标签。在本申请实施例中,可以通过槽位提取分类器来实现对用户命令的文本标注槽位,在本申请实施例中涉及的NLU中,线性序列就是用户命令的文本(用户输入的文本或者输入的语音被识别到的文本),往往可以把一个汉字看作线性序列的一个元素,针对不同任务,其标签集合代表的含义不同,序列标注就是将根据汉字的上下文给汉字打上一个合适的标签,即确定其槽位。
示例性地,当在用户命令中缺失槽位的填充信息,比如用户命令为“这个酒店距离虹桥机场有多远?”机器响应该用户命令需要知道“这个酒店”是指哪个酒店,现有技术中,机器可能会向用户发问“您要查询那家酒店与虹桥机场的距离?”以获取用户输入的该槽位的信息。可见,机器需要与用户进行多次交互,来获取用户命令中缺失的槽位的信息。
(7)、用户界面(user interface,UI),是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。应用程序的用户界面是通过java、可扩展标记语言(extensible markup language,XML)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容,比如图片、文字、按钮等控件。控件(control)也称为部件(widget),是用户界面的基本元素,典型的控件有工具栏(toolbar)、菜单栏(menu bar)、文本框(text box)、按钮(button)、滚动条(scrollbar)、图片和文本。界面中的控件的属性和内容是通过标签或者节点来定义的,比如XML通过<Textview>、<ImgView>、<VideoView>等节点来规定界面所包含的控件。一个节点对应界面中一个控件或属性,节点经过解析和渲染之后呈现为用户可视的内容。此外,很多应用程序,比如混合应用(hybrid application)的界面中通常还包含有网页。网页,也称为页面,可以理解为内嵌在应用程序界面中的一个特殊的控件,网页是通过特定计算机语言编写的源代码,例如超文本标记语言(hyper text markuplanguage,GTML),层叠样式表(cascading style sheets,CSS),java脚本(JavaScript,JS)等,网页源代码可以由浏览器或与浏览器功能类似的网页显示组件加载和显示为用户可识别的内容。网页所包含的具体内容也是通过网页源代码中的标签或者节点来定义的,比如GTML通过<p>、<img>、<video>、<canvas>来定义网页的元素和属性。
(8)、图像用户界面(graphic user interface,GUI)
GUI是一种用户界面,是用户界面常用的表现形式是图形用户界面(graphic userinterface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。用户界面可以包括在电子设备的显示屏中显示的窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、列表、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。GUI设计师为界面元素设计的尺寸、风格、颜色等UI属性可定义于应用程序的界面源代码以及资源文件中。
电子设备可以通过绘制几何图形、文字、图片等中一项或多项绘图元素来呈现应用程序的用户界面中的界面元素。这里,应用程序可包括桌面程序(Launcher)。例如,针对主屏幕(home)中的应用程序图标,电子设备可以通过绘制表示该图标的前景图片来呈现。又例如,针对弹窗,电子设备可以通过绘制图形(弹窗的形状)、图片(弹窗的背景)和文字(弹窗中显示的文字)来呈现。
用户主要通过点击和手势的方式与GUI进行交互,至于用户在做什么其实计算机是不知道的,它只是将点击和手势转化为坐标和操作两种数据,再给予相应的响应事件,例如打开链接、获取数据库的信息。
(9)、语音用户界面(voice user interface,VUI)
用户通过对话的方式与VUI进行交互,对话过程中使用的自然语言属于非结构化数据,VUI要给出正确的响应事件必须要先理解人类在说什么,更重要的是在想什么。
GUI的信息架构包含了页面和流程,页面里包含了各种布局和结构;而VUI的信息架构只有流程,所以GUI的信息架构要比VUI复杂。由于页面操作的限制使GUI无法随意切换毫无相关的流程,而通过对话交流的VUI可以做到这一点,在导航的便捷性上,VUI更胜一筹。
(10)、GUI信息
GUI信息为GUI上控件对应的业务数据,或为GUI上控件对应的业务数据和用户针对控件的输入数据。在检测到用户针对该控件进行操作时,终端可以存储或更新的该控件对应的GUI信息。其中,业务数据可以是通过XML或Json等描述的结构化的数据,是GUI所属应用程序与该应用程序的服务器之间的交互数据。应该理解,在一些实施例中,终端不会存储所有的控件对应的GUI信息,被用户操作后的控件对应的GUI信息会被保存下来。在一些实施例中,即使未被用户操作,终端也可以存储部分控件分别对应的GUI信息。例如,在终端接收到服务器发送的响应信息,如多个酒店(如酒店h1和酒店h2)的信息后,可以显示控件c1对应的GUI信息(酒店h1的信息),此时,终端可以存储控件c1对应的酒店h1的信息,该酒店h1的信息与槽位“当前显示的酒店”相对应;又例如,终端还可以存储控件c2对应的酒店h2的信息,该酒店h1的信息和酒店h2的信息与槽位“选中的酒店列表”相对应。
上述被存储的所有控件对应的GUI信息组成第一GUI信息集合。
应理解,针对控件的输入数据可以是针对控件的操作信息,该操作信息可以包括操作类型(如点击、双击等)、控件被操作的时间等。
一些实施例中,控件对应的GUI信息为GUI界面上针对该控件展示的信息;另一些实施例中,控件对应的GUI信息并非是GUI界面上针对该控件展示的信息,而是该用于绘制该控件对应的业务数据。
例如,在酒店预订的场景中,GUI可以显示的多个酒店卡片,以一个酒店卡片为一个控件为例来说明,一个酒店卡片可以用于描述一个酒店,一个酒店卡片件显示的酒店的信息可能不是该控件对应的全部信息,当点击该酒店卡片,终端输出描述该酒店卡片指定的酒店的详细信息,控件对应的GUI信息即为该酒店的详细信息。
本申请实施例中,终端可以构建GUI信息与槽位的对应关系,以便于终端可以确定缺失填充信息的槽位对应的GUI信息,应理解,槽位的填充信息可以通过该槽位对应的GUI信息获取到,或者槽位的填充信息即为该槽位对应的GUI信息。
在一些实施例中,终端可以存储<控件的标识,GUI信息>,即GUI上的控件的标识与GUI信息的对应关系,以便于终端可以根据控件的标识,增加、删除、修改、读取该控件的标识对应的GUI信息。若控件的标识对应多个时刻的GUI信息,则该GUI信息中还包括时间信息,该时间信息可以指示其对应的GUI信息被存储的时间,或者针对该控件进行操作产生其对应的GUI信息的时间。
在一些实施例中,终端不存储上述<控件的标识,GUI信息>;而是存储<槽位,GUI信息>或者<(意图,槽位),GUI信息>,即,终端存储槽位与GUI信息的对应关系,或者,意图、槽位与GUI三者之间的对应关系,以便于终端可以根据槽位快速确定其对应的GUI信息。应理解,一个意图可以对应一个或多个槽位,也可以不对应槽位。
上述存储的对应关系可以采用Map数据结构存储,其中,Map是一种依照键(key)存储元素的容器,是通过数组和链表的方式实现的。
上述以终端存储GUI信息为例来说明,应理解,在另一种实现中,GUI信息可以被存储于服务器或者云环境中,本申请实施例。
本申请实施例提供一种命令执行的方法,终端与用户交互过程中,终端或用于执行用户命令的服务器可以存储槽位与其对应的GUI信息,用于执行用户命令的服务器在该用户命令被配置的槽位的填充信息缺失时,可以从存储的GUI信息中获取缺失的槽位的填充信息,避免了用户与终端的多次交互,更加智能,提高命令的执行效率。
例如,用户命令为“这个酒店距离虹桥机场有多远?”,槽位“当前酒店”的填充信息缺失,终端存储了槽位“当前酒店”对应的GUI信息,即当前显示的酒店,若当前显示的酒店为“hotel A”,终端将“hotel A”发送给用于执行用户命令的服务器,进而,服务器获得该槽位“当前酒店”的填充信息,以并基于得到的用户命令的意图和该意图被配置的槽位的填充信息,执行用户命令,得到响应信息,在该场景下即为hotel A与虹桥机场的距离/车程。在另一种实现方式中,也可以由用于执行用户命令的服务器存储槽位“当前酒店”对应的GUI信息,此时,该服务器可以从存储槽位“当前酒店”对应的GUI信息获得该槽位“当前酒店”的填充信息。
下面介绍本申请实施例涉及的一种数据处理方法、执行该方法的终端以及终端上的用户界面。
终端可以包括处理器、存储器和显示器等,显示器可以是触控显示屏,用于显示GUI,该GUI上可以包括至少一个控件,该数据处理方法可以包括:在检测到针对GUI上第一控件输入的用户操作时,终端获取第一控件对应的GUI信息。
在一些实施例中,GUI为终端的第一应用程序提供的,该数据处理方法还可以包括,终端存储或更新该第一控件的标识与所述第一控件对应的GUI信息。此种情况下,用于为第一应用程序提供服务的服务器可以向终端请求该GUI信息。
如图1A所示为本申请实施例提供的一种GUI的结构示意图,该GUI可以包括文本输入控件101、语音输入控件102等。
响应于检测到的针对文本输入控件101的输入文本格式的用户命令,该终端根据用户命令生成请求R1,向业务服务器发送该请求R1,该请求R1用于请求业务服务器执行用户命令,在命令服务器得到该命令的响应信息后,命令服务器将响应信息发送至终端。
响应于检测到的针对语音输入控件102输入的语音格式的用户命令,终端根据用户命令生成请求R2,向业务服务器发送该请求R2,该请求R2用于请求业务服务器执行用户命令,在命令服务器得到该命令的响应信息后,命令服务器将响应信息发送至终端。其中,一种实现方式为请求R2携带用户命令;另一种实现方式为,请求R2携带用于指示用户命令的指示信息,响应于检测到的针对语音输入控件102输入的语音格式的用户命令,终端将该语音格式的用户命令发送至语音识别服务器,以使语音识别服务器识别该用户命令的文本,并将得到文本格式的用户命令发送至业务服务器。
可选地,如图1A所示,GUI还包括扩展应用控件103,响应于针对扩展应用控件103输入的用户操作,如点击操作,终端可以显示第一显示区域,该第一显示区域包括多个控件,例如,图片输入控件、相机控件、附件控件等,以实现向执行服务器发送其他格式的用户命令。
如图1A所示,GUI还包括扩展应用控件103还可以包括显示容器104,该显示容器104用于显示命令执行设备与终端的交互的信息。
例如,用户点击语音输入控件102,终端检测到这一操作,开启麦克风,通过麦克风采集用户输入的语音,即为语音格式的用户命令,例如,用户命令为“推荐几家中关村附近的酒店?”,终端向服务器请求执行该用户命令。
在一些实施例中,在接收到业务服务器发送的针对用户命令的响应信息后,若显示信息,终端绘制如图1B所示的GUI,该显示容器104可以显示第一控件1041、包括可以包括响应信息。
如图1B所示,显示容器104显示业务服务器的图标1041、用户的图标1042以及至少一个第一控件,该至少一个第一控件,如控件1043a、1043b。其中,一个第一控件可以对应响应信息或部分响应信息。应理解,虽然,在图1B中都用第一控件来描述,应理解,各个第一控件的标识不同,各个第一控件分别对应的信息不同。
如图1B所示,终端可以将响应信息分为多页绘制,例如,当执行服务器针对用户命令为“推荐几家中关村附近的酒店?”推荐了三家酒店时,可以显示三个页面,一个页面可以显示一个或多个酒店的信息,如图页面1043下,用户可以通过点击控件1043a或1043b进行切换。显示容器104中还可以包括控件1043c,用于指示当前页面在多个页面中的位置。
响应于控件1043a,终端显示当前页的前一页内容,并更新存储的该控件1043a对应的GUI信息,例如,槽位“当前显示的酒店”对应的GUI信息更新为前一页显示的酒店的信息。
响应于控件1043b,终端显示当前页的下一页内容,并更新存储的该控件1043b对应的GUI信息,例如,槽位“当前显示的酒店”对应的GUI信息更新为下一页显示的酒店的信息。如图1C所示,当用户点击该控件1043b,则切换至下一页。
如图1D所示,若用户输入用户命令“就定这个酒店吧”,服务器可以识别用户命令“就定这个酒店吧”的意图为“定当前显示的酒店”,此时,槽位“当前显示的酒店”的填充信息缺失,用户可以存存储的GUI信息中获取到,槽位“当前显示的酒店”对应的酒店为“美佳精品酒店式公寓(中关村店)”,进而,服务器可以预定该酒店,在完成预定后向终端返回结果,如图1E所示。
应理解,上述图1A-图1E仅仅为示例性说明,用理解,本申请实施例终端GUI还可以具有其他的设计方式,此处不作限定。
在另一些实施例中,该方法还可以包括,终端将第一控件的标识与该第一控件对应的GUI信息发送至服务器。其中,在一种实现中,GUI为第一应用程序提供的,服务器用于为第一应用程序提供服务。在另一种实现中,GUI为第二应用程序提供的,终端获取第一控件的标识对应的GUI信息具体是:终端的第三应用程序获取第一控件的标识对应的GUI信息,服务器用于为第三应用程序提供服务,第一应用程序和第二应用程序都是运行在终端上的应用程序。
下面介绍本申请实施例可以应用的场景。
场景一:
如图2A所示场景一中用户、终端和服务器的交互示意性说明图。该用户、终端和服务器的交互过程可以包括:①、用户在使用终端上的第一应用程序的过程中,第一应用程序实时监测用户操作,终端的第一应用程序或第一服务器存储第一应用程序的用户界面上的控件与GUI信息的对应关系,槽位与GUI信息的对应关系等,第一应用程序可以是如应用程序“携程”、“飞猪”、“淘宝”等包括一类的应用程序或者其他应用程序,第一应用程序提供的用户界面可以包括文本输入控件和语音输入控件,其中,文本输入控件用于接收用户输入的文本格式的用户命令,语音输入控件用于接收用户输入的语音格式的用户命令,例如,终端检测到针对语音输入控件的按压操作后,终端开启麦克风,通过麦克风采集的语音;②、第一应用程序通过网络接口将语音格式的用户命令发送至第一服务器的ASR装置;③、第一服务器首先通过ASR装置识别该用户命令的文本,进而通过自然语言理解装置识别该用户命令的目标意图;④,自然语言理解装置将目标意图、目标意图被配置的槽位的填充信息发送至业务处理装置;⑤、业务处理装置根据目标意图、目标意图被配置的槽位的填充信息等执行用户命令,得到用户命令的响应信息;⑥、业务处理装置向终端的第一应用程序发送响应信息;⑦、终端通过网络接口接收响应信息,终端将响应信息传输至第一应用程序;⑧、终端的第一应用程序通过显示屏显示该响应信息或者通过音箱/扬声器播放该响应信息。
在另一种实现中,终端检测到用户上针对触控显示屏文本输入控件的输入的文本,进而,终端通过网络接口将文本格式的用户命令发送至第一服务器,第一服务器通过自然语言理解识别该用户命令的目标意图,进一步地,第一服务器根据目标意图、目标意图被配置的槽位的填充信息等执行用户命令,得到用户命令的响应信息,进而终端通过网络接口接收响应信息。
若由终端来存储GUI信息,则当第一服务器识别到用户命令被配置的槽位的填充信息缺失时,第一服务器通过与终端交互来获取到这些缺失的槽位的填充信息,如图1A所示,该过程可以包括:a、第一服务器的自然语言理解装置向业务处理模块请求缺失的槽位的填充信息或指示业务处理模块获取缺失的槽位的填充信息;b、业务处理模块向终端的第一应用程序发送请求,以请求缺失的槽位的填充信息;c、终端的第一应用程序通过网络接口接收该请求;d、第一应用程序解析该请求,从存储的GUI信息中获取到缺失的槽位的填充信息;e、第一应用程序通过网络接口向第一服务器的业务处理模块发送该缺失的槽位的填充信息;f、第一服务器的业务处理模块接收该缺失的槽位的填充信息,进而,实现上述④和⑤。
若由第一服务器来存储GUI信息,则需要终端实时将GUI信息更新到第一服务器,则当第一服务器识别到用户命令被配置的槽位的填充信息缺失时,第一服务器从存储的GUI信息中确定缺失的槽位的填充信息。
上述场景一中,为支持本申请实施例提供的功能,第一应用程序需要具备存储GUI信息,供终端从存储的GUI信息中查找到缺失的槽位的填充信息的功能。此时,第一服务器为终端上的第一应用程序提供服务。
例如,第一应用程序“携程”需要存储其用户界面上的控件与GUI信息的对应关系,GUI信息与槽位的对应关系等,此时,第一服务器可以是为应用程序“携程”提供服务的设备,如“携程”的服务器。
场景二:
如图2B所示的场景一下用户、终端和服务器的交互示意性说明图,该过程可以包括:①、用户正在使用终端上的第二应用程序,第二应用程序可以是如应用程序“携程”、“飞猪”、“淘宝”等包括一类的应用程序,用户对第二应用程序提供的用户界面进行操作,与第二服务器进行信息交互,第二服务器为终端上的第二应用程序提供服务;②、在①的执行过程中,终端的第三应用程序实时监测用户在第二应用程序的用户界面上的操作,终端的第三应用程序或第三服务器存储第二应用程序的用户界面上的控件与GUI信息的对应关系,GUI信息与槽位的对应关系等;③、用户通过第三应用程序的用户界面输入文本格式的用户命令或通过第三应用程序的VUI界面输入语音格式的用户命令,第三应用程序的用户界面可以包括文本输入控件和/或语音输入控件,第三应用程序的VUI界面可以包括语音输入控件,其中,文本输入控件用于接收用户输入的文本格式的用户命令,语音输入控件用于接收用户输入的语音格式的用户命令,例如,终端检测到针对第三应用程序界面的语音输入控件的按压操作后,终端开启麦克风,通过麦克风采集的语音;④、第三应用程序通过网络接口将语音格式的用户命令发送至第三服务器;⑤、第三服务器首先通过ASR装置识别该用户命令的文本,进而通过自然语言理解装置识别该用户命令的目标意图;⑥,自然语言理解装置将目标意图、目标意图被配置的槽位的填充信息发送至业务处理装置;⑦、业务处理装置根据目标意图、目标意图被配置的槽位的填充信息等执行用户命令,得到用户命令的响应信息;⑧、业务处理装置向终端的第三应用程序发送响应信息;⑨、终端的第三应用程序通过网络接口接收响应信息;⑩、终端的第三应用程序通过显示屏显示该响应信息或者通过音箱/扬声器播放该响应信息。
在另一种实现中,终端的第三应用程序检测到用户上针对显示屏文本输入控件的输入的文本,进而,终端的第三应用程序通过网络接口将文本格式的用户命令发送至第三服务器,第三服务器通过自然语言理解识别该用户命令的目标意图,进一步地,第三服务器根据目标意图、目标意图被配置的槽位的填充信息等执行用户命令,得到用户命令的响应信息,并向终端的第三应用程序发送该响应消息,进而终端的第三应用程序通过网络接口接收响应信息。
若由终端来存储GUI信息,则当第三服务器识别到用户命令被配置的槽位的填充信息缺失时,第三服务器通过与终端交互来获取到这些缺失的槽位的填充信息,如图2B所示,该过程可以包括:a、第三服务器的自然语言理解装置向业务处理模块请求缺失的槽位的填充信息;b、业务处理模块向终端的第三应用程序发送请求,以请求缺失的槽位的填充信息;c、终端的第三应用程序通过网络接口接收该请求;d、第三应用程序解析该请求,从存储的GUI信息中获取缺失的槽位的填充信息,e、第三应用程序通过网络接口向第三服务器的业务处理模块发送该缺失的槽位的填充信息;(e)、第三服务器的业务处理模块接收该缺失的槽位的填充信息,进而实现上述⑥和⑦。
若由第三服务器来存储GUI信息,则需要终端实时将GUI信息更新到第三服务器,则当第三服务器识别到用户命令被配置的槽位的填充信息缺失时,第三服务器从存储的GUI信息中确定缺失的槽位的填充信息。
上述场景二中,第二应用程序可以不进行改进,第二应用程序需要提供其GUI上的数据被第三应用程序读取以及其GUI上的控件被第三应用程序监控的权限。例如,第三应用程序“携程”GUI上的数据提供可以被第三应用程序读取以及其GUI上的控件被第三应用程序监控的权限。
为支持本申请实施例提供的功能,第三应用程序需要具备监控第二应用程序的GUI上数据和控件的权限和功能,并可以存储GUI信息,以供第二应用程序从存储的GUI信息中查找到缺失的槽位的填充信息的功能。应理解,第三应用程序可以操作系统层应用,也可以是应用层应用,本申请不作限定。
下面介绍本申请实施例涉及的系统,如图3所示,该系统30可以包括:
终端31可以接收用户通过语音采集装置采集的语音格式的用户命令,或者接收用户在终端31上输入的文本格式的用户命令,上述语音格式的用户命令和文本格式的用户命令可以统称为用户命令。终端31在接收到用户输入的用户命令后,可以基于客户端可以向业务服务器32发送请求,以请求业务服务器32执行用户命令。
其中,若终端31接收到用户命令为文本格式的用户命令,终端31可以直接向业务服务器32请求执行该用户命令。若终端31接收到用户命令为语音格式的用户命令,实现方式①:终端31可以实时将输入的语音流发送至语音识别服务器33,语音识别服务器33在得到语音格式的用户命令后,识别到语音格式的用户命令的文本,得到文本格式的用户命令;进一步地,语音识别服务器33可以将该得到的文本格式的用户命令发送至业务服务器32。实现方式②:在上述实现方式①中语音识别服务器33在得到文本格式的用户命令后,语音识别服务器33可以将该文本格式的用户命令发送到终端31,此时终端31获取到文本格式的用户命令,可以将向业务服务器32请求执行该用户命令。实现方式③:终端31在接收到语音流,即语音格式的用户命令后,终端31识别语音流的文本,得到文本格式的用户命令,进而,可以将向业务服务器32请求执行该用户命令。实现方式④:终端31将语音格式的命令发送至业务服务器32,业务服务器32在识别到用户命令为语音时,向语音识别服务器33请求识别该语音格式的用户命令,语音识别服务器33对该语音命令进行识别,得到文本格式的用户命令,进而,将识别到的文本格式的用户命令发送至业务服务器32。
业务服务器32在接收到文本格式的用户命令(以下简称为用户命令)后,可以通过自然语言理解理解服务器34识别该文本命令的意图(应理解,本申请中服务器识别到的意图,由于准确率高,也被称为目标意图);进而,判断该目标意图被配置的槽位的填充信息是否缺失,如果缺失,则命令执行服务可以进一步识别该缺失的槽位的填充信息是否可以通过第一GUI信息集合获取到,如果是,则业务服务器32可以向终端31发送用于请求该缺失的槽位的填充信息的请求,以得到缺失的槽位的填充信息。在业务服务器32得到目标意图和该目标意图被配置的槽位中每一个槽位的填充信息后,就可以执行用户命令,进而得到该用户命令的响应信息;然后,将响应信息发送至终端31。
终端31在接收到响应信息后,可以通过用户界面显示该响应信息,也可以通过语音输出模块输出该响应信息。具体可以参见上述图3中的终端31输出响应信息的用户界面中相关描述,此处不再赘述。
其中,语音识别服务器33用于识别语音的文本,在一些实施例中,语音识别服务器33与业务服务器32也可以是同一设备,业务服务器32包括用于实现语音识别的单元或模块。
在一些实施例中,用户可以通过终端31中上述图1A-图1E所示的用户界面与业务服务器32进行交互,通过终端31中VUI界面与语音识别服务器33进行交互。
在一些实施例中,系统还包括自然语言理解(NLU)服务器,该自然语言理解服务器34用于根据输入的文本格式的用户命令识别该用户命令的目标意图,并获取该目标意图被配置的多个槽位,以及从该用户命令中提取槽位的填充信息,进而,将该识别到的用户命令的目标意图、目标意图被配置的多个槽位以及从该用户命令中提取槽位的填充信息发送至命名执行服务器,由业务服务器32基于该目标意图、多个槽位和多个槽位的填充信息来实现对该用户命令的响应。
在一些实施例中,业务服务器32、自然语言理解(NLU)服务器、语音识别服务器33等各个服务器内部包含的子系统及功能单元可以部署在云环境,具体为云环境上的一个或多个计算设备。所述云环境指示云服务提供商拥有的,用于提供计算、存储、通信资源的中心计算设备集群。
应理解,业务服务器32、自然语言理解(NLU)服务器、语音识别服务器33等各个服务器内部包含的子系统及功能单元部署在硬件设备上的部署形式较为灵活,本申请实施例中,自然语言理解(NLU)服务器或语音识别服务器33内部包含的部分或全部子系统及功能单元也可以部署在业务服务器32中,同样,业务服务器32内部包含的部分或全部子系统及功能单元也可以部署在NLU服务器或语音识别服务器33。
结合上述场景一,终端31可以运行第一应用程序,业务服务器32可以是上述第一服务器中业务处理装置,自然语言理解服务器34可以是上述第一服务器中自然语言理解装置,语音识别服务器33可以是上述第一服务器中语音识别装置。结合上述场景二,终端31可以运行第一应用程序和第二应用程序,业务服务器32可以是上述第三服务器中业务处理装置,自然语言理解服务器34可以是上述第三服务器中自然语言理解装置,语音识别服务器33可以是上述第三服务器中语音识别装置。
下面介绍本申请实施例提供的。本申请各个实施例所述的执行命令的方法可以基于上述场景一、场景二和系统30来实现。
实施例一:
如图4A所示的执行用户命令的方法的流程示意图。该方法可以由图3所示的系统30来实现,该方法可以包括但不限于如下步骤:
S402:终端根据输入的用户命令生成第一请求,该第一请求用于向业务服务器请求执行用户命令。
S404:终端向业务服务器发送第一请求。
S406:业务服务器接收第一请求。
其中,S402-S406可以包括如下三种实现方式:
第一实现方式:
用户可以在GUI界面上按压语音控件,此时,终端检测针对该语音控件的按压操作,开启麦克风,采集用户的输入的语音,当用户不再对语音控件进行按压时,终端检测到针对该语音控件的松开操作,语音控件被按压的时间段内接收到的语音流,即为语音格式的用户命令。终端也可以通过VUI界面输入语音格式的用户命令,终端可以根据语音格式的用户命令生成第一请求,此时,第一请求携带语音格式的用户命令,用于向业务服务器请求执行用户命令。进而,终端可以将该第一请求发送至业务服务器。
第二实现方式:
用户可以通过VUI界面输入语音流,该语音流可以实时传输给语音识别服务器。语音识别服务器在接收到语音流后,可以通过自动语音识别(ASR)将语音流识别为文本,得到文本格式的用户命令。进而,语音识别服务器可以将文本格式的用户命令发送至业务服务器。应理解,在本申请实施例的另一种实现中,业务服务器也可以集成语音识别服务器的功能,此时,语音识别服务器和业务服务器可以是同一设备,如业务服务器中的语音识别模块可以实现上述语音识别服务器的功能。
在终端向语音识别服务器发送语音流时,终端也可以向业务服务器发送第一请求,该第一请求可以携带用户命令的指示信息,以向业务服务器请求执行用户命令。
第三实现方式:
用户可以通过GUI界面输入文本,此时,得到文本格式的用户命令,终端根据该文本格式的用户命令生成第一请求,并向服务器发送该第一请求,该第一请求携带该文本格式的用户命令。
S408:业务服务器解析第一请求,识别用户命令的目标意图。
在本申请一些实施例中,第一请求携带用户命令,此时,业务服务器在接收到第一请求后,可以解析第一请求,得到用户命令。当用户命令为文本时,业务服务器可以通过意图识别算法识别该用户命令的意图以得到目标意图;当用户命令为语音时,通过自动语音识别(ASR)将用户命令识别为文本,进而,通过意图分类器识别该识别到的文本的意图以得到目标意图。
在本申请另一些实施例中,第一请求不携带用户命令,此时用户命令为语音流,第一请求仅仅携带用于指示执行用户命令的指示信息。语音识别服务器在接收到语音流后,通过ASR算法将该语音流识别为文本,得到文本格式的用户命令,进而,通过意图分类器识别该文本格式的用户命令的意图,以得到目标意图。
在业务服务器识别用户命令的目标意图的一种实现方式中,业务服务器可以配置意图分类器等,可以识别用户命令的目标意图,获取到目标意图被配置的M个槽位,以及从用户命令中提取各个槽位的填充信息,得到K个槽位的填充信息,K为不大于M的正整数。
在业务服务器识别用户命令的目标意图的另一种实现方式中,业务服务器可以请求自然语言理解(NLU)服务器对来实现针对用户命令的意图识别、槽位填充等,如业务服务器向NLU服务器发送第一识别请求,该第一识别请求用于请求NLU服务器识别用户命令的意图;NLU服务器在接收到第一识别请求后,将用户命令输入到意图分类器得到目标意图,以及获取到该目标意图被配置的M个槽位,从用户命令中提取各个槽位的填充信息,得到K个槽位的填充信息,K为不大于M的正整数;进而,将目标意图、标意图被配置的M个槽位和K个槽位的填充信息发送至业务服务器。
为区别用户命令的意图,将初步识别到的用户命令的意图称为预测意图,而将最终识别到的用户命令的意图称为目标意图。应了解,业务服务器按照最终识别到的目标意图和该目标意图被配置的多个槽位的信息来执行用户命令。在本申请一些实施例中,预测意图可以是通过粗粒度的意图分类器识别到的用户指令的意图,而,目标意图是通过细粒度的意图分类器识别到的用户指令的意图。
S410:业务服务器在第一槽位的填充信息缺失时,从第一GUI信息集合中确定第一槽位的填充信息。
如图4B所示的执行命令的方法的流程示意图,S410的第一种实现中可以包括但不限于步骤S4101-S 4106,其中:
S4101:业务服务器判断目标意图被配置的M个槽位的填充信息是否缺失。
通常,槽位是将用户命令的意图转化为可执行的指令所需要的信息。在实际应用中,一个意图可以被配置一个或多个槽位,也可以不配置槽位。应理解,不需要配置槽位的意图,也不会出槽位的信息缺失的情况,当用户指令的目标意图无被配置的槽位时,服务器可以直接执行目标意图;当用户指令的目标意图被配置了M个的槽位时,服务器需要进一步判断目标意图被配置的M个槽位中的填充信息是否缺失,若缺失,则执行步骤S4102,否则,服务器执行S412。
在一些实施例中,服务器可以存储或获取意图和槽位的对应关系,下述表1来说明上述意图和槽位的对应关系:
表1
在一些实施例中,业务服务器可以根据意图和槽位的对应关系确定目标意图对应的M个槽位,进而,从用户指令中提取槽位的填充信息,例如,得到K个槽位的填充信息,K为不大于M的正整数。判断是否缺失各个槽位的填充信息,具体实现可以是业务服务器判断K是否小于M,或者M个槽位中是否包含不属于K个槽位的槽位,如果是,M个槽位的填充信息缺失,业务服务器可以执行S412;否则,M个槽位的填充信息不缺失,业务服务器可以执行S412。其中,一个意图可以对应一个或多个槽位,这里以目标意图对应M个槽位为例来说明,应理解,对于不同的目标意图,该M的数值可以不同。
例如,用户命令的文本为“这家酒店距离华为大厦多远?”,此时,目标意图为“当前酒店到目的地的距离”,槽位“当前酒店”的填充信息缺失,槽位“目的地”的填充信息为“华为大厦”。
又例如,用户命令的文本为“这些酒店中那个酒店距离虹桥机场最近?”此时,目标意图为“从酒店列表中选择一个距离目标地最近的酒店”,槽位“选中的酒店列表”的填充信息缺失,槽位“目的地”的填充信息为“虹桥机场”。
通常,用户命令可以涉及衣、食、住、行等各个场景的问题,为更快捷地查找到意图对应的槽位以及便于终端存储第一GUI信息集合,在另一些实施例中,服务器可以存储或获取场景、意图和槽位的对应关系,下述表2来说明上述场景、意图和槽位的对应关系:
表2
服务器可以根据用户命令来识别当前场景,进而,确定当前场景意图下意图和槽位的对应关系,进而,确定目标意图对应的M个槽位,从而,判断是否缺失各个槽位的信息。
S4102:在第一槽位的填充信息缺失时,业务服务器生成第二请求,该第二请求用于向终端请求第一槽位的填充信息。
应理解,第一槽位指目标意图被配置的M个槽位中信息缺失的槽位,可以是一个槽位也可以是多个槽位,本申请实施例不作限定。
S4103:业务服务器向终端发送第二请求。
S4104:终端接收第二请求,从第一GUI信息集合中确定该第一槽位的填充信息。
终端在接收到第二请求后,解析该第二请求,进而响应第二请求,即终端可以从第一GUI信息集合中查找出第一槽位对应的GUI信息,进而,从第一槽位对应的GUI信息中确定出第一槽位的填充信息。应理解,在S4104的另一种实现中,从第一GUI信息集合中第一槽位对应的GUI信息即为第一槽位的填充信息,这与终端存储的槽位对应的GUI信息的内容有关。
其中,关于第一GUI信息集合的具体实现可以参见上述数据处理方法和图1A-图1E所示的GUI中相关描述,此处不再赘述。
S4105:终端向业务服务器发送将第一槽位的填充信息。
S4106:业务服务器接收第一槽位的填充信息。
与S410的第一种实现方式中类似,在S410的第二种实现方式中,将第二请求替换为第三请求,该第三请求用于向终端请求第一槽位对应的GUI信息,此时,终端可以从第一GUI信息集合中查找出第一槽位对应的GUI信息,而由业务服务器从第一槽位对应的GUI信息中确定出第一槽位的填充信息,具体实现可参考图4B所示的实施例中相关描述,此处不再赘述。
在一些实施例中,上述第一槽位的填充信息和第一槽位对应的GUI信息被称为第一信息,该第一信息用于确定第一槽位的填充信息。具体可参见上述S410的第一种实现方式和第二种实现方式中相关描述,此处不再赘述。
S412:业务服务器根据目标意图和M个槽位的填充信息执行用户命令,以得到用户命令的响应信息。
S414:业务服务器将所述响应信息发送至终端。
S416:终端接收并输出响应信息。
终端输出响应信息的实现方式可以是,终端在GUI界面上显示该响应信息和/或通过音频输出装置播放该响应信息等。
在一些实施例中,若第一槽位包括多个槽位,其判断M个槽位的填充信息是否缺失和获取缺失的槽位的填充信息的一种实现可以参照如图4C所示流程图,上述S410-S420的一种实现可以包括但不限于如下步骤:
S01:业务服务器判断M个槽位中的第i个槽位的填充信息是否缺失,如果是,则执行步骤S02,否则,执行S08。其中,i为M个槽位中槽位的索引,i为小于M的正整数。
S02:业务服务器判断该第i个槽位的填充信息是否可从第一GUI信息集合中获得,如果是,则执行S03,否则,执行S08。
应理解,服务器可以包括列表,该列表包括至少一个意图和各个意图分别对应的至少一个槽位,列表中的槽位的填充信息都是可以从第一GUI信息集合中获取的。业务服务器查看目标意图被配置的第i个槽位是否在该列表中,如果是,则第i个槽位的填充信息是否可从第一GUI信息集合中获得,否则,不可获得。
S03:业务服务器根据第i个槽位生成请求Ri,该请求Ri用于向终端请求第i个槽位的填充信息。
S04:业务服务器向终端发送请求Ri。
S05:终端接收请求Ri,从第一GUI信息集合中确定中第i个槽位的填充信息。
S06:终端向业务服务器发送第i个槽位的填充信息。
S07:业务服务器接收第i个槽位的填充信息。
S08:业务服务器判断M个槽位的填充信息是否都已获取,也可以判断i是否等于M,如果是,则结束流程;否则,i=i+1,业务服务器重复执行S03。
实施例二
终端可以包括粗粒度的意图分类器,预测用户命令的预测意图,并将可能缺失的槽位的填充信息与用户命令一起发送至业务服务器,进而业务服务器可以根据识别到的更准确的目标意图,该目标意图被配置的M个槽位的填充信息大概率可以从用户命令和可能缺失的槽位的填充信息中获取到,进而,减少业务服务器与终端之间用于补充槽位的填充信息的交互,用户体验更好。如图4D所示的本申请实施例提供的一种命令执行方法的流程示意图,该方法可以通过上述图3所示的系统30来实现,该方法可以包括但不限于如下部分或全部步骤:
S4021:终端根据输入的用户命令,识别用户命令的预测意图。
本申请实施例中,终端中的意图分类器可以是粗粒度的意图分类器,相对于服务器中的意图分类器,准确度低,该预测意图不是用户命令最终识别到的准确度较高的目标意图,因此,这里将终端识别到的用户命令的意图称为预测意图。需要说明的是,在本申请另一实施例中,可以认为终端中的意图分类器的对用户命令的识别结果比较准确,可以作为用户命令最终被识别到的意图,可参见实施例五中相关描述,此处不作赘述。
S4022:终端根据用户命令,判断预测意图被配置的N个槽位的填充信息是否缺失,N为正整数。
终端可以存储意图和槽位的对应关系、槽位与GUI信息的对应关系等;进而,终端可以根据意图和槽位的对应关系,查找到预测意图对应的N个槽位。其中,一个意图可以对应一个或多个槽位,这里以预测意图对应N个槽位为例来说明,应理解,对于不同的预测意图,该N的数值可以不同。
应理解,用户命令的预测意图可以不需要配置槽位,当预测意图未配置槽位或者预测意图被配置的N个槽位的信息都不缺失时,终端可以根据用户命令,生成第一请求执行S404。
应理解,终端可以存储或获取意图与槽位的对应关系,例如,终端可以从执行服务器中下载并存储意图与槽位的对应关系;进一步地,终端可以从用户命令提取中槽位的填充信息(该过程也称为槽位填充),进而,根据提取出来的槽位的填充信息判断N个槽位的信息是否都存在,如果是,则槽位的填充信息不缺失,终端可以根据用户命令,生成第一请求,执行S404;否则,终端可以执行S4023。
S4023:终端在第二槽位的填充信息缺失时,从第一GUI信息集合中确定第二槽位的填充信息。
其中,第二槽位为N个槽位中填充信息缺失的槽位,可以是一个槽位,也可以是多个槽位,还可以是缺失的槽位中必要槽位。在第二槽位的填充信息缺失时,终端可以从第一GUI信息集合中查找出第二槽位对应的GUI信息,进而,从第二槽位对应的GUI信息中确定出第二槽位的填充信息。
例如,当缺失的槽位为“选定的酒店列表”时,终端首先从第一GUI信息集合中查找槽位“选定的酒店列表”对应的GUI信息,在一种实现中,该“选定的酒店列表”对应的GUI信息包括每一个选定控件分别对应的酒店的信息,如酒店的标识、地址、联系电话等,此时,终端可以从选定的酒店列表”对应的GUI信息中确定出每一个选定控件对应的酒店的标识,如名称,进而,得到第二槽位的填充信息。
在S4023的另一种实现中,从第一GUI信息集合中第二槽位对应的GUI信息即为第二槽位的填充信息,这与终端存储的槽位对应的GUI信息的内容有关。
S4024:根据用户命令和第二槽位的填充信息生成第一请求,该第一请求携带用户命令和第二槽位的填充信息,用于向业务服务器请求执行用户命令。
S4025:根据用户命令生成第一请求,该第一请求携带用户命令,用于向业务服务器请求执行用户命令。
应理解,上述S4021-S4025即为上述S402的一种实现方式。
在S4024之后,可以执行S404-S408,具体实现可以参见上述实施例一种相关描述,此处不再赘述。
S408之后,S410之前,该方法还可以包括:
S409:业务服务器根据用户命令和第二槽位对应的GUI信息确定第一槽位,其一种具体实现可以包括S4091和S4092,即:
S4091:业务服务器可以从用户命令中提取出槽位的填充信息。
S4092:根据提取出的槽位的填充信息和第二槽位的填充信息确定M个槽位中填充信息缺失的槽位,即为第一槽位。也就是说,第一槽位是M个槽位中除提取出的槽位和第二槽位之外的槽位。
在S409之后还可以,执行步骤S410-S416,具体实现可以参见上述实施例一中相关描述,此处不再赘述。
实施例三:
为减少终端与业务服务器之间的交互次数,提高交互效率,终端可以将被使用频次高的槽位对应的GUI信息和用户命令一起发送至业务服务器,以使业务服务器可以从接收到的槽位对应的GUI信息和用户命令获取用户命令的目标意图被配置的M个槽位的填充信息,以减少业务服务器向终端之间的交互次数。如图4E所示的本申请实施例提供的又一种执行命令的方法的流程示意图,该方法可以通过上述图3所示的系统来实现,该方法可以包括但不限于如下部分或全部步骤:
S4026:根据输入的用户命令和第二GUI信息集合,生成第一请求,该第一请求携带用户命令和第二GUI信息集合,用于向业务服务器请求执行用户命令。
在一种实现中,第二GUI信息集合可以为多个槽位分别对应的GUI信息的集合,该多个槽位可以是当前场景下的所有意图中各个意图被配置的槽位。
在另一种实现中,在特定的场景下,部分槽位的填充信息被用于执行用户命令的频次比较高,例如,在机票预定的场景中,可以包括一个意图的集合,用于该场景识别该场景下的用户命令的意图,槽位“用户选择的机场列表”、“当前显示的机票”等为高频用户命令如“这个机票的机场有多远”、“这些机票那个花费时间最短”、“这些机票那个价格最低”等意图被配置的槽位,这些槽位的在机票预订的场景中被使用的频次很高,为减少通信耗时,这里可以将这个高频槽位对应的GUI信息封装到第一请求中,发送给业务服务器,以减少终端与命令服务器之间的交互次数,更加高效的执行用户命令。此时,多个槽位可以是当前场景下被使用的频次高的槽位。槽位S的频次可以基于历史的用户命令统计得到,也可以使用当前场景下所有意图中被配置槽位S的意图的数目来指代该槽位S被使用的频次,还可以是在程序开发时,被认为被使用频次高的槽位,此处不作限定。
S4026即为上述实施例一中S402的一种实现方式,S4026之后,可以执行S404-S408,此时,S408之后,S410之前,该方法还可以包括:
S409:业务服务器根据用户命令和第二槽位对应的GUI信息确定第一槽位,其一种具体实现可以包括S4093和S4094,即:
S4093:业务服务器可以从用户命令中提取出槽位的填充信息。
S4094:根据提取出的槽位的填充信息和第二GUI信息集合确定M个槽位中填充信息缺失的槽位,即为第一槽位,也就是说,第一槽位是M个槽位中除提取出的槽位和第二GUI信息集合中包括的槽位之外的槽位。
在S409之后还可以,执行步骤S410-S416,具体实现可以参见上述实施例一中相关描述,此处不再赘述。
实施例四:
为减少终端与业务服务器之间的交互次数,提高交互效率,终端可以将存储的第一GUI信息集合全部发送至业务服务器。如图5所示的本申请实施例提供的又一种执行命令的方法的流程示意图,该方法可以通过上述图3所示的系统来实现,该方法可以包括但不限于如下部分或全部步骤:
S502:根据输入的用户命令和第一GUI信息集合,生成第一请求,该第一请求携带用户命令和第一GUI信息集合,用于向业务服务器请求执行用户命令。
第一GUI信息集合可以包括中终端存储的多个槽位对应的GUI信息的集合,该多个槽位可以是当前场景下的所有意图中各个意图被配置的槽位。
应理解,上述S502是上述实施例一中S402的一种实现方式。
S504:终端向业务服务器发送第一请求。
S506:业务服务器接收第一请求,识别用户命令的目标意图。
应理解,在业务服务器接收第一请求后,可以识别用户命令的目标意图,查找到目标意图被配置的M个槽位,以及从用户命令中提取出K个槽位的填充信息,其具体实现可以参见上述实施例一中相关描述,此处不再赘述。
S508:业务服务器根据用户命令,判断目标意图被配置的M个槽位的填充信息是否缺失,这里,业务服务器判断K是否小于M,或者M个槽位中是否包含不属于K个槽位的槽位,如果是,则M个槽位的填充信息缺失,业务服务器可以执行S910,否则,M个槽位的填充信息不缺失,业务服务器可以执行S912。
S510:在第一槽位的填充信息缺失时,命令执行服务从第一GUI信息集合中获取第一槽位的填充信息。
其中,第一槽位为M个槽位中填充信息缺失的槽位,可以是一个槽位,也可以是多个槽位,还可以是缺失的槽位中必要槽位。在第一槽位的填充信息缺失时,终端可以从第一GUI信息集合中查找出第一槽位对应的GUI信息,进而,从第一槽位对应的GUI信息中确定出第四槽位的填充信息。
在S510的另一种实现中,从第一GUI信息集合中第一槽位对应的GUI信息即为第一槽位的填充信息,这与终端存储的槽位对应的GUI信息的内容有关。
应理解,上述S506-S510是上述实施例一中S410的一种实现方式。
S512:根据目标意图和M个槽位的填充信息执行用户命令,以得到用户命令的响应信息。
应理解,当目标意图不需要配置槽位时,命令服务器可以不执行上述步骤S508-512,直接根据目标意图执行用户命令,进而得到该用户命令的响应信息。
S514:业务服务器向终端发送响应信息。
S516:终端接收并输出响应信息。
其中,S512-S516的具体实现可以参见上述实施例一中步骤S412-S416相关描述,此处不再赘述。
实施例五:
终端可以包括意图分类器,进而识别到用户命令的意图,并基于用户命令和存储的第一GUI信息集合可以得到该用户命令的意图被配置的所有槽位的填充信息,进而业务服务器可以根据以及识别到的意图和该意图被配置的所有槽位的填充信息直接执行用户命令,进而,避免业务服务器与终端之间用于补充槽位的填充信息的交互,用户体验更好。如图6A所示的本申请实施例提供的又一种执行命令的方法的流程示意图,该方法可以通过上述图3所示的系统来实现,该方法可以包括但不限于如下部分或全部步骤:
S602:终端接收输入的用户命令,识别用户命令的目标意图。
本申请实施例中,终端中的意图分类器可以是准确度高的分类器,该目标意图是用户命令最终识别到的准确度较高的意图,因此,这里将命令服务器不再识别用户命令的意图。
在602的一种实现中,终端可以自己识别用户命令的目标意图,此时终端可以通过意图分类器识别用户命令的意图,得到目标意图,进而根据存储的意图与槽位的对应关系获取目标意图被配置的M个槽位;进而,可以从从用户命令中提取M个槽位的填充信息,得到K个槽位的填充信息,K不大于M的正整数。应理解,M个槽位的填充信息可以完全或不完全从用户命令中提取出来。其中,一个意图可以对应一个或多个槽位,这里以目标意图对应M个槽位为例来说明,应理解,对于不同的目标意图,该M的数值可以不同。
终端识别用户命令的意图的实现同上述实施例一中业务服务器是识别用户命令的意图,具体实现可以参见上述实施例一中关于识别用户命令的意图识别中相关描述,此处不再赘述。
在602的一种实现中,终端也可以请求自然语言理解(NLU)服务器来识别用户命令的目标意图。如图6B所示,终端请求NLU服务器来识别用户命令的目标意图的一种实现可以包括但不限于如下步骤:
S6021:终端向NLU服务器发送第二识别请求,该第二识别请求用于请求识别用户命令的意图。
S6022:NLU服务器接收第二识别请求,识别用户命令的意图,得到目标意图以及目标意图被配置的M个槽位。
NLU服务器识别用户命令的目标意图后,可以获取或存储意图和槽位的对应关系,进而,可以根据意图和槽位的对应关系,查找到目标意图对应的M个槽位。
S6023:NLU服务器从用户命令中提取M个槽位的填充信息,得到K个槽位的填充信息,K不大于M的正整数。应理解,M个槽位的填充信息可以完全或不完全从用户命令中提取出来。
S6024:向终端发送目标意图、目标意图被配置的M个槽位以及K个槽位的填充信息。
S6025:终端接收目标意图、目标意图被配置的M个槽位以及K个槽位的填充信息。
在本申请实施例的另一种实现中,上述S6023也可以由终端执行,此时,在S6022之后,NLU服务器向终端发送目标意图、目标意图被配置的M个槽位,终端在接收到目标意图、目标意图被配置的M个槽位后,执行S6023,进而得到目标意图、目标意图被配置的M个槽位以及K个槽位的填充信息。
应理解,用户命令的目标意图可以不需要配置槽位,当目标意图未配置槽位,NLU服务器可以执行S612。
S604:终端判断目标意图被配置的M个槽位的填充信息是否缺失,M为正整数。
具体的,终端可以判断K是否小于M,或者M个槽位中是否包含不属于K个槽位的槽位等,如果是,则M个槽位的填充信息缺失,终端执行S606;否则,M个槽位的填充信息不缺失,终端执行S608。
S606:在第一槽位的填充信息缺失时,从第一GUI信息集合中确定第一槽位的填充信息。
其中,第一槽位为M个槽位中填充信息缺失的槽位,可以是一个槽位,也可以是多个槽位,还可以是缺失的槽位中必要槽位。在第一槽位的填充信息缺失时,终端可以从第一GUI信息集合中查找出第一槽位对应的GUI信息,进而,从第一槽位对应的GUI信息中确定出第三槽位的填充信息。
在S606的另一种实现中,从第一GUI信息集合中第一槽位对应的GUI信息即为第三槽位的填充信息,这与终端存储的槽位对应的GUI信息的内容有关。
可以理解,在实施例五中,将实施例一中步骤S408和S410通过终端来执行。具体实现可以参见上述实施例一中S408和S410中相关描述,此次不再赘述。
S608:终端根据用户命令、目标意图和M个槽位的填充信息生成第四请求,该第四请求携带目标意图、M个槽位的填充信息,用于向业务服务器请求执行用户命令。
S610:终端根据目标意图生成第四请求,该第四请求携带目标意图用于向业务服务器请求执行用户命令。
S612:终端向执行服务器发送第四请求。
S614:业务服务器接收第四请求,根据第四请求执行用户命令,以得到该用户命令的响应信息。
在业务服务器接收到步骤S608发送的第四请求后,业务服务器可以根据目标意图、M个槽位的填充信息,执行用户命令,得到用户命令的响应信息。
在业务服务器接收到步骤S610发送的第四请求后,业务服务器可以根据目标意图执行用户命令,得到用户命令的响应信息。
S616:业务服务器向终端发送响应信息。
S618:终端接收并输出响应信息。
其中,S614-S618的具体实现可以参见上述实施例一中相关描述,此处不再赘述。
上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的装置。
请参见图7,图7是本发明实施例提供的一种执行命令的装置的结构示意图,该装置700,应用于终端,可以包括,该装置700可以包括但不限于如下功能单元:
生成单元701,用于根据输入的用户命令生成第一请求,所述第一请求用于向服务器请求执行所述用户命令;
发送单元702,用于向所述服务器发送所述第一请求;
接收单元703,用于接收所述服务器发送的第二请求,所述第二请求用于向所述终端请求第一信息,所述第一信息用于确定第一槽位的填充信息;
确定单元704,用于根据所述第二请求,在第一GUI信息集合中确定所述第一信息;
所述发送单元702还用于将所述第一信息发送至所述服务器,其中,所述第一槽位为所述用户命令的目标意图被配置的M个槽位中填充信息缺失的槽位,M为正整数,所述第一GUI信息集合包括槽位与GUI信息的对应关系,所述目标意图和所述M个槽位的填充信息用于执行所述用户命令。
可选地,接收单元703还用于接收服务器发送的用户命令的响应信息,该装置700还可以包括输出单元705,该输出单元705用于输出所述响应信息。
可选地,第一信息为第一槽位的填充信息或第一槽位对应的GUI信息。
上述各个单元的具体实现可以参见上述实施例一中相关描述,此处不再赘述。
在一种可能的实现方式中,该装置700还包括:
存储单元,用于在检测到针对图形用户界面(GUI)上第一控件的用户操作时,更新或存储所述第一控件对应的GUI信息,所述GUI为所述终端上显示的用户界面。
在一种可能的实现方式中,所述生成单元702,具体用于:识别输入的用户命令的预测意图;在第二槽位的填充信息缺失时,从第一GUI信息集合中获取所述第二槽位对应的GUI信息,所述第二槽位为所述用户命令的预测意图被配置N个槽位中缺失填充信息的槽位,N为正整数;根据所述用户请求和所述第二槽位对应的GUI信息生成所述第一请求,所述第一请求携带所述第二槽位对应的GUI信息,以使所述服务器在接收到所述第一请求后,所述服务器根据所述用户命令和所述第二槽位对应的GUI信息确定所述第一槽位。
上述各个单元的具体实现可以参见上述实施例二中相关描述,此处不再赘述。
在一种可能的实现方式中,所述生成单元702具体用于:根据输入的用户命令和第二GUI信息集合生成第一请求,所述第一请求携带所述第二GUI信息集合。
上述各个单元的具体实现可以参见上述实施例三中相关描述,此处不再赘述。
在一种可能的实现方式中,所述生成单元702具体用于:根据输入的用户命令和第一GUI信息集合生成第一请求,所述第一请求携带所述第一GUI信息集合。
上述各个单元的具体实现可以参见上述实施例四中相关描述,此处不再赘述。
在一种可能的实现方式中,所述发送单元703还用于:在检测到针对图形用户界面(GUI)上第一控件的用户操作时,将所述第一控件对应的GUI信息发送至所述服务器,其中,所述GUI为所述终端上显示的用户界面。
上述各个单元的具体实现可以参见上述实施例四中相关描述,此处不再赘述。
请参见图8,图8是本发明实施例提供的一种执行命令的装置的结构示意图,该装置800,应用于服务器,可以包括,该装置800可以包括但不限于如下功能单元:
接收单元801,用于接收终端发送的第一请求,所述第一请求用于向所述服务器请求执行用户命令;
填充单元802,用于在第一槽位的填充信息缺失时,从第一GUI信息集合中确定所述第一槽位的填充信息,所述第一槽位为所述用户命令的目标意图被配置的M个槽位中填充信息缺失的槽位,M为正整数,所述第一GUI信息集合包括槽位与GUI信息的对应关系;
执行单元803,用于根据所述用户命令的目标意图及所述目标意图的被配置的槽位的填充信息执行所述用户命令。
可选地,执行单元板803执行用户命令得到用户命令的响应信息,还装置800还可以包括发送单元804,该发送单元804用于向所述终端发送所述响应信息。
上述各个单元的具体实现可以参见上述实施例一中相关描述,此处不再赘述。
在一种可能的实现方式中,所述第一GUI信息集合包括第一控件对应的GUI信息,所述第一控件对应的GUI信息为所述终端在检测到针对图形用户界面(GUI)上针对所述第一控件的用户操作时存储或更新的,其中,所述GUI为所述终端上显示的用户界面。
在一种可能的实现方式中,所述发送单元804还用于,在第一槽位的填充信息缺失时,向所述终端发送第二请求,所述第二请求用于向所述终端请求第一槽位的填充信息;
所述接收单元801还用于,接收来自所述终端的所述第一槽位的填充信息,所述第一槽位的填充信息是所述终端从所述第一GUI信息集合中确定的。
上述各个单元的具体实现可以参见上述实施例一中相关描述,此处不再赘述。
在一种可能的实现方式中,所述在第一槽位的填充信息缺失时,从第一GUI信息集合中确定所述第一槽位的填充信息,包括:
所述发送单元804还用于,在第一槽位的填充信息缺失时,向所述终端发送第三请求,所述第三请求用于向所述终端请求第一槽位对应的GUI信息;
所述接收单元801还用于,接收来自所述终端的所述第一槽位对应的GUI信息,所述第一槽位对应的GUI信息是所述终端从所述第一GUI信息集合中确定的;
所述填充单元802具体用于:根据所述第一槽位对应的GUI信息确定所述第一槽位的填充信息。
上述各个单元的具体实现可以参见上述实施例一中相关描述,此处不再赘述。
在一种可能的实现方式中,所述第一请求携带第二槽位对应的GUI信息;所述装置800还包括:第一确定单元,用于在所述接收单元接收终端发送的第一请求之后,所述填充单元在第一槽位的填充信息缺失时,从第一GUI信息集合中确定所述第一槽位的填充信息之前,根据所述用户命令和所述第二槽位对应的GUI信息确定所述第一槽位,其中,所述第二槽位为所述用户命令的预测意图被配置N个槽位中缺失填充信息的槽位,N为正整数,所述预测意图为所述终端识别到的所述用户命令的意图。
上述各个单元的具体实现可以参见上述实施例二中相关描述,此处不再赘述。
在一种可能的实现方式中,所述第一请求携带第二GUI信息集合,所述装置800还包括:
第二确定单元,用于在所述接收单元接收终端发送的第一请求之后,所述填充单元在第一槽位的填充信息缺失时,从第一GUI信息集合中确定所述第一槽位的填充信息之前,根据所述用户命令和所述第二GUI信息集合确定所述第一槽位。
上述各个单元的具体实现可以参见上述实施例三中相关描述,此处不再赘述。
在一种可能的实现方式中,所述第一请求携带第一GUI信息集合。
在一种可能的实现方式中,所述接收单元801还用于,接收所述终端发送的第一控件对应的GUI信息,
所述装置还包括存储单元,用于更新或存储所述第一控件对应的GUI信息,所述第一控件为所述终端的图形用户界面(GUI)上的一个控件。
可选地,所述第一控件对应的GUI信息为所述终端在检测到针对图形用户界面(GUI)上所述第一控件的用户操作时获取的所述第一控件对应的GUI信息,其中,所述GUI为所述终端上显示的用户界面。
上述各个单元的具体实现可以参见上述实施例四中相关描述,此处不再赘述。
请参见图9,图9是本发明实施例提供的一种执行命令的装置的结构示意图,该装置900,应用于终端,可以包括,该装置900可以包括但不限于如下功能单元:
输入单元901,用于接收输入的用户命令;
意图识别单元902,用于在接收单元901接收到输入的用户命令后,识别所述用户命令的目标意图;
填充单元903,用于在第一槽位的填充信息缺失时,从第一GUI信息集合中确定所述第一槽位的填充信息,所述第一槽位为所述目标意图被配置的M个槽位中填充信息缺失的槽位,M为正整数,所述第一GUI信息集合包括槽位与GUI信息的对应关系;
执行单元904,用于根据所述目标意图和所述M个槽位的填充信息执行用户命令,得到所述用户命令的响应信息;
输出单元905,用于输出所述响应信息。
可选地,执行单元904具体用于:根据所述目标意图、所述M个槽位的填充信息生成第四请求;向所述服务器发送所述第四请求,所述第四请求用于请求服务器根据所述目标意图、所述M个槽位的填充信息执行所述目标意图。
上述各个单元的具体实现可以参见上述实施例五中相关描述,此处不再赘述。
请参见图10,图10是本发明实施例提供的一种执行命令的装置的结构示意图,该装置1000,应用于服务器,可以包括,该装置1000可以包括但不限于如下功能单元:
接收单元1001,用于接收终端发送的第四请求,所述第四请求用于请求执行用户命令的目标意图,所述第四请求携带所述目标意图和所述目标意图被配置的M个槽位的填充信息,所述M个槽位的填充信息包括第一槽位的填充信息,所述第一槽位的填充信息是终端根据第一GUI信息集合确定的,M为正整数,所述第一GUI信息集合包括槽位与GUI信息的对应关系;
执行单元1002,用于根据所述目标意图、所述M个槽位的填充信息执行所述目标意图,得到响应信息;
发送单元1003,用于向所述终端发送所述响应信息。
上述各个单元的具体实现可以参见上述实施例五中相关描述,此处不再赘述。
需要说明的是,上述装置700和装置900可以是显示图1A-图1E的终端,也可以是图2A、图2B所示的场景中的终端,还可以是图3所示的系统30中的终端31。上述装置800和装置1000可以是图2A、图2B所示的场景中的第一服务器、第三服务器,也可以是图3所示的系统30中的业务服务器32。
下面介绍本申请实施例提供的示例性终端1100,该终端1100可以实现为上述实施例一至五任意实施例中提及的终端,可以是用于显示图1A-图1E所示的终端,也可以是图2A、图2B所示的场景中的终端,也可以是图3所示的系统30中的终端31。处理资源有限的终端1100,如手机、平板电脑等,可以向处理功能强大的服务器,如业务服务器、语音识别服务器、自然语言处理服务器等分别请求执行用户命令和请求识别用户命令的文本,终端1100也可以单独执行用户的命令。
图11示出了终端1100的结构示意图。
终端1100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对终端1100的具体限定。在本申请另一些实施例中,终端1100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在一些实施例中,终端1100也可以包括一个或多个处理器110。
其中,控制器可以是终端1100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了终端1100的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现终端1100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现终端1100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现终端1100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端1100充电,也可以用于终端1100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端1100的结构限定。在另一些实施例中,终端1100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端1100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
终端1100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端1100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端1100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在终端1100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。示例性地,无线通信模块160可以包括蓝牙模块、Wi-Fi模块等。
在一些实施例中,终端1100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端1100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
终端1100通过GPU,显示屏194,以及应用处理器等可以实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端1100可以包括1个或N个显示屏194,N为大于1的正整数。在本申请实施例中,显示屏194可以作为输出装置,显示用户命令的响应信息、GUI等。
终端1100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,终端1100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端1100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。终端1100可以支持一种或多种视频编解码器。这样,终端1100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)-1,MPEG-2,MPEG-3,MPEG-4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端1100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端1100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐、照片、视频等数据保存在外部存储卡中。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得终端1100执行本申请一些实施例中所提供的数据分享的方法,以及各种功能应用以及数据处理等。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用程序(比如图库、联系人等)等。存储数据区可存储终端1100使用过程中所创建的数据(比如照片,联系人等)。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
终端1100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端1100可以通过扬声器170A收听音乐,或收听免提通话。在本申请实施例中,扬声器170A可以作为输出装置,输出用户命令的响应信息。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端1100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。终端1100可以设置至少一个麦克风170C。在另一些实施例中,终端1100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端1100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。在一些实施例中,麦克风170C可以用于采集音频格式的用户指令。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。终端1100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,终端1100根据压力传感器180A检测所述触摸操作强度。终端1100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定终端1100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定终端1100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测终端1100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端1100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,终端1100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。终端1100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当终端1100是翻盖机时,终端1100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测终端1100在各个方向上(一般为三轴)加速度的大小。当终端1100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。终端1100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,终端1100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。终端1100通过发光二极管向外发射红外光。终端1100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定终端1100附近有物体。当检测到不充分的反射光时,终端1100可以确定终端1100附近没有物体。终端1100可以利用接近光传感器180G检测用户手持终端1100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。终端1100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测终端1100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。终端1100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,终端1100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,终端1100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,终端1100对电池142加热,以避免低温导致终端1100异常关机。在其他一些实施例中,当温度低于又一阈值时,终端1100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也可称触控面板或触敏表面。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于终端1100的表面,与显示屏194所处的位置不同。在一些实施例中,触摸传感器180K可以用于作为输入装置,接收用户输入的文字格式的用户指令、或其他用户操作。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端1100可以接收按键输入,产生与终端1100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和终端1100的接触和分离。终端1100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。终端1100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,终端1100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在终端1100中,不能和终端1100分离。
图11示例性所示的终端1100可以通过显示屏194显示以下各个实施例中所描述的各个用户界面。终端1100可以通过触摸传感器180K在各个用户界面中检测触控操作,例如在各个用户界面中的点击操作(如在图标上的触摸操作、双击操作),又例如在各个用户界面中的向上或向下的滑动操作,或执行画圆圈手势的操作,等等。在一些实施例中,终端1100可以通过陀螺仪传感器180B、加速度传感器180E等检测用户手持终端1100执行的运动手势,例如晃动电子设备。在一些实施例中,终端1100可以通过摄像头193(如3D摄像头、深度摄像头)检测非触控的手势操作。
本申请实施例中,终端1100可实现如上述实施例一至五任意一个实施例中终端执行的方法或步骤,具体可参见上述实施例一至五中相关描述,此处不再赘述。
下面介绍本申请实施例提供的示例性服务器1200,该服务器1200可以实现为上述实施例一至五任意实施例中提及的业务服务器,可以是用于与显示的如图1A-图1E所示的GUI的终端交互的服务器,也可以是图2A、图2B所示的场景中的第一服务器、第三服务器,也可以是图3所示的系统30中的业务服务器32。在一些实施例中,服务器1200还可以实现语音识别服务器和/或自然语言理解服务器实现的方法或步骤。
图12为本发明实施例中一种服务器的硬件结构示意图。图12所示的服务器1200包括存储器1201、处理器1202、通信接口1203以及总线1204。其中,存储器1201、处理器1202、通信接口1203通过总线1204实现彼此之间的通信连接。
存储器1201可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器1201可以存储程序,当存储器1201中存储的程序被处理器1202执行时,处理器1202和通信接口1203用于执行本申请方法实施例一至五任意一个实施例中业务服务器执行的方法或步骤。
处理器1202可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的命令执行装置900中的单元所需执行的功能,或者执行本申请方法实施例一至五任意一个实施例中业务服务器执行的方法或步骤。
处理器1202还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的神经网络的压缩方法的各个步骤可以通过处理器1202中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1202还可以是通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1201,处理器1202读取存储器1201中的信息,结合其硬件完成本申请实施例的命令执行装置900中的单元所需执行的功能,或者执行本申请方法实施例一至五任意一个实施例中业务服务器执行的方法或步骤。
通信接口1203使用例如但不限于收发器一类的收发装置,来实现装置1200与其他设备或通信网络之间的通信。例如,可以通过通信接口1203接收来自终端的数据,如第一请求、第一GUI信息集合、第一槽位的填充信息、第一槽位对应的GUI信息、第二GUI信息集合等。
总线1204可包括在服务器1200各个部件(例如,存储器1201、处理器1202、通信接口1203)之间传送信息的通路。
本申请实施例中,服务器1200可实现如上述实施例一至五任意一个实施例中业务服务器、语音识别服务器和/或自然语言理解服务器等服务器执行的方法或步骤,具体可参见上述实施例一至五中相关描述,此处不再赘述。
应注意,尽管图12所示的服务器1200仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,服务器1200还包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,服务器1200还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,服务器1200也可仅仅包括实现本申请实施例所必须的器件,而不必包括图12中所示的全部器件。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
以上实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个、两个或两个以上。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (42)
1.一种执行命令的方法,其特征在于,应用于终端,该方法包括:
根据输入的用户命令生成第一请求,所述第一请求用于向服务器请求执行所述用户命令;所述用户命令对应的文本中包括指示代词;
向所述服务器发送所述第一请求;
接收所述服务器发送的第二请求,所述第二请求用于向所述终端请求第一信息,所述第一信息用于确定第一槽位的填充信息;
根据所述第二请求,在第一GUI信息集合中确定所述第一信息;
将所述第一信息发送至所述服务器,其中,所述第一槽位为所述用户命令的目标意图被配置的M个槽位中填充信息缺失的槽位,M为正整数,所述第一GUI信息集合包括槽位与GUI信息的对应关系,所述目标意图和所述M个槽位的填充信息用于执行所述用户命令;
其中,所述GUI信息为应用程序的GUI上控件对应的业务数据;所述业务数据是所述应用程序与所述服务器的交互数据;当所述控件被操作时,所述终端更新所述控件对应的GUI信息。
2.如权利要求1所述的方法,其特征在于,所述方法还包括,在检测到针对图形用户界面(GUI)上第一控件的用户操作时,更新或存储所述第一控件对应的GUI信息,所述GUI为所述终端上显示的用户界面。
3.如权利要求1或2所述的方法,其特征在于,所述第一信息为第一槽位的填充信息或所述第一槽位对应的GUI信息。
4.如权利要求1-3任一项所述的方法,其特征在于,所述根据输入的用户命令生成第一请求,具体包括:
识别输入的用户命令的预测意图;
在第二槽位的填充信息缺失时,从第一GUI信息集合中获取所述第二槽位对应的GUI信息,所述第二槽位为所述用户命令的预测意图被配置N个槽位中缺失填充信息的槽位,N为正整数;
根据所述用户请求和所述第二槽位对应的GUI信息生成所述第一请求,所述第一请求携带所述第二槽位对应的GUI信息,以使所述服务器在接收到所述第一请求后,所述服务器根据所述用户命令和所述第二槽位对应的GUI信息确定所述第一槽位。
5.如权利要求1-3任一项所述的方法,其特征在于,所述根据输入的用户命令生成第一请求包括:
根据输入的用户命令和第二GUI信息集合生成第一请求,所述第一请求携带所述第二GUI信息集合,以使所述服务器在接收到所述第一请求后,所述服务器根据所述用户命令和所述第二GUI信息集合确定所述第一槽位。
6.一种执行命令的方法,其特征在于,应用于服务器,该方法包括:
接收终端发送的第一请求,所述第一请求用于向所述服务器请求执行用户命令;所述用户命令对应的文本中包括指示代词;
在第一槽位的填充信息缺失时,从第一GUI信息集合中确定所述第一槽位的填充信息,所述第一槽位为所述用户命令的目标意图被配置的M个槽位中填充信息缺失的槽位,M为正整数,所述第一GUI信息集合包括槽位与GUI信息的对应关系;
根据所述用户命令的目标意图及所述目标意图的被配置的槽位的填充信息执行所述用户命令;
其中,所述GUI信息为应用程序的GUI上控件对应的业务数据,所述业务数据是所述应用程序与所述服务器的交互数据;当所述控件被操作时,所述终端更新所述控件对应的GUI信息。
7.如权利要求6所述的方法,其特征在于,所述第一GUI信息集合包括第一控件对应的GUI信息,所述第一控件对应的GUI信息为所述终端在检测到针对图形用户界面(GUI)上针对所述第一控件的用户操作时存储或更新的,其中,所述GUI为所述终端上显示的用户界面。
8.如权利要求7所述的方法,其特征在于,所述在第一槽位的填充信息缺失时,从第一GUI信息集合中确定所述第一槽位的填充信息,包括:
在第一槽位的填充信息缺失时,向所述终端发送第二请求,所述第二请求用于向所述终端请求第一槽位的填充信息;
接收来自所述终端的所述第一槽位的填充信息,所述第一槽位的填充信息是所述终端从所述第一GUI信息集合中确定的。
9.如权利要求7所述的方法,其特征在于,所述在第一槽位的填充信息缺失时,从第一GUI信息集合中确定所述第一槽位的填充信息,包括:
在第一槽位的填充信息缺失时,向所述终端发送第三请求,所述第三请求用于向所述终端请求第一槽位对应的GUI信息;
接收来自所述终端的所述第一槽位对应的GUI信息,所述第一槽位对应的GUI信息是所述终端从所述第一GUI信息集合中确定的;
根据所述第一槽位对应的GUI信息确定所述第一槽位的填充信息。
10.如权利要求6-9任一项所述的方法,其特征在于,所述第一请求携带第二槽位对应的GUI信息;所述接收终端发送的第一请求之后,所述在第一槽位的填充信息缺失时,从第一GUI信息集合中确定所述第一槽位的填充信息之前,所述方法还包括:
根据所述用户命令和所述第二槽位对应的GUI信息确定所述第一槽位,其中,所述第二槽位为所述用户命令的预测意图被配置N个槽位中缺失填充信息的槽位,N为正整数,所述预测意图为所述终端识别到的所述用户命令的意图。
11.如权利要求6-10任一项所述的方法,其特征在于,所述第一请求携带第二GUI信息集合;所述接收终端发送的第一请求之后,所述在第一槽位的填充信息缺失时,从第一GUI信息集合中确定所述第一槽位的填充信息之前,所述方法还包括:
根据所述用户命令和所述第二GUI信息集合确定所述第一槽位。
12.如权利要求6-10任一项所述的方法,其特征在于,所述第一请求携带第一GUI信息集合。
13.如权利要求6所述的方法,其特征在于,所述方法还包括:
接收来自所述终端的第一控件对应的GUI信息,更新或存储所述第一控件对应的GUI信息,其中,所述第一控件为所述终端的图形用户界面(GUI)上的一个控件。
14.一种执行命令的方法,其特征在于,应用于终端,该方法包括:
在接收到输入的用户命令后,识别所述用户命令的目标意图;所述用户命令对应的文本中包括指示代词;
在第一槽位的填充信息缺失时,从第一GUI信息集合中获取所述第一槽位的填充信息,所述第一槽位为所述目标意图被配置的M个槽位中填充信息缺失的槽位,M为正整数,所述第一GUI信息集合包括槽位与GUI信息的对应关系;
根据所述目标意图和所述M个槽位的填充信息执行所述用户命令,得到所述用户命令的响应信息;
输出所述响应信息;
其中,所述GUI信息为应用程序的GUI上控件对应的业务数据;所述业务数据是所述应用程序与服务器的交互数据;当所述控件被操作时,所述终端更新所述控件对应的GUI信息。
15.一种执行命令的方法,其特征在于,应用于服务器,该方法包括:
接收终端发送的请求,所述请求用于请求执行用户命令的目标意图,所述用户命令对应的文本中包括指示代词,所述请求携带所述目标意图和所述目标意图被配置的M个槽位的填充信息,所述M个槽位的填充信息包括第一槽位的填充信息,所述第一槽位为所述目标意图被配置的M个槽位中填充信息缺失的槽位,所述第一槽位的填充信息是所述终端根据第一GUI信息集合确定的,M为正整数,所述第一GUI信息集合包括槽位与GUI信息的对应关系;
根据所述目标意图、所述M个槽位的填充信息执行所述目标意图;
其中,所述GUI信息为应用程序的GUI上控件对应的业务数据;所述业务数据是所述应用程序与所述服务器的交互数据;当所述控件被操作时,所述终端更新所述控件对应的GUI信息。
16.一种执行命令的装置,其特征在于,应用于终端,该装置包括:
生成单元,用于根据输入的用户命令生成第一请求,所述第一请求用于向服务器请求执行所述用户命令;所述用户命令对应的文本中包括指示代词;
发送单元,用于向所述服务器发送所述第一请求;
接收单元,用于接收所述服务器发送的第二请求,所述第二请求用于向所述终端请求第一信息,所述第一信息用于确定第一槽位的填充信息;
确定单元,用于根据所述第二请求,在第一GUI信息集合中确定所述第一信息;
所述发送单元还用于将所述第一信息发送至所述服务器,其中,所述第一槽位为所述用户命令的目标意图被配置的M个槽位中填充信息缺失的槽位,M为正整数,所述第一GUI信息集合包括槽位与GUI信息的对应关系,所述目标意图和所述M个槽位的填充信息用于执行所述用户命令;
其中,所述GUI信息为应用程序的GUI上控件对应的业务数据;所述业务数据是所述应用程序与所述服务器的交互数据;当所述控件被操作时,所述终端更新所述控件对应的GUI信息。
17.如权利要求16所述的装置,其特征在于,所述装置还包括:
存储单元,用于在检测到针对图形用户界面(GUI)上第一控件的用户操作时,更新或存储所述第一控件对应的GUI信息,所述GUI为所述终端上显示的用户界面。
18.如权利要求16或17所述的装置,其特征在于,第一信息为第一槽位的填充信息或所述第一槽位对应的GUI信息。
19.如权利要求16-18任一项所述的装置,其特征在于,所述生成单元,具体用于:
识别输入的用户命令的预测意图;
在第二槽位的填充信息缺失时,从第一GUI信息集合中获取所述第二槽位对应的GUI信息,所述第二槽位为所述用户命令的预测意图被配置N个槽位中缺失填充信息的槽位,N为正整数;
根据所述用户请求和所述第二槽位对应的GUI信息生成所述第一请求,所述第一请求携带所述第二槽位对应的GUI信息,以使所述服务器在接收到所述第一请求后,所述服务器根据所述用户命令和所述第二槽位对应的GUI信息确定所述第一槽位。
20.如权利要求16-18任一项所述的装置,其特征在于,所述生成单元具体用于:
根据输入的用户命令和第二GUI信息集合生成第一请求,所述第一请求携带所述第二GUI信息集合,以使所述服务器在接收到所述第一请求后,所述服务器根据所述用户命令和所述第二GUI信息集合确定所述第一槽位。
21.一种执行命令的装置,其特征在于,应用于服务器,该装置包括:
接收单元,用于接收终端发送的第一请求,所述第一请求用于向所述服务器请求执行用户命令;所述用户命令对应的文本中包括指示代词;
填充单元,用于在第一槽位的填充信息缺失时,从第一GUI信息集合中确定所述第一槽位的填充信息,所述第一槽位为所述用户命令的目标意图被配置的M个槽位中填充信息缺失的槽位,M为正整数,所述第一GUI信息集合包括槽位与GUI信息的对应关系;
执行单元,用于根据所述用户命令的目标意图及所述目标意图的被配置的槽位的填充信息执行所述用户命令;
其中,所述GUI信息为应用程序的GUI上控件对应的业务数据;所述业务数据是所述应用程序与所述服务器的交互数据;当所述控件被操作时,所述终端更新所述控件对应的GUI信息。
22.如权利要求21所述的装置,其特征在于,所述第一GUI信息集合包括第一控件对应的GUI信息,所述第一控件对应的GUI信息为所述终端在检测到针对图形用户界面(GUI)上针对所述第一控件的用户操作时存储或更新的,其中,所述GUI为所述终端上显示的用户界面。
23.如权利要求22所述的装置,其特征在于,所述装置还包括:发送单元;
所述发送单元用于,在第一槽位的填充信息缺失时,向所述终端发送第二请求,所述第二请求用于向所述终端请求第一槽位的填充信息;
所述接收单元还用于,接收来自所述终端的所述第一槽位的填充信息,所述第一槽位的填充信息是所述终端从所述第一GUI信息集合中确定的。
24.如权利要求22所述的装置,其特征在于,所述装置还包括:发送单元:
所述发送单元用于,在第一槽位的填充信息缺失时,向所述终端发送第三请求,所述第三请求用于向所述终端请求第一槽位对应的GUI信息;
所述接收单元还用于,接收来自所述终端的所述第一槽位对应的GUI信息,所述第一槽位对应的GUI信息是所述终端从所述第一GUI信息集合中确定的;
所述填充单元具体用于:根据所述第一槽位对应的GUI信息确定所述第一槽位的填充信息。
25.如权利要求21-24任一项所述的装置,其特征在于,所述第一请求携带第二槽位对应的GUI信息;所述装置还包括:
第一确定单元,用于在所述接收单元接收终端发送的第一请求之后,所述填充单元在第一槽位的填充信息缺失时,从第一GUI信息集合中确定所述第一槽位的填充信息之前,根据所述用户命令和所述第二槽位对应的GUI信息确定所述第一槽位,其中,所述第二槽位为所述用户命令的预测意图被配置N个槽位中缺失填充信息的槽位,N为正整数,所述预测意图为所述终端识别到的所述用户命令的意图。
26.如权利要求21-24任一项所述的装置,其特征在于,所述第一请求携带第二GUI信息集合;所述装置还包括:
第二确定单元,用于在所述接收单元接收终端发送的第一请求之后,所述填充单元在第一槽位的填充信息缺失时,从第一GUI信息集合中确定所述第一槽位的填充信息之前,根据所述用户命令和所述第二GUI信息集合确定所述第一槽位。
27.如权利要求21-24任一项所述的装置,其特征在于,所述第一请求携带第一GUI信息集合。
28.如权利要求21所述的装置,其特征在于,
所述接收单元还用于,接收来自所述终端的第一控件对应的GUI信息,
所述装置还包括存储单元,用于更新或存储所述第一控件为所述终端的图形用户界面(GUI)上的一个控件。
29.一种执行命令的装置,其特征在于,应用于终端,该装置包括:
意图识别单元,用于在接收到输入的用户命令后,识别所述用户命令的目标意图;所述用户命令对应的文本中包括指示代词;
填充单元,用于在第一槽位的填充信息缺失时,从第一GUI信息集合中确定所述第一槽位的填充信息,所述第一槽位为所述目标意图被配置的M个槽位中填充信息缺失的槽位,M为正整数,所述第一GUI信息集合包括槽位与GUI信息的对应关系;
执行单元,用于根据所述目标意图和所述M个槽位的填充信息执行用户命令,得到所述用户命令的响应信息;
输出单元,用于输出所述响应信息;
其中,所述GUI信息为应用程序的GUI上控件对应的业务数据;所述业务数据是所述应用程序与服务器的交互数据;当所述控件被操作时,所述终端更新所述控件对应的GUI信息。
30.一种执行命令的装置,其特征在于,应用于服务器,该装置包括:
接收单元,用于接收终端发送的请求,所述请求用于请求执行用户命令的目标意图,所述用户命令对应的文本中包括指示代词,所述请求携带所述目标意图和所述目标意图被配置的M个槽位的填充信息,所述M个槽位的填充信息包括第一槽位的填充信息,所述第一槽位为所述目标意图被配置的M个槽位中填充信息缺失的槽位,所述第一槽位的填充信息是所述终端根据第一GUI信息集合确定的,M为正整数,所述第一GUI信息集合包括槽位与GUI信息的对应关系;
执行单元,用于根据所述目标意图、所述M个槽位的填充信息执行所述目标意图,得到响应信息;
发送单元用于,向所述终端发送所述响应信息;
其中,所述GUI信息为应用程序的GUI上控件对应的业务数据;所述业务数据是所述应用程序与所述服务器的交互数据;当所述控件被操作时,所述终端更新所述控件对应的GUI信息。
31.一种终端,其特征在于,所述终端包括:一个或多个处理器、一个或多个存储器、通信接口;所述通信接口用于与服务器数据交互,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述终端执行如权利要求1-5任一项所述的执行命令的方法。
32.一种服务器,其特征在于,所述服务器包括:一个或多个处理器、一个或多个存储器、通信接口;所述通信接口用于与终端数据交互,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述终端执行如权利要求6-13任一项所述的执行命令的方法。
33.一种终端,其特征在于,所述终端包括:一个或多个处理器、一个或多个存储器、通信接口;所述通信接口用于与服务器数据交互,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述终端执行如权利要求14所述的执行命令的方法。
34.一种服务器,其特征在于,所述服务器包括:一个或多个处理器、一个或多个存储器、通信接口;所述通信接口用于与终端数据交互,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述终端执行如权利要求15所述的执行命令的方法。
35.一种终端,其特征在于,所述终端包括触控屏、存储器和用以执行存储于所述存储器中的一个或一个以上程序的一个或一个以上的处理器,所述终端通过所述触控屏显示用户图形界面(GUI),所述GUI包括第一控件,其中,
在检测到针对所述第一控件的用户操作时,所述终端存储或更新所述第一控件对应的GUI信息;
其中,所述终端还包括:第一GUI信息集合,所述第一GUI信息集合包括槽位与GUI信息的对应关系;所述第一GUI信息集合用于在第一槽位的填充信息缺失时,根据所述第一GUI信息集合确定所述第一槽位的填充信息,所述第一槽位为用户命令的目标意图被配置的槽位中填充信息缺失的槽位;所述用户命令对应的文本中包括指示代词;
所述GUI信息为应用程序的GUI上控件对应的业务数据;所述业务数据是所述应用程序与服务器的交互数据;当所述控件被操作时,所述终端更新所述控件对应的GUI信息。
36.如权利要求35所述的终端,其特征在于,所述GUI还包括文本输入控件,其中:
响应于检测到的针对所述文本输入控件输入的文本格式的用户指令,将所述文本格式的用户指令发送至服务器。
37.如权利要求35或36所述的终端,其特征在于,所述GUI还包括语音输入控件,其中:
响应于检测到的针对所述文本输入控件输入的语音格式的用户指令,将所述语音格式的用户指令发送至服务器。
38.如权利要求35-37任一项所述的终端,其特征在于,所述终端还用于向服务器发送所述第一控件对应的GUI信息。
39.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在终端上运行时,使得所述终端执行如权利要求1-5任一项所述的执行命令的方法。
40.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在服务器上运行时,使得所述服务器执行如权利要求6-13任一项所述的执行命令的方法。
41.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在终端上运行时,使得所述终端执行如权利要求14所述的执行命令的方法。
42.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在服务器上运行时,使得所述服务器执行如权利要求15所述的执行命令的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910937857.9A CN110798506B (zh) | 2019-09-27 | 2019-09-27 | 执行命令的方法、装置及设备 |
PCT/CN2020/112832 WO2021057408A1 (zh) | 2019-09-27 | 2020-09-01 | 执行命令的方法、装置及设备 |
US17/701,339 US20220214894A1 (en) | 2019-09-27 | 2022-03-22 | Command execution method, apparatus, and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910937857.9A CN110798506B (zh) | 2019-09-27 | 2019-09-27 | 执行命令的方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110798506A CN110798506A (zh) | 2020-02-14 |
CN110798506B true CN110798506B (zh) | 2023-03-10 |
Family
ID=69440012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910937857.9A Active CN110798506B (zh) | 2019-09-27 | 2019-09-27 | 执行命令的方法、装置及设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220214894A1 (zh) |
CN (1) | CN110798506B (zh) |
WO (1) | WO2021057408A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110310641B (zh) * | 2019-02-26 | 2022-08-26 | 杭州蓦然认知科技有限公司 | 一种用于语音助手的方法及装置 |
CN110798506B (zh) * | 2019-09-27 | 2023-03-10 | 华为技术有限公司 | 执行命令的方法、装置及设备 |
CN111312254A (zh) * | 2020-03-26 | 2020-06-19 | 镁佳(北京)科技有限公司 | 语音对话方法和装置 |
CN111538814B (zh) * | 2020-04-26 | 2024-03-08 | 云知声智能科技股份有限公司 | 一种语义理解中协议支持自定义标准化的方法 |
CN111883125A (zh) * | 2020-07-24 | 2020-11-03 | 北京蓦然认知科技有限公司 | 一种车辆语音控制方法、装置和系统 |
TWI749709B (zh) * | 2020-08-14 | 2021-12-11 | 國立雲林科技大學 | 一種語者辨識方法 |
CN112637206B (zh) * | 2020-12-23 | 2022-08-26 | 光大兴陇信托有限责任公司 | 一种业务数据主动获取方法和系统 |
CN113746754B (zh) * | 2021-07-29 | 2024-04-23 | 广东浪潮智慧计算技术有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN114296741A (zh) * | 2021-12-29 | 2022-04-08 | 无锡沐创集成电路设计有限公司 | 命令行执行方法、系统、存储介质及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570002A (zh) * | 2016-11-07 | 2017-04-19 | 网易(杭州)网络有限公司 | 自然语言处理方法和装置 |
CN107886948A (zh) * | 2017-11-16 | 2018-04-06 | 百度在线网络技术(北京)有限公司 | 语音交互方法及装置,终端,服务器及可读存储介质 |
CN107967055A (zh) * | 2017-11-16 | 2018-04-27 | 深圳市金立通信设备有限公司 | 一种人机交互方法、终端及计算机可读介质 |
CN108664472A (zh) * | 2018-05-08 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 自然语言处理方法、装置及其设备 |
CN108877804A (zh) * | 2018-06-26 | 2018-11-23 | 苏州思必驰信息科技有限公司 | 语音服务方法、系统、电子设备及存储介质 |
CN109948017A (zh) * | 2018-04-26 | 2019-06-28 | 华为技术有限公司 | 一种信息处理方法及装置 |
CN110136705A (zh) * | 2019-04-10 | 2019-08-16 | 华为技术有限公司 | 一种人机交互的方法和电子设备 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9858925B2 (en) * | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US9836177B2 (en) * | 2011-12-30 | 2017-12-05 | Next IT Innovation Labs, LLC | Providing variable responses in a virtual-assistant environment |
US8606568B1 (en) * | 2012-10-10 | 2013-12-10 | Google Inc. | Evaluating pronouns in context |
US9148394B2 (en) * | 2012-12-11 | 2015-09-29 | Nuance Communications, Inc. | Systems and methods for user interface presentation of virtual agent |
US10055681B2 (en) * | 2013-10-31 | 2018-08-21 | Verint Americas Inc. | Mapping actions and objects to tasks |
US9286910B1 (en) * | 2014-03-13 | 2016-03-15 | Amazon Technologies, Inc. | System for resolving ambiguous queries based on user context |
US9830391B1 (en) * | 2014-06-24 | 2017-11-28 | Google Inc. | Query modification based on non-textual resource context |
US9508339B2 (en) * | 2015-01-30 | 2016-11-29 | Microsoft Technology Licensing, Llc | Updating language understanding classifier models for a digital personal assistant based on crowd-sourcing |
KR102112814B1 (ko) * | 2015-10-21 | 2020-05-19 | 구글 엘엘씨 | 다이얼로그 시스템들에서의 파라미터 수집 및 자동 다이얼로그 생성 |
US20180089316A1 (en) * | 2016-09-26 | 2018-03-29 | Twiggle Ltd. | Seamless integration of modules for search enhancement |
US10467509B2 (en) * | 2017-02-14 | 2019-11-05 | Microsoft Technology Licensing, Llc | Computationally-efficient human-identifying smart assistant computer |
US10452251B2 (en) * | 2017-05-23 | 2019-10-22 | Servicenow, Inc. | Transactional conversation-based computing system |
CN110138959B (zh) * | 2019-04-10 | 2022-02-15 | 荣耀终端有限公司 | 显示人机交互指令的提示的方法及电子设备 |
CN110111787B (zh) * | 2019-04-30 | 2021-07-09 | 华为技术有限公司 | 一种语义解析方法及服务器 |
CN110798506B (zh) * | 2019-09-27 | 2023-03-10 | 华为技术有限公司 | 执行命令的方法、装置及设备 |
-
2019
- 2019-09-27 CN CN201910937857.9A patent/CN110798506B/zh active Active
-
2020
- 2020-09-01 WO PCT/CN2020/112832 patent/WO2021057408A1/zh active Application Filing
-
2022
- 2022-03-22 US US17/701,339 patent/US20220214894A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570002A (zh) * | 2016-11-07 | 2017-04-19 | 网易(杭州)网络有限公司 | 自然语言处理方法和装置 |
CN107886948A (zh) * | 2017-11-16 | 2018-04-06 | 百度在线网络技术(北京)有限公司 | 语音交互方法及装置,终端,服务器及可读存储介质 |
CN107967055A (zh) * | 2017-11-16 | 2018-04-27 | 深圳市金立通信设备有限公司 | 一种人机交互方法、终端及计算机可读介质 |
CN109948017A (zh) * | 2018-04-26 | 2019-06-28 | 华为技术有限公司 | 一种信息处理方法及装置 |
CN108664472A (zh) * | 2018-05-08 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 自然语言处理方法、装置及其设备 |
CN108877804A (zh) * | 2018-06-26 | 2018-11-23 | 苏州思必驰信息科技有限公司 | 语音服务方法、系统、电子设备及存储介质 |
CN110136705A (zh) * | 2019-04-10 | 2019-08-16 | 华为技术有限公司 | 一种人机交互的方法和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20220214894A1 (en) | 2022-07-07 |
WO2021057408A1 (zh) | 2021-04-01 |
CN110798506A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110798506B (zh) | 执行命令的方法、装置及设备 | |
CN110111787B (zh) | 一种语义解析方法及服务器 | |
KR102470275B1 (ko) | 음성 제어 방법 및 전자 장치 | |
CN112567457B (zh) | 语音检测方法、预测模型的训练方法、装置、设备及介质 | |
CN110138959B (zh) | 显示人机交互指令的提示的方法及电子设备 | |
CN110597512B (zh) | 显示用户界面的方法及电子设备 | |
WO2022052776A1 (zh) | 一种人机交互的方法、电子设备及系统 | |
WO2021104485A1 (zh) | 一种拍摄方法及电子设备 | |
CN111669459B (zh) | 键盘显示方法、电子设备和计算机可读存储介质 | |
CN111061912A (zh) | 一种处理视频文件的方法及电子设备 | |
CN110910872A (zh) | 语音交互方法及装置 | |
WO2021254411A1 (zh) | 意图识别方法和电子设备 | |
CN111742539B (zh) | 一种语音控制命令生成方法及终端 | |
CN112130714B (zh) | 可进行学习的关键词搜索方法和电子设备 | |
CN111881315A (zh) | 图像信息输入方法、电子设备及计算机可读存储介质 | |
CN111970401B (zh) | 一种通话内容处理方法、电子设备和存储介质 | |
CN112383664A (zh) | 一种设备控制方法、第一终端设备及第二终端设备 | |
CN114691839A (zh) | 一种意图槽位识别方法 | |
CN114822543A (zh) | 唇语识别方法、样本标注方法、模型训练方法及装置、设备、存储介质 | |
CN112740148A (zh) | 一种向输入框中输入信息的方法及电子设备 | |
CN114444000A (zh) | 页面布局文件的生成方法、装置、电子设备以及可读存储介质 | |
CN114359335A (zh) | 一种目标跟踪方法及电子设备 | |
CN114201978A (zh) | 一种对应用程序的界面进行翻译的方法及相关设备 | |
CN113742460A (zh) | 生成虚拟角色的方法及装置 | |
CN111768765A (zh) | 语言模型生成方法和电子设备 |
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 |