背景技术:
1、已经提出各种基于计算机的方法用于引导用户从候选项目的超集中选择项目的子集。例如,已经提出基于计算机的方法用于引导用户从车辆的候选车辆特征的超集中为该车辆选择特定车辆特征的子集。作为另一个示例,已经提出基于计算机的方法用于引导用户从某一地点的某一项目的可用门票的超集中为该项目选择门票的子集。
2、作为一个特定示例,已经提出至少部分地自动化在快速服务餐厅(qsr)处进行点餐(food ordering)的方法。例如,一些qsr实现具有触摸屏的点餐亭(ordering kiosk),该点餐亭使得用户能够提供基于触摸的输入来浏览菜单项目的层次结构并选择要并入订单中的那些菜单项目的子集。然而,例如由于用户在作出选择之前需要彻底检查每个屏幕上的呈现的选项和/或不经意地在层次结构的错误分支中进行浏览(例如,并且需要在层次结构中向后浏览),利用触摸屏和/或分层导航可能是高时延的。这可能导致实现点餐亭的计算装置的资源使用延长和/或可能导致固定的一组点餐亭的吞吐量受约束。进一步地,触摸屏的利用对于灵活性有限的用户和/或在各种情形下(例如,当用户在得来速餐厅(drive-thru)留在车内时)可能是不实际或不可能的。
3、另外,例如,已经提出利用基于轮次的(turn-based)可听对话,其中用户提供口头话语,并且计算机系统提供可听合成口头响应来尝试制定订单。然而,由于渲染可听合成口头响应需要时间,因此此类技术可能是高时延的。例如,如果用户在某一轮次中的口头话语有歧义并且部分地匹配五个不同的菜单项目,则将渲染描述五个不同的项目的可听合成口头响应,以使得用户能够通过进一步的口头话语来对有歧义的初始输入消歧。渲染这种可听口头响应需要时间和计算装置的资源利用,并且用户在提供消歧的进一步的口头话语之前可能需要等待可听口头响应渲染完成。
技术实现思路
1、本文描述的实现方式旨在缓解在用户与计算系统之间的交互期间引导用户从候选项目的超集中选择项目子集以及致使基于所选择的项目子集来执行进一步动作的时延。基于被选择的项目子集来执行的进一步动作可以包括:例如,经由应用编程接口(api)传输所选择的项目子集,以致使所选择的子集被添加到列表(例如,添加到订单)和/或致使基于所选择的项目子集来执行其他履行动作。因此,实现方式提出在用户与计算机系统的交互期间引导用户完成技术任务(例如,经由api或其他后端传输选择的子集)并且使得技术任务能够以低时延完成的各种技术。
2、在引导用户选择项目子集时,各种实现方式使得用户能够在选择项目子集时仅提供口头输入,并且提供响应于口头输入的并且引导用户选择项目的视觉输出。在那些各种实现方式中的一些实现方式中,在引导用户选择项目子集时不存在任何(或仅存在极少量)由计算系统渲染的可听合成口头输出。相反,对用户的引导是经由视觉输出来实现的,该视觉输出诸如是项目(例如,至少子集中的那些项目)的图像以及可选地项目的视觉自然语言描述、项目的注释渲染描述符和/或非自然语言耳标(例如,简短的用以表明选择的第一肯定“叮声”和/或简短的用以表明取消选择的第二非肯定叮声)。在那些各种实现方式中的一些实现方式中,可以附加地或替代地利用用于包括在项目子集中的项目的非口头且非触摸的选择。例如,可以处理来自相机的图像以检测用户正指向的和/或用户的注视所投向的显示器区域,并且可以响应于用户指向和/或将他们的注视投向该区域而选择该区域中的项目以包括在子集中。
3、通过在引导用户时省略任何(或仅包括极少量)可听合成口头输出,可以缓解制定子集的选择的时延。例如,这可能是由于与项目相对应的视觉输出相对于合成口头输出的渲染能够更快地渲染,并且能够在显示器上同时渲染(而合成口头输出必须随时间按顺序渲染)。附加地或替代地,这可能是由于与合成口头输出相比,人类更快地理解视觉输出。进一步地,可以通过实现通过口头输入选择子集来减少时延(例如,经由用户仅仅提供口头输入,与针对复杂的分层导航界面的一系列触摸输入相比,人类可以更快地提供口头输入)。再进一步地,实现通过口头输入选择子集使得灵活性受约束的用户能够执行选择和/或使得能够在到对应计算装置的触摸和/或其他类型的输入是不实际或不可能的情形下进行选择执行。甚至进一步地,附加地或替代地实现子集中的项目的非口头且非触摸的选择的实现方式使得有说话障碍的用户能够执行选择和/或使得能够在口头输入是不可能或不实际的情形(例如,环境中有高水平噪音的情形)下实现进行选择执行。
4、本文所公开的实现方式可以包括视觉显示器或与其互动,经由该视觉显示器,视觉输出被渲染。视觉显示器可以包括例如电视、监视器或其他视觉显示器。视觉显示器可以由计算装置控制,作为视觉显示器的一部分并入或者与视觉显示器通信。例如,计算装置可以包括浏览器或与图形用户界面(gui)系统互动的其他应用,并且gui系统可以规定应用致使什么在显示器上被渲染。实现方式可以进一步包括可以至少选择性地检测音频数据的麦克风或与其互动,并且经由麦克风检测到的音频数据流可以至少选择性地被提供到流式传输自动语音辨识(asr)组件。麦克风可以作为显示器的一部分并入,或者可以与显示器分离但靠近显示器。在各种实现方式中,响应于检测到口头输入的可能或实际存在,诸如检测到话音活动(例如,经由话音活动检测模型)、检测到麦克风和/或对应显示器的阈值接近度内的车辆和/或检测到麦克风和/或对应显示器的阈值接近度内的人类,音频数据流被提供到流式传输asr组件。
5、gui系统与流式传输asr组件通信,并且在流式传输转录由流式传输asr组件生成时,可以接收流式传输转录。asr组件可以通过处理经由麦克风检测到的音频数据流并且捕获用户的口头话语来生成流式传输转录。
6、gui系统可以包括语义解析器,该语义解析器在接收到流式传输转录时处理流式传输转录,以生成匹配该流式传输转录的结构化表示的一个或多个实例(各自基于流式传输转录的迄今接收到的部分)以及结构化表示中的每个结构化表示的置信度度量。语义解析器可以可选地与大型语言模型(llm)互动,以生成结构化表示和/或对应的置信度度量。例如,可以使用llm来处理流式传输转录的迄今接收到的部分,以生成指示流式传输转录的迄今接收到的部分的语义表示的表示输出。该表示输出然后可以由语义解析器处理,以确定各自与超集中的项目相对应的多个候选结构化表示中的哪些匹配表示输出,并且生成每个候选结构化表示的对应的置信度度量。候选结构化表示中的每个候选结构化表示可以例如呈javascript对象表示法(json)格式(或其他结构化格式),并且可以指示例如对应项目的语义标识符和该项目的属性。可以通过对应的结构化表示来指示的项目的属性可以包括项目的数量(例如,项目中的一个、项目中的两个等)、项目的修改选项(例如,对于芝士汉堡项目,修改选项可以包括添加和/或移除:芥末、番茄酱、泡菜和/或洋葱)、和/或项目的相关选项(例如,对于芝士汉堡项目,相关选项可以包括“make it a combo (将它做成套餐)”、“add fries (添加薯条)”和/或“add a drink (添加饮料)”)。
7、当由语义解析器生成的结构化表示具有满足阈值(例如,绝对阈值和/或相对于其他结构化表示的置信度度量的阈值)的相关联置信度度量时,可以仅仅选择对应项目。作为响应,对应项目的视觉输出可以被致使经由显示器渲染在gui中。视觉输出可以包括例如对应项目的预先存储的图像、对应项目的视觉自然语言描述符、对应项目的价格和/或其他视觉输出。对应项目的视觉输出可以是经由显示器渲染在gui中的唯一视觉输出,和/或可以通过指示(例如,对应项目的视觉输出中的一些/全部周围的边框)来渲染以指示对应项目已准备好包括在列表中。如果在渲染对应项目的视觉输出期间发生被动确认(例如,阈值时间量的流逝)或主动确认(例如,说出“add it (添加它)”、“confirm (确认)”等),则可以将对应项目添加到列表(例如,经由与履行api的交互)。可选地,在渲染对应项目的视觉输出期间,可以通过(本文所述的)语义解析器和/或依赖显示的解析器针对进一步的口头输入继续监视流式传输转录,例如,该进一步的口头输入根据修改选项修改项目、根据项目的相关选项添加其他项目、和/或取消将对应项目包括到列表。
8、当由语义解析器生成的结构化表示具有未能满足阈值(例如,绝对阈值和/或相对于其他结构化表示的置信度度量的阈值)的相关联置信度度量时,可以选择结构化表示中的多个结构化表示,诸如具有最高置信度度量的n和/或具有满足次级阈值的置信度度量的那些结构化表示。作为响应,与所选择的结构化表示相对应的项目中的每个项目的对应视觉输出可以被致使经由显示器渲染在gui中。可选地,可以基于项目的结构化表示的置信度度量(如由语义解析器确定)和/或基于该项目的其他度量来确定该项目的视觉输出在gui内的位置。该项目的此类其他度量可以包括该项目受欢迎度量度,诸如指示该项目在一定时间段内(例如,在过去一天、过去一周内等)被一群用户包括在列表中的频率的受欢迎度量度。
9、在各种实现方式中,当针对多个项目中的每个项目渲染对应视觉输出时,至少一个对应的注释描述符可以与多个项目中的每个项目的视觉输出一起渲染在gui中。项目的注释描述符可以是不在语义上描述该项目的描述符。例如,假定为以下两个项目提供对应的视觉输出:培根芝士汉堡和芝士汉堡。培根芝士汉堡的注释描述符可以包括连同培根芝士汉堡视觉输出一起渲染(例如,在培根芝士汉堡图像的顶上、旁边或周围)的数字(例如,“1”)、字母(例如,“a”)和/或颜色(例如,“yellow (黄色)”)。芝士汉堡的注释描述符被选择为与培根芝士汉堡的那些注释描述符相异,并且可以包括连同芝士汉堡视觉输出一起渲染的数字(例如,“2”)、字母(例如,“b”)和/或颜色(例如,“red (红色)”)。
10、当在gui中同时渲染多个项目的视觉输出时,可以定义项目中的每个项目与它们的渲染描述符之间的关联。项目的视觉输出的渲染描述符可以包括位置描述符和/或注释描述符。项目的视觉输出的位置描述符可以描述视觉输出在gui中的相对位置,也就是说,相对于其他项目的视觉输出的相对位置。例如,如果项目的视觉输出被呈现在所有其他项目的视觉输出上方,则该项目的位置描述符可以包括“top (顶部)”、“first (第一)”和/或“upper (上部)”。项目的视觉输出的注释描述符可以描述与该项目的视觉输出一起渲染在gui中的注释。例如,如果项目的图像邻近“a”被渲染,并且图像以“yellow”加边框,则项目的注释描述符可以包括“a”和“yellow”。
11、在各种实现方式中,gui系统还包括依赖显示的解析器,该依赖显示的解析器至少选择性地与语义解析器并行处理流式传输转录。例如,依赖显示的解析器可以至少在经由显示器在gui中渲染多个项目的视觉输出时与语义解析器并行处理流式传输转录。依赖显示的解析器可以利用当前渲染描述符来确定流式传输转录的当前部分是否匹配渲染描述符中的一个渲染描述符。如果匹配,则依赖显示的解析器可以致使与匹配的渲染描述符相关联地存储的项目的选择。例如,假定项目的图像当前正被渲染在正被显示的所有其他项目的图像上方,该图像邻近“a”并且该图像以“yellow”加边框。依赖显示的解析器可以响应于流式传输转录的暂时与这种渲染(包括“a”、“yellow”、“top”和/或“first”中的任一者)相对应的一部分而致使项目的选择。当还启用基于图像的输入(诸如指向输入和/或基于注视的输入)时,依赖显示的解析器可以附加地或替代地响应于与项目的位置描述符相关的那些输入而致使项目的选择。例如,可以响应于检测到用户指向和/或将他们的注视投向显示器的“顶部”区域而选择具有位置描述符“top”的项目。
12、如上所指出,语义解析器可以与依赖显示的解析器并行处理流式传输转录,并且可以响应于生成具有阈值置信度量度的对应结构化表示来选择对应项目。因此,在用户提供语义上描述对应项目的口头词语的情形下,语义解析器可以致使对应项目的选择,而此类口头词语不会导致依赖显示的解析器致使对应项目的选择(因为此类口头词语将不匹配渲染描述符)。相反,在用户提供引用项目在gui中的位置的口头词语和/或与gui中的该项目的视觉输出一起渲染的注释的情形下,依赖显示的解析器可以致使对应项目的选择,而此类口头词语不会导致语义解析器致使对应项目的选择(因为此类口头词语将不在语义上描述实际的对应项目)。换句话说,语义解析器和依赖显示的解析器在并行处理流式传输转录时可以相互补充,因为语义解析器能够响应于在语义上描述项目的词语而致使项目的选择,并且依赖显示的解析器能够响应于匹配与项目的视觉输出在gui中的当前显示相关联的渲染描述符的词语而致使项目的选择。
13、以这些和其他方式,通过语义解析器和依赖显示的解析器的并行操作,可以针对包括在口头输入中的更稳健的词语范围启用项目的选择。这为对应的用户提供了灵活性来提供真正在语义上表示所需项目的口头输出,或者来提供仅在语义上表示该项目当前如何在gui中显示的口头输出。因此,这可以使得用户能够说出最能引起用户共鸣的内容,从而使得能够更快地说出和更快地选择对应项目。进一步地,说出与项目的渲染描述符相对应的词项(例如,“a”或“top”)通常可以比说出真正在语义上表示该项目的词项(例如,“theone with bacon (带有培根的那个)”)更快。
14、以上描述作为本文所公开的仅一些实现方式的概述来提供。在本文中更详细地描述了那些实现方式以及其他实现方式。
15、应当理解,本文所公开的技术可以在客户端装置上本地实现,由经由一个或多个网络连接到客户端装置的服务器远程实现(例如,通过远程服务器的集群在“云”中实现),和/或两者。