CN110603545B - 用于组织消息的方法、***和非瞬时性计算机可读介质 - Google Patents

用于组织消息的方法、***和非瞬时性计算机可读介质 Download PDF

Info

Publication number
CN110603545B
CN110603545B CN201880027624.9A CN201880027624A CN110603545B CN 110603545 B CN110603545 B CN 110603545B CN 201880027624 A CN201880027624 A CN 201880027624A CN 110603545 B CN110603545 B CN 110603545B
Authority
CN
China
Prior art keywords
messages
subset
user
message
task
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.)
Active
Application number
CN201880027624.9A
Other languages
English (en)
Other versions
CN110603545A (zh
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 CN110603545A publication Critical patent/CN110603545A/zh
Application granted granted Critical
Publication of CN110603545B publication Critical patent/CN110603545B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • 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/04817Interaction 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 using icons
    • 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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Operations Research (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文描述了用于将在用户和自动化助理之间交换的消息组织成不同的谈话的技术。在各种实施方式中,可以分析作为用户和自动化助理之间人机对话会话的一部分而交换的消息的时间顺序记录。基于该分析,可以识别与用户经由人机对话会话执行的任务有关的消息的时间顺序记录的子集。基于子集和任务的内容,可以生成使客户端计算设备提供传达任务的可选元素的谈话元数据。选择可选元素可以使客户端计算设备呈现与任务有关的至少一条记录消息相关联的表示。

Description

用于组织消息的方法、***和非瞬时性计算机可读介质
背景技术
人们可以使用在本文中称为“自动化助理”(也称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人语音助手”、“谈话代理”等)的交互式软件应用参与人机对话。例如,人们(当他们与自动化助理互动时,可以被称为“用户”)可以使用在一些情况下可以被转换为文本然后进行处理的口头自然语言输入(即话语),和/或通过提供文本(例如,键入的)自然语言输入来提供命令、查询和/或请求。用户可以使自动化助理参与各种不同的“谈话”。每个谈话可能包含语义上与特定主题、特定任务的执行等相关的一个或多个单独消息。在许多情况下,给定谈话的消息可能包含在用户和自动化助理之间的单个人机对话会话中。但是,形成谈话的消息也可能跨与自动化助理的多个会话。
作为谈话的一个示例,在与自动化助理的人机对话会话期间,用户可以向自动助膝上型交与制定旅行计划有关的一系列查询。这类查询(和自动化助理的响应)可能涉及例如进行交通安排、了解特定位置处或附近的兴趣点、了解特定位置处或附近的活动等。在一些情况下,用户可以购买与他们的旅行计划有关的一个或多个项目,诸如车票、代金券、通行证,与旅行有关的产品(例如运动器材、行李箱、衣物等)。作为另一示例,用户可以与自动化助理互动以查询和/或响应账单、通知等。在一些情况下,一个或多个用户可以与自动化助理互动(并且在一些情况下彼此互动)以计划活动,诸如聚会、撤退等。无论用户在与自动化助理互动时执行什么任务,在许多情况下,该任务都可能有结果,例如获取物品、安排活动、作出安排等。
用户与自动化助理互动的次数越多,该用户与自动化助理(以及视情况而定的其他用户)之间的更多消息可能会保留在日志中。如果用户希望重新访问与自动化助理的先前谈话,则用户可能必须仔细阅读此类日志以查找与先前谈话有关的各个消息。如果用户通过与自动化助理的互动而执行的特定任务发生在相对较远的过去和/或在用户与自动化助理之间的多个不同谈话中发生,则这可能特别困难/乏味。在前一种情况下,自从用户使自动化助理参与用户所寻求的先前谈话以来,日志中可能会保留大量无关紧要的消息。在后一种情况下,可能存在与用户寻求的先前谈话无关的许多中间消息。
发明内容
本文中描述了用于将作为用户与自动化助理之间的人机对话会话的一部分而交换的消息组织成表示用户与自动化助理之间的不同谈话的集群的技术。在一些实施方式中,可以基于由用户通过与自动化助理的互动而执行的任务来确定(例如,刻画)不同的集群/谈话。附加地或可替代地,在一些实施方式中,可以基于其他信号来确定不同的集群/谈话,诸如用户通过与自动化助理的互动而执行的任务的结果、与各个消息(例如,在时间上彼此接近,尤其是在单个人机对话会话内发生的消息可以被假定是用户和自动化助理之间的同一谈话的一部分)相关联的时间戳、用户和自动化助理之间的谈话主题等等。
在各种实施方式中,可以为消息/谈话的每个集群生成所谓的“谈话元数据”。谈话元数据可以包括有关谈话内容和/或形成谈话/集群的各个消息的各种信息,诸如由用户在与自动化助理互动时执行的任务、任务的结果、谈话主题、与该谈话相关联的一个或多个时间(例如,谈话何时开始/结束、谈话的持续时间)、谈话跨越了多少个单独的人机对话会话、谈话中除了特定用户之外还涉及其他参与者的话,涉及谁等。
该谈话元数据可以全部或部分在由用户操作的客户端设备上生成,或者例如在形成通常称为“云”计算***的一个或多个服务器计算机上远程地生成。在各种实施方式中,谈话元数据可以由诸如智能电话、平板电脑等的由用户操作的客户端设备使用以采用允许用户针对感兴趣的特定谈话快速细读/搜索不同的谈话的缩写方式向用户呈现有组织的消息集群。
可以基于上文提及的谈话元数据来确定呈现有组织的集群/谈话的方式。例如,可以(例如,视觉地)呈现可选元素,并且在一些情况下可以采用在被选择时扩展以提供被选择为谈话/集群的一部分的原始消息的折叠线绪(collapsed thread)的形式。在一些实施方式中,可选元素可以传达关于它们表示的谈话的各种摘要信息,诸如正在执行的任务(例如,“智能灯泡研究”、“到巴塞罗那的旅行”、“烹饪炒菜”等)、任务的结果(例如,“物品的获取”、计划的活动详细信息等)、潜在的下一动作(例如,“完成预订航班”、“购买智能灯泡”等)、谈话主题(例如,“关于乔治华盛顿的研究”、“关于西班牙的研究”等)等等。通过除了向用户呈现所有过去的消息之外或者代替向用户呈现所有过去的消息,向用户呈现这些可选元素,用户能够快速搜索和识别感兴趣的谈话。而且,可以减少实现该过程的计算资源上的数据处理负担,因为可能不再需要呈现较早谈话的完整日志以允许用户执行该功能。此外,提供一种机制以允许经由与谈话元数据相关联的可选元素的输入,使得可以提供直观且响应性的用户交互,该交互有效地将用户意图与底层数据相关联。在视觉上呈现时,与呈现谈话的整个日志相比,采用可选元素还可以更有效地利用可用的屏幕空间。
在一些实施方式中,可选元素可以由它们自己呈现,无需构成可选元素所基于的集群的底层各个消息。在其他实施方式中,可以在底层消息的旁边和/或同时显示可选元素。例如,当用户滚动过去消息(例如,先前的人机对话会话的记录)的日志时,可以提供与由当前显示的消息全部或部分地表示的谈话相关联的可选元素。在一些实施方式中,可选元素可以采取消息本身的形式。例如,假设用户选择过去消息日志中的特定消息。可以突出显示或以其他方式以高亮的形式呈现形成与所选消息相同的谈话的一部分的其他消息。在一些实施方式中,然后,用户可以能够(例如,通过按下按钮、操作滚轮等)“切换”与相同谈话有关的消息,而跳过不形成相同谈话的一部分的中间消息。
在一些实施方式中,提供了一种由一个或多个处理器执行的方法,包括:由一个或多个处理器分析作为至少一个用户和自动化助理之间的一个或多个人机对话会话的一部分而交换的消息的时间顺序记录;基于所述分析,由所述一个或多个处理器识别所述消息的时间顺序记录的至少子集,所述子集与所述至少一个用户经由所述一个或多个人机对话会话执行的任务有关;以及由一个或多个处理器基于所述消息的时间顺序记录的子集的内容和所述任务,生成与所述消息的时间顺序记录的子集相关联的谈话元数据。在各种实施方式中,所述谈话元数据可以使得客户端计算设备经由与所述客户端计算设备相关联的输出设备来提供传达所述任务的可选元素,其中,选择所述可选元素使得所述客户端计算设备经由所述输出设备来呈现与关于所述任务的记录消息中的至少一个相关联的表示。
本文公开的技术的这些和其他实施方式可以可选地包括以下特征中的一个或多个。
在各种实施方式中,该方法可以进一步包括由所述一个或多个处理器基于所述消息的时间顺序记录的子集的内容来识别所述任务的结果。在各种实施方式中,可选元素可以传达任务的结果。在各种实施方式中,该方法可以进一步包括由所述一个或多个处理器基于所述消息的时间顺序记录的子集的内容,识别用于完成所述任务的下一步骤。在各种实施方式中,所述可选元素可以传达下一步骤。在各种实施方式中,识别所述消息的时间顺序记录的子集可以基于所述任务的结果。在各种实施方式中,任务的结果可以包括物品的获取。在各种实施方式中,任务可以包括组织活动。在各种实施方式中,任务的结果可以包括与组织的活动相关联的细节。
在各种实施方式中,识别所述消息的时间顺序记录的子集可以是基于与所述消息的时间顺序记录的各个消息相关联的时间戳。在各种实施方式中,所述可选元素可以包括可折叠线绪,该可折叠线绪在选择时扩展以提供所述消息的时间顺序记录的子集。在各种实施方式中,所述可选元素可以包括所述子集的个体消息,并且对所述子集的所述个体消息的选择可以使得以视觉上不同于第二方式的第一方式呈现所述子集的一个或多个其他个体消息,所述消息的时间顺序记录的其他消息以所述第二方式呈现。
在各种实施方式中,该表示可以包括与所述消息的时间顺序记录的子集相关联或包含在所述消息的时间顺序记录的子集中的图标。在各种实施方式中,该表示包括可以包含在所述消息的时间顺序记录的子集中的一个或多个超链接。在各种实施方式中,该表示可以包括所述消息的时间顺序记录的子集。在各种实施方式中,可以按时间顺序地呈现所述消息的时间顺序记录的子集中的消息。在各种实施方式中,可以按相关性顺序呈现所述消息的时间顺序记录的子集中的消息。
另外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中,一个或多个处理器用来执行存储在相关联的存储器中的指令,以及其中,指令被配置为使得执行上述方法中的任何一种方法。一些实施方式还包括一个或多个非瞬时性计算机可读存储介质,其存储可由一个或多个处理器执行以实现上述方法中的任何一种方法的计算机指令。
应当意识到前述概念和在本文中更为详细地讨论的另外的概念的所有组合被构思为本文公开的主题的一部分。例如,在本公开的末尾出现的所要求保护的主题的所有组合被构思为本文公开的主题的一部分。
附图说明
图1是可以实施本文公开的实施方式的示例环境的框图。
图2A、2B、2C和2D图示了根据各种实施方式的各个用户与自动化助理之间的示例人机对话。
图2E、2F和2G图示了根据本文公开的实施方式呈现的另外的用户接口。
图3图示了用于执行本公开的所选方面的示例方法。
图4示出了计算设备的示例架构。
具体实施方式
现在转到图1,图示了可以实施本文公开的技术的示例环境。该示例环境包括多个客户端计算设备1061-N和自动化助理120。虽然在图1中将自动化助理120图示为独立于客户端计算设备1061-N,但是在一些实施方式中,自动化助理120的全部或者方面可以由一个或多个客户端计算设备1061-N实施。例如,客户端设备1061可以实施自动化助理120的一个或多个方面的一个实例,而客户端设备106N也可以实施自动化助理120的这些一个或多个方面的单独的实例。在自动化助理120的一个或多个方面由远离客户端计算设备1061-N的一个或多个计算设备实施的实施方式中,客户端计算设备1061-N和自动化助理120的这些方面可以经由一个或多个网络诸如局域网(LAN)和/或广域网(WAN)(例如,互联网)进行通信。
客户端设备1061-N可以包括例如下述中的一个或多个:桌面型计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信***、车载娱乐***、车载导航***)、独立的交互式扬声器、所谓的“智能”电视和/或包括计算设备的用户的可穿戴装置(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或者增强现实计算设备)。可以提供附加和/或替选的客户端计算设备。在一些实施方式中,给定用户可以利用共同形成计算设备的协调“生态***”的多个客户端计算设备来与自动化助理120通信。在一些实施方式中,自动化助理120可以被认为是“服务”该特定用户,例如,赋予自动化助理120对由“被服务的”用户控制其访问的资源(例如,内容、文档等)的增强的访问。然而,为了简单起见,本说明书所述的一些示例将集中于用户操作单个客户端计算设备106。
每个客户端计算设备1061-N可以操作各种不同的应用,诸如,消息交换客户端1071-N中的相应一个。消息交换客户端1071-N可以采取各种形式,并且形式可能在客户端计算设备1061-N之间而有所不同和/或可以在客户端计算设备1061-N中的单个客户端计算设备1061-N上操作多种形式。在一些实施方式中,一个或多个消息交换客户端1071-N可以采取短消息服务(“SMS”)和/或多媒体消息服务(“MMS”)客户端、在线聊天客户端(例如,即时通讯软件、互联网中继聊天或者“IRC”等)、与社交网络相关联的消息传递应用、专用于与自动化助理120的谈话的个人助理消息传递服务等的形式。在一些实施方式中,一个或多个消息交换客户端1071-N可以经由网页或者由客户端计算设备106的web浏览器(未图示)或者其它应用渲染的其它资源来实施。
如在本文中更详细地所述,自动化助理120经由一个或多个客户端设备1061-N的用户接口输入和输出设备来参与和一个或多个用户的人机对话会话。在一些实施方式中,自动化助理120可以响应于由用户经由客户端设备1061-N中的一个客户端设备的一个或多个用户接口输入设备提供的用户接口输入来参与和用户的人机对话会话。例如,自动化助理120可以响应于经由客户端设备1061-N中的一个客户端设备提供的自由格式输入来生成响应内容。如本文所使用的,自由格式输入是由用户制定的输入,并且不限于为由用户选择而呈现的一组选项。
在一些实施方式中,用户接口输入明确地指向自动化助理120。例如,消息交换客户端1071-N中的一个可以是专用于与自动化助理120的谈话的个人助理消息传递服务,以及可以将经由该个人助理消息传递服务提供的用户接口输入自动地提供给自动化助理120。同样,例如,基于指示要调用自动化助理120的特定用户接口输入,在一个或多个消息交换客户端1071-N中,可以将用户接口输入明确地指向自动化助理120。例如,特定用户接口输入可以是一个或多个键入的字符(例如,@AutomatedAssistant(自动化助理))、与硬件按钮和/或虚拟按钮的用户交互(例如,敲击、长击)、口头命令(例如,“Hey AutomatedAssistant(你好,自动化助理)”)、和/或其它特定用户接口输入。在一些实施方式中,自动化助理120可以响应于用户接口输入来参与对话会话,即使在未将用户接口输入明确地指向自动化助理120时。例如,自动化助理120可以检查用户接口输入的内容并且响应于用户接口输入中存在某些术语并且/或基于其它线索来参与对话会话。在许多实施方式中,自动化助理120可以参与交互式语音响应(“IVR”),从而使用户可以发出命令、搜索等,并且自动化助理可以利用自然语言处理和/或一个或多个语法来将话语转换为文本,并且相应地对该文本做出响应。
客户端计算设备1061-N和自动化助理120中的每一个可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据并且执行应用的一个或多个处理器、以及方便通过网络进行通信的其它组件。可以由一个或多个客户端计算设备1061-N和/或由自动化助理120执行的操作可以分布在多个计算机***中。例如,自动化助理120可以实现为在通过网络彼此耦合的一个或多个位置中的一个或多个计算机上运行的计算机程序。
自动化助理120可以包括自然语言处理器122、消息组织模块126和消息呈现模块128等。在一些实施方式中,可以在与自动化助理120分离的组件中省略、组合和/或实现自动化助理的一个或多个引擎和/或模块。
如本文所使用的,“对话会话”可以包括在用户与自动化助理120之间进行一个或多个消息的逻辑独立交换。自动化助理120可以基于各种信号诸如谈话之间的时间推移、谈话之间的用户场境(例如,位置、在安排会议之前/期间/之后等)的变化、检测到用户与客户端设备之间除了用户与自动化助理之间的对话之外的一个或多个中间交互(例如,用户暂时切换应用、用户走开又返回到独立的语音激活的扬声器)、会话之间的客户端设备的锁定/睡眠、用于与自动化助理120的一个或多个实例交互的客户端设备的变化等来区分与用户的多个对话会话。
在一些实施方式中,当自动化助理120提供请求用户反馈的提示时,自动化助理120可以抢先激活被配置为客户端设备(经由该客户端设备来提供提示)的处理响应于提示接收的用户接口输入的一个或多个组件。例如,在要经由客户端设备1061的麦克风提供用户接口输入的情况下,自动化助理120可以提供一个或多个命令以使得:抢先“打开”麦克风(从而防止敲击界面元素或者说出“热词”来打开麦克风的需要)、抢先激活客户端设备1061的本地语音到文本处理器、抢先在客户端设备1061与远程语音到文本处理器之间建立通信会话、和/或在客户端设备1061上渲染图形用户接口(例如,包括可以被选择以提供反馈的一个或多个可选元素的界面)。这可以使得相比于没有抢先激活组件,能够更快地提供和/或处理用户接口输入。
自动化助理120的自然语言处理器122处理由经由客户端设备1061-N由用户生成的自然语言输入,并且可以生成供自动化助理120的一个或多个其它组件(包括图1中未示出的组件)使用的注释输出。例如,自然语言处理器122可以处理由用户经由客户端设备1061的一个或多个用户接口输入设备生成的自然语言自由形式输入。所生成的注释输出包括自然语言输入的一个或多个注释,并且可选地包括自然语言输入的一个或多个(例如,所有)术语。
在一些实施方式中,自然语言处理器122被配置为识别和注释自然语言输入中的各种语法信息。例如,自然语言处理器122可以包括词性标注器,该词性标注器被配置为用其语法角色来注释术语。例如,词性标注器可以用其词性诸如“名词”、“动词”、“形容词”、“代词”等来标注每个术语。同样,例如,在一些实施方式中,自然语言处理器122可以附加和/或替选地包括相关性分析器,该相关性分析器配置为确定自然语言输入中的术语之间的句法关系。例如,相关性分析器可以确定哪些术语修饰句子的其它术语、主语和动词(例如,解析树),并且可以做出这种相关性的注释。
在一些实施方式中,自然语言处理器122可以附加和/或替选地包括实体标注器,该实体标注器被配置为注释一个或多个段中的实体引用诸如,对人(例如,包括文学人物)、组织、位置(真实与虚构)的引用等。实体标注器可以以高粒度级(例如使得能够识别对实体类诸如人的所有引用)和/或以低粒度级(例如,使得能够识别对特定实体诸如特定人的所有引用),标注对实体的引用。实体标注器可以依赖自然语言输入的内容以解析特定实体和/或可以可选地与知识图或者其它实体数据库通信以解析特定实体。
在一些实施方式中,自然语言处理器122可以附加和/或替选地包括指称相同解析器,该指称相同解析器配置为基于一个或多个场境线索来分组或者“聚类”对相同的实体的引用。例如,可以利用指称相同解析器来将自然语言输入“I liked Hypothetical Cafélast time we ate there(我喜欢我们上次去过的Hypothetical Café)”中的术语“there”解析为“Hypothetical Café”。
在一些实施方式中,自然语言处理器122的一个或多个组件可以依赖来自自然语言处理器122的一个或多个其它组件的注释。例如,在一些实施方式中,指定的实体标注器在注释所有提及的特定实体时可以依赖来自指称相同解析器和/或相关性分析器的注释。同样,例如,在一些实施方式中,指称相同解析器可以在聚类相同实体的引用时依赖来自相关性分析器的注释。在一些实施方式中,在处理特定自然语言输入时,自然语言处理器122的一个或多个组件可以使用除了特定自然语言输入之外的相关在前输入和/或其它相关数据来确定一个或多个注释。
消息组织模块126可以访问先前在一个或多个用户和自动化助理120之间交换的消息124的存档、日志或记录。在一些实施方式中,消息124的记录可以被存储为消息的时间顺序记录。因此,可以要求希望从用户与自动化助理120的过去谈话中找到一条或多条特定消息的用户滚动潜在的大量消息。用户(或多个用户)与自动化助理120交互的次数越多,消息124的时间顺序记录可能越长,这反过来使得定位感兴趣的过去消息/谈话变得更加困难且乏味。此外,该过程消耗了计算资源,包括用于渲染记录的那些资源,以及在适用的情况下长时间保持交互性所需的电池使用量。替选地,用户可能能够执行关键字搜索(例如,使用搜索栏)以定位特定消息。但是,如果感兴趣的谈话发生在相对较长的时间之前,则用户可能不记得要搜索哪些关键字,并且可能存在也包含该关键字的中间谈话。
因此,在各种实施方式中,消息组织模块126可以被配置为分析作为在一个或多个用户与自动化助理120之间的一个或多个人机对话会话的一部分而交换的消息124的时间顺序记录。基于该分析,消息组织模块126可以被配置为将消息124的时间顺序记录分组为一个或多个消息子集(或消息“集群”)。每个子集或集群可以包含在语法和/或语义上相关的消息,例如作为独立的谈话。
在一些实施方式中,每个子集或集群可以与由一个或多个用户经由与自动化助理120的一个或多个人机对话会话所执行的任务有关。例如,假设一个或多个用户与自动化助理120(在一些情况下彼此)交换消息以组织活动,例如聚会。这些消息可以例如由消息组织模块126聚集在一起作为与组织聚会的任务有关的谈话的一部分。作为另一示例,假设用户参与与自动化助理120的人机对话以研究并最终获得机票。在各种实施方式中,这些消息可以例如由消息组织模块126聚集在一起,作为与研究和购买飞机票的任务有关的另一谈话的一部分。例如,消息的类似集群或子集可以由例如消息组织模块126识别为与任意多个任务有关,例如,获取项目(例如产品、服务)、设置和响应提醒等。
附加或可替选地,在一些实施方式中,每个子集或集群可以与在与自动化助理120的一个或多个人机对话会话期间讨论的主题有关。例如,假设一个或多个用户参与与自动化助理120的一个或多个人机对话会话以研究Ronald Reagan。在各种实施方式中,这些消息可以例如由消息组织模块126聚集在一起,作为与Ronald Reagan的主题有关的谈话的一部分。在一些实施方式中,可以使用与消息组织模块126相关联(例如,其一部分、被其采用等)的主题分类器127来识别谈话的主题。例如,主题分类器127可以使用主题模型(例如,统计模型)来聚类相关单词,并且基于这些集群确定主题。
在各种实施方式中,消息组织模块126可以被配置为基于消息124的时间顺序记录的每个消息子集的内容来生成将与每个消息子集相关联的所谓的“谈话元数据”。在一些实施方式中,与特定消息子集相关联的谈话元数据可以采取存储在存储器中的数据结构的形式,该数据结构包括用于任务(或主题)的一个或多个字段、可用来识别形成消息子集的一部分的各个消息的一个或多个字段(例如,标识符或指针)等。
在各种实施方式中,消息呈现模块128(在其他实施方式中可以与消息组织模块126集成)可以被配置为从消息组织模块126获得谈话元数据,并且基于该谈话元数据,生成使得客户端计算设备106经由与客户端计算设备相关联的输出设备(未示出)提供可选元素。在各种实施方式中,可选元素可以传达任务的各个方面,例如任务本身、任务的结果、下一潜在步骤、任务的目标、主题和/或其他相关的谈话详细信息(例如活动时间/日期/地点、已付价格、已付账单等)。为此,在一些实施方式中,谈话元数据可以例如由消息呈现模块128使用诸如可扩展标记语言(“XML”)或超文本标记语言(“HTML”)的标记语言来编码,尽管这并不要求。如将在下文更详细地所述,呈现在客户端设备106上的可选元素可以采取各种形式,诸如呈现在显示屏上的一个或多个图形“卡”、经由扬声器可听地呈现的一个或多个选项(从中用户可以可听地选择)、一个或多个可折叠的消息线绪等。可选元素可以消除用户浏览整个时间顺序记录以识别感兴趣的问题的需求,从而减轻了为便于该过程而提供的计算资源的负担并提高了数据管理效率。
在各种实施方式中,选择可选元素可以使客户端计算设备106经由一个或多个输出设备(例如,显示器)呈现与任务相关的至少一个记录消息相关联的表示。例如,在可选元素包括折叠线绪的一些实施方式中,选择可选元素可以在仅呈现所选择的几条信息(例如,任务、主题等)的折叠状态和消息子集的一个或多个消息可见的展开状态之间切换折叠线绪。在一些实施方式中,折叠线绪可以包括多级,例如类似于树,其中,对某些消息(例如,来自另一用户或来自自动化助理120的消息)的响应可以被折叠在来自用户的语句的下方。
在其他实施方式中,选择可选元素可以简单地打开消息124的时间记录,例如在客户端设备106的显示器上可见,并且自动扫描到形成由该可选元素表示的谈话的第一消息。在一些实施方式中,将仅呈现形成由可选元素表示的谈话的一部分的那些消息。在其他实施方式中,可以呈现时间顺序消息交换记录124的所有消息,并且可以更明显地,例如,以不同的颜色、突出显示、加粗等呈现由可选元素表示的谈话的消息。在一些实施方式中,用户可能能够例如通过选择上/下箭头、“下一个”/“前一个”按钮等,“切换”由可选元素表示的谈话消息。如果其他中间消息散布在感兴趣的谈话的消息中,在一些实施方式中,可以跳过那些中间消息。
在一些实施方式中,选择表示谈话的可选元素可以使得包含在谈话消息中的链接(例如,超链接、所谓的“深层链接”)被显示为例如列表。以这方式,用户可以快速点击谈话的表示可选元素,以查看谈话中例如由用户、自动化助理120和/或由谈话中的其他参与者提到的链接。附加地或可替选地,选择可选元素可以仅使得呈现来自自动化助理120的消息,而来自用户的消息被省略或变得不那么明显。提供过去谈话的这些所谓“突出显示”可以提供一种技术优势,即允许用户尤其是提供输入能力有限的用户(例如,残疾用户、正在开车或以其他方式无空闲的用户等)查看最可能感兴趣的谈话的部分(例如消息),而不太兴趣的消息则被忽略或呈现得不太明显。
图2A-D示出了用户(图中的“YOU”)与自动化助理的实例(图1中的120,在图2A-D中未示出)之间的四个不同的人机对话会话(或“谈话”)的示例。以智能电话或平板电脑(但不限于此)形式的客户端设备206包括触摸屏240。在触摸屏240上可视地呈现的是客户端设备206的用户(图2A-D中的“YOU”)与在客户端设备206上执行的自动化助理120的实例之间的人机对话会话的至少一部分的记录242。还提供了用户能够提供自然语言内容的输入字段244,以及其他类型的输入,诸如图像、声音等。
在图2A中,用户以“How much is<item>at<store_A>?(在<商店A>中的<物品>多少钱?)”的问题启动人机对话会话。<括号>中包含的术语旨在表示特定(例如通用)类型的通用指示器,而不是特定实体。自动化助理120(图2A-D中的“AA”)执行任何必要的搜索并作出响应,“<store_A>is selling<item>for$39.95.(<商店A>以39.95美元的价格出售<物品>。)”然后用户问:“Is anyone else selling it cheaper?(有人卖得更便宜吗?)”自动化助理120执行任何必要的搜索并作出响应,“Yes,<store_B>is selling<item>for$32.99.(是,<商店B>以32.99美元的价格出售<物品>。)”然后,用户问“Can you give medirections to<store_B>?(你能给我到<商店B>的指引吗?)”自动化助理120执行任何必要的搜索和其他处理(例如,由与客户端设备206集成的位置坐标传感器确定用户的当前位置)并做出响应,“Here is a link to your maps application with directions to<store_B>preloaded(这是到您的地图应用的链接,其中,预加载到<商店B>的指引)”。该链接(图2A中带下划线的文本)可以是所谓的“深层链接”,当被选中时,它会使得客户端设备206(或另一客户端设备,诸如用户的车辆导航***)打开预先转换为加载到<商店B>的方位的状态的地图应用。然后,用户问:“What about online?(在线情况如何?)”自动化助理120回答:“Here is a link to<store_B's>webpage offering<item>for sale with freeshipping(这是到出售<物品>并免费送货的<商店B的>的网页的链接。)”
图2B再次图示了具有触摸屏240和用户输入字段244以及人机对话会话的记录242的客户端设备206。在该示例中,用户(“您”)与自动化助理120进行交互,以研究并最终与油漆工预约。用户通过键入和/或说出(可以被识别并转换为文本)自然语言输入“"Whichpainter has better reviews,<painter_A>or<painter_B>?(哪个油漆工的评论更好,<油漆工A>或<油漆工B>?)”来启动人机对话。自动化助理120(“AA”)回答说:“<painter_B>hasbetter reviews—an average of 4.5starts—than<painter_A>,with an average of3.7stars(<油漆工B>具有更好的评论,平均4.5星,<油漆工A>,平均3.7星。)”然后,用户问:“Does<painter_B>take online reservations for giving estimates?(<油漆工B>是否接受在线预约以进行估价?)”在执行了必要的搜索/处理之后,自动化助理120回答:“Yes,here is a link.It looks like<painter_B>has an opening next Wednesday at 2:00PM(是的,这里是链接。看起来<油漆工B>下周三下午2:00有空。)”(再次,图2B中带下划线的文本表示可选择的超链接)。
用户然后回答:“"OK,book me.Are there any other painters in town withcomparable reviews?(好,给我预约。镇上还有其他油漆工得到类似的评价吗?)”在执行了必要的搜索/处理之后,自动化助理会回答:“You are booked for next Wednesday at 2:00PM.<painter_C>has fairly positive reviews—an average of 4.4stars.Here's<painter_C's>webpage(下星期三下午2:00已经预约。<油漆工C>的评论相当不错,平均4.4颗星。这是<油漆工C的>网页。)”文本“Wednesday at 2:00PM”在图2B中带有下划线,以指示它可选择以打开填写了预约的相关详细信息的日历条目。还提供了到<painter_C's>网站的链接。
在图2C中,用户在人机对话中与自动化助理120交互,以执行与飞往芝加哥的机票有关的研究,并且最终购买与之相关的机票。用户开始说:“How much for a flight toChicago this Thursday?(这星期四去芝加哥的机票多少钱?)”在进行了必要的搜索和/或处理(例如,向各家航空公司查询航班和价格)之后,自动化助理120会回答:“It's$400on<airline>if you depart on Thursday(如果您在周四出发,<航班>为400美元。)”然后,用户通过询问“What kind of reviews did<movie>get?(<电影>获得了什么样的评论?)”突然改变了话题。在执行任何必要的搜索/处理之后,自动化助理120回答“Negative,only1.5stars on average(否定,平均仅1.5星)”。
然后,用户将谈话转到芝加哥的一般主题,询问:“What's the weather forecastfor Chicago this Thursday?(本星期四芝加哥的天气预报是什么?)”在执行任何必要的搜索/处理之后,自动化助理120响应“Partly cloudy and 70degree(部分多云,温度为70度)”。然后,用户说:“OK.Buy me a ticket to Chicago with my<credit card>(好。用<***>给我买一张去芝加哥的票)”(可以假定自动化助理120的记录中具有用户的一张或多张***)。自动化助理120执行任何必要的搜索/预约/处理,并回答“Done.Here is alink to your itinerary on<airline's>website(完成。这是您在<航班>网站上的行程的链接)”。再次,图2C中带下划线的文本表示用户可以操作(例如,使用安装在客户端设备206上的网络浏览器)以进入航空公司网站的可选链接。在其他实施方式中,可以向用户提供到安装在客户端设备206上的航空公司预约应用的预定状态的深层链接。
在图2D中,用户和消息交换线绪中的另一个参与者(“Frank”)组织与其朋友Sarah的生日有关的活动。用户开始说:“What should we do for Sarah's birthday onMonday?(星期一莎拉的生日该怎么办?)”Frank回答:“Let's meet somewhere for pizza(我们找个地方吃披萨。)”在指出“Sarah is a foodie(Sarah是美食家)”之后,然后,用户通过询问“@AA:What's the highest rated pizza place in town?(@AA:镇上评价最高的披萨店是什么?)”来与自动化助理120交谈。自动化助理120执行任何必要的搜索/处理(例如,扫描附近披萨餐厅的评论)并回答,“<pizza_restaurant>has an average rating of9.5out of ten.Would you like me to make a reservation on Monday usingreservation app>?(<披萨店>的平均评分为10分中的9.5。您是否希望使用<预约app>在星期一预约?)”用户同意:“Yes,at 7PM(是的,晚上7点。)”在使用本地安装的餐厅预约应用预约了所有必要的安排之后,自动化助理120会回答:“You are booked for Monday at 7:00PM.Here's a link to<reservation_app>if you want to change your reservation.(已经为您预约星期一下午7:00。如果您要更改预约,这是<预约app>的链接。)”
在图2A-D中图示的任何一个谈话可以包括用户可能希望稍后再访问的信息、链接、可选元素或其他内容。在许多情况下,图2A-D的谈话中交换的所有消息可以存储在用户以后可以重新访问的时间顺序记录(例如124)中。但是,如果用户与自动化助理120广泛地交互,则时间记录124可能很长,因为图2A-D中图示的消息可以散布在形成不同谈话的部分的其他消息中。简单地滚动时间顺序记录124来定位感兴趣的特定谈话可能乏味和/或具有挑战性,特别是对提供输入能力有限的用户(例如,身体残疾的用户或参与其他活动诸如驾驶的用户)。
因此,如上所述,例如,消息组织模块126可以基于各种信号、共享属性等,将消息分组为集群或“谈话”。例如,可以通过消息组织模块126来生成与每个集群相关联的谈话元数据。谈话元数据可以例如由消息呈现模块128使用来生成与每个集群/谈话相关联的可选元素。然后,用户可能能够更快速地扫过这些可选元素,而不是由这些可选元素表示的谈话背后的所有消息,从而找到感兴趣的特定过去谈话。在图2E中图示了一个非限制性示例。
图2E图示了客户端设备206在触摸屏240上渲染一系列可选元素2601-4之后的客户端设备206,每个可选元素表示形成不同谈话的底层消息集群。第一可选元素2601表示与图2A中图示的价格研究有关的谈话。第二可选元素2602表示与图2B中图示的油漆工有关的谈话。第三可选元素2603表示与图2C中图示的芝加哥之旅有关的谈话。第四可选元素2604表示与图2D中图示的组织Sarah的生日活动有关的谈话。因此,可以看出,在单个屏中向用户呈现了四个可选元素2601-4,这些元素共同表示了用户否则将不得不滚动时间顺序消息记录124来定位的众多消息。在一些实施方式中,用户可以简单地点击或以其他方式选择(例如,敲击、双击等)将与至少一个记录消息相关联的表示呈现的可选元素260。尽管在图2E中将可选元素260图示为出现在触摸屏240上的“卡”,但这并不意味着限制。在各种实施方式中,可选元素可以采用其他形式,例如可折叠线绪、链接等。
在图2E中,每个可选元素260传达从相应的底层谈话中提取的各种信息。第一可选元素2601包括一般地传达该谈话的主题/任务的标题(“Price research on<item>(对<物品>的价格研究)”),以及由自动化助理120合并到谈话中的两个链接。在一些实施方式中,被并入到底层谈话中的任何链接或者感兴趣的其他组件(例如,深层链接)可以同样地被并入(尽管在一些情况下以缩写形式)表示该谈话的可选元素260中。在一些实施方式中,如果谈话包括相对大量的链接,则可以将最近(即,最后一次)出现的(例如,用户基于可用的触摸屏不动产选择或确定的)特定数量的链接合并到相应的可选元素260。在一些实施方式中,可以仅将与任务的目标或结果相关的那些链接(例如,获取物品、预约车票、组织活动细节)合并到相应的可选元素260中。在第一可选元素2601的情况下,在底层谈话中仅包含两个链接,因此这两个链接已经被合并到第一可选元素2601中。值得注意的是,第一链接是深链接,当其被选择时,打开安装在客户端设备206上的、具有预加载的指引的地图/导航应用。
第二可选元素2602还包括通常与底层谈话的主题/任务相关的标题(“Researchon painters(油漆工研究)”)。与第一可选元素2601一样,第二可选元素2602包括被并入到图2B所示的谈话中的多个链接。选择第一链接打开到包括<painter_B's>在线预约***的网页的浏览器。可以选择第二链接来打开计划约会的日历条目。第二可选元素2602中还包括的是所包括的、例如与<painter_C>有关的附加信息,因为这是自动化助理120并入谈话中的最后一条信息(这可能暗示用户会对其有兴趣)。
第三可选元素2603包括飞机的图形,其指示它与进行旅行安排的任务和预约飞机票的结果有关的谈话相关。如果谈话没有导致购票,则第三可选元素2603可以包括例如可选择以完成购票的链接。第三可选元素2603还包括到航空公司网站上的用户行程的链接,以及所支付的金额和所使用的<***>。与其他可选元素260一样,通过第三可选元素2603,消息组织模块126和/或消息呈现模块128试图浮现(即向用户呈现)由底层谈话产生的最相关的数据点。
第四可选元素2604包括标题“Sarah's birthday(Sarah的生日)”。第四可选元素2604还包括到聚会的日历条目的链接,以及到用于创建预约的预约应用的深层链接。可以基于各种信号排序或排名可选元素260。在一些实施方式中,可以按时间顺序排序可选元素260,例如,表示最新(或最早)谈话的可选元素在顶部。在其他实施方式中,可以基于其他信号,诸如结果/目标/下一步(例如,是否进行了购买?)、谈话中的消息数量、谈话中的参与者数量、任务重要性、任务即时性(例如,与即将发生的活动相关的谈话可能比与先前活动相关的谈话排名更高)来对可选元素260进行排序。
如上所述,在图2E中,用户可以选择要呈现的、具有与每个底层谈话相关联的表示的任何可选元素2601-4(在链接以外的区域中,每个元素右上方的v形等)。但是,用户也可以点击或以其他方式选择要直接转到相应目的地/应用的各个链接,而不必查看底层消息。
图2A、2B和2D中图示的谈话是相对独立的谈话(主要是为了清楚和简洁起见)。但是,这并不意味着限制。单个谈话(或相关消息集群)不必一定是单个人机对话会话的一部分。实际上,用户可以在第一谈话中使自动化助理120参与有关主题的讨论,其间使自动化助理120参与有关其他主题的任意数量的其他谈话,然后在后续的人机对话中,重新访问第一谈话的主题。但是,可以将这些在时间上分离但在语义上相关的消息组织为集群。这是本文所述技术提供的一个技术优势:语义上或以其他方式相关的时间分散的消息可以被合并为用户易于检索的集群或谈话,而无需提供大量输入(例如,滚动、关键字搜索等)。当然,在一些实施方式中,消息还可以基于时间接近度、谈话接近度(即,包含在同一人机对话会话中或在时间上接近的人机对话会话)等,全部或部分地被组织为集群或谈话。
图2F图示了在用户选择第三可选元素2603之后,客户端设备206可以图示的一个非限制性示例。如上所述,在图2C中图示了由第三可选元素2603表示的谈话。该谈话包括与到芝加哥的行程安排有关、与图2C图示的其余消息无关的两条消息(“What kind ofreviews did<movie>get?”和“Negative,only 1.5stars on average”)。因此,在图2F中,省略号262被示出以指示与底层谈话无关的那些消息已被省略。在一些实施方式中,用户可能能够选择省略号262以查看那些消息。当然,可以使用其他符号来表示省略的中间消息。省略号仅是一个示例。
图2G图示了一种替代方式,其中,可以将可选元素3601-N呈现给图2E中的可选元素。在图2G中,用户正在操作客户端设备206以滚动记录242的消息(为简洁和清楚起见,故意留空),特别是使用第一垂直定向滚动条270A。同时,呈现了图形元素272,该图形元素272图示了表示当前在触摸屏240上可视谈话的可选元素360。替选地可以由用户操作的第二水平定向滚动条270B指示由当前显示在触摸屏上的消息表示的谈话的相对位置。换句话说,滚动条270A和270B协同工作:当用户向下滚动该滚动条270A时,滚动条270B向右移动;当用户向上滚动滚动条270A时,滚动条270B向左移动。同样地,当用户向右滚动滚动条270B时,滚动条270A向下移动,并且当用户向左滚动滚动条270B时,滚动条270A向上移动。
在一些实施方式中,用户可以选择(例如,点击、敲击等)可选元素360以垂直地滚动消息,使得底层谈话的第一消息被呈现在顶部。在一些实施方式中,用户可以通过对相应的可选元素360起作用来对消息集群(或谈话)执行各种动作。例如,在一些实施方式中,用户可以能够“轻扫”可选元素360以便对底层消息一同地执行某些操作,例如删除它们、共享它们、将它们保存到不同的位置、标记它们等。尽管图形元素272被图示为叠加在消息上,但这并不意味着限制。在各种实施方式中,图形元素272(或可选元素360本身)可以被呈现在触摸屏240的与包含消息的屏幕不同或分离的部分上。
图3图示了根据各种实施方式,用于实施本公开的所选方面的示例方法300。为了方便起见,参考执行该操作的***来描述流程图的操作。该***可以包括各种计算机***的各种组件,包括自动化助理120、消息组织模块126、消息呈现模块128等。此外,尽管以特定顺序示出了方法300的操作,但这并不意味着限制。可以重新排序、省略或添加一项或多项操作。
在框302处,***可以分析作为至少一个用户和自动化助理之间的一个或多个人机对话会话的一部分而交换的消息的时间顺序记录。如上所述,这些人机对话会话可以仅涉及一个用户和/或可以涉及多个用户。该分析可以包括例如主题分类器127标识各个消息的主题、时间上接近的消息组的主题,通过各种单词聚类消息、时间上聚类消息进行、空间上聚类消息等。
在框304处,***可以基于该分析来识别与由至少一个用户经由一个或多个人机对话会话执行的任务有关的消息的时间顺序记录的至少一个子集(或“集群”或“谈话”)。例如,***可以识别在被聚类时形成图2A-D中图示的不同谈话的消息。
在框306,***可以基于消息的时间顺序记录的子集的内容和任务来生成与消息的时间顺序记录的子集相关联的谈话元数据。例如,***可以选择由主题分类器127标识为标题的主题(或任务),并且可以选择链接和/或其他相关数据(例如,谈话的第一/最后一条消息),以将其并入数据结构中,该数据结构可以被存储在存储器中和/或作为包传输到远程计算设备。
在可选框308处,***可以通过一个或多个网络将谈话元数据(或指示它的其他信息,诸如XML、HTML等)提供给客户端设备(例如106、206)。在客户端设备处执行操作302-306的一些实施方式中,显然可以省略操作308。在框310处,客户端计算设备(例如106、206)可以经由与客户端计算设备相关联的输出设备来提供传达任务或主题的可选元素,如在图2E和2G所示。在各种实施方式中,选择可选元素可以使客户端计算设备经由输出设备呈现与任务或主题相关的记录消息中的至少一个相关联的表示。这些表示可以包括例如消息本身、从消息中提取的链接等。
图4是可以可选地用于执行本文所述的技术的一个或多个方面的示例计算设备410的框图。在一些实施方式中,客户端计算设备、自动化助理120、和/或其它组件中的一个或多个可以包括示例计算设备410的一个或多个组件。
计算设备410通常包括经由总线子***412与多个***设备通信的至少一个处理器414。这些***设备可以包括存储子***424包括例如存储器子***425和文件存储子***426、用户接口输出设备420、用户接口输入设备422和网络接口子***416。输入设备和输出设备允许用户与计算设备410交互。网络接口子***416提供到外部网络的接口并且耦合至其它计算设备中的相应接口设备。
用户接口输入设备422可以包括键盘、指示设备诸如鼠标、轨迹球、触摸板或者图形输入板、扫描仪、并入显示器中的触摸屏、音频输入设备诸如语音识别***、麦克风和/或其它类型的输入设备。一般而言,使用术语“输入设备”旨在包括将信息输入到计算设备410中或者到通信网络上的所有可能类型的设备和方法。
用户接口输出设备420可以包括显示子***、打印机、传真机、或者非可视显示器诸如音频输出设备。显示子***可以包括阴极射线管(CRT)、平板设备诸如液晶显示器(LCD)、投影设备、或者用于创建可视图像的一些其它机构。显示子***还可以提供非可视显示器,诸如,经由音频输出设备。一般而言,使用术语“输出设备”旨在包括将信息从计算设备410输出至用户或者至另一机器或者计算设备的所有可能类型的设备和方法。
存储子***424存储提供本文所述的模块中的一些或者所有的功能的编程和数据结构。例如,存储子***424可以包括执行方法300的所选方面,以及实现图1中图示的各个组件的逻辑。
这些软件模块通常由处理器414单独或者与其它处理器组合执行。用在存储子***424中的存储器425可以包括多个存储器,该多个存储器包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)430以及存储固定指令的只读存储器(ROM)432。文件存储子***426可以为程序和数据文件提供永久存储,并且可以包括硬盘驱动器、软盘驱动器连同相关联的可移动介质、CD-ROM驱动器、光盘驱动器、或者可移动介质盒。实现某些实施方式的功能的模块可以由文件存储子***426存储在存储子***424中或者可以存储在可由处理器414访问的其它机器中。
总线子***412提供用于使计算设备410的各种组件和子***按照预期的方式彼此通信的机制。虽然总线子***412被示意性地示出为单个总线,但是总线子***的替选实施方式可以使用多个总线。
计算设备410可以有各种类型,包括工作站、服务器、计算集群、刀片式服务器、服务器群、或者任何其它数据处理***或者计算设备。由于计算机和网络的性质多变,图4中图示的计算设备410的描述仅仅旨在作为为了说明一些实施方式的目的的具体示例。计算设备410的许多其它配置可能具有比图4中图示的计算设备更多或者更少的组件。
在本文所讨论的某些实施方式可以收集或者使用关于用户的个人信息(例如,从其它电子通信提取到的用户数据、关于用户的社交网络的信息、用户的位置、用户的时间、用户的生物特征信息,以及用户的活动和人口统计信息、用户之间的关系等)的情况下,为用户提供控制是否收集信息、是否存储个人信息、是否使用个人信息、以及如何收集、存储和使用关于用户的信息的一个或多个机会。即,本文所讨论的***和方法仅在从相关用户接收到可以这样做的明确授权时,才收集、存储和/或使用用户个人信息。
例如,为用户提供控制程序或者功能部件是否收集关于该特定用户或者与程序或者功能特征相关的其它用户的用户信息。为将收集个人信息的每个用户呈现一个或多个选项:允许控制与该用户相关的信息收集、提供关于是否收集信息和关于收集信息的哪些部分的许可或者授权。例如,可以通过通信网络,为用户提供一个或多个这样的控制选项。另外,某些数据在被存储或者使用之前,可以以一种或者多方式来处理,从而移除个人身份信息。作为一个示例,可以处理用户的身份,从而无法确定个人身份信息。作为另一示例,可以将用户的地理位置泛化到更大的区域,从而无法确定用户的具***置。在本公开的背景下,可以以安全的方式来维护由***捕获的任何关系诸如父母-子女关系,使得在自动化助理之外不可通过使用这些关系来访问它们以分析和/或解释自然语言输入。
虽然在本文中已经描述和示出了多个实施方式,但是可以利用用于执行功能和/或获得结果和/或本文所述的一个或多个优点的各种其它装置和/或结构,并且认为这类变形和/或改进中的每一个在本文所述的实施方式的范围内。更一般地,本文所述的所有参数、尺寸、材料和配置是指示例性的,并且实际参数、尺寸、材料和/或配置将取决于使用了本教导的具体应用。本领域的技术人员仅仅使用常规实验即将认识或者能够确定本文所述的具体实施方式的许多等同物。因此,将理解到,前述实施方式仅仅以举例的方式呈现,并且在所附权利要求书和其等同物的范围内,可以不同于所具体描述和所要求保护的方式来实现实施方式。本公开的实施方式是针对本文所述的每一单个特征、***、制品、材料、套件和/或方法。另外,如果这些特征、***、制品、材料、套件和/或方法并非相互矛盾,则两个或以上这些特征、***、制品、材料、套件和/或方法的任意组合被包括在本公开的范围内。

Claims (16)

1.一种用于组织消息的方法,包括:
由一个或多个处理器分析作为至少一个用户和自动化助理之间的两个或更多个人机对话会话的一部分而交换的消息的时间顺序记录;
基于所述分析,由所述一个或多个处理器将所述消息的时间顺序记录中的第一多个消息分组为与所述用户执行第一任务有关的第一子集,并且将所述消息的时间顺序记录中的第二多个消息分组为与所述用户执行第二任务有关的第二子集,
其中所述第一子集和所述第二子集中的每一个至少包括由所述用户输入的一个自然语言消息和由所述自动化助理提供的一个自然语言消息,并且
其中所述分组是至少部分地基于:
与所述第一子集和所述第二子集中的个体消息相关联的时间戳,或
所述第一子集和所述第二子集中的个体消息所提及的主题;以及
由所述一个或多个处理器基于所述消息的时间顺序记录的所述第一子集和第二子集的内容和所述第一任务和第二任务,生成与所述消息的时间顺序记录的所述第一子集和第二子集相关联的相应的第一谈话元数据和第二谈话元数据;
其中,所述第一谈话元数据使得一个或多个客户端计算设备经由与所述一个或多个客户端计算设备相关联的一个或多个输出设备来提供传达所述第一任务的第一可选元素,其中,对所述第一可选元素的选择使得所述客户端计算设备中的一个或多个经由所述输出设备中的一个或多个来再现关于所述第一任务的所述消息的时间顺序记录的所述第一子集中的消息中的至少一些;以及
其中,所述第二谈话元数据使得所述客户端计算设备中的一个或多个经由与所述输出设备中的一个或多个来提供传达所述第二任务的第二可选元素,其中,对所述第二可选元素的选择使得所述客户端计算设备中的一个或多个经由所述输出设备中的一个或多个来再现关于所述第二任务的所述消息的时间顺序记录的所述第二子集中的消息中的至少一些。
2.如权利要求1所述的方法,进一步包括由所述一个或多个处理器基于所述消息的时间顺序记录的所述第一子集的内容来识别所述第一任务的结果。
3.如权利要求2所述的方法,其中,所述第一可选元素传达所述第一任务的所述结果。
4.如权利要求2所述的方法,其中,所述第一任务的所述结果包括物品的获取。
5.如权利要求2所述的方法,其中,所述第一任务包括组织活动。
6.如权利要求5所述的方法,其中,所述第一任务的所述结果包括与所组织的活动相关联的细节。
7.如权利要求1所述的方法,进一步包括由所述一个或多个处理器基于所述消息的时间顺序记录的所述第一子集的内容,识别用于完成所述第一任务的下一步骤,其中,所述第一可选元素传达所述下一步骤。
8.如权利要求1所述的方法,其中,所述分组是进一步基于所述第一任务的结果。
9.如权利要求1所述的方法,其中,所述第一可选元素包括可折叠线绪,所述可折叠线绪在被选择时扩展以提供所述消息的时间顺序记录的所述第一子集。
10.如权利要求1所述的方法,其中,所述第一可选元素包括所述第一子集的个体消息,并且对所述第一子集的所述个体消息的选择使得以视觉上不同于第二方式的第一方式呈现所述第一子集的一个或多个其他个体消息,所述消息的时间顺序记录的其他消息以所述第二方式来呈现。
11.如权利要求1至10中任一项所述的方法,其中,所述第一可选元素包括与所述消息的时间顺序记录的所述第一子集相关联或包含在其中的一个或多个图标。
12.如权利要求1至10中任一项所述的方法,其中,所述第一可选元素包括由所述自动化助理在所述消息的时间顺序记录的所述第一子集中的一个个体消息中向所述用户提供的一个或多个超链接。
13.如权利要求1至10中任一项所述的方法,其中,所述消息的时间顺序记录的所述第一子集中的消息是按时间顺序再现的。
14.如权利要求1至10中任一项所述的方法,其中,所述消息的时间顺序记录的所述第一子集中的消息是按相关性顺序再现的。
15.一种用于组织消息的***,所述***包括一个或多个处理器以及与所述一个或多个处理器可操作地耦合的存储器,其中,所述存储器存储指令,所述指令在由所述一个或多个处理器执行时使得所述一个或多个处理器执行如权利要求1-14中任一项所述的方法。
16.包括指令的至少一种非瞬时性计算机可读介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器执行如权利要求1至14中任一项所述的方法。
CN201880027624.9A 2017-04-26 2018-04-25 用于组织消息的方法、***和非瞬时性计算机可读介质 Active CN110603545B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/498,173 US20180314532A1 (en) 2017-04-26 2017-04-26 Organizing messages exchanged in human-to-computer dialogs with automated assistants
US15/498,173 2017-04-26
PCT/US2018/029361 WO2018200673A1 (en) 2017-04-26 2018-04-25 Organizing messages exchanged in human-to-computer dialogs with automated assistants

