CN118051198A - 通过预测用户响应来加快与数字助理的交互 - Google Patents

通过预测用户响应来加快与数字助理的交互 Download PDF

Info

Publication number
CN118051198A
CN118051198A CN202410182748.1A CN202410182748A CN118051198A CN 118051198 A CN118051198 A CN 118051198A CN 202410182748 A CN202410182748 A CN 202410182748A CN 118051198 A CN118051198 A CN 118051198A
Authority
CN
China
Prior art keywords
user
prompt
response
digital assistant
predicted response
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.)
Pending
Application number
CN202410182748.1A
Other languages
English (en)
Inventor
V·阿加瓦尔
R·K·杰哈
S·巴特拉
K·坦吉拉拉
M·马卡雷基安
I·齐图尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN118051198A publication Critical patent/CN118051198A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • G10L15/07Adaptation to the speaker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3349Reuse of stored results of previous queries
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

在本文中描述了一种计算机实现的技术,其用于加快用户与数字助理的交互。在一个实现方式中,所述技术涉及响应于由用户经由输入设备提供的输入命令来接收由数字助理生成的系统提示。然后,所述技术基于所述系统提示的语言内容连同与在其中发出系统提示的环境有关的上下文特征来生成预测的响应。所述预测的响应对应于用户将如何响应所述系统提示的预测。然后,所述技术基于与所述预测的响应相关联的置信度值,从多个对话动作中选择一个或多个对话动作。所述技术通过减少要求用户响应的系统提示的数量来加快用户与数字助理的交互。

Description

通过预测用户响应来加快与数字助理的交互
本申请是申请日为2019年11月28日、申请号为201980079952.8、发明名称为“通过预测用户响应来加快与数字助理的交互”的中国专利申请的分案申请。
背景技术
数字助理指代虚拟代理,其用于通常经由多回合对话来回答用户的查询。在通常情况下,用户通过输入初始命令来开始,诸如“在纽约预定酒店”。然后,数字助理通过一系列系统提示来标识预订的时间、地点以及其他细节。为了执行该任务,数字助理通常依赖于一个或多个技能组件。每个技能组件被配置为处理特定任务,诸如预订餐厅、控制媒体系统、取回新闻等。
尽管数字助理在我们的生活中变得无处不在,但是这些代理有时展现出非最佳的性能。例如,用户可能对数字助理理解和执行任务所花费的时间量越来越感到沮丧。每当数字助理误解用户的输入查询或响应时,用户可能尤其沮丧,这迫使用户纠正事务的过程。此外,数字助理不一定通过重复使用而随着时间得到改善。每次用户执行相似的事务时,可能都要求用户进行相同、耗时的对话。
数字助理平台开发人员和技能组件开发人员已经分别独立地尝试通过构建更智能的数字助理平台和技能组件来解决这些问题。例如,技能组件开发人员可能尝试构建学习关于用户定期与其交互的实体的信息的技能组件。但是,这些单独的工作并没有为跨与数字助理相关联的各种组件的一致个性化服务的开发做出贡献。确实,在一些情况下,技能组件可能包括专有逻辑,所述专有逻辑对于平台开发人员而言仍然是不透明的,在此,平台开发人员将难以利用由这些技能组件捕获的任何见解。
发明内容
在本文中描述了用于加快用户与数字助理的交互的计算机实现的技术。在一种实现方式中,所述技术涉及接收由数字助理生成的系统提示。数字助理响应于由用户经由输入设备提供的输入命令来生成所述系统提示。然后,所述技术基于所述系统提示的语言内容连同与在其中发出所述系统提示的环境有关的上下文特征来生成预测的响应。所述预测的响应对应于对所述用户将如何响应所述系统提示的预测。然后,所述技术基于与所述预测的响应相关联的置信度值从多个对话动作中选择一个或多个对话动作。
第一对话动作涉及:将所述预测的响应作为对所述系统提示的代理用户响应馈送到所述数字助理中,而不经由输出设备将所述预测的响应或所述系统提示输出给所述用户。第二对话动作涉及:指示所述数字助理经由所述输出设备将原始系统提示发送给所述用户。第三对话动作涉及:经由所述输出设备向用户发送确认提示,所述确认提示要求所述用户确认所述预测的响应(例如,通过确认所述预测的响应自身,和/或基于所述预测的响应的动作)。
根据一个方面,所述技术基于包含多个记录条目的数据存储库来生成所述预测的响应。每个记录条目包含:先前生成的系统提示;与在其中发出所述先前生成的系统提示的环境有关的上下文特征集合;以及对所述先前生成的系统提示的先前遇到的用户响应。
所述技术具有各种技术特征。根据第一方面,其通过减少要求用户响应的系统提示的数量来加快用户与数字助理的交互。根据第二方面,其通过利用关于用户的在先校正响应的信息来帮助数字助理解读模糊的用户命令。这方面也减少了要求用户澄清关于用户的初始话语的需要。根据第三方面,所述技术以数字助理所使用的各种技能组件的外部并且在很大程度上不可知的方式来个性化数字助理以供用户使用。这方面促进将所述技术引入到已经构建的数字助理中。其进一步允许所述技术用于补充许多不同种类的数字助理的操作。根据第四方面,所述技术部分地依赖于语言表达的表面或“原始”形式。该方面简化了在生成预测的响应时对该信息的存储和处理。
以上概述的技术能够被体现在各种类型的系统、设备、组件、方法、计算机可读存储介质、数据结构、图形用户界面表示、制品等中。
提供本发明内容以简化形式介绍一些概念;这些概念将在下文的详细描述中进一步描述。本发明内容既不旨在标识所要求保护的主题的关键特征或必要特征,也并不旨在用于限制所要求保护的主题的范围。
附图说明
图1示出了涉及数字助理和用户响应预测系统(“预测系统”)的说明性计算环境。
图2-5示出了图1的计算环境的操作的四个相应示例。
图6示出了图1的计算环境的一种实现方式。
图7示出了可以由图1和图6的预测系统维护的两种类型的数据存储库。
图8示出了能够被用于实现图1和图6的计算环境的设备。
图9示出了由图1和图6的预测系统产生的记录条目的示例。
图10是示出了图1和图6的预测系统的说明性操作方式的流程图。
图11示出了能够被用于实现在前述附图中示出的特征的任意方面的说明性类型的计算设备。
在整个公开和附图中使用相同的数字来引用相似的部件和特征。100系列编号指代最初在图1中找到的特征,200系列数字指代最初在图2中发现的特征,300系列编号指代最初在图3中找到的特征,等等。
具体实施方式
本公开组织如下。A部分描述了一种用于加快用户与数字助理的交互的计算环境。B部分阐述了解释A部分的计算环境的操作的说明性方法。并且C部分描述了能够被用于实现在A部分和B部分中所描述的特征的任意方面的说明性计算功能。
作为初步事项,术语“硬件逻辑电路”对应于执行被存储在存储器中的机器可读指令的一个或多个硬件处理器(例如,CPU、GPU等),和/或使用特定于任务的固定和/或可编程逻辑门的集合来执行操作的一个或多个其他硬件逻辑组件(例如,FPGA)。C部分提供了关于所述硬件逻辑电路的一种实现方式的额外信息。术语“组件”或“引擎”指代执行特定功能的硬件逻辑电路的一部分。
在一种情况下,所图示的将图中的各个部分分成不同的单元可以反映在实际实现方式中对对应的不同物理和有形部分的使用。替代地或另外地,在图中所图示出的任意单个部分可以由多个实际物理部分来实现。替代地或另外地,在图中的任意两个或更多个分开部分的描绘可以反映由单个实际物理部分执行的不同功能。
其他附图以流程图形式描述了这些概念。以这种形式,某些操作被描述为构成以特定次序执行的不同块。这样的实现方式是说明性的而非限制性的。能够将在本文中所描述的特定框分组在一起并且在单个操作中执行,能够将特定框分解为多个组成块,并且能够按与在本文中所图示的次序不同的次序来执行特定框(包括执行框的并行方式)。在一种实现方式中,在流程图中所示出的关于与处理相关的功能的框能够由在C部分中所描述的硬件逻辑电路来实现,而这些逻辑继而能够由包括特定于任务的逻辑门集合的一个或多个硬件处理器和/或其他逻辑组件来实现。
关于术语,短语“被配置为”涵盖用于执行识别出的操作的各种物理和有形的机制。这些机制能够被配置为使用C部分的硬件逻辑电路来执行操作。术语“逻辑”同样涵盖用于执行任务的各种物理和有形机制。例如,在流程图中所图示出的每个与处理相关的操作对应于用于执行该操作的逻辑组件。逻辑组件能够使用C部分的硬件逻辑电路来执行其操作。当由计算设备来实现时,无论采用哪种实现方式,逻辑组件都表示作为计算系统的物理部分的电气组件。
在本文中所描述的任意存储资源或者存储资源的任意组合都可以被视为计算机可读介质。在许多情况下,计算机可读介质表示某种形式的物理和有形实体。术语“计算机可读介质”还涵盖例如经由物理管道和/或空气或者其他无线介质等发送或接收的传播信号。然而,特定术语“计算机可读存储介质”明确地排除了传播信号自身,而包括所有其他形式的计算机可读介质。
以下说明可能将一个或多个特征识别为“可选的”。这种类型的陈述不应当被解读为对可能被视为可选的特征的详尽说明;亦即,其他特征能够被视为可选的,但是在本文中未明确标识。此外,对单个实体的任何描述都不旨在排除使用多个这样的实体;类似地,对多个实体的描述并不旨在排除对单个实体的使用。此外,尽管所述描述可以将特定特征解读为执行识别出的功能或者实现所识别出的机制的替代方式,但是特征还能够以任意组合方式被组合在一起。最后,术语“示例性”或“说明性”指代潜在的许多实现方式之中的一种实现方式。
A.说明性计算环境
图1示出了涉及数字助理104和用户响应预测系统(“预测系统”)106的说明性计算环境102。一个或多个计算设备实现数字助理104和预测系统106。数字助理104指代软件代理,其被配置为以自然语言(例如,英语、法语、日语等)在多回合对话中回应由用户所提出的问题。由预测系统106做出的任何自然语言表达在本文中被称为“系统提示”。由用户发出的任何自然语言表达在本文中被称为“响应”、“命令”、“查询”或者“输入表达”。
预测系统106的主要目的是预测用户将响应系统提示的方式。例如,假设所述系统提示询问用户有多少人将参加在餐厅计划的晚餐。响应于该问题,预测系统106以自然语言预测用户将说什么。
图1示出了预测系统106是与数字助理104分离的组件。然而,如在图6中所示的,预测系统106的功能可以与数字助理104的功能结合在一起。因此,预测系统106可以被理解为组件的任意集合,所述组件共同服务预测用户对系统提示的响应的任务,并且随后响应于其预测的响应来控制数字助理104。
在图1中将预测系统106和数字助理104示为单独组件的一个原因是:要强调预测系统106主要在数字助理104的“外部”与数字助理104一起工作。亦即,预测系统106通过管理作为输入信号被馈送到数字助理104中的响应来进行操作,而不是主要改变由数字助理104所使用的逻辑。例如,数字助理104能够包括一个或多个技能组件(108、110、...、112)。每个技能组件均指代被设计为处理由用户提出的问题域的逻辑模块。预测系统106无需改变由这些技能组件(108、110、...、112)所使用的逻辑即可执行其功能。该特性促进将预测系统106引入到已经设计的数字助理104,并且使得预测系统106能够宽泛应用于不同类型的数字助理。但是注意到技能组件的开发人员仍然能够在技能组件的设计中考虑预测系统106的存在。例如,如下文将更详细解释的,技能组件能够发送设置信号,所述设置信号向预测系统106通知技能组件希望利用预测系统106的服务的程度(如果有的话)。
图1总结了预测系统106能够应用预测的用户响应的不同方式。在第一方式(A)中,预测系统106将所述预测的响应作为输入信号反馈回到数字助理104中,其在数字助理104中用作代理用户响应。在这种情况下,预测系统106能够阻止数字助理104服务于所述系统提示。由此也消除了用户响应所述系统提示的需要。换言之,预测系统106自动回答由数字助理104所提出的任何问题。
在第二方式(B)中,预测系统106将所述原始系统提示发送给用户,而不是所述预测的响应。然后,用户响应所述系统提示,以提供实际用户响应。在这种情况下,预测系统106可以舍弃所述预测的响应。替代地,数字助理104仍然能够在其一个或多个阶段中消费所述预测的响应。例如,数字助理104能够使用语音识别器组件将语音信号转换为文本信息,并且然后使用自然语言理解(NLU)组件来解读所述文本信息。这些单元中的任意一个单元都能够利用所述预测的响应来辅助他们解读即将到来的实际用户响应。
在第三方式(C)中,预测系统106能够向用户发送确认提示,而不是原始的系统提示。所述确认提示要求用户例如通过确认所述预测的响应自身和/或基于所提议的响应的提议动作来确认所述预测的响应。在其他情况下,所述确认提示要求用户确认在两个或更多个先前预测周期中做出的另外两个新近的预测的响应。此外,注意到了预测系统106能够在数字助理开始执行待确认的动作之前和/或之后发送确认提示。亦即,在一些情况下,所述确认提示询问用户是否授权数字助理104来采取指定的动作;在此,除非用户以肯定方式响应所述确认提示,否则数字助理104将不采取动作。在其他情况下,确认提示告诉用户数字助理104将采取或者当前正在采取或者已经采取了动作;在此,除非用户主动取消或撤消所述动作,否则数字助理104将执行所述动作。
注意,以上三个动作不是互斥的。例如,如下文将描述的,预测系统106能够通过将所述预测的响应反馈回到数字助理104中来进行对话动作(A)。然后,其能够通过向用户发送确认提示来进行对话动作(C),其通知用户已经执行了所述动作。所述确认提示还可以为用户给出停止或撤消所述动作的动作。
在一种实现方式中,每当与所述预测的响应相关联的置信度水平高于规定的特定于环境的阈值时,预测系统106选取动作(A),这指示存在与所述预测的响应相关联的高水平的置信度。每当与所述预测的响应相关联的置信度水平低于规定的特定于环境的阈值时,预测系统106选取动作(B),这指示存在与所述预测的响应相关联的相对低的置信度。当与所述预测的响应相关联的置信度水平落入到特定于环境的中间范围中时,预测系统106能够在采取动作之前选取动作(C)。更一般而言,其他实现方式能够使用因素的任意组合来决定要调用的(一个或多个)动作。
预测系统106基于正在考虑中的系统提示的“原始”语言内容连同与在其中发布所述系统提示的环境有关的上下文特征集合来生成每个预测的响应。例如,所述上下文特征能够识别引起所述系统提示的生成的用户查询、用于生成所述系统提示的技能组件、用户发出所述用户查询的时间、用户发出所述用户查询的位置,等等。
预测系统106能够使用任意技术将所述系统提示(以及其上下文特征)映射到预测的响应。在一种情况下,预测系统106将任务视为信息取回问题。在该框架中,预测系统106尝试将当前系统提示以及其上下文特征与存储在数据存储库114中的先前生成的系统提示进行匹配。更具体而言,能够将数据存储库114中的每个记录条目视为文档。其包括先前遇到的系统提示,描述数字助理104在其中生成所述先前生成的系统提示的环境的上下文特征集合,以及用户响应于所述先前生成的系统提示而进行的先前遇到的用户响应。预测系统106尝试查找与当前系统提示以及其上下文特征相匹配的记录条目;然后,其将与该记录条目相关联的用户响应用作预测的响应。在一种情况下,预测系统106能够使用任意搜索和/或排名算法来解决该问题。例如,预测系统106能够使用机器学习的决策树模型来执行该任务。
所述预测系统对语言表达的表面或“原始”形式的依赖是有利的,因为其简化了所述预测的响应的生成。亦即,预测系统106不需要从语言表达(诸如实体名称)提取细节并且将所提取出的细节存储在复杂模式中的处理。
图2-5示出了图1的计算环境102的操作的四个相应示例。每个这样的图示出了在用户与数字助理(DA)104之间的简短对话,而没有使用预测系统106。然后,其示出了在引入预测系统106时对话将如何变化。
以图2的第一示例202开始,假设用户通过命令数字助理104“呼叫James”来发起对话。在不使用预测系统106的情况下,数字助理(DA)104以系统提示进行响应,所述系统提示邀请用户指定应当呼叫用户的通讯录中名为“James”的哪个人。作为响应,用户更具体地将该人标识为“James Smith”。数字助理104通过通知用户正在呼叫名为“James Smith”的人来做出响应。
利用预测系统106,假设数字助理104以相同的方式响应用户的初始查询(“呼叫James”),例如,通过生成读出“您希望呼叫谁,James Brown、James Smith还是JamesJohnson?”的系统提示。然后,预测系统106使用该系统提示以及上下文因素集合来生成“James Smith”的预测的响应。然后,预测系统106将所述预测的响应(“James Smith”)作为输入来馈送到数字助理104中,在其中其用作代理用户响应。在此,预测系统106防止数字助理104将所述系统提示输出给用户;此外,预测系统106不警告用户其已经将所述预测的响应(“James Smith”)自动馈送到数字助理104中这一事实。
如上文所提到的,当所述预测的响应具有与其相关联的高水平的置信度时,预测系统106能够选取这种操作方式。例如,当预测系统106具有足够的证据表明当用户提出呼叫“James”的请求时,该用户几乎总是说“James Smith”,这将是正确的。在其他情况下,预测的响应的确定性能够取决于上下文因素。例如,假设James Smith是所述用户的同事,所述用户经常在工作时间期间向其打电话,而晚上很少打电话。因此,如果用户在非工作时间发出命令“呼叫James”,则预测系统106可以拒绝自动向该人发起呼叫。
预测系统106通过向用户发送通知用户正在呼叫James Smith的确认提示来终止所述事务。如果用户不打算呼叫James Smith,则所述提示邀请用户取消该操作。因此,第一示例202用作说明,其中,预测系统106应用第一对话动作(通过将预测的响应发送回到数字助理104中),以及第三对话动作(通过向用户发送确认提示)。
图3示出了第二示例302,其中,在没有预测系统106的情况下,用户通过要求数字助理104预订两张电影票来开始会话。数字助理104通过要求用户指定用户希望参加哪个剧院来做出响应。用户做出响应,基于所述响应,数字助理104确认已经预订了票。
在预测系统106就位的情况下,数字助理104响应于用户的初始命令再次生成相同的系统提示,显示为“我应当在哪个剧院预定票?”预测系统106对该系统提示以及其上下文因素进行操作,以生成“林肯广场”的预测的响应。假设与该预测的响应相关联的置信度水平落入到特定于环境的中间范围中。这样,预测系统106向用户发送确认提示,所述确认提示显示为“在林肯广场电影院,对吗?”该动作与图2的示例202不同,在图2中,预测系统106将所述预测的响应作为代理用户响应自动地馈送到数字助理104中,而无需请求用户的批准。
用户通过简单地说“是”来响应于所述确认响应。然而,如所给出的,该确认实际上并未通知数字助理104该做什么。(注意,此时,预测系统106知道用户打算参加特定的剧院,但是数字助理104不知道。)因此,图3示出了预测系统106拦截用户的答复(“是”)并且将其修改为“林肯广场”。这是数字助理104基于原始系统提示(“我应当在哪个剧院预定票?”)所期望的那种知识。最终,数字助理104确认其已经执行了用户所请求的动作。
图4示出了第三示例402,其是图3的先前示例302的变型。在这种情况下,在没有预测系统106的情况下,用户再次要求数字助理104购买两张电影票。但是,在此,用户忽略了剧院信息和出席时间信息两者。数字助理104通过首先请求剧院的名称,并且然后是时间,来做出响应。其他事务能够涉及更多对话回合。
在预测系统106就位的情况下,预测系统106首先生成识别剧院的预测的响应(“林肯广场”)。然后,其将该预测的响应反馈回到数字助理104中,而没有通知用户。该动作使数字助理104生成另一系统提示,所述另一系统提示从用户那里请求出席时间信息。预测系统106通过预测用户的响应将是“7:30PM”来响应该第二提示。在该阶段处,预测系统106向用户发送确认提示,显示为“7:30在林肯中心?”因此,预测系统106要求用户验证两个先前的预测的响应(“林肯广场”和“7:30PM”)的正确性。假设用户对该确认提示的响应是肯定的。作为响应,预测系统106将经修改的用户响应“7:30PM”馈送到数字助理104中。采取该行动是因为这是数字助理104所期望的信息种类。(注意,数字助理104已经知道用户将出席林肯广场的剧院,因为预测系统106在前一周期自动将该信息馈送给数字助理104。)数字助理104通过确认已经购买了票来终止事务。
图5示出了最终示例502,其中,在没有预测的情况下,用户进行了若干次尝试以指示数字助理104呼叫名为“Joan Yakamura”的人。但是数字助理104要求用户在正确识别用户希望呼叫的人之前重复该名字三遍。这种用户体验通常将使用户感到沮丧。
在预测系统106就位的情况下,假设数字系统104通过生成系统提示开始,所述系统提示显示为“您说过John Yakamoto?”预测系统106将该系统提示映射到用户的预测的响应“不,是Joan Yakamura”。然后,由于该预测的响应具有与其相关联的高置信度值,因此将该预测的响应馈送到数字助理104中。最后,通过通知用户其正在呼叫“Joan”的过程来结束。因此,用户将不会意识到数字助理104首先错误地识别“John Yakamoto”这个人。
注意,在图5的示例中,预测系统106克服了数字助理104在正确地解读用户输入查询时所面临的困难。预测系统106能够比数字助理104做得更好,因为其利用了在各种不准确的系统提示(诸如“John Yakamoto”)和正确的名称(“Joan Yakamura”)之间建立联系的证据,这是不必要用于数字助理的语音识别器组件和NLU组件的信息。
概括图1-5,预测系统106提供了良好的用户体验,因为其能够减少要求用户做出响应的系统提示的数量。但是,预测系统106基于与每个预测的响应相关联的置信度水平,以智能方式来完成该任务。在一些情况下,其要求用户确认假设,而在其他情况下,不做要求。预测系统106还辅助数字助理104解读模糊的输入查询,如在图1的示例中所示的。
图6示出了图1的数字助理104和预测系统106的一种实现方式。更具体而言,图6示出了使用带有虚线边界的框的数字助理104的组件,并且描绘了使用带有实线边界的框的预测系统106的组件。
首先以数字助理104开始,可选的语音识别器组件602将从麦克风接收到的音频信号流转换为文本信息。所述音频信号传达用户的自然语言输入表达。语音识别器组件602能够使用任意语音识别器技术来执行该任务,诸如由长短期记忆(LSTM)单元组成的递归神经网络(RNN)、隐马尔可夫模型(HMM)等。
语音识别器组件602是可选的,因为在另一输入模式下,用户可以经由键盘输入设备等以文本形式向数字助理104提供输入表达。用户也可以以文本形式接收由数字助理104生成的系统提示。
自然语言理解(NLU)组件604解读由语音识别器组件602提供的(或者作为用户直接输入的)文本信息,以提供经解读的输入表达。不同的NLU组件604使用不同的分析技术。在一个仅说明性的情况下,NLU组件604能够使用可选的域确定组件(未示出)来首先确定与输入表达相关联的最可能的域。域与输入表达所属的通用主题有关。例如,命令“发现不可能的任务”与媒体搜索域有关。意图确定组件(未示出)接下来确定与输入表达相关联的意图。意图对应于用户可能希望通过提交输入表达来完成的目标。例如,提交输入表达“发现不可能的任务”的用户打算查找名称为“不可能的任务”的特定电影。提交命令购买“不可能的任务”的用户打算购买该电影,等等。然后,时隙值(slot value)确定组件(未示出)确定输入表达中的时隙值。在解读输入表达时,所述时隙值对应于技能组件或应用执行所请求的任务所需的信息项。例如,命令“在喜剧类型中查找Jack Nicolson电影”包括识别出名为“Jack Nicolson”的演员的时隙值“Jack Nicolson”,以及与所请求的电影类型相对应的时隙值“喜剧”。
在一种情况下,NLU组件604能够使用一个或多个机器学习模型来实现其各种子组件。例如,域确定组件和意图确定组件中的每个组件能够使用任意机器训练的分类模型,诸如逻辑回归模型、神经网络模型、基于聚类的模型、决策树模型、支持向量机(SVM)模型,等等。所述时隙值确定组件可以使用机器学习的条件随机场(CRF)模型或递归神经网络(RNN)模型等。替代地或另外地,NLU组件604能够使用一个或多个基于规则的系统来实现其任意子组件。例如,所述意图确定组件能够应用规则,所述规则假定包含关键字“购买”的任何输入表达都与购买相关的意图有关。
对话管理器组件606与技能组件(108、110、...、112)集合协调,以提供对用户的输入表达的回答。对此,对话管理器组件606识别应当被调用的(一个或多个)技能组件,并且然后将由NLU组件604提供的经解读的输入表达转发到(一个或多个)适当的技能组件。对话管理器组件606能够通过查阅规则集来执行该任务,所述规则集将由NLU组件604标识的(一个或多个)域和(一个或多个)意图映射到能够处理那些(一个或多个)域和(一个或多个)意图的一个或多个适当的技能组件。
每个技能组件自身能够由(一个或多个)任何机器学习模型和/或任何基于规则的引擎等来实现。在一种情况下,技能组件能够使用机器学习的序列到序列模型来将用户的输入表达映射到输出响应。在另一种情况下,技能组件能够基于一个或多个预存储的脚本来响应用户的输入表达。每个技能组件和/或对话管理器组件606还维护关于正在进行的对话的状态的信息,例如,通过识别相对于用户正在尝试完成的任务的已经询问的问题和已经给出的回答。
自然语言生成(NLG)组件608将由技能组件给出的每个回答映射到自然语言的输出表达中,以向用户提供最终的系统提示。更具体而言,技能组件可以以参数形式输出其回答。例如,在进行航班预订的上下文中,技能组件能够提供指定航班号、航班时间、航班状态以及消息类型的回答。消息类型识别消息的目的;在此,所述消息的目的是传达航班的航班状态。NLG组件608将该回答转换为自然语言表达,从而构成系统提示。其能够使用查找表、一个或多个机器学习模型、一个或多个基于规则的引擎等来执行该操作。可选的语音合成器(未示出)能够将基于文本的系统提示转换为语音系统提示。
数字助理104的上述组成是通过示例而非限制来阐述的。实际上,预测系统106被设计为与由数字助理104所使用的逻辑无关;因此,预测系统106能够与具有任意架构和逻辑的数字助理结合使用。
现在参考预测系统106,预测系统106包括预测器组件610,其将输入系统提示转换为预测的响应。在一种实现方式中,预测系统106使用信息取回范例来提供预测的响应。在该上下文中,预测系统106尝试在数据存储库114中查找相对于当前系统提示最匹配的记录条目。然后,其将与该记录条目相关联的用户响应用作预测的响应。在此,所述预测的响应对应于在一个或多个先前情况下已经遇到的实际用户响应。在另一种实现方式中,预测系统106使用机器学习的生成模型来生成所述预测的响应。所述生成模型的权重反映了从先前的用户响应中收集的知识,但是由该模型产生的实际预测的响应是综合的,这意味着其不必与实际先前遇到的用户响应相对应。
预测器组件610包括特征生成组件612,特征生成组件612生成一组特征,部分地包括描述当前系统提示的特征。更具体而言,特征生成组件612能够使用任意种类的编码器将当前系统提示转换为一个或多个特征向量。例如,特征生成组件612能够将所述系统提示的每个词语转换为独热特征向量(其在与词语相关联的向量的维度上包括“1”条目,而在其他维度中包括“0”条目)。或者,特征生成组件612能够使用n元语法技术将每个词语转换成特征向量。例如,特征生成组件612能够跨单词、逐字符地移动三字符窗口。在每个位置处,特征生成组件612能够在与由窗口划分的3字符序列相关联的特征向量的维度中存储“1”条目。例如,特征生成组件612能够将词语“旅馆”转换为在针对序列“#ho”、“hot”、“ote”、“tel”和“el#”的适当维度中具有“1”条目的向量,其中,“#”符号指代标记序列开始或结束的虚拟令牌。如果词语包含相同的三字符序列的两个或更多个实例,则特征生成组件612能够在特征向量的适当维度中存储实例数量的计数。作为进一步的过程,特征生成组件612能够可选地使用任意机器学习的模型(诸如神经网络)将独热(one-hot)或n元语法特征向量转换为更高级别的形式。
另外,特征生成组件612能够生成与在其中生成当前系统提示的上下文环境相关联的特征。这些特征能够包括但不限于:用户提交任何输入表达时触发系统提示生成的时间;用户提交输入表达的位置;输入表达自身(其能够按照与上文所描述相同的方式转换为特征向量);生成系统提示的技能组件的标识;在当前对话中紧接当前技能组件之前使用的技能组件(如果有的话)的标识,等等。
如果正在使用信息取回范例,则特征生成组件612能够产生与上文所描述的那些特征相似的特征,以用于与当前系统提示进行比较的数据存储库114中的记录条目。更具体而言,每个记录条目都包括先前生成的系统提示以及其上下文特征。特征生成组件612能够以与上文所描述相同的方式,例如在离线和/或实时过程中,将该信息转换为一组特征。另外,特征生成组件612能够生成一个或多个计数相关的特征,其描述用户遇到与所考虑的记录条目相关联的先前生成的系统提示的次数。另外,特征生成组件612能够生成描述当前系统提示和与所考虑的记录条目相关联的先前生成的系统提示的关系的一个或多个特征,诸如编辑距离特征等。
在一种实现方式中,特征生成组件612能够例如通过为特征向量的不同时隙填充适当的变量来将所有上述特征组合为单个特征向量。
预测器组件614然后基于由特征生成组件612所提供的特征向量来为数据存储库114中的每个记录条目生成分数。该分数描述了记录条目与当前系统提示以及其上下文特征相匹配的置信度水平。预测器组件614然后选取具有最佳分数的记录条目,其对应于具有最高置信度水平的记录条目。在一个实现方式中,预测器组件614能够使用任意机器学习的模型来执行该任务,诸如任何类型的神经网络、决策树模型、线性回归模型、支持向量机(SVM)等、或者其任何组合。替代地或另外地,预测器组件614能够使用基于规则的引擎来将当前系统提示(以及其上下文特征)与所考虑的每个记录条目进行比较。
如上文所提到的,在又一种情况下,预测器组件614能够使用任意类型的机器学习的生成模型来将当前系统提示以及其上下文因素映射到预测的响应中,而无需直接逐字地使用先前遇到的用户响应。例如,预测器组件614能够使用序列到序列模型基于输入信息的各种项目来生成预测的响应,所述输入信息包括但不限于:当前系统提示、上下文特征、数据存储库114中的记录条目等。例如,能够通过由LSTM单元组成的递归神经网络(RNN)来实现这样的模型。
在使用机器训练的模型的那些情况下,训练系统616基于数据存储库114中的记录条目来生成机器训练的模型。在一种情况下,训练系统616能够在用户做出每个响应或者用户完成每个对话时连续地执行该任务。在另一种情况下,训练系统616能够定期地执行该任务,诸如每小时、每天或每周结束时,等等。
每当用户响应系统提示时,更新组件618就更新数据存储库114。其通过将新记录条目添加到描述该事件的数据存储库114中来完成该操作。为了执行该任务,更新组件618从各种源接收输入信号。例如,更新组件618从数字助理104接收输入信号,所述输入信号描述了当前系统提示、一个或多个先前系统提示、用户输入表达、当前技能组件、一个或多个先前技能组件等。更新组件618能够接收描述当前时间(从计时机构接收)、当前位置(从诸如GPS组件的位置确定机构接收)的其他输入信号,等等。
按附图的顺序瞬时前进,图9示出了数据存储库114的小样本902。样本902包括与三个相应的记录条目相关联的三行。如在此所指示的,每个记录条目标识系统提示、与在其中发出系统提示的环境有关的上下文特征集合、以及用户在对所述系统提示的答复中做出的响应。尽管未示出,但是更新组件618能够在存储记录条目之前将所述系统提示以及其上下文特征转换为向量化形式。
注意,借助更新组件618的实时操作,预测器组件614能够在训练系统616执行的训练更新之间的时间跨度内继续提高其性能。这是因为,即使没有重新训练预测器组件的(一个或多个)机器学习模型,数据存储库114自身也会以用户响应系统提示的方式来揭示模式。通过持续更新数据存储库114,更新组件618继续提高在记录条目中所展示的模式的可靠性。
决策组件620确定响应于由预测器组件610生成的预测的响应以及其相关联的置信度值来调用什么对话动作。如上文所解释的,所述对话动作至少包括:(A)在不通知用户的情况下将所述预测的响应发送给数字助理104;(B)将原始系统提示发送给用户;以及(C)向用户发送确认提示,所述确认提示邀请用户例如通过确认预测的响应自身和/或基于预测的响应的动作来确认所述预测的响应。
系统响应过滤组件(SRFC)622可以不经修改就将原始系统提示传递给用户,或者根据所述预测的响应来产生确认提示。SRFC 622能够以不同方式生成确认提示,诸如通过结合提示模板库来使用规则集。例如,一种确认模板询问用户数字助理104是否被授权对所述预测的响应采取动作。另一种确认模板通知用户数字助理104当前正在或者已经对所述预测的响应采取动作;然后,所述模板能够邀请用户取消或撤消所述动作。
用户响应过滤组件(URFC)624可以不经修改就传递用户的原始用户响应,或者修改用户的响应以使其与数字助理104的输入期望相一致。例如,假设确认提示要求用户确认他或她希望参加在Bellevue,Washington的林肯广场电影院。用户将通过说出“是”或“否”进行响应。URFC 624将利用数字助理104期望的响应(亦即,“林肯广场电影院”)代替实际用户响应。相反,假设用户响应于所述确认提示而说出“否”。URFC 624和SRFC 622能够使用不同的特定于环境的策略来响应该事件。在一种方案中,URFC 624指示SRFC 622发出原始系统提示,而不是确认提示。所述原始提示是:“我应当在哪个剧院定票?”在另一种方案中,SRFC 622能够基于由预测器组件610提供的另一预测的响应(例如,可以对应于具有次佳匹配分数的记录条目,用户已经拒绝了具有最佳匹配分数的记录条目)向用户提供另一确认提示。URFC 624能够以与SRFC 622相同的方式来执行上文所描述的功能,例如,结合模板库使用规则集合。
更新组件618还能够将反映用户拒绝预测的响应的信息存储在数据存储库114中。例如,更新组件618能够移除或者以其他方式低估被用于制定被拒绝的预测的响应的记录条目。另外,训练系统616能够在其下一训练更新中将用户对预测的响应的拒绝用作否定训练示例。
能够修改预测系统106以合并其他改进。根据一种改进,并且参考图7,预测系统106能够维护提供与特定用户相关联的记录条目的第一数据存储库702,以及提供与一组用户或潜在地所有用户相关联的记录条目的第二数据存储库704。第一数据存储库702由此提供特定于用户的资源,而第二数据存储库704提供特定于组的资源或全局资源。预测系统106能够以不同的方式依赖于这两个数据存储库(702、704)。例如,当在第一数据存储库702中没有足够证据来生成具有足够置信度的预测的响应时,预测系统106能够依赖于第二数据存储库704。或者,预测系统106能够使用第二数据存储库704中的证据来支持或贬值基于第一数据存储库702所得出的结论,或者反之亦然。或者,预测系统106能够取决于上下文因素(诸如正在考虑的系统提示的主题、用户的偏好、一天中的时间、位置等)在使用第一和第二数据存储库(702、704)之间切换。
返回到图6,作为另一改进,预测系统106能够在其对预测的响应的选择中使用各种策略来混合开发和探索。当选取具有最高置信度值的预测的响应时,预测系统106进行探索;所述置信度值继而是基于数据存储库114中当前可用的证据。预测系统106在选取具有较小确定性值的预测的响应时进行探索,希望将证明是成功的匹配以及为模型提供新信息。
更具体而言,在一种说明性策略中,预测系统106通过在具有与其相关联的不同置信度水平的记录条目之间进行选择的方式来进行探索。例如,预测系统106能够随机地选择具有次佳置信度值的记录条目。次佳置信度值是小于一个或多个其他匹配的记录条目的置信度值。用户能够设置管理预测系统106选取次佳记录条目的速率的参数p。
作为另一改进,预测系统106能够基于由技能组件(108、110、...、112)发送的设置信号626来调整其操作。由技能组件提供的每个设置信号将技能组件授权使用预测的响应的程度通知给预测系统106。例如,技能组件可以指定禁止预测系统106为从由该技能组件给出的回答导出的任何系统提示生成预测的响应。或者,技能组件可以例如通过指定由预测系统106所使用的(一个或多个)数据存储库、(一个或多个)模型、特征等来指定预测系统106如何执行其操作。所述技能组件还可以指定预测系统106在生成其预测的响应时使用开发和探索的程度。
作为另一改进,预测器组件610能够将预测的响应馈送到语音识别组件602和/或NLU组件604。所述预测的响应将辅助这些组件解读即将到来的实际用户响应。该策略至少适用于上文所描述的对话动作(B),其中,预测系统106将所述原始系统提示发送给用户。
图8示出了能够被用于实现图1和图6的计算环境102的设备802。设备802包括经由计算机网络808被耦合到一个或多个服务器806的用户计算设备804。用户计算设备804能够对应于个人台式计算设备、膝上型计算设备、任何手持计算设备(诸如智能手机、平板计算设备等)、可穿戴计算设备、游戏控制台、混合现实计算设备等。计算机网络808能够对应于局域网、广域网(例如,互联网)、一个或多个点对点链接等。
图8还通常指示用户计算设备804能够托管数字助理104和/或预测系统106的(一个或多个)任何组件810。类似地,(一个或多个)服务器806能够托管数字助理104和/或预测系统106的(一个或多个)任何组件812。例如,在一种情况下,用户计算设备804以整体实现数字助理104和预测系统106两者,因此不需要与任何远程系统进行交互。在另一种情况下,(一个或多个)服务器806以其整体实现数字助理104和预测系统106。在此,用户可以经由由用户计算设备804提供的浏览器程序与数字助理104进行交互。在另一种情况下,与数字助理104和/或预测系统106相关联的逻辑被以任意方式分布在用户计算设备804与服务器806之间。还需注意,预测系统106可以和与其交互的数字助理104位于同一位置,或者能够与其分离。
B.说明性过程
图10以流程图形式示出了解释说明A部分的预测系统106的操作的过程1002。由于在A部分中已经描述了预测系统106的操作所基于的原理,所以特定操作将在本部分中以概括的方式进行论述。如在详细描述的引言部分所指出的,每个流程图被表示为以特定次序执行的一系列操作。但是这些操作的次序仅是代表性的,并且可以以任何方式改变。
在框1004中,预测系统106接收由数字助理104生成的系统提示。数字助理104响应于由用户经由输入设备提供的输入命令来生成所述系统提示,所述系统提示和所述输入命令两者都以自然语言来表达。在框1006中,预测系统106基于所述系统提示的语言内容连同与在其中发出所述系统提示的环境有关的上下文特征一起来生成预测的响应,所述预测的响应对应于用户将如何响应所述系统提示的预测。在框1008中,预测系统106基于与所述预测的响应相关联的置信度值,从多个对话动作中选择一个或多个对话动作,所述置信度值描述了所述预测的响应的置信度程度。框1010描述了第一对话动作。其涉及将所述预测的响应作为对所述系统提示的代理用户响应馈送到数字助理中,而无需经由输出设备将所述预测的响应或所述系统提示输出给用户。框1012描述了第二对话动作。其涉及指示数字助理经由输出设备将所述系统提示发送给用户。框1014描述了第三对话动作。其涉及经由输出设备向用户发送确认提示,所述确认提示要求用户例如通过确认预测的响应自身和/或基于提议的响应的动作来确认所述预测的响应。
生成所述预测的响应的操作(在框1006中)是基于数据存储库114的,数据存储库114包含多个记录条目,每个记录条目包含:先前生成的系统提示;与在其中发出先前生成的系统提示的环境有关的上下文特征;以及对先前生成的系统提示的先前遇到的用户响应。
C.代表性计算功能
图11示出了能够被用于实现在上文所描述的附图中阐述的机制的任何方面的计算设备1102。例如,参考图8,在图11中所示的计算设备1102的类型能够被用于实现(一个或多个)服务器806或用户计算设备804中的任意一个。在所有情况下,计算设备1102代表物理并且有形的处理机制。
计算设备1102能够包括一个或多个硬件处理器1104。(一个或多个)硬件处理器能够包括但不限于:一个或多个中央处理单元(CPU)、和/或一个或多个图形处理单元(GPU)、和/或一个或多个专用集成电路(ASIC)等。更一般而言,任何硬件处理器都能够对应于通用处理单元或专用处理器单元。
计算设备1102还能够包括与一个或多个计算机可读介质硬件单元相对应的计算机可读存储介质1106。计算机可读存储介质1106保留任何类型的信息1108,诸如机器可读指令、设置、数据等。例如但不限于:计算机可读存储介质1106可以包括一个或多个固态设备、一个或多个磁性硬盘、一个或多个光盘、磁带等。计算机可读存储介质1106的任何实例能够使用用于存储和取回信息的任何技术。此外,计算机可读存储介质1106的任何实例可以表示计算设备1102的固定或可移动组件。此外,计算机可读存储介质1106的任何实例可以提供对信息的易失性或非易失性保留。
计算设备1102能够以不同方式使用计算机可读存储介质1106的任何实例。例如,计算机可读存储介质1106的任何实例可以表示用于在计算设备1102执行程序期间存储瞬态信息的硬件存储器单元(诸如随机存取存储器(RAM))和/或用于永久保存/归档信息的硬件存储单元(例如,硬盘)。在后一种情况下,计算设备1102还包括一个或多个驱动器机构1110(诸如硬盘驱动器机构),其用于存储和从计算机可读存储介质1106的实例取回信息。
当(一个或多个)硬件处理器1104运行被存储在计算机可读存储介质1106的任何实例中的计算机可读指令时,计算设备1102可以执行上文所描述的任何功能。例如,计算设备1102可以运行计算机可读指令以执行在B部分中所描述的过程1002的每个框。
替代地或另外地,计算设备1102可以依赖于一个或多个其他硬件逻辑组件1112来使用特定于任务的逻辑门集合来执行操作。例如,(一个或多个)硬件逻辑组件1112可以包括硬件逻辑门的固定配置,例如,在制造时创建和设置并且此后不可更改的配置。替代地或另外地,(一个或多个)其他硬件逻辑组件1112可以包括可编程硬件逻辑门的集合,所述可编程硬件逻辑门能够被设置为执行不同的专用任务。后一类设备包括但不限于:可编程阵列逻辑设备(PAL)、通用阵列逻辑设备(GAL)、复杂可编程逻辑设备(CPLD)、现场可编程门阵列(FPGA)等。
图11通常指示硬件逻辑电路1114包括(一个或多个)硬件处理器1104、计算机可读存储介质1106和/或其他硬件逻辑组件1112的任意组合。亦即,计算设备1102能够采用以下组件的任意组合:(一个或多个)硬件处理器1104,其运行在计算机可读存储介质1106中提供的机器可读指令;和/或一个或多个其他硬件逻辑组件1112,其使用硬件逻辑门的固定和/或可编程集合来执行操作。更概括而言,硬件逻辑电路1114对应于(一种或多种)任何类型的一个或多个硬件逻辑组件,其基于被存储在(一个或多个)硬件逻辑组件中和/或以其他方式体现在其中的逻辑来执行操作。
在一些情况下(例如,在计算设备1102表示用户计算设备的情况下),计算设备1102还包括输入/输出接口1116,其用于接收各种输入(经由输入设备1118),并且用于提供各种输出(经由输出设备1120)。示例性输入设备包括:键盘设备、鼠标输入设备、触摸屏输入设备、数字化板、一个或多个静态图像相机、一个或多个视频相机、一个或多个深度相机系统、一个或多个麦克风、语音识别机构、任何运动检测机构(例如,加速度计、陀螺仪等),等等。一种特定的输出机构可以包括显示设备1122和相关联的图形用户界面呈现(GUI)1124。显示设备1122可以对应于液晶显示设备、发光二极管显示(LED)设备、阴极射线管设备、投影机构等。其他输出设备包括:打印机、一个或多个扬声器、触觉输出机构、归档机构(用于存储输出信息)等。计算设备1102还能够包括一个或多个网络接口1126,其用于经由一个或多个通信管道1128与其他设备交换数据。一条或多条通信总线1130将上文所描述的组件通信地耦合在一起。
(一个或多个)通信管道1128能够以任何方式来实现,例如,通过局域计算机网络、广域计算机网络(例如,互联网)、点对点连接等、或者其任意组合来实现。(一个或多个)通信管道1128能够包括受任何协议或协议组合管理的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任意组合。
图11将计算设备1102示出为由独立单元的离散集合组成。在一些情况下,单元的集合可以对应于在具有任何形状因子的计算设备机架中所提供的离散硬件单元。图11在其底部示出了说明性形状因子。在其他情况下,计算设备1102能够包括硬件逻辑组件,所述硬件逻辑组件集成了在图1所示的两个或更多个单元的功能。例如,计算设备1102能够包括片上系统(SoC或SOC),其对应于组合在图11中所示的两个或更多个单元的功能的集成电路。
以下概述提供了在本文中所阐述的技术的非详尽的一组说明性方面。
根据第一方面,描述了用于控制与数字助理的交互的一个或多个计算设备。所述(一个或多个)计算设备包括硬件逻辑电路,所述硬件逻辑电路对应于:(a)通过运行被存储在存储器中的机器可读指令来执行操作的一个或多个硬件处理器,和/或(b)使用特定于任务的逻辑门集合来执行操作的一个或多个硬件逻辑组件。所述操作包括:接收由数字助理生成的系统提示,所述数字助理响应于由用户经由输入设备提供的输入命令来生成系统提示,所述系统提示和所述输入命令两者都以自然语言来表达;基于所述系统提示的语言内容连同与在其中发出所述系统提示的环境有关的上下文特征来生成预测的响应,所述预测的响应对应于对所述用户将如何响应所述系统提示的预测;以及基于与所述预测的响应相关联的置信度值,从多个对话动作中选择一个或多个对话动作,所述置信度值描述了所述预测的响应的置信度程度。第一对话动作涉及将所述预测的响应作为对所述系统提示的代理用户响应馈送到所述数字助理中,而不经由输出设备将所述预测的响应或所述系统提示输出给用户。所述第一对话动作通过不要求用户响应所述系统提示而具有加快在用户与数字助理之间的交互的作用。生成所述预测的响应的操作基于包含多个记录条目的数据存储库,每个记录条目包含:先前生成的系统提示;与在其中发出所述先前生成的系统提示的环境有关的上下文特征集合;以及对所述先前生成的系统提示的先前遇到的用户响应。
根据第二方面,当所述置信度值高于规定的阈值时,选择操作选取第一对话动作。
根据第三方面,被反馈到数字助理中的所述预测的响应包含对所述系统提示中的不准确假设的校正。
根据第四方面,所述操作还包括:接收由所述数字助理响应于所述预测的响应而生成的另一系统提示;以及基于所述另一系统提示来生成另一预测的响应。
根据第五方面,第二对话动作涉及:指示数字助理经由输出设备将所述系统提示发送给用户,所述数字助理随后接收对所述系统提示的实际用户响应。
根据第六方面,取决于第五方面,当所述置信度值低于规定的阈值时,选择操作选取第二对话动作。
根据第七方面,取决于第五方面,所述操作还包括:将所述预测的响应发送到所述数字助手,以供所述数字助手解读所述实际用户响应。
根据第八方面,取决于第五方面,所述操作还包括:向所述数据存储库添加新记录条目,所述新记录条目包括所述系统提示,与在其中发出所述系统提示的环境有关的上下文特征,以及所述实际用户响应。
根据第九方面,第三对话动作涉及:经由所述输出设备向用户发送确认提示,所述确认提示要求用户确认所述预测的响应,所述数字助理随后接收用户对所述确认提示的实际用户响应。
根据第十方面,取决于第九方面,所述确认提示通知用户所述数字助理当前正在采取动作、已经采取动作或者将采取动作。
根据第十一方面,取决于第九方面,所述确认提示要求用户在所述数字助理基于所述预测的响应采取动作之前确认所述预测的响应。
根据第十二方面,取决于第九方面,所述操作还包括:在用户确认所述预测的响应后:当所述实际用户响应指示接受所述预测的响应时,修改所述实际用户响应以使得其表达所述预测的响应,从而产生经修改的用户响应;以及将所述经修改的用户响应作为代理用户响应馈送到所述数字助理中。
根据第十三方面,生成所述预测的响应的操作通过以下方式来操作:使用所述系统提示和上下文特征在数据存储库中查找匹配的记录条目;以及选取与匹配的记录条目相关联的先前遇到的用户响应作为所述预测的响应。
根据第十四方面,生成所述预测的响应的操作涉及:在选定的时间致力于在定义能够被选取的可能的预测响应集合的解决方案空间内促进对开发的探索,在可能的预测响应集合中选取预测的响应,在所述集合中的至少一个未选取的预测的响应具有比被选取的所述预测的响应更高的置信度值。
根据第十五方面,所述数字助理至少包括:自然语言理解(NLU)组件,其用于解读用户输入命令以提供经解读的用户命令;对话管理器,其用于与一个或多个技能组件进行协调以提供对所述经解读的用户命令的回答;以及自然语言生成器(NGU)组件,其用于基于所述回答以自然语言来生成所述系统提示。
根据第十六方面,取决于第十五方面,所述操作还包括:从技能组件接收设置信号;以及使用所述设置信号来管理为由该技能组件提供的回答生成所述预测的响应的方式。
根据第十七方面,描述了一种方法,其由一个或多个计算设备实现,用于控制与数字助理的交互。所述方法包括在预测系统中:接收由数字助理生成的系统提示,所述数字助理响应于由用户经由输入设备提供的输入命令来生成所述系统提示,所述系统提示和所述输入命令两者都以自然语言来表达;基于所述系统提示的语言内容连同与在其中发出所述系统提示的环境有关的上下文特征来生成预测的响应,所述预测的响应对应于对用户将如何响应所述系统提示的预测;以及根据第一对话动作,将所述预测的响应作为对所述系统提示的代理用户响应馈送到所述数字助理中。所述预测系统基于包含多个记录条目的数据存储库来生成所述预测的响应,每个记录条目包含:先前生成的系统提示;与在其中发出所述先前生成的系统提示的环境有关的上下文特征集合;以及对所述先前生成的系统提示的先前遇到的用户响应。此外,所述预测系统在由所述数字助理提供的一个或多个技能组件的外部提供用户个性化功能。
根据第十八方面,所述方法不涉及经由输出设备向用户输出所述预测的响应或所述系统提示。
根据第十九方面,所述方法还涉及:根据第二对话动作:经由所述输出设备向用户发送确认提示,所述确认提示要求用户确认所述预测的响应,所述数字助理随后接收对所述确认提示的实际用户响应;当所述实际用户响应指示接受所述预测的响应时,修改所述实际用户响应使得其表达所述预测的响应,以产生经修改的用户响应;以及将所述经修改的用户响应作为代理用户响应馈送到所述数字助理中。
根据第二十方面,描述了一种用于存储计算机可读指令的计算机可读存储介质。所述计算机可读指令当由一个或多个硬件处理器运行时执行包括以下操作的方法:接收由数字助理生成的系统提示,所述数字助理响应于由用户经由输入设备提供的输入命令来生成所述系统提示,所述系统提示和所述输入命令两者都以自然语言来表达。所述数字助理包括:自然语言理解(NLU)组件,其用于解读用户输入命令以提供经解读的用户命令;对话管理器,其用于与一个或多个技能组件进行协调,以提供对所述经解读的用户命令的回答;以及自然语言生成器(NGU)组件,其用于以自然语言生成系统提示以回复所述回答。所述方法还包括:基于所述系统提示的语言内容连同与在其中发出所述系统提示的环境有关的上下文特征来生成预测的响应,所述预测的响应对应于对用户将如何响应所述系统提示的预测;以及基于与所述预测的响应相关联的置信度值,从多个对话动作中选择一个或多个对话动作,所述置信度值描述了所述预测的响应的置信度程度。第一对话动作涉及将所述预测的响应作为对所述系统提示的代理用户响应馈送到所述数字助理中,而不经由输出设备将所述预测的响应或所述系统提示输出给用户。第二对话动作涉及指示所述数字助理经由所述输出设备将所述系统提示发送给用户。第三对话动作涉及经由所述输出设备向用户发送确认提示,所述确认提示要求用户确认所述预测的响应。生成所述预测的响应的操作基于包含多个记录条目的数据存储,每个记录条目包含:先前生成的系统提示;与在其中发出所述先前生成的系统提示的环境有关的上下文特征;以及对所述先前生成的系统提示的先前遇到的用户响应。
第二十一方面对应于上述第一至第二十方面的任意组合(例如,任何逻辑上一致的排列或子集)。
第二十二方面对应于与第一至第二十一方面相关联的任意对等方法、对等设备、对等系统、对等功能单元、对等计算机可读存储介质、对等数据结构、对等制品、对等图形用户界面呈现,等等。
最后,在本文中所描述的功能能够采用各种机制来确保以符合适用法律、社会规范以及个体用户的期望和偏好的方式来处理任何用户数据。例如,所述功能能够允许用户明确选择加入(并且然后明确选择退出)所述功能的规定。所述功能还能够提供合适的安全机制以确保用户数据的私密性(诸如数据清理机制、加密机制、密码保护机制等)。
此外,在说明性挑战或问题的上下文中,描述可能已经阐述了各种概念。这种解释方式并不旨在暗示他人已经以在本文中所指定的方式理解和/或阐明了挑战或问题。此外,这种解释方式并不旨在暗示权利要求中记载的主题仅限于解决所识别的挑战或问题。亦即,权利要求中的主题可以在不同于在本文中所描述的挑战或问题的上下文中应用。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中定义的主题不必限于上述特定特征或动作。而是,以上描述的特定特征和动作被公开为实现权利要求的示例性形式。

Claims (20)

1.一种系统,包括:
处理器;以及
存储器,其耦合到所述处理器并存储指令,所述指令在由所述处理器执行时执行操作,所述操作包括:
接收由数字助理生成的自然语言系统提示;
生成预测的响应,所述预测的响应包括关于个体将如何响应所述系统提示的预测,所述预测的响应是至少部分地基于以下中的至少一个来生成的:与所述系统提示相关联的第一上下文信息;先前生成的系统提示;描述在其中发出所述先前生成的系统提示的环境的第二上下文信息;以及对所述先前生成的系统提示的先前遇到的响应;
至少部分地基于与所述预测的响应相关联的置信度水平,从多个对话动作中选择对话动作,其中,所述对话动作通过自动提供所述对话动作作为对所述系统提示的代理响应而不提供所述系统提示来加快所述个体与所述数字助理之间的交互;以及
使得所选择的对话动作被执行。
2.根据权利要求1所述的系统,还包括:用于当与所述预测的响应相关联的所述置信度水平高于阈值时选择所述对话动作的指令。
3.根据权利要求1所述的系统,还包括:指示所述数字助理向所述个体提供所述系统提示。
4.根据权利要求1所述的系统,其中,所述第二上下文信息包括:引起所述先前生成的系统提示的生成的所接收的查询。
5.根据权利要求1所述的系统,其中,所述第二上下文信息包括:接收到引起所述先前生成的系统提示的生成的查询的时间。
6.根据权利要求1所述的系统,其中,所述第二上下文信息包括:接收到引起所述先前生成的系统提示的生成的查询的位置。
7.根据权利要求1所述的系统,还包括:用于向所述个体提供确认提示的指令,所述确认提示至少部分地基于提供所述预测的响应作为对所述系统提示的所述代理响应。
8.一种方法,包括:
接收由数字助理生成的自然语言系统提示;
生成预测的响应,所述预测的响应包括关于个体将如何响应所述系统提示的预测,所述预测的响应是至少部分地基于以下中的至少一个来生成的:先前生成的系统提示;与所述系统提示或所述先前生成的系统提示相关联的上下文信息;以及对所述先前生成的系统提示的先前遇到的响应;
至少部分地基于与所述预测的响应相关联的置信度水平,从多个对话动作中选择对话动作,其中,所述对话动作通过自动提供所述对话动作作为对所述系统提示的代理响应而不提供所述系统提示来加快所述个体与所述数字助理之间的交互;以及
执行所选择的对话动作。
9.根据权利要求8所述的方法,还包括:当与所述预测的响应相关联的置信度水平高于阈值时选择所述对话动作。
10.根据权利要求8所述的方法,还包括:指示所述数字助理向所述个体提供所述系统提示。
11.根据权利要求8所述的方法,其中,所述上下文信息包括:引起所述先前生成的系统提示的生成的所接收的查询。
12.根据权利要求8所述的方法,其中,所述上下文信息包括:接收到引起所述先前生成的系统提示的生成的查询的时间。
13.根据权利要求8所述的方法,其中,所述上下文信息包括:接收到引起所述先前生成的系统提示的生成的查询的位置。
14.根据权利要求8所述的方法,还包括:向所述个体提供确认提示,所述确认提示还基于提供所述预测的响应作为对所述系统提示的所述代理响应。
15.一种方法,包括:
接收由数字助理生成的自然语言系统提示;
生成预测的响应,所述预测的响应包括关于个体将如何响应所述系统提示的预测,所述预测的响应是至少部分地基于数据存储库中的记录条目来生成的,所述记录条目包括以下中的一个或多个:先前生成的系统提示;与所述系统提示或所述先前生成的系统提示相关联的上下文信息;以及对所述先前生成的系统提示的先前遇到的响应;
至少部分地基于与所述预测的响应相关联的置信度水平,从多个对话动作中选择对话动作,其中,所述对话动作通过自动提供所述对话动作作为对所述系统提示的代理响应而不提供所述系统提示来加快所述个体与所述数字助理之间的交互;以及
执行所选择的对话动作。
16.根据权利要求15所述的方法,其中,来自所述多个对话动作的所选择的对话动作包括以下中的一个:向所述数字助理提供所述预测的响应作为对所述系统提示的所述代理响应;指示所述数字助理向所述个体提供所述系统提示;以及向所述个体提供确认提示,所述确认提示至少部分地基于所述预测的响应。
17.根据权利要求16所述的方法,还包括:向所述个体提供所述确认提示,所述确认提示还基于提供所述预测的响应作为对所述系统提示的所述代理响应。
18.根据权利要求15所述的方法,其中,所述上下文信息包括:接收到引起所述先前生成的系统提示的生成的查询的时间。
19.根据权利要求15所述的方法,其中,所述上下文信息包括:接收到引起所述先前生成的系统提示的生成的查询的位置。
20.根据权利要求15所述的方法,其中,所述上下文信息包括:引起所述先前生成的系统提示的生成的所接收的查询。
CN202410182748.1A 2018-12-06 2019-11-28 通过预测用户响应来加快与数字助理的交互 Pending CN118051198A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16/212,662 US10878805B2 (en) 2018-12-06 2018-12-06 Expediting interaction with a digital assistant by predicting user responses
US16/212,662 2018-12-06
PCT/US2019/063809 WO2020117605A1 (en) 2018-12-06 2019-11-28 Expediting interaction with a digital assistant by predicting user responses
CN201980079952.8A CN113168305B (zh) 2018-12-06 2019-11-28 通过预测用户响应来加快与数字助理的交互

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980079952.8A Division CN113168305B (zh) 2018-12-06 2019-11-28 通过预测用户响应来加快与数字助理的交互

Publications (1)

Publication Number Publication Date
CN118051198A true CN118051198A (zh) 2024-05-17

Family

ID=68966071

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202410182748.1A Pending CN118051198A (zh) 2018-12-06 2019-11-28 通过预测用户响应来加快与数字助理的交互
CN201980079952.8A Active CN113168305B (zh) 2018-12-06 2019-11-28 通过预测用户响应来加快与数字助理的交互

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201980079952.8A Active CN113168305B (zh) 2018-12-06 2019-11-28 通过预测用户响应来加快与数字助理的交互

Country Status (3)

Country Link
US (3) US10878805B2 (zh)
CN (2) CN118051198A (zh)
WO (1) WO2020117605A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109901896A (zh) * 2018-12-06 2019-06-18 华为技术有限公司 一种人机交互系统及人机交互系统中多任务处理方法
US10878805B2 (en) * 2018-12-06 2020-12-29 Microsoft Technology Licensing, Llc Expediting interaction with a digital assistant by predicting user responses
KR20200072020A (ko) * 2018-12-12 2020-06-22 현대자동차주식회사 음성인식시스템의 대화 안내 방법
US11355098B1 (en) * 2018-12-13 2022-06-07 Amazon Technologies, Inc. Centralized feedback service for performance of virtual assistant
US11874861B2 (en) * 2019-05-17 2024-01-16 International Business Machines Corporation Retraining a conversation system based on negative feedback
US11257494B1 (en) * 2019-09-05 2022-02-22 Amazon Technologies, Inc. Interacting with a virtual assistant to coordinate and perform actions
JP7187411B2 (ja) * 2019-09-12 2022-12-12 株式会社日立製作所 コーチングシステム及びコーチング方法
US11567788B1 (en) 2019-10-18 2023-01-31 Meta Platforms, Inc. Generating proactive reminders for assistant systems
US11636438B1 (en) 2019-10-18 2023-04-25 Meta Platforms Technologies, Llc Generating smart reminders by assistant systems
US11386890B1 (en) * 2020-02-11 2022-07-12 Amazon Technologies, Inc. Natural language understanding
US11748660B2 (en) * 2020-09-17 2023-09-05 Google Llc Automated assistant training and/or execution of inter-user procedures
US20220230000A1 (en) * 2021-01-20 2022-07-21 Oracle International Corporation Multi-factor modelling for natural language processing
US11861315B2 (en) * 2021-04-21 2024-01-02 Meta Platforms, Inc. Continuous learning for natural-language understanding models for assistant systems

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748841A (en) * 1994-02-25 1998-05-05 Morin; Philippe Supervised contextual language acquisition system
US7620549B2 (en) * 2005-08-10 2009-11-17 Voicebox Technologies, Inc. System and method of supporting adaptive misrecognition in conversational speech
US7949529B2 (en) * 2005-08-29 2011-05-24 Voicebox Technologies, Inc. Mobile systems and methods of supporting natural language human-machine interactions
US9965035B2 (en) * 2008-05-13 2018-05-08 Apple Inc. Device, method, and graphical user interface for synchronizing two or more displays
DE102010019191A1 (de) 2010-05-04 2011-11-10 Volkswagen Ag Verfahren und Vorrichtung zum Betreiben einer Nutzerschnittstelle
US9493130B2 (en) 2011-04-22 2016-11-15 Angel A. Penilla Methods and systems for communicating content to connected vehicle users based detected tone/mood in voice input
DE202014004560U1 (de) * 2013-06-08 2014-09-12 Apple Inc. Vorrichtung und grafische Benutzerschnittstelle zum Synchronisieren zweier oder mehrerer Anzeigen
US10083002B2 (en) * 2014-12-18 2018-09-25 International Business Machines Corporation Using voice-based web navigation to conserve cellular data
US10572810B2 (en) 2015-01-07 2020-02-25 Microsoft Technology Licensing, Llc Managing user interaction for input understanding determinations
US9959129B2 (en) * 2015-01-09 2018-05-01 Microsoft Technology Licensing, Llc Headless task completion within digital personal assistants
US10250641B2 (en) * 2015-01-27 2019-04-02 Sri International Natural language dialog-based security help agent for network administrator
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
US10878807B2 (en) 2015-12-01 2020-12-29 Fluent.Ai Inc. System and method for implementing a vocal user interface by combining a speech to text system and a speech to intent system
EP3757753A1 (en) 2016-05-13 2020-12-30 Google LLC Initiating by voice play of media content
US20180068031A1 (en) 2016-08-16 2018-03-08 Ebay Inc. Enhancing user queries using implicit indicators
US10419381B2 (en) * 2016-08-30 2019-09-17 Facebook, Inc. Prompt ranking
US20180067991A1 (en) 2016-09-02 2018-03-08 Microsoft Technology Licensing, Llc Using Structured Smart Digital Memory to Personalize Digital Agent and Bot Scenarios
US11100384B2 (en) * 2017-02-14 2021-08-24 Microsoft Technology Licensing, Llc Intelligent device user interactions
US10860628B2 (en) 2017-02-16 2020-12-08 Google Llc Streaming real-time dialog management
US10798027B2 (en) 2017-03-05 2020-10-06 Microsoft Technology Licensing, Llc Personalized communications using semantic memory
US11188808B2 (en) * 2017-04-11 2021-11-30 Lenovo (Singapore) Pte. Ltd. Indicating a responding virtual assistant from a plurality of virtual assistants
US10848591B2 (en) 2017-04-25 2020-11-24 Amazon Technologies, Inc. Sender and recipient disambiguation
KR102389625B1 (ko) 2017-04-30 2022-04-25 삼성전자주식회사 사용자 발화를 처리하는 전자 장치 및 이 전자 장치의 제어 방법
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10466963B2 (en) * 2017-05-18 2019-11-05 Aiqudo, Inc. Connecting multiple mobile devices to a smart home assistant account
CN116959420A (zh) * 2018-04-16 2023-10-27 谷歌有限责任公司 自动地确定用于经由自动化助理接口接收的口头话语的语音辨识的语言
US10200237B1 (en) * 2018-05-09 2019-02-05 Microsoft Technology Licensing, Llc Contextual state-based user interface notification triggering
US10878805B2 (en) * 2018-12-06 2020-12-29 Microsoft Technology Licensing, Llc Expediting interaction with a digital assistant by predicting user responses

Also Published As

Publication number Publication date
US20210082403A1 (en) 2021-03-18
WO2020117605A1 (en) 2020-06-11
US20240038220A1 (en) 2024-02-01
US11823661B2 (en) 2023-11-21
EP3891596A1 (en) 2021-10-13
US10878805B2 (en) 2020-12-29
US20200184956A1 (en) 2020-06-11
CN113168305B (zh) 2024-01-09
CN113168305A (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
CN113168305B (zh) 通过预测用户响应来加快与数字助理的交互
JP7032504B2 (ja) 会議能力を有する自動アシスタント
US11948563B1 (en) Conversation summarization during user-control task execution for assistant systems
CN110785763B (zh) 自动化助理实现的方法和相关存储介质
CN108701454B (zh) 对话系统中的参数收集和自动对话生成
KR102313474B1 (ko) 자동화된 어시스턴트를 통해 대화 세션 재개를 위한 시스템, 방법 및 장치
EP3510484B1 (en) Ambiguity resolving conversational understanding system
CN110741364A (zh) 确定自动化助理对话的状态
CN114127710A (zh) 利用对话搜索历史的歧义解决方案
EP4172843A1 (en) Using a single request for multi-person calling in assistant systems
WO2022146898A1 (en) Generating context-aware rendering of media contents for assistant systems
CN114127694A (zh) 用于会话系统的错误恢复
CN116235164A (zh) 聊天机器人的范围外自动转变
US11640823B1 (en) Natural language processing routing
EP3891596B1 (en) Expediting interaction with a digital assistant by predicting user responses
US20240054292A1 (en) Conversation orchestration in interactive agents

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination