CN117234708A - 经计算设备的用户界面设备自动发起和适配与用户的对话 - Google Patents

经计算设备的用户界面设备自动发起和适配与用户的对话 Download PDF

Info

Publication number
CN117234708A
CN117234708A CN202311118733.0A CN202311118733A CN117234708A CN 117234708 A CN117234708 A CN 117234708A CN 202311118733 A CN202311118733 A CN 202311118733A CN 117234708 A CN117234708 A CN 117234708A
Authority
CN
China
Prior art keywords
user
task
determining
entity
dialog
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
CN202311118733.0A
Other languages
English (en)
Inventor
张光强
周百谅
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Publication of CN117234708A publication Critical patent/CN117234708A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • 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
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72457User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Abstract

公开了经计算设备的用户界面设备自动发起和适配与用户的对话。涉及利用自动消息传递系统来发起和/或适配与至少一个用户的对话的方法和装置,其中,对话经由用户的至少一个计算设备的用户界面输入和输出设备发生。在这些实现中的一些中,自动消息传递系统识别与用户相关联的至少一个任务,并基于识别任务来发起与用户的对话。自动消息传递系统可以发起对话以向用户提供与任务相关的附加信息和/或基于在对话期间提供的用户输入来确定任务的一个或多个参数的值。在一些实现中,自动消息传递系统还可以利用在对话期间确定的参数来发起任务的执行。

Description

经计算设备的用户界面设备自动发起和适配与用户的对话
分案说明
本申请属于申请日为2016年12月27日的中国发明专利申请No.201680085752.X的分案申请。
技术领域
本申请基本上涉及经由用户的计算设备的用户界面设备自动发起和适配与用户的对话。
背景技术
一些因特网平台可以使用户能够执行与特定服务实体相关联的一个或多个动作。然而,该平台通常要求用户在选择一个或多个动作的标准之前明确地标识特定服务实体和/或在选择一个或多个动作的标准时选择结构化选项。例如,用户可以通过导航到特定餐馆的网页并从网页的下拉用户界面菜单中选择时间、日期和人数来预订在所述特定餐馆的预留。而且,例如,用户可以通过导航到该企业的网页并从网页的用户界面元素中呈现的可用选项中选择约会的时间、日期和类型来安排与企业的约会。
然而,这些和/或其他技术可能遭受一个或多个缺点。例如,他们可能要求用户首先识别特定服务实体,并且然后提供针对该特定服务实体的动作执行的结构化输入。对于可能不知道任务可执行和/或可以利用哪些服务实体来执行任务的某些用户来说,这可能是困难的任务。而且,例如,它们可能无法指定由用户通过自由形式自然语言输入来执行的动作的一个或多个(例如,所有)标准。而且,例如,它们可以利用不适合于用户意图的固定结构化字段,该用户意图例如是基于在尝试执行动作中的用户输入确定的意图和/或基于过去用户动作和/或其他来源确定的意图。可以呈现额外的和/或替代的缺点。
发明内容
本说明书的实现涉及利用自动消息传递系统来发起和/或适配与至少一个用户的对话,其中,所述对话经由用户的至少一个计算设备的用户界面输入和输出设备发生。在这些实现中的一些实现中,自动消息传递系统识别与用户相关联的至少一个任务,并基于识别任务来发起与用户的对话。自动消息传递系统可以发起对话以向用户提供与任务相关的附加信息和/或基于在对话期间提供的用户输入来确定任务的一个或多个参数的值。在一些实现中,自动消息传递系统还可以利用在对话期间确定的参数来发起任务的执行。自动消息传递系统发起对话可能对某些用户有益,这些用户可能不知道该任务是可执行的和/或哪些服务实体可用于执行该任务。例如,到新位置的旅行者、到新位置的移民等可能完全不知道与新位置相关的某些任务甚至可执行和/或可能不知道可以利用自动消息传递系统来发起某些任务的执行。此外,与用户尝试使用常规手段执行任务的情况相比,可以用更少的用户输入来执行任务。例如,不需要用户打开多个应用来执行任务的不同方面。除了对不熟悉哪些服务实体可用和/或哪些任务可执行的用户有益之外,该系统对于具有低灵活性的用户或者否则难以向设备进行用户输入的用户可能特别有益。对于至少这些用户,提供对话可以例如通过减少用户因灵活性低而出错提高设备使用的可靠性和速度。
在一些实现中,自动消息传递系统可以在对话期间生成问题或其他提示,该问题或其他提示从用户请求特定信息,并且自动消息传递系统可以基于用户在对话期间提供的用户界面输入来主动地适配提示。在这些实现中的一些实现中,在与用户对话期间由自动消息传递系统生成的提示可以被配置为从用户提取任务的必要和/或期望参数的值,并且可以在对话期间基于对话期间用户的响应而被适配。由自动消息传递系统生成的至少一些提示可以是自然语言提示,并且在对话期间由用户提供的至少一些用户界面输入可以是自然语言自由形式输入。允许自然语言自由形式输入是有益的,因为它使系统更易于使用,特别是对于使用输入设备缺乏经验或灵活性差的用户。如这里所使用的,自由形式输入是由用户制定并且不限于被呈现以由用户选择的一组选项的输入。
在一些实现中,在参与与用户的对话中,自动消息传递系统可以基于为一个或多个服务实体配置的一个或多个协议生成一个或多个提示。例如,协议可以包括:适用于作为相同类的成员的多个服务实体的“通用”协议;和/或,适用于比通用协议更狭窄地定制的组的“特定”协议(例如,针对诸如类的特定服务实体的类的子集定制的)。
在一些实现中,在参与与用户的对话中,自动消息传递系统可以基于本地语言数据库的一个或多个条目生成用于呈现给用户的内容。在一些实现中,本地语言数据库可以包括针对一个或多个地理区域和/或语言中的每一个的条目,其定义:在该地理区域和/或语言中以对话方式使用的语言段(例如,句子、短语和/或术语);以及可选地,与那些语言段相关联的任务的指示。
在各种实现中,在生成要呈现给用户的内容时,自动消息传递系统可以识别用户的语言(例如,基于存储的用户的属性、在在用户的计算设备上执行的消息传递客户端中使用的语言)。系统可以确定与任务相关并且使用源语言的内容,将该内容翻译成用户的语言,并提供翻译的内容以呈现给用户。而且,在各种实现中,在与用户的对话中从用户接收的用户输入可以是用户的语言的自由形式自然语言输入。在这些实现中的一些实现中,自动消息传递系统可以将该输入从用户语言翻译成系统的优选语言和/或与任务相关联的服务实体的优选语言。
在一些实现中,提供了由与自动消息传递系统相关联的一个或多个处理器执行的方法,其包括识别用户的至少一个任务,所述任务指示至少一个动作以及与该动作相关联的至少一个实体。该方法还包括发起与用户的对话,其中,所述对话与任务相关。所述发起基于识别所述任务是经由自动消息传递系统,并且包括提供针对任务定制的内容以用于经由用户的计算设备的用户界面输出设备向用户呈现。该方法还包括:响应于所述提供,接收继续对话并且由用户经由计算设备的用户界面输入设备制定的自由形式自然语言输入;生成针对任务定制并且基于自然语言输入的附加内容;并且继续对话,提供附加内容以用于经由用户界面输出设备向用户呈现。
本文公开的技术的这些和其他实现可以可选地包括以下特征中的一个或多个。
在一些实现中,该方法还包括:确定用户出现在某个位置:基于任务与该位置相关联来识别任务;以及,基于确定用户出现在所述位置处并且任务与位置相关联而将该任务分配给用户。
在一些实现中,该方法还包括:确定用户出现在某个位置,并且该位置对于用户来说不是熟悉的位置;基于该任务与不熟悉该位置的个人相关联来识别该任务;并且,基于确定用户不熟悉该位置并且该任务与不熟悉该位置的个人相关联,将任务分配给用户。
在一些实现中,该方法还包括:识别针对任务定制并且使用源语言的源语言内容;识别与源语言不同的用户的语言;并通过将源语言内容从源语言翻译为用户的语言来生成内容。
在一些实现中,该方法还包括:识别定义与任务的执行相关的多个参数的协议并生成内容或附加内容以请求与参数的一个或多个的组相关的输入。
在一些实现中,由动作指示的实体是服务实体,并且第一自然语言输入和第二自然语言输入均使用用户的本地语言。在这些实现中的一些中,该方法还包括:识别服务实体的优选语言;将第一自然语言输入和第二自然语言输入中的至少一些从本地语言翻译成优选语言;并向服务实体提供翻译的自然语言输入。
在一些实现中,该方法还包括基于与实体的位置相对应的用户的当前位置将至少一个任务分配给用户。在这些实现中的一些实现中,针对任务定制的内容包括与任务相关联的在实体处所说的常用短语,自然语言输入是口头说出常用短语的尝试的音频,并且第二内容是基于音频的分析的反馈。
在一些实现中,该方法还包括:识别定义与实体的动作的执行相关的多个参数的协议;并生成附加内容以请求参数的一个或多个的组。在这些实现中的一些实现中,该方法还包括:响应于提供附加内容,接收继续对话并且由用户经由用户界面输入设备制定的附加自由形式自然语言输入;并且,基于附加自由形式自然语言输入确定一个或多个参数的一个或多个值。在那些实现的一些版本中,该方法还包括使用所确定的一个或多个值发起该实体的动作。
在一些实现中,该方法还包括独立于由用户提供给自动消息传递系统的任何用户界面输入而将任务分配给用户。在这些实现中的一些实现中,发起对话是响应于针对自动消息传递系统的用户界面输入,其中,该用户界面输入未明确地识别任务。
在一些实现中,提供附加内容以用于向用户呈现包括提供附加内容以用于与内容的同时显示。与内容的同时显示可以经由由计算设备渲染的图形用户界面进行的。在这些实现中的一些实现中,提供附加内容以用于向用户呈现包括提供附加内容以用于与自然语言输入的同时显示。与自然语言输入的同时显示可以是经由计算设备渲染的图形用户界面进行的。在这些实现中的一些实现中,自动消息传递系统至少部分地实现在远离用户的计算设备的一个或多个计算设备上。
另外,一些实现包括一个或多个计算设备的一个或多个处理器,其中,一个或多个处理器可操作以执行存储在相关存储器中的指令,并且其中,指令被配置为使得执行任何前述方法。一些实现还包括存储可由一个或多个处理器执行以执行任何前述方法的计算机指令的非暂时性计算机可读存储介质。
应当理解,本文更详细描述的前述概念和附加概念的所有组合都被认为是本文公开的主题的一部分。例如,出现在本公开结束处的所要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
图1是其中可以实现本文公开的实现的示例环境的框图。
图2A示出了基于用户的任务向用户的消息交换客户端提供任务相关内容以经由消息交换客户端发起与用户的对话的示例。
图2B示出了通过下述方式继续在图2A中发起的对话的示例:基于用户的任务并基于用户在对话的继续中提供的自然语言输入生成附加任务相关内容,并将附加任务相关内容提供给消息交换客户端。
图3A示出了示例客户端计算设备,其具有显示可在客户端计算设备的用户与根据本文描述的实现的自动消息传递系统之间发生的对话的示例的显示屏幕。
图3B示出了图3A的示例客户端计算设备,其具有显示可在客户端计算设备的用户与根据本文描述的实现的自动消息传递系统之间发生的对话的另一示例的显示屏幕。
图4示出了图3A和3B的示例客户端计算设备,其具有显示可在客户端计算设备的用户与根据本文描述的实现的自动消息传递系统之间发生的的对话的又一示例的显示屏幕。
图5是示出下述示例方法的流程图:基于用户的任务发起与用户的对话,基于用户在对话期间提供的自然语言输入来适配对话,并且可选地利用对话期间解析的一个或多个参数发起任务的执行。
图6示出了计算设备的示例架构。
具体实施方式
本说明书的实现涉及利用自动消息传递系统来发起和/或适配与至少一个用户的对话,其中,对话通过用户的计算设备的用户界面输入和输出设备发生。在这些实现中的一些中,自动消息传递系统识别与用户相关联的至少一个任务(例如,指示至少一个动作和与该动作相关联的至少一个实体(例如,服务实体)的任务)并且基于识别该任务来发起与用户的对话。自动消息传递系统可以发起对话以向用户提供与任务相关的附加信息和/或基于在对话期间提供的用户输入来确定任务的一个或多个参数的值。在一些实现中,自动消息传递系统可以利用在对话期间确定的参数值来进一步发起任务的执行。
在一些实现中,自动消息传递系统可以在对话期间生成问题或其他提示,该问题或其他提示从用户请求特定信息,并且自动消息传递系统可以基于用户在对话期间提供的用户界面输入来主动地适配提示。在这些实现中的一些实现中,在与用户的对话期间由自动消息传递系统生成的提示可以被配置为从用户提取任务的必要和/或期望参数的值,并且可以基于在对话期间用户的响应在对话期间被适配。
在一些实现中,在参与与用户的对话中,自动消息传递系统可以基于为一个或多个服务实体配置的一个或多个协议和/或基于本地语言数据库的一个或多个条目来生成一个或多个提示。
在各种实现中,在生成要呈现给用户的内容时,自动消息传递系统可以识别与任务相关并且使用源语言的内容,将该内容翻译成作为用户的语言的不同语言,以及提供翻译的内容以供呈现给用户。而且,在各种实现中,在与用户的对话中从用户接收的用户输入可以使用用户的语言,并且自动消息传递系统可以将输入翻译成与任务相关联的服务实体的优选语言。
现在转向图1,示出了其中可以实现本文公开的技术的示例环境。示例环境包括多个客户端计算设备1061-N和自动消息传递系统120。尽管图1中将自动消息传递系统120示出为与客户端计算设备1061-N分开,但是在一些实现中,自动消息传递系统120的全部或多个方面可以由客户端计算设备1061-N中的一个或多个来实现。例如,客户端设备1061可以实现自动消息传递系统120的一个实例或多个方面,并且客户端设备106N还可以实现自动消息传递系统120的那些一个或多个方面的单独实例。在其中由远离客户端计算设备1061-N的一个或多个计算设备实现自动消息传递系统120的一个或多个方面的实现中,客户端计算设备1061-N和自动消息传递系统120的那些方面可以经由诸如局域网(LAN)和/或广域网(WAN)(例如,因特网)的一个或多个网络进行通信。
客户端计算设备1061-N可以包括例如以下中的一个或多个:桌面计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)或包括计算设备的用户的可穿戴设备(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)。可以提供附加的和/或替代的客户端计算设备。在一些实现中,给定用户可以利用多个客户端计算设备与自动消息传递系统120通信,所述多个客户端计算设备共同形成计算设备的协调“生态系统”。然而,为了简洁起见,本公开中描述的示例将集中于用户操作单个客户端计算设备106。
客户端计算设备1061-N中的每一个可以操作各种不同的应用,例如消息交换客户端1071-N中的对应的一个。消息交换客户端1071-N可以以各种形式出现,并且该形式可以在客户端计算设备1061-N之间变化,并且/或者可以在客户端计算设备1061-N中的单个客户端计算设备上操作多种形式。在一些实现中,消息交换客户端1071-N中的一个或多个可以以短消息服务(“SMS”)和/或多媒体消息服务(“MMS”)客户端、在线聊天客户端(例如,即时消息(instant messenger)、因特网中继聊天(Internet relay chat)或“IRC”等)、与社交网络相关联的消息传递应用、专用于与自动消息传递系统120的对话的个人助理消息传递服务等等。在一些实现中,消息交换客户端1071-N中的一个或多个可以经由网页或由web浏览器(未示出)或客户端计算设备的其他应用呈现的其他资源来实现。
如本文更详细描述的,在各种实现中,自动消息传递系统120识别与客户端计算设备1061-N之一的用户相关联的任务,并通过提供用于经由客户端计算设备呈现给用户的针对任务定制的内容来发起与该任务相关的和用户的对话。自动消息传递系统120对于与任务相关的对话的“发起”不一定意味着用户未参与与系统120的任何对话并且/或者用户未提供导致系统120发起对话的任何输入。相反,这意味着在系统发起与任务相关的对话之前,与自动消息传递系统120的任何正在进行的对话都没有明确地涉及该任务。例如,用户可以参与与自动消息传递系统的对话以获得关于当天的新闻、天气等的更新—并且系统120可以在这种参与期间发起与任务相关的对话。在一些实现中,自动消息传递系统120可以发起与任务相关的与用户的对话,而用户没有直接向自动消息传递系统120提供与任务相关的任何输入(例如,在与系统120的先前对话中的自然语言输入)。例如,自动消息传递系统120可以基于用户与其他系统(例如,电子邮件系统、搜索引擎、日历系统和/或与自动消息传递系统120分开的其他系统)的交互来发起基于用户的当前和/或过去位置的对话。
客户端计算设备1061-N中的每一个和自动消息传递系统120可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据和执行应用的一个或多个处理器以及促进通过网络进行通信的其他组件。由一个或多个客户端计算设备1061-N和/或由自动消息传递系统120执行的操作可以分布在多个计算机系统上。自动消息传递系统120可以被实现为例如在通过网络彼此耦合的一个或多个位置中的一个或多个计算机上运行的计算机程序。
自动消息传递系统120可以包括自然语言处理器122、用户属性引擎124、任务引擎126、翻译引擎128、消息生成引擎130和任务参数模块132。在一些实现中,可以省略引擎122、124、126、128、130和/或模块132的一个或多个。在一些实现中,可以组合引擎122、124、126、128、130和/或模块132中的一个或多个的全部或多个方面。在一些实现中,引擎122、124、126、128、130和/或模块132中的一个或多个可以在与自动消息传递系统120分开的组件中实现。例如,可以在由客户端计算设备1061-N执行的组件中实现122、124、126、128、130和/或132中的一个或多个或其任何操作部分。
自然语言处理器122处理由用户经由客户端计算设备1061-N生成的自然语言输入,并生成注释输出以供自动消息传递系统120的一个或多个其他组件使用。例如,自然语言处理器122可以处理由用户通过客户端设备1061的一个或多个用户界面输入设备生成的自然语言自由形式输入。生成的注释输出包括自然语言输入的一个或多个注释以及可选地包括自然语言输入的一个或多个(例如,所有)术语。
在一些实现中,自然语言处理器122被配置为在自然语言输入中识别和注释各种类型的语法信息。例如,自然语言处理器122可以包括词性标注器,其被配置为用其语法角色注释术语。例如,词性标注器可以用其词性标记每个术语,例如“名词”、“动词”、“形容词”、“代词”等。此外,例如,在一些实现中,自然语言处理器122可以附加地和/或替代地包括依存句法分析器,其被配置为确定在使用自然语言输入的术语之间的句法关系。例如,依存句法分析器可以确定哪些术语修改其他术语以及句子的主语和动词等等(例如,句法分析树)——并且可以对这种依存进行注释。
在一些实现中,自然语言处理器122可以附加地和/或替代地包括实体标记器,该实体标记器被配置为在一个或多个段中注释实体引用,诸如对人、组织和位置等的引用。实体标记器可以以高粒度级别(例如,以使得能够识别对诸如人的实体类的所有引用)和/或较低粒度级别(例如,以使得能够识别对诸如特定的人的特定的实体的所有引用)注释对实体的引用。实体标记器可以依赖于自然语言输入的内容来解析特定实体和/或可以可选地与知识图或其他实体数据库通信以解析特定实体。
在一些实现中,自然语言处理器122可以附加地和/或替代地包括共引用解析器,其被配置为基于一个或多个上下文提示将对相同实体的引用进行分组或“聚类”。例如,可以利用共引用解析器将自然语言输入“我喜欢亚洲村。请预订它。”中的词语“它”解析为“亚洲村”。
在一些实现中,自然语言处理器122的一个或多个组件可以依赖于来自自然语言处理器122的一个或多个其他组件的注释。例如,在一些实现中,命名实体标记器可以依赖于来自共引用解析器和/或依存句法分析器的注释来注释对于特定实体的所有提及。而且,例如,在一些实现中,共引用解析器可以依赖于来自依存句法分析器的注释来聚类对同一实体的引用。在一些实现中,在处理特定自然语言输入时,自然语言处理器122的一个或多个组件可以使用特定自然语言输入之外的相关先前输入和/或其他相关数据来确定一个或多个注释。例如,与自动助理的对话中的用户的第一消息可以是“他们明天中午有约会吗”,并且用户的后续消息可以是“当时预订它”。在处理“当时预订它”时,共引用解析器可以将“它”解析为“约会”并且可以利用“他们明天中午有约会吗”的先前输入将“当时”解析为“明天中午”。
用户属性引擎124确定参与与自动消息传递系统120的对话和/或自动消息传递系统120可以与其发起对话的用户的一个或多个属性,并将这些属性提供给自动消息传递系统120的一个或多个其他组件。自动消息传递系统120的其他组件可以利用这些属性,以例如确定分配给用户的任务、确定任务的一个或多个参数的值、确定何时发起与用户的对话、生成与一个或多个用户的对话的输出和/或确定是否翻译提供给用户的自然语言输出。用户属性引擎124与可以存储一个或多个用户属性的用户属性数据库152通信。在各种实现中,用户属性引擎124和/或用户属性数据库152可以全部或部分地在客户端计算设备1061-N上实现和/或可以基于客户端计算设备1061-N提供的数据确定一个或多个用户属性。可由用户属性引擎124确定的用户属性的一些示例包括用户的当前位置(例如,基于GPS或其他位置数据)、用户的一个或多个过去位置(例如,用户的“家”、用户先前访问过的位置)、用户的语言、用户的时间约束(例如,基于用户的电子日历)以及用户的用户简档(例如,基于跨多个互联网服务的用户活动)。
任务引擎126为用户识别任务并向消息生成引擎130提供与该任务相关的信息(例如,用于该任务的动作和/或一个或多个服务实体的标识符、用于该任务的一个或多个预定的参数值)并且可选地向消息生成引擎130提供何时适合于引擎130发起与用户的任务相关对话的指示。任务引擎126可以利用各种资源中的一个或多个来确定用户的任务,例如任务数据库154、用户属性引擎124提供的用户属性和/或用户提供给自动消息传递系统120的过去自然语言输入。
任务数据库154可以在一个或多个非暂时性计算机可读介质上提供,并且可以定义多个任务,每个任务指示至少一个动作和与该动作相关联的至少一个实体。任务的一些示例包括安排与政府机构的约会、从企业请求服务、从企业订购产品、在餐馆订购食物、通过出租车获得交通、与客户会面、建立公用事业服务、购买电影票等。可以在任务数据库154中以各种粒度级别定义任务。例如,任务可以被定义为“安排与任何政府机构的任何约会”或更狭义地定义为“安排与特定政府机构的约会”或“安排与特定政府机构的特定类型的约会”。在一些实现中,任务数据库154的一个或多个任务可以各自与一个或多个特定用户相关联和/或任务数据库154的一个或多个任务可以与可以实例化任务的一个或多个特定标准相关联。在一些实现中,任务数据库154的全部或多个方面可以合并为客户端计算设备1061-N中的一个或多个的一部分。
在一些实现中,任务引擎126可以在任务数据库154中基于已经与用户相关联的任务来识别用户的任务。例如,任务数据库154可以包括一个或多个条目,其特定于用户,并且可以响应于由用户进行和/或涉及用户的一个或多个基于计算的动作来创建,该动作例如是由用户经由用户使用的一个或多个客户端计算设备1061-N执行的一个或多个动作。例如,任务数据库154可以包括一个或多个日历条目、提醒条目和/或对用户个人化并且可以由用户通过用户与计算设备的一个或多个应用(例如,日历应用)的交互有意创建的其他条目(例如,未经用户许可不能被其他用户访问)。
而且,例如,任务数据库154可以包括一个或多个条目,这些条目不是由用户有意创建的,而是由一个或多个计算设备基于用户通过客户端计算设备1061-N中的一个或多个执行的一个或多个动作来推断创建的。例如,假设用户已执行与移除旧家具相关的多个互联网搜索,例如搜索“我如何摆脱旧家具”、“谁收家具”和“家具移除”。在这样的示例中,可以可选地在任务数据库154中为用户创建用于家具去除任务的条目,而无需用户有意创建条目。作为又一个实例,任务数据库154可以包括一个或多个条目,这些条目不是由用户有意创建的,而是基于涉及用户的一个或多个计算动作(例如,基于发送给用户的电子邮件的内容、文本消息或其他通信)创建的。
在一些实现中,任务引擎126可以在任务数据库154中在没有任务已经与用户相关联的情况下标识用户的任务。例如,在一些实现中,任务数据库154可以包括与可以实例化任务的一个或多个标准相关联的任务。基于那些标准和用户属性引擎124提供的用户属性之间的一致性,任务引擎126可以将这些任务之一确定为用户的任务。例如,任务数据库154可以包括“订购食物”的任务,其与下述标准相关联:在餐馆中,以及在主要语言不是用户所说的语言和/或不是用户的主要语言的位置。任务引擎126可以基于用户属性引擎124提供的用户属性来识别用户的“订购食物”任务,该用户属性指示用户的当前位置在餐馆中并且当前位置在使用不是用户所说的语言的地理区域中。作为另一示例,任务数据库154可以包括调度与特定城市的免费垃圾移除的任务,其与作为到该特定城市的新搬迁者的标准相关联。任务引擎126可以基于由用户属性引擎124提供的指示用户最近移动到该特定城市的用户属性来识别“调度免费垃圾移除”任务。作为又一个示例,任务数据库154可以包括在特定城市中购买地铁票的任务,其与作为到该特定城市的新访客的标准相关联。任务引擎126可以基于用户属性引擎124提供的用户属性来识别“购买地铁票”任务,该用户属性指示用户存在于特定城市中并且之前没有访问过该特定城市。
翻译引擎128可以将用户提供的自然语言输入翻译成另一种语言和/或可以将由消息生成引擎130生成的自然语言输出翻译成该输出的接收者用户所说的语言(例如,接收者用户的本地语言)。在一些实现中,翻译引擎128可以利用由用户属性引擎124提供的一个或多个用户属性来确定用户所说的语言,例如用户的本地语言。
在一些实现中,消息生成引擎130经由用户的关联客户端计算设备发起与用户的任务相关对话,并基于识别任务被分配给用户来发起对话。例如,消息生成引擎130可以基于由任务引擎126提供的指示该任务是用户的任务的输出来发起与任务相关的对话。如关于翻译引擎128所描述的,在各种实现中,消息生成引擎130可以经由翻译引擎128参与与用户的对话。例如,引擎128可以在由消息生成引擎130生成的自然语言输出被呈现给用户之前翻译它,和/或,可以在将由用户制定的自然语言输入提供给消息生成引擎130之前和/或在将其提供给服务实体作为通信的一部分以发起与服务实体的任务之前翻译它。
消息生成引擎130可以发起任务相关对话以向用户提供与任务相关的附加信息和/或基于在对话期间提供的用户输入来确定任务的一个或多个参数的值。在一些实现中,消息生成引擎130可以在对话期间生成问题或其他提示,其被配置为从用户提取任务的必要和/或期望参数的值,并且可以在对话期间基于用户在对话期间的响应被适配。
消息生成引擎130利用一个或多个资源来生成问题或其他提示以从用户请求信息。例如,消息生成引擎130可以利用用户在对话期间的当前和/或过去的自然语言输入、由自然语言处理器122提供的该输入的注释、由用户属性引擎124提供的用户属性、任务引擎126提供的任务参数的值或其他任务信息、实体协议数据库156的实体协议和/或本地语言数据库158的一个或多个条目。消息生成引擎130可以包括任务参数模块132,其确定任务的什么参数已由用户在对话期间提供的自然语言输入有效地指定,并存储与任务相关联的那些参数的值。消息生成引擎130可以利用这样的存储的值来防止生成自然语言输出,该自然语言输出提示用户指定已经为该任务有效指定的任务的任何参数。任务参数模块132还可以将任务和任务的参数的值(由任务引擎126确定和/或在对话期间确定的参数的值)传送到一个或多个其他计算系统以发起任务的执行。
实体协议数据库156可以被设置在一个或多个非暂时性计算机可读介质上,并且定义多个协议,每个协议适用于一个或多个实体和/或任务的一个或多个动作。每个协议定义一个或多个必要和/或期望的参数,以执行任务的相关联的动作和/或利用相关联的服务实体/实体执行相关联的动作。例如,第一协议可以是与餐馆预订动作相关联并且与进行预订的所有餐馆相关联的一般协议。第一协议可以定义动作的必要参数,例如预约日期、预约时间和预约人数。而且,例如,第二协议可以是与餐馆预订动作相关联并且与进行预订的餐馆(例如,特定餐馆)的子集相关联的第二协议。第二协议可以定义特定餐馆的必要和/或期望参数,诸如用户是否想要室内或室外座位、展位或桌子、用户是否具有饮食限制等。
本地语言数据库158可以被设置在一个或多个非暂时性计算机可读介质上,并且对于一个或多个地理区域和/或语言中的每一个,包括定义下述部分的条目:在该地理区域和/或语言中以对话方式使用的语言段(例如,句子、短语和/或术语);以及可选择地,与这些语言段相关联的任务。例如,美国境内地理区域的条目可能包括以下条目:“我想搭乘去[位置]”、“到[位置]的估计票价是多少”、“为搭乘谢谢你”,所有这些都与一个或多个任务相关联,例如从出租车司机获得交通的任务。此外,例如,美国境内的地理区域的条目可以包括以下条目:“我想订购[食物]”,其与访问餐馆任务、订购食品任务和/或其他任务相关联;“你能告诉我洗手间在哪里吗?”,其与访问餐馆任务、访问服务实体任务和/或其他任务相关联等等。注意,前面示例中括号“[]”中的词语表示一类词,其可以由消息生成引擎130使用该类的描述和/或使用作为该类的成员并且可以基于用户提供的自然语言输入来确定的一个或多个特定词“填充”。本地语言数据库158的语言段可以包括文本段,并且还可以包括可听文件和/或到可听文件的链接,例如“.wav”文件、“.mp3”文件、“.mpeg”文件和/或其他格式的文件,该其他格式的文件当由计算设备执行时,使计算设备生成相应的音频输出。
消息生成引擎130可以利用本地语言数据库158的条目来确定在发起和/或继续与任务相关的对话时提供给用户的内容。例如,如本文更详细描述的,对于用户的给定任务,消息生成引擎130可以识别与数据库158中的该任务相关联并且与用户的当前位置相关联和/或与用户的当前位置的语言相关联的一个或多个语言段。消息生成引擎130可以向用户可听地和/或可视地呈现那些语言段作为在发起与任务相关的与用户的对话时提供的内容的一部分和/或作为在与用户的任务相关对话的继续中提供的附加内容的一部分。
现在转向图2A和图2B,提供了自动消息传递系统120和消息交换客户端1071的各种组件的附加描述。图2A和图2B的一些描述提供有来自图3A的示例。图3A示出了图1的计算设备1061,其具有显示屏140,其显示可在客户端计算设备1061的用户与根据本文描述的实现的自动消息传递系统120之间发生的对话的示例。特别地,该对话包括任务相关内容390A、390B、390C和390D(其每个可由根据本文描述的实现的自动消息传递系统120生成)并且包括用户输入380A和380B。显示屏140还包括:文本回复界面元素384,用户可以选择其以通过虚拟键盘生成用户输入;以及,语音回复界面元素385,用户可以选择其以通过麦克风生成用户输入。显示屏140还包括系统界面元素381、382、383,其可以由用户与之交互以使计算设备1061执行一个或多个动作。
图2A示出了基于用户的任务202向用户的消息交换客户端1071提供任务相关内容203A以经由消息交换客户端1071发起与用户的对话的示例。
在图2A中,任务引擎126基于任务数据库154和/或基于用户属性引擎124提供的一个或多个用户属性201来识别用户的任务202。任务引擎126将任务202提供给消息生成引擎130。
作为工作示例,假设任务引擎126确定“移除旧家具”的任务202,其指示“移除家具”的动作并且指示用于该动作的“桑尼维尔市”的特定服务实体。在工作示例的一些实现中,任务引擎126可以基于在任务数据库154中的与用户相关联的任务和/或基于用户属性引擎124提供的用户属性201来识别任务。
例如,假设用户已经向单独的搜索引擎提交了与移除家具相关的多个搜索,例如搜索“如何摆脱家具”、“谁收家具”和“家具移除”。在这样的示例中,一般家具移除任务可以可选地基于那些搜索在任务数据库154中与用户相关联。在工作示例的一些实现中,任务引擎126可以基于由用户属性引擎124提供的用户属性201将桑尼维尔市识别为用于家具移除任务的特定服务实体。例如,任务引擎126可以基于用户属性201确定用户是桑尼维尔市的居民,并且可以进一步基于任务数据库154和/或其他资源确定桑尼维尔市的家具移除任务与作为该特定城市的居民的强制性标准相关联。而且,例如,任务引擎126可以基于用户属性201确定用户是向桑尼维尔市的新搬迁者,并且还可以基于任务数据库154和/或其他资源确定桑尼维尔市的家具移除任务与作为向该特定城市的新搬迁者的可选标准相关联(例如,因为新搬迁者可能还不熟悉该城市的服务)。基于用户属性201与桑尼维尔市的家具移除任务的标准之间的一致性,任务引擎126可以将该任务识别为用户的任务。
消息生成引擎130利用任务202来识别来自实体协议数据库156的实体协议和/或来自本地语言数据库158的语言段,以用于生成任务相关内容203A。在一些实现中,任务相关内容203A是自然语言输出,诸如是从用户请求用户界面输入以用于确定用户是否想要帮助执行任务(例如,自然语言输出“看来你需要执行[任务]。你想要我帮忙吗?”)和/或确定任务202的必要和/或所需参数((例如,自然语言输出“看来你需要的执行[任务]。我可以帮忙。如果是的话,让我知道[任务参数]”)的提示的自然语言输出。
任务相关内容203A被提供给消息交换客户端1071,用于经由客户端计算设备1061的用户界面输出设备向用户进行可听和/或视觉呈现。在一些实现中,任务相关内容203A是自然语言输出,并且该输出由翻译引擎128翻译成消息交换客户端1071的用户的语言。在那些实现中,翻译的输出被提供给消息交换客户端1071。在一些其他实现中,消息交换客户端1071可以合并翻译引擎128并执行翻译。
在一些实现中,消息生成引擎130利用由任务202指示的动作和/或实体来确定用于生成自动消息的实体协议。例如,对于指示餐馆候选实体的餐馆预订动作的“进行餐馆预订”任务,引擎130可以识别适用于用于进行预订的所有餐馆的一般实体协议。可以基于将一般实体协议在实体协议数据库156中分配给“进行餐馆预订”动作和/或“餐馆”实体来识别一般实体协议。一般实体协议可以定义一个或多个必要和/或期望的、用于执行任务的参数,例如:预订日期、预订时间、预订人数和用于预订的餐馆。引擎130可以生成任务相关内容203A以请求关于那些参数中的一个或多个的信息。在一些实现中,一般实体协议和/或其他协议的一个或多个参数可以包括或否则指示包含在那些参数的提示中的文本。例如,与预订人数相关的参数可以包括诸如“多少”或“多少人”的文本。
在一些实现中,消息生成引擎130包括任务参数模块132,其确定任务202已经指定了哪些参数(如果有的话)。例如,任务202可以由任务引擎126提供已经指定的一个或多个参数的值,诸如用于执行任务202的特定服务实体。消息生成引擎130可以利用一个或多个已经指定的参数来防止生成提示用户指定已经指定的参数的任务相关内容203A。
继续工作示例,消息生成引擎130可以响应于“移除旧家具”的任务202生成图3A的任务相关内容390A,该“移除旧家具”的任务202指示“移除家具”的动作并且指示用于该动作的“桑尼维尔市”的特定服务实体。在一些实现中,消息生成引擎130可以基于实体协议数据库156的协议来生成内容390A。例如,数据库156可以包括与“移除家具”的动作相关联并且与“桑尼维尔市”的特定服务实体相关联的特定实体协议。在这些实现中的一些实现中,协议可以包括内容390A的一些或全部自然语言文本以及应该提供文本以发起与任务相关的与用户的对话的指示。尽管在图3A中以英语示出了内容390A,但是在一些实现中,它可以由翻译引擎128翻译成另一种语言,并且翻译作为内容390A被提供给用户。
图2B示出了通过下述方式继续图2A中发起的对话的示例:基于任务202(图2A)(例如,基于基于任务选择的实体协议)并且基于用户在对话的继续中提供的自然语言输入204生成附加任务相关内容203B。附加任务相关内容203B被提供给消息交换客户端1071,以便向用户进行视觉和/或听觉呈现。
在图2B中,响应于图2A的任务相关内容203A,用户利用计算设备1061的一个或多个用户界面输入设备向消息交换客户端1071提供响应自然语言输入204,消息交换客户端1071将自然语言输入204发送到自然语言处理器122。自然语言输入204可以是如本文所述的自由形式输入,并且可以是例如由用户经由计算设备的物理或虚拟键盘提供的键入输入或由用户提供给计算设备的麦克风的口语输入。在其中自然语言输入204是口语输入的实现中,计算设备和/或自然语言处理器122可以可选地将其转录为文本输入。
继续所述工作示例,自然语言输入204可以是“当然!我有2张沙发和4把椅子”,如图3A的用户输入380A所示——并且可以由用户通过提供任务相关内容390A而在由消息生成引擎130发起的对话的继续中提供。
自然语言处理器122处理自然语言输入204并生成自然语言输入的各种注释。自然语言处理器122向消息生成引擎130提供注释输出(例如,自然语言输入204的术语和生成的注释)205。
继续工作示例,自然语言输入204可以是“当然!我有2张沙发和4把椅子”,如图3A的用户输入380A所示,并且自然语言处理器122可以将“当然!”注释为肯定响应,将“沙发”和“椅子”注释为家具实体,并将“2”注释为与“沙发”相关联的数量,并将“4”注释为与“椅子”相关联的单独数量。自然语言处理器122可以提供那些术语和/或注释中的一个或多个作为注释输入205。
消息生成引擎130利用注释输入205和来自实体协议数据库156的实体协议和/或来自本地语言数据库158的语言段用于生成附加任务相关内容203B。例如,消息生成引擎130可以分析注释输入205以确定注释输入205是否指示用户对于另一个任务相关内容的期望。例如,如果输入205指示对另一个任务相关内容的期望,则消息生成引擎130可以利用图2A中使用的实体协议以生成附加任务相关内容203B,其提示用户提供由实体协议定义的一个或多个期望和/或必要参数的值。如本文所述,任务参数模块132还可以确定动作的哪些参数(如果有的话)由自然语言输入204有效地指定(和/或已经由任务202指定),并且存储那些参数的指定值。消息生成引擎130可以利用模块132的确定来防止生成提示用户再次指定那些参数的附加任务相关内容203B。例如,在消息生成引擎130利用定义包括“约会日期”的参数的参数的协议的情况下,如果自然语言输入204指示特定日期并且特定日期对该参数有效,则模块132可以为该参数分配特定日期。基于该分配,引擎130可以忽略该参数,并且替代地基于其他参数生成附加任务相关内容203B。
继续工作示例,响应于接收到的“当然!我有2个沙发和4把椅子”的自然语言输入204,消息生成引擎130可以生成“对不起,每个集合仅允许两个项目”的附加任务相关内容203B。在一些实现中,引擎130可以基于由任务参数模块132提供的输入来生成内容203B。例如,模块132可以利用注释输入205来确定在自然语言输入204中指定了六个家具项用于具有两个家具项的最大值的(图2A中使用的协议的)参数——并向消息生成引擎130提供参数的指定值无效的指示。消息生成引擎130可以基于协议的参数并基于为协议中的该参数指定的最大值来生成内容390B。
附加任务相关内容203B被提供给消息交换客户端1071,用于经由客户端计算设备1061的用户界面输出设备向用户进行可听和/或视觉呈现。在一些实现中,附加任务相关内容203B是自然语言输出,并且该输出由翻译引擎128翻译成消息交换客户端1071的用户的语言。在那些实现中,翻译的输出被提供给消息交换客户端1071
继续工作示例,假设图2B的示例的另一个实例在消息生成引擎130已经提供了附加任务相关内容390B之后出现。特别地,假设用户提供图3A的另一个附加用户输入380B,其指示“好的。我先做2个沙发”。在这些实现中的一些实现中,消息生成引擎130可以生成图3A的另一个附加任务相关内容390C。例如,任务参数模块132可以确定用户输入380B指示协议的家具项参数的数量的有效值(两个),并且消息生成引擎130可以生成图3A的附加任务相关内容390C,以请求对于尚未分配有效值的协议的“约会日期”参数的用户输入。
附加任务相关内容390C包括可以在协议中被确定(例如,在协议中被定义)的与约会日期参数相关的信息(例如,“您将需要在家中”),包括提示(“您想要哪个日期”),并包括约会日期参数的有效值(日期)的三个可选选项。在一些实现中,消息生成引擎130可以通过下述方式来确定可选择选项的日期:参考被更新以反映桑尼维尔市的可用服务日期的一个或多个数据库,向与桑尼维尔市相关联的计算系统和/或人发送通信,并在回复中接收日期和/或使用其他技术。
用户可以通过与其对应的图形元素的交互(例如,通过轻拍图形元素)和/或通过另一个的自然语言输入(例如,“请6月19日”)来选择可选选项之一。例如,如图3A中所示,假设用户“轻拍”或否则选择包括“6/19”的图形元素。该另一个输入可以被提供给消息生成引擎130,消息生成引擎130可以经由任务参数模块132确定已经用有效值指定了任务的所有参数。在响应中,消息生成引擎130可以提供另一个的附加任务相关内容390D,其指示任务已经被发起(“为6月19日保留”)并且提供与该任务相关的另一个信息(“确认信...收件箱”)。在一些实现中,任务参数模块132可以通过下述方式来发起任务:将任务的指定参数值传送到(例如,由桑尼维尔市控制的)一个或多个其他计算系统以通过那些计算系统和/或通过接收来自那些计算系统的用户界面输出的一个或多个人发起动作的执行。
图3B示出了图1的计算设备1061,其具有显示屏140,其显示可在客户端计算设备1061的用户与根据本文描述的实现的自动消息传递系统120之间发生的对话的另一示例。特别地,图3B示出了图3A的对话可能如何响应于用户提供与图3A中所示的不同的自然语言用户界面输入而不同的一个示例。换句话说,它示出了自动消息传递系统120如何可以基于在对话期间提供的用户界面输入来适配对话的一个示例。
在图3B中,自动消息传递系统120用与图3A的任务相关内容390A相同的任务相关内容390E发起对话。在图3B中,用户用仅包括“当然!”的输入380C进行响应,并且该输入380C没有指定像如图3A的输入380B中那样的项目的数量。自动消息传递系统120提供进一步的任务相关内容390F(其可以基于如图3A中的协议的参数的家具项数量来生成)但是包括不同的内容,由于与用户在图3A的输入380B中所做相同,用户未在输入380C中指定无效数量参数。
在图3B中,用户用“沙发和电视”的输入380D进行响应。消息生成引擎130用另一个任务相关内容390G“抱歉,没有电视。只是沙发或添加另一个项?”进行响应。该响应可以基于协议的另一参数,该参数指定电视不可移除。
图3B的对话继续另一个用户输入380E以及针对另一个用户输入380E定制的另一个任务相关内容390D。
现在转向图4,提供了利用本地语言数据库158生成任务相关内容的消息生成引擎130的另一个示例。图4示出了图1的计算设备1061,其具有显示屏140,用于显示可以在客户端计算设备1061的用户和根据本文描述的实现的自动消息传递系统120之间发生的对话的另一个示例。图4中的显示屏140还包括:文本回复界面元素484,用户可以选择其以经由虚拟键盘生成用户输入;以及,语音回复界面元素485,用户可以选择其以经由麦克风生成用户输入。显示屏140还包括系统界面元素481、482、483,其可以由用户与之交互以使计算设备1061执行一个或多个动作。
在图4中,任务引擎126已经识别出“在餐馆中订购食物”的任务,该任务指示动作“订购食物”并且指示服务实体“餐馆”用于该动作。在一些实现中,任务引擎126可以基于确定由用户属性引擎124提供的用户的一个或多个用户属性符合“在餐馆中订购食物”任务的一个或多个标准来识别“在餐馆中订购食物”任务。例如,假设“在餐馆中订购食物”任务包括在餐馆中并且在具有与用户的语言(例如,用户的主要语言)不同的主要语言的地理区域中的标准。进一步假设用户的用户属性指示用户在餐馆中并且餐馆位于其主要语言与用户的任何语言不同的地理区域中。例如,假设用户在说西班牙语的国家,并且用户所说的唯一语言是英语。任务引擎126可以基于用户属性和任务的标准之间的这种一致性来识别“在餐馆中订购食物”任务。
消息生成引擎130利用“在餐馆中订购食物”的任务来生成任务相关内容490A,其提示用户是否想要帮助执行任务(“您想要帮助订购吗?”)。
响应于图4的任务相关内容490A,用户利用计算设备1061的一个或多个用户界面输入设备来提供响应的自然语言输入480A“是。我想订购一些鸡”。
消息生成引擎130使用任务和用户的当前位置(如用户属性所指示的)来从本地语言数据库158中识别自然语言条目“Me gustaria[food]favor”。例如,该自然语言条目可以基于其在数据库158中与“订购食物”的任务相关联并且与对应于用户的当前位置的地理区域相关联而识别。消息生成引擎130生成内容490B,其包括基于自然语言条目的自然语言输出,并且其包括基于“pollo”是在输入480A中指示的“chicken”的翻译的替代占位符“[food]”的“pollo”。
内容490B还包括可选择的图形元素(“点击以听取示例”),其当被用户选择时,将经由计算设备1061的扬声器将“Me gustaria pollo favor”可听地呈现给用户。在一些实现中,“Me gustaria pollo favor”可以代替或补充“Me gustaria pollo favor”的显示而自动地可听地呈现给用户。
内容490C还包括可选择的图形元素(“点击此处以尝试说出来”),该图形元素当被用户选择时,将使得由用户提供的口头输入被计算设备1061的麦克风捕获。口头输入可以由自动消息传递系统120和/或其他组件分析,以确定它是否匹配“Me gustaria pollofavor”。如果匹配,则自动消息传递系统120可以经由另一个任务相关内容(未示出)向用户提供指示用户正确地叙述语言段的反馈。如果它不匹配,则自动消息传递可以通过另一个任务相关内容(未示出)向用户提供反馈,该反馈指示用户没有正确地叙述语言段,其指示不正确地叙述的术语,和/或其可听见地向用户提供短语和/或向用户提供另一个听到短语的机会。
尽管在图4中示出了利用来自本地语言数据库158的条目的特定示例,但是考虑了许多变化。例如,在一些实现中,响应于识别用户的任务,自动消息传递系统120可以通过下述方式来发起对话:提供一个或多个上下文适当的“外语”短语,而无需首先提示用户确认用户想要被提供这些短语。例如,图4的对话的发起可能是“看起来你在餐馆中。如果你想订购食物说'Me gustaria[the food you want],favor'。例如,订购鸡肉说'Me gustariapollo favor'”。对话的发起还可以可选地自动地可听地呈现至少一些内容和/或自动地收听用户叙述至少一些内容的尝试。
作为另一示例,基于用户位于具有与用户的主要语言不同的主要语言的地理区域中的餐馆(或者基于用户的日历条目,其指示用户将很快在这样的餐馆中),任务引擎126可以识别更一般的任务“在餐馆中通信”。此外,消息生成引擎130可以从本地语言数据库158识别与该任务相关的多个语言段,例如,语言段“gracias”(谢谢)、“donde esta el bano”(浴室在哪里)、“Me gustaria,[the food you want],favor”(我想要[你想要的食物])。消息生成引擎130可以用内容“让我知道您是否希望听到在餐馆中使用的有用的本地语言短语”发起对话。响应于肯定的用户输入,消息生成引擎130可以向用户呈现一个或多个所识别的语言段(例如,N个最流行的语言段)以及那些语言段的英语解释。
在图3A、图3B和图4中示出了用于参与对话的图形用户界面,并在本文的一些其他示例中描述了它。然而,在一些实现中,由自动消息传递系统120提供的提示可以被可听地(经由用户的计算设备的扬声器)传达给用户,而不必显示那些提示。此外,在那些实现的某些版本中,可以经由用户提供口头用户界面输入来提供用户输入。作为一个特定示例,在一些实现中,用户可以利用不包括任何显示器的计算设备与自动消息传递系统进行对话。
图5是示出下述示例方法500的流程图:基于用户的任务发起与用户的对话,基于用户在对话期间提供的自然语言输入来适配对话,并且可选地用在对话期间解析的一个或多个参数发起任务的执行。为方便起见,参考执行操作的系统描述流程图的操作。该系统可以包括各种计算机系统的各种组件,例如自动消息传递系统120。此外,虽然以特定顺序示出方法500的操作,但这并不意味着限制。可以重新排序、省略或添加一个或多个操作。
在框552处,系统识别用户的任务。
在框554,系统通过下述方式来发起与用户的对话:提供针对任务定制的内容以经由用户的计算设备的用户界面输出设备呈现给用户。在一些实现中,系统可以识别与任务相关联(例如,与任务指示的动作和/或实体相关联)的协议,并且可以基于协议生成内容。在一些实现中,系统可以识别与任务相关联的一个或多个语言段,并且可以基于语言段生成内容和/或可以生成内容以确定用户是否想要与语言段相关的附加任务内容。
在框556,响应于在框554处提供内容,系统接收由用户经由用户的计算设备(或用户的另一计算设备)的用户界面输入设备制定的自然语言输入。在一些实现中,自然语言输入是由用户经由用户界面输入设备制定的自由形式输入。
在框558,系统生成针对任务定制的并且基于在框556中接收的自然语言输入的附加内容。在一些实现中,系统可以基于与任务相关联的协议(例如,在框554处可选地识别的协议)生成附加内容。例如,系统可以生成附加内容以请求与协议中定义的任务参数相关的用户输入。在这样的示例中,系统可以基于在框556中接收的指示用户期望与任务相关的附加内容的自然语言输入来生成附加内容,和/或可以基于没有在框556中接收的自然语言输入定义的有效值的任务参数生成附加内容。在一些实现中,框554的内容包括与任务相关联的语言段,框556的输入是用户口头说出语言段的尝试,并且框558的附加内容是基于对框556的输入的分析而针对该尝试的反馈。
在框560处,系统提供附加内容以经由用户的计算设备的用户界面输出设备呈现给用户。
在可选框562处,系统响应于提供附加内容,接收由用户经由用户界面输入设备制定的另一个自然语言输入。
在可选框564处,系统确定用于框552的任务的一个或多个任务参数(例如,所有任务参数或所有必要任务参数)是否通过在框552处与任务一起提供的值和/或基于在框556和/或562处由用户提供的自然语言输入确定的值来解析。例如,系统可以确定是否已经为在任务的协议中定义的所有必要任务参数定义了值。
如果系统确定尚未解析所有任务参数,则系统进行到框566并生成另一个附加内容以解析未解析的任务参数。在一些实现中,附加内容基于在框554和/或558处可选地确定的协议。例如,鉴于在框554处确定的协议的一个或多个特定参数不是由在方框556和562接收的输入指定的,系统可以生成附加提示以请求那些特定参数。
在框566处生成附加提示之后,系统然后进行到框560和562,然后在框564再次确定用于框552的任务的一个或多个任务参数(例如,所有任务参数或所有必要任务参数)基于在框562的第二次迭代处接收的又一输入是否被解析。
如果系统确定可以在框564处(在框564的第一次迭代或随后的迭代)解析任务参数,则系统进行到其中系统发起任务的执行的可选框568。在一些实现中,系统可以将任务与一个或多个已解析参数的值一起传送到一个或多个其他计算系统,以通过那些计算系统和/或通过接收来自那些计算系统的用户界面输出的一个或多个人来发起任务的执行。
图6是可能可选地用于执行本文描述的技术的一个或多个方面的示例计算设备610的框图。在一些实现中,客户端计算设备1601-N中的一个或多个、自动消息传递系统120和/或其他组件可以包括示例计算设备610的一个或多个组件。
计算设备610通常包括至少一个处理器614,其经由总线子系统612与多个外围设备通信。这些外围设备可以包括:储存器子系统624,其包括例如存储器子系统625和文件储存器子系统626;用户界面输出设备620;用户界面输入设备622;以及,网络接口子系统616。输入和输出设备允许用户与计算设备610交互。网络接口子系统616提供到外部网络的接口并且耦合到其他计算设备中的对应的接口设备。
用户界面输入设备622可以包括:键盘;诸如鼠标、轨迹球、触摸板或图形输入板的指向设备;扫描仪;结合到显示器中的触摸屏;诸如语音识别系统的音频输入设备;麦克风;和/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入计算设备610内或通信网络上的所有可能类型的设备和方式。
用户界面输出设备620可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于生成可见图像的一些其他机制。显示子系统还可以例如经由音频输出设备提供非可视显示。通常,术语“输出设备”的使用旨在包括将信息从计算设备610输出到用户或另一机器或计算设备的所有可能类型的设备和方式。
储存器子系统624存储编程和数据构造,其提供本文描述的一些或所有模块的功能。例如,储存器子系统624可以包括执行图5的方法的所选方面的逻辑。
这些软件模块通常由处理器614单独执行或与其他处理器组合执行。储存器子系统624中使用的存储器625可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)630和其中存储固定指令的只读存储器(ROM)632。文件储存器子系统626可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒。实现某些实现的功能的模块可以由文件储存器子系统626存储在储存器子系统624中,或者存储在处理器614可访问的其他机器中。
总线子系统612提供用于使计算设备610的各种组件和子系统按预期彼此通信的机制。尽管总线子系统612被示意性地示为单条总线,但是总线子系统的替代实现可以使用多条总线。
计算设备610可以是各种类型的,包括工作站、服务器、计算集群、刀片服务器、服务器群或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图6中描绘的计算设备610的描述仅旨在作为用于说明一些实现的目的的特定示例。计算设备610的许多其他配置可能具有比图6中描绘的计算设备更多或更少的组件。
在这里描述的系统收集关于用户的个人信息或者可以利用个人信息的情况下,可以向用户提供下述机会:控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、专业、用户的偏好或用户的当前地理位置的信息),或控制是否和/或如何从内容服务器接收可能与用户更相关的内容。而且,某些数据可以在其被存储或使用之前以一种或多种方式处理,从而移除个人可识别信息。例如,可以处理用户的身份,以便不能为用户确定个人可识别信息,或者可以在获得地理位置信息的地方(例如,达到城市、ZIP代码或州的级别)一般化用户的地理位置,以便无法确定用户的特定地理位置。因此,用户可以控制如何收集和/或使用关于用户的信息。
虽然本文已描述和说明了若干实现,但可利用用于执行功能和/或获得结果和/或本文中所描述的一个或多个优点的各种其他装置和/或结构,且每一种此类变化和/或修改被认为是在本文描述的实现的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置旨在是示例性的,并且实际参数、尺寸、材料和/或配置将取决于使用该教导的特定的一个或多个应用。本领域技术人员将认识到或能够仅仅使用常规的实验确定本文所述的具体实现的许多等同物。因此,应该理解,前述实现仅作为示例呈现,并且在所附权利要求及其等同物的范围内,可以以不同于具体描述和要求保护的方式实施实现。本公开的实现涉及本文描述的每个单独的特征、系统、物品、材料、套件和/或方法。此外,如果这些特征、系统、物品、材料、套件和/或方法不相互矛盾,则本公开的范围包括两个或更多个这样的特征、系统、物品、材料、套件和/或方法的任何组合。

Claims (20)

1.一种由实现自动助理系统的一个或多个处理器执行的方法,所述方法包括:
基于用户与和所述自动助理系统分开的第一系统的过去交互来确定:
指示动作和与所述动作相关联的实体的任务,以及
与所述用户相关联的属性;
将所述任务分配给用户,将所述任务分配给所述用户是独立于所述用户向所述自动助理系统提供的任何用户界面输入;
基于所述属性中的一个或多个,确定何时发起与所述用户的自动助理对话以协助执行所述任务;
基于确定何时发起所述对话,在所述用户的用户设备处发起所述自动助理对话,发起所述自动助理对话是在所述用户从未直接向所述自动助理系统提供与所述任务有关的任何输入的情况下进行的,其中,发起所述自动助理对话包括:
基于给定参数被包括在由所述任务所指示的实体的实体协议中并且基于所述给定参数未被解析,经由所述用户设备的输出设备提供用于提示所述用户解析所述给定参数的可听自然语言内容;
响应于提供所述可听自然语言内容并经由所述用户设备的输入设备,接收用于继续所述对话的自然语言用户输入;
基于所述自然语言用户输入,确定所述实体协议中所包括的所述给定参数的给定值;和
基于所述给定参数的所述给定值并基于所述实体协议的附加参数的解析值,针对由所述任务指示的实体来执行由所述任务指示的动作,其中执行所述动作包括:将所述给定值和所述解析值传送到与所述第一系统分开并且与所述自动助理系统分开的第二系统。
2.根据权利要求1所述的方法,其中,基于所述用户与所述第一系统的过去交互来确定所述任务和所述属性包括:
基于所述用户与所述第一系统的过去交互,来确定与所述用户相关联的所述属性;和
基于与所述用户相关联的所述属性,从任务数据库中识别所述任务。
3.根据权利要求2所述的方法,其中,将所述任务分配给所述用户包括:
确定所述属性对应于包括在由所述任务指示的所述实体的实体协议中的内容;和
响应于确定所述属性对应于包括在由所述任务指示的所述实体的所述实体协议中的内容,将所述任务分配给所述用户。
4.根据权利要求1所述的方法,进一步包括:
在发起所述自动助理对话之前,确定所述实体协议的所述附加参数的所述解析值。
5.根据权利要求4所述的方法,其中,确定所述解析值包括:
基于与所述第一系统或第三系统的另一过去交互来确定所述解析值,其中所述另一过去交互不同于与所述第一系统的所述过去用户交互,并且其中所述第三系统与所述第一系统是分开的、与所述第二系统是分开的并且与所述自动助理系统是分开的。
6.根据权利要求5所述的方法,其中,所述另一过去交互是与所述第三系统进行的。
7.根据权利要求1所述的方法,其中,基于所述属性中的一个或多个来确定何时发起与所述用户的自动助理对话以协助执行所述任务包括:
基于根据所述属性中的一个或多个所确定的时间约束来确定何时发起与所述用户的对话。
8.一种自动助理系统,包括:
一个或多个处理器;和
存储指令的存储器,所述指令当由所述一个或多个处理器执行时使所述一或多个处理器执行操作,所述操作包括:
基于用户与和所述自动助理系统分开的第一系统的过去交互来确定:
指示动作和与所述动作相关联的实体的任务,以及
与所述用户相关联的属性;
将所述任务分配给用户,将所述任务分配给所述用户是独立于所述用户向所述自动助理系统提供的任何用户界面输入;
基于所述属性中的一个或多个,确定何时发起与所述用户的自动助理对话以协助执行所述任务;
基于确定何时发起所述对话,在所述用户的用户设备处发起所述自动助理对话,发起所述自动助理对话是在所述用户从未直接向所述自动助理系统提供与所述任务有关的任何输入的情况下进行的,其中,发起所述自动助理对话包括:
基于给定参数被包括在由所述任务所指示的实体的实体协议中并且基于所述给定参数未被解析,经由所述用户设备的输出设备提供用于提示所述用户解析所述给定参数的可听自然语言内容;
响应于提供所述可听自然语言内容并经由所述用户设备的输入设备,接收用于继续所述对话的自然语言用户输入;
基于所述自然语言用户输入,确定所述实体协议中所包括的所述给定参数的给定值;和
基于所述给定参数的所述给定值并基于所述实体协议的附加参数的解析值,针对由所述任务指示的实体来执行由所述任务指示的动作,其中执行所述动作包括:将所述给定值和所述解析值传送到与所述第一系统分开并且与所述自动助理系统分开的第二系统。
9.根据权利要求8所述的系统,其中,基于所述用户与所述第一系统的过去交互来确定所述任务和所述属性包括:
基于所述用户与所述第一系统的过去交互,确定与所述用户相关联的所述属性;和
基于与所述用户相关联的所述属性,从任务数据库中识别所述任务。
10.根据权利要求9所述的系统,其中,将所述任务分配给所述用户包括:
确定所述属性对应于包括在由所述任务指示的所述实体的实体协议中的内容;和
响应于确定所述属性对应于包括在由所述任务指示的所述实体的所述实体协议中的内容,将所述任务分配给所述用户。
11.根据权利要求8所述的系统,所述操作进一步包括:
在发起所述自动助理对话之前,确定所述实体协议的所述附加参数的所述解析值。
12.根据权利要求11所述的系统,其中,确定所述解析值包括:
基于与所述第一系统或第三系统的另一过去交互来确定所述解析值,其中所述另一过去交互不同于与所述第一系统的所述过去用户交互,并且其中所述第三系统与所述第一系统是分开的、与所述第二系统是分开的并且与所述自动助理系统是分开的。
13.根据权利要求12所述的系统,其中,所述另一过去交互是与所述第三系统进行的。
14.根据权利要求8所述的系统,其中,基于所述属性中的一个或多个来确定何时发起与所述用户的自动助理对话以协助执行所述任务包括:
基于根据所述属性中的一个或多个所确定的时间约束来确定何时发起与所述用户的对话。
15.一种包括指令的一个或多个非暂时性计算机可读存储介质,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:
基于用户与和所述自动助理系统分开的第一系统的过去交互来确定:
指示动作和与所述动作相关联的实体的任务,以及
与所述用户相关联的属性;
将所述任务分配给用户,将所述任务分配给所述用户是独立于所述用户向所述自动助理系统提供的任何用户界面输入;
基于所述属性中的一个或多个,确定何时发起与所述用户的自动助理对话以协助执行所述任务;
基于确定何时发起所述对话,在所述用户的用户设备处发起所述自动助理对话,发起所述自动助理对话是在所述用户从未直接向所述自动助理系统提供与所述任务有关的任何输入的情况下进行的,其中,发起所述自动助理对话包括:
基于给定参数被包括在由所述任务所指示的实体的实体协议中并且基于所述给定参数未被解析,经由所述用户设备的输出设备提供用于提示所述用户解析所述给定参数的可听自然语言内容;
响应于提供所述可听自然语言内容并经由所述用户设备的输入设备,接收用于继续所述对话的自然语言用户输入;
基于所述自然语言用户输入,确定所述实体协议中所包括的所述给定参数的给定值;和
基于所述给定参数的所述给定值并基于所述实体协议的附加参数的解析值,针对由所述任务指示的实体来执行由所述任务指示的动作,其中执行所述动作包括:将所述给定值和所述解析值传送到与所述第一系统分开并且与所述自动助理系统分开的第二系统。
16.根据权利要求15所述的一个或多个非暂时性计算机可读存储介质,其中,基于所述用户与所述第一系统的过去交互来确定所述任务和所述属性包括:
基于所述用户与所述第一系统的过去交互,确定与所述用户相关联的所述属性;和
基于与所述用户相关联的所述属性,从任务数据库中识别所述任务。
17.根据权利要求16所述的一个或多个非暂时性计算机可读存储介质,其中,将所述任务分配给所述用户包括:
确定所述属性对应于包括在由所述任务指示的所述实体的实体协议中的内容;和
响应于确定所述属性对应于包括在由所述任务指示的所述实体的所述实体协议中的内容,将所述任务分配给所述用户。
18.根据权利要求15所述的一个或多个非暂时性计算机可读存储介质,所述操作还包括:
在发起所述自动助理对话之前,确定所述实体协议的所述附加参数的所述解析值。
19.根据权利要求18所述的一个或多个非暂时性计算机可读存储介质,其中,确定所述解析值包括:
基于与所述第一系统或第三系统的另一过去交互来确定所述解析值,其中所述另一过去交互不同于与所述第一系统的所述过去用户交互,并且其中所述第三系统与所述第一系统是分开的、与所述第二系统是分开的并且与所述自动助理系统是分开的。
20.根据权利要求15所述的一个或多个非暂时性计算机可读存储介质,其中,基于所述属性中的一个或多个来确定何时发起与所述用户的自动助理对话以协助执行所述任务包括:
基于根据所述属性中的一个或多个所确定的时间约束来确定何时发起与所述用户的对话。
CN202311118733.0A 2016-05-17 2016-12-27 经计算设备的用户界面设备自动发起和适配与用户的对话 Pending CN117234708A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15/157,055 2016-05-17
US15/157,055 US11494206B2 (en) 2016-05-17 2016-05-17 Automated initiation and adaptation of a dialog with a user via user interface devices of a computing device of the user
PCT/US2016/068734 WO2017200587A1 (en) 2016-05-17 2016-12-27 Automated initiation and adaptation of a dialog with a user via user interface devices of a computing device of the user
CN201680085752.XA CN109643246B (zh) 2016-05-17 2016-12-27 经由用户的计算设备的用户界面设备自动发起和适配与用户的对话

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201680085752.XA Division CN109643246B (zh) 2016-05-17 2016-12-27 经由用户的计算设备的用户界面设备自动发起和适配与用户的对话

Publications (1)

Publication Number Publication Date
CN117234708A true CN117234708A (zh) 2023-12-15

Family

ID=57838512

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201680085752.XA Active CN109643246B (zh) 2016-05-17 2016-12-27 经由用户的计算设备的用户界面设备自动发起和适配与用户的对话
CN202311118733.0A Pending CN117234708A (zh) 2016-05-17 2016-12-27 经计算设备的用户界面设备自动发起和适配与用户的对话

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201680085752.XA Active CN109643246B (zh) 2016-05-17 2016-12-27 经由用户的计算设备的用户界面设备自动发起和适配与用户的对话

Country Status (6)

Country Link
US (2) US11494206B2 (zh)
EP (1) EP3458957A1 (zh)
JP (1) JP6797212B2 (zh)
KR (1) KR102226244B1 (zh)
CN (2) CN109643246B (zh)
WO (1) WO2017200587A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11494206B2 (en) 2016-05-17 2022-11-08 Google Llc Automated initiation and adaptation of a dialog with a user via user interface devices of a computing device of the user
WO2019164020A1 (ko) * 2018-02-20 2019-08-29 엘지전자 주식회사 디스플레이 장치
US11157703B2 (en) * 2018-04-19 2021-10-26 Sg Gaming, Inc. Systems and methods for natural language processing in gaming environments
US11501089B2 (en) 2019-06-05 2022-11-15 Samsung Electronics Co., Ltd. Electronic device and method for controlling the electronic device thereof based on determining intent of a user speech in a first language machine translated into a predefined second language
WO2023030619A1 (en) * 2021-09-01 2023-03-09 Cariad Se Telephone service device for requesting services, vehicle and method
US20210209293A1 (en) * 2020-01-02 2021-07-08 Whatsapp Inc. Cross-application data sharing
US20230368776A1 (en) * 2022-05-11 2023-11-16 Statum Systems Inc. Contextual notification based on voice commands

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0028775D0 (en) * 2000-11-25 2001-01-10 Hewlett Packard Co Voice communication concerning a local entity
JP2002258738A (ja) 2001-03-01 2002-09-11 Nna Japan Co Ltd 語学学習支援システム
US20020183072A1 (en) * 2001-04-17 2002-12-05 Galia Steinbach BeyondguideTM method and system
JP4330065B2 (ja) 2003-09-30 2009-09-09 クラリオン株式会社 ナビゲーション装置、方法及びプログラム
US20050281395A1 (en) * 2004-06-16 2005-12-22 Brainoxygen, Inc. Methods and apparatus for an interactive audio learning system
US20060150119A1 (en) * 2004-12-31 2006-07-06 France Telecom Method for interacting with automated information agents using conversational queries
US8660244B2 (en) 2006-02-17 2014-02-25 Microsoft Corporation Machine translation instant messaging applications
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
JP4451435B2 (ja) 2006-12-06 2010-04-14 本田技研工業株式会社 言語理解装置、言語理解方法、及び、コンピュータプログラム
US7941133B2 (en) * 2007-02-14 2011-05-10 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for schedule management based on locations of wireless devices
US10276170B2 (en) * 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
WO2011161664A1 (en) * 2010-06-21 2011-12-29 Shimon Messika System for providing information and services to a tourist community
US9858343B2 (en) 2011-03-31 2018-01-02 Microsoft Technology Licensing Llc Personalization of queries, conversations, and searches
US9560089B2 (en) * 2012-12-11 2017-01-31 Nuance Communications, Inc. Systems and methods for providing input to virtual agent
US9223826B2 (en) * 2013-02-25 2015-12-29 Facebook, Inc. Pushing suggested search queries to mobile devices
AU2014233517B2 (en) * 2013-03-15 2017-05-25 Apple Inc. Training an at least partial voice command system
KR101857648B1 (ko) * 2013-03-15 2018-05-15 애플 인크. 지능형 디지털 어시스턴트에 의한 사용자 트레이닝
US9201865B2 (en) * 2013-03-15 2015-12-01 Bao Tran Automated assistance for user request that determines semantics by domain, task, and parameter
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
KR102369784B1 (ko) 2013-06-07 2022-03-03 애플 인크. 지능형 자동 어시스턴트
US9461945B2 (en) * 2013-10-18 2016-10-04 Jeffrey P. Phillips Automated messaging response
US9189742B2 (en) * 2013-11-20 2015-11-17 Justin London Adaptive virtual intelligent agent
US8849675B1 (en) * 2013-12-18 2014-09-30 Google Inc. Suggested query constructor for voice actions
US20150178652A1 (en) * 2013-12-23 2015-06-25 Egan Schulz Systems and methods for targeted assistance on user check-in
US10088972B2 (en) * 2013-12-31 2018-10-02 Verint Americas Inc. Virtual assistant conversations
US9213941B2 (en) * 2014-04-22 2015-12-15 Google Inc. Automatic actions based on contextual replies
CN107209549B (zh) * 2014-12-11 2020-04-17 微软技术许可有限责任公司 能够实现可动作的消息传送的虚拟助理系统
US10691473B2 (en) * 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10635281B2 (en) * 2016-02-12 2020-04-28 Microsoft Technology Licensing, Llc Natural language task completion platform authoring for third party experiences
US9785715B1 (en) * 2016-04-29 2017-10-10 Conversable, Inc. Systems, media, and methods for automated response to queries made by interactive electronic chat
US11494206B2 (en) 2016-05-17 2022-11-08 Google Llc Automated initiation and adaptation of a dialog with a user via user interface devices of a computing device of the user

Also Published As

Publication number Publication date
US11494206B2 (en) 2022-11-08
JP2019518278A (ja) 2019-06-27
KR20190007034A (ko) 2019-01-21
JP6797212B2 (ja) 2020-12-09
EP3458957A1 (en) 2019-03-27
WO2017200587A1 (en) 2017-11-23
KR102226244B1 (ko) 2021-03-10
US20230055576A1 (en) 2023-02-23
CN109643246B (zh) 2023-09-15
CN109643246A (zh) 2019-04-16
US12026530B2 (en) 2024-07-02
US20170337186A1 (en) 2017-11-23

Similar Documents

Publication Publication Date Title
CN109643246B (zh) 经由用户的计算设备的用户界面设备自动发起和适配与用户的对话
JP7032504B2 (ja) 会議能力を有する自動アシスタント
US10826856B2 (en) Automated generation of prompts and analyses of user responses to the prompts to determine an entity for an action and perform one or more computing actions related to the action and the entity
JP7263376B2 (ja) 自動化されたアシスタントによる以前の対話コンテキスト間の遷移
US11941420B2 (en) Facilitating user device and/or agent device actions during a communication session
US11488601B2 (en) Dependency graph conversation modeling for use in conducting human-to-computer dialog sessions with a computer-implemented automated assistant
KR102368003B1 (ko) 이전 자동 대화 세션의 선택된 컨텐츠에 기초한 자동 대화 세션에서의 프롬프트 제공
KR102005531B1 (ko) 다중 사용자 메시지 교환 스레드에서 자동화 어시스턴트와의 상호 작용을 위한 제안 제공

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