Publications (2)

Publication Number Publication Date
CN110603545A CN110603545A (zh) 2019-12-20
CN110603545B true CN110603545B (zh) 2024-03-12

Family

ID=62196711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880027624.9A Active CN110603545B (zh) 2017-04-26 2018-04-25 用于组织消息的方法、***和非瞬时性计算机可读介质

Country Status (4)

Country Link
US (1) US20180314532A1 (zh)
EP (1) EP3602426A1 (zh)
CN (1) CN110603545B (zh)
WO (1) WO2018200673A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452251B2 (en) * 2017-05-23 2019-10-22 Servicenow, Inc. Transactional conversation-based computing system
US20190075069A1 (en) * 2017-09-01 2019-03-07 Qualcomm Incorporated Behaviorally modelled smart notification regime
US10431219B2 (en) * 2017-10-03 2019-10-01 Google Llc User-programmable automated assistant
US20190138996A1 (en) * 2017-11-03 2019-05-09 Sap Se Automated Intelligent Assistant for User Interface with Human Resources Computing System
US11437045B1 (en) * 2017-11-09 2022-09-06 United Services Automobile Association (Usaa) Virtual assistant technology
KR102607666B1 (ko) * 2018-08-08 2023-11-29 삼성전자 주식회사 전자 장치에서 사용자 의도 확인을 위한 피드백 제공 방법 및 장치
US10817317B2 (en) * 2019-01-24 2020-10-27 Snap Inc. Interactive informational interface
CN110619099B (zh) * 2019-05-21 2022-06-17 北京无限光场科技有限公司 一种评论内容显示方法、装置、设备及存储介质
US11269590B2 (en) 2019-06-10 2022-03-08 Microsoft Technology Licensing, Llc Audio presentation of conversation threads
US11367429B2 (en) 2019-06-10 2022-06-21 Microsoft Technology Licensing, Llc Road map for audio presentation of communications
US11887586B2 (en) * 2021-03-03 2024-01-30 Spotify Ab Systems and methods for providing responses from media content

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004737A (zh) * 2007-01-24 2007-07-25 贵阳易特软件有限公司 基于关键词的个性化文档处理***
EP2575128A2 (en) * 2011-09-30 2013-04-03 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
CN104519205A (zh) * 2013-10-04 2015-04-15 三星电子株式会社 管理通信记录的方法及其电子装置
CN106575503A (zh) * 2014-06-18 2017-04-19 微软技术许可有限责任公司 用于对话理解***的会话上下文建模

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040162724A1 (en) * 2003-02-11 2004-08-19 Jeffrey Hill Management of conversations
US7409641B2 (en) * 2003-12-29 2008-08-05 International Business Machines Corporation Method for replying to related messages
JP4197344B2 (ja) * 2006-02-20 2008-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 音声対話システム
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US20140122083A1 (en) * 2012-10-26 2014-05-01 Duan Xiaojiang Chatbot system and method with contextual input and output messages
US20140245140A1 (en) * 2013-02-22 2014-08-28 Next It Corporation Virtual Assistant Transfer between Smart Devices
US10445115B2 (en) * 2013-04-18 2019-10-15 Verint Americas Inc. Virtual assistant focused user interfaces
CN110442699A (zh) * 2013-06-09 2019-11-12 苹果公司 操作数字助理的方法、计算机可读介质、电子设备和***
US10691698B2 (en) * 2014-11-06 2020-06-23 International Business Machines Corporation Automatic near-real-time prediction, classification, and notification of events in natural language systems
US11004154B2 (en) * 2015-03-02 2021-05-11 Dropbox, Inc. Collection of transaction receipts using an online content management service

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004737A (zh) * 2007-01-24 2007-07-25 贵阳易特软件有限公司 基于关键词的个性化文档处理***
EP2575128A2 (en) * 2011-09-30 2013-04-03 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
CN104519205A (zh) * 2013-10-04 2015-04-15 三星电子株式会社 管理通信记录的方法及其电子装置
CN106575503A (zh) * 2014-06-18 2017-04-19 微软技术许可有限责任公司 用于对话理解***的会话上下文建模

Also Published As

Publication number Publication date
EP3602426A1 (en) 2020-02-05
WO2018200673A1 (en) 2018-11-01
CN110603545A (zh) 2019-12-20
US20180314532A1 (en) 2018-11-01

Similar Documents

Publication Publication Date Title
CN110603545B (zh) 用于组织消息的方法、***和非瞬时性计算机可读介质
JP7419485B2 (ja) 非要請型コンテンツの人間対コンピュータダイアログ内へのプロアクティブな組込み
JP7443407B2 (ja) 会議能力を有する自動アシスタント
EP3369011B1 (en) Providing suggestions for interaction with an automated assistant in a multi-user message exchange thread
CN110770694B (zh) 获得来自多个语料库的响应信息
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
US20180277108A1 (en) Proactive incorporation of unsolicited content into human-to-computer dialogs
CN112136124A (zh) 用于与计算机实现的自动助理进行人机对话会话的依赖图谈话建模
JP7471371B2 (ja) アシスタントデバイスのディスプレイにレンダリングするコンテンツの選択

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
GR01 Patent grant
GR01 Patent grant