CN109716430A - 使用超级机器人进行会话交互 - Google Patents
使用超级机器人进行会话交互 Download PDFInfo
- Publication number
- CN109716430A CN109716430A CN201780056979.6A CN201780056979A CN109716430A CN 109716430 A CN109716430 A CN 109716430A CN 201780056979 A CN201780056979 A CN 201780056979A CN 109716430 A CN109716430 A CN 109716430A
- Authority
- CN
- China
- Prior art keywords
- dialogue
- language
- response
- session
- robot
- 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.)
- Withdrawn
Links
- 230000003993 interaction Effects 0.000 title description 9
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000004044 response Effects 0.000 claims description 88
- 230000000694 effects Effects 0.000 claims description 18
- 238000001994 activation Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 22
- 238000012545 processing Methods 0.000 abstract description 13
- 238000007726 management method Methods 0.000 abstract description 8
- 235000013550 pizza Nutrition 0.000 description 36
- 230000006870 function Effects 0.000 description 13
- 239000004615 ingredient Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 230000004913 activation Effects 0.000 description 7
- 241001237745 Salamis Species 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 235000015175 salami Nutrition 0.000 description 4
- 244000291564 Allium cepa Species 0.000 description 3
- 235000002732 Allium cepa var. cepa Nutrition 0.000 description 3
- 241001269238 Data Species 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 244000099147 Ananas comosus Species 0.000 description 2
- 235000007119 Ananas comosus Nutrition 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 235000001674 Agaricus brunnescens Nutrition 0.000 description 1
- 235000002566 Capsicum Nutrition 0.000 description 1
- 239000006002 Pepper Substances 0.000 description 1
- 235000016761 Piper aduncum Nutrition 0.000 description 1
- 235000017804 Piper guineense Nutrition 0.000 description 1
- 244000203593 Piper nigrum Species 0.000 description 1
- 235000008184 Piper nigrum Nutrition 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
- G06F40/56—Natural language generation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1815—Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Manipulator (AREA)
Abstract
提供了会话超级机器人。超级机器人可以利用多个对话来实现超级机器人与用户之间的会话。在会话使用多个对话中的每一个对话进行时,超级机器人可以在话题之间切换,保存状态信息,消除话语的歧义,并且了解用户。用户/开发者可以公开分别专注于会话主题的若干对话作为超级机器人的一部分。实施例提供了可以在一个会话中处理多个主题的企业系统。超级机器人架构允许将对话添加到超级机器人并且从超级机器人管理对话。经由超级机器人进行的对话智能递送与对话的创作分开。使超级机器人表现为智能并且与用户相干的过程与对话创作分开。开发者可以在不考虑语言处理的情况下开发对话。超级机器人包括管理和协调对话的组件。
Description
技术领域
会话代理/机器人正变得流行起来,该会话代理/机器人提供与用户的言语交互以实现目标,诸如,提供服务或订购产品。随着这些会话代理/机器人在日常生活中的使用增加,将需要一种在人与会话代理/机器人之间提供自然的、相干的且状态性的交互的计算机系统。而且,将需要一种以探索性的和/或目标导向的方式在人与会话代理/机器人之间提供这种交互的计算机系统。
发明内容
提供该发明内容来以简化的形式介绍对于在下面的详细说明中进一步描述的构思的选择。该发明内容不旨在排他地标识所要求保护的主题内容的关键特征或者必要特征,也不旨在帮助确定所要求保护的主题内容的范围。
在示例实施例中,提供了用于实施会话超级机器人(SuperBot)的方法和装置。在实施例中,超级机器人可以利用多个对话来实现超级机器人与用户之间的自然会话。在会话使用多个对话中的每一个对话进行时,超级机器人可以在话题之间切换,保存状态信息,消除话语的歧义,并且了解用户。实施例允许用户/开发者公开各自专注于特定服务/会话主题的若干不同对话作为超级机器人的一部分。这允许提供灵活服务。例如,实施例可以被用于提供可以在一个会话中处理多个主题的企业电话系统。实施超级机器人设计和架构,使得可以将单个对话添加到超级机器人并且从超级机器人管理对话。经由超级机器人进行的对话智能传递与对话本身的创作分开。使超级机器人表现为智能并且与用户相干的过程与对话创作分开。这允许开发者在不考虑自然语言处理的情况下开发他们的对话。根据实施例配置的超级机器人包括管理和协调多个对话的所选会话组件。实施所选会话组件以允许超级机器人在不同对话上处理通用功能,并且将与用户进行会话的效率最大化。与单独使用多个对话机器人相比,这些所选会话组件在用户与超级机器人之间提供了增强交互。超级机器人处理一个会话内的所有上下文信息,并且使得用户能够在对话之间切换。
在示例实施方式中,超级机器人可以被实施为一种装置,该装置包括一个或多个处理器以及与一个或多个处理器通信的存储器。该存储器可以包括代码,该代码在被执行时使一个或多个处理器控制装置在超级机器人内提供流程引擎的功能以管理会话。响应于接收到输入,装置可以激活用于管理会话的超级机器人,其中,超级机器人可操作以管理包括至少第一和第二对话的多个对话,接收第一话语并响应于接收到第一话语调用第一对话,使用第一对话接收和/或确定针对会话的第一上下文信息和/或状态信息,接收第二话语并响应于接收到第二话语从第一对话切换到针对会话的第二对话,并且使用第二对话来利用第一上下文信息和/或状态信息确定至少一个响应。装置可以进一步在使用第二对话时接收针对会话的第二上下文信息和/或状态信息,接收第三话语并响应于接收到第三话语切换回第一对话,并且在进行第一对话时利用第二上下文信息和/或状态信息来确定至少一个响应。装置可以在第一对话中时接收第二话语,并且通过针对与第二对话和至少一个其它对话的相关性将第二话语排名来将第二话语与可能的对话的相关性排名。在确定与至少一个其它对话相比第二话语与第二对话最相关之后,装置可以切换到第二对话。
在示例实施方式中,装置可以在使用所有调用的对话时在整个会话中追踪针对会话的上下文信息和/或状态信息。然后装置可以利用追踪到的上下文信息和/或状态信息来确定在会话中所使用的所有对话上的响应。例如,在使用第一或第二对话时在会话中追踪到的上下文信息和/或状态信息可以被用于确定对话上的响应,诸如,在会话正在使用第三对话时。而且,装置可以确定对话活动,该对话活动包括进行中的会话中的第一和第二对话中的每一个的活动量,接收话语,并且基于对话活动来确定是否响应于话语调用第一或第二对话。例如,如果接收到模糊话语,则可以调用会话中最活跃的对话。
附图说明
图1是图示使用示例设备和网络装置的示例超级机器人会话的简化图;
图2是图示超级机器人的示例流程引擎(其控制会话的后续)的简化框图;
图3是图示根据实施方式的在会话中执行的示例操作的流程图;
图4A是针对在超级机器人中使用的对话的示例对话结构;
图4B是针对在超级机器人中使用的对话的示例数据槽结构;
图4C是针对在超级机器人中使用的对话的示例退出结构;
图4D是针对在超级机器人中使用的对话的示例触发器结构;
图5A至图5C是图示用于超级机器人中的对话的示例构造的图;以及,
图6是图示用于实施会话超级机器人的示例装置的简化框图。
具体实施方式
现在将通过示例实施例的使用来描述该系统和方法。示例实施例在本公开中出于说明性目的而被呈现,并且不旨在约束或限制本公开的范围或者本文所提出的权利要求。
本公开的实施例提供了一种超级机器人,该超级机器人通过利用超级机器人的用于进行和管理多种类型的对话的能力来实现超级机器人与用户之间的自然会话。超级机器人被配置为在可以各自与单独对话相关联的话题之间切换,通过多个对话追踪会话的状态,并且当会话进行时通过多个对话追踪和学习与用户相关联的上下文信息。超级机器人允许使用多个对话在用户与超级机器人之间的会话中进行自然交互。使用超级机器人会产生自然且状态性的会话,并且该会话可以是探索性的或者目标导向的。实施例还包括允许将单个对话机器人添加到超级机器人并且在会话期间由超级机器人管理单个对话机器人的设计/架构。
由实施例的超级机器人提供的优点在于超级机器人可以以使用户感觉更自然的方式处理若干会话话题。例如,企业/业务实体可以公开若干对话,每个对话都通过使用单个超级机器人来专注于特定服务。这提供了优于当前使用的会话代理和系统的优点,其在无状态请求/响应类型的交互中向用户提供言语交互。在无状态请求/响应类型的交互中,系统基本上会向提供响应的用户提问。尽管存在许多无状态请求/响应对话机器人处理特定话题并且可以传递单轮或有限多轮对话,但是这些无状态请求/响应对话机器人具有难以处理多个会话话题的缺点。实施例的超级机器人克服了这些缺点。
在示例场景中,企业可以使用实施例的工艺和技术来创作与他们提供的各种服务相关联的对话,使这些对话可用于超级机器人,并且实施超级机器人以响应客户请求。例如,A公司可以向其客户提供服务集合,诸如,互联网连接、移动连接或智能TV频道。客户可以访问A公司的网站并且签订合同。A公司可以经由Skype或其它消息平台中的超级机器人使这些产品也可用,或者仅希望客户与虚拟代理进行会话以获得互联网或移动的合同。A公司希望在捆绑其不同产品方面保持高效,所以客户可以签订互联网连接以及新的移动合同,或者在升级到新的移动电话合同时签订智能TV。A公司可以根据实施例为这种虚拟代理创作对话。例如,可以将其中一个对话创作为可以处理新的互联网统一费率产品的第一对话,可以将第二对话创作为处理服务呼叫,并且可以将第三对话创作为处理针对新的智能TV频道的订阅。因此,A公司可以在运行期间使用被捆绑以用作超级机器人的创作对话。
图1是图示使用示例用户设备和网络装置的示例超级机器人会话的简化图。在图1的示例中,网络装置102可以包括一个或多个服务器或其它计算装置,其包括硬件/处理器和存储器,该存储器包括被配置为实施超级机器人的功能的程序。装置102可以被配置为:为企业或者为可以利用由超级机器人功能提供的增强语音和会话处理的任何其它用户应用提供超级机器人会话功能。设备110和112可以是移动设备或者固定电话或者任何其它类型的设备,其被配置为分别从用户118和120接收音频输入并且通过信道114和116向装置102提供会话音频输入。信道114和116可以是诸如蜂窝或Wi-Fi信道等无线信道或者通过网络基础设施将设备110和112连接至装置102的其它类型的数据信道。在其它示例实施方式中,设备110、设备112和装置102还可以被配置为允许用户118和120使用诸如键盘/文本输入等其它类型的输入向超级机器人提供会话输入。
在图1中,装置102被示出为进行涉及针对通信企业的客户交互的两个示例会话。装备110的用户118处于由超级机器人104管理的会话中,并且设备112的用户120处于由超级机器人106管理的会话中。超级机器人104和106可以表示在装置102的不同硬件和/或程序中被单独实施的超级机器人,或者可以表示相同超级机器人,因为它管理单独会话。装置102还包括存储的创作对话:对话-1至对话-n,其被配置为处理关于所选话题的对话。超级机器人104和106可以根据超级机器人104和106的配置各自利用对话-1至对话-n的不同对话。在配置超级机器人104和106时,网络管理器可以将对话-1至对话-n的特定对话捆绑到超级机器人中,这取决于在与用户会话的过程中可能出现的话题。在图1中,对话-1和对话-2被示出为捆绑到超级机器人104中,并且对话-2和对话-3被示出为捆绑到超级机器人106中。在其它实施方式中,任何数目的对话可以被捆绑到一个超级机器人中。超级机器人104或106在特定时间使用的对话取决于由超级机器人104或106追踪到的会话的上下文/状态。
在图1中,用户118已经向超级机器人104提供了会话输入118a,如“我想升级我的互联网连接”。此时,在会话中,超级机器人104调用对话-1,该对话-1被配置为与“新的互联网统一费率”的话题相关的对话。超级机器人104可以基于被包括在会话输入118a中并且被限定为针对对话-1的触发器的某些话语来调用对话-1。例如,可以针对超级机器人104限定话语“升级”和/或“互联网连接”以触发对话-1。调用对话-1还可以包括相对于其它对话(对话2至对话-n)确定对话-1的相对排名来作为针对基于触发器的调用的可能对话。超级机器人104然后可以管理与用户118的会话,该会话关于用户118的互联网连接/服务。在会话中的某一时刻,超级机器人104可以调用对话-2“移动电话升级”并且使用会话输出118b(如:“还有更新您的移动电话合同的能力”)来向用户118询问关于用户的移动电话。在一个场景中,超级机器人104可以响应于从用户118接收到的触发器话语来提供会话输出118b。例如,可以基于在对话-1期间接收到的触发器话语“升级”以及在对话-1期间追踪到的指示对话-1已经被完成的状态信息。关于用户118的上下文信息也可以由超级机器人用于确定提供会话输出108b。例如,可以利用在对话-1期间从用户118接收到的关于用户118具有移动电话合同的事实的信息。在其它示例中,用户118可以直接询问关于移动电话升级并且在对话-1的中间触发对话-2。响应于会话输出108b,用户118可以提供会话输入118c,如“哪些电话可用”?超级机器人104然后可以使用对话-2与用户118进行会话。根据被包括在来自用户118的会话输入中的触发器话语,超级机器人104可以在对话-1与对话-2之间来回切换,或者调用对话-1至对话-n中的与超级机器人104捆绑的另一对话。
在与超级机器人106的会话中,用户120已经提供了会话输入120a,如“我想要购买新的移动电话并且更新我的合同”。此时,在会话中,超级机器人106调用对话-2,该对话-2被配置为与“移动电话升级”的话题相关的对话。超级机器人106可以基于被包括在会话输入120a中并且被限定为针对对话-2的触发器的某些话语来调用对话-2。例如,可以针对超级机器人106限定话语“更新”、“购买”和/或“移动电话”以触发对话-2。调用对话-2还可以包括相对于其它对话(诸如,对话3和被捆绑在超级机器人106中的到对话-n的任何其它对话)确定对话-2的相对排名来作为针对基于接收到的触发器的调用的可能对话。超级机器人106然后可以管理与用户120的会话,该会话关于用户120的移动电话服务。在会话中的某一时刻,超级机器人106可以调用对话-3“智能TV频道”并且使用会话输出120b(如:“您也听说过我们的智能TV产品吗?”)来向用户120询问关于用户的智能TV服务。在一个场景中,超级机器人106可以响应于从用户120接收到的触发器话语来提供会话输出120b。例如,可以基于已经在对话-2期间接收到的触发器话语“智能TV”以及在对话-2期间追踪到的指示对话-2已经完成的状态信息来提供输出120b。关于用户120的上下文信息也可以由超级机器人106用于确定提供会话输出120b。例如,可以利用在对话-2期间从用户120接收到的关于用户120没有TV合同的事实的信息。在其它示例中,用户120可以直接询问关于智能TV服务并且在对话-2的中间触发对话-3。响应于会话输出120b,用户120可以提供会话输入120c,如“哪些TV产品可用?”超级机器人104然后可以使用对话-3与用户120进行会话。根据被包括在来自用户120的会话输入中的触发器话语,超级机器人106可以在对话-2与对话-3之间来回切换,或者调用对话-1至对话-n中的被捆绑在超级机器人106中的另一对话。
图2是图示示例超级机器人流程引擎的简化框图。在示例实施方式中,流程引擎200可以被实施在图1中的装置102的超级机器人104和106中。流程引擎200可以使用被编程为提供图2中所示的功能的硬件和处理器而被实施在装置102中。流程引擎200的设计使得技术组件能够与单独对话的设计分开,该技术组件以智能方式传递对话。流程引擎200的使用允许开发者为特定服务产品创建对话,而不考虑自然语言处理、人工智能或者编写该对话的用户可能说出的所有可能话语的需要。流程引擎200的使用允许以相干方式传递被捆绑在超级机器人内的单独对话。流程引擎200被配置为通过实施流程引擎内可以被认为是通用的若干组件来允许这一点,即,大多数对话将需要它们。流程引擎200的组件允许超级机器人处理与它们利用其被捆绑在一起的超级机器人的对话所共有的对话机制或者会话流。流程引擎200的组件还被配置为能够理解比单独对话本身更多的话语。例如,流程引擎可以处理许多对话所共有的话语,用户通过该话语询问对由对话输出的特定问题的可用响应选项。
流程引擎200包括语言理解/话语处理器202。语言理解/话语处理器202提供允许流程引擎200确定话语的结构的语言工具。这种结构的确定包括拼写和语法评估、词性(POS)标记、词干提取、依存树等。语言理解/话语处理器202针对流程引擎200执行句子的初始分析。针对粗蛮、咒骂等的语言过滤器也可以被实施在语言理解/话语处理器202中。语言理解/话语处理器202在流程引擎200中提供对话语的有效性的第一初始感觉。通用语言模型(GLM)204功能被用于处理在不同会话中经常使用的话语。例如,这可以包括要求超级机器人取消或停止讨论特定话题,诸如,食品预订。例如,在预订披萨的中途,用户可以改变主意并且要求对话系统取消订单。由GLM 204处理的这些话语也可以包括关于对问题的可能的可选响应的请求。例如,当被问及披萨配料时,用户可能询问哪些选择可用。由GLM 204处理的话语还可以包括询问关于返回会话的状态,询问系统所理解的内容(状态检查),要求扼要重述对话流程的要点或者询问关于对话细节,如“什么是Uber”。流程引擎不是让对话设计者针对特定对话预测所有这些可能的话语,而是处理GLM 204可以理解的这些话语。那么在这种情况下,例如,披萨服务对话设计者不需要编写对涵盖用户询问配料选项或订单状态的可能话语的响应。流程引擎200的GLM 204将会处理这些话语。消歧管理器205充当针对GLM 204的解析器。由于GLM 204处理多个对话,所以它们无法被编写。例如,响应于询问披萨配料选项的用户与询问汽车租赁选项的用户不同。在诸如此类的情况下,消歧管理器205能够从对话脚本提取数据并且合成自然语言响应。当用户询问对话的状态或者使系统扼要重述的选项时,解析器合成响应。
流程引擎200的排名器206将查看与流程引擎200捆绑在一起的各个对话中的每个对话,并且标识用户的话语与特定对话的上下文匹配的程度。这允许生成排名表,该排名表基于每个可用对话脚本与特定用户话语的相关性来进行排序。流程引擎200然后可以将话语推送到最相关的对话,并且最相关的对话将接管会话。如果被确定为最相关的对话拒绝话语,则流程引擎200将移动到排名表中的第二最相关的对话,并且继续该过程,直到对话接受话语为止。如果排名器206未找到任何相关的对话,则流程引擎200将会使超级机器人回答用户不理解该话语。
对话状态管理器207是追踪和管理在会话中涉及的对话的状态的组件。对话状态管理器允许流程引擎200通过当用户在对话之间移动时追踪对话的状态来在不同对话之间来回地平滑移动。
流程引擎200的用户上下文管理功能208是累积关于用户的知识并且在会话流过多个对话时使用该知识的组件。当用户与超级机器人交谈时,用户可以有或者可以没有该系统的历史。例如,第一对话设计者可以编写第一对话以在将所选程序安装在PC上时帮助用户,并且第二对话设计者可以编写第二对话以在PC上激活该所选程序。第一和第二对话指的是可以彼此完全独立地被执行或者在彼此的较短时间间隔内被执行的不同任务。针对第一和第二对话这两者,最有可能请求用户利用设备类型信息(例如,PC或MAC)和许可证标识信息来进行响应。如果用户在询问有关安装所选程序的帮助时与第一对话交互,则超级机器人将会询问许可证标识信息和设备类型信息。类似地,当使用第二对话激活所选程序时,将需要一些相同信息。用户上下文管理208允许追踪信息并且将其保存为可以被重复使用的累积信息,而不要求用户重复信息。在用户开始第二对话以激活所选程序时,流程引擎200将从第二对话脚本采集问题,并且将利用它在被用于安装所选程序的第一对话期间追踪到的并保存为累积信息的状态信息来处理问题。第二对话脚本没有关于话语来自何处,但是与用户的会话更自然的信息。
聊天提供者210是提供流程引擎200以及利用一组聊天能力执行流程引擎200的超级机器人的组件。聊天提供者210的目的是提供对话话题之间的协调。元数据分析器212允许用户查询对话并且获得关于对话的信息。对话的设计者可以将元数据引入到其对话脚本中,元数据分析器212将使用该对话脚本来合成关于对话的句子和其它对话相关数据(诸如,数据槽的数目)来向用户描述对话。否定分析器214将理解句子是否包含否定,并且它将利用对话脚本协商响应或者要求用户积极响应。这也为会话添加了智能,而对话设计者不必在对话脚本中指定它。否定分析器214防止在对话系统中遇到的问题,其中,对话设计者仅假设完成任务或目标的正面路径,而没有提供否定话语。例如,在披萨订购对话中,用户可以提供关于他不喜欢或不想要哪些披萨配料的话语。如果没有提供否定话语,则对话可能会出错,因为否定响应可能被转换为正面的并且话语“我不喜欢菠萝”可能会导致披萨订单上出现菠萝。否定分析器214防止这种情况发生。
流程引擎200还包括可用对话216、激活的对话218和完成的对话220的组件。流程引擎200追踪最活跃的对话,并且通过激活的对话218来追踪当前正在与用户交互的对话、通过完成的对话220来追踪完成对话以及通过可用对话216来追踪可用对话。在接收到某些话语时,流程引擎200可以确定动作。例如,当用户要求扼要重述当前对话时,会话流程引擎200可以使用激活的对话218来确定最活跃的对话,并且假设用户正在引用该对话。当用户针对已经被完成且不可重复的对话说出某些内容或者在被重复之前具有一些时间限制时,流程引擎可以使用完成的对话220相应地进行响应。
图3是图示根据超级机器人的实施方式的在会话中被执行的示例操作的流程图。图3示出了流程引擎200可以如何处理从会话中的用户接收到的话语以生成对用户的响应。该过程开始于302,其中,超级机器人接收包括来自用户的话语的会话输入。在304处,流程引擎200使用语言理解话语处理器202来对话语执行特征提取。在305处,确定是否接受话语。如果不接受话语,则该过程移动到317,并且由响应生成器222制定响应。例如,当不接受话语时,响应可以是对用户澄清的请求或者用户重复话语的请求。在320处,向用户提供响应。然而,如果在306处确定接受话语,则该过程移动到308。
在308处,流程引擎200通过使用对话状态管理器207和/或激活的对话218来确定超级机器人是否已经在与用户的当前对话中。如果确定超级机器人已经在当前对话中,则该过程移动到315。然而,如果确定超级机器人尚未在当前对话中,则该过程移动到310。在310处,排名器206使用排名表来将话语排名,以从可用对话组件216确定用于话语的最相关可用对话的排名顺序。接下来,在312处,选择最相关的排名可用对话,并且在314处,将所选对话设置为当前对话。接下来,该过程移动到315。
在可以从308或314进入的315处,流程引擎200确定当前对话是否消耗了话语,即,确定话语是否与当前对话相关并且可以针对当前对话进行处理。在示例实施方式中,流程引擎200可以使用用户上下文管理组件208、早前由语言理解话语处理器202在流程中提取的特征以及消歧管理器组件205来确定当前对话是否消耗了话语。如果当前对话消耗了话语,则该过程移动到317,其中,根据当前对话制定对用户的响应。然后,在320处,向用户提供响应。然而,如果在315处确定当前对话未消耗话语,则该过程移动到316。在316处,确定是否是第一次处理该话语或者先前是否执行了处理话语的尝试。如果先前处理了话语,则该过程移动到317,其中,流程引擎200制定响应。响应可以是针对来自用户的澄清的请求。然而,如果在316处确定是第一次处理话语,则该过程移动到318。在318处,确定话语是关于取消会话还是关于现有对话。如果话语不是关于取消会话或者关于现有对话,则该过程移动到310。在310处,流程引擎然后使用排名器206来执行排名过程,以在312处从可用对话中选择对话并且将所选对话设置为当前对话。如果话语是关于取消会话或者现有对话,则该过程移动到317,其中,制定响应。针对接收到的每个话语执行图3的操作,直到生成针对话语的响应为止。流程引擎200可以通过根据图3处理用户的话语并且根据需要在对话之间切换来提供与用户的完整会话。
在图3的实施方式中,操作302至320图示了决策路径的示例,在通过使用来自流程引擎200的组件的信息制定对话语的响应时可以遵循该决策路径。在其它实施方式中,来自流程引擎200的任何组件的信息可以被用于使用以不同方式构造的其它决策路径来制定响应。
可以使用示例会话来解释图3,其图示了如何使用会话的基本上下文,诸如,数据槽、用户上下文和状态。示例示出了对聊天的处理、所生成的对话(例如,当用户询问选项时,进行响应的是流程引擎)以及在超级机器人可以改变相关数据时在回合之外说话(用户在说“但是要小的披萨”)。
超级机器人:我可以为您做什么?(这是来自超级机器人的通用欢迎声明)。
用户:你好!
超级机器人:您好,我可以如何帮忙?(超级机器人认识到存在用户并且试图标识出他的意图以将他转接到相关的对话机器人)。
用户:我想要一个披萨。
超级机器人:您想要哪种披萨配料?(机器人将“披萨”识别为实体并且从用户的话语中识别出意图“购买披萨”。超级机器人标识出存在可以处理该请求的对话机器人并且将会话移交给该对话机器人。对话机器人知道做什么。对话机器人试图填充所有数据槽以处理用户的请求。由于并非所有槽(诸如,配料、大小和地址)都已被填充,所以机器人正试图从用户获得该信息)。
用户:有哪些选项?(用户不知道哪些配料是可用的。所以他在回问。机器人可以处理这个询问并且回复)。
超级机器人:选项有意大利香肠、洋葱、培根、蘑菇、胡椒。(用户的意图是获得可用的配料选项列表。机器人相应地回复)。
用户:我想要意大利香肠和洋葱。
超级机器人:当然!您喜欢哪种大小?(下一个数据槽需要填充:大小)。
用户:请给我大的。
超级机器人:好的!您想要送货到哪里?(最终缺失的数据槽:地址)。
用户:家里,但是要小的披萨。(此处用户给出了地址并且机器人需要从用户的上下文中获得它,因为用户只是说“家里”,并且机器人需要将原先是大的的大小替换为小的披萨。因此,仅在机器人保存历史的情况下才可能,并且用户能够在对话期间改变所有获取的状态)。
超级机器人:好的!都完成了!
用户:扼要重述。(用户可以向机器人询问其当前状态)。
超级机器人:已经选择了:带有洋葱和意大利香肠的小披萨送货到您家!(机器人以友好的总结进行回复)。
也可以使用图示了如何在由单独对话处理的话题之间切换的示例会话来进一步解释图3。
超级机器人:我可以为您做什么?(这是来自超级机器人的通用欢迎声明)。
用户:你好,我想要一个披萨。
超级机器人:您想要哪种披萨配料?(机器人将“披萨”识别为实体并且从用户的话语中识别出意图“购买披萨”。超级机器人标识出存在可以处理该请求的对话机器人并且将会话移交给该对话机器人。对话机器人知道做什么。它正试图填充所有数据槽以处理用户的请求。由于并非所有槽(诸如,配料、大小和地址)都已被填充,所以机器人正试图从用户获得该信息)。
用户:我想要意大利香肠和培根。
超级机器人:当然!您喜欢哪种大小?(下一个数据槽需要填充:大小)。
用户:让我们先来预订出租车。(用户在此处强制进行上下文切换。在完成披萨订单之前,他想要预订出租车。这可以发生在会话中)。
超级机器人:您从哪里开始您的行程?(披萨机器人不理解“出租车”并且将该话语发送回超级机器人。超级机器人标识出上下文切换并且触发现在正在处理出租车的预订的Uber机器人)。
用户:从家里。
超级机器人:好的感谢!我们可以为您提供哪种出租车类型?(此处,出租车机器人想要填充他的数据槽,诸如,汽车类型、开始地址和目的地地址)。
用户:常规的出租车。
此处完成了出租车预订会话。
超级机器人:好的!都完成了!
用户:让我们完成披萨订单。(用户想要返回到披萨订单)。
超级机器人:好的!您想要哪种大小?(出租车机器人已完成并且将会话移交给超级机器人。超级机器人标识出“披萨”话语并且再次移交给披萨机器人。披萨机器人仍然知道会话的状态并且可以从此处继续)。
用户:请给我大的。
超级机器人:好的!您想要送货到哪里?(最终缺失的数据槽:地址)。
图4A是根据实施例的用于超级机器人中的示例对话结构。图4A图示了流程引擎200的使用如何允许将对话的智能与创作体验分开。为了实现分开,对话创作者使用特定结构来限定对话。该结构包括允许以有效方式与流程引擎200交互的特性。然而,针对图4A的对话结构,不需要可以由流程引擎200处理和执行的结构/特性/数据作为流程引擎200的通用对话处理能力的一部分。图4A示出了可以为包括对话模型指示器402和特性404的对话被配置的对话结构400。特性404包括针对对话的特性列表404a至404j。特性404的列表可以包括其它特性,并且可以在流程引擎200随着时间演变时进行添加和/或更新。“自动填充”404a是布尔值,其指示是否可以通过使用用户上下文来完成对话。“公共触发器”404b限定了触发对话的话语。“完成”404c是指(指示)对话是否已经被成功递送给用户的特性。“描述”404d是包括对话元数据的特性。“退出短语404e”限定了在对话完成时被递送给用户的最终响应。退出短语404e可以是脚本化的、正被执行的一段代码的结果或者两者的组合。“着陆模型”404f是对话的触发器。着陆模型404f可以是正则表达式、语言模型、关键词等。“名称”404g限定了对话的标识符。“可重复”404h是指示是否可以重复对话的特性。可重复404h的可选属性可以指示对话可以被重复的频率。“槽”404i是用于从用户挖掘数据的特定对话特征。“用户上下文”404j可以是先验已知并且可以被潜在使用的任何信息。
图4B是针对在超级机器人中所使用的对话的示例数据槽结构。数据槽是被用来从用户挖掘数据的对话的特征。例如,可以根据图4B配置图4A的槽404i。图4B示出了可以为包括数据槽指示器408和特性410的对话配置的数据槽结构406。特性410包括特性410a至410g的列表。“条件”410a限定了数据槽可以被用来从用户挖掘信息的情况。“评估方法”410b限定了针对数据槽期望挖掘的状态评估用户话语的过程。“挖掘话语”410c是被提供给用户以便挖掘状态的问题集合。“名称”410d是数据槽的名称。“对挖掘话语的响应”410e是来自用户对问题的响应。“状态评估满意”410f指示是否获取了期望状态。“用户话语评估器”410g是用于处理对挖掘话语410e对象的响应的语言模型集合。
图4C是针对在超级机器人中被使用的对话的示例退出结构。图4C示出了可以为包括“回答”414和“特性”416的对话配置的退出结构412。特性416包括限定了应该提供特定退出短语的情况的“退出短语条件”416a。特性416还包括限定了为了获得退出短语所需的数据而实施的代码的“履行”416b,以及允许对话创作者提供立即可用的脚本化退出短语的脚本化退出短语416c。
图4D是针对在超级机器人中被使用的对话的示例触发器结构。图4D示出了包括触发器评估器422和特性424的触发器结构420。特性424包括指示触发器是否已经启动的“着陆满意”424a、指示来自话语的哪些令牌使触发器启动的“名称”424b以及指示从话语替换了哪些令牌的“替换令牌”424c。特性424还可以指示已经使用了哪些令牌的“已用令牌”424d。触发器结构420还包括“方法”426,该“方法”426包括指示“触发器评估器”422应该实施评估方法以评估用户话语的“评估”426a、指示触发器评估器422应该报告话语与触发器的匹配程度的“获得排名信息”426b以及指示触发器评估器422应该提供用于重置所捕获的所有状态的按钮的“重置”426c。
图5A至图5C是图示了用于超级机器人中的对话的示例构造的图。图5A图示了对话创作者的工作空间主页500的示例屏幕截图。主页显示了创作者的现有对话502、504和506。创作者可以编辑对话502、504和506的现有对话,以通过选择按钮501从头开始创建新的对话或者通过选择按钮503从现有模板创建对话。现有模板可以包括已经准备好的和/或共享的对话的模板。示例对话502、504和506分别被示出为对话“激活office 365”502、“预订汽车”504和“订购披萨”506。
图5B图示了用于编辑和配置图5A的对话订购披萨506的创作者页面508的示例屏幕截图。图5B示出了可以如何根据着陆模型506a、数据槽506b和退出短语506c编辑对话订购披萨506。例如,着陆模型506a可以包括名为订购披萨的模型507,其可以被限定为带有值订购披萨511的类型数据实体509。数据槽506b可以包括名为披萨大小的槽513,其可以与问题515“您的披萨应该多大?”相关联并且被限定为语言模型并从这里被引用以用于语言理解智能服务(LUIS)517。退出短语506c可以包括类型为短语521的标题为退出订购519的退出短语,其与短语“我会将(披萨大小)披萨递送给您”相关联。针对着陆模型、数据槽和退出短语的类型可以是正则表达式(RegEx)、数据实体(其可以是组合的关键词)或者语言模型。
图5C图示了用于将标题为订购披萨的对话506部署为超级机器人的一部分的创作者页面530的示例屏幕截图。在图5C中,可能的超级机器人被列在标题为“应用”506d的类别下,并且包括超级机器人“帮助”508、“食物”510、“支持”512和“办公室”514。创作者可以从超级机器人/应用508至514选择超级机器人/应用,将通过点击超级机器人/应用框508、510、512或514来将对话包含在其中。作为替代方案,通过选择“部署应用”,所有超级机器人/应用都被更新为包括标题为订购披萨的对话506。可以通过在516处输入名称来创建新的超级机器人/应用。
现在参照图6,其中是根据实施例的可以被实施为提供超级机器人的示例装置600的简化框图。图1A和图1B中所示的装置102和流程引擎200的功能可以被实施在诸如装置600等装置上。装置600可以被实施为通过诸如互联网等网络与设备通信,以向设备的用户提供会话输入和输出。例如,装置600可以被实施为与图6的设备602通信,该设备602被实施为图1A的设备110或112。
装置600可以包括具有处理单元610的服务器608、存储器614、与其它网络的接口606和开发者界面612。例如,与其它网络的接口606允许通过互联网以及设备602正在其中操作的无线系统在装置600与设备602之间通信。与其它网络的接口606也允许装置600与在实施方式中被使用的其它系统(诸如,语言处理程序)通信。开发者界面612允许开发者/对话创作者在装置600上配置/安装一个或多个超级机器人。可以远程地或者在装置600处完成对话的创作。存储器614可以被实施为任何类型的计算机可读存储介质,包括非易失性和易失性存储器。存储器614被示出为包括超级机器人/流程引擎控制程序616、对话控制程序618和对话创作程序620。服务器608和处理单元610可以包括一个或多个处理器或其它控制电路装置或者根据所公开的实施例提供装置600的整体控制的处理器和控制电路装置的任何组合。
超级机器人/流程引擎控制程序616和对话控制程序618可以由处理单元610执行,以控制装置600执行用于提供相对于图1、图2和图3而被图示和描述的超级机器人会话的功能。对话创作程序620可以由处理单元610执行,以控制装置600执行允许用户通过相对于图4A-图4D和图5A-图5C而被图示和描述的过程来创作对话的功能。在备选实施方式中,对话创作程序620可以被实施在另一设备上,并且超级机器人和/或对话可以在创作后被安装在装置600上。
装置600被示出为包括服务器608作为单个服务器。然而,服务器608可以代表由一个或多个服务器或计算设备提供的服务器功能或者服务器系统,该一个或多个服务器或计算设备可以位于相同位置或者在地理上分散开来以实施装置600。存储器614的部分、超级机器人/流程引擎控制程序616、对话控制程序618和对话创作程序620也可以位于相同位置或者在地理上分散开来。本公开中所使用的术语服务器通常被用来包括可以被实施为根据所公开的实施例提供超级机器人的任何计算设备或者通信设备。
本文所公开的示例实施例可以在处理器可执行代码或被存储在存储器上的指令的一般上下文中被描述,该存储器可以包括一个或多个计算机可读存储介质(例如,诸如存储器616等有形非瞬态计算机可读存储介质)。应该容易地理解,术语“计算机可读存储介质”或者“非瞬态计算机可读介质”包括用于存储数据、代码和程序指令的介质,诸如,存储器616,并且不包括用于存储瞬态经传播或调制的数据通信信号的介质的部分。
所公开的实施例包括一种装置,该装置包括:用于接收话语并且输出响应的界面;与界面通信的一个或多个处理器以及与一个或多个处理器通信的存储器,该存储器包括代码,该代码在被执行时使一个或多个处理器控制装置:激活流程引擎,该流程引擎用于协调至少第一和第二对话;在界面处接收第一话语,并且响应于接收到第一话语调用第一对话;在使用第一对话时确定针对会话的上下文信息;在界面处接收第二话语,并且响应于接收到第二话语为会话调用第二对话;在使用第二对话时利用上下文信息来确定至少一个响应;以及,在界面处提供至少一个响应。上下文信息可以包括第一上下文信息,并且该代码进一步使一个或多个处理器控制装置:在使用第二对话时确定针对会话的第二上下文信息;在界面处接收第三话语,并且响应于接收到第三话语调用第一对话;以及,在使用第一对话时利用第二上下文信息来确定至少一个响应。装置可以在进行第一对话时接收第二话语,并且通过确定第二话语与第一对话不相关,针对与第二对话和至少一个第三对话的相关性将第二话语排名,确定与至少一个第三对话相比第二话语与第二对话最相关,并且响应于第二话语与第二对话最相关的确定调用第二对话,来调用第二对话。该至少一个响应可以包括至少一个第一响应,并且该代码可以进一步使一个或多个处理器控制装置:在使用第一和第二对话时追踪针对会话的状态信息;以及,在使用第二对话时利用状态信息来确定至少一个第二响应。
该代码可以进一步使一个或多个处理器控制装置:确定对话活动,该对话活动包括在一个或多个第三话语被接收到时会话中的第一和第二对话中的每一个的活动量;在界面处接收第四话语;以及,基于对话活动,确定是否要响应于第四话语调用第一或第二对话。该代码可以进一步使一个或多个处理器控制装置:在使用第二对话时在界面处接收第三话语;确定第三话语是针对关于第二对话的信息的请求;确定第二对话的脚本中的元数据;以及,利用元数据来确定至少一个响应。该代码可以进一步使一个或多个处理器控制装置:在使用第二对话时在界面处接收第三话语;确定第三话语包括否定;以及,与第二对话协商响应。该代码可以进一步使一个或多个处理器控制装置:在使用第二对话时在界面处接收第三话语;确定第三话语是针对第一对话的退出短语;以及,响应于第三话语退出第一对话。
所公开的实施例还包括一种方法,该方法包括:在装置中激活流程引擎,该流程引擎用于协调至少第一和第二对话;在装置的界面处接收第一话语,并且响应于接收到第一话语调用第一对话;在使用第一对话时确定针对会话的上下文信息;在使用第一对话时在界面处接收第二话语,并且响应于接收到第二话语调用第二对话;在使用第二对话时利用上下文信息来确定至少一个响应;以及,在界面处提供至少一个响应。该方法可以进一步包括:在使用第一对话时追踪针对会话的状态信息;以及,在使用第二对话时利用状态信息来确定至少一个响应。该方法可以进一步包括:确定对话活动,该对话活动包括在一个或多个第三话语被接收到时在会话中使用第一和第二对话中的每一个的活动量;在界面处接收第四话语;以及,基于对话活动,确定是否要响应于第四话语调用第一或第二对话。该方法可以进一步包括:在使用第二对话时确定第二上下文信息;在使用第二对话时在界面处接收第三话语,并且响应于接收到第三话语调用第一对话;以及,在使用第一对话时利用第二上下文信息来确定至少一个响应。该方法可以进一步包括:在进行第二对话时在界面处接收第三话语;确定第三话语是针对关于第二对话的信息的请求;确定第二对话的脚本中的元数据;以及,利用元数据来确定至少一个响应。该方法可以进一步包括:在使用第二对话时在界面处接收第三话语;确定第三话语包括否定;以及,与第二对话协商响应。接收第二话语并且调用第二对话可以进一步包括:确定第二话语与第一对话不相关;针对与第二对话和至少一个第三对话的相关性将第二话语排名;确定与至少一个第三对话相比第二话语与第二对话最相关;以及,响应于第二话语与第二对话最相关的确定调用第二对话。
所公开的实施例进一步包括一种流程引擎,该流程引擎包括一个或多个处理器以及与一个或多个处理器通信的存储器,该存储器包括代码,该代码在被执行时可操作以控制流程引擎:在会话期间接收多个话语;通过基于接收到的多个话语中的每一个在多个对话之间切换来管理会话;在使用多个对话中的每一个时追踪上下文信息;以及,在多个对话中的至少第二对话中利用在多个对话中的第一对话中追踪到的上下文信息来生成至少一个响应。该代码可以进一步可操作以控制流程引擎:在使用多个对话中的每一个时追踪状态信息;以及,基于追踪到的状态信息将多个对话中的每一个分类为可用的、激活的或完成的。多个话语中的每一个可以包括触发器,流程引擎可以在多个话语中的第一话语中接收第一触发器,将多个对话中的第三和第四对话确定为与第一触发器相关联,生成关于第一话语要引用第三或第四对话中的哪一个的查询,并且基于响应于查询接收到的多个话语中的第二话语切换到第三对话。流程引擎可以通过利用追踪到的上下文信息中的所选信息填充第二对话中的数据槽来在多个对话中的第二对话中利用在多个对话中的第一对话中追踪到的上下文信息。流程引擎可以进一步在使用多个对话时追踪状态信息,并且在多个对话中的至少第二对话中利用在多个对话中的第一对话中追踪到的状态信息。流程引擎可以通过针对接收到的多个话语中的所选话语将彼此相关的多个对话中的每一个排名,并且针对所选话语切换到多个对话中具有最高排名的对话,来基于接收到的多个话语中的每一个在多个对话之间切换。
尽管已经将实施方式公开并描述为具有在网络中操作的特定无线设备上被实施的功能,但是针对所描述的设备的一个或多个功能可以在与附图中所示出的不同的一个设备上或者在不同系统中操作的不同类型的设备上被实施。
Claims (15)
1.一种装置,包括:
用于接收话语并且输出响应的界面;
与所述界面通信的一个或多个处理器以及与所述一个或多个处理器通信的存储器,所述存储器包括代码,所述代码在被执行时使所述一个或多个处理器控制所述装置:
激活流程引擎,所述流程引擎用于协调至少第一对话和第二对话;
在所述界面处接收第一话语,并且响应于接收到所述第一话语调用所述第一对话;
在使用所述第一对话时确定针对所述会话的上下文信息;
在所述界面处接收第二话语,并且响应于接收到所述第二话语为所述通话调用所述第二对话;
在使用所述第二对话时利用所述上下文信息来确定至少一个响应,以及,
在所述界面处提供所述至少一个响应。
2.根据权利要求1所述的装置,其中所述上下文信息包括第一上下文信息,并且所述代码进一步使所述一个或多个处理器控制所述装置:
在使用所述第二对话时确定针对所述会话的第二上下文信息;
在所述界面处接收第三话语,并且响应于接收到所述第三话语调用所述第一对话;以及,
在使用所述第一对话时利用所述第二上下文信息来确定至少一个响应。
3.根据权利要求1所述的装置,其中装置在进行所述第一对话时接收所述第二话语,并且通过确定所述第二话语与所述第一对话不相关来调用所述第二对话,针对与所述第二对话和至少一个第三对话的相关性,对所述第二话语排名,确定与所述至少一个第三对话相比所述第二话语与所述第二对话最相关,并且响应于所述第二话语与所述第二对话最相关的所述确定调用所述第二对话,来调用所述第二对话。
4.根据权利要求1所述的装置,其中至少一个响应包括第一至少一个响应,并且所述代码进一步使所述一个或多个处理器控制所述装置:
在使用所述第一对话和所述第二对话时追踪状态信息作为针对所述会话的用户上下文;以及,
在使用所述第二对话时利用所述状态信息来确定第二至少一个响应。
5.根据权利要求1所述的装置,其中所述代码进一步使所述一个或多个处理器控制所述设备:
确定对话活动,所述对话活动包括在一个或多个第三话语被接收到时所述通话中的所述第一对话和所述第二对话中的每一个的活动量;
在所述界面处接收第四话语;以及,
基于所述对话活动,确定所述第一对话或所述第二对话是否将响应于所述第四话语而被调用。
6.根据权利要求1所述的装置,其中所述代码进一步使所述一个或多个处理器控制所述装置:
在使用所述第二对话时在所述界面处接收第三话语;
确定所述第三话语是针对关于所述第二对话的信息的请求;
确定所述第二对话的脚本中的元数据;以及
利用所述元数据来确定至少一个响应。
7.根据权利要求1所述的装置,其中所述代码进一步使所述一个或多个处理器控制所述装置:
在使用所述第二对话时在所述界面处接收第三话语;
确定所述第三话语包括否定;以及,
与所述第二对话协商响应。
8.根据权利要求1所述的装置,其中所述代码进一步使所述一个或多个处理器控制所述装置:
在使用所述第二对话时在所述界面处接收第三话语;
确定所述第三话语是针对所述第一对话的退出短语;以及,
响应于所述第三话语退出所述第一对话。
9.一种方法,包括:
在装置中激活流程引擎,所述流程引擎用于协调至少第一对话和第二对话,
在所述装置的界面处接收第一话语,并且响应于接收到所述第一话语调用第一对话;
在使用所述第一对话时确定针对所述会话的上下文信息;
在使用所述第一对话时在所述界面处接收第二话语,并且响应于接收到所述第二话语调用第二对话;
在使用所述第二对话时利用所述上下文信息来确定至少一个响应;以及,
在所述界面处提供所述至少一个响应。
10.根据权利要求9所述的方法,进一步包括:
在使用所述第一对话时追踪状态信息作为针对所述会话的用户上下文;以及,
在使用所述第二对话时利用所述状态信息来确定所述至少一个响应。
11.根据权利要求9所述的方法,进一步包括:
确定对话活动,所述对话活动包括在一个或多个第三话语被接收到时在所述通话中使用所述第一对话和所述第二对话中的每一个的活动量;
在所述界面处接收第四话语;以及,
基于所述对话活动,确定所述第一对话或所述第二对话是否将响应于所述第四话语而被调用。
12.根据权利要求9所述的方法,进一步包括:
在使用所述第二对话时确定第二上下文信息;
在使用所述第二对话时在所述界面处接收第三话语,并且响应于接收到所述第三话语调用所述第一对话;以及,
在使用所述第一对话时利用所述第二上下文信息来确定至少一个响应。
13.根据权利要求9所述的方法,进一步包括:
在进行所述第二对话时在所述界面处接收第三话语;
确定所述第三话语是针对关于所述第二对话的信息的请求;
确定所述第二对话的脚本中的元数据;以及
利用所述元数据来确定至少一个响应。
14.根据权利要求9所述的方法,进一步包括:
在使用所述第二对话时在所述界面处接收第三话语;
确定所述第三话语包括否定;以及,
与所述第二对话协商响应。
15.根据权利要求9所述的方法,其中所述接收所述第二话语并且调用所述第二对话进一步包括:
确定所述第二话语与所述第一对话不相关;
针对与所述第二对话和至少一个第三对话的相关性,对所述第二话语排名;
确定与所述至少一个第三对话相比所述第二话语与所述第二对话最相关;以及,
响应于所述第二话语与所述第二对话最相关的所述确定,调用所述第二对话。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/280,984 | 2016-09-29 | ||
US15/280,984 US20180090141A1 (en) | 2016-09-29 | 2016-09-29 | Conversational interactions using superbots |
PCT/US2017/052836 WO2018063922A1 (en) | 2016-09-29 | 2017-09-22 | Conversational interactions using superbots |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109716430A true CN109716430A (zh) | 2019-05-03 |
Family
ID=60020624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780056979.6A Withdrawn CN109716430A (zh) | 2016-09-29 | 2017-09-22 | 使用超级机器人进行会话交互 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20180090141A1 (zh) |
EP (1) | EP3520101A1 (zh) |
CN (1) | CN109716430A (zh) |
WO (1) | WO2018063922A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111862966A (zh) * | 2019-08-22 | 2020-10-30 | 马上消费金融股份有限公司 | 智能语音交互方法以及相关装置 |
CN113095056A (zh) * | 2021-03-17 | 2021-07-09 | 阿里巴巴新加坡控股有限公司 | 生成方法、处理方法、装置、电子设备以及介质 |
CN113159901A (zh) * | 2021-04-29 | 2021-07-23 | 天津狮拓信息技术有限公司 | 融资租赁业务会话的实现方法和装置 |
CN113159901B (zh) * | 2021-04-29 | 2024-06-04 | 天津狮拓信息技术有限公司 | 融资租赁业务会话的实现方法和装置 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9634855B2 (en) | 2010-05-13 | 2017-04-25 | Alexander Poltorak | Electronic personal interactive device that determines topics of interest using a conversational agent |
US11037554B1 (en) * | 2017-09-12 | 2021-06-15 | Wells Fargo Bank, N.A. | Network of domain knowledge based conversational agents |
EP3704689A4 (en) * | 2017-11-05 | 2021-08-11 | Walkme Ltd. | CHAT-BASED APPLICATION INTERFACE FOR AUTOMATION |
US10991369B1 (en) * | 2018-01-31 | 2021-04-27 | Progress Software Corporation | Cognitive flow |
US11954613B2 (en) * | 2018-02-01 | 2024-04-09 | International Business Machines Corporation | Establishing a logical connection between an indirect utterance and a transaction |
US10891950B2 (en) | 2018-09-27 | 2021-01-12 | International Business Machines Corporation | Graph based prediction for next action in conversation flow |
US11205422B2 (en) * | 2018-10-02 | 2021-12-21 | International Business Machines Corporation | Methods and systems for managing chatbots with data access |
CN111382237B (zh) * | 2018-12-27 | 2024-02-06 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置及任务对话系统 |
US11188548B2 (en) | 2019-01-14 | 2021-11-30 | Microsoft Technology Licensing, Llc | Profile data store automation via bots |
US11211055B2 (en) | 2019-01-14 | 2021-12-28 | Microsoft Technology Licensing, Llc | Utilizing rule specificity in conversational AI |
WO2020148355A1 (en) | 2019-01-17 | 2020-07-23 | Koninklijke Philips N.V. | A system for multi-perspective discourse within a dialog |
US11803592B2 (en) * | 2019-02-08 | 2023-10-31 | iT SpeeX LLC | Method, system, and computer program product for developing dialogue templates for an intelligent industrial assistant |
US11721330B1 (en) * | 2019-09-04 | 2023-08-08 | Amazon Technologies, Inc. | Natural language input processing |
US11361761B2 (en) * | 2019-10-16 | 2022-06-14 | International Business Machines Corporation | Pattern-based statement attribution |
CN111611368B (zh) * | 2020-05-22 | 2023-07-04 | 北京百度网讯科技有限公司 | 多轮对话中公共场景对话回溯的方法和装置 |
US10818293B1 (en) * | 2020-07-14 | 2020-10-27 | Drift.com, Inc. | Selecting a response in a multi-turn interaction between a user and a conversational bot |
CN112100338B (zh) * | 2020-11-02 | 2022-02-25 | 北京淇瑀信息科技有限公司 | 一种智能机器人的对话主题扩展方法、装置和系统 |
US11694039B1 (en) * | 2021-01-22 | 2023-07-04 | Walgreen Co. | Intelligent automated order-based customer dialogue system |
US20220343901A1 (en) * | 2021-04-23 | 2022-10-27 | Kore.Ai, Inc. | Systems and methods of implementing platforms for bot interfaces within an intelligent development platform |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5615296A (en) * | 1993-11-12 | 1997-03-25 | International Business Machines Corporation | Continuous speech recognition and voice response system and method to enable conversational dialogues with microprocessors |
US5748841A (en) * | 1994-02-25 | 1998-05-05 | Morin; Philippe | Supervised contextual language acquisition system |
US20070294229A1 (en) * | 1998-05-28 | 2007-12-20 | Q-Phrase Llc | Chat conversation methods traversing a provisional scaffold of meanings |
US7490092B2 (en) * | 2000-07-06 | 2009-02-10 | Streamsage, Inc. | Method and system for indexing and searching timed media information based upon relevance intervals |
US7127486B1 (en) * | 2000-07-24 | 2006-10-24 | Vignette Corporation | Method and system for facilitating marketing dialogues |
DE10147341B4 (de) * | 2001-09-26 | 2005-05-19 | Voiceobjects Ag | Verfahren und Vorrichtung zum Aufbau einer in einem Computersystem implementierten Dialogsteuerung aus Dialogobjekten sowie zugehöriges Computersystem zur Durchführung einer Dialogsteuerung |
US20040162724A1 (en) * | 2003-02-11 | 2004-08-19 | Jeffrey Hill | Management of conversations |
JP2007232829A (ja) * | 2006-02-28 | 2007-09-13 | Murata Mach Ltd | 音声対話装置とその方法及びプログラム |
US20140310365A1 (en) * | 2012-01-31 | 2014-10-16 | Global Relay Communications Inc. | System and Method for Tracking Messages in a Messaging Service |
US20150261867A1 (en) * | 2014-03-13 | 2015-09-17 | Rohit Singal | Method and system of managing cues for conversation engagement |
US10726831B2 (en) * | 2014-05-20 | 2020-07-28 | Amazon Technologies, Inc. | Context interpretation in natural language processing using previous dialog acts |
US9767794B2 (en) * | 2014-08-11 | 2017-09-19 | Nuance Communications, Inc. | Dialog flow management in hierarchical task dialogs |
US9666185B2 (en) * | 2014-10-06 | 2017-05-30 | Nuance Communications, Inc. | Automatic data-driven dialog discovery system |
US9836452B2 (en) * | 2014-12-30 | 2017-12-05 | Microsoft Technology Licensing, Llc | Discriminating ambiguous expressions to enhance user experience |
-
2016
- 2016-09-29 US US15/280,984 patent/US20180090141A1/en not_active Abandoned
-
2017
- 2017-09-22 CN CN201780056979.6A patent/CN109716430A/zh not_active Withdrawn
- 2017-09-22 WO PCT/US2017/052836 patent/WO2018063922A1/en unknown
- 2017-09-22 EP EP17780276.6A patent/EP3520101A1/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111862966A (zh) * | 2019-08-22 | 2020-10-30 | 马上消费金融股份有限公司 | 智能语音交互方法以及相关装置 |
CN113095056A (zh) * | 2021-03-17 | 2021-07-09 | 阿里巴巴新加坡控股有限公司 | 生成方法、处理方法、装置、电子设备以及介质 |
CN113095056B (zh) * | 2021-03-17 | 2024-04-12 | 阿里巴巴创新公司 | 生成方法、处理方法、装置、电子设备以及介质 |
CN113159901A (zh) * | 2021-04-29 | 2021-07-23 | 天津狮拓信息技术有限公司 | 融资租赁业务会话的实现方法和装置 |
CN113159901B (zh) * | 2021-04-29 | 2024-06-04 | 天津狮拓信息技术有限公司 | 融资租赁业务会话的实现方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2018063922A1 (en) | 2018-04-05 |
US20180090141A1 (en) | 2018-03-29 |
EP3520101A1 (en) | 2019-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109716430A (zh) | 使用超级机器人进行会话交互 | |
KR102381214B1 (ko) | 인간-기계 대화 방법, 장치 및 전자 기기 | |
CA2408089C (en) | System and method for dialogue management | |
CN105592237B (zh) | 一种会话切换的方法、装置及智能客服机器人 | |
CN109873909B (zh) | 一种语音呼叫方法、装置和设备及计算机存储介质 | |
US11030412B2 (en) | System and method for chatbot conversation construction and management | |
US6067357A (en) | Telephony call-center scripting by Petri Net principles and techniques | |
US20210157989A1 (en) | Systems and methods for dialog management | |
CA2890963C (en) | Method and apparatus for intent prediction and proactive service offering | |
US20170330077A1 (en) | Deep learning of bots through examples and experience | |
US20190304445A1 (en) | Conversational framework | |
CN109977208A (zh) | 一种融合faq和任务及主动引导的对话系统 | |
CN106791233B (zh) | 一种用于提供ivr服务流程的方法及ivr系统 | |
US7634259B2 (en) | Applications server and method | |
CN110442701A (zh) | 语音对话处理方法及装置 | |
CN106911812A (zh) | 一种会话信息的处理方法、服务器及计算机可读存储介质 | |
WO2016025277A1 (en) | Dialog flow management in hierarchical task dialogs | |
JPH09297734A (ja) | 質疑応答方法 | |
KR20170122862A (ko) | 연락 센터용 지능형 자동 에이전트 | |
WO2004099934A2 (en) | Apparatus and method for processing service interactions | |
CN110088751A (zh) | 与交互式对话服务界面整合的搜索结果 | |
US7139717B1 (en) | System for dialog management | |
KR20110127180A (ko) | 음성 통신을 이용하여 호스팅된 서비스에 인터렉티브하게 액세스하는 시스템 및 방법 | |
CN111145745A (zh) | 对话流程定制方法及装置 | |
CN110138986A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190503 |