CN110574104A - 自动助理数据流 - Google Patents

自动助理数据流 Download PDF

Info

Publication number
CN110574104A
CN110574104A CN201880025344.4A CN201880025344A CN110574104A CN 110574104 A CN110574104 A CN 110574104A CN 201880025344 A CN201880025344 A CN 201880025344A CN 110574104 A CN110574104 A CN 110574104A
Authority
CN
China
Prior art keywords
constraint
utterance
constraints
map
domain
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
CN201880025344.4A
Other languages
English (en)
Inventor
J·R·科亨
D·克莱因
D·L·W·哈尔
J·A·沃尔费
D·L·罗斯
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.)
Semantic Machines Inc
Original Assignee
Semantic Machines Inc
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 Semantic Machines Inc filed Critical Semantic Machines Inc
Publication of CN110574104A publication Critical patent/CN110574104A/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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • 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/08Speech classification or search
    • G10L15/12Speech classification or search using dynamic programming techniques, e.g. dynamic time warping [DTW]
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • 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/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Machine Translation (AREA)
  • Navigation (AREA)

Abstract

一种将针对每个对话域的查询转换为约束图的系统,包括由用户明确提供的约束以及对该域固有的隐式约束。一旦已经将所有特定于域的约束收集到图中,就能够使用通用的与域无关的算法为意图消歧和约束传播得出推理。给定用户话语的候选解释为约束的发布、修改或撤消,能够使用约束推理技术(诸如弧一致性和可满足性检查)来回答问题。在针对某一成本违反约束的情况或者在存在不同程度的违反的情况下,基础引擎也能够处理软约束。

Description

