CN110688011B - 基于多模态客户端设备的模态的动态列表构成 - Google Patents
基于多模态客户端设备的模态的动态列表构成 Download PDFInfo
- Publication number
- CN110688011B CN110688011B CN201910949390.XA CN201910949390A CN110688011B CN 110688011 B CN110688011 B CN 110688011B CN 201910949390 A CN201910949390 A CN 201910949390A CN 110688011 B CN110688011 B CN 110688011B
- Authority
- CN
- China
- Prior art keywords
- list
- modality
- client device
- subset
- items
- 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
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/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
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- 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/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
-
- 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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- 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/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- 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/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/038—Indexing scheme relating to G06F3/038
- G06F2203/0381—Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及基于多模态客户端设备的模态的动态列表构成。本文公开了用于以根据客户端设备的当前模态而定制的方式动态地将列表中的项划分为一个或多个子集的系统、方法和装置。多模态客户端设备可以进行跨多模态谱的各种交互,所述交互包括仅语音交互、语音主导交互、多模态交互、视觉主导交互、仅视觉交互等。列表可以部分地基于多模态设备的当前模态、指示关于列表的附加信息的一个或多个列表属性等被划分为子集。
Description
背景技术
可以在多模态客户端设备上和/或在诸如经由网络连接到多模态客户端设备的“云”中的计算设备的一个或多个远程计算设备上实现自动化助理(也称为“个人助理”、“移动助理”等)。多模态客户端设备可以为用户提供与设备交互的多种模式。更具体地,多模态设备具有可用于用户向设备输入数据的若干模式和/或可用于设备向用户渲染输出的若干模式。
例如,对多模态设备的用户输入可以包括口语输入(例如,用户说话)、文本输入(例如,用户在键盘上键入、用户在触敏屏幕上输入文本等)、手势输入(例如,用户手部动作、用户注视、用户头部运动等)、触觉输入(例如,对客户端设备施加各种力,诸如挤压客户端设备、拿起客户端设备、摇动客户端设备、将客户端设备放置在特定方向等)以及其他类型的输入(例如,按下客户端设备上的物理按钮、使用鼠标单击用户接口中的按钮、使用鼠标执行操作,诸如使用鼠标滚轮向上和/或向下移动屏幕上的信息等)等。类似地,多模态设备可以通过多种方式向用户渲染输出,包括音频输出(例如,使用扬声器生成输出供用户收听)、视觉输出(例如,在屏幕上显示文本、图像、视频等、客户端设备上的灯闪光打开和关闭、改变设备上的灯的颜色等)、触觉输出(例如,使得客户端设备振动)等。
发明内容
本公开涉及用于以根据客户端设备的当前模态而定制的方式动态地将列表中的项划分为一个或多个子集以便向用户渲染的系统、方法和装置。客户端设备的当前模态可以是多模态谱内的多个候选模态中的一个并且可以指示要利用的用户接口输入和/或客户端设备输出的当前方法。在一些实现中,候选模态的多模态谱包括仅语音交互、语音主导交互、多模态交互(也称为“模态间交互”)、视觉主导交互、仅视觉交互和/或交互的其他模态。客户端设备可以利用一个或多个模态。例如,客户端设备可以利用仅语音交互、语音主导交互、多模态交互和/或仅视觉交互。在一些实现中,客户端设备的当前模态可以基于来自客户端设备的一个或多个传感器的传感器数据来确定。例如,多模态客户端设备可以使用来自一个或多个传感器的传感器数据来确定多模态客户端设备的当前模态,所述传感器诸如相机、惯性测量单元(“IMU”)、陀螺仪、定位系统(例如,全球定位系统(“GPS”))、麦克风、接近传感器、压力传感器和/或其他传感器。
在许多实现中,多模态客户端设备可以确定如何渲染根据多模态客户端设备的用户的客户端设备的当前模态而定制的列表。例如,可以将列表中的一个或多个项划分为子集。子集中的项的数量可以由客户端设备使用当前设备模态、已知信息(具有用户许可)、用户接口输入的一个或多个模态、确定的用户接口输入的意图、客户端设备的类型、客户端设备的位置,用户相对于客户端设备的位置、一个或多个列表属性等来动态地确定。根据各种实现的列表属性可以包括列表大小信息(例如,列表中的项的数量、列表中每个项中的单词的数量、列表中每个项的字符的数量、列表中项的字符的平均数量等)、列表的类型(例如,交互式列表、消耗性列表等)和/或其他属性。
例如,在仅语音交互中,客户端设备可以经由扬声器将二十个项的列表以子集传达给用户,其中每个子集包含五个项。在仅视觉交互中,客户端设备可以在屏幕上对用户显示整个二十个项的列表(即单个子集)。在一些实现中,所渲染的音频输出不必须与所渲染的视觉输出匹配。例如,使用多模态交互、语音主导交互和/或视觉主导交互的客户端设备可以通过音频和视觉输出的组合将二十项的列表传达给用户,所述音频和视觉输出的组合诸如通过经由扬声器渲染五个项的子集而同时在显示屏上显示整个二十个项的列表。在许多实现中,在多模态客户端设备上渲染列表可以相对于经由扬声器听觉地渲染列表优先经由显示器视觉地渲染列表。换句话说,在许多实现中,当客户端设备缺少(或无法访问)显示屏时,将仅经由扬声器渲染整个列表(即,在独立交互式扬声器和/或在仅语音交互期间的多模态设备上的仅语音交互)。
指示诸如列表中的项的数量和/或列表中的每个项中的单词的数量的列表大小的列表属性可以在确定列表子集的项的数量中被利用。例如,客户端设备可以将较大数量的单个单词项划分为子集和较小数量的多个单词项(例如,句子和/或短语)划分为子集。例如,二十四个单个单词项的列表可以被划分为六个项的子集。附加地或替代地,客户端设备可以将其中每个项为十个单词长的二十四个项的列表划分为其中每个子集包含两个项的十二个子集。换句话说,较不密集的信息的列表(即,每个列表项具有较少的单词)可以被划分为在子集中具有较多数量的项的子集,而较密集的信息的列表(即,每个列表项具有较多的单词)可以被划分为在子集中具有较少数量的项的子集。
针对不同的分立的客户端设备模态可以将相同的列表划分为不同大小的子集。例如,针对仅语音交互,可以将列表划分为三个项的子集,并且针对仅视觉交互,可以将列表划分为二十个项的子集。附加地或替代地,在相同的分立的模态内可以使用一个或多个列表属性将列表划分为不同大小的子集。例如,在语音主导交互期间,可以将列表划分为三个项的第一子集和五个项的第二子集。换句话说,诸如每个项具有的字符的数量的列表属性可用于进一步确定在单个客户端设备模态内的子集中的项的数量。
在一些实现中,客户端设备渲染整个列表。在其他实现中,客户端设备仅渲染列表的一部分。例如,当经由扬声器渲染列表的子集时,客户端设备可以在每个子集之间暂停,从而给用户与列表进行交互的机会(例如,用户可以使用诸如“stop(停止)”、“wait(等待)”、“pause(暂停)”和/或其他命令的用户接口输入来停止渲染列表)。附加地或替代地,客户端设备可以询问用户是否他们希望渲染列表的其他子集。例如,客户端设备在读出前一个子集之后可以渲染询问客户端设备是否应渲染附加的子集的音频输出。作为附加示例,在经由显示器渲染列表的子集之后,客户端设备可以向用户提供继续按钮,所述继续按钮如果被选择,则使得列表的附加的子集被视觉地渲染。
附加地或替代地,可以在将列表划分成子集时利用列表类型(例如,交互式列表、消耗性列表和/或附加的列表类型)。例如,交互式列表可以包括用户可以响应的项,诸如未读电子邮件的列表、未读文本消息的列表等。消耗性列表可以包括通常不变的项,诸如世界上最高的十座山的列表。在许多实现中,客户端设备可以将交互式列表划分成较小的项的子集以给用户与列表中的项进行交互的机会。例如,列表可以包含用户的未读电子邮件的主题,并且可以对列表进行划分,使得每个未读电子邮件标题都是一个单独的子集,从而给客户端设备的用户在列表正在被渲染时响应于每个电子邮件的机会。
在一些实现中,列表中的项可以是包含附加的列表信息的数据结构的一部分,所述附加的列表信息诸如一个或多个列表属性以及对客户端设备应如何在不同设备模态中渲染列表的各部分的一个或多个指示。在一些实现中,数据结构可以包括在用户正在滚动浏览显示屏上的列表项时在多模态交互期间针对列表的开始、列表的中间、列表的结束和/或列表中的其他点要渲染的口语和/或视觉输出。例如,整个列表可以在多模态客户端设备的显示器上被渲染,而同时在列表的开始处经由扬声器的输出可以包括对列表中的项的总数的指示,在列表的中间处经由扬声器的输出可以包括列表中剩余的项的数量,在列表的结束处经由扬声器的输出可以经由扬声器指示列表已完成,经由显示器的输出在列表中没有更多的项时可以指示列表的源等。
附加地或替代地,多模态客户端设备可以从用户接口输入确定一个或多个用户意图并且所确定的意图可以用于将列表划分成一个或多个子集。例如,用户意图可以包括琐事(例如,用户接口输入指示问题,诸如“What are the islands of Hawaii?”(“夏威夷的岛屿是什么?”))、发现(例如,用户接口输入指示对列表的排序,诸如针对所接收的“Whatisthe friendliest dog breed?”(“什么是最友好的狗品种?”)按照“friendliest”(“最友好”)对狗的类型进行排序)、选择然后动作(例如,用户接口输入指示组织一个列表并提供动作,诸如“I’m looking fora comedy show”(“我正在寻找喜剧节目”))、动作但首先选择(例如,用户接口输入指示要消除列表中的项的歧义并且然后执行动作,诸如“PlayHypothetical Band”(“播放假设乐队”))等。
多模态客户端设备可以接收非结构化列表并且作为将列表分成子集的一部分可以对来自根据当前设备模态而定制的非结构化列表中的信息进行排序。附加地或替代地,客户端设备可以确定非结构化列表的列表属性。除了设备模态外,还可以使用项复杂度、项的用户意见等将非结构化列表中的项划分为子集。
在许多实现中,相对于不管模态而总是渲染相同的完整列表,动态地根据客户端模态定制列表可以在客户端设备输出生成中提供计算效率和/或减少时延。同样,例如,在一些实现中,远程服务器可以在被用户请求时对列表进行划分并传输列表的子集,从而使得能够更快和/或更有效地检索列表的单独的子集并防止(可能很大的)列表的不需要的部分被传输到客户端设备。作为又一个示例,许多实现使得数据结构能够存储列表的内容和有限的列表属性。附加地或替代地,鉴于客户端设备的当前模态,仅基于列表和有限的列表属性,动态生成要被生成的列表的各种渲染。对列表内容和有限的列表属性的这种存储可以比存储针对客户端设备的多种模态中的每一个的列表的单独的变化和/或存储具有关于应如何在多种模态中的每一个中渲染列表的详细指令的列表消耗更少的存储空间。这些存储效率在存储和利用大量列表的许多情况下是重要的。
此外,根据当前设备模态而定制的列表子集的动态生成可以附加地或替代地直接导致各种其他效率。例如,通过根据当前模态而特定定制的对列表进行划分,未在不必要地在用户当前不可用的模态中渲染列表的一个或多个子集中浪费客户端设备资源。例如,基于指示客户端设备的扬声器被静音的传感器数据,假设客户端设备具有“仅视觉”的当前模态。利用本文公开的技术,可以在“仅视觉”模态中仅提供列表的子集的视觉输出,从而防止有关的可听输出的不必要的同时的渲染。同样,例如,列表子集的动态生成可以减少用户输入的数量和/或使自动化助理能够更有效地帮助用户执行技术任务。例如,在自动化助理向用户渲染列表的子集期间,其中列表输出根据当前模态而定制,渲染列表的子集可以鉴于对话会话期间的模态而动态地定制以最有效地将信息传达给用户。这可以包括渲染被设定大小以便用户在当前模态中最佳地理解信息的信息的子集,诸如将较小的项的子集渲染为听觉输出和/或将较长的项的子集渲染为视频输出。
提供以上描述作为本文公开的一些实现的概述。在本文中更详细地阐述这些实现和其他实现的附加描述。
在一些实现中,提供了一种方法,所述方法包括接收由多模态客户端设备的用户提供的用户接口输入的一个或多个实例。所述方法还包括基于对用户接口输入的处理,确定多个项的列表是响应于用户接口输入的。所述方法还包括至少部分地基于来自客户端设备的一个或多个传感器的传感器数据,确定多模态客户端设备的当前设备模态,其中基于其确定了当前设备模态的传感器数据不同于由用户接口输入的一个或多个实例生成的任何传感器数据。所述方法还包括确定要渲染的列表的第一子集,其中确定第一子集是基于列表的一个或多个列表属性并且基于客户端设备的当前模态。所述方法还包括使列表的第一子集被多模态客户端设备的一个或多个用户接口输出设备渲染。
本文描述的技术的这些和其他实现可以包括以下特征中的一个或多个。
在一些实现中,在接收到多模态客户端设备的用户响应于由一个或多个用户接口输出设备渲染的询问而提供的肯定用户输入的一个或多个实例时,其中所述询问提问是否应该渲染所述列表的附加子集:所述方法进一步包括基于一个或多个列表属性并且基于客户端设备的当前模态来确定要渲染的列表的第二子集。在这些实现的一些版本中,所述方法还包括使列表的第二子集被多模态客户端设备的一个或多个用户接口输出设备渲染。在这些实现的其他版本中,所述方法还包括从远程服务器接收非结构化列表,其中非结构化列表由第三方提供并且没有列表属性。在一些版本中,所述方法还包括处理非结构化列表以确定一个或多个列表属性以用于确定要渲染的列表的第一子集。
在一些实现中,所述方法还包括从远程服务器接收来自多模态客户端设备的列表;以及由多模态客户端设备生成列表的第一子集。在这些实现的一些版本中,所述方法还包括多模态客户端设备响应于由多模态客户端设备传输到远程服务器的基于用户接口输入的请求而从远程服务器接收列表,并由多模态客户端设备确定多模态客户端设备的当前客户端设备模态,并且确定多模态客户端设备的当前客户端设备模态在请求的传输之后发生。
在一些实现中,所述方法还包括列表属性,所述列表属性包括列表中的项的数量和列表中的每个项中的字符的数量,并且其中基于列表中的项的数量和列表中的每个项中的字符的数量确定列表的第一部分。
在一些实现中,所述方法还包括列表属性,所述列表属性包括对列表是交互式列表的指示,其中用户可以响应于交互式列表中的项而生成附加的用户接口输入。在其他实现中,所述方法还包括:在渲染交互式列表的第一项之后的阈值持续时间内,监视响应于交互式列表的第一项的附加的用户输入。在各种其他实现中,所述方法还包括:响应于在监视期间未接收到附加的用户输入,使交互式列表的第二项被多模态客户端设备的一个或多个用户接口输出设备渲染。
在一些实现中,所述方法还包括当前客户端设备模态是仅语音交互,并且仅经由一个或多个用户接口输出设备的一个或多个扬声器渲染列表的第一子集。
在一些实现中,所述方法进一步包括当前设备模态是多模态交互,并且经由一个或多个用户接口输出设备的一个或多个扬声器以及经由一个或多个用户接口输出设备的触摸屏渲染列表的第一子集。在那些实现中的一些中,所述方法还包括经由一个或多个用户接口输出设备的一个或多个扬声器来渲染列表的第一子集,并且经由一个或多个用户接口输出设备的触摸屏渲染多个项的列表。在那些实现的许多版本中,所述方法还包括附加的输出,所述附加的输出包括列表中的项的数量,并且在渲染多个项的列表之前经由触摸屏来渲染列表的源。在那些实现的一些版本中,所述方法还包括确定要经由一个或多个用户接口输出设备的一个或多个扬声器渲染的列表的第一子集是通过随机选择列表中的三个项来确定的。在那些实现的许多版本中,所述方法还包括在渲染列表的第一子集之前使列表中的项的数量经由一个或多个扬声器被渲染。在那些实现的一些版本中,所述方法还包括通过由多模态客户端设备处理多个项的列表来确定多个项的经排序的列表并使多个项的经排序的列表经由触摸屏被渲染,其中经排序的列表是按字母顺序的。
在一些实现中,所述方法还包括当前设备模态是语音主导交互,经由一个或多个用户接口输出设备的触摸屏渲染列表的第一子集,并且经由一个或多个用户接口输出设备的扬声器渲染附加的输出,其中附加的输出包括对列表中项的数量的指示以及对经由触摸屏渲染列表的第一子集的指示。
在一些实现中,所述方法还包括当前设备模态是仅视觉交互,并且仅经由一个或多个用户接口输出设备的触摸屏来渲染列表的第一子集。
在一些实现中,所述方法还包括基于对列表的第一子集的处理,确定描述列表的第一子集中的每个项的描述词,并使描述词在多模态客户端设备的一个或多个用户接口输出设备在列表的第一子集中的每个项之后被渲染。
在许多实现中,提供了一种方法,所述方法包括经由远离多模态客户端设备的一个或多个服务器设备处的网络接口,接收用户接口输入的一个或多个实例和当前客户端设备模态。所述方法还包括由多模态客户端设备的用户提供用户接口输入。所述方法还包括对用户接口输入进行处理以确定响应于用户接口输入的多个项的列表。所述方法还包括当前客户端设备模态至少部分地基于来自多模态客户端设备的一个或多个传感器的传感器数据。所述方法还包括:基于其确定了当前客户端设备模态的传感器数据不同于由用户接口输入的一个或多个实例生成的任何传感器数据。所述方法还包括基于列表的一个或多个列表属性并且基于客户端设备的当前模态来确定列表的第一子集。所述方法还包括经由网络接口将列表的第一子集传输给多模态客户端设备以用于由多模态客户端设备的一个或多个用户接口输出设备进行渲染。
在一些实现中,除了经由网络接口将列表的第一子集传输到多模态客户端设备之外,所述方法还包括传输多个项的列表以用于由多模态客户端设备进行附加处理。在那些实现中的一些中,所述方法还包括当前设备模态是多模态接口,经由多模态客户端设备的一个或多个用户接口输出设备的一个或多个扬声器渲染列表的第一部分,并且经由多模态客户端设备的一个或多个用户接口输出设备的触摸屏渲染多个项的列表。
在各种实现中,提供了一种方法,所述方法包括:接收由多模态客户端设备的用户提供的用户接口输入的一个或多个实例。所述方法还包括:基于由远离多模态客户端设备的一个或多个服务器进行的对用户接口输入的处理,经由网络接口从一个或多个服务器接收响应于用户接口输入的多个项的非结构化列表。所述方法还包括至少部分地基于来自客户端设备的一个或多个传感器的传感器数据,确定多模态客户端设备的当前客户端设备模态。所述方法还包括:基于其确定了当前设备模态的传感器数据不同于由用户接口输入的一个或多个实例生成的任何传感器数据。所述方法还包括基于对非结构化列表的处理,确定非结构化列表的一个或多个列表属性。所述方法还包括:确定要渲染的非结构化列表的第一子集,其中确定第一子集是基于非结构化列表的一个或多个列表属性并且基于客户端设备的当前模态的。所述方法还包括使非结构化列表的第一子集被多模态客户端设备的一个或多个用户接口输出设备渲染。
另外,一些实现包括一个或多个计算设备的一个或多个处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU)),其中一个或多个处理器能够操作以执行存储在相关联的存储器中的指令,并且其中指令被配置为使执行本文所述的方法中的任一个。一些实现也包括一个或多个存储计算机指令的非暂时性计算机可读存储介质,所述计算机指令能够由一个或多个处理器执行以执行本文所述的方法中的任一个。
应当理解,本文中更详细描述的前述概念和附加概念的所有组合被认为是本文公开的主题的一部分。例如,出现在本公开的结尾处的要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
图1是示出了在其中可实现本文公开的各种实现的实例环境的框图。
图2示出了根据本文公开的实现的示例多模态谱。
图3示出了根据本文公开的实现的用户与客户端设备交互的示例。
图4示出了根据本文公开的实现的用户与客户端设备交互的另一示例。
图5示出了根据本文公开的实现的示例列表。
图6示出了根据本文公开的实现的在仅语音交互期间渲染示例列表。
图7示出了根据本文公开的实现的在多模态交互期间渲染示例列表。
图8示出了根据本文公开的实现的在仅视觉交互期间渲染示例列表。
图9示出了根据本文公开的交互的另一示例列表。
图10示出了根据本文公开的实现的在仅语音交互期间渲染另一示例列表。
图11示出了根据本文公开的实现的在多模态交互期间渲染另一示例列表。
图12示出了根据本文公开的实现的在仅视觉交互期间渲染另一示例列表。
图13是示出了在其中可实现本文公开的各种实现的过程的流程图。
图14是示出了在其中可实现本文公开的各种实现的另一过程的流程图。
图15是示出了计算设备的示例架构的框图。
具体实施方式
图1示出了在其中可以实现各种实现的示例环境100。示例环境100包括客户端设备102。可以在一个或多个计算系统(统称为云计算系统)上实现一个或多个基于云的远程服务器组件116,诸如自然语言处理器122和/或列表模块124,所述一个或多个计算系统经由通常由114指示的一个或多个局域网和/或广域网(例如,互联网)通信地耦合到客户端设备102。
客户端设备102可以包括例如以下中的一个或多个:台式计算设备、膝上型计算设备、平板计算设备、触敏计算设备(例如,可以经由来自用户的触摸接收输入的计算设备)、移动电话计算设备、用户的车辆中的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立交互式扬声器、诸如智能电视的智能设备和/或包括计算设备的用户的可穿戴设备(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)。在许多实现中,客户端设备102可以是多模态客户端设备。可以提供附加的和/或替代的客户端计算设备。
在各种实现中,客户端设备102可以包括可以以各种形式出现的一个或多个传感器108。传感器108可以感测对客户端设备102的各种类型的输入,诸如口头、文本、图形、物理(例如,包括触敏投影仪和/或计算设备的触敏屏幕的显示设备上的触摸)以及/或者基于视觉(例如,手势)的输入。一些客户端设备102可以配备有一个或多个数字相机,所述数字相机被配置为捕获并提供指示在其视场中检测到的运动的信号。附加地或替代地,一些客户端设备可以配备有检测声波(或压力波)的传感器,诸如一个或多个麦克风。
传感器108可以收集各种传感器数据,所述传感器数据部分地用于确定客户端设备102的当前模态,所述传感器108包括:一个或多个相机、IMU、陀螺仪、卫星导航系统单元(例如,GPS单元)、麦克风、一个或多个压力传感器、一个或多个接近传感器和/或附加的传感器。在一些实现中,可以使用接收用户接口输入的不同传感器来收集用于确定设备模态的传感器数据。例如,麦克风可以用于收集用户接口输入,并且收集指示客户端设备的位置和/或姿态的IMU数据的IMU可以用于确定模态。在其他实现中,传感器可以用于收集用户接口输入数据以及确定设备模态。例如,麦克风可以确定用户接口输入并且相同的麦克风可以确定客户端设备周围的环境噪声。换句话说,相同的传感器(例如,麦克风)可以具有与用户接口输入相对应的传感器数据集合和与用户接口输入无关的第二传感器数据集合以用于确定设备模态。
客户端设备102和/或基于云的远程服务器组件116可以与一个或多个设备104进行通信。设备104可以包括多种设备中的任何一种,包括:诸如智能电器、智能恒温器、智能咖啡机、智能灯、智能锁、智能灯开关等的物联网设备。设备104与客户端设备102(和/或客户端设备102的特定用户)连接并且彼此连接。例如,设备104可以连接到被指派给客户端设备102(和可选的其他客户端设备)的简档和/或可以连接到被指派给客户端设备102的用户的简档。总的来说,客户端设备102、其他客户端设备和设备104可以定义协调的设备的生态系统。在各种实现中,设备经由设备拓扑表示彼此连接,所述设备拓扑表示可以由用户创建和/或自动创建并且可以定义各种客户端设备、各种智能设备、每一个设备的标识符和/或每一个设备的属性。例如,设备的标识符可以指定设备所位于的结构的房间(和/或其他区域)(例如,客厅,厨房)和/或可以指定设备的昵称和/或化名(例如,沙发灯、前门锁、卧室扬声器、厨房助理等)。以这种方式,设备的标识符可以是用户可能将其与相应的设备相关联的相应的设备的名称、化名和/或位置。
在许多实现中,设备104可以生成客户端设备102的列表输出。在一些这样的实现中,设备104所生成的列表输出可以包括在多种模态中的输出。例如,可以通过语音交互(例如,用户向独立交互式扬声器和/或多模态设备发出命令)以及物理交互(例如,控制智能恒温器本身上的显示器和/或在多模态设备上生成新的命令输入)来控制智能恒温器。在许多实现中,用户命令输入可以包括对设备信息的请求。作为另一示例,对智能恒温器的命令输入可以是对过去十二小时的温度的请求。智能恒温器可以每小时返回一次过去十二小时的温度列表。在一些这样的实现中,客户端设备102在从设备接收到列表之后,可以根据当前设备模态将列表动态地划分成子集。在其他实现中,设备104可以(例如,通过接收传感器数据和/或接收由客户端设备使用对列表的请求而确定的对设备模态的指示)确定客户端设备模态,可以根据客户端设备102的当前模态动态地对列表进行划分并且可以将所划分的列表传输到客户端设备102。在其他实现中,在将列表划分成一个或多个子集之后,设备104可以按需将列表的单独的子集传输到客户端设备102。
在许多实现中,客户端设备102可以确定与接收到的用户输入相关的列表和/或从由远程设备(例如,另一个基于云的组件)托管的一个或多个第三方代理106接收列表。此外,一个或多个第三方代理106也可以执行功能。例如,客户端设备102可以与第三方代理106交互以使得服务被执行、交易被发起等。在其他实现中,第三方代理106可以使用客户端设备102的当前模态将整个列表传输到客户端设备。在许多实现中,第三方代理106可以应客户端设备102的请求而传输列表的一个或多个单独的子集而不是传输整个列表。附加地或替代地,第三方代理106可以针对所有可用的客户端设备模态传输被划分为子集的列表。此外,根据许多实现,第三方代理106可以传输非结构化列表,并且客户端设备102可以根据客户端设备模态来动态地划分列表。
在许多实现中,客户端设备102可以经由一个或多个客户端设备的用户接口输入设备和/或输出设备进行与一个或多个用户的对话会话。在一些实现中,客户端设备102可以响应于用户经由客户端设备102中的一个的一个或多个用户接口输入设备提供的用户接口输入而进行与用户的对话会话。在那些实现中的一些中,用户接口输入明确地指向自动化助理(未示出)。例如,用户可以说出预定的调用短语,诸如“OK,Assistant(好,助理)”或“Hey,Assistant(嘿,助理)”以使自动化助理开始主动地收听。
在一些实现中,客户端设备102可以响应于用户接口输入而进行对话会话,即使当该用户接口输入未明确地指向自动化助理时。在许多实现中,客户端设备102可以利用话音识别来将来自用户的话语转换为文本并且例如通过提供视觉信息、通过提供搜索结果、通过提供一般信息和/或采取一个或多个响应动作(例如,播放媒体、启动游戏、订购食物等)来相应地响应于文本。在一些实现中,客户端设备102可以附加地或替代地对话语做出响应而无需将话语转换为文本。例如,客户端设备102可以将语音输入转换为嵌入、转换为(指示语音输入中存在的一个/多个实体的)实体表示和/或其他“非文本”表示并对这种非文字表示进行操作。因此,在本文中被描述为基于从语音输入转换的文本进行操作的实现可以附加地和/或替代地直接对语音输入和/或语音输入的其他非文本表示进行操作。
客户端设备102和基于云的远程服务器组件116可以包括一个或多个用于存储数据和软件应用的存储器、一个或多个用于访问数据并执行应用的处理器以及其他有助于通过网络进行通信的组件。一个或多个计算设备102执行的操作可以跨多个计算机系统分布。
在各种实现中,客户端设备102可以包括对应的话音捕获/文本转话音(“TTS”)/话音转文本(“STT”)模块110。在其他实现中,话音捕获/TTS/STT模块110的一个或多个方面可以与客户端设备102分开地实现。话音捕获/TTS/STT模块110可以被配置为执行一个或多个功能:捕获用户的话音,例如经由麦克风来捕获用户的话音;将捕获的音频转换为文本(和/或其他表示或嵌入);以及/或者将文本转换为话音。例如,在一些实现中,因为客户端设备102可能在计算资源(例如,处理器周期、存储器、电池等)方面相对受限,所以位于客户端设备102的话音捕获/TTS/STT模块110可以被配置为将有限数量的不同口语短语——特别是调用自动化助理的短语——转换为文本(或其他形式,诸如更低维度的嵌入)。其他话音输入可以被发送到基于云的远程服务器组件116,所述基于云的远程服务器组件116可以包括基于云的TTS模块118和/或基于云的STT模块120。
基于云的STT模块120可以被配置为利用云的几乎无限的资源来将由话音捕获/TTS/STT模块110捕获的音频数据转换成文本(所述文本然后可以被提供给自然语言处理器122)。类似地,基于云的TTS模块118可以被配置为利用云的几乎无限的资源来将文本数据转换成计算机生成的话音输出。在一些实现中,TTS模块118可以将计算机生成的话音输出提供给客户端设备102以例如使用一个或多个扬声器来直接输出。在其他实现中,可以将由STT模块120生成的文本数据(例如,自然语言响应)提供给话音捕获/TTS/STT模块110,所述话音捕获/TTS/STT模块110然后可以将文本数据转换为被本地输出的计算机生成的话音。
基于云的远程服务器组件116可以包括自然语言处理器122、列表模块124、前述的TTS模块118、前述的STT模块120以及其他组件,其中的一些在下面被更详细地描述。在一些实现中,客户端设备102和/或基于云的远程服务器组件116的引擎和/或模块中的一个或多个可以被省略、组合和/或在与客户端设备102分离的组件中实现。在一些实现中,为了保护隐私,诸如自然语言处理器122、话音捕获/TTS/STT模块110、列表模块124等的组件中一个或多个可以至少部分地在客户端设备102上实现(例如,以排除云)。
在一些实现中,客户端设备102响应于在人到计算机对话会话期间由用户生成的各种输入来生成响应内容。附加地或替代地,客户端设备102可以提供响应内容以作为对话会话的一部分向用户呈现。例如,响应内容可以响应于经由客户端设备102提供的自由形式的自然语言输入而生成。如本文中所使用的,自由形式的输入是由用户制定的输入,所述自由形式的输入不限于被呈现以供用户选择的一组选项。
自然语言处理器122处理由用户经由客户端设备102生成的自然语言输入并且可以生成经标注的输出。例如,自然语言处理器122可以处理由用户经由客户端设备102的一个或多个用户接口输入设备生成的自然语言自由形式的输入。所生成的经标注的输出包括自然语言输入的一个或多个标注以及可选地包括自然语言输入中的词语中的一个或多个(例如,全部)。
在一些实现中,自然语言处理器122被配置为识别和标注自然语言输入中的各种类型的语法信息。例如,自然语言处理器122可以包括被配置为使用词语的语法角色来标注词语的词性标记器的一部分。而且,例如,在一些实现中,自然语言处理器122可以附加地和/或替代地包括被配置为确定自然语言输入中的词语之间的句法关系的依存解析器(未示出)。
在一些实现中,自然语言处理器122可以附加地和/或替代地包括实体标记器(未示出),所述实体标记器被配置为在一个或多个片段中标注实体指代,所述实体指代诸如对人(包括例如文学人物、名人、公众人物等)、组织、(真实的和虚构的)地点等的指代。自然语言处理器122的实体标记器可以以较高的粒度级别来标注对实体的指代(例如,以使得能够识别对诸如人的实体类的所有指代)和/或以较低的粒度级别来标注对实体的指代(例如,以使得能够识别对诸如特定的人的特定实体的所有指代)。实体标记器可以依赖于自然语言输入的内容来消解特定实体和/或可以可选地与知识图或其他实体数据库进行通信以消解特定实体。
在一些实现中,自然语言处理器122可以附加地和/或替代地包括被配置为基于一个或多个上下文提示来对相同实体的指代进行分组或“聚类”的共指消解器(未示出)。例如,可以利用共指消解器将自然语言输入“I liked Hypothetical Cafélast time we atethere.(上次我们在那里吃饭的时候,我喜欢假设咖啡馆。)”中的将词语“there(那里)”消解为“Hypothetical Café(假设咖啡厅)”。
在许多实现中,自然语言处理器122的一个或多个组件可以依赖于来自自然语言处理器122的一个或多个其他组件的标注。例如,在一些实现中,所提到的实体标记器在标注对特定实体的所有提及时可以依赖于来自共指消解器和/或依存解析器的标注。同样,例如,在一些实现中,共指消解器在对相同实体的指代进行聚类时可以依赖于来自依存解析器的标注。在许多实现中,在处理特定自然语言输入时,自然语言处理器122的一个或多个组件可以使用有关的先前输入和/或所述特定自然语言输入之外的其他有关的数据来确定一个或多个标注。
列表模块124可以检索与用户输入有关的列表,从第三方代理接收列表的一个或多个子集,从第三方代理接收非结构化列表,确定客户端设备102的模态,确定如何渲染列表的子集等。在许多实现中,在从客户端设备接收到用户接口输入时,列表模块124可以检索与用户接口输入和/或与用户接口输入相对应的客户端设备动作相关的列表。附加地或替代地,响应于在客户端设备处接收到的用户接口输入,列表可以从基于云的远程服务器组件、远程设备、第三方代理和/或客户端设备本身中被检索和/或被传输至基于云的远程服务器组件、远程设备、第三方代理和/或客户端设备本身。例如,用户可以询问客户端设备“how do I install a smart light switch”(“我如何安装智能灯开关”),并且列表模块124可以检索用于安装智能灯开关的指令的列表。在许多实现中,可以从智能灯开关本身检索用于安装智能灯开关的指令的列表(即,从设备104检索列表)。在其他实现中,可以从与设备104相关联的第三方代理106中检索用于安装智能灯开关的指令的列表。作为另一示例,所渲染的用于安装智能灯开关的指令的列表可以根据客户端设备模态而改变。例如,仅语音交互可以使用扬声器将列表作为口语输出提供给用户。仅视觉交互可以将列表渲染为示出步骤以及每个步骤的文本描述的视频片段。在一些实现中,多模态交互可以包括示出了安装智能灯开关的每个步骤连同描述与每个视频片段相对应的步骤的音频输出的视频片段。
列表模块124可以附加地确定客户端设备的当前模态。由客户端设备102和/或传感器108收集的各种数据可以指示客户端设备模态,包括客户端设备的类型、客户端设备的视觉和/或音频组件的状态、客户端设备的位置、客户端设备的姿态、用户相对于客户端设备的位置等。
在许多实现中,列表模块124可以确定客户端设备的类型,诸如独立交互式扬声器、蜂窝电话、硬件设备上的触摸屏接口等。例如,相同的列表可以在独立交互式扬声器、诸如蜂窝电话的多模态客户端设备和/或诸如独立显示屏的仅视觉设备上被渲染。一些客户端设备固有地被客户端设备中未包括的一个或多个硬件组件限制为特定的模态(例如,不具有扬声器的设备可以被限制为仅视觉交互,并且类似地,不具有显示屏的设备可以被限制为仅语音交互)。尽管独立交互式扬声器、蜂窝电话和/或硬件显示屏都可以根据它们的特定模态渲染相同的列表,但是独立交互式扬声器由于缺乏视觉显示而通常限于仅语音交互。类似地,诸如智能恒温器的硬件设备上的显示屏可能缺少麦克风和/或扬声器并且通常限于仅视觉交互。蜂窝电话(以及其他多模态客户端设备)可以使用附加模态并且因此可以以多种方式渲染列表。换句话说,进行仅语音交互的多模态客户端设备可以渲染与独立交互式扬声器相似(并且经常是相同)的列表的子集。相似地,进行仅视觉交互的多模态客户端设备可以渲染与仅视觉客户端设备相似(或相同)的列表子集。
在许多实现中,客户端设备的位置可以用于确定客户端模态。例如,GPS单元可以确定移动设备的位置。客户端设备已知的位置可以指示用户可能想要进行的交互的类型。例如,当用户在已知的“工作”位置时,用户可能不想要渲染声音,并且列表模块124可以确定仅视觉交互和/或仅视觉主导交互。类似地,用户可能较不关心在家渲染声音,并且已知的“家”位置可以向列表模块124进行指示以确定多模态交互。在一些实现中,客户端设备可以通过连接到已知的Wi-Fi网络来确定客户端设备的位置(例如,客户端设备了解其何时连接到“家”Wi-Fi网络)。
许多客户端设备可以被用户以多种姿态放置。例如,蜂窝电话可以以“正面朝下”的位置放置,这将阻碍用户看到电话屏幕的能力。在一些这样的实现中,阻止用户看到显示器的能力的姿态可以向列表模块124指示客户端设备处于仅语音或语音主导交互。各种传感器可用于确定客户端设备的姿态,所述传感器包括IMU、一个或多个相机等。
附加地或替代地,可以利用用户相对于客户端设备的位置来确定设备模态。例如,一个或多个相机可以确定用户相对于客户端设备的位置。类似地,接近传感器可以确定用户何时在客户端设备的阈值范围内。在许多实现中,取决于用户相对于多模态客户端设备的屏幕的位置,多模态客户端设备可以处于不同的模态。例如,持有客户端设备的用户通常非常靠近屏幕并且可以看到列表中更详细的取决于模态的视觉组成部分。在其他实施例中,客户端设备可以确定用户相对于客户端设备在房间的另一侧。虽然房间另一侧的用户仍可以看到客户端设备显示器上的一些信息,但是列表模块124可以确定客户端设备正在进行语音主导交互并在显示器上使用较不密集的视觉信息来渲染取决于模态的视觉组成部分。
在确定设备模态时,列表模块124可以利用各种其他客户端设备专用的传感器数据。例如,车载导航系统可以利用各种传感器来确定车辆何时运动。在一些这样的实现中,列表模块124可以确定车载导航系统可以在车辆在运动时进行仅语音或语音主导交互,并且可以在车辆停止时进行多模态谱内的分立的交互类型中的任意交互类型。
在许多实现中,列表模块124可以使用当前客户端设备模态、项复杂度和/或用户意见来确定子集中的项的数量。列表中的项的复杂度可以与关联于每个项的属性的数量有关。例如,胶水是一种仅具有诸如胶水类型、胶水强度等的一些属性的较不复杂的项。相反,酒店预订是具有许多属性的比胶水要复杂得多的项,所述属性诸如价格、具有免费Wi-Fi的酒店、具有免费早餐的酒店、具有泳池的酒店、从酒店到特定当地景点的距离、线上评分等。在许多实现中,针对较复杂的项,列表可以被划分为具有较少数量的项的子集,和/或针对较不复杂的项,列表可以被划分为具有较大数量的项的子集。附加地或替代地,与列表中的其他项相比,用户可以对列表中的某些项具有更强烈的意见,并且不同的用户可以比其他用户更关心列表中的某些项。例如,与普通购买者相比,专业厨师在购买煎锅时可能会有更大的用户意见。在许多实现中,当用户具有较高的意见时可以将更多的项分组到子集中(例如,可以向专业厨师提供比普通用户更长的煎锅列表)。在许多实现中,可以使用已知的关于所有用户的信息来确定用户意见。在其他实现中,可以(在具有许可的情况下)根据已知的关于特定用户的信息(例如,已知用户是专业厨师、用户的性别、用户的年龄、用户的位置等)来确定用户意见。附加地或替代地,设备模态可被用于确定列表子集中的项的数量。例如,针对视觉交互(例如,多模态交互、仅视觉交互等),子集可以包含更多的项,而针对语音交互(例如,仅语音交互),来自相同列表的项可以被分为较小的子集。针对仅语音交互,具有较高用户意见的复杂的项的列表可以被分为包含较少项的较小子集,并且类似地针对多模态交互,复杂的项的列表和较高用户意见可以被分为包含较多项的较大子集。
根据许多实现的列表模块124可以渲染客户端设备的音频输出和视觉输出,其中客户端设备在滚动视觉输出时对其进行叙述。例如,客户端设备可以在客户端设备渲染列表上的正在显示屏幕上滚动的对应的项时渲染列表上的项。在其他实现中,渲染的音频内容与屏幕上视觉地渲染的内容不完全匹配。例如,在客户端设备渲染列表时,可以经由一个或多个扬声器来渲染与列表有关的音频输出(例如,列表的源、列表上的项的数量等)。换句话说,可以在显示器上视觉地渲染列表而同时可以对用户渲染不包括读出列表的每个项的音频输出。
附加地或替代地,列表模块124可以确定如何向用户呈现列表。例如,可以在列表中的许多位置向用户提供附加信息,所述位置包括列表的开始、列表的中间、列表的结束、在列表中没有更多可用的项时等。例如,在列表的开始,客户端设备可以渲染关于列表的信息,包括列表的源、列表中全部项的数量等。在列表的中间,客户端设备可以渲染各种信息,包括列表中有多少附加的项。在许多实现中,列表中间处的消息可以在除了正中间之外的其他位置被渲染以及渲染列表信息的中间若干次。例如,可以在一百个项的列表中的项二十五、五十和七十五之后渲染列表消息的中间。列表信息的结束可以在列表中的最后的项之后被渲染并且可以指示列表中没有更多的项。附加地或替代地,在完成渲染列表之后(例如,如果用户在仅语音交互期间请求附加的列表子集并且所有的列表的子集先前已经被渲染),没有更多的项消息可以被渲染。
在许多实现中,列表模块124在渲染列表时可以针对用户确定用户接口输入的用户意图。用户意图可以包括琐事、发现、选择然后动作、动作但首先选择等。例如,用户可以在仅语音交互中请求信息。请求信息的列表的用户接口输入可以包括一般事实和琐事意图,例如“What are the islands of Hawaii(夏威夷的岛屿是什么?)”。一般事实和琐事意图通常不包含对通过用户接口输入确定的命令中的排序或过滤的指示。在许多实现中,列表模块124可以渲染较短的列表(例如,被划分为一个或两个子集的列表)的整体。例如,在仅语音交互中,通常可以在一个或两个子集中渲染具有十个(或更少)项的列表。在许多实现中,即使客户端处于仅语音交互中,客户端设备默认视觉地渲染较长的列表并且可以向用户提供多模态客户端设备的文本列表。例如,用户可以询问独立交互式扬声器“Who arehypothetical public figure’s children(谁是假设的公众人物的孩子?)”,其中假设的公众人物有14个孩子。在许多实现中,独立交互式扬声器可以渲染孩子的总数(例如,十四个孩子)、第一子集(例如,前三个孩子的名字)以及指示所有孩子的列表已通过电子邮件发送给用户的消息。
附加地或替代地,用户接口输入可以具有发现意图,所述发现意图在许多实现中可以提供列表的排序。用户接口输入可以指示用户是否想要在响应中渲染单个项和/或若干个项。例如,“What is the tallest mountain?(最高的山是什么?)”可使列表模块124渲染单个山的名称。附加地或替代地,“What are the tallest mountains?(最高的几个山是什么?)”可使列表模块124从最高的山开始渲染若干个山的名称。在许多实现中,用户命令可以提供附加的对列表的排序。例如,“What are the friendliest dog breeds?(最友好的几个犬种是什么?)”通过每个犬种的“friendly”(“友好”)程度指示主观的对犬种列表的排序。
选择然后动作用户意图允许用户从列表中选择一个项并且然后对所述选择进行动作。例如,用户接口输入“I am looking for a comedy television show(我正在寻找喜剧电视节目)”可以过滤电视节目的列表并允许用户在从列表中选择节目后开始播放节目。附加地或替代地,动作但首先选择意图可以允许自动化助理在接收到来自用户的选择之后执行所请求的动作。例如,用户可以提供命令“Turn the lights off(关闭灯)”。列表模块124可以向用户提供当前打开的联网的智能灯的列表,并且用户可以从列表中选择一个或多个要关闭的特定的灯。在各种实现中,列表模块124可以附加地和/或替代地将一个或多个列表项与描述词进行对比。换句话说,除了列表的项之外,还可以渲染对列表项的描述。在一些实现中,列表模块124可以确定列表中每个项的描述词。在其他实现中,列表模块124可以将列表项的描述词确定为用户请求的子集。例如,响应于用户接口输入“I am lookingfor a comedy television show(我正在寻找喜剧电视节目)”,列表模块124可以针对列表项“Hypothetical television show A(假设电视节目A)”、“Hypothetical televisionshow B(假设电视节目B)”和“Hypothetical television show C(假设电视节目C”)确定“Hypothetical television show A,a mockumentary sitcom(假设电视节目A,模拟情景喜剧)”、“Hypothetical television show B,a classic comedy show from the 1990s(假设电视节目B,20世纪90年代的经典喜剧节目)”、“Hypothetical television show C,starring Jane Doe(假设电视节目C,由简·多伊主演)”。在许多实现中,描述词可以基于当前的客户端设备模态。例如,在仅语音交互中,可以渲染项的音频描述。类似地,在多模态交互中,可以将项的音频描述以及与该项有关的附加图像(例如,电视节目的徽标)确定为列表项的描述词。
图2示出了根据本文所述的各种实现的多模态谱200的图像。多模态谱包括用于多模态客户端设备交互的多个分立的模态。在许多实现中,多模态谱200可以包括仅语音交互202、语音主导交互204、多模态交互206(也称为“模态间交互”)、视觉主导交互208、仅视觉交互210等。
仅语音交互202可以包括用户向客户端设备说话和/或从客户端设备收听(即,音频交互)。例如,独立交互式扬声器可以进行仅语音交互。附加地或替代地,当例如屏幕对于用户不可见时,多模态客户端设备可以进行仅语音交互。作为说明性示例,当蜂窝电话屏幕侧向下地放置在表面上、屏幕关闭、用户太远而看不到屏幕等时,蜂窝电话可以进行仅语音交互。在许多实现中,仅语音交互202包括用户经由麦克风向客户端设备提供口语输入以及客户端设备通过扬声器渲染的输出。在图3中描述了根据许多实现的仅语音交互的示例。
附加地或替代地,仅视觉交互210包括用户向客户端设备提供物理输入(例如,键入、点击物理按钮、点击由用户接口显示器渲染的按钮、摇动客户端设备等)以及由客户端设备在显示器上渲染的输出。一些进行仅视觉交互的客户端设备可能缺少麦克风和/或扬声器。在其他实现中,当禁用音频接口时,多模态客户端设备可以进行仅视觉交互。例如,如果客户端设备的扬声器被静音,则智能手机可以进行仅视觉交互。
进行语音主导交互204、多模态交互206和视觉主导交互208的多模态客户端设备可以使用各种输入接口和/或输出接口,诸如用于语音交互的麦克风和扬声器以及用于视觉交互的物理输入和显示屏。例如,语音主导交互204可以包括:经由扬声器渲染列表的子集;在显示屏上渲染列表的一个或多个子集;以及经由扬声器向用户渲染指示可以在显示屏上查看的列表的部分的消息。
附加地或替代地,在多模态交互206中,客户端设备可以渲染视觉输出,所述视觉输出包括:整个列表、有序列表、列表的一个或多个子集、列表中项的总数、列表中的信息的源等;以及音频输出,所述音频输出包括:列表的第一子集、列表的附加子集和整个列表、列表中的信息的源、列表中的项的总数、在列表中剩余的要渲染的项的总数等。在许多实现中,客户端设备的列表模块124(如图1所示)可以确定列表的要经由显示屏渲染的视觉输出和/或要经由扬声器渲染的音频输出。在图4中示出了根据本文所述的许多实现的多模态交互的示例。
类似地,例如,当一个或多个传感器确定屏幕对用户可见但用户处于远离屏幕的阈值距离处并且通常无法阅读屏幕上的详细信息时,可以生成视觉主导交互208。在一些这样的实现中,列表的子集可以被渲染为经由扬声器的口语输出以及经由显示屏渲染的有限的视觉输出(例如,列表的单个子集、列表中的项的总数等)。在一些这样的实现中,可以以大字体在显示屏上渲染来自列表中的单个项同时经由扬声器叙述特定的项。
图3示出了在仅语音交互中使用客户端设备的用户的示例图像。图像300包括客户端设备302和用户304。在许多实现中,客户端设备302可以包括独立交互式扬声器。附加地或替代地,基于物理输入和/或视觉输出的不可用,多模态客户端设备可以进行仅语音交互。例如,用户304可以通过说“Assistant,what lights are on?(助理,什么灯正打开?)”来请求当前打开的联网的智能灯的列表。扬声器可以渲染联网的智能灯的列表,诸如“当前打开了三个卧室灯、两个客厅灯和一个餐厅灯”。在一些这样的实现中,用户可以说出指令客户端设备关闭一个或多个灯的附加命令(例如,“Assistant,turn off the threebedroom lights”(“助理,关闭三个卧室灯”))。在许多实现中,除了打开的灯的列表之外,还可以经由扬声器渲染一个或多个附加的音频响应,诸如“Six lights total are on”(“总共六个灯正打开”)。
图4示出了使用多模态客户端设备的用户的示例图像。图像400包括多模态客户端设备402(诸如蜂窝电话)和用户404。在许多实现中,多模态客户端设备可以进行多模态谱中的任何分立的模态。视觉主导交互、多模态交互和/或语音主导交互可以共享经由扬声器渲染的一个或多个音频组成部分和/或经由显示器渲染的一个或多个视觉组成部分。例如,由用户404生成的用户输入可以请求当前打开的联网的智能灯的列表。可以经由扬声器来渲染包括打开的联网的智能灯的列表的一个或多个子集的音频组成部分。附加地或替代地,客户端设备可以经由扬声器渲染附加音频,所述附加音频指示打开的智能灯的总数、打开灯的房间的总数、联网的智能灯的总数(即,同时打开和关闭的灯的总数)、当前房间中打开的智能灯的数量等。可以经由多模态客户端设备的显示屏来渲染指示联网的智能灯的列表的视觉组成部分。在一些实现中,可以经由显示屏视觉地渲染附加信息,所述附加信息包括联网的环境的名称、按房间的所有联网的智能灯的列表并进一步指示每个联网的智能灯的状态(例如,每个灯是否打开或关闭)、放置在环境的交互图像中的联网的智能灯(例如,包含房屋的用户在其中可以与指派给每个房间的每个智能灯进行交互的房间的示意图)等。在一些实现中,用户可以提供音频命令来关闭一个或多个灯。在其他实现中,用户可以选择在显示器上渲染的一个或多个智能灯以进行关闭。
图5示出了根据本文公开的许多实现的示例列表。“假设列表A”500是十个项的列表,其中,每个项是单个的单词。作为说明性示例,项502-520对应于数字1至10。换句话说,列表项一502是单词“one”、列表项二504是单词“two”、列表项三506是单词“three”、列表项四508是单词“four”、列表项五510是单词“five”、列表项六512是单词“six”、列表项七514是单词“seven”、列表项八516是单词“eight”、列表项九是518是单词“nine”并且列表项十520是单词“ten”。
图6示出了经由扬声器渲染为仅语音交互600的“假设列表A”。另外,图7示出了经由扬声器和显示屏渲染为多模态交互700的“假设列表A”。此外,图8示出了经由显示屏渲染为仅视觉交互800的“假设列表A”。在各种实现中,除了和/或代替在图6-8中渲染的信息,分立的多模态交互可以包括各种信息。
仅语音交互600包括经由扬声器向用户渲染内容的客户端设备。在示出的示例中,客户端设备可以在渲染列表的第一子集之前,经由扬声器来渲染指示列表中的项的数量的消息602“Ten total items in the list(列表中的总共十个项)”。附加地或替代地,在将列表划分成两个子集之后,客户端设备可以渲染第一子集。在所示的示例中,第一子集包括列表项502-512。第一子集中的项可以经由扬声器渲染为项604-614(即,单词“one”至“six”)。在一些实现中,针对响应于该列表的附加的用户接口输入,客户端设备可以在子集中的每个项之间暂停。例如,用户可以向客户端设备提供诸如“pause(暂停)”、“stop(停止)”、“continue(继续)”、“wait ten seconds(等待十秒钟)”等的命令以与列表进行交互。附加地或替代地,客户端设备可以经由扬声器渲染询问用户该客户端设备是否应渲染列表的附加子集的消息616,诸如渲染消息“Continue the list?”(“继续列表?”)。在许多实现中,在接收到肯定的用户接口时,客户端设备可以渲染列表的第二子集。例如,可以渲染包含项618-624的第二子集(即,单词“seven”到“ten”)。在许多实现中,相同列表的子集可以具有不同的大小(即,第一子集可以包含比第二子集更多和/或更少的项)。例如,列表可以被划分为具有两个项的子集。包含奇数个项的列表的任何子集(例如,第一子集、最后的子集等)可以包含单个项的子集和/或三个项的子集。在一些实现中,在确定子集的大小之后,列表模块124可以确定子集中的特定的项,可能地在列表被渲染时对列表进行重新排序。例如,可以按字母顺序对列表进行重新排序。附加地或替代地,当将列表划分成子集时,可以随机选择列表中的项。如本文所使用的随机可以包括对来自列表中的项的真正随机和/或伪随机的选择。例如,第一子集可以包括随机选择的单词“seven”、“two”,“one”、“four”、“eight”和“six”(未示出)。在许多实现中,可以在仅语音交互中经由扬声器渲染与列表有关的附加音频输出。
多模态交互700包括经由扬声器渲染内容并且同时经由显示器渲染内容的客户端设备。在一些实现中,可以经由扬声器渲染列表中的项的总数,诸如消息702“列表中的总共十个项”。在其他实现中,可以经由显示屏渲染列表中的项的总数(未示出)。附加地或替代地,可以经由显示屏来渲染“假设列表A”的第一子集。例如,具有项704-712的第一子集(例如,单词“one”至“five”)可以被渲染在显示屏上。附加地或可替代地,可以经由显示屏渲染“假设列表A”的第二子集。作为另一示例,可以在显示屏上渲染具有项716-724的第二子集(例如,单词“six”至“ten”)。在其他实现中,所有列表项704-724(例如,单词“one”到“ten”)可以被渲染在显示屏上(未示出)。附加地或替代地,用户可以滚动浏览被渲染的列表项。作为另一个示例,当用户已经滚动到列表的中间时,客户端设备可以经由扬声器渲染消息,诸如指示剩余的项的数量的消息714“在列表中剩余的总共五个项”。此外,根据许多实现的客户端设备可以在用户滚动到列表的末尾时经由扬声器渲染消息726“列表完成”。在一些实现中,客户端设备可以在显示屏上在列表的末尾处渲染附加信息,诸如指示列表的源的消息728(例如,“源:www.hypotheticalurl.com”)。多模态交互700仅是说明性的多模态客户端设备交互,并且可以经由扬声器以及显示屏来渲染附加和/或替代的内容。
仅视觉交互800包括经由显示屏渲染内容的客户端设备。在一些实现中,可以在渲染列表中的项之前渲染指示项的总数的消息,诸如消息802“列表中的总共十个项”。附加地或替代地,“假设列表A”的所有十个项804-822可被渲染在显示屏上(即,单词“one”至“ten”)。在一些实现中,渲染在屏幕上的整个列表可以同时对用户可见。在其他实现中,用户可以滚动浏览列表中的项。可以在列表中的项之后在显示器上渲染指示列表的源824“源:www.hypotheticalurl.com”的消息。在一些这样的实现中,包含列表的源的消息可以是用户可以通过点击消息的一部分(或全部)来转到信息的源的交互式提示。根据几种实现,可以经由显示屏渲染附加和/或替代的内容。
图9示出了根据本文公开的实现的另一示例列表。“假设列表B”900是四个项的列表,其中每个项是几个单词的短语和/或句子。作为说明性示例,第一列表项902是短语“unread text message from Jane(来自Jane的未读文本消息)”、第二列表项904是短语“unread text message from Bob(来自Bob的未读文本消息)”、第三列表项906是短语“unread text message from Jane(来自Jane的未读文本消息)”并且第四列表项908是短语“unread text message from Sam(来自Sam的未读文本消息)”。图10示出了被渲染为仅语音交互10000的“假设列表B”。另外,图11示出了被渲染为多模态交互11000的“假设列表B”。此外,图12示出了被渲染为仅视觉交互12000的“假设列表B”。在许多实现中,除了和/或代替在图10-图12中渲染的内容,分立的多模态交互可以包括多种内容。由客户端设备的扬声器渲染仅语音交互10000。在示出的示例中,经由扬声器渲染指示列表中的项的数量的消息1002,诸如“总共四个未读文本消息”。如所描述的,文本消息的列表可以是交互式列表(即,用户可以与列表中的一个或多个项进行交互)。在一些这样的实现中,交互式列表可以被分为单个项的子集、在渲染每个项之间具有暂停、等待响应的问题(例如,“Do you wantto reply to this item or go onto the next item in the list?”(“你想要回复此项还是进入列表中的下一个项?”))、给用户机会以与列表进行交互的其他问题(“Do youwant to continue the list?”(“你想要继续列表?”))和/或其他附加音频指示(例如,播放声音)以允许用户与所渲染的列表项进行交互。例如,扬声器可以渲染列表中的四个项1004、1008、1012、1016以及在列表中的项之间的暂停1006、1010、1014。换句话说,列表项1004“Unread text message from Jane”(“来自Jane的未读文本消息”)、列表项1008“Unread text message from Bob”(“来自Bob的未读文本消息”)、列表项1012“Unreadtext message from Jane”(“来自Kane的未读文本消息”)和/或列表项1014“Unread textmessage from Sam”(“来自Sam的未读文本消息”)可以被一个或多个暂停隔开。在许多实现中,在接收到指示用户想要与当前文本消息交互的用户接口输入时,客户端设备可以暂停渲染列表。
多模态交互1100包括经由扬声器以及显示屏渲染内容的客户端设备。例如,音频输出可以伴随视觉输出。在一些这样的实现中,经由扬声器渲染的音频内容可以包括指示列表中的项的数量的消息以及关于列表的其他信息,诸如消息1102“Four unread textmessages including two from Jane”(“四个未读文本消息,包括来自Jane的两个”)。“假设列表B”中的四个项可以按四个项在列表中出现的顺序在显示屏上视觉地被渲染为项1104-1110。在其他实现中,列表中的项可以按不同的顺序显示,诸如通过对来自单个个人的文本消息进行分组(未显示)。附加和/或替代的信息可以通过扬声器和/或显示屏渲染。
仅视觉交互1200包括仅经由显示屏渲染内容的客户端设备。例如,“假设列表B”中的四个项可以以与四个项在列表中出现的相同顺序被渲染为项1202-1210。在许多实现中,可以在列表中的项之前渲染消息,诸如指示项的数量和/或关于列表的附加信息的消息1202“Four unread text messages including two from Jane”(“四个未读文本消息,包括来自Jane的两个”)。附加地或替代地,可以在列表的末尾渲染消息,诸如指示列表完成的消息1212“No additional unread text messages”(“没有附加的未读文本消息”)。在各种实现中,用户可以物理地选择列表中的一个或多个项以进一步与该项进行交互(例如,点击消息1206“Unread text message from Bob”(“来自Bob的未读文本消息”)以读取文本消息和/或响应于文本消息)。
图13是示出根据本文公开的各种实现的生成列表的子集的示例过程1300的流程图。为了方便起见,参考执行操作的系统描述图13的操作。该系统可以包括各种计算机系统的各种组件,诸如客户端设备102的一个或多个组件。此外,尽管以特定顺序示出了过程1300的操作,但这不意指是限制。可以重新排序、省略或添加一个或多个操作。
在框1302处,系统接收由多模态客户端设备的用户提供的用户接口输入。例如,系统可以接收口语用户接口输入、键入的用户接口输入、基于手势的输入和/或其他输入。
在框1304处,系统确定与多模态客户端设备的设备模态相关的传感器数据。
在框1306处,系统经由网络将用户接口输入和传感器数据传输到一个或多个远程服务器设备。
在框1308处,系统从一个或多个远程服务器设备接收列表的子集。在许多实现中,一个或多个远程服务器设备识别与用户接口输入相对应的列表以及与传感器数据相对应的设备模态。附加地或替代地,列表的子集可以包括与设备模态相关的客户端设备输出。
在框1310处,系统使用多模态客户端设备的一个或多个用户接口输出设备来渲染列表的子集。例如,系统可以使用与列表的子集相对应并且因此也与多模态客户端设备的当前模态相对应的用户接口输出设备来渲染子集。
在框1312处,系统确定多模态客户端设备是否应渲染列表的附加子集。在一些实现中,在框1302处由多模态客户端设备的用户提供的用户接口输入可以指示请求列表的附加子集。在其他实现中,多模态客户端设备可以响应于在框1310处渲染列表的子集而接收指示用户想要列表的附加子集的附加用户接口输入。如果是,则系统前进至框1314并向一个或多个服务器设备传输对列表的附加子集的请求。在传输请求之后,系统返回框1308,从一个或多个远程服务器设备接收列表的子集,然后基于列表的附加子集执行框1310。在各种其他实现中,一个或多个远程服务器设备确定要传输列表的附加子集。附加地或替代地,一个或多个远程服务器设备可以将被划分为子集的整个列表传输到客户端设备,并且在确定应当渲染列表的附加子集之后,多模态客户端设备可以选择本地存储的列表的下一个附加子集。
图14是示出根据本文公开的各种实现的生成列表的子集的示例过程1400的流程图。为了方便起见,参考执行操作的系统描述图14的操作。系统可以包括各种计算机系统的各种组件,诸如客户端设备102的一个或多个组件。此外,虽然以特定顺序示出了过程1400的操作,但这并不意指是限制。可以重新排序、省略或添加一个或多个操作。
在框1402处,系统接收由多模态客户端设备的用户提供的用户接口输入。在许多实现中,客户端设备本身可以确定与用户接口输入相关联的对应动作(和/或列表)。附加地或替代地,在确定与用户接口输入相关联的对应动作和/或列表时,客户端设备可以与远程服务器接合(interface),和/或可以由远程系统基于向远程系统传输用户接口输入(和/或其转换)来确定对应动作和/或列表。
在框1404处,系统至少部分地基于来自多模态客户端设备的一个或多个传感器的传感器数据来确定当前客户端设备模态。在许多实现中,设备模态可由如图1中所描述的列表模块124确定。
在框1406处,系统经由网络从一个或多个远程服务器设备接收非结构化列表。在许多实现中,可以将非结构化列表划分为一个或多个子集以生成针对用户接口输入的输出。附加地或替代地,可以针对当前设备模态定制列表的一个或多个子集。
在框1408处,系统确定与用户接口输入相关的非结构化列表的子集。在一些实现中,列表的子集包括与当前客户端设备模态相关的客户端设备输出。在许多实现中,列表模块124可以确定非结构化列表的一个或多个子集。
在框1410处,系统使用多模态客户端设备的一个或多个用户接口输出设备来渲染非结构化列表的子集。
在框1412处,系统确定多模态客户端设备是否应当渲染非结构化列表的附加子集。如果是,则系统进行到框1414并确定非结构化列表的附加子集。在确定了非结构化列表的附加子集之后,系统返回至框1410以使用多模态客户端设备的一个或多个用户接口输出设备来渲染子集。
图15是可选地用于执行本文描述的技术的一个或多个方面的示例计算设备1510的框图。在一些实现中,客户端计算设备、用户控制的资源模块和/或其他组件中的一个或多个可以包括示例计算设备1510的一个或多个组件。
计算设备1510通常包括至少一个处理器1514,所述处理器1514经由总线子系统1512与多个外围设备进行通信。这些外围设备可以包括:存储子系统1524,所述存储子系统1524包括例如存储器子系统1525和文件存储子系统1526;用户接口输出设备1520;用户接口输入设备1522;以及网络接口子系统1516。输入和输出设备允许用户与计算设备1510交互。网络接口子系统1516提供到外部网络的接口并被耦合到在其他计算设备中的对应的接口设备。
用户接口输入设备1522可以包括键盘、诸如鼠标、轨迹球、触摸板或绘图平板的定点设备、扫描仪、合并在显示器中的触摸屏、诸如语音识别系统、麦克风的音频输入设备以及/或者其他类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备1510或通信网络上的所有可能类型的设备和方法。
用户接口输出设备1520可以包括显示子系统、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于创建可见图像的某种其他机制。显示子系统还可以诸如经由音频输出设备来提供非视觉显示。通常,术语“输出设备”的使用旨在包括从计算设备1510向用户或另一个机器或计算设备输出信息的所有可能类型的设备以及方法。
存储子系统1524存储提供本文所述的模块中的一些或全部的功能的编程和数据构造。例如,存储子系统1524可以包括执行图13和/或图14的过程的所选择的方面以及实现图1中描绘的各种组件的逻辑。
这些软件模块通常由处理器1514单独执行或与其他处理器组合执行。在存储子系统1524中使用的存储器1525可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)1530以及其中存储固定指令的只读存储器(ROM)1532。文件存储子系统1526可以为程序和数据文件提供持久存储并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒。实现某些实现的功能的模块可以由存储子系统1524中文件存储子系统1526或者存储在处理器1514可访问的其他机器中。
总线子系统1512提供了一种用于使计算设备1510的各个组件和子系统按预期彼此通信的机制。尽管总线子系统1512被示意性地示出为单个总线,但是总线子系统的替代实现可以使用多个总线。
计算设备1510可以是各种类型的,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,因此对图15中所描绘的计算设备1510的描述仅旨在作为为了说明一些实现的特定示例。计算设备1510的许多其他配置可能具有比图15所示的计算设备更多或更少的组件。
在本文描述的系统收集或以其他方式监视关于用户的个人信息或可以利用个人和/或所监视的信息的情况下,可以为用户提供机会以控制程序或特征是否收集用户信息(例如,有关用户的社交网络、社交动作或活动、职业、用户的偏好或用户当前地理位置的信息)或控制是否和/或如何从内容服务器接收与用户更相关的内容。同样,某些数据在被存储或使用之前可以以一种或多种方式被处理,似的可识别信息被移除。例如,可以处理用户的身份,使得无法针对用户确定个人可识别信息,或者在获取地理位置信息的情况下,可以对用户的地理位置进行概括(例如概括为城市、邮政编码或州级),使得无法确定用户的特定地理位置。因此,用户可以控制如何收集和/或使用关于用户的信息。
尽管本文已经描述和示出了几个实现,但是可以利用用于执行功能和/或获得结果和/或本文描述的优点中的一个或多个的多种其他装置和/或结构,并且这样的变化和/或修改中的每一个被认为是在本文描述的实现的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置均是示例性的并且实际参数、尺寸、材料和/或配置将取决于使用本教导的一个或多个特定应用。本领域技术人员将认识到或能够使用不超过常规的实验来确定本文所述的特定实现的许多等同物。因此,应当理解,前述实现仅以示例的方式呈现并且在所附权利要求及其等同物的范围内,可以以不同于具体描述和要求保护的方式来实施实现。本公开的实现涉及本文所述的每个单独的特征、系统、物品、材料、套件和/或方法。另外,如果这样的特征、系统、物品、材料、套件和/或方法不是相互矛盾的,则两个或更多个这样的特征、系统、物品、材料、套件和/或方法的任意组合包括在本公开的范围内。
Claims (18)
1.一种由一个或多个处理器实现的方法,所述方法包括:
接收由多模态客户端设备的用户提供的用户接口输入的一个或多个实例;
基于对所述用户接口输入的处理,确定多个项的列表是响应于所述用户接口输入的;
至少部分地基于来自所述多模态客户端设备的一个或多个传感器的传感器数据,确定所述多模态客户端设备的当前模态,
其中,基于其确定了所述当前模态的所述传感器数据不同于由用户接口输入的所述一个或多个实例生成的任何传感器数据;
基于所述列表的列表属性来确定要渲染的所述列表的第一子集,其中,所述列表属性包括所述列表中的项的数量和所述列表中的每个项中的字符的数量,并且其中,基于所述列表的所述列表属性来确定要渲染的所述列表的所述第一子集包括:
在所述当前模态是第一模态时,基于所述列表中的项的数量、所述列表中的每个项中的字符的数量以及所述当前模态是所述第一模态来确定所述多个项中的第一子组,
其中,所述第一模态是仅语音模态、仅视觉模态和多模态的模态中的一个,并且
在所述当前模态是不同于所述第一模态的第二模态时,基于所述列表中的项的数量、所述列表中的每个项中的字符的数量以及所述当前模态是所述第二模态来确定所述多个项中的第二子组,其中,所述多个项中的所述第二子组不同于所述多个项中的所述第一子组,
其中,所述第二模态是所述仅语音模态、所述仅视觉模态和所述多模态的模态中的另一个;以及
使所述列表的所述第一子集由所述多模态客户端设备的一个或多个用户接口输出设备渲染,其中,在所述列表的所述第一子集是交互式列表时,使所述列表的所述第一子集由所述多模态客户端设备的一个或多个用户接口输出设备渲染包括:
使所述交互式列表的第一交互项而无需使所述交互式列表的第二交互项由所述用户接口输出设备中的一个或多个渲染给所述用户;
在渲染所述第一交互项之后的阈值持续时间内监视与所述第一交互项交互的附加用户输入,以及
响应于在渲染所述第一交互项之后监视期间没有接收到附加用户输入,使所述交互式列表的第二交互项被所述多模态客户端设备的所述用户接口输出设备中的一个或多个渲染给所述用户。
2.根据权利要求1所述的方法,还包括:
在接收到所述多模态客户端设备的所述用户响应于由所述一个或多个用户接口输出设备渲染的询问而提供的肯定用户输入的一个或多个实例时,其中所述询问提问是否应该渲染所述列表的附加子集:
基于所述一个或多个列表属性并且基于所述客户端设备的所述当前模态,确定要渲染的所述列表的第二子集;以及
使所述列表的所述第二子集由所述多模态客户端设备的所述一个或多个用户接口输出设备渲染。
3.根据权利要求2所述的方法,还包括:
从远程服务器接收非结构化列表,其中,所述非结构化列表由第三方提供并且不具有列表属性;以及
处理所述非结构化列表以确定一个或多个列表属性以用于确定要渲染的所述列表的所述第一子集。
4.根据权利要求1所述的方法,其中,所述列表由所述多模态客户端设备从远程服务器接收,并且其中,生成所述列表的所述第一子集是由所述多模态客户端设备进行的。
5.根据权利要求4所述的方法,其中,响应于由所述多模态客户端设备传输至所述远程服务器的基于所述用户接口输入的请求,所述列表由所述多模态客户端设备从所述远程服务器接收,并且其中,确定所述多模态客户端设备的所述当前模态是由所述多模态客户端设备进行的并且在所述请求的传输之后发生。
6.根据权利要求1所述的方法,其中,所述当前模态是所述仅语音模态,并且所述列表的所述第一子集仅经由所述一个或多个用户接口输出设备的一个或多个扬声器来渲染。
7.根据权利要求1所述的方法,其中,所述当前模态是所述多模态的模态,并且所述列表的所述第一子集经由所述一个或多个用户接口输出设备的一个或多个扬声器以及经由所述一个或多个用户接口输出设备的触摸屏来渲染。
8.根据权利要求7所述的方法,其中,所述列表的所述第一子集经由所述一个或多个用户接口输出设备的所述一个或多个扬声器来渲染,并且所述多个项的所述列表经由所述一个或多个用户接口设备的所述触摸屏来渲染。
9.根据权利要求8所述的方法,还包括:
在经由所述触摸屏渲染所述多个项的所述列表之前,经由所述触摸屏渲染包括所述列表中的项的数量和所述列表的源的附加信息。
10.根据权利要求8所述的方法,其中,确定要经由所述一个或多个用户接口输出设备的所述一个或多个扬声器渲染的所述列表的所述第一子集是通过随机地选择在所述列表中的三个项来确定的。
11.根据权利要求8所述的方法,还包括:在渲染所述列表的所述第一子集之前,使所述列表中的项的数量经由所述一个或多个扬声器被渲染。
12.根据权利要求8所述的方法,还包括:
通过由所述多模态客户端设备处理所述多个项的所述列表来确定所述多个项的经排序的列表,其中,所述经排序的列表是按字母顺序的;以及
使所述多个项的所述经排序的列表经由所述触摸屏被渲染。
13.根据权利要求1所述的方法,其中,所述当前模态是所述仅视觉模态,并且所述列表的所述第一子集仅经由所述一个或多个用户接口输出设备的触摸屏被渲染。
14.根据权利要求1所述的方法,还包括:
基于对所述列表的所述第一子集的处理,确定描述所述列表的所述第一子集中的每个项的描述词;以及
使所述描述词在所述列表的所述第一子集中的每个项之后被所述多模态客户端设备的所述一个或多个用户接口输出设备渲染。
15.一种由一个或多个处理器实现的方法,所述方法包括:
经由在远离多模态客户端设备的一个或多个服务器设备处的网络接口,接收用户接口输入的一个或多个实例和所述多模态客户端设备的当前模态,
其中,所述用户接口输入由所述多模态客户端设备的用户提供,
其中,所述用户接口输入被处理以确定响应于所述用户接口输入的多个项的列表,
其中,所述当前模态至少部分地基于来自所述多模态客户端设备的一个或多个传感器的传感器数据,以及
其中,基于其确定了所述当前模态的所述传感器数据不同于基于由用户接口输入的所述一个或多个实例生成的任何传感器数据;
基于所述列表的列表属性来确定要渲染的所述列表的第一子集,其中,所述列表属性包括所述列表中的项的数量和所述列表中的每个项中的字符的数量,并且其中,基于所述列表的所述列表属性来确定要渲染的所述列表的所述第一子集包括:
在所述当前模态是第一模态时,基于所述列表中的项的数量、所述列表中的每个项中的字符的数量以及所述当前模态是所述第一模态来确定所述多个项中的第一子组,
其中,所述第一模态是仅语音模态、仅视觉模态和多模态的模态中的一个,并且
在所述当前模态是不同于所述第一模态的第二模态时,基于所述列表中的项的数量、所述列表中的每个项中的字符的数量以及所述当前模态是所述第二模态来确定所述多个项中的第二子组,其中,所述多个项中的所述第二子组不同于所述多个项中的所述第一子组,
其中,所述第二模态是所述仅语音模态、所述仅视觉模态和所述多模态的模态中的另一个;以及
将所述列表的所述第一子集经由所述网络接口传输到所述多模态客户端设备,以用于由所述多模态客户端设备的一个或多个用户接口输出设备进行渲染,其中,在所述列表的所述第一子集是交互式列表时,所述传输使所述多模态客户端设备执行以下操作:
使所述交互式列表的第一交互项而无需使所述交互式列表的第二交互项由所述多模态客户端设备的所述用户接口输出设备中的一个或多个渲染给所述用户,
在将所述第一交互项渲染给所述用户之后的阈值持续时间内监视与所述第一交互项交互的附加用户输入,以及
响应于在渲染所述第一交互项之后监视期间没有接收到附加用户输入,使所述交互式列表的所述第二交互项被所述多模态客户端设备的所述用户接口输出设备中的一个或多个渲染给所述用户。
16.根据权利要求15所述的方法,还包括:
除了经由所述网络接口将所述列表的所述第一子集传输到所述多模态客户端设备之外,还传输所述多个项的所述列表以由所述多模态客户端设备进行附加的处理。
17.根据权利要求16所述的方法,其中,所述当前模态是所述多模态的模式,所述列表的第一部分经由所述多模态客户端设备的一个或多个用户接口输出设备的一个或多个扬声器被渲染,并且所述多个项的所述列表经由所述多模态客户端设备的所述一个或多个用户接口输出设备的触摸屏被渲染。
18.一种由一个或多个处理器实现的方法,所述方法包括:
接收由多模态客户端设备的用户提供的用户接口输入的一个或多个实例;
基于由远离所述多模态客户端设备的一个或多个服务器进行的对所述用户接口输入的处理,经由网络接口从所述一个或多个服务器接收响应于所述用户接口输入的多个项的非结构化列表;
至少部分地基于来自所述客户端设备的一个或多个传感器的传感器数据,确定所述多模态客户端设备的当前模态,
其中,基于其确定了所述当前设备模态的所述传感器数据不同于由用户接口输入的一个或多个实例生成的任何传感器数据;
基于所述列表的列表属性来确定要渲染的所述列表的第一子集,其中,所述列表属性包括所述列表中的项的数量和所述列表中的每个项中的字符的数量,并且其中,基于所述列表的所述列表属性来确定要渲染的所述列表的所述第一子集包括:
在所述当前模态是第一模态时,基于所述列表中的项的数量、所述列表中的每个项中的字符的数量以及所述当前模态是所述第一模态来确定所述多个项中的第一子组,
其中,所述第一模态是仅语音模态、仅视觉模态和多模态的模态中的一个,并且
在所述当前模态是不同于所述第一模态的第二模态时,基于所述列表中的项的数量、所述列表中的每个项中的字符的数量以及所述当前模态是所述第二模态来确定所述多个项中的第二子组,其中,所述多个项中的所述第二子组不同于所述多个项中的所述第一子组,
其中,所述第二模态是所述仅语音模态、所述仅视觉模态和所述多模态的模态中的另一个;以及
使所述非结构化列表的所述第一子集由所述多模态客户端设备的一个或多个用户接口输出设备渲染,其中,在所述列表的所述第一子集是交互式列表时,使所述非结构化列表的所述第一子集由所述多模态客户端设备的一个或多个用户接口输出设备渲染包括:
使所述交互式列表的第一交互项而无需使所述交互式列表的第二交互项由所述用户接口输出设备中的一个或多个渲染给所述用户,
在将所述第一交互项渲染之后的阈值持续时间内监视与所述第一交互项交互的附加用户输入,以及
响应于在渲染所述第一交互项之后监视期间没有接收到附加用户输入,使所述交互式列表的所述第二交互项被所述多模态客户端设备的所述用户接口输出设备中的一个或多个渲染给所述用户。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/155,728 US11347376B2 (en) | 2018-10-09 | 2018-10-09 | Dynamic list composition based on modality of multimodal client device |
US16/155,728 | 2018-10-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688011A CN110688011A (zh) | 2020-01-14 |
CN110688011B true CN110688011B (zh) | 2023-08-11 |
Family
ID=69111592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910949390.XA Active CN110688011B (zh) | 2018-10-09 | 2019-10-08 | 基于多模态客户端设备的模态的动态列表构成 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11347376B2 (zh) |
CN (1) | CN110688011B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118250315A (zh) | 2018-01-16 | 2024-06-25 | 谷歌有限责任公司 | 提供助理深度链接以实行第三方对话会话转移的系统、方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201116893D0 (en) * | 2011-09-30 | 2011-11-16 | Start J G Ltd | Interactive user interfaces |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020007379A1 (en) * | 2000-05-19 | 2002-01-17 | Zhi Wang | System and method for transcoding information for an audio or limited display user interface |
US7228495B2 (en) * | 2001-02-27 | 2007-06-05 | International Business Machines Corporation | Method and system for providing an index to linked sites on a web page for individuals with visual disabilities |
US20020163543A1 (en) * | 2001-05-02 | 2002-11-07 | Minoru Oshikiri | Menu item selection method for small-sized information terminal apparatus |
EP1810264A4 (en) * | 2004-11-12 | 2010-09-29 | Freedom Scientific Inc | METHOD FOR VISUAL PRESENTATION OF THE LISTS OF A SCREEN READER |
US8365063B2 (en) * | 2005-06-28 | 2013-01-29 | International Business Machines Corporation | Accessible list navigation |
US20070211071A1 (en) * | 2005-12-20 | 2007-09-13 | Benjamin Slotznick | Method and apparatus for interacting with a visually displayed document on a screen reader |
US7487453B2 (en) * | 2006-03-24 | 2009-02-03 | Sap Ag | Multi-modal content presentation |
GB0622823D0 (en) * | 2006-11-15 | 2006-12-27 | British Broadcasting Corp | Accessing content |
US8612230B2 (en) | 2007-01-03 | 2013-12-17 | Nuance Communications, Inc. | Automatic speech recognition with a selection list |
US8380499B2 (en) * | 2008-03-31 | 2013-02-19 | General Motors Llc | Speech recognition adjustment based on manual interaction |
US20100008650A1 (en) * | 2008-07-10 | 2010-01-14 | Apple Inc. | Multi-model modes of one device |
US20100064255A1 (en) * | 2008-09-05 | 2010-03-11 | Apple Inc. | Contextual menus in an electronic device |
US8456420B2 (en) | 2008-12-31 | 2013-06-04 | Intel Corporation | Audible list traversal |
US8416192B2 (en) * | 2009-02-05 | 2013-04-09 | Microsoft Corporation | Concurrently displaying multiple characters for input field positions |
US10679605B2 (en) * | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
WO2013022218A2 (en) * | 2011-08-05 | 2013-02-14 | Samsung Electronics Co., Ltd. | Electronic apparatus and method for providing user interface thereof |
DE102012202407B4 (de) | 2012-02-16 | 2018-10-11 | Continental Automotive Gmbh | Verfahren zum Phonetisieren einer Datenliste und sprachgesteuerte Benutzerschnittstelle |
US20130290879A1 (en) * | 2012-04-30 | 2013-10-31 | Research In Motion Tat Ab | Displaying notification messages and messages on a portable electronic device |
US8862985B2 (en) * | 2012-06-08 | 2014-10-14 | Freedom Scientific, Inc. | Screen reader with customizable web page output |
KR102069322B1 (ko) * | 2013-06-05 | 2020-02-11 | 삼성전자주식회사 | 프로그램 실행 방법 및 그 전자 장치 |
WO2015031661A1 (en) * | 2013-08-29 | 2015-03-05 | ExXothermic, Inc. | Asynchronous audio and video in an environment |
US9398144B2 (en) * | 2013-10-24 | 2016-07-19 | Cellco Partnership | Mobile device mode of operation for visually impaired users |
US10249300B2 (en) * | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US9619202B1 (en) | 2016-07-07 | 2017-04-11 | Intelligently Interactive, Inc. | Voice command-driven database |
-
2018
- 2018-10-09 US US16/155,728 patent/US11347376B2/en active Active
-
2019
- 2019-10-08 CN CN201910949390.XA patent/CN110688011B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201116893D0 (en) * | 2011-09-30 | 2011-11-16 | Start J G Ltd | Interactive user interfaces |
Also Published As
Publication number | Publication date |
---|---|
US20200110515A1 (en) | 2020-04-09 |
US11347376B2 (en) | 2022-05-31 |
CN110688011A (zh) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11869489B2 (en) | Providing suggested voice-based action queries | |
JP7277569B2 (ja) | 検出されたジェスチャおよび凝視に基づく自動化アシスタントの機能の呼び出し | |
CN112868060B (zh) | 用户、自动化助理和其它计算服务之间的多模态交互 | |
US11347801B2 (en) | Multi-modal interaction between users, automated assistants, and other computing services | |
US11200893B2 (en) | Multi-modal interaction between users, automated assistants, and other computing services | |
JP2023015054A (ja) | 自動化アシスタントを呼び出すための動的および/またはコンテキスト固有のホットワード | |
KR102591555B1 (ko) | 자동 어시스턴트를 위한 시각적 단서들의 선택적 검출 | |
US20240169989A1 (en) | Multimodal responses | |
JP2023017791A (ja) | アシスタントデバイスのディスプレイにレンダリングするコンテンツの選択 | |
US11164576B2 (en) | Multimodal responses | |
CN110688011B (zh) | 基于多模态客户端设备的模态的动态列表构成 | |
US12125486B2 (en) | Multi-modal interaction between users, automated assistants, and other computing services | |
US20230343336A1 (en) | Multi-modal interaction between users, automated assistants, and other computing services |
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 |