自动助理数据流
相关申请的交叉引用
本申请要求于2017年4月20日提交的题为“Automated Assistant Data Flow”的美国临时专利申请No.62/487626的优先权,其公开内容被并入本文。
背景技术
自动助理是一种软件,其被设计为与用户关于一个或多个知识领域进行对话。先前的技术,如分别来自Apple Computer和Amazon的SIRI或Alexa的命令/控制系统,常常无法提供用户想要的系统或答案。例如,先前的系统能够处理针对狭窄域(domain)的基本请求,但是通常无法处理用户所请求的更改或者更复杂的任务。所需要的是一种能够响应更复杂的请求的经改进的自动助理。
发明内容
语音接口现在引起了全世界消费者的关注。Siri在Apple设备上可用,Cortana是Microsoft助手,VIV为开发人员提供了类似于聊天机器人的平台,而Facebook为所有种类的聊天机器人提供支持。这些接口允许在用户与应用之间进行有限的会话交互。
为了确保流畅的会话交互,交互式互换需要快速规划以识别针对系统的约束,或者用于识别对特定要求没有解决方案的情况。提供快速重新规划的一种方法是通过使用约束传播或类似的规划工具。
约束传播是一种用于基于约束图中的推理来对对话流进行语用推理的方法。用户的偏好以及关于现实世界域约束的知识两者都被收集到统一的约束图中。将通用的可满足性和约束传播算法应用于该图,然后实现若干种语用推理以改善对话流:
为了完成这些推理,本技术将针对每个对话域的查询转换为约束图,包括由用户明确提供的约束以及对所述域固有的隐式约束。一旦已经将所有特定于域的约束收集到图中,就能够使用通用的与域无关的算法为意图消歧和约束传播两者得出推理。给定对用户话语的候选解释为对约束的发布、修改或撤消,能够使用约束推理技术(诸如弧一致性和可满足性检查)来回答问题。在针对某成本违反约束的情况下或者在存在不同程度的违反的情况下,基础引擎也能够处理软约束。
状态相关的数据流架构与快速约束满足计算的组合能够产生能够提供复杂问题解决方案的非常灵活的计算引擎。支持实时交互,以及在交互式会话期间对问题解决方案的自动重新计算。
在实施例中,一种用于提供会话系统的方法。通过在机器上执行的应用来接收第一话语,所述第一话语与域相关联。通过所述应用基于第一话语以及与所述域相关联的多个约束中的一个或多个约束来生成第一约束图。所述应用基于所述第一约束图来执行第一过程,所述第一约束图是基于所述第一话语以及与所述域相关联的约束来生成的。通过在机器上执行的应用来接收第二话语,所述第二话语与所述域相关联。基于所述第一约束图和所述第二话语来生成第二约束图。基于与所述域相关联的多个约束中的一个或多个约束来修改所述第二约束图。所述应用基于经修改的第二约束图来执行第二过程。
附图说明
图1是用于提供自动助理的系统的框图。
图2是实施自动助理应用的模块的框图。
图3是检测机构模块的框图。
图4是用于在自动助理中处理数据流的方法。
图5是用于生成约束图的方法。
图6是用于更新约束图的方法。
图7是用于解决约束图冲突的方法。
图8是用于处理软约束的方法。
图9A图示了在用户与代理之间的示例性对话。
图9B图示了在用户与代理之间的另一示例性对话。
图9C图示了在用户与代理之间的另一示例性对话。
图10是用于实施本技术的系统的框图。
具体实施方式
流利的对话交互在与自动助理应用的对话交互中非常重要。与自动助理的交互式互换可能需要快速规划,以识别针对系统的约束,或者识别对于特定要求没有解决方案的情况。提供快速重新规划的一种方法是使用约束传播或类似的规划工具。
约束传播是一种用于基于约束图中的推理对对话流进行语用推理的方法。用户的偏好以及关于现实世界域约束的知识两者都被收集到统一的约束图中。将通用的可满足性和约束传播算法应用于该图,然后能够进行若干种语用推理以改善对话流程。
为了完成这些推理,本技术将针对每个对话域的查询转换为约束图,包括由用户明确提供的约束以及对所述域固有的隐式约束两者。一旦已经将所有特定于域的约束收集到图中,就能够使用通用的与域无关的算法来为意图消歧和约束传播两者得出推理。给定用户话语的候选解释为对约束的发布、修改或撤消,能够使用约束推理技术(诸如弧一致性和可满足性检查)来回答问题。在针对某成本违反约束的情况下或者在存在不同程度的违反的情况下,基础引擎也能够处理软约束。
状态相关的数据流架构与快速约束满足计算的组合能够产生能够实现复杂问题解决方案的非常灵活的计算引擎。支持实时交互,以及在交互式会话期间对问题解决方案的自动重新计算。
图1是用于提供自动助理的系统的框图。图1的系统100包括客户端110、移动设备120、计算设备130、网络140、网络服务器150、应用服务器160以及数据存储170。客户端110、移动设备120和计算设备130通过网络140与网络服务器150通信。网络140可以包括专用网络、公共网络、互联网、内联网、WAN、LAN、蜂窝网络或者适合于在图1的各计算设备之间传输数据的一些其他网络。
客户端110包括应用112。应用112可以提供自动助理、TTS功能、自动语音识别、解析、域检测以及本文所讨论的其他功能。应用112可以被实施为一个或多个应用、对象、模块或其他软件。应用112可以通过图1的服务器架构或者直接地(在图1中未图示)与应用服务器160和数据存储170进行通信以访问数据。
移动设备120可以包括移动应用122。所述移动应用可以提供相对于应用112所描述的相同功能。移动应用122可以被实施为一个或多个应用、对象、模块或其他软件,并且可以操作用于与应用服务器160结合地提供服务。
计算设备130可以包括网络浏览器132。所述网络浏览器可以接收一个或多个内容页面、脚本代码以及当被加载到网络浏览器中时具有相对于应用112所描述的相同功能的其他代码。内容页面可以操作用于结合应用服务器160来提供服务。
网络服务器150可以经由网络140从应用112、移动应用122和网络浏览器132接收请求和数据。所述请求可以由特定应用或浏览器应用来发起。网络服务器150可以处理所述请求和数据、传输响应或者将所述请求和数据或其他内容传输到应用服务器160。
应用服务器160包括应用162。所述应用服务器可以:接收数据,包括从应用112和122以及浏览器132接收到的数据请求;处理数据;并且将响应传输到网络服务器150。在一些实现方式中,网络服务器150将响应转发到最初发送请求的计算机或应用。应用服务器160还可以与数据存储170通信。例如,能够从数据存储170访问数据,以供应用用于提供相对于应用112所描述的功能。应用服务器160包括应用162,其可以类似于应用112来操作,只是全部或部分地在应用服务器160上实施。
框200包括网络服务器150、应用服务器160和数据存储170,并且可以被用于实施包括域检测机构的自动助理。参考图2更详细地讨论框200。
图2是在自动助理应用中的模块的框图。包括所述自动助理应用的模块可以实施图1的系统中的客户端110的应用112、移动设备120的移动应用122和/或应用162和服务器160的全部或部分。
本技术的自动助理包括一套程序,其允许基于会话接口协同规划和执行旅行,或者许多人机协同操作之一。
用于实施针对专注助理的架构的一种方法是将数据流系统用于设计的主要元素。在标准数据流系统中,计算元素被描述为具有输入和输出,并且只要输入可用,所述系统就会异步地计算(一个或多个)输出。
在专注助理中的数据流元素类似于常规的元素——例如,如果用户请求在两个城市之间的往返机票,则针对该机票功能的计算元素具有针对(一个或多个)旅行日期以及所涉及的城市的输入。另外,其还具有针对服务等级、中途停留次数、最大费用、航班时长以及每个航班在一天的时间的可选元素。
当所述计算单元接收到所需的输入时,其进行检查以查看是否已经接收到可选元素。其能够发起与用户的对话以查询可选元素,并且在用户请求时对其进行设置。最后,如果设置了针对所有航班的要求,则所述系统查找适当的航班,并且选择最佳航班来显示给用户。然后,所述系统询问用户是否应当预订该航班。
如果尚未指定可选元素但是设置了所要求的输入,则所述系统可以提示用户他/她是否想要设置任何可选元素,并且如果用户做出了肯定性的响应,则所述系统将参与将引出用户想要对旅途施加的任何可选要求的对话框。可选元素可以是硬性要求(例如,特定日期)或软性要求(优选飞行时间或飞行长度)。在可选元素互换结束时,所述系统随后查找适当的航班,并且将其显示给用户。然后,所述系统询问用户是否应当预订该航班。
图2的自动助理应用包括自动语音识别模块210、解析器模块220、检测机构模块230、对话管理器模块240、推理模块242以及文本到语音模块250。自动语音识别模块210接收音频内容,诸如通过麦克风从客户端110、移动设备120或计算设备130之一接收到的内容,并且可以处理音频内容以识别语音。ASR模块能够将识别出的语音作为文本话语输出到解析器220。
解析器220接收包括一个或多个单词的语音话语,并且能够将用户话语解释为意图。解析器220可以使用从自动助理中别处接收到的当前对话状态例如通过创建一个或多个卡片来生成一个或多个计划。例如,由于对话语执行解析操作,所以解析器220可以生成包括执行一个或多个动作或任务的一个或多个计划。在一些情况下,计划可以包括在系统内生成一个或多个卡片。在另一示例中,所述动作计划可以包括由系统生成多个步骤,诸如在于2017年2月23日提交的题为“Expandable Dialogue System”的美国专利申请No.62/462736中所描述的,该申请的公开内容整体被并入本文。
在本技术的会话系统中,语义解析器用于创建针对对话管理器的信息。该语义解析器将关于过去使用信息用作主要信息源,将过去使用信息与系统动作和输出进行组合,允许通过单词的每个集合对系统动作的贡献来对其进行描述。这导致创建了对单词/短语的语义描述。
在本系统中所使用的解析器应当能够报告在任何话语中所使用的单词,并且还应当报告可能已经使用(分析可用)但是由于其不满足阈值而未被使用的单词。另外,对未使用的单词的记账将有助于通过机器学习系统对互换的后续分析,其中,在特定上下文中一些未使用的单词可以被转换为具有指定的语义标签的单词或短语。
检测机构230能够:接收由解析器220生成的计划和覆盖向量,检测在话语中可能重要的未解析的单词,并且基于重要的未解析的单词来修改计划。检测机构230可以包括分类器,所述分类器基于一个或多个特征将每个未解析的单词分类为重要的或不重要的。对于每个重要的单词,确定针对所述重要的单词的分数是否达到阈值。在一些实例中,所述系统尚未解析的任何单词或短语候选都通过参考其过去的统计发生来进行分析,然后,所述系统判定是否要注意所述短语。如果针对重要的未解析的单词的分数达到阈值,则经修改的计划可以包括生成重要的未解析的单词或者与未解析的单词相关联的某种动作不能够由管理助理来处理或执行的消息。
在一些实例中,本技术能够识别使“phraseScore”函数最大化的单个短语,或者运行Semi-Markov动态程序以搜索针对phraseScore函数的短语的最大分配。在被使用时,动态程序将满足以下循环:
score[j]=max(score[j-1],max_{i<j}(score(i)+phraseScore(i,j)*all(elegible[i:j]))能够返回具有超过(针对所需的敏感度而设置的)某个阈值的最高分数的短语。在一些实例中,phraseScore是对话状态和输入话语的任何可计算函数。在一些实例中,phraseScore是一种机器可学习函数,利用神经网络或其他统计模型来进行估计,具有以下特征:
相对于图3的框图更详细地讨论了检测机构230。
对话管理器240可以基于从检测机构230和/或解析器220接收到的计划和上下文来执行动作,并且基于所执行的动作以及例如从外部服务和实体接收到的任何响应来生成响应。对话管理器的所生成的响应可以被输出到文本到语音模块250。文本到语音模块250可以接收所述响应,根据接收到的响应来生成语音,并且将所述语音输出到与用户相关联的设备。
推理模块242能够被用于搜索数据库并且与用户进行交互。引擎通过按域类型的子求解器以及适合于所述域的约束图进行了扩充,而通用引擎使用其自己的推理机构和子求解器的组合。通用调查引擎可以是CSP求解器或者其加权的变型。在这种上下文中,求解器包括分解器、约束、偏好或者更经典的特定于域的模块,诸如推理出对日期和时间或数字的约束的那些模块。求解器以结果或者以关于某些约束的有效性的消息进行响应,或者以关于必须提供哪些约束才能起作用的信息进行响应。
针对自动助理应用的额外细节诸如是在于2017年10月24日提交的题为“Sequenceto Sequence Transformations for Speech Synthesis Via Recurrent NeuralNetworks”的美国专利申请No.15/792236中更详细描述的图2的内容,其公开内容整体被并入本文。
图3是检测机构的框图。图3提供了针对图2的检测机构230的更多细节。检测机构300包括用户偏好数据310、域约束320、约束图引擎330以及状态引擎340。用户偏好数据可以包括在当前对话或先前对话中从用户接收到或者以某种其他方式获得的数据,这些数据指定了针对用户执行任务的偏好。例如,在当前对话中,所述用户偏好数据可以包括家庭位置、乘飞机旅行的优选类别、优选的汽车租赁公司以及其他数据。
域约束可以包括指定特定于域的约束的规则和逻辑。示例包括以下约束:到达时间必须在出发时间之后发生;出发时间必须在到达时间之前发生;出发航班必须在回程航班之前发生;以及可以特定于域的其他约束条件。
约束图引擎包括用于从图引擎生成、修改、添加和删除约束的逻辑。约束图引擎330可以创建初始约束图,基于显式和隐式约束来修改约束图,可以基于随后的用户话语来修改约束图,并且可以处理与从用户取回的用于完成任务或约束图本身所需的信息有关的全部或部分任务。
状态引擎340可以跟踪对话的当前状态。当前状态可以反映:由用户在对话期间所提供的细节、提供所述过程执行的任务、以及其他信息。
下文所讨论的方法描述了本申请和系统的操作,用于响应于从用户接收到的信息来修改约束图。例如,用户能够改变描述航班的任何输入,并且所述系统将简单地利用新值来覆盖旧值。例如,如果用户已经请求了从Boston到San Francisco的航班,用户可以说“不,我已经改主意了。我想从New York离开”,那么系统将利用包含New York的时隙(slot)来替换包含Boston的时隙。在这种情况下,对计算的“重新规划”影响很小,只是简单地细化了系统将用于其规划的约束。
当所述系统已经识别出特定航班时,但是在预订该航班之前,用户仍然可以关于任何输入而改变其心意。例如,改变航班的出发城市将使所述系统自动地重新计算针对航班搜索的新约束,并且然后其将自动地重新搜索航班数据库并且将新航班报告给用户。这是典型的数据流活动;亦即,当输入改变时,那么计算元件重新计算结果。
然而,在自动助理中,计算元件具有“状态”(在这种情况下为对话状态),其包含关于会话的额外信息。所述系统能够使用该状态信息来改变其相对于经修改的输入的动作。
如果尚未预订航班,则所述系统可以自由地发起新的搜索,并且能够额外地开始与用户的对话以阐明/指定搜索的特性。例如,如果原始搜索是在星期五早上进行的,但用户改变了主意而想要在星期六离开,那么系统可能发现没有星期六早上的航班。然后,其将询问用户想要如何改变航班说明——在星期六下午离开还是在另一天离开——从而可以满足用户的请求。
另一方面,如果用户已经识别出航班,并且已经预订了该航班,则助理不再控制该航班本身——其已经被转发给第三方以用于预订,并且可能已经被第三方确认。在这种情况下,改变起点城市需要复杂得多的交互。所述系统必须与用户并且然后与第三方来确认取消,并且其随后找到新的航班并且以正常方式进行预订。因此,数据流系统粗略地工作,但是事实上,除了对特定模块的输入之外,计算引擎的动作取决于用户互换的历史。活动的这种改变可以被认为是计算模块的“状态”——模块的动作取决于对状态的设置。
必须在经由酒店网站或住宿服务预订房间的模块中进行类似的改变——如果已经预订了房间,而用户随后关于他的预订请求的特定特性改变了主意,则必须修改讨论以包括取消先前的预订,然后重新进行预订。
为了确保流畅的会话交互,诸如上文所描述的那些交互式互换需要快速规划,以识别针对所述系统的约束,或者识别对特定要求没有解决方案的情况。例如,在最初航段(leg)的日期晚于返回航段的日期的情况,或者在任何航段的费用超过针对航班的总费用要求的情况,不可以预订航班。这些约束的快速计算对于实现实时互换是必需的。
提供快速重新规划的一种方法是通过使用约束传播或类似的规划工具。
约束传播是一种基于约束图中的推理的对话流中的语用推理的方法。用户的偏好以及关于现实世界域约束的知识两者都被收集到统一的约束图中。将通用的可满足性和约束传播算法应用于此图,然后,能够进行若干种语用推理以改善对话流:
1、约束传播和失效。用户说“我想在1月1日从SFO起飞并在1月5日返回”,然后询问“如果我在1月7日离开如何?”。系统推断不仅应当改变外出的出发日期,还应当移除返回日期并重新提示用户“您想什么时候返回?”。
2、用于意图消歧的上下文约束解释。系统表示“从SFO到Boston的往返行程于1月1日中午离开并在11pm到达,并且在1月3日上午9点返回并在11pm到达”。如果用户说“能找到短于20小时的航班吗”,则系统推断用户必须参考总行程时间,因为两个个体航段已经短于20小时。相反,如果用户说“能找到短于6个小时的航班吗”,则用户一定指代旅程的特定航段(因为6个小时与总行程时间的可行范围不一致)。
为了完成这些推断,本技术能够将针对每个对话域的查询转换成约束图,包括由用户明确提供的约束以及对该域固有的隐式约束。例如,在飞行域中:显式约束包括对外出和进入的出发和到达时间的用户偏好,以及对每个航段的持续时间的约束;隐式约束包括因果约束(例如,到达之前出发,以及返回之前到达)以及定义性约束(例如,总行程时间是外出行程时间加上返回行程时间)。通过以下流程图的讨论,将更详细地讨论这些特征。
图4是用于在自动助理中处理数据流的方法。图4的方法可以由图1的系统来执行。首先,在步骤410处初始化代理。初始化所述代理可以包括:启动所述代理,提供对域数据的访问,以及执行其他初始操作以准备所述代理与用户进行交互。在步骤420处,可以由自动代理接收第一话语。在一些实例中,所述话语是在相对于在其上执行自动代理的机器的本地或远程设备处从用户以语音或文本形式接收到的。在步骤430处处理所述话语。处理所述话语可以包括:执行语音到文本的操作,解析所述话语的文本,以及执行其他操作以准备话语数据由本系统来处理。
在步骤440处生成约束图。所述约束图可以包括根据话语和域而生成的显式和隐式约束。在约束图内的约束有助于确定将生成什么任务来执行用户所请求的任务。相对于图5的方法更详细地讨论了生成约束图。
在步骤450处,基于约束图来执行过程。一旦生成了约束图,或者在生成约束图的同时,可以执行一个或多个过程。所述过程将旨在满足用户在当前对话中的请求。例如,初始的根过程可以被设计为为用户预订航班。由根过程执行的子过程可以包括:确定出发城市,确定到达城市,确定用户偏好的旅行类别,等等。
在图4的方法期间的某时间点,所述自动代理可以在步骤460处从用户接收第二话语。所述第二话语可能导致与在步骤440处产生的原始生成的约束图在一个或多个约束中产生冲突。在步骤470处处理第二话语(类似于在步骤430处执行的处理),并且在步骤480处基于第二话语来更新约束图。在图6的方法中更详细地讨论了更新所述约束图。
在更新所述约束图时,在步骤490处基于经更新的约束图来执行一个或多个过程。基于经更新的约束图执行的过程可以包括重启在步骤450处执行的一个或多个原始过程,或者在一些情况下除非提供了更多信息,否则指示用户存在冲突或者任务无法执行。在一些情况下,基于经更新的约束图执行过程包括基于第二话语以及其他约束为用户执行经修订的任务或新任务。相对于图9A-C讨论了基于经更新的约束图来执行过程的对话的示例。
图5是用于生成约束图的方法。图5的方法为图4的方法的步骤440提供了更多细节。首先,在步骤510处,基于接收到的话语在约束图中生成显式约束。所述显式约束可以包括用户提供的细节,诸如在旅行域中是航班出发城市、到达城市、航班日期和时间以及其他数据的约束。可以在步骤520处生成所述域中固有的隐式因果约束。因果约束可以包括以下约束:出发必须在到达之前发生,并且到达必须在返回之前发生。可以在步骤530处生成在域中固有的隐式定义性约束。定义性约束的示例包括被定义为外出行程时间加上返回行程时间的总行程时间。将这些生成的约束共同放置到针对当前对话的约束图中。
图6是用于更新约束图的方法。图6的方法为图4的方法的步骤480提供了更多细节。在步骤610处,能够为意图消歧得出推理。在步骤620处,能够为约束传播得出推理。一旦已经将所有特定于域的约束都收集到图中,就能够使用通用的与域无关的算法来对意图消歧和约束传播两者得出推理。给定用户话语的候选解释为约束的发布、修改或撤消,约束推理技术(诸如弧一致性和可满足性检查)能够被用于回答以下问题:
-该约束改变是否消除了与当前图一致的任何可能性?如果否,则表明该解释在实用性上是不合意的。
-该约束改变是否使图不令人满意?如果是,则这也表明该解释在实用性上是不合意的。此外,如果不管冲突而选择了这种解释,则通用算法能够被用于识别能够被移除以恢复一致性的其他约束的最小成本子集。可以将这种最小成本替代提供给用户以接受或修改。
-例如,当用户要求在400美元以下的直飞航班而不存在这样的航班时,就会出现相关情况。在此,约束图本身看起来是先验可满足的,但是所有可用航班都违反了一个或多个用户约束。能够使用与上文相同的推理算法来向用户提议放宽价格或者停止约束。
返回到图6的方法,在步骤630处,由于约束改变而解决了约束图冲突。解决冲突可以包括确定约束改变是否消除了图可能性,使当前图无法满足以及其他确定。相对于图7的方法更详细地讨论了解决约束图冲突。
图7是一种用于解决约束图冲突的方法。图7的方法为图3的方法的步骤630提供了更多细节。首先,在步骤710处,确定约束改变是否消除了当前图可能性。如果改变没有消除任何当前图可能性,则在步骤720处可能希望忽略生成特定约束的解释。如果要忽略该解释,则将约束返回到其先前的值,或者如果先前未将其并入到约束图中,则将其删除,并且能够在步骤770处对软约束进行处理。相对于图8更详细地讨论了对软约束的处理。
在步骤730处,确定当前约束是否提供使当前约束图不令人满意的改变。如果约束改变使当前图不令人满意,则在步骤740处判定是否忽略解释。如果约束改变没有使图不令人满意,则图7的方法继续到步骤770。如果在步骤740处判定忽略导致生成或修改约束的解释,则图7的方法继续到步骤770。如果在步骤740处判定不忽略解释,则在步骤750处识别能够被移除以恢复一致性的约束的最小成本子集。然后,在步骤760处提议那些识别出的子集以由用户接受、拒绝或修改。然后,图7的方法继续到步骤770。
图8是一种用于处理软约束的方法。图8的方法提供了图7的方法的步骤770的更多细节。首先,在步骤810处确定约束是否具有不同程度的违反。如果特定约束的违反能够以不同的程度或级别发生,则在步骤830处识别违反每种程度或级别的约束的成本。如果约束没有不同程度的违反,则在步骤820处识别违反约束的成本。在步骤820或830处设备违反成本之后,可以在步骤840处经由所生成的关于约束违反成本的话语向用户提议选项。可以通过约束违反的最小成本来对提议的选项进行优先化。在一些情况下,能够使用Markov逻辑网络(例如,Alchemy)的实现方式来针对软约束对基础推理机制提供动力。
图9A图示了在用户与代理之间的示例性对话。图9a的对话是在代理商与想要预订航班的用户之间的。在对话中,用户指示应当预定在星期五早上从San Francisco到Disneyland的航班。在代理找到了满足这些约束的航班之后,用户将提供第二话语,指示用户想要飞往Disney World而不是Disneyland。然后,代理确定Disney World是Disneyland的替换,将到达城市确定为Orlando,并且生成话语“OK,到达Orlando”。然后,代理生成另一话语,指示发现星期五的航班满足从San Francisco飞往Orlando的用户约束。
图9B图示了在用户与代理之间的另一示例性对话。在图9B的对话中,用户再次期望从San Francisco飞往Disneyland,但是随后提供了第二语音,指示用户想要头等舱飞行。代理利用头等约束来更新约束图,对航班执行新搜索,但是找不到与约束图匹配的任何航班。结果,代理确定与约束图不同的约束违反集合,包括座位等级稍低的航班以及出发时间不同的航班。代理确定具有最小成本的约束违反将是具有不同座位等级的航班,然后是具有不同出发时间的航班。因此,代理以话语“我找不到星期五早上飞往Anaheim的头等舱航班。商务舱座位可以吗?”来提议不同座位等级的选项。用户以话语“不”响应第一选项,因此代理经由“好的。在星期五下午有飞往Anaheim的头等舱座位的航班。我可以为您预订该航班吗?”来提议第二选项。然后,用户接受第二选项,并且自动代理可以预订该航班。
图9C图示了在用户与代理之间的另一示例性对话。在图9C的对话中,用户提供指示从San Francisco飞往Disneyland的请求的第一话语,指示用户打算飞往Disney World的第二话语,然后指示在已经预定航班之后在星期五早上前回家的偏好。在第三话语之后,代理确认用户打算在星期五早上前从Anaheim返回,识别出预定的航班无法重做,必须执行重新预订过程,并且因此提示用户。当用户接受重新预订航班的选项时,代理继续从用户获取关于重新预订航班的信息。
图10是用于实施本技术的系统的框图。图10的系统1000可以在如客户端110、移动设备120、计算设备130、网络服务器150、应用服务器160和数据存储170的上下文中实施。
图10的计算系统1000包括一个或多个处理器1010以及存储器1020。主存储器1020部分地存储用于由处理器1010执行的指令和数据。主存储器1020当在操作时能够存储可执行代码。图10的系统1000还包括大容量存储设备1030、(一个或多个)便携式存储介质驱动器1040、输出设备1050、用户输入设备1060、图形显示器1070以及外围设备1080。
图10中所示的组件被描绘为经由单条总线1090来连接。然而,可以通过一个或多个数据传输单元来连接所述组件。例如,处理器单元1010和主存储器1020可以经由本地微处理器总线来连接,并且大容量存储设备1030、(一个或多个)外围设备1080、便携式或远程存储设备1040以及显示系统1070可以经由一个或多个输入/输出(I/O)总线来连接。
可以用磁盘驱动器或光盘驱动器实施的大容量存储设备1030是用于存储供处理器单元1010使用的数据和指令的非易失性存储设备。大容量存储设备1030能够存储系统软件,所述系统软件用于实施本发明的实施例以便将该软件加载到主存储器1020中。
便携式存储设备1040与诸如光盘、数字视频盘、磁盘、闪存等便携式非易失性存储介质结合操作,以向图10的计算机系统1000输入数据和代码或者从图10的计算机系统1000输出数据和代码。用于实施本发明的实施例的系统软件可以被存储在这样的便携式介质上,并且经由便携式存储设备1040输入到计算机系统1000。
输入设备1060提供用户界面的一部分。输入设备1060可以包括用于输入字母数字和其他信息的字母数字小键盘(诸如键盘),或者诸如鼠标、轨迹球、触笔或光标方向键的定点设备。另外,如在图10中所示的系统1000包括输出设备1050。合适的输出设备的示例包括扬声器、打印机、网络接口和监视器。
显示系统1070可以包括液晶显示器(LCD)、LED显示器、触摸显示器或者其他合适的显示设备。显示系统1070接收文本和图形信息,并且处理该信息以用于输出到显示设备。显示系统可以通过触摸显示器接收输入,并且传输所接收到的输入以用于存储或进一步处理。
外围设备1080可以包括任何类型的计算机支持设备,以向计算机系统添加附加功能。例如,(一个或多个)外围设备1080可以包括调制解调器或路由器。
包含在图10的计算机系统1000中的组件能够包括个人计算机、手持式计算设备、平板计算机、电话、移动计算设备、工作站、服务器、小型计算机、大型计算机或者任何其他计算设备。计算机还能够包括不同的总线配置、联网平台、多处理器平台等。能够使用各种操作系统,包括Unix、Linux、Windows、Apple OS或iOS、Android以及其他合适的操作系统,包括移动版本。
当实施诸如智能电话或平板计算机之类的移动设备或者可以无线通信的任何其他计算设备时,图10的计算机系统1000可以包括一个或多个天线、无线电设备以及用于经由无线信号进行通信的其他电路,诸如,例如使用Wi-Fi、蜂窝或其他无线信号的通信。
尽管该专利文件包含许多细节,但是这些细节不应当被解读为对任何发明或可要求保护的范围的限制,而是应当被解读为对特定发明的特定实施例所特定的特征的描述。在单独的实施例的上下文中在该专利文件中所描述的某些特征也能够在单个实施例中组合实现。相反,在单个实施例的上下文中所描述的各种特征也能够单独地在多个实施例中实施或者以任何适当的子组合来实现。此外,尽管上文可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下,可以从所要求保护的组合中排除所述组合中的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变型。
类似地,尽管在附图中以特定次序描绘了操作,但是这不应当被理解为要求以所示的特定次序或顺序次序来执行这样的操作,或者执行所有图示的操作以实现期望的结果。此外,在该专利文件中所描述的实施例中的各种系统组件的分离不应当被理解为在所有实施例中都要求这样的分离。
仅描述了一些实现方式和示例,并且能够基于本专利文件中所描述和图示的内容进行其他实现方式、增强和变型。

Claims (20)

1.一种用于提供会话系统的方法,包括:
通过在机器上运行的应用来接收第一话语,所述第一话语与域相关联;
通过所述应用基于所述第一话语以及与所述域相关联的多个约束中的一个或多个约束来生成第一约束图;
通过所述应用基于所述第一约束图来运行第一过程,所述第一约束图是基于所述第一话语以及与所述域相关联的所述约束来生成的;
通过在所述机器上运行的所述应用来接收第二话语,所述第二话语与所述域相关联;
基于所述第一约束图和所述第二话语来生成第二约束图;
基于与所述域相关联的所述多个约束中的一个或多个约束来修改所述第二约束图;以及
通过所述应用基于经修改的第二约束图来运行第二过程。
2.根据权利要求1所述的方法,其中,修改所述第二约束图包括:解决在所述第一约束图的各部分之间的冲突与响应于所述第二话语而生成的约束之间的冲突。
3.根据权利要求2所述的方法,其中,解决冲突包括针对意图消歧而得出推理。
4.根据权利要求2所述的方法,其中,解决冲突针对约束传播而得出推理。
5.根据权利要求2所述的方法,其中,解决冲突包括:识别基于所述第二话语对所述第一约束图进行的改变是否消除了与所述第一约束图一致的可能性。
6.根据权利要求2所述的方法,其中,解决冲突包括:识别基于所述第二话语对所述第一约束图进行的改变是否使所述图不令人满意。
7.根据权利要求1所述的方法,其中,修改所述第二约束图包括:识别所述约束图内与违反约束的成本相关联的所述约束。
8.根据权利要求7所述的方法,其中,所述约束图内与违反所述约束的成本相关联的所述约束具有多个程度的违反水平和成本。
9.根据权利要求8所述的方法,还包括:生成通信以提议对以最小成本而优先的约束的违反。
10.根据权利要求1所述的方法,其中,从远离运行所述应用的所述机器的第二机器接收所述话语。
11.根据权利要求1所述的方法,其中,所述话语是由运行所述应用的所述机器直接从所述用户接收到的。
12.一种在其上体现有程序的非瞬态计算机可读存储介质,所述程序能由处理器运行以执行用于提供会话系统的方法,包括:
通过在机器上运行的应用来接收第一话语,所述第一话语与域相关联;
通过所述应用基于所述第一话语以及与所述域相关联的多个约束中的一个或多个约束来生成第一约束图;
通过所述应用基于所述第一约束图来运行第一过程,所述第一约束图是基于所述第一话语以及与所述域相关联的所述约束来生成的;
通过在所述机器上运行的所述应用来接收第二话语,所述第二话语与所述域相关联;
基于所述第一约束图和所述第二话语来生成第二约束图;
基于与所述域相关联的所述多个约束中的一个或多个约束来修改所述第二约束图;以及
通过所述应用基于经修改的第二约束图来运行第二过程。
13.根据权利要求13所述的非瞬态计算机可读存储介质,其中,修改所述第二约束图包括:解决在所述第一约束图的各部分之间的冲突与响应于所述第二话语而生成的约束之间的冲突。
14.根据权利要求13所述的非瞬态计算机可读存储介质,其中,解决冲突包括针对意图消歧得出推理。
15.根据权利要求13所述的非瞬态计算机可读存储介质,其中,解决冲突针对约束传播得出推理。
16.根据权利要求13所述的非瞬态计算机可读存储介质,其中,解决冲突包括:识别基于所述第二话语对所述第一约束图进行的改变是否消除了与所述第一约束图一致的可能性。
17.根据权利要求13所述的非瞬态计算机可读存储介质,其中,解决冲突包括:识别基于所述第二话语对所述第一约束图进行的改变是否使所述图不令人满意。
18.根据权利要求12所述的非瞬态计算机可读存储介质,其中,修改所述第二约束图包括:识别所述约束图内与违反约束的成本相关联的所述约束。
19.根据权利要求18所述的非瞬态计算机可读存储介质,其中,所述约束图内与违反所述约束的成本相关联的所述约束具有多个程度的违反水平和成本。
20.根据权利要求19所述的非瞬态计算机可读存储介质,还包括:生成通信以提议对以最小成本而优先的约束的违反。
CN201880025344.4A 2017-04-20 2018-04-20 自动助理数据流 Pending CN110574104A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762487626P 2017-04-20 2017-04-20
US62/487,626 2017-04-20
PCT/US2018/028661 WO2018195487A1 (en) 2017-04-20 2018-04-20 Automated assistant data flow

Publications (1)

Publication Number Publication Date
CN110574104A true CN110574104A (zh) 2019-12-13

Family

ID=63852354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880025344.4A Pending CN110574104A (zh) 2017-04-20 2018-04-20 自动助理数据流

Country Status (4)

Country Link
US (1) US20180308481A1 (zh)
EP (1) EP3613044A1 (zh)
CN (1) CN110574104A (zh)
WO (1) WO2018195487A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10884721B2 (en) 2018-05-08 2021-01-05 Autodesk, Inc. Branch objects for dependent optimization problems
US10740371B1 (en) * 2018-12-14 2020-08-11 Clinc, Inc. Systems and methods for intelligently configuring and deploying a machine learning-based dialogue system
US11544475B2 (en) 2019-03-22 2023-01-03 Predictika Inc. System and method for providing a model-based intelligent conversational agent
US20210174233A1 (en) * 2019-12-05 2021-06-10 Fujitsu Limited Graph equation modeling for mathematical equation decomposition and automated code generation
NL2025235B1 (en) * 2020-03-30 2021-10-22 Microsoft Technology Licensing Llc Updating constraints for computerized assistant actions
US11461681B2 (en) 2020-10-14 2022-10-04 Openstream Inc. System and method for multi-modality soft-agent for query population and information mining

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070078815A1 (en) * 2005-10-04 2007-04-05 Robert Bosch Gmbh Method and apparatus for organizing and optimizing content in dialog systems
CN103226949A (zh) * 2011-09-30 2013-07-31 苹果公司 在虚拟助理中使用情境信息来促进命令的处理
US20130275164A1 (en) * 2010-01-18 2013-10-17 Apple Inc. Intelligent Automated Assistant
WO2014197635A2 (en) * 2013-06-07 2014-12-11 Apple Inc. Intelligent automated assistant

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043426B2 (en) * 1998-04-01 2006-05-09 Cyberpulse, L.L.C. Structured speech recognition
ES2367521T3 (es) * 2002-09-27 2011-11-04 Callminer, Inc. Programa informático para análisis estadístico de la voz.
US8131576B2 (en) * 2006-06-02 2012-03-06 International Business Machines Corporation Method and system for identifying conflicting constraints in mixed integer programs
US8069127B2 (en) * 2007-04-26 2011-11-29 21 Ct, Inc. Method and system for solving an optimization problem with dynamic constraints
US8458106B2 (en) * 2010-06-30 2013-06-04 International Business Machines Corporation Performing constraint compliant crossovers in population-based optimization
US20140310069A1 (en) * 2013-04-12 2014-10-16 International Business Machines Corporation Coordinated business rules management and mixed integer programming

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070078815A1 (en) * 2005-10-04 2007-04-05 Robert Bosch Gmbh Method and apparatus for organizing and optimizing content in dialog systems
US20130275164A1 (en) * 2010-01-18 2013-10-17 Apple Inc. Intelligent Automated Assistant
CN103226949A (zh) * 2011-09-30 2013-07-31 苹果公司 在虚拟助理中使用情境信息来促进命令的处理
WO2014197635A2 (en) * 2013-06-07 2014-12-11 Apple Inc. Intelligent automated assistant
CN105247511A (zh) * 2013-06-07 2016-01-13 苹果公司 智能自动化助理

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ROSSI等: "Acquiring Both Constraint and Solution Preferencesin Interactive Constraint Systems", 《CONSTRAINTS》 *

Also Published As

Publication number Publication date
WO2018195487A1 (en) 2018-10-25
EP3613044A1 (en) 2020-02-26
US20180308481A1 (en) 2018-10-25

Similar Documents

Publication Publication Date Title
KR102337820B1 (ko) 사용자 프로그래머블 자동화 어시스턴트
US11562742B2 (en) Generating and transmitting invocation request to appropriate third-party agent
US20220147712A1 (en) Context-based natural language processing
US11488601B2 (en) Dependency graph conversation modeling for use in conducting human-to-computer dialog sessions with a computer-implemented automated assistant
US11941420B2 (en) Facilitating user device and/or agent device actions during a communication session
US10679613B2 (en) Spoken language understanding system and method using recurrent neural networks
KR102189855B1 (ko) 다이얼로그 시스템들에서의 파라미터 수집 및 자동 다이얼로그 생성
CN110574104A (zh) 自动助理数据流
US11430443B2 (en) Developer platform for providing automated assistant in new domains
CN110447026B (zh) 用于在新的域中提供自动化助理的开发人员平台
Bisser et al. Introduction to the microsoft conversational ai platform
CN111048074A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20191213