CN116018791A - 在助手系统中使用单个请求进行多人呼叫 - Google Patents

在助手系统中使用单个请求进行多人呼叫 Download PDF

Info

Publication number
CN116018791A
CN116018791A CN202180045696.8A CN202180045696A CN116018791A CN 116018791 A CN116018791 A CN 116018791A CN 202180045696 A CN202180045696 A CN 202180045696A CN 116018791 A CN116018791 A CN 116018791A
Authority
CN
China
Prior art keywords
user
users
helper
particular embodiments
call
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
CN202180045696.8A
Other languages
English (en)
Inventor
N·Y·比哈尔
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.)
Meta Platforms Inc
Original Assignee
Meta Platforms Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Meta Platforms Inc filed Critical Meta Platforms Inc
Publication of CN116018791A publication Critical patent/CN116018791A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1818Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition

Abstract

在一个实施例中,方法包括经由助手xbot从与第一用户相关联的客户端系统接收同时呼叫多个第二用户的用户请求,其中用户请求包括引用多个第二用户的一个或多个引用,通过分别解析对与多个第二用户相关联的多个实体标识符的一个或多个引用来标识多个第二用户,以及通过助手xbot基于多个实体标识符同时发起对多个第二用户的组呼叫。

Description

在助手系统中使用单个请求进行多人呼叫
技术领域
本公开总体上涉及网络环境中的数据库和文件管理,并且具体地涉及用于智能助手系统的硬件和软件。
背景技术
助手系统可以基于用户输入、位置感知以及从各种在线来源(诸如天气状况、交通拥堵、新闻、股票价格、用户日程、零售价格等)访问信息的能力来代表用户提供信息或服务。用户输入可以包括文本(例如,在线聊天)(尤其是在即时消息传递应用或其他应用中)、语音、图像、动作或其组合。助手系统可以执行礼宾类型服务(例如,预订晚餐、购买活动门票、安排旅行),或者基于用户输入提供信息。助手系统还可以基于在线信息和事件来执行管理或数据处理任务,而无需用户发起或交互。可以由助手系统执行的任务的示例可以包括日程管理(例如,向晚餐日期发送警报,该警报提示用户由于交通状况而迟到,更新双方的日程,并且改变餐厅预订时间)。助手系统可以通过计算设备、应用程序编程接口(API)和用户设备上的应用程序增殖的组合来实现。
社交联网系统(其可以包括社交联网网站)可以使得其用户(诸如个人或组织)能够与其交互并且通过它彼此交互。社交联网系统可以利用来自用户的输入在社交联网系统中创建和存储与用户相关联的用户简档。用户简档可以包括人口统计信息、通信通道信息和关于用户个人兴趣的信息。社交联网系统还可以利用来自用户的输入创建和存储用户与社交联网系统的其他用户的关系记录,以及提供服务(例如,简档/新闻提要帖子、照片共享、事件组织、消息传递、游戏或广告)以促进两个或更多个用户之间的社交互动。
社交联网系统可以通过一个或多个网络向用户的移动或其他计算设备发送与其服务相关的内容或消息。用户还可以在用户的移动或其他计算设备上安装软件应用以访问用户的用户简档和社交联网系统内的其他数据。社交联网系统可以生成个性化的内容对象的集合以显示给用户,诸如连接到用户的其他用户的聚合故事的新闻提要。
发明内容
本发明涉及根据权利要求1的一种方法、根据权利要求18的一种或多种计算机可读非暂态存储介质、根据权利要求19的一种系统和根据权利要求20的一种计算机程序产品。有利实施例可以包括从属权利要求的特征。
因此,根据本发明的一种方法包括由一个或多个计算系统:经由助手xbot从与第一用户相关联的客户端系统接收同时呼叫多个第二用户的用户请求,其中用户请求包括引用多个第二用户的一个或多个引用;通过分别解析对与多个第二用户相关联的多个实体标识符的一个或多个引用来标识多个第二用户;以及通过助手xbot基于多个实体标识符来同时发起对多个第二用户的组呼叫。
在一个实施例中,一个或多个引用至少可以包括模糊提及,其中模糊提及对应于来自多个第二用户的特定第二用户。可选地,该方法还可以包括:对模糊提及进行消歧以标识特定第二用户,其中消歧包括:基于个性化机器学习模型确定多个候选用户,其中每个候选用户与置信度分数相关联;基于其相应置信度分数对多个候选用户进行排名;以及基于其相应排名从多个候选用户中标识特定第二用户。进一步可选地,该方法可以包括经由助手xbot向客户端系统发送用于提示第一用户针对特定第二用户的确认的指令。
在另一实施例中,一个或多个引用至少可以包括模糊提及,其中模糊提及对应于来自多个第二用户中的一组第二用户。可选地,该方法还可以包括对模糊提及进行消歧以标识该组第二用户,其中消歧包括:将模糊提及与对应于多个预定组的组标识符的列表分别进行比较,其中每个预定组包括多个用户。进一步可选地,该方法还可以包括:确定与模糊提及相对应的组标识符不存在;经由助手xbot向客户端系统发送用于提示第一用户创建该组的指令;经由助手xbot从客户端系统接收包括与该组中的第二用户中的每个第二用户相关联的信息的一个或多个用户输入;基于一个或多个用户输入创建该组第二用户;以及将所创建的组存储在数据存储中,其中该组与组标识符相关联。
在一个实施例中,根据本发明的方法还可以包括:基于自然语言理解模块标识与用户请求相关联的一个或多个分隔符。可选地,标识多个第二用户可以基于一个或多个分隔符。
在另一实施例中,用户请求可以基于语音输入。
在一个实施例中,该方法还可以包括:基于用户请求从多个代理选择代理以执行与组呼叫相对应的任务。
在另外的实施例中,该方法还可以包括:基于与第一用户相关联的默认设置、与第一用户相关联的用户偏好、第一用户与计算系统之间的历史交互、或预定规则中的一项或多项,从多个代理选择代理以执行与组呼叫相对应的任务。
在一个实施例中,组呼叫可以是语音呼叫或视频呼叫。
在另外的实施例中,通过分别解析对与多个第二用户相关联的多个实体标识符的一个或多个引用来标识多个第二用户可以包括:访问与第一用户相关联的一个或多个联系人列表,其中每个联系人列表包括与多个实体标识符相关联的多个名称;以及将一个或多个引用与多个名称进行比较,以确定针对多个第二用户的多个实体标识符。可选地,一个或多个联系人列表可以被存储在以下中的一项或多项上:客户端系统;计算系统中的一个或多个计算系统;或者一个或多个第三方计算系统。
在一个实施例中,用户请求可以仅包括单个请求,并且其中同时发起对多个第二用户的组呼叫是对单个请求的响应。
在另外的实施例中,同时发起对多个第二用户的组呼叫可以包括:确定任何附加用户输入针对发起组呼叫不是必需的。
在一个实施例中,同时发起对多个第二用户的组呼叫可以包括:同时分别生成从第一用户到多个第二用户的多个通信请求;以及经由网络向与多个第二用户相关联的多个客户端系统同时发送多个通信请求。
根据另一方面,本发明涉及一种或多种包含软件的计算机可读非暂态存储介质,该软件在被执行时可操作以执行上述方法中的任何一个或者用于:经由助手xbot从与第一用户相关联的客户端系统接收同时呼叫多个第二用户的用户请求,其中用户请求包括引用多个第二用户的一个或多个引用;通过分别解析对与多个第二用户相关联的多个实体标识符的一个或多个引用来标识多个第二用户;以及通过助手xbot基于多个实体标识符来同时发起对多个第二用户的组呼叫。
根据另一方面,本发明涉及一种系统,该系统包括:一个或多个处理器;以及耦合到处理器的非暂态存储器,非暂态存储器包括由处理器可执行的指令,处理器在执行指令时可操作以执行上述方法中的任何一个或者用于:经由助手xbot从与第一用户相关联的客户端系统接收同时呼叫多个第二用户的用户请求,其中用户请求包括引用多个第二用户的一个或多个引用;通过分别解析对与多个第二用户相关联的多个实体标识符的一个或多个引用来标识多个第二用户;以及通过助手xbot基于多个实体标识符来同时发起对多个第二用户的组呼叫。
根据又一方面,本发明涉及一种包含软件的计算机程序产品,软件在被执行时可操作以执行上述方法中的任何一个或者用于:经由助手xbot从与第一用户相关联的客户端系统接收同时呼叫多个第二用户的用户请求,其中用户请求包括引用多个第二用户的一个或多个引用;通过分别解析对与多个第二用户相关联的多个实体标识符的一个或多个引用来标识多个第二用户;以及通过助手xbot基于多个实体标识符来同时发起对多个第二用户的组呼叫。
在特定实施例中,助手系统可以帮助用户获取信息或服务。助手系统可以使得用户能够在有状态和多轮会话中通过多模式用户输入(诸如语音、文本、图像、视频、动作)与其交互以获取帮助。作为示例而非限制,助手系统可以支持音频(语言)输入和非语言输入两者,诸如视觉、位置、手势、动作或混合/多模式输入。助手系统可以创建和存储包括与用户相关联的个人信息和上下文信息两者的用户简档。在特定实施例中,助手系统可以使用自然语言理解来分析用户输入。该分析可以基于用户的用户简档,以进行更个性化和上下文感知的理解。助手系统可以基于分析来解析与用户输入相关联的实体。在特定实施例中,助手系统可以与不同代理交互以获取与已解析实体相关联的信息或服务。助手系统可以使用自然语言生成来为用户生成关于信息或服务的响应。通过与用户的交互,助手系统可以使用对话管理技术来管理和推进与用户的会话流。在特定实施例中,助手系统还可以通过对信息进行汇总来帮助用户有效并且高效地消化获取的信息。助手系统还可以通过提供帮助用户与在线社交网络交互(例如,创建帖子、评论、消息)的工具来帮助用户更多地参与在线社交网络。助手系统还可以帮助用户管理不同任务,诸如跟踪事件。在特定实施例中,助手系统可以在与用户相关的时间基于用户简档主动执行与用户兴趣和偏好相关的任务,而无需用户输入。在特定实施例中,助手系统可以检查隐私设置以确保访问用户简档或其他用户信息以及执行不同任务根据用户的隐私设置是被允许的。
在特定实施例中,助手系统可以经由建立在客户端侧进程和服务器侧进程两者之上的混合架构来帮助用户。客户端侧进程和服务器侧进程可以是两个并行的工作流,其用于处理用户输入并且向用户提供帮助。在特定实施例中,客户端侧进程可以在与用户相关联的客户端系统上本地执行。相比之下,服务器侧进程可以在一个或多个计算系统上远程执行。在特定实施例中,客户端系统上的仲裁器可以协调接收用户输入(例如,音频信号),确定要使用客户端侧进程、服务器侧进程还是这两者来响应于用户输入,以及分析每个进程的处理结果。仲裁器可以基于上述分析来指示客户端侧或服务器侧的代理执行与用户输入相关联的任务。执行结果可以进一步作为输出被绘制(render)给客户端系统。通过利用客户端侧进程和服务器侧进程两者,助手系统可以有效地帮助用户进行计算资源的优化使用,同时保护用户隐私和增强安全性。
在特定实施例中,助手系统可以使得用户能够经由助手系统利用单个请求同时呼叫多个人。现有常规系统要求用户一次一个地将人添加到组呼叫中,或者建立电话会议供人们拨入。相反,助手系统可以使得用户能够通过在单个请求中指定这些人的两个或更多个实体名称、昵称、或实体名称和昵称的组合来发起呼叫。作为示例而非限制,请求可以是“呼叫John和Lee”、“呼叫我的兄弟和Lee”或“呼叫我的兄弟和我的姐夫”。助手系统随后可以发起组呼叫而无需另外的用户输入。此外,昵称可以是指一个人或一组人。作为示例而非限制,该请求可以是“呼叫我的好友”。用户甚至可以通过指定个人以及组来请求呼叫。作为示例而非限制,请求可以是“呼叫Danna、Serious先生和我的好友”。在接收到呼叫多个人的请求时,助手系统可以首先对请求进行消歧以标识用户想要呼叫的目标人员。助手系统可以进一步与用户确认消歧,并且在接收到用户确认之后向这些目标人员发起组呼叫。用户可以使用由助手系统支持的不同应用(例如,消息传递应用、视频会议应用等)利用单个请求同时呼叫多个人,并且呼叫可以是语音呼叫或视频呼叫。尽管本公开描述了经由特定系统以特定方式启用特定多人呼叫,但是本公开设想经由任何合适的系统以任何合适的方式提供任何合适的多人呼叫。
在特定实施例中,助手系统可以经由辅助xbot从与第一用户相关联的客户端系统接收同时呼叫多个第二用户的用户请求。用户请求可以包括引用多个第二用户的一个或多个引用。在特定实施例中,助手系统可以通过分别解析对与多个第二用户相关联的多个实体标识符的一个或多个引用来标识多个第二用户。助手系统还可以通过助手xbot基于多个实体标识同时发起对多个第二用户的组呼叫。
启用多人呼叫存在某些技术挑战。一项技术挑战可以包括对用户请求的模糊提及进行消除。本文中公开的实施例提出的用于解决该挑战的解决方案可以是基于个性化机器学习模型确定候选用户,其中每个候选用户与置信度分数相关联,并且在置信度分数低于阈值分数时与用户确认,因为个性化机器学习模型可以使用用户简档信息、与助手系统的历史交互、以及上下文信息来确定候选用户,并且来自用户的确认可以提供另外的说明。
本文中公开的某些实施例可以提供一个或多个技术优势。实施例的技术优势可以包括通过使得用户能够在没有任何附加输入的情况下同时呼叫多个人来改善使用助手系统的用户体验,因为用户可以简单地以任何模态提交单个请求并且助手系统可以有效地标识用户打算呼叫的人并且相应地发起这样的呼叫。本文中公开的某些实施例可以不提供、提供一些或所有上述技术优点。鉴于本公开的附图、说明书和权利要求,对于本领域技术人员来说,一个或多个其他技术优势是很清楚的。
本文中公开的实施例仅仅是示例,并且本公开的范围不限于此。特定实施例可以包括本文中公开的实施例的组件、元件、特征、功能、操作或步骤中的所有、一些或没有任何一个。根据本发明的实施例特别地在涉及方法、存储介质、系统和计算机程序产品的所附权利要求中公开,其中在一个权利要求类别(例如,方法)中提及的任何特征也可以在另一权利要求类别(例如,系统)中要求保护。仅出于形式原因选择所附权利要求中的依赖关系或引用。然而,由于有意回溯到任何先前的权利要求(特别是多重从属关系)而产生的任何主题也可以被要求保护,以便权利要求及其特征的任何组合被公开并且可以被要求保护,而不管在所附权利要求中选择的从属关系如何。可以要求保护的主题不仅包括如所附权利要求中所述的特征的组合,还包括权利要求中的任何其他特征组合,其中权利要求中提到的每个特征可以与权利要求中的任何其他特征或其他特征组合进行组合。此外,本文中描述或描绘的任何实施例和特征可以在单独的权利要求中和/或在与本文中描述或描绘的任何实施例或特征或与所附权利要求的任何特征的任何组合中要求保护。
附图说明
图1示出了与助手系统相关联的示例网络环境。
图2示出了助手系统的示例架构。
图3示出了助手系统的服务器侧进程的示例图流程。
图4示出了由助手系统处理用户输入的示例图流程。
图5A示出了用于呼叫两个人的示例交互。
图5B示出了用于呼叫两个人的另一示例交互。
图6A示出了用于利用昵称来呼叫两个人的示例交互。
图6B示出了用于利用昵称的消歧来呼叫两个人的示例交互。
图7A示出了用于利用昵称来呼叫一组人的示例交互。
图7B示出了用于利用昵称来呼叫一组人的另一示例交互。
图7C示出了用于通过创建组来呼叫一组人的示例交互。
图8A示出了用于利用名字和姓氏的消歧来呼叫多个人的示例交互。
图8B示出了用于利用名字和姓氏的消歧来呼叫多个人的另一示例交互。
图8C示出了用于利用名字和姓氏的消歧来呼叫多个人的另一示例交互。
图9示出了用于利用一个人的昵称和一个组的昵称的混合来呼叫多个人的示例交互。
图10示出了用于启用多人呼叫的示例方法。
图11示出了示例社交图。
图12示出了嵌入空间的示例视图。
图13示出了示例人工神经网络。
图14示出了示例计算机系统。
具体实施方式
系统总览
图1示出了与助手系统相关联的示例网络环境100。网络环境100包括通过网络110彼此连接的客户端系统130、助手系统140、社交联网系统160和第三方系统170。尽管图1示出了客户端系统130、助手系统140、社交联网系统160、第三方系统170和网络110的特定布置,但本公开设想客户端系统130、助手系统140、社交联网系统160、第三方系统170和网络110的任何合适的布置。作为示例而非限制,客户端系统130、社交联网系统160、助手系统140和第三方系统170中的两个或更多个可以绕过网络110直接彼此连接。作为另一示例,客户端系统130、助手系统140、社交联网系统160和第三方系统170中的两个或更多个可以全部或部分地彼此物理地或逻辑地位于同一位置。此外,尽管图1示出了特定数目的客户端系统130、助手系统140、社交联网系统160、第三方系统170和网络110,但本公开设想任何合适的数目的客户端系统130、助手系统140、社交联网系统160、第三方系统170和网络110。作为示例而非限制,网络环境100可以包括多个客户端系统130、助手系统140、社交联网系统160、第三方系统170和网络110。
本公开设想任何合适的网络110。作为示例而非限制,网络110的一个或多个部分可以包括自组织网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网的一部分、公共交换电话网络(PSTN)的一部分、蜂窝电话网络、或这些中的两种或更多种的组合。网络110可以包括一个或多个网络110。
链接150可以将客户端系统130、助手系统140、社交联网系统160和第三方系统170连接到通信网络110或彼此连接。本公开设想任何合适的链路150。在特定实施例中,一个或多个链路150包括一个或多个有线链路(例如,数字用户线(DSL)或有线数据服务接口规范(DOCSIS))、无线链路(例如,Wi-Fi或全球微波接入互操作性(WiMAX))、或光链路(例如,同步光网络(SONET)或同步数字体系(SDH))。在特定实施例中,一个或多个链路150每个包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路150、或两个或更多个这样的链路150的组合。链路150不必在整个网络环境100中相同。一个或多个第一链路150可以在一个或多个方面不同于一个或多个第二链接150。
在特定实施例中,客户端系统130可以是电子设备,该电子设备包括硬件、软件或嵌入式逻辑组件或两个或更多个这样的组件的组合并且能够执行由客户端系统130实现或支持的适当功能。作为示例而非限制,客户端系统130可以包括计算机系统(诸如台式计算机、笔记本或膝上型计算机)、上网本、平板计算机、电子书阅读器、GPS设备、相机、个人数字助手(PDA)、手持电子设备、蜂窝电话、智能手机、智能扬声器、虚拟现实(VR)头戴式耳机、增强现实(AR)智能眼镜、其他合适的电子设备或其任何合适组合。在特定实施例中,客户端系统130可以是智能助手设备。有关智能助手设备的更多信息可以参见于2018年4月9日提交的美国专利申请号15/949011、于2018年10月5日提交的美国专利申请号16/153574、于2018年1月3日提交的美国外观设计专利申请号29/631910、于2018年1月2日提交的美国外观设计专利申请号29/631747、于2018年1月3日提交的美国外观设计专利申请号29/631913、和于2018年1月3日提交的美国外观设计专利申请号29/631914,其中的每个通过引用并入本文。本公开设想任何合适的客户端系统130。客户端系统130可以使得客户端系统130处的网络用户能够访问网络110。客户端系统130可以使得其用户能够与其他客户端系统130处的其他用户通信。
在特定实施例中,客户端系统130可以包括网络浏览器(web browser)132,并且可以具有一个或多个附加组件、插件或其他扩展。客户端系统130处的用户可以输入统一资源定位符(URL)或其他地址,以将网络浏览器132引导到特定服务器(诸如服务器162、或与第三方系统170相关联的服务器),并且网络浏览器132可以生成超文本传输协议(HTTP)请求并且将HTTP请求传送给服务器。服务器可以接受HTTP请求并且响应于HTTP请求而向客户端系统130传送一个或多个超文本标记语言(HTML)文件。客户端系统130可以基于来自服务器的HTML文件来绘制网络界面(例如,网页)以呈现给用户。本公开设想任何合适的源文件。作为示例而非限制,根据特定需要,可以从HTML文件、可扩展超文本标记语言(XHTML)文件或可扩展标记语言(XML)文件绘制网络界面。这样的界面还可以执行脚本、标记语言和脚本的组合等。本文中,在适当的情况下,对网络界面的引用包括一个或多个对应源文件(浏览器可以使用这些源文件来绘制网络界面),反之亦然。
在特定实施例中,客户端系统130可以包括安装在客户端系统130上的社交联网应用134。客户端系统130处的用户可以使用社交联网应用134来访问在线社交网络。客户端系统130处的用户可以使用社交联网应用134与用户的社交关系(例如,朋友、追随者、关注的帐户、联系人等)进行通信。客户端系统130处的用户还可以使用社交联网应用134与在线社交网络上的多个内容对象(例如,帖子、新闻文章、短暂内容等)交互。作为示例而非限制,用户可以使用社交联网应用134浏览趋势主题和突发新闻。
在特定实施例中,客户端系统130可以包括助手应用136。客户端系统130处的用户可以使用助手应用136与助手系统140交互。在特定实施例中,助手应用136可以包括独立应用。在特定实施例中,助手应用136可以集成到社交联网应用134或另一合适的应用(例如,消息传递应用)中。在特定实施例中,助手应用136也可以集成到客户端系统130、辅助硬件设备或任何其他合适的硬件设备中。在特定实施例中,助手应用136可以经由网络浏览器132来访问。在特定实施例中,用户可以经由不同模态提供输入。作为示例而非限制,模态可以包括音频、文本、图像、视频、动作、取向等。助手应用136可以将用户输入传送给助手系统140。基于用户输入,助手系统140可以生成响应。助手系统140可以将生成的响应发送给助手应用136。助手应用136然后可以将响应呈现给客户端系统130处的用户。呈现的响应可以基于不同模态,诸如音频、文本、图像和视频。作为示例而非作为限制,用户可以通过对着客户端系统130的麦克风中说话来向助手应用136口头询问交通信息(即,经由音频模态)。助手应用136然后可以向助手系统140传送请求。助手系统140可以相应地生成响应并且将其发送回助手应用136。助手应用136还可以在客户端系统130的显示器上以文本和/或图像的形式向用户呈现响应。
在特定实施例中,助手系统140可以帮助用户从不同来源检索信息。助手系统140还可以帮助用户向不同服务提供者请求服务。在特定实施例中,助手系统140可以经由客户端系统130中的助手应用136接收对信息或服务的用户请求。助手系统140可以使用自然语言理解来基于用户简档和其他相关信息来分析用户请求。分析的结果可以包括与在线社交网络相关联的不同实体。助手系统140然后可以检索与这些实体相关联的信息或请求服务。在特定实施例中,当为用户检索信息或请求服务时,助手系统140可以与社交联网系统160和/或第三方系统170交互。在特定实施例中,助手系统140可以使用自然语言生成技术为用户生成个性化通信内容。个性化通信内容可以包括例如检索到的信息或所请求的服务的状态。在特定实施例中,助手系统140可以使得用户能够使用对话管理技术在有状态和多轮会话中就信息或服务与其交互。助手系统140的功能在下面在图2的讨论中更详细地描述。
在特定实施例中,社交联网系统160可以是可以托管在线社交网络的网络可寻址计算系统。社交联网系统160可以生成、存储、接收和发送社交联网数据,例如用户简档数据、概念简档数据、社交图信息或与在线社交网络相关的其他合适的数据。社交联网系统160可以由网络环境100的其他组件直接或经由网络110访问。作为示例而非限制,客户端系统130可以使用网络浏览器132访问社交联网系统160,或者直接或经由网络110访问与社交联网系统160相关联的本地应用(例如,移动社交联网应用、消息传递应用、另一合适的应用或其任何组合)。在特定实施例中,社交联网系统160可以包括一个或多个服务器162。每个服务器162可以是单一服务器或跨越多台计算机或多个数据中心的分布式服务器。服务器162可以是各种类型,例如但不限于网络服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、用于执行本文所述的功能或过程的其他合适的服务器、或其任何组合。在特定实施例中,每个服务器162可以包括用于执行由服务器162实现或支持的适当功能硬件、软件或嵌入式逻辑组件或两个或更多个这样的组件的组合。在特定实施例中,社交联网系统160可以包括一个或多个数据存储164。数据存储164可以用于存储各种类型的信息。在特定实施例中,存储在数据存储164中的信息可以根据特定数据结构来组织。在特定实施例中,每个数据存储164可以是关系数据库、列式数据库、相关数据库或其他合适的数据库。尽管本公开描述或示出了特定类型的数据库,但本公开设想任何合适的类型的数据库。特定实施例可以提供使得客户端系统130、社交联网系统160、助手系统140或第三方系统170能够管理、检索、修改、添加或删除存储在数据存储164中的信息的接口。
在特定实施例中,社交联网系统160可以将一个或多个社交图存储在一个或多个数据存储164中。在特定实施例中,社交图可以包括多个节点——其可以包括多个用户节点(每个对应于特定用户)或多个概念节点(每个对应于特定概念)——以及连接节点的多条边。社交联网系统160可以为在线社交网络的用户提供与其他用户通信和交互的能力。在特定实施例中,用户可以经由社交联网系统160加入在线社交网络,然后添加与其想要连接到的社交联网系统160的很多其他用户的连接(例如,关系)。在此,术语“朋友”可以指代社交联网系统160的任何其他用户,用户已经经由社交联网系统160与该其他用户形成连接、关联或关系。
在特定实施例中,社交联网系统160可以为用户提供对社交联网系统160支持的各种类型的项目或对象采取行动的能力。作为示例而非限制,项目和对象可以包括社交联网系统160的用户可以所属的群组或社交网络、用户可能感兴趣的事件或日历条目、用户可以使用的基于计算机的应用、允许用户经由服务、与用户可以执行的广告的交互来购买或出售项目的事务、或者其他合适的项目或对象。用户可以与能够在社交联网系统160中或由第三方系统170的外部系统表示的任何东西进行交互,第三方系统170与社交联网系统160分离并且经由网络110耦合到社交联网系统160。
在特定实施例中,社交联网系统160可以能够链接各种实体。作为示例而非限制,社交联网系统160可以使得用户能够彼此交互以及从第三方系统170或其他实体接收内容,或者允许用户通过应用程序编程接口(API)或其他通信通道与这些实体交互。
在特定实施例中,第三方系统170可以包括一种或多种类型的服务器、一个或多个数据存储、一个或多个接口,包括但不限于API、一个或多个网络服务、一个或多个内容源、一个或多个网络或任何其他合适的组件,例如服务器可以与之通信的组件。第三方系统170可以由与操作社交联网系统160的实体不同的实体操作。然而,在特定实施例中,社交联网系统160和第三方系统170可以彼此结合操作以向社交联网系统160或第三方系统170的用户提供社交联网服务。在这个意义上,社交联网系统160可以提供平台或骨干,诸如第三方系统170等其他系统可以使用该平台或骨干通过互联网向用户提供社交联网服务和功能。
在特定实施例中,第三方系统170可以包括第三方内容对象提供者。第三方内容对象提供者可以包括可以传送给客户端系统130的一个或多个内容对象源。作为示例而非限制,内容对象可以包括关于用户感兴趣的事物或活动的信息,例如电影放映时间、电影评论、餐厅评论、餐厅菜单、产品信息和评论或其他合适的信息。作为另一示例而非限制,内容对象可以包括激励内容对象,诸如优惠券、折扣票、礼券或其他合适的激励对象。在特定实施例中,第三方内容提供商可以使用一个或多个第三方代理来提供内容对象和/或服务。第三方代理可以是在第三方系统170上托管和执行的实现。
在特定实施例中,社交联网系统160还包括可以增强用户与社交联网系统160的交互的用户生成内容对象。用户生成内容可以包括用户可以添加、上传、发送或“发布”到社交联网系统160的任何内容。作为示例而非限制,用户将帖子从客户端系统130传送给社交联网系统160。帖子可以包括数据,诸如状态更新或其他文本数据、位置信息、照片、视频、链接、音乐或其他类似数据或媒体。也可以由第三方通过“通信通道”(诸如新闻提要或流)向社交联网系统160添加内容。
在特定实施例中,社交联网系统160可以包括各种服务器、子系统、程序、模块、日志和数据存储。在特定实施例中,社交联网系统160可以包括以下中的一项或多项:网络服务器、动作记录器、API请求服务器、相关性和排名引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象暴露日志、推理模块、授权/隐私服务器、搜索模块、广告定位模块、用户界面模块、用户简档存储、连接存储、第三方内容存储或位置存储。社交联网系统160还可以包括合适的组件,诸如网络接口、安全机制、负载平衡器、故障转移服务器、管理和网络操作控制台、其他合适的组件或其任何合适组合。在特定实施例中,社交联网系统160可以包括用于存储用户简档的一个或多个用户简档商店。用户简档可以包括例如传记信息、人口统计信息、行为信息、社会信息或其他类型的描述性信息,诸如工作经验、教育历史、爱好或偏好、兴趣、亲和力或位置。兴趣信息可以包括与一个或多个类别相关的兴趣。类别可以是一般的或特定。作为示例而非限制,如果用户“喜欢”关于鞋品牌的文章,则类别可以是品牌,或者是一般类别“鞋”或“服装”。连接存储可以用于存储关于用户的连接信息。连接信息可以指示具有相似或共同工作经验、组成员资格、爱好、教育历史或以任何方式相关或共享共同属性的用户。连接信息还可以包括不同用户与内容(内部和外部两者)之间的用户定义的连接。网络服务器可以用于将社交联网系统160经由网络110链接到一个或多个客户端系统130或一个或多个第三方系统170。网络服务器可以包括邮件服务器或其他消息传递功能,以接收和在社交联网系统160与一个或多个客户端系统130之间路由消息。API请求服务器可以允许例如助手系统140或第三方系统170通过调用一个或多个API来访问来自社交联网系统160的信息。动作记录器可以用于从网络服务器接收关于用户在社交联网系统160上或之外的动作的通信。与动作日志相结合,可以维护到第三方内容对象的用户曝光的第三方内容对象日志。通知控制器可以向客户端系统130提供关于内容对象的信息。可以将信息作为通知推送到客户端系统130,或者可以响应于从客户端系统130接收的请求而从客户端系统130提取信息。授权服务器可以用于强制实施社交联网系统160的用户的一个或多个隐私设置。用户的隐私设置确定与用户相关联的特定信息如何共享。授权服务器可以允许用户选择加入或退出让其动作由社交联网系统160记录或与其他系统(例如,第三方系统170)共享,例如通过设置适当隐私设置。第三方内容对象存储可以用于存储从诸如第三方系统170等第三方接收的内容对象。位置存储可以用于存储从与用户相关联的客户端系统130接收的位置信息。广告定价模块可以组合社交信息、当前时间、位置信息或其他合适的信息,以便以通知的形式向用户提供相关广告。
助手系统
图2示出了助手系统140的示例架构。在特定实施例中,助手系统140可以帮助用户获取信息或服务。助手系统140可以使得用户能够在有状态和多轮会话中通过多模式用户输入(诸如语音、文本、图像、视频、动作)与其交互以获取帮助。作为示例而非限制,助手系统140可以支持音频输入(语言)和非语言输入两者,诸如视觉、位置、姿势、动作或混合/多模式输入。助手系统140可以创建和存储包括与用户相关联的个人信息和上下文信息两者的用户简档。在特定实施例中,助手系统140可以使用自然语言理解来分析用户输入。该分析可以基于用户的用户简档,以进行更个性化和上下文感知的理解。助手系统140可以基于分析来解析与用户输入相关联的实体。在特定实施例中,助手系统140可以与不同代理交互以获取与已解析实体相关联的信息或服务。助手系统140可以使用自然语言生成来为用户生成关于信息或服务的响应。通过与用户的交互,助手系统140可以使用对话管理技术来管理和转发与用户的会话流。在特定实施例中,助手系统140还可以通过对信息进行汇总来帮助用户有效并且高效地消化获取的信息。助手系统140还可以通过提供帮助用户与在线社交网络交互(例如,创建帖子、评论、消息)的工具来帮助用户更多地参与在线社交网络。助手系统140还可以辅助用户管理不同任务,诸如跟踪事件。在特定实施例中,助手系统140可以在与用户相关的时间基于用户简档主动执行与用户兴趣和偏好相关的预授权任务,而无需用户输入。在特定实施例中,助手系统140可以检查隐私设置以确保访问用户的简档或其他用户信息以及执行不同任务根据用户的隐私设置是被允许的。有关协助用户进行隐私设置的更多信息可以参见于2018年11月6日提交的美国专利申请号16/182542,该专利通过引用并入本文。
在特定实施例中,助手系统140可以经由建立在客户端侧进程和服务器侧进程两者之上的混合架构来帮助用户。客户端侧进程和服务器侧进程可以是两个并行的工作流,其用于处理用户输入并且向用户提供帮助。在特定实施例中,客户端侧进程可以在与用户相关联的客户端系统130上本地执行。相比之下,服务器侧进程可以在一个或多个计算系统上远程执行。在特定实施例中,客户端系统130上的助手编排器可以协调接收用户输入(例如,音频信号),并且确定要使用客户端侧进程、服务器侧进程还是这两者来响应于用户输入。对话仲裁器可以分析每个进程的处理结果。对话仲裁器可以基于上述分析来指示客户端侧或服务器侧的代理执行与用户输入相关联的任务。执行结果可以进一步作为输出被绘制给客户端系统130。通过利用客户端侧进程和服务器侧进程两者,助手系统140可以有效地帮助用户进行计算资源的优化使用,同时保护用户隐私和增强安全性。
在特定实施例中,助手系统140可以从与用户相关联的客户端系统130接收用户输入。在特定实施例中,用户输入可以是用户生成的输入,其在单轮中被发送给助手系统140。用户输入可以是语言的、非语言的或其组合。作为示例而非限制,非语言用户输入可以基于用户的语音、视觉、位置、活动、手势、动作或其组合。如果用户输入基于用户的语音(例如,用户可以对客户端系统130说话),则这样的用户输入可以首先由系统音频API 202(应用程序编程接口)处理。系统音频API 202可以进行回声消除、噪声去除、波束成形和用户自身语音激活、说话者标识、语音活动检测(VAD)和任何其他声学技术,以生成易于由助手系统140处理的音频数据。在特定实施例中,系统音频API 202可以根据用户输入执行唤醒词检测204。作为示例而非限制,唤醒词可以是“嘿助手”。如果检测到这样的唤醒词,则助手系统140可以被相应地激活。在备选实施例中,用户可以经由视觉信号激活助手系统140而无需唤醒词。视觉信号可以在可以检测各种视觉信号的低功率传感器(例如,相机)处接收。作为示例而非限制,视觉信号可以是由客户端系统130检测到的条形码、QR码或通用产品代码(UPC)。作为另一示例而非限制,视觉信号可以是用户对对象的注视。作为又一示例而非限制,视觉信号可以是用户手势,例如,用户指向对象。
在特定实施例中,来自系统音频API 202的音频数据可以被发送给助手编排器206。助手编排器206可以在客户端系统130上执行。在特定实施例中,助手编排器206可以确定要使用客户端侧进程、服务器侧进程还是这两者来响应于用户输入。如图2所示,客户端侧进程在虚线207下方示出,而服务器侧进程在虚线207上方示出。助手编排器206还可以确定要同时使用客户端侧进程和服务器侧进程两者来响应于用户输入。虽然图2将助手编排器206示出为客户端侧进程,但助手编排器206可以是服务器侧进程,或者可以是在客户端侧进程与服务器侧进程之间分离的混合进程。
在特定实施例中,在音频数据从系统音频API 202被生成之后,服务器侧进程可以如下。助手编排器206可以将音频数据发送给托管助手系统140的不同模块的远程计算系统以响应于用户输入。在特定实施例中,音频数据可以在远程自动语音识别(ASR)模块208处接收。ASR模块208可以允许用户口述语音并且将语音转录为书面文本,将文档合成为音频流,或者发出由系统这样识别的命令。ASR模块208可以使用统计模型来确定与由助手系统140作为音频输入而接收的给定语音部分相对应的最可能的词序列。模型可以包括隐马尔可夫模型、神经网络、深度学习模型或其任何组合中的一种或多种。接收的音频输入可以以特定采样率(例如,16kHz、44.1kHz或96kHz)并且以表示每个样本的特定比特数(例如,8比特、16或比特24比特)编码为数字数据。
在特定实施例中,ASR模块208可以包括不同组件。ASR模块208可以包括字形到音素(G2P)模型、发音学习模型、个性化声学模型、个性化语言模型(PLM)或端点模型中的一种或多种。在特定实施例中,G2P模型可以用于确定用户的字形到音素风格,例如,当特定用户说出特定词时它听起来像什么。个性化声学模型可以是音频信号与语言中语音单元的声音之间的关系的模型。因此,这样的个性化声学模型可以标识用户的声音是如何发声的。个性化声学模型可以使用训练数据来生成,诸如作为音频输入而接收的训练语音和与语音相对应的对应语音单元。个性化声学模型可以使用特定用户的语音来训练或改进以识别该用户的语音。在特定实施例中,个性化语言模型然后可以确定与特定音频输入的所标识的语音单元相对应的最可能的短语。个性化语言模型可以是语言中各种词序列出现的概率的模型。音频输入中的语音单元的声音可以使用个性化语言模型与词序列匹配,并且更可能是语言中的短语的词序列可以被分配更大权重。然后可以选择具有最高权重的词序列作为与音频输入相对应的文本。在特定实施例中,个性化语言模型还可以用于预测在给定上下文的情况下用户最有可能说什么词。在特定实施例中,端点模型可以检测何时到达话语的结尾。
在特定实施例中,ASR模块208的输出可以被发送给远程自然语言理解(NLU)模块210。NLU模块210可以执行命名实体解析(NER)。NLU模块210可以在分析用户输入时另外考虑上下文信息。在特定实施例中,意图和/或槽(slot)可以是NLU模块210的输出。意图可以是预定义分类的语义意图中的元素,其可以指示与助手系统140交互的用户的目的。NLU模块210可以将用户输入分类到预定义分类的成员中,例如,对于输入“播放贝多芬的第五交响曲”,NLU模块210可以将输入分类为具有意图[IN:play_music]。在特定实施例中,域可以表示交互的社会上下文(例如,教育)、或用于一组意图的名称空间(例如,音乐)。槽可以是与用户输入中的字符串相对应的命名子串,表示基本语义实体。例如,“pizza”的槽可以是[SL:dish]。在特定实施例中,一组有效或预期命名槽可以以分类意图为条件。作为示例而非限制,对于意图[IN:play_music],有效槽可以是[SL:song_name]。在特定实施例中,NLU模块210可以另外从社交图、知识图或概念图中的一个或多个中提取信息,并且从一个或多个远程数据存储212中检索用户的简档。NLU模块210可以进一步通过确定要聚合的信息、注释用户输入的n元语法、基于聚合信息按置信度分数对n元语法进行排名、以及将排名后的n元语法表述为可以供NLU模块210使用以理解用户输入的特征来处理来自这些不同来源的信息。
在特定实施例中,NLU模块210可以以个性化和上下文感知方式从用户输入中标识域、意图或槽中的一个或多个。作为示例而非限制,用户输入可以包括“告诉我如何去咖啡店”。NLU模块210可以基于用户的个人信息和相关联的上下文信息来标识用户想要去的特定咖啡店。在特定实施例中,NLU模块210可以包括特定语言的词典、以及用于将语句分割成内部表示的解析器和语法规则。NLU模块210还可以包括一个或多个程序,该程序对语用学的使用执行朴素语义或随机语义分析以理解用户输入。在特定实施例中,解析器可以基于包括多个长短期记忆(LSTM)网络的深度学习架构。作为示例而非限制,解析器可以基于递归神经网络语法(RNNG)模型,这是一种类型的递归和循环LSTM算法。有关自然语言理解的更多信息可以参见于2018年6月18日提交的美国专利申请号16/011062、于2018年7月2日提交的美国专利申请号16/025317和于2018年7月17日提交的美国专利申请号16/038120,每个通过引用并入本文。
在特定实施例中,NLU模块210的输出可以被发送给远程推理模块214。推理模块214可以包括对话管理器和实体解析组件。在特定实施例中,对话管理器可以具有复杂的对话逻辑和产品相关商业逻辑。对话管理器可以管理用户与助手系统140之间的会话的对话状态和流程。对话管理器可以另外存储用户与助手系统140之间的先前会话。在特定实施例中,对话管理器可以与实体解析组件通信以解析与一个或多个槽相关联的实体,这支持对话管理器推进用户与助手系统140之间的会话流。在特定实施例中,实体解析组件在解析实体时可以访问社交图、知识图或概念图中的一个或多个。例如,实体可以包括唯一用户或概念,每个用户或概念可以具有唯一标识符(ID)。作为示例而非限制,知识图可以包括多个实体。每个实体可以包括与一个或多个属性值相关联的单个记录。特定记录可以与唯一实体标识符相关联。对于实体的属性,每条记录可以具有不同值。每个属性值可以与置信概率相关联。属性值的置信概率表示该值对于给定属性是准确的概率。每个属性值也可以与语义权重相关联。属性值的语义权重可以表示在考虑到所有可用信息的情况下该值在语义上适合给定属性的程度。例如,知识图可以包括实体“爱丽丝历险记”一本书,该实体包括从多个内容源(例如,在线社交网络、在线百科全书、书评源、媒体数据库和娱乐内容源)中提取的信息,然后进行重复数据删除、解析和融合,以生成知识图的单个唯一记录。该实体可以与指示“爱丽丝历险记”一书的类型的“幻想”属性值相关联。有关知识图的更多信息可以参见于2018年7月27日提交的美国专利申请号16/048049和于2018年7月27日提交的美国专利申请号16/048101,每个通过引用并入本文。
在特定实施例中,实体解析组件可以检查隐私约束以保证实体的解析不违反隐私策略。作为示例而非限制,要解析的实体可以是在他/她的隐私设置中指定他/她的身份不应当在在线社交网络上可搜索到的另一用户,因此实体解析组件可能不会响应于请求而返回该用户的标识符。基于从社交图、知识图、概念图和用户简档中获取的信息,并且遵守适用的隐私策略,实体解析组件因此可以以个性化上下文感知和隐私感知方式解析与用户输入相关联的实体。在特定实施例中,每个已解析实体可以与由社交联网系统160托管的一个或多个标识符相关联。作为示例而非限制,标识符可以包括与特定用户相对应的唯一用户标识符(ID)(例如,唯一用户名或用户ID号)。在特定实施例中,每个已解析实体也可以与置信度分数相关联。有关解析实体的更多信息可以参见于2018年7月27日提交的美国专利申请号16/048049和于2018年7月27日提交的美国专利申请号16/048072,每个通过引用并入本文。
在特定实施例中,对话管理器可以进行对话优化和助手状态跟踪。对话优化是使用数据来理解对话中最可能的分支应当是什么的问题。作为示例而非限制,通过对话优化,助手系统140可能不需要确认用户想要呼叫谁,因为助手系统140对基于对话优化而推断的人很可能是用户想呼叫的人具有高置信度。在特定实施例中,对话管理器可以使用强化学习来进行对话优化。助手状态跟踪旨在跟踪随着用户与世界交互以及助手系统140与用户交互而随时间变化的状态。作为示例而非限制,助手状态跟踪可以跟踪用户正在谈论什么、用户与谁在一起、用户在哪里、当前正在进行什么任务以及用户的视线在哪里等,受适用的隐私策略约束。在特定实施例中,对话管理器可以使用一组运算符来跟踪对话状态。运算符可以包括更新对话状态所需要的数据和逻辑。在处理传入请求之后,每个运算符都可以充当对话状态的增量。在特定实施例中,对话管理器还可以包括对话状态跟踪器和动作选择器。在备选实施例中,对话状态跟踪器可以替换实体解析组件并且解析引用/提及并且跟踪状态。
在特定实施例中,推理模块214可以进一步进行错误触发缓解。错误触发缓解的目标是检测辅助请求的错误触发(例如,唤醒词)并且避免在用户实际上不打算调用助手系统140时生成错误记录。作为示例而非限制,推理模块214可以基于无意义检测器实现错误触发缓解。如果无意义检测器确定唤醒词在与用户的交互中此时没有意义,则推理模块214可以确定推断用户打算调用助手系统140可能是不正确的。在特定实施例中,推理模块214的输出可以被发送给远程对话仲裁器216。
在特定实施例中,ASR模块208、NLU模块210和推理模块214中的每个可以访问远程数据存储212,该远程数据存储212包括用户情景存储器以确定如何更有效地帮助用户。有关情景存储器的更多信息可以参见于2019年8月27日提交的美国专利申请号16/552559,该专利通过引用并入本文。数据存储212可以另外存储用户的用户简档。用户的用户简档可以包括用户简档数据,该用户简档数据包括与用户相关联的人口统计信息、社交信息和上下文信息。用户简档数据还可以包括用户对多个主题的兴趣和偏好,这通过新闻提要、搜索日志、消息平台等上的会话进行聚合。用户简档的使用可能会受到隐私约束,以确保用户的信息只能用于他/她的利益,不得与其他任何人共享。有关用户简档的更多信息可以参见于2018年4月30日提交的美国专利申请号15/967239,该专利通过引用并入本文。
在特定实施例中,与涉及ASR模块208、NLU模块210和推理模块214的前述服务器侧进程并行地,客户端侧进程可以如下。在特定实施例中,助手编排器206的输出可以被发送给客户端系统130上的本地ASR模块216。ASR模块216可以包括个性化语言模型(PLM)、G2P模型和端点模型。由于客户端系统130的计算能力有限,助手系统140可以在客户端侧进程期间在运行时优化个性化语言模型。作为示例而非限制,助手系统140可以为用户可能谈论的多个可能主题预先计算多个个性化语言模型。当用户请求帮助时,助手系统140然后可以快速交换这些预先计算的语言模型,使得个性化语言模型可以在运行时由助手系统140基于用户活动在本地进行优化。结果,助手系统140可以具有节省计算资源同时高效地确定用户可能正在谈论什么的技术优势。在特定实施例中,助手系统140还可以在运行时快速地重新学习用户发音。
在特定实施例中,ASR模块216的输出可以被发送给本地NLU模块218。在特定实施例中,本文中的NLU模块218与在服务器侧支持的远程NLU模块210相比可以更紧凑。当ASR模块216和NLU模块218处理用户输入时,它们可以访问本地助手存储器220。为了保护用户隐私,本地助手存储器220可以不同于存储在数据存储212上的用户存储器。在特定实施例中,本地助手存储器220可以经由网络110与存储在数据存储212上的用户存储器同步。作为示例而非限制,本地助手存储器220可以将用户的客户端系统130上的日历与与用户相关联的服务器侧日历同步。在特定实施例中,本地助手存储器220中的任何安全数据只能由在客户端系统130上本地执行的助手系统140的模块访问。
在特定实施例中,NLU模块218的输出可以被发送给本地推理模块222。推理模块222可以包括对话管理器和实体解析组件。由于计算能力有限,推理模块222可以进行基于特别为客户端系统130而定制的学习算法的设备上学习。作为示例而非限制,推理模块222可以使用联合学习。联合学习是一种特定类别的分布式机器学习方法,它使用驻留在最终设备(诸如手机)上的分散数据来训练机器学习模型。在特定实施例中,推理模块222可以使用特定联合学习模型(即,联合用户表示学习)将现有神经网络个性化技术扩展到联合学习。联合用户表示学习可以通过学习任务特定用户表示(即,嵌入)或通过个性化模型权重来个性化联合学习中的模型。联合用户表示学习是一种简单、可扩展、保护隐私和资源高效的方法。联合用户表示学习可以将模型参数划分为联合参数和私有参数。私有参数(诸如私有用户嵌入)可以在客户端系统130上本地训练,而不是被传送给远程服务器或在远程服务器上进行平均。相比之下,联合参数可以在服务器上远程训练。在特定实施例中,推理模块222可以使用另一特定联合学习模型(即,主动联合学习)将在远程服务器上训练的全局模型传输给客户端系统130,并且在这些客户端系统130上本地计算梯度。主动联合学习可以使得推理模块能够最小化与下载模型和上传梯度相关联的传输成本。对于主动联合学习,在每一轮中,客户端系统不是均匀随机选择的,而是以一定概率来选择的,该概率以当前模型和客户端系统上的数据为条件以最大化效率。在特定实施例中,推理模块222可以使用另一特定联合学习模型,即,联合Adam。常规联合学习模型可以使用随机梯度下降(SGD)优化器。相比之下,联合Adam模型可以使用基于矩的优化器。与常规工作一样直接使用平均模型不同,联合Adam模型可以使用平均模型来计算近似梯度。然后,这些梯度可以被馈入联合Adam模型,该模型可以对随机梯度进行降噪并且使用每参数自适应学习率。由联合学习产生的梯度可能比随机梯度下降更嘈杂(因为数据可能不是独立同分布的),因此联合Adam模型可以有助于更好地处理噪声。联合Adam模型可以使用梯度来采取更智能的步骤来最小化目标函数。实验表明,基准上的常规联合学习在ROC(接收器操作特性)曲线上下降了1.6%,而联合Adam模型仅下降了0.4%。此外,联合Adam模型在通信或设备计算方面没有增加。在特定实施例中,推理模块222还可以执行错误触发缓解。当用户的语音输入包括受隐私约束的数据时,这种错误触发缓解可以帮助检测客户端系统130上的错误激活请求,例如唤醒词。作为示例而非限制,当用户在语音呼叫中时,用户的会话是私密的,并且基于这种会话的错误触发检测只能在用户的客户端系统130上本地发生。
在特定实施例中,助手系统140可以包括本地上下文引擎224。上下文引擎224可以处理所有其他可用信号以向推理模块222提供更多信息提示。作为示例而非限制,上下文引擎224可以具有与人有关的信息、通过计算机视觉技术进一步分析的来自客户端系统130传感器(例如,麦克风、相机)的感知数据、几何构造、活动数据、惯性数据(例如,由VR头戴式耳机收集)、位置等。在特定实施例中,计算机视觉技术可以包括人体骨骼重构、面部检测、面部识别、手部跟踪、眼睛跟踪等。在特定实施例中,几何构造可以包括使用由客户端系统130收集的数据来构造用户周围的对象。作为示例而非限制,用户可能戴着AR眼镜,并且几何构造可以旨在确定地板在哪里、墙在哪里、用户的手在哪里等。在特定实施例中,惯性数据可以是与线性和角运动相关联的数据。作为示例而非限制,惯性数据可以通过AR眼镜来捕获,该AR眼镜测量用户的身体部位如何移动。
在特定实施例中,本地推理模块222的输出可以被发送给对话仲裁器216。对话仲裁器216可以在三个场景中以不同方式起作用。在第一种场景中,助手编排器206确定要使用服务器侧进程,对话仲裁器216可以针对这个进程将推理模块214的输出传输给远程动作执行模块226。在第二种场景中,助手编排器206确定要使用服务器侧进程和客户端侧进程两者,对话仲裁器216可以针对这两个进程聚合两个进程的来自两个推理模块(即,远程推理模块214和本地推理模块222)的输出并且分析它们。作为示例而非限制,对话仲裁器216可以执行排名并且选择最佳推理结果以响应于用户输入。在特定实施例中,对话仲裁器216可以进一步基于分析来确定是使用服务器侧的代理还是客户端侧的代理来执行相关任务。在第三种场景中,助手编排器206确定要使用客户端侧进程,并且对话仲裁器216需要评估本地推理模块222的输出以确定客户端侧进程是否可以完成处理用户输入的任务。在备选实施例中,如果助手编排器206确定要使用客户端侧进程并且客户端侧进程完全能够处理用户输入,则推理模块222的输出可以不发送给对话仲裁器216。
在特定实施例中,对于上述第一场景和第二场景,对话仲裁器216可以确定服务器侧的代理对于响应于用户输入而执行任务是必要的。因此,对话仲裁器216可以将关于用户输入的必要信息发送给动作执行模块226。动作执行模块226可以调用一个或多个代理来执行任务。在备选实施例中,对话管理器的动作选择器可以确定要执行的动作并且相应地指示动作执行模块226。在特定实施例中,代理可以是跨用于一个域的多个内容提供者充当经纪人的实现。内容提供者可以是负责执行与意图相关联的动作或完成与意图相关联的任务的实体。在特定实施例中,代理可以包括第一方代理和第三方代理。在特定实施例中,第一方代理可以包括由助手系统140可访问和可控制的内部代理(例如,与由在线社交网络提供的服务相关联的代理,诸如消息服务或照片共享服务)。在特定实施例中,第三方代理可以包括助手系统140无法控制的外部代理(例如,第三方在线音乐应用代理、门票销售代理)。第一方代理可以与提供由社交联网系统160托管的内容对象和/或服务的第一方提供者相关联。第三方代理可以与提供由第三方系统170托管的内容对象和/或服务的第三方提供者相关联。在特定实施例中,可以为特定域指定第一方代理或第三方代理中的每个。作为示例而非限制,域可以包括天气、交通、音乐等。在特定实施例中,助手系统140可以协作地使用多个代理来响应于用户输入。作为示例而非限制,用户输入可以包括“将我引导到我的下一次会议”。助手系统140可以使用日历代理来检索下一次会议的位置。助手系统140然后可以使用导航代理将用户引导到下一次会议。
在特定实施例中,对于上述第二场景和第三场景,对话仲裁器216可以确定客户端侧的代理能够响应于用户输入而执行任务,但是需要附加信息(例如,响应模板),或者确定这些任务只能由服务器侧的代理处理。如果对话仲裁器216确定任务只能由服务器侧的代理处理,则对话仲裁器216可以将关于用户输入的必要信息发送给动作执行模块226。如果对话仲裁器216确定客户端侧的代理能够执行任务但需要响应模板时,对话仲裁器216可以将关于用户输入的必要信息发送给远程响应模板生成模块228。响应模板生成模块228的输出可以被进一步发送给在客户端系统130上执行的本地动作执行模块230。在特定实施例中,如果助手编排器206确定要使用客户端侧进程并且客户端侧进程完全能够处理用户输入,则推理模块222的输出可以直接发送给动作执行模块230。
在特定实施例中,动作执行模块230可以调用本地代理来执行任务。与服务器侧的代理相比,客户端系统130上的本地代理可以能够执行更简单的任务。作为示例而非限制,多个设备特定实现(例如,对客户端系统130的实时呼叫或客户端系统130上的消息传递应用)可以由单个代理在内部处理。备选地,这些设备特定实现可以由与多个域相关联的多个代理来处理。在特定实施例中,动作执行模块230可以另外执行一组通用可执行对话动作。该组可执行对话动作可以与代理、用户和助手系统140本身交互。这些对话动作可以包括用于槽请求、确认、消歧、代理执行等的对话动作。对话动作可以独立于动作选择器或对话策略的底层实现。基于树的策略和基于模型的策略两者可以生成相同的基本对话动作,回调函数隐藏任何动作选择器特定实现细节。
在特定实施例中,服务器侧的远程动作执行模块226的输出可以被发送给远程响应执行模块232。在特定实施例中,动作执行模块226可以为了更多信息传送回对话仲裁器216。响应执行模块232可以基于远程会话理解(CU)作曲家。在特定实施例中,动作执行模块226的输出可以被表述为元组<k,c,u,d>,其中k指示知识源,c指示交流目标,u指示用户模型,d指示话语模型。在特定实施例中,CU合成器可以包括自然语言生成(NLG)模块和用户界面(UI)有效载荷生成器。自然语言生成器可以使用不同语言模型和/或语言模板基于动作执行模块226的输出来生成通信内容。在特定实施例中,通信内容的生成可以是应用特定的并且也可以针对每个用户进行个性化。CU合成器还可以使用UI有效载荷生成器确定生成的通信内容的模态。在特定实施例中,NLG模块可以包括内容确定组件、语句规划器和表面实现组件。内容确定组件可以基于知识源、交流目标和用户预期来确定通信内容。作为示例而非限制,该确定可以基于描述逻辑。描述逻辑可以包括例如三个基本概念,即,个体(表示域中的对象)、概念(描述个体的集合)和角色(表示个体或概念之间的二元关系)。描述逻辑可以由一组构造函数来表征,这些构造函数允许自然语言生成器从原子概念/角色构建复杂的概念/角色。在特定实施例中,内容确定组件可以执行以下任务以确定通信内容。第一任务可以包括转换任务,其中自然语言生成器的输入可以被转换成概念。第二任务可以包括选择任务,其中可以基于用户模型在由转换任务产生的概念中选择相关概念。第三任务可以包括验证任务,其中可以验证所选择的概念的连贯性。第四任务可以包括实例化任务,其中可以将经验证的概念实例化为可以由自然语言生成器处理的可执行文件。语句规划器可以确定通信内容的组织以使其易于理解。表面实现组件可以确定要使用的特定词、语句的顺序以及通信内容的风格。UI有效载荷生成器可以确定要呈现给用户的通信内容的优选模态。在特定实施例中,CU合成器可以检查与用户相关联的隐私约束以确保通信内容的生成遵循隐私策略。有关自然语言生成的更多信息可以参见于2018年4月30日提交的美国专利申请号15/967279和于2018年4月30日提交的美国专利申请号15/966455,每个通过引用并入本文。
在特定实施例中,来自客户端系统130上的本地动作执行模块230的输出可以被发送给本地响应执行模块234。响应执行模块234可以基于本地会话理解(CU)合成器。CU合成器可以包括自然语言生成(NLG)模块。由于客户端系统130的计算能力可能有限,NLG模块出于计算效率的考虑可能是简单的。由于NLG模块可能比较简单,因此响应执行模块234的输出可以被发送给本地响应扩展模块236。响应扩展模块236可以进一步扩展响应执行模块234的结果,以使响应更自然并且包含更丰富的语义信息。
在特定实施例中,如果用户输入基于音频信号,则服务器侧的响应执行模块232的输出可以被发送给远程文本到语音(TTS)模块238。类似地,客户端侧的响应扩展模块236的输出可以被发送给本地TTS模块240。两个TTS模块都可以将响应转换为音频信号。在特定实施例中,两侧的响应执行模块232、响应扩展模块236或TTS模块的输出可以最终被发送给本地绘制输出模块242。绘制输出模块242可以生成适合于客户端系统130的响应。作为示例而非限制,响应执行模块232或响应扩展模块236的输出可以包括自然语言字符串、语音、带参数的动作、或可以在VR头戴式耳机或AR智能眼镜中显示的绘制图像或视频中的一种或多种。结果,绘制输出模块242可以基于CU合成器的输出来确定要执行什么任务以适当地绘制响应以显示在VR头戴式耳机或AR智能眼镜上。例如,响应可以是可以经由VR头戴式耳机或AR智能眼镜来显示的基于视觉的模态(例如,图像或视频剪辑)。作为另一示例,响应可以是可以由用户经由VR头戴式耳机或AR智能眼镜来播放的音频信号。作为又一示例,响应可以是可以经由VR头戴式耳机或AR智能眼镜来绘制以增强用户体验的增强现实数据。
在特定实施例中,助手系统140可以具有多种能力,包括音频认知、视觉认知、信号智能、推理和记忆。在特定实施例中,音频识别的能力可以使得助手系统140能够理解与不同语言的各种域相关联的用户输入、理解会话并且能够对其进行汇总、对复杂命令执行设备上音频认知、通过语音标识用户、从会话中提取主题并且自动标记会话的部分、在没有唤醒词的情况下启用音频交互、从环境噪声和会话中过滤和放大用户语音、了解用户正在与哪个客户端系统130(如果多个客户端系统130在附近)交谈。
在特定实施例中,视觉认知能力可以使得助手系统140能够执行面部检测和跟踪、识别用户、以不同角度识别主要大都市区域中的大多数感兴趣的人、通过结合现有机器学习模型和一次性学习来识别世界上大多数感兴趣的对象、识别有趣的时刻并且自动捕获它、实现跨不同时间段的多个视觉帧的语义理解、为人、地点、对象识别的附加能力提供平台支持、识别包括个性化位置的全套设置和微观位置、识别复杂活动、识别用于控制客户端系统130的复杂手势、处理来自以自我为中心的相机的图像/视频(例如,具有运动、捕获角度、分辨率等)、对分辨率较低的图像实现类似水平的准确性和速度、进行人、地点和物体的一次性注册和识别、以及在客户端系统130上执行视觉识别。
在特定实施例中,助手系统140可以利用计算机视觉技术来实现视觉认知。除了计算机视觉技术之外,助手系统140可以探索可以补充这些技术以扩大对象识别的选项。在特定实施例中,助手系统140可以使用补充信号,诸如对象标签的光学字符识别(OCR)、用于位置识别的GPS信号、来自用户的客户端系统130的用于标识用户的信号。在特定实施例中,助手系统140可以执行一般场景识别(家庭、工作、公共空间等)以为用户设置上下文并且减少计算机视觉搜索空间以标识最可能的对象或人。在特定实施例中,助手系统140可以引导用户训练助手系统140。例如,众包可以用于使用户标记并且帮助助手系统140随时间识别更多对象。作为另一示例,用户可以在使用助手系统140时将其个人对象注册为初始建立的一部分。助手系统140可以进一步允许用户为其与之交互的对象提供正/负信号,以训练和改进其个性化模型。
在特定实施例中,信号智能能力可以使得助手系统140能够确定用户位置、理解日期/时间、确定家庭位置、理解用户的日历和未来期望的位置、整合更丰富的声音理解以仅通过声音来标识设置/上下文、在运行时构建可以根据用户的个人例程进行个性化的信号智能模型。
在特定实施例中,推理能力可以使得助手系统140能够在未来的任何时候拾取任何先前的会话线程、合成所有信号以理解微观和个性化上下文、从用户的历史行为中学习交互模式和偏好并且准确地建议其可以重视的交互、基于微观上下文理解生成具有高度预测性的主动建议、了解用户在一天中的什么时间可能想要看到什么内容、了解场景的变化以及这如何影响用户的期望内容。
在特定实施例中,记忆能力可以使得助手系统140能够记住用户先前呼叫或与之交互的社交联系、随意写入存储器和查询存储器(即,开放听写和自动标签)、基于先前交互和长期学习提取更丰富的偏好、记住用户的生活史、从以自我为中心的数据流和自动目录中提取丰富的信息、以及以结构化形式写入存储器以形成丰富的短期、情节和长期记忆。
图3示出了助手系统140的服务器侧进程的示例流程图。在特定实施例中,服务器助手服务模块301可以在接收到用户请求时访问请求管理器302。在备选实施例中,如果用户请求基于音频信号,则可以首先由远程ASR模块208处理用户请求。在特定实施例中,请求管理器302可以包括上下文提取器303和会话理解对象生成器(CU对象生成器)304。上下文提取器303可以提取与用户请求相关联的上下文信息。上下文提取器303还可以基于在客户端系统130上执行的助手应用136来更新上下文信息。作为示例而非限制,上下文信息的更新可以包括显示在客户端系统130上的内容项。作为另一示例而非限制,上下文信息的更新可以包括客户端系统130上是否设置有警报。作为另一示例而非限制,上下文信息的更新可以包括客户端系统130上是否有歌曲正在播放。CU对象生成器304可以生成与用户请求相关的特定内容对象。内容对象可以包括与用户请求相关联的对话会话数据和特征,它们可以由助手系统140的所有模块共享。在特定实施例中,请求管理器302可以将上下文信息和生成的内容对象存储在数据存储212中,数据存储212是在助手系统140中实现的特定数据存储。
在特定实施例中,请求管理器302可以将生成的内容对象发送给远程NLU模块210。NLU模块210可以执行多个步骤以处理内容对象。在步骤305,NLU模块210可以为内容对象生成白名单。在特定实施例中,白名单可以包括与用户请求匹配的解释数据。在步骤306,NLU模块210可以基于白名单来执行特征化。在步骤307,NLU模块210可以基于由特征化产生的特征来对用户请求执行域分类/选择,以将用户请求分类到预定义域中。域分类/选择结果可以基于两个相关过程被进一步处理。在步骤308a,NLU模块210可以使用意图分类器来处理域分类/选择结果。意图分类器可以确定与用户请求相关联的用户意图。在特定实施例中,每个域可以有一个意图分类器以确定给定域中最可能的意图。作为示例而非限制,意图分类器可以基于机器学习模型,该机器学习模型可以将域分类/选择结果作为输入并且计算输入与特定预定义意图相关联的概率。在步骤308b,NLU模块210可以使用元意图分类器来处理域分类/选择结果。元意图分类器可以确定描述用户意图的类别。在特定实施例中,多个域共有的意图可以由元意图分类器处理。作为示例而非限制,元意图分类器可以基于机器学习模型,该机器学习模型可以将域分类/选择结果作为输入并且计算输入与特定预定义元意图相关联的概率。在步骤309a,NLU模块210可以使用槽标记器来注释与用户请求相关联的一个或多个槽。在特定实施例中,槽标记器可以为用户请求的n元语法注释一个或多个槽。在步骤309b,NLU模块210可以使用元槽标记器来注释用于来自元意图分类器的分类结果的一个或多个槽。在特定实施例中,元槽标记器可以标记通用槽,诸如对项目的引用(例如,第一)、槽的类型、槽的值等。作为示例而非限制,用户请求可以包括“将我账户中的500美元兑换成日元”。意图分类器可以将用户请求作为输入并且将其表述为向量。然后,意图分类器可以基于表示用户请求的向量与表示不同预定义意图的向量之间的向量比较来计算用户请求与不同预定义意图相关联的概率。以类似的方式,槽标记器可以将用户请求作为输入并且将每个词表述为向量。然后,意图分类器可以基于表示词的向量与表示不同预定义槽的向量之间的向量比较来计算每个词与不同预定义槽相关联的概率。用户的意图可以分类为“换钱”。用户请求的槽可以包括“500”、“美元”、“账户”和“日元”。用户的元意图可以分类为“金融服务”。元槽可以包括“财务”。
在特定实施例中,NLU模块210可以包括语义信息聚合器310。语义信息聚合器310可以通过提供语义信息来帮助NLU模块210改进内容对象的域分类/选择。在特定实施例中,语义信息聚合器310可以按照以下方式聚合语义信息。语义信息聚合器310可以首先从用户上下文引擎315中检索信息。在特定实施例中,用户上下文引擎315可以包括离线聚合器和在线推理服务。离线聚合器可以处理从先前时间窗口收集的与用户相关联的多个数据。作为示例而非限制,该数据可以包括在预定时间范围内(例如,从之前的90天窗口开始)收集的新闻提要帖子/评论、与新闻提要帖子/评论的交互、搜索历史等。处理结果可以作为用户简档的一部分存储在用户上下文引擎315中。在线推理服务可以分析由助手系统140在当前时间接收的与用户相关联的会话数据。分析结果也可以作为用户简档的一部分存储在用户上下文引擎315中。在特定实施例中,离线聚合器和在线推理服务两者可以从多个数据中提取个性化特征。提取的个性化特征可以由助手系统140的其他模块使用以更好地理解用户输入。在特定实施例中,语义信息聚合器310然后可以在以下步骤中处理从用户上下文引擎315中检索到的信息,即,用户简档。在步骤311,语义信息聚合器310可以基于自然语言处理(NLP)来处理从用户上下文引擎315中检索到的信息。在特定实施例中,语义信息聚合器310可以通过文本规范化来标记文本,从文本中提取语法特征,以及基于NLP从文本中提取语义特征。语义信息聚合器310可以另外从上下文信息中提取特征,上下文信息是从用户与助手系统140之间的对话历史中访问的。语义信息聚合器310可以进一步基于上下文信息来进行全局词嵌入、特定域嵌入、和/或动态嵌入。在步骤312,处理结果可以由实体标记器用实体来注释。基于注释,语义信息聚合器310可以在步骤313为检索到的信息生成字典。在特定实施例中,字典可以包括可以离线动态地更新的全局字典特征。在步骤314,语义信息聚合器310可以对由实体标记器标记的实体进行排名。在特定实施例中,语义信息聚合器310可以与包括社交图、知识图或概念图中的一个或多个的不同图320通信以提取与从用户上下文引擎315中检索到的信息相关的本体数据。在特定实施例中,语义信息聚合器310可以聚合用户简档、排名后的实体和来自图320的信息。语义信息聚合器310然后可以将聚合的信息提供给NLU模块210以促进域分类/选择。
在特定实施例中,NLU模块210的输出可以被发送给远程推理模块214。推理模块214可以包括共同引用组件325、实体解析组件330和对话管理器335。NLU模块210的输出可以首先在共同引用组件325处被接收以解释与用户请求相关联的内容对象的引用。在特定实施例中,共同引用组件325可以用于标识用户请求所引用的项目。共同引用组件325可以包括引用创建326和引用解析327。在特定实施例中,引用创建326可以为由NLU模块210确定的实体创建引用。引用解析327可以准确地解析这些引用。作为示例而非限制,用户请求可以包括“给我找到最近的杂货店并且指引我去那里”。共同引用组件325可以将“那里”解释为“最近的杂货店”。在特定实施例中,共同引用组件325可以在需要以提高准确性来解释引用时访问用户上下文引擎315和对话管理器335。
在特定实施例中,可以将所标识的域、意图、元意图、槽和元槽连同解析的引用一起发送给实体解析组件330以解析相关实体。实体解析组件330可以执行通用和域特定实体解析。在特定实施例中,实体解析组件330可以包括域实体解析331和通用实体解析332。域实体解析331可以通过将槽和元槽分类到不同域中来解析实体。在特定实施例中,可以基于从图320中提取的本体数据来解析实体。本体数据可以包括不同槽/元槽与域之间的结构关系。本体还可以包括关于槽/元槽如何分组、在其中更高级别包括域的层次结构内如何相关、以及如何根据相似性和差异进行细分的信息。通用实体解析332可以通过将槽和元槽分类为不同通用主题来解析实体。在特定实施例中,解析也可以基于从图320中提取的本体数据。本体数据可以包括不同槽/元槽与通用主题之间的结构关系。本体还可以包括关于槽/元槽如何分组、在其中更高级别包括主题的层次结构内如何相关、以及如何根据相似性和差异进行细分的信息。作为示例而非限制,响应于对特定品牌电动汽车的优势的查询的输入,通用实体解析332可以将引用的电动汽车品牌解析为车辆并且域实体解析331可以将引用的电动汽车品牌解析为电动汽车。
在特定实施例中,实体解析组件330的输出可以被发送给对话管理器335以推进与用户的会话流程。对话管理器335可以是重复地更新状态并且基于新状态选择动作的异步状态机。对话管理器335可以包括对话意图解析336和对话状态跟踪器337。在特定实施例中,对话管理器335可以执行所选择的动作,然后再次调用对话状态跟踪器337,直到所选择的动作需要用户响应,或者没有更多动作要执行。所选择的每个动作可以取决于先前动作的执行结果。在特定实施例中,对话意图解析336可以基于用户与助手系统140之间的对话历史来解析与当前对话会话相关联的用户意图。对话意图解析336可以将由NLU模块210确定的意图映射到不同对话意图。对话意图解析336可以进一步基于来自NLU模块210、实体解析组件330的信号以及用户与助手系统140之间的对话历史来对对话意图进行排名。在特定实施例中,代替直接改变对话状态,对话状态跟踪器337可以是无副作用的组件,并且生成建议对话状态更新的对话状态更新运算符的n个最佳候选。对话状态跟踪器337可以包括意图解析器,该意图解析器包含用于基于对话状态来处理不同类型的NLU意图并且生成运算符的逻辑。在特定实施例中,该逻辑可以由意图处理程序来组织,诸如用于在助手系统140请求消歧时处理意图的消歧意图处理程序、包括用于处理确认的逻辑的确认意图处理程序等。意图解析器可以组合轮意图与对话状态以生成与用户的会话的上下文更新。然后,槽解析组件可以使用包括知识图和域代理的解析提供者递归地解析更新运算符中的槽。在特定实施例中,对话状态跟踪器337可以更新/排名当前对话会话的对话状态。作为示例而非限制,如果对话会话结束,则对话状态跟踪器337可以将对话状态更新为“完成”。作为另一示例而非限制,对话状态跟踪器337可以基于与其相关联的优先级来对对话状态进行排名。
在特定实施例中,推理模块214可以分别与远程动作执行模块226和对话仲裁器216通信。在特定实施例中,推理模块214的对话管理器335可以与动作执行模块226的任务完成组件340就对话意图和相关联的内容对象进行通信。在特定实施例中,任务完成模块340可以对不同对话意图的不同对话假定进行排名。任务完成模块340可以包括动作选择器341。在备选实施例中,动作选择器341可以被包括在对话管理器335中。在特定实施例中,对话管理器335可以另外关于对话状态来检查对话仲裁器216中包括的对话策略345。在特定实施例中,对话策略345可以包括描述代理350的动作的执行计划的数据结构。对话策略345可以包括通用策略346和任务策略347。在特定实施例中,通用策略346可以用于不特定于个体任务的操作。通用策略346可以包括处理低置信度意图、内部错误、具有重试的不可接受的用户响应、基于ASR或NLU置信度分数来跳过或插入确认等。通用策略346还可以包括对来自对话状态跟踪器337输出的对话状态更新候选进行排名并且选择一个以进行更新(例如,选择排名靠前的任务意图)的逻辑。在特定实施例中,助手系统140可以具有用于通用策略346的特定接口,该接口允许将分散的跨域策略/业务规则、特别是在对话状态跟踪器337中发现的那些整合到动作选择器341的功能中。通用策略346的接口还可以允许编写可能与特定情况或客户端相关联的自包含子策略单元,例如,可以基于客户端、情况等容易地接通或断开的策略功能。通用策略346的接口还可以允许提供具有回退的策略分层,即,多个策略单元,其中处理特定情况的高度专业化的策略单元由在更广泛的情况下应用的更通用策略346支持。在这种上下文中,通用策略346可以备选地包括意图或任务特定策略。在特定实施例中,任务策略347可以包括用于基于任务和当前状态的动作选择器341的逻辑。在特定实施例中,可以有以下四种类型的任务策略347:1)人工制作的基于树的对话计划;2)直接实现用于生成动作的接口的编码策略;3)配置器指定的槽填充任务;以及4)从数据中学习的基于机器学习模型的策略。在特定实施例中,助手系统140可以用基于规则的逻辑引导新域,然后用机器学习模型细化任务策略347。在特定实施例中,对话策略345可以是基于树的策略,其是预先构造的对话计划。基于当前对话状态,对话策略345可以选择节点来执行并且生成对应动作。作为示例而非限制,基于树的策略可以包括主题分组节点和对话动作(叶)节点。
在特定实施例中,动作选择器341可以采用对话状态的候选运算符并且咨询对话策略345以决定应当执行什么动作。助手系统140可以使用分层对话策略,其中通用策略346处理跨域业务逻辑并且任务策略347处理任务/域特定逻辑。在特定实施例中,通用策略346可以从候选运算符中挑选一个运算符来更新对话状态,然后通过任务策略347选择面向用户的动作。一旦任务在对话状态中是活动的,对应任务策略347可以被参考以选择正确的动作。在特定实施例中,对话状态跟踪器337和动作选择器341两者可以不改变对话状态,直到所选择的动作被执行。这可以允许助手系统140执行对话状态跟踪器337和动作选择器341以处理推测性ASR结果并且使用试运行进行n最佳排名。在特定实施例中,动作选择器341可以将对话状态更新运算符作为输入的一部分来选择对话动作。对话动作的执行可以生成一组预期以指示对话状态跟踪器337处理未来一轮。在特定实施例中,预期可以用于在处理来自下一轮的用户输入时向对话状态跟踪器337提供上下文。作为示例而非限制,槽请求对话动作可以预期证明所请求的槽的值。
在特定实施例中,对话管理器335可以支持槽提及的多轮组合解析。对于来自NLU210的组合解析,解析器可以递归地解析嵌套槽。对话管理器335可以另外支持嵌套槽的消歧。作为示例而非限制,用户请求可以是“提醒我呼叫Alex”。在创建可操作的待办事项提醒实体之前,解析器可能需要知道要呼叫哪个Alex。当特定槽需要进一步的用户说明时,解析器可以停止解析并且设置解析状态。通用策略346可以检查解决状态并且创建对应对话动作以供用户澄清。在对话状态跟踪器337中,基于用户请求和最后的对话动作,对话管理器可以更新嵌套槽。这种能力可以允许助手系统140与用户交互,以不仅收集丢失的槽值,而且减少更复杂/模糊的话语的歧义以完成任务。在特定实施例中,对话管理器可以进一步支持在嵌套意图和多意图用户请求中请求丢失的槽(例如,“拍摄这张照片并且将它发送给爸爸”)。在特定实施例中,对话管理器335可以支持机器学习模型以获取更稳健的对话体验。作为示例而非限制,对话状态跟踪器337可以使用基于神经网络的模型(或任何其他合适的机器学习模型)来对任务假定的信念进行建模。作为另一示例而非限制,对于动作选择器341,最高优先级策略单元可以包括白名单/黑名单覆盖,这可能必须通过设计而发生;中优先级单元可以包括为动作选择而设计的机器学习模型;并且当机器学习模型选择不处理某种情况时,较低优先级的单元可以包括基于规则的回退。在特定实施例中,基于机器学习模型的通用策略单元可以帮助助手系统140减少冗余的消歧或确认步骤,从而减少执行用户请求的轮数。
在特定实施例中,动作执行模块226可以调用不同代理350来进行任务执行。代理350可以在注册的内容提供者中进行选择以完成动作。数据结构可以由对话管理器335基于意图和与该意图相关联的一个或多个槽来构建。对话策略345还可以包括通过逻辑运算符彼此相关的多个目标。在特定实施例中,目标可以是对话策略的一部分的结果,并且它可以由对话管理器335构建。目标可以由具有一个或多个命名变元的标识符(例如,字符串)表示,该变元对目标进行参数化。作为示例而非限制,具有关联目标参数的目标可以表示为{confirm_artist,args:{artist:"Madonna"}}。在特定实施例中,对话策略可以基于树结构表示,其中目标被映射到树的叶子。在特定实施例中,对话管理器335可以执行对话策略345以确定要执行的下一动作。对话策略345可以包括通用策略346和域特定策略347,这两者都可以指导如何基于对话状态来选择下一系统动作。在特定实施例中,动作执行模块226的任务完成组件340可以与对话仲裁器216中包括的对话策略345通信以获取下一系统动作的指导。在特定实施例中,动作选择组件341因此可以基于对话意图、相关联的内容对象和来自对话策略345的指导来选择动作。
在特定实施例中,动作执行模块226的输出可以被发送给远程响应执行模块232。具体地,动作执行模块226的任务完成组件340的输出可以被发送给动作执行模块226的CU合成器355。在备选实施例中,所选择的动作可能需要一个或多个代理350参与。结果,任务完成模块340可以向代理350通知所选择的动作。同时,对话管理器335可以接收用于更新对话状态的指令。作为示例而非限制,更新可以包括等待代理350的响应。在特定实施例中,CU合成器355可以基于任务完成模块340的输出使用自然语言生成(NLG)模块356为用户生成通信内容。在特定实施例中,NLG模块356可以使用不同语言模型和/或语言模板来生成自然语言输出。自然语言输出的生成可能是特定于应用的。自然语言输出的生成也可以针对每个用户进行个性化。CU合成器355还可以使用UI有效载荷生成器357确定生成的通信内容的模态。由于生成的通信内容可以被认为是对用户请求的响应,所以CU合成器355可以另外使用响应排名器358对生成的通信内容进行排名。作为示例而非限制,排名可以指示响应的优先级。
在特定实施例中,响应执行模块232可以基于CU合成器355的输出来执行不同任务。这些任务可以包括写入(即,存储/更新)从数据存储212中检索的对话状态361和生成响应362。在特定实施例中,CU合成器355的输出可以包括自然语言字符串、语音、具有参数的动作、或可以在VR头戴式耳机或AR智能眼镜中显示的绘制图像或视频中的一种或多种。结果,响应执行模块232可以基于CU合成器355的输出来确定要执行什么任务。在特定实施例中,生成的响应和通信内容可以由响应执行模块232发送给本地绘制输出模块242。在备选实施例中,如果所确定的通信内容的模态是音频,则CU合成器355的输出可以另外被发送给远程TTS模块238。由TTS模块238生成的语音和由响应执行模块232生成的响应然后可以被发送给绘制输出模块242。
图4示出了由助手系统140处理用户输入的示例流程图。作为示例而非限制,用户输入可以基于音频信号。在特定实施例中,客户端系统130的麦克风阵列402可以接收音频信号(例如,语音)。音频信号可以以音频帧的格式被传输给处理环路404。在特定实施例中,处理环路404可以发送音频帧以用于语音活动检测(VAD)406和语音唤醒(WoV)检测408。检测结果可以被返回到处理环路404。如果WoV检测408指示用户想要调用助手系统140,则音频帧连同VAD406结果可以一起被发送给编码单元410以生成编码音频数据。在编码之后,出于隐私和安全目的,编码的音频数据可以被发送给加密单元412,随后是链接单元414和解密单元416。在解密之后,音频数据可以被发送给麦克风驱动器418,麦克风驱动器418可以进一步将音频数据发送给音频服务模块420。在备选实施例中,用户输入可以在与客户端系统130配对的无线设备(例如,Bluetooth设备)处接收。相应地,音频数据可以从无线设备驱动器422(例如,Bluetooth驱动器)发送给音频服务模块420。在特定实施例中,音频服务模块420可以确定用户输入可以由在客户端系统130上执行的应用来实现。因此,音频服务模块420可以将用户输入发送给实时通信(RTC)模块424。RTC模块424可以将音频分组递送给视频或音频通信系统(例如,VOIP或视频呼叫)。RTC模块424可以调用相关应用(App)426来执行与用户输入相关的任务。
在特定实施例中,音频服务模块420可以确定用户正在请求需要助手系统140进行响应的帮助。因此,音频服务模块420可以通知客户端助手服务模块426。在特定实施例中,客户端助手服务模块426可以与助手编排器206通信。助手编排器206可以确定是要使用客户端侧进程还是服务器侧进程来响应于用户输入。在特定实施例中,助手编排器206可以确定要使用客户端侧进程并且将这种决定通知客户端助手服务模块426。结果,客户端辅助服务模块426可以调用相关模块来响应于用户输入。
在特定实施例中,客户助手服务模块426可以使用本地ASR模块216来分析用户输入。ASR模块216可以包括字形到音素(G2P)模型、发音学习模型、个性化语言模型(PLM)、端点模型和个性化声学模型。在特定实施例中,客户端辅助服务模块426可以进一步使用本地NLU模块218来理解用户输入。NLU模块218可以包括命名实体解析(NER)组件和基于上下文会话的NLU组件。在特定实施例中,客户端辅助服务模块426可以使用意图经纪人(broker)428来分析用户的意图。为了准确地了解用户的意图,意图经纪人428可以访问包括与用户和世界相关联的实体的实体存储430。在备选实施例中,用户输入可以经由在客户端系统130上执行的应用432来提交。在这种情况下,输入管理器434可以接收用户输入并且通过应用环境(App Env)模块436对其进行分析。分析结果可以被发送给应用432,应用432可以进一步将分析结果发送给ASR模块216和NLU模块218。在备选实施例中,用户输入可以经由在客户端系统130上执行的助手应用438被直接提交给客户助手服务模块426。然后客户端辅助服务模块426可以基于上述模块(即,ASR模块216、NLU模块218和意图经纪人428)执行类似的过程。
在特定实施例中,助手编排器206可以确定用户服务器侧进程。因此,助手编排器206可以将用户输入发送给托管助手系统140的不同模块的一个或多个计算系统。在特定实施例中,服务器助手服务模块301可以从助手编排器206接收用户输入。服务器助手服务模块301可以指示远程ASR模块208分析用户输入的音频数据。ASR模块208可以包括字形到音素(G2P)模型、发音学习模型、个性化语言模型(PLM)、端点模型和个性化声学模型。在特定实施例中,服务器助手服务模块301可以进一步指示远程NLU模块210理解用户输入。在特定实施例中,服务器助手服务模块301可以调用远程推理模型214来处理来自ASR模块208和NLU模块210的输出。在特定实施例中,推理模型214可以执行实体解析和对话优化。在特定实施例中,推理模型314的输出可以被发送给代理350以用于执行一个或多个相关任务。
在特定实施例中,代理350可以访问本体模块440以准确地理解来自实体解析和对话优化的结果,使得它可以准确地执行相关任务。本体模块440可以提供与多个预定义域、意图和槽相关联的本体数据。本体数据还可以包括不同槽与域之间的结构关系。本体数据还可以包括关于槽如何分组、在其中更高级别包括域的层次结构内如何相关、以及如何根据相似性和差异进行细分的信息。本体数据还可以包括关于槽如何分组、在其中更高级别包括主题的层次结构内如何相关、以及如何根据相似性和差异进行细分的信息。一旦任务被执行,代理350可以将执行结果连同任务完成指示一起返回给推理模块214。
本文中公开的实施例可以包括人工现实系统或结合人工现实系统来实现。人工现实是一种现实形式,其在呈现给用户之前已经以某种方式进行了调节,其中可以包括例如虚拟现实(VR)、增强现实(AR)、混合现实(MR)、混合现实(hybrid reality)、或其其中组合和/或衍生物。人工现实内容可以包括完全生成的内容或与捕获内容相结合的生成内容(例如,真实世界的照片)。人工现实内容可以包括视频、音频、触觉反馈或其某种组合,并且其中的任何一个可以在单个通道或多个通道中呈现(诸如向观看者产生三维效果的立体视频)。此外,在一些实施例中,人工现实可以与应用、产品、配件、服务或其某种组合相关联,例如,这些应用、产品、配件、服务或其某种组合用于在人工现实中创建内容和/或用于人工现实(例如,在其中执行活动)。提供人工现实内容的人工现实系统可以在各种平台上实现,包括连接到主机计算机系统的头戴式显示器(HMD)、独立HMD、移动设备或计算系统、或者能够向一位或多位查看者提供人工现实内容的任何其他硬件平台。
在助手系统中使用单个请求进行多人呼叫
在特定实施例中,助手系统140可以使得用户能够经由助手系统140利用单个请求同时呼叫多个人。现有常规系统要求用户一次一个地将人添加到组呼叫中,或者建立电话会议供人们拨入。相反,助手系统140可以使得用户能够通过在单个请求中指定这些人的两个或更多个实体名称、昵称、或实体名称和昵称的组合来发起呼叫。作为示例而非限制,请求可以是“呼叫John和Lee”、“呼叫我的兄弟和Lee”或“呼叫我的兄弟和我的姐夫”。助手系统140然后可以发起组呼叫而无需另外的用户输入。此外,昵称可以是指一个人或一组人。作为示例而非限制,该请求可以是“呼叫我的好友”。用户甚至可以通过指定个人以及组来请求呼叫。作为示例而非限制,请求可以是“呼叫Danna、Serious先生和我的好友”。在接收到呼叫多个人的请求时,助手系统140可以首先对该请求进行消歧以标识用户想要呼叫的目标人员。助手系统140可以进一步与用户确认消歧,并且在接收到用户确认之后开始对这些目标人员进行组呼叫。用户可以使用由助手系统140支持的不同应用(例如,消息传递应用、视频会议应用等)利用单个请求同时呼叫多个人,并且呼叫可以是语音呼叫或视频呼叫。尽管本公开描述了经由特定系统以特定方式启用特定多人呼叫,但是本公开设想经由任何合适的系统以任何合适的方式提供任何合适的多人呼叫。
在特定实施例中,助手系统140可以经由助手xbot从与第一用户相关联的客户端系统130接收同时呼叫多个第二用户的用户请求。用户请求可以包括引用多个第二用户的一个或多个引用。在特定实施例中,助手系统140可以通过分别解析对与多个第二用户相关联的多个实体标识符的一个或多个引用来标识多个第二用户。助手系统140还可以通过助手xbot基于多个实体标识同时发起对所述多个第二用户的组呼叫。
在特定实施例中,助手xbot可以是一种聊天机器人。助手xbot可以包括可编程服务通道,可编程服务通道可以是用作用户的个人助手的软件代码、逻辑或例程。助手xbot可以作为用户到助手系统140的门户。因此,助手xbot可以被认为是一种会话代理。尽管本公开描述了以特定方式的特定xbot,但本公开以任何合适的方式设想任何合适的xbot。尽管本公开描述了以特定方式的特定系统中的特定xbot,但本公开以任何合适的方式设想任何合适的系统中的任何合适的xbot。
在特定实施例中,用户请求可以仅包括单个请求。同时发起对多个第二用户的组呼叫可以响应于单个请求。在特定实施例中,同时发起对多个第二用户的组呼叫可以包括确定任何附加用户输入对于发起组呼叫不是必需的。在特定实施例中,同时发起对多个第二用户的组呼叫可以包括以下步骤。助手系统140可以同时分别生成第一用户对多个第二用户的多个通信请求。助手系统140还可以经由网络向与多个第二用户关联的多个客户端系统130同时发送多个通信请求。助手系统140可以具有通过使得用户能够同时呼叫多个人而无需任何附加输入来改善使用助手系统140的用户体验的技术优势,因为用户可以简单地以任何模态提交单个请求并且助手系统140可以有效地标识用户打算呼叫的人并且相应地发起这样的呼叫。尽管本公开描述了以特定方式经由特定系统发起特定呼叫,但本公开设想经由任何合适的系统以任何合适的方式发起任何合适的呼叫。
在特定实施例中,多人呼叫功能可以针对助手系统140的服务器侧进程和客户端侧进程两者来实现。在特定实施例中,通过分别解析对与多个第二用户相关联的多个实体标识符的一个或多个引用来标识多个第二用户可以包括以下步骤。助手系统140可以首先访问与第一用户相关联的一个或多个联系人列表。每个联系人列表可以包括与多个实体标识符相关联的多个名称。在特定实施例中,助手系统140可以将一个或多个引用与多个名称进行比较以确定多个第二用户的多个实体标识符。作为示例而非限制,实体标识符可以包括电话号码、社交联网标识符、消息传递应用的标识符、或任何合适的标识符中的一项或多项。在特定实施例中,一个或多个联系人列表可以存储在客户端系统130、计算系统中的一个或多个计算系统、或一个或多个第三方计算系统170中的一项或多项上。具体地,一些应用可以将用户的联系人列表只保存在客户端侧,一些应用可以将联系人列表只保存在服务器侧,一些应用可以将联系人列表保存在客户端侧和服务器侧两者。因此,如果用户请求指定要使用哪个应用进行多人呼叫,则助手编排器206可以根据应用保存联系人列表的位置将请求路由到客户端侧或服务器侧。如果用户请求中没有指示具体应用,则助手系统140可以首先在服务器侧尝试执行多人呼叫,如果服务器侧不存在联系人信息,则回退到客户端侧。备选地,助手编排器206可以将用户请求发送给客户端侧和服务器侧两者,并且让它们都尝试执行多人呼叫。之后,来自客户端侧模块和服务器侧模块两者的输出可以被发送给对话仲裁器206,对话仲裁器206可以决定如何完成多人呼叫的执行。尽管本公开描述了以特定方式实现特定调用,但是本公开设想以任何合适的方式实现任何合适的调用。
在特定实施例中,多人呼叫的工作流程可以如下。在特定实施例中,用户请求可以基于语音输入。在接收到这样的用户请求时,服务器侧ASR模块208或客户端侧ASR模块216可以获取语音输入并且生成用户请求的文本副本。然后文本副本可以被发送给服务器侧NLU模块210或客户端侧NLU模块218。在特定实施例中,NLU模块210或NLU模块218可以以不同方式处理副本。在特定实施例中,助手系统140可以基于NLU模块210或NLU模块218标识与用户请求相关联的一个或多个分隔符。作为示例而非限制,分隔符可以是不同实体之间的“和”。因此,标识多个第二用户可以基于一个或多个分隔符。在特定实施例中,NLU模块210或NLU模块218可以启用呼叫或开始呼叫的意图以接受个人或人群的多个槽。也就是说,意图不是[IN:call/start_call(user)],而可以是[IN:call/start_call(user_1,user_2,…,user_n)]、[IN:call/start_call(user_group_1)]、[IN:call/start_call(user_group_1,user_group_2,…,user_group_n)]、或甚至[IN:call/start_call(user_1,…,user_n,user_group_1,…,user_group_n)]。在特定实施例中,然后,NLU模块210或NLU模块218的输出可以在服务器侧推理模块214或客户端侧推理模块222处接收。尽管本公开描述了以特定方式在特定系统中确定特定意图和槽,但是本公开设想以任何合适的方式在任何合适的系统中确定任何合适的意图和槽。
在特定实施例中,推理模块214或推理模块222可以确定如何处理NLU模块210或NLU模块218的输出以标识多个实体名称。在特定实施例中,用户请求的一个或多个引用至少可以包括模糊提及。模糊提及可以对应于多个第二用户中的特定第二用户。作为示例而非限制,模糊提及可以是“我的好友”。在特定实施例中,推理模块214或推理模块222可能需要对这种模糊提及进行消歧以标识特定第二用户。消歧可以包括以下步骤。在特定实施例中,推理模块214或推理模块222可以基于个性化机器学习模型确定多个候选用户。个性化机器学习模型可以基于用户简档信息、与助手系统140的历史交互、以及上下文信息。每个候选用户与置信度分数相关联。在消歧期间,可能存在区分名字和姓氏的特定问题。作为示例而非限制,如果用户说“呼叫Ben Thomas和Dan”,则用户可能表示呼叫两个用户(即,user1=Ben Thomas;user2=Dan),或者呼叫三个用户(即,user1=Ben;user 2=Thomas;user 3=Dan)。在特定实施例中,推理模块214或推理模块222可以解析用户请求以标识名字和姓氏的所有可能组合以生成候选用户。在特定实施例中,推理模块214或推理模块222然后可以基于其相应置信度分数对多个候选用户进行排名。推理模块214或推理模块222可以进一步基于其相应排名从多个候选用户中标识特定第二用户。继续前面的示例,推理模块214或推理模块222可以为模糊提及“我的好友”确定若干候选用户,诸如“John”、“Lisa”和“Alex”,每个候选用户与相应置信度分数相关联。推理模块214或推理模块222然后可以将它们排名为“Alex”、“Lisa”和“John”。如果这些候选用户的置信度分数较低,则助手系统140可以进一步要求用户进行消歧。在特定实施例中,助手系统140可以经由助手xbot向客户端系统130发送用于提示第一用户对特定第二用户的确认的指令。在备选实施例中,助手系统140可以使用客户端侧进程经由助手xbot直接在客户端系统130处呈现确认的提示。在特定实施例中,推理模块214或推理模块222可以通过多次消歧迭代找到用户想要调用的候选用户,然后从这些候选实体中标识特定用户。基于个性化机器学习模型确定候选用户,其中每个候选用户与置信度分数相关联,并且在置信度分数低于阈值分数时与用户确认,这可能是解决对用户请求的模糊提及进行消歧的技术挑战的有效解决方案,因为个性化机器学习模型可以使用用户简档信息、与助手系统140的历史交互、以及上下文信息来确定候选用户,并且来自用户的确认可以提供另外的说明。尽管本公开描述了以特定方式经由特定系统对特定用户输入进行消歧,但是本公开设想以任何合适的方式经由任何合适的系统对任何合适的用户输入进行消歧。
在特定实施例中,一个或多个参考至少可以包括模糊提及。模糊提及可以对应于多个第二用户中的一组第二用户。在特定实施例中,推理模块214或推理模块222可以对模糊提及进行消歧以标识第二用户组。消歧可以包括将模糊提及与分别对应于多个预定组的组标识符的列表进行比较。在特定实施例中,每个预定组可以包括多个用户。作为示例而非限制,用户请求可以是“呼叫我的团队”,其中具有模糊提及“我的团队”。推理模块214或推理模块222可以相应地通过将“我的团队”与组标识符的列表进行比较以标识团队成员来消歧。作为另一示例而非限制,用户可以说“开始组呼叫”。助手xbot可能会问“第一个人是谁?”用户可以提供名称,如果需要,助手系统140可以针对该名称进行消歧。助手xbot可以继续询问“第二个人是谁?”这样的过程可以继续,直到用户指示用户打算呼叫的所有人都被添加到该组中。在特定实施例中,推理模块214或推理模块222可以确定与模糊提及相对应的组标识符不存在,即,用户没有预先定义该组。推理模块214或推理模块222然后可以经由助手xbot向客户端系统130发送用于提示第一用户创建组的指令。在备选实施例中,助手系统140可以使用客户端侧进程经由助手xbot在客户端系统130处直接呈现用于创建组的提示。在特定实施例中,推理模块214或推理模块222可以经由助手xbot从客户端系统130接收包括与该组中的每个第二用户相关联的信息的一个或多个用户输入。然后推理模块214或推理模块222可以基于一个或多个用户输入来创建该组第二用户。在特定实施例中,推理模块214或推理模块222可以进一步将所创建的组存储在数据存储212中。该组可以与组标识符相关联。继续前面的示例,推理模块214或推理模块222可以确定“我的团队”组不存在。因此,助手系统140可以通过提供组成员的名称和联系信息来要求用户创建该组。尽管本公开描述了以特定方式经由特定系统对特定用户输入进行消歧,但是本公开设想以任何合适的方式经由任何合适的系统对任何合适的用户输入进行消歧。
在特定实施例中,助手系统140可以使用确认对话来让第一用户获取呼叫包括已消歧的第二用户的最终确认。来自对话的确认可以是显式的或隐式的。对于隐式确认,助手系统140可以使用一次性调用。作为示例而非限制,助手系统140可以说“现在呼叫BenThomas和Dan”。一次性呼叫可以给用户一些时间(例如,5秒)来取消呼叫。在特定实施例中,对话仲裁器216可以接受确认并且指示服务器侧动作执行模块226或客户端动作执行模块230完成多人呼叫。尽管本公开描述了以特定方式经由特定系统的特定确认,但是本公开涵盖以任何合适的方式经由任何合适的系统的任何合适的确认。
在特定实施例中,多人呼叫功能可以在与不同代理相对应的不同应用(例如,消息传递应用、视频会议应用等)上被启用。动作执行模块226或动作执行模块230可能需要进一步确定要使用哪个应用。作为示例而非限制,组呼叫可以是使用基于语音的应用的语音呼叫或使用基于视频的应用的视频呼叫。在特定实施例中,用户请求可以指定第一用户打算将哪个应用用于多人呼叫。因此,动作执行模块226或动作执行模块230可以基于用户请求从多个代理中选择代理来执行与组呼叫相对应的任务。作为示例而非限制,用户请求可以是“在消息传递app上呼叫我的好友”。因此,可以选择与“消息传递应用”相对应的代理。如果第一用户没有指定要使用哪个应用,则动作执行模块226或动作执行模块230可以基于与第一用户相关联的默认设置、与第一用户相关联的用户偏好、第一用户与计算系统之间的历史交互、或预定规则中的一项或多项来从多个代理中选择代理来执行与组呼叫相对应的任务。作为示例而非限制,默认设置可以指示应当经由特定语音呼叫应用来完成呼叫,可以选择与这种语音应用相对应的代理。作为另一示例而非限制,历史交互可以指示用户总是使用特定会议应用来呼叫其他人。因此,可以选择与会议应用相对应的代理。尽管本公开描述了由特定系统以特定方式使用特定应用,但本公开设想由任何合适的系统以任何合适的方式使用任何合适的应用。
图5A-图5B示出了用于呼叫两个人的示例交互。图5A示出了用于呼叫两个人的示例交互。用户502可以经由客户端系统130向助手系统140说出单个请求504。客户端系统130可以是智能电话。单个请求504可以是“嘿助手,呼叫Matt和Kevin”。助手系统140可以标识“Matt”和“Kevin”所引用的目标,并且同时执行调用它们的任务。助手系统140可以进一步生成响应506,响应506是“现在呼叫Matt和Kevin”。图5B示出了用于呼叫两个人的另一示例交互。用户502可以经由客户端系统130向助手系统140说出单个请求504。单个请求504可以是“嘿,助手,呼叫Matt和Kevin”。助手系统140可以标识“Matt”和“Kevin”所引用的目标,并且同时执行调用它们的任务。助手系统140可以进一步生成响应506,响应506是“现在呼叫Matt和Kevin”。响应506可以隐式地给予用户502获取最终确认的机会。作为示例而非限制,用户504可以选择通过说出“等等!他们现在可能正在开会。508”来选择取消呼叫。尽管本公开描述了以特定方式经由特定系统的特定交互,但是本公开设想以任何合适的方式经由任何合适的系统的任何合适的交互。
图6A-图6B示出了用于利用昵称来呼叫两个人的示例交互。图6A示出了用于利用昵称来呼叫两个人的示例交互。用户602可以经由客户端系统130向助手系统140说出单个请求604。客户端系统130可以是智能坞站。单个请求604可以是“嘿助手,呼叫Nancy和Dollface”,其中“Dollface”是昵称。助手系统140可以对这种昵称进行消歧并且将其解析为“Jessica”。助手系统140可以对“Dollface”指代“Jessica”具有高置信度。因此,助手系统140可以执行同时呼叫Nancy和Jessica的任务。助手系统140可以进一步生成响应606,响应606可以是“现在呼叫Nancy和Jessica”。图6B示出了用于利用昵称的消歧来呼叫两个人的示例交互。用户602可以经由客户端系统130向助手系统140说出单个请求604。单个请求604可以是“嘿,助手,呼叫Nancy和Dollface”,其中“Dollface”是昵称。助手系统140可以以低置信度对这种昵称进行消歧。这样,助手系统140可以生成响应608以与用户确认用户是否通过“Dollface”表示“Jessica”。响应608可以是“当您说‘Dollface’时,您是指Jessica吗?”用户602可以用“是,610”进行确认。一旦接收到用户的602确认,助手系统140就可以执行同时呼叫Nancy和Jessica的任务。助手系统140可以进一步生成响应612,响应612可以是“现在呼叫Nancy和Jessica”。尽管本公开描述了以特定方式经由特定系统的特定交互,但是本公开设想以任何合适的方式经由任何合适的系统的任何合适的交互。
图7A-图7B示出了用于利用昵称来呼叫一组人的示例交互。图7A示出了用于利用昵称来呼叫一组人的示例交互。用户702可以经由客户端系统130向助手系统140说出单个请求704。客户端系统130可以是平板电脑。单个请求704可以是“嘿助手,呼叫我的好友”,其中“好友”是一组人的昵称。助手系统140可以对这种昵称进行消歧并且将其解析给一组人。助手系统140可以对“好友”指代哪个组具有高置信度。因此,助手系统140可以执行同时呼叫用户702好友的任务。助手系统140可以进一步生成响应706,响应706可以是“现在呼叫您的好友”。图7B示出了用于利用昵称来呼叫一组人的另一示例交互。用户702可以经由客户端系统130向助手系统140说出单个请求704。单个请求704可以是“嘿助手,呼叫我的好友”,其中“好友”是一组人的昵称。助手系统140可以对这种昵称进行消歧并且将其解析给一组人。助手系统140可以对“好友”指代哪个组具有高置信度。因此,助手系统140可以执行同时呼叫用户702好友的任务。助手系统140可以进一步生成响应708,其中清楚地标识“好友”指代谁。响应708可以是“现在呼叫Danny、Anna和Andrew”,其中Danny、Anna和Andrew是用户702的好友。图7C示出了用于通过创建该组来呼叫一组人的示例交互。用户702可以经由客户端系统130向助手系统140说出单个请求704。单个请求704可以是“嘿助手,呼叫我的好友”,其中“好友”是一组人的昵称。助手系统140可以确定这样的组不存在。因此,助手系统140可以生成响应710以要求用户702为用户702的好友创建组。响应710可以是“我不确定您的好友是谁。您能告诉我他们的名字吗?”用户702然后可以回复“Danny、Anna和Andrew。712”助手系统140可以创建一组好友,包括Danny、Anna和Andrew。助手系统140可以接着执行同时呼叫这三个人的任务。此外,助手系统140可以生成响应714,向用户702通知他们的信息被保存并且助手系统140将呼叫其。响应714可以是“谢谢。我已经将他们的信息保存为您的好友。现在呼叫他们。”尽管本公开描述了以特定方式经由特定系统的特定交互,但是本公开设想以任何合适的方式经由任何合适的系统的任何合适的交互。
图8A-图8B示出了用于呼叫多个人的示例交互,其中已经对名字和姓氏进行消歧。图8A示出了用于呼叫多个人的示例交互,其中已经对名字和姓氏进行消歧。用户802可以经由客户端系统130向助手系统140说出单个请求804。客户端系统130可以是一副AR/VR眼镜。单个请求804可以是“嘿助手,呼叫Ben Thomas和Jack”。助手系统140可以确定“BenThomas”是一个以“Ben”作为名字并且“Thomas”作为姓氏的人。助手系统140可以对这种确定具有高置信度。因此,助手系统140可以执行同时呼叫Ben和Jack的任务。助手系统140可以进一步生成响应806,响应806可以是“现在呼叫Ben和Jack”,其中助手系统140仅提及名字。图8B示出了用于呼叫多个人的另一示例交互,其中已经对名字和姓氏进行消歧。用户802可以经由客户端系统130向助手系统140说出单个请求804。单个请求804可以是“嘿,助手,呼叫Ben Thomas和Jack”。助手系统140可以确定“Ben Thomas”是一个以“Ben”作为名字并且“Thomas”作为姓氏的人。助手系统140可以对这种确定具有高置信度。因此,助手系统140可以执行同时呼叫Ben和Jack的任务。助手系统140可以进一步生成响应808,响应808可以是“现在呼叫Ben Thomas和Jack Hernandez”,其中助手系统140提到了两个人的全名。结果,用户802可能更清楚助手系统140正在呼叫谁。图8C示出了用于呼叫多个人的另一示例交互,其中已经对名字和姓氏进行消歧。用户802可以经由客户端系统130向助手系统140说出单个请求804。单个请求804可以是“嘿,助手,呼叫Ben Thomas和Jack”。助手系统140在确定“Ben Thomas”是指一个人还是两个人时可能具有低置信度。因此,助手系统140可以要求用户802进行确认。确认问题810可以是“您是指Ben Lu和Thomas Smith还是只是BenThomas?”用户802可以用“只是Ben Thomas。812”一旦接收到用户的802确认,助手系统140就可以执行同时呼叫Ben Thomas和Jack的任务。助手系统140可以进一步生成响应814,响应814可以是“好的。现在呼叫Ben Thomas和Jack Hernandez。”尽管本公开描述了以特定方式经由特定系统的特定交互,但是本公开设想以任何合适的方式经由任何合适的系统的任何合适的交互。
图9示出了用于利用一个人的昵称和一个组的昵称的混合来呼叫多个人的示例交互。用户902可以经由客户端系统130向助手系统140说出单个请求904。客户端系统130可以是智能扬声器。单个请求904可以是“嘿助手,呼叫Alice、Dollface和我的好友”。助手系统140可以对昵称“Dollface”进行消歧并且将其解析为“Jessica”,同时对昵称“好友”进行消歧并且将其解析为一组人。助手系统140可以对消歧具有高置信度。因此,助手系统140可以执行同时呼叫Alice、Jessica和用户902的好友的任务。助手系统140可以进一步生成响应906,响应906可以是“现在呼叫Alice、Jessica和您的好友”。尽管本公开描述了以特定方式经由特定系统的特定交互,但是本公开设想以任何合适的方式经由任何合适的系统的任何合适的交互。
图10示出了用于启用多人呼叫的示例方法1000。该方法可以开始于步骤1010,其中助手系统140可以经由助手xbot从与第一用户相关联的客户端系统130接收同时呼叫多个第二用户的基于语音输入的用户请求,其中用户请求包括引用多个第二用户的一个或多个引用,其中一个或多个引用至少包括模糊提及,并且其中用户请求仅包括单个请求。在步骤1020,助手系统140可以对与特定第二用户相对应的模糊提及进行消歧以标识特定第二用户,其中消歧包括基于个性化机器学习模型确定多个候选用户,其中每个候选用户与置信度分数相关联,基于多个候选用户的相应置信度分数对多个候选用户进行排名,以及基于多个候选用户的相应排名从多个候选用户中标识特定第二用户。在步骤1030,助手系统140可以经由助手xbot向客户端系统130发送用于提示第一用户针对特定第二用户的确认的指令。与步骤1020和1030并行地,在步骤1040,助手系统140可以对与一组第二用户相对应的模糊提及进行消歧以标识该组第二用户,其中消歧包括:将模糊提及与对应于多个预定组的组标识符的列表分别进行比较,其中每个预定组包括多个用户。在步骤1050,助手系统140可以确定与模糊提及相对应的组标识符不存在,经由助手xbot向客户端系统130发送用于提示第一用户创建该组的指令,经由助手xbot从客户端系统130接收包括与该组中的第二用户中的每个第二用户相关联的信息的一个或多个用户输入,基于一个或多个用户输入创建该组第二用户,以及将所创建的该组存储在数据存储中212,其中该组与组标识符相关联。在步骤1060,助手系统140可以基于自然语言理解模块标识与用户请求相关联的一个或多个分隔符。在步骤1070,助手系统140可以通过基于一个或多个分隔符分别解析对与多个第二用户相关联的多个实体标识符的一个或多个引用来标识多个第二用户,其中标识包括访问与第一用户相关联的一个或多个联系人列表,其中每个联系人列表包括与多个实体标识符相关联的多个名称,以及将一个或多个引用与多个名称进行比较。在步骤1080,助手系统140可以通过助手xbot响应于单个请求基于多个实体标识符同时发起对多个第二用户的组呼叫,其中该发起包括确定任何附加用户输入针对发起组呼叫不是必需的,同时分别生成从第一用户到多个第二用户的多个通信请求,以及经由网络向与多个第二用户相关联的多个客户端系统130同时发送多个通信请求,其中该组呼叫是语音呼叫或视频呼叫。特定实施例可以在适当的情况下重复图10的方法的一个或多个步骤。尽管本公开将图10的方法的特定步骤描述和示出为以特定顺序发生,但是本公开设想图10的方法的任何合适的步骤以任何合适的顺序发生。此外,尽管本公开描述和示出了包括图10的方法的特定步骤的用于实现多人呼叫的示例方法,但是本公开设想包括任何合适的步骤的用于实现多人呼叫的任何合适的方法,其可以在适当的情况下包括图10的方法的所有步骤、一些步骤或不包括任何步骤。此外,尽管本公开描述和示出了执行图10的方法的特定步骤的特定组件、设备或系统,但是本公开设想执行图10的方法的任何合适的步骤的任何合适的组件、设备或系统的任何合适组合。
社交图
图11示出了示例社交图1100。在特定实施例中,社交联网系统160可以将一个或多个社交图1100存储在一个或多个数据存储中。在特定实施例中,社交图1100可以包括多个节点——其可以包括多个用户节点1102或多个概念节点1104——以及连接节点的多个边1106。每个节点可以与唯一实体(即,用户或概念)相关联,每个实体可以具有唯一标识符(ID),诸如唯一编号或用户名。出于教学目的,图11所示的示例社交图1100以二维视觉地图表示形式示出。在特定实施例中,社交联网系统160、客户端系统130、助手系统140或第三方系统170可以访问社交图1100和相关社交图信息以用于合适的应用。社交图1100的节点和边可以作为数据对象存储在例如数据存储(诸如社交图数据库)中。这样的数据存储可以包括社交图1100的节点或边的一个或多个可搜索或可查询索引。
在特定实施例中,用户节点1102可以对应于社交联网系统160或助手系统140的用户。作为示例而非限制,用户可以是与社交联网系统160或助手系统140交互或通信或通过社交联网系统160或助手系统140进行交互或通信的个人(人类用户)、实体(例如,企业、企业或第三方应用)或组(例如,个人或实体)。在特定实施例中,当用户向社交联网系统160注册账户时,社交联网系统160可以创建与用户相对应的用户节点1102,并且将用户节点1102存储在一个或多个数据存储中。本文中描述的用户和用户节点1102可以在适当的情况下是指注册用户和与注册用户相关联的用户节点1102。另外或作为备选,本文中描述的用户和用户节点1102可以在适当的情况下指代尚未向社交联网系统160注册的用户。在特定实施例中,用户节点1102可以与由用户提供的信息或由各种系统(包括社交联网系统160)收集的信息相关联。作为示例而非限制,用户可以提供他或她的名称、简档照片、联系信息、出生日期、性别、婚姻状况、家庭身份、就业、教育背景、偏好、兴趣或其他人口统计信息。在特定实施例中,用户节点1102可以与对应于与用户相关联的信息的一个或多个数据对象相关联。在特定实施例中,用户节点1102可以对应于一个或多个网络界面。
在特定实施例中,概念节点1104可以对应于概念。作为示例而非限制,概念可以对应于地点(例如,电影院、餐厅、地标或城市);网站(例如,与社交联网系统160相关联的网站或与网络应用服务器相关联的第三方网站);实体(例如,个人、企业、团体、运动队或名人);资源(例如,音频文件、视频文件、数码照片、文本文件、结构化文档或应用),其可以位于社交联网系统160内或外部服务器上,诸如网络应用服务器;不动产或知识产权(例如,雕塑、绘画、电影、游戏、歌曲、创意、照片或书面作品);游戏;活动;想法或理论;另一合适的概念;或两个或更多个这样的概念。概念节点1104可以与由用户提供的概念信息或由各种系统(包括社交联网系统160和助手系统140)收集的信息相关联。作为示例而非限制,概念信息可以包括名称或头衔;一个或多个图像(例如,一本书的封面的图像);位置(例如,地址或地理位置);网站(可以与URL相关联);联系信息(例如,电话号码或电子邮件地址);其他合适的概念信息;或这样的信息的任何合适的组合。在特定实施例中,概念节点1104可以与对应于与概念节点1104相关联的信息的一个或多个数据对象相关联。在特定实施例中,概念节点1104可对应于一个或多个网络界面。
在特定实施例中,社交图1100中的节点可以表示网络界面(其可以称为“简档界面”)或由网络界面来表示。简档界面可以由社交联网系统160或助手系统140托管或可访问。简档界面还可以被托管在与第三方系统170相关联的第三方网站上。作为示例而非限制例如,与特定外部网络界面相对应的简档界面可以是特定外部网络界面,并且简档界面可以对应于特定概念节点1104。简档界面可以由所有或所选择的其他用户子集可查看。作为示例而非限制,用户节点1102可以具有对应用户简档界面,对应用户可以在其中添加内容、做出声明或以其他方式表达他或她自己。作为另一示例而非限制,概念节点1104可以具有对应概念简档界面,一个或多个用户可在其中添加内容、做出声明或表达自己,特别是关于与概念节点1104相对应的概念。
在特定实施例中,概念节点1104可以表示由第三方系统170托管的第三方网络界面或资源。第三方网络界面或资源可以包括内容、可选择的或其他图标、或者表示动作或活动的其他可交互对象、以及其他元素。作为示例而非限制,第三方网络界面可以包括可选择的图标,诸如“喜欢”、“签到”、“吃”、“推荐”或者其他合适的动作或活动。查看第三方网络界面的用户可以通过选择图标中的一个(例如,“签到”)来执行动作,从而引起客户端系统130向社交联网系统160发送指示用户动作的消息。响应于该消息,社交联网系统160可以在与用户相对应的用户节点1102与与第三方网络界面或资源相对应的概念节点1104之间创建边(例如,签到类型边)并且将边1106存储在一个或多个数据存储中。
在特定实施例中,社交图1100中的一对节点可以通过一个或多个边1106彼此连接。连接一对节点的边1106可以表示这对节点之间的关系。在特定实施例中,边1106可以包括或表示与一对节点之间的关系相对应的一个或多个数据对象或属性。作为示例而非限制,第一用户可以指示第二用户是第一用户的“朋友”。响应于该指示,社交联网系统160可以向第二用户发送“朋友请求”。如果第二用户确认“朋友请求”,则社交联网系统160可以在社交图1100中创建将第一用户的用户节点1102连接到第二用户的用户节点1102的边1106,并且将边1106作为社交图信息存储在一个或多个数据存储164中。在图11的示例中,社交图1100包括指示用户“A”和用户“B”的用户节点1102之间的朋友关系的边1106和指示用户“C”和用户“B”的用户节点1102之间的朋友关系的边。尽管本公开描述或说明了具有连接特定用户节点1102的特定属性的特定边1106,但是本公开设想具有连接用户节点1102的任何合适的属性的任何合适的边1106。作为示例而非限制,边1106可以表示友谊、家庭关系、业务或雇佣关系、粉丝关系(包括,例如,喜欢等)、关注者关系、访问者关系(包括,例如,访问、查看、签到、分享等)、订阅者关系、上级/下级关系、互惠关系、非互惠关系、其他合适类型的关系、或两个或更多个这样的关系。此外,虽然本公开通常将节点描述为被连接,但本公开也将用户或概念描述为被连接。本文中,对被连接的用户或概念的引用在适当的情况下可以指代与社交图1100中通过一条或多条边1106连接的那些用户或概念相对应的节点。由两个节点表示的两个对象之间的分离程度分别是连接社交图1100中的两个节点的最短路径中的边的计数。作为示例而非限制,在社交图1100中,用户“C”的用户节点1102经由多条路径连接到用户“A”的用户节点1102,包括例如直接通过用户“B”的用户节点1102的第一路径、通过公司“A1me”的概念节点1104和用户“D”的用户节点1102的第二路径、以及通过用户节点1102和概念节点1104的第三路径,表示学校“Stateford”、用户“G”、公司“A1me”和用户“D”。用户“C”和用户“A”具有两个分离度,因为连接其对应节点的最短路径(即,第一路径)包括两条边1106。
在特定实施例中,用户节点1102与概念节点1104之间的边1106可以表示由与用户节点1102相关联的用户向与概念节点1104相关联的概念执行的特定动作或活动。作为示例和不作为限制。如图11所示,用户可以“喜欢”、“就读于”、“播放/玩”、“收听”、“烹饪”、“工作在”或“阅读”概念,其中的每个可以对应于边类型或子类型。与概念节点1104相对应的概念简档界面可以包括例如可选择的“签到”图标(例如,可点击的“签到”图标)或可选择的“添加到收藏夹”图标。类似地,在用户点击这些图标之后,社交联网系统160可以响应于与相应动作相对应的用户动作而创建“最喜欢”边或“签到”边。作为另一示例而非限制,用户(用户“C”)可以使用特定应用(第三方在线音乐应用)收听特定歌曲(“Imagine”)。在这种情况下,社交联网系统160可以在与用户相对应的用户节点1102与与歌曲和应用相对应的概念节点1104之间创建“收听”边1106和“使用”边(如图11所示),以指示用户收听了歌曲并且使用了该应用。此外,社交联网系统160可以在与歌曲和应用相对应的概念节点1104之间创建“播放”边1106(如图11所示),以指示特定歌曲由特定应用播放。在这种情况下,“播放”边1106对应于由外部应用(第三方在线音乐应用)对外部音频文件(歌曲“Imagine”)执行的动作。尽管本公开描述了具有连接用户节点1102和概念节点1104的特定属性的特定边1106,但是本公开设想具有连接用户节点1102和概念节点1104的任何合适的属性的任何合适的边1106。此外,尽管本公开描述了用户节点1102与表示单个关系的概念节点1104之间的边,但是本公开设想用户节点1102与表示一个或多个关系的概念节点1104之间的边。作为示例而非限制,边1106可以表示用户喜欢和已经在特定概念中使用的两者。备选地,另一条边1106可以表示用户节点1102与概念节点1104之间的每种类型的关系(或单个关系的倍数)(如图11所示,用户“E”的用户节点1102与“在线音乐应用”的概念节点1104之间的关系)。
在特定实施例中,社交联网系统160可以在社交图1100中在用户节点1102与概念节点1104之间创建边1106。作为示例而非限制,查看概念简档界面(例如,通过使用网络浏览器或由用户的客户端系统130托管的专用应用)的用户可以通过点击或选择“喜欢”图标来指示他或她喜欢由概念节点1104表示的概念,这可以引起用户的客户端系统130向社交联网系统160发送指示用户喜欢与概念简档界面相关联的概念的消息。响应于该消息,社交联网系统160可以在与用户相关联的用户节点1102与概念节点1104之间创建边1106,如用户与概念节点1104之间的“喜欢”边1106所示。在特定实施例中,社交联网系统160可以将边1106存储在一个或多个数据存储中。在特定实施例中,边1106可以由社交联网系统160响应于特定用户动作而自动形成。作为示例而非限制,如果第一用户上传图片、看书、看电影或听歌,则可以在与第一用户相对应的用户节点1102与与那些概念相对应概念节点1104之间形成边1106。尽管本公开描述了以特定方式形成特定边1106,但本公开设想以任何合适的方式形成任何合适的边1106。
向量空间和嵌入
图12示出了向量空间1200的示例视图。在特定实施例中,对象或n元语法可以在d维向量空间中表示,其中d表示任何合适的数目的维度。尽管向量空间1200被示出为三维空间,但这仅用于说明目的,因为向量空间1200可以具有任何合适的维度。在特定实施例中,n元语法可以在向量空间1200中被表示为被称为术语嵌入的向量。每个向量可以包括与向量空间1200中的特定点(即,向量的终点)相对应的坐标。作为示例而非限制,向量1210、向量1220和向量1230可以被表示为向量空间1200中的点,如图12所示。n元语法可以映射到相应向量表示。作为示例而非限制,n元语法t1和t2可以通过应用由字典定义的函数
Figure BDA0004018252720000605
而分别映射到向量空间1200中的向量
Figure BDA0004018252720000601
Figure BDA0004018252720000602
使得
Figure BDA0004018252720000603
并且
Figure BDA0004018252720000604
作为另一示例而非限制,可以使用经训练以将文本映射到向量表示的字典,或者这样的字典本身可以经由训练来生成。作为另一示例而非限制,词嵌入模型可以用于将n元语法映射到向量空间1200中的向量表示。在特定实施例中,n元语法可以使用机器学习模型(例如,神经网络)映射到向量空间1200中的向量表示。机器学习模型可能已经使用一系列训练数据(例如,每个包含n元语法的对象的语料库)被训练。
在特定实施例中,对象可以在向量空间1200中被表示为被称为特征向量或对象嵌入的向量。作为示例而非限制,对象e1和e2可以通过应用函数
Figure BDA0004018252720000611
分别映射到向量空间1200中的向量
Figure BDA0004018252720000612
Figure BDA0004018252720000613
使得
Figure BDA0004018252720000614
并且
Figure BDA0004018252720000615
在特定实施例中,基于对象的一个或多个特性、属性或特征、对象与其他对象的关系、或与对象相关联的任何其他合适信息,可以将对象映射到向量。作为示例而非限制,函数
Figure BDA0004018252720000616
可以通过特征提取将对象映射到向量,这可以从初始测量数据集开始并且构建派生值(例如,特征)。作为示例而非限制,包括视频或图像的对象可以通过使用算法被映射到向量以检测或隔离对象的各种期望部分或形状。用于计算向量的特征可以基于从以下各项中获取的信息:边检测、角点检测、斑点检测、脊检测、尺度不变特征变换、边方向、变化强度、自相关、运动检测、光流、阈值处理、斑点提取、模板匹配、霍夫变换(例如,线、圆、椭圆、任意形状)或任何其他合适的信息。作为另一示例而非限制,包括音频数据的对象可以基于特征映射到向量,诸如频谱斜率、音调系数、音频频谱质心、音频频谱包络、Mel频率倒谱、或任何其他合适的信息。在特定实施例中,当对象具有太大而无法高效处理的数据或包括冗余数据时,函数
Figure BDA0004018252720000617
可以使用变换后的简化特征集(例如,特征选择)将对象映射到向量。在特定实施例中,函数
Figure BDA0004018252720000618
可以基于与对象e相关联的一个或多个n元语法将对象e映射到向量
Figure BDA0004018252720000619
尽管本公开描述了以特定方式在向量空间中表示n元语法或对象,但本公开设想以任何合适的方式在向量空间中表示n元语法或对象。
在特定实施例中,社交联网系统160可以计算向量空间1200中向量的相似度度量。相似度度量可以是余弦相似度、Minkowski距离、Mahalanobis距离、Jaccard相似度系数或任何合适的相似度度量。作为示例而非限制,
Figure BDA00040182527200006110
Figure BDA00040182527200006111
的相似度度量可以是余弦相似度
Figure BDA00040182527200006112
作为另一示例而非限制,相似性度量
Figure BDA00040182527200006113
Figure BDA00040182527200006114
可以是欧几里得距离
Figure BDA0004018252720000621
两个向量的相似性度量可以表示分别对应于两个向量的两个对象或n元语法彼此之间的相似程度,如通过向量空间1200中两个向量之间的距离测量的。作为示例而非限制,基于相应向量之间的距离,向量1210和向量1220可以对应于比对应于向量1210和向量1230的对象更相似的对象。尽管本公开描述了以特定方式计算向量之间的相似性度量,但是本公开设想以任何合适的方式计算向量之间的相似性度量。
关于向量空间、嵌入、特征向量和相似性度量的更多信息可以参见于2015年11月23日提交的美国专利申请号14/949436、于2016年10月5日提交的美国专利申请号15/286315和于2016年11月30日提交的美国专利申请号15/365789,每个通过引用并入本文。
人工神经网络
图13示出了示例人工神经网络(“ANN”)1300。在特定实施例中,ANN可以指代包括一个或多个节点的计算模型。示例ANN 1300可以包括输入层1310、隐藏层1320、隐藏层1330、隐藏层1340和输出层1350。ANN 1300的每一层可以包括一个或多个节点,诸如节点1305或节点1315。在特定实施例中,ANN的每个节点可以连接到ANN的另一节点。作为示例而非限制,输入层1310的每个节点可以连接到隐藏层1320的一个或多个节点。在特定实施例中,一个或多个节点可以是偏置节点(例如,层中未连接到前一层中的任何节点并且未从前一层中的任何节点接收输入的节点)。在特定实施例中,每一层中的每个节点可以连接到前一层或后一层的一个或多个节点。虽然图13描绘了具有特定数目的层、特定数目的节点、节点之间的特定连接的特定ANN,但本公开设想具有任何合适的数目的层、任何合适的数目的节点、以及节点之间的任何合适的连接的任何合适的ANN。作为示例而非限制,尽管图13描绘了输入层1310的每个节点与隐藏层1320的每个节点之间的连接,但是输入层1310的一个或多个节点可以不连接到隐藏层1320的一个或多个节点。
在特定实施例中,ANN可以是前馈ANN(例如,没有循环或环路的ANN,其中节点之间的通信从输入层开始沿一个方向流动并且继续到后续层)。作为示例而非限制,隐藏层1320的每个节点的输入可以包括输入层1310的一个或多个节点的输出。作为另一示例而非限制,输出层1350的每个节点的输入可以包括隐藏层1340的一个或多个节点的输出。在特定实施例中,ANN可以是深度神经网络(例如,包括至少两个隐藏层的神经网络)。在特定实施例中,ANN可以是深度残差网络。深度残差网络可以是前馈ANN,包括组织成残差块的隐藏层。第一残差块之后的每个残差块的输入可以是前一残差块的输出和前一残差块的输入的函数。作为示例而非作为限制,残差块N的输入可以是F(x)+x,其中F(x)可以是残差块N-1的输出,x可以是残差块N-1的输入。尽管本公开描述了特定ANN,但本公开设想任何合适的ANN。
在特定实施例中,激活函数可以对应于ANN的每个节点。节点的激活函数可以为给定输入定义节点的输出。在特定实施例中,节点的输入可以包括一组输入。作为示例而非限制,激活函数可以是恒等函数、二元阶跃函数、逻辑函数或任何其他合适的函数。作为另一示例而非限制,节点k的激活函数可以是sigmoid函数
Figure BDA0004018252720000631
双曲正切函数
Figure BDA0004018252720000632
整流器Fk(sk)=max(0,sk)或任何其他合适的函数Fk(sk),其中sk可以是节点k的有效输入。在特定实施例中,与节点相对应的激活函数的输入可以被加权。每个节点可以基于加权输入使用相应激活函数来生成输出。在特定实施例中,节点之间的每个连接可以与权重相关联。作为示例而非限制,节点1305与节点1315之间的连接1325可以具有加权系数0.4,这可以指示0.4乘以节点1305的输出被用作节点的输入1315。作为另一示例而非限制,节点k的输出yk可以是yk=Fk(sk),其中Fk可以是与节点k相对应的激活函数,sk=∑j(wjkxj)可以是节点k的有效输入,xj可以是连接到节点k的节点j的输出,并且wjk可以是是节点j与节点k之间的权重系数。在特定实施例中,输入层的节点的输入可以基于表示对象的向量。尽管本公开描述了节点的特定输入和输出,但是本公开设想节点的任何合适的输入和输出。此外,虽然本公开可以描述节点之间的特定连接和权重,但是本公开设想节点之间的任何合适的连接和权重。
在特定实施例中,可以使用训练数据来训练ANN。作为示例而非限制,训练数据可以包括ANN 1300的输入和预期输出。作为另一示例而非限制,训练数据可以包括向量,每个向量表示训练对象和每个训练对象的预期标签。在特定实施例中,训练ANN可以包括通过优化目标函数来修改与ANN的节点之间的连接相关联的权重。作为示例而非限制,可以使用训练方法(例如,共轭梯度法、梯度下降法、随机梯度下降)来反向传播被测量为表示训练对象的每个向量之间的距离的平方和误差(例如,使用使平方和误差最小化的成本函数)。在特定实施例中,可以使用dropout技术训练ANN。作为示例而非限制,一个或多个节点可以在训练时暂时省略(例如,不接收输入并且不生成输出)。对于每个训练对象,ANN的一个或多个节点可以有一定概率被省略。针对特定训练对象而省略的节点可以与针对其他训练对象而省略的节点不同(例如,节点可以在逐个对象的基础上暂时省略)。尽管本公开描述了以特定方式训练ANN,但本公开设想以任何合适的方式训练ANN。
隐私
在特定实施例中,计算系统的一个或多个对象(例如,内容或其他类型的对象)可以与一个或多个隐私设置相关联。一个或多个对象可以存储在任何合适的计算系统或应用上或以其他方式与任何合适的计算系统或应用相关联,例如社交联网系统160、客户端系统130、助手系统140、第三方系统170、社交联网应用、助手应用、消息传递应用、照片共享应用或任何其他合适的计算系统或应用。尽管本文中讨论的示例是在在线社交网络的上下文中,但是这些隐私设置可以应用于任何其他合适的计算系统。对象的隐私设置(或“访问设置”)可以以任何合适的方式存储,例如,与对象相关联、在授权服务器上的索引中、以另一种合适的方式、或其任何合适组合。对象的隐私设置可以指定对象(或与对象相关联的特定信息)如何在在线网络中被访问、存储或以其他方式使用(例如,查看、共享、修改、复制、执行、显现或标识)。当对象的隐私设置允许特定用户或其他实体访问该对象时,该对象可以被描述为相对于该用户或其他实体是“可见的”。作为示例而非限制,在线社交网络的用户可以为用户简档页面指定隐私设置,该隐私设置标识可以访问用户简档页面上的工作经验信息的一组用户,从而排除其他用户访问该信息。
在特定实施例中,对象的隐私设置可以指定不应当被允许访问与对象相关联的某些信息的用户或其他实体的“阻止列表”。在特定实施例中,阻止列表可以包括第三方实体。阻止列表可以指定对象对其不可见的一个或多个用户或实体。作为示例而非限制,用户可以指定一组用户,这些用户不能访问与该用户相关联的相册,从而将那些用户排除在访问相册之外(同时也可能允许不在指定用户组内的某些用户访问相册)。在特定实施例中,隐私设置可以与特定社交图元素相关联。社交图元素(诸如节点或边)的隐私设置可以指定如何使用在线社交网络来访问社交图元素、与社交图元素相关联的信息或与社交图元素相关联的对象。作为示例而非限制,与特定照片相对应的特定概念节点1104可以具有指定照片只能由在照片中标记的用户和在照片中标记的用户的朋友访问的隐私设置。在特定实施例中,隐私设置可以允许用户选择加入或退出让社交联网系统160或助手系统140存储/记录其内容、信息或动作或与其他系统(例如,第三方系统170)共享其内容、信息或动作。尽管本公开描述了以特定方式使用特定隐私设置,但本公开设想以任何合适的方式使用任何合适的隐私设置。
在特定实施例中,隐私设置可以基于社交图1100的一个或多个节点或边。可以为社交图1100的一个或多个边1106或边类型或者关于社交图1100的一个或多个节点1102、1104或节点类型指定隐私设置。应用于连接两个节点的特定边1106的隐私设置可以控制与节点相对应的两个实体之间的关系是否对在线社交网络的其他用户可见。类似地,应用于特定节点的隐私设置可以控制与该节点相对应的用户或概念是否对在线社交网络的其他用户可见。作为示例而非限制,第一用户可以将对象共享给社交联网系统160。对象可以与通过边1106连接到第一用户的用户节点1102的概念节点1104相关联。第一用户可以指定适用于连接到对象的概念节点1104的特定边1106的隐私设置,或者可以指定适用于连接到概念节点1104的所有边1106的隐私设置。作为示例而非限制,第一用户可以共享特定对象类型的一组对象(例如,一组图像)。第一用户可以将与该特定对象类型的第一用户相关联的所有对象的隐私设置指定为具有特定隐私设置(例如,指定由第一用户发布的所有图像仅对第一用户的朋友可见和/或在图像中标记的用户)。
在特定实施例中,社交联网系统160可以向第一用户呈现“隐私向导”(例如,在网页、模块、一个或多个对话框或任何其他合适的界面内)以帮助第一用户指定一个或多个隐私设置。隐私向导可以显示指令、合适的隐私相关信息、当前隐私设置、用于接受来自第一用户的指定隐私设置的改变或确认的一个或多个输入的一个或多个输入字段、或其任何合适组合。在特定实施例中,社交联网系统160可以向第一用户提供“仪表板”功能,该功能可以向第一用户显示第一用户的当前隐私设置。仪表板功能可以在任何适当的时间显示给第一用户(例如,在来自第一用户的输入之后召唤仪表板功能,在特定事件或触发动作的发生之后)。仪表板功能可以允许第一用户在任何时间以任何合适的方式修改第一用户的当前隐私设置中的一个或多个(例如,将第一用户重定向到隐私向导)。
与对象相关联的隐私设置可以指定允许访问或拒绝访问的任何合适的粒度。作为示例而非限制,可以为以下各项指定访问和拒绝访问:特定用户(例如,只有我、我的室友、我的老板)、特定分离程度内的用户(例如,朋友、朋友的朋友)、用户组(例如,游戏俱乐部、我的家人)、用户网络(例如,特定雇主的员工、特定大学的学生或校友)、所有用户(“公共”)、无用户(“私人”)、第三方系统170的用户、特定应用(例如,第三方应用、外部网站)、其他合适的实体、或其任何合适组合。尽管本公开描述了允许访问或拒绝访问的特定粒度,但本公开设想允许访问或拒绝访问的任何合适的粒度。
在特定实施例中,一个或多个服务器162可以是用于实施隐私设置的授权/隐私服务器。响应于来自用户(或其他实体)对存储在数据存储164中的特定对象的请求,社交联网系统160可以向数据存储164发送对该对象的请求。该请求可以标识与该请求相关联的用户,并且如果授权服务器基于与该对象相关联的隐私设置而确定用户被授权访问该对象,则该对象可以仅发送给该用户(或该用户的客户端系统130)。如果请求用户未被授权访问该对象,则授权服务器可以阻止从数据存储164检索所请求的对象或者可以阻止将所请求的对象发送给用户。在搜索查询上下文中,仅当查询用户被授权访问对象时,对象才可以作为搜索结果提供,例如,如果对象的隐私设置允许它被显现给查询用户、被查询用户发现或以其他方式对查询用户可见。在特定实施例中,对象可以表示通过用户的新闻提要对用户可见的内容。作为示例而非限制,一个或多个对象可以对用户的“趋势”页面可见。在特定实施例中,对象可以对应于特定用户。该对象可以是与特定用户相关联的内容,或者可以是特定用户的账户或存储在社交联网系统160或其他计算系统上的信息。作为示例而非限制,第一用户可以通过在线社交网络的“您可能认识的人”功能或通过查看第一用户的朋友列表来查看在线社交网络的一个或多个第二用户。作为示例而非限制,第一用户可以指定其不希望在其新闻提要或朋友列表中看到与特定第二用户相关联的对象。如果对象的隐私设置不允许它被显现给用户、被用户发现或对用户可见,则可以从搜索结果中排除该对象。尽管本公开描述了以特定方式实施隐私设置,但本公开设想以任何合适的方式实施隐私设置。
在特定实施例中,与用户相关联的相同类型的不同对象可以具有不同隐私设置。与用户关联的不同类型的对象可以具有不同类型的隐私设置。作为示例而非限制,第一用户可以指定第一用户的状态更新是公开的,但是由第一用户共享的任何图像仅对在线社交网络上的第一用户的朋友可见。作为另一示例而非限制,用户可以为不同类型的实体指定不同隐私设置,诸如个人用户、朋友的朋友、追随者、用户组或公司实体。作为另一示例而非限制,第一用户可以指定一组用户,该组用户可以观看由第一用户发布的视频,同时保持视频对第一用户的雇主不可见。在特定实施例中,可以为不同用户组或用户人口统计数据提供不同隐私设置。作为示例而非限制,第一用户可以指定与第一用户上同一所大学的其他用户可以查看第一用户的照片,但是作为第一用户的家庭成员的其他用户不能查看上述那些图片。
在特定实施例中,社交联网系统160可以为特定对象类型的每个对象提供一个或多个默认隐私设置。设置为默认值的对象的隐私设置可以由与该对象相关联的用户改变。作为示例而非限制,由第一用户发布的所有图像可以具有仅对第一用户的朋友可见的默认隐私设置,并且对于特定图像,第一用户可以改变图像的隐私设置以使其对朋友和朋友的朋友可见。
在特定实施例中,隐私设置可以允许第一用户指定(例如,通过选择退出、通过不选择加入)社交联网系统160或助手系统140是否可以出于任何目的而接收、收集、登录或存储与用户相关联的特定对象或信息。在特定实施例中,隐私设置可以允许第一用户指定特定应用或进程是否可以访问、存储或使用与用户相关联的特定对象或信息。隐私设置可以允许第一用户选择加入或退出让特定应用或进程访问、存储或使用对象或信息。社交联网系统160或助手系统140可以访问这样的信息以便向第一用户提供特定功能或服务,而社交联网系统160或助手系统140无需出于任何其他目的而访问该信息。在访问、存储或使用这样的对象或信息之前,社交联网系统160或助手系统140可以提示用户提供隐私设置,以在允许任何这样的动作之前指定哪些应用或进程(如果有的话)可以访问、存储或使用对象或信息。作为示例而非限制,第一用户可以经由与在线社交网络相关的应用(例如,消息传递app)向第二用户传输消息,并且可以指定隐私设置,即,由社交联网系统160或助手系统140不应当存储这样的消息。
在特定实施例中,用户可以指定社交联网系统160或助手系统140是否可以访问、存储或使用与第一用户相关联的特定类型的对象或信息。作为示例而非限制,第一用户可以指定由第一用户通过社交联网系统160或助手系统140发送的图像可以不被社交联网系统160或助手系统140存储。作为另一示例而非限制,第一用户可以指定从第一用户发送给特定第二用户的消息可以不被社交联网系统160或助手系统140存储。作为又一示例并且不作为限制,第一用户可以指定经由特定应用发送的所有对象可以由社交联网系统160或助手系统140保存。
在特定实施例中,隐私设置可以允许第一用户指定是与第一用户相关联的特定对象或信息否可以从特定客户端系统130或第三方系统170访问。隐私设置可以允许第一用户选择加入或退出从特定设备(例如,用户智能手机上的电话簿)、特定应用(例如,消息传递app)或特定系统(例如,电子邮件服务器)访问对象或信息。社交联网系统160或助手系统140可以提供关于每个设备、系统或应用的默认隐私设置,和/或第一用户可以被提示为每个上下文指定特定隐私设置。作为示例而非限制,第一用户可以利用社交联网系统160或助手系统140的位置服务特征来提供对用户附近的餐馆或其他地方的推荐。第一用户的默认隐私设置可以指定社交联网系统160或助手系统140可以使用从第一用户的客户端系统130提供的位置信息来提供基于位置的服务,但是社交联网系统160或助手系统140可以不存储第一用户的位置信息或将其提供给任何第三方系统170。然后第一用户可以更新隐私设置以允许位置信息被第三方图像共享应用使用以为照片添加地理标签。
在特定实施例中,隐私设置可以允许用户指定一个或多个地理位置,从该地理位置可以访问对象。访问或拒绝访问对象可能取决于尝试访问对象的用户的地理位置。作为示例而非限制,用户可以共享对象并且指定只有同一城市中的用户可以访问或查看该对象。作为另一示例而非限制,第一用户可以共享对象并且指定该对象仅在第一用户处于特定位置时才对第二用户可见。如果第一用户离开特定位置,则该对象可能不再对第二用户可见。作为另一示例而非限制,第一用户可以指定对象仅对距第一用户阈值距离内的第二用户可见。如果第一用户随后改变位置,则有权访问对象的原始第二用户可能会失去访问权限,而新的第二用户组可能会在其进入第一用户的阈值距离内时获取访问权限。
在特定实施例中,社交联网系统160或助手系统140可以具有可以将用户的个人或生物计量信息用作输入以用于用户认证或体验个性化目的的功能。用户可以选择使用这些功能来增强其在在线社交网络上的体验。作为示例而非限制,用户可以向社交联网系统160或助手系统140提供个人或生物特征信息。用户的隐私设置可以指定这样的信息可以仅用于特定过程,诸如认证,并且进一步指定这样的信息不得与任何第三方系统170共享或用于与社交联网系统160或助手系统140相关联的其他进程或应用。作为示例而非限制,社交联网系统160可以为用户提供向在线社交网络提供声纹记录的功能。作为示例而非限制,如果用户希望利用在线社交网络的该功能,则用户可以提供他或她自己的语音的录音以提供在线社交网络上的状态更新。语音输入的记录可以与用户的声纹进行比较以确定用户说了什么词。用户的隐私设置可以指定这样的语音记录只能用于语音输入目的(例如,认证用户、发送语音消息、改进语音识别以使用在线社交网络的语音操作特征),并且进一步指定这样的语音记录可能不与任何第三方系统170共享或由与社交联网系统160相关联的其他进程或应用使用。作为另一示例但不作为限制,社交联网系统图160可以为用户提供向在线社交网络提供参考图像(例如,面部轮廓、视网膜扫描)的功能。在线社交网络可以将参考图像与后来接收的图像输入进行比较(例如,认证用户、在照片中标记用户)。用户的隐私设置可以指定这样的图像仅可以用于有限目的(例如,认证、在照片中标记用户),并且进一步指定这样的图像不得与任何第三方系统170共享或由与社交联网系统160相关联的其他进程或应用使用。
系统和方法
图14示出了示例计算机系统1400。在特定实施例中,一个或多个计算机系统1400执行本文中描述或示出的一种或多种方法的一个或多个步骤。在特定实施例中,在特定实施例中,一个或多个计算机系统1400提供本文中描述或示出的功能。在特定实施例中,在一个或多个计算机系统1400上运行的软件执行本文中描述或示出的一种或多种方法的一个或多个步骤,或者提供本文中描述或示出的功能。特定实施例包括一个或多个计算机系统1400的一个或多个部分。在此,在适当的情况下,对计算机系统的引用可以涵盖计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可以涵盖一个或多个计算机系统。
本公开设想任何合适的数目的计算机系统1400。本公开设想采用任何合适的物理形式的计算机系统1400。作为示例而非限制,计算机系统1400可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(例如,模块上计算机(COM)或模块上系统(SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型机、计算机系统网格、移动电话、个人数字助理(PDA)、服务器、平板电脑系统、或上述各项中的两个或更多个的组合。在适当的情况下,计算机系统1400可以包括一个或多个计算机系统1400;是单一的或分布式的;跨越多个位置;跨越多个机器;跨越多个数据中心;或驻留在云中,该云可以包括一个或多个网络中的一个或多个云组件。在适当的情况下,一个或多个计算机系统1400可以在没有实质空间或时间限制的情况下执行本文中描述或示出的一种或多种方法的一个或多个步骤。作为示例而非限制,一个或多个计算机系统1400可以实时或以批处理模式执行本文中描述或示出的一种或多种方法的一个或多个步骤。在适当的情况下,一个或多个计算机系统1400可以在不同时间或在不同位置执行本文中描述或示出的一种或多种方法的一个或多个步骤。
在特定实施例中,计算机系统1400包括处理器1402、存储器1404、存储装置1406、输入/输出(I/O)接口1408、通信接口1410和总线1412。虽然本公开描述和示出了具有特定布置的特定数目的特定组件的特定计算机系统,但是本公开设想具有任何合适的布置的任何合适的数目的任何合适的组件的任何合适的计算机系统。
在特定实施例中,处理器1402包括用于执行指令的硬件,诸如构成计算机程序的那些。作为示例而非限制,为了执行指令,处理器1402可以从内部寄存器、内部高速缓存、存储器1404或存储装置1406中检索(或获取)指令;解码并且执行指令;并且然后将一个或多个结果写入内部寄存器、内部高速缓存、存储器1404或存储装置1406。在特定实施例中,处理器1402可以包括用于数据、指令或地址的一个或多个内部高速缓存。在适当的情况下,本公开设想处理器1402包括任何合适的数目的任何合适的内部高速缓存。作为示例而非限制,处理器1402可以包括一个或多个指令高速缓存、一个或多个数据高速缓存以及一个或多个转换后备缓冲器(TLB)。指令高速缓存中的指令可以是存储器1404或存储装置1406中的指令的副本,并且指令高速缓存可以加速处理器1402对那些指令的检索。数据高速缓存中的数据可以是存储器1404或存储装置1406中用于在处理器1402处执行以进行操作的指令的数据的副本;由在处理器1402处执行的后续指令访问或用于写入存储器1404或存储装置1406的在处理器1402处执行的先前指令的结果;或其他合适的数据。数据高速缓存可以加速处理器1402的读取或写入操作。TLB可以加速处理器1402的虚拟地址转换。在特定实施例中,处理器1402可以包括用于数据、指令或地址的一个或多个内部寄存器。在适当的情况下,本公开设想处理器1402包括任何合适的数目的任何合适的内部寄存器。在适当的情况下,处理器1402可以包括一个或多个算术逻辑单元(ALU);是多核处理器;或者包括一个或多个处理器1402。尽管本公开描述和示出特定处理器,但是本公开设想任何合适的处理器。
在特定实施例中,存储器1404包括用于存储供处理器1402执行的指令或供处理器1402操作的数据的主存储器。作为示例而非限制,计算机系统1400可以将指令从存储装置1406或另一源(例如,另一计算机系统1400)加载到存储器1404。处理器1402然后可以将指令从存储器1404加载到内部寄存器或内部高速缓存。为了执行指令,处理器1402可以从内部寄存器或内部高速缓存中检索指令并且对它们进行解码。在指令执行期间或之后,处理器1402可以将一个或多个结果(其可以是中间或最终结果)写入内部寄存器或内部高速缓存。处理器1402然后可以将这些结果中的一个或多个写入存储器1404。在特定实施例中,处理器1402仅执行一个或多个内部寄存器或内部高速缓存或存储器1404中的指令(与存储装置1406或其他地方相反)并且仅对一个或多个内部寄存器或内部高速缓存或存储器1404中的数据进行操作(与存储装置1406或其他地方相反)。一个或多个存储器总线(其每个可以包括地址总线和数据总线)可以将处理器1402耦合到存储器1404。总线1412可以包括一条或多条存储器总线,如下所述。在特定实施例中,一个或多个存储器管理单元(MMU)驻留在处理器1402与存储器1404之间并且促进对由处理器1402请求的存储器1404的访问。在特定实施例中,存储器1404包括随机存取存储器(RAM)。在适当的情况下,该RAM可以是易失性存储器。在适当的情况下,该RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。此外,在适当的情况下,该RAM可以是单端口或多端口RAM。本公开设想任何合适的RAM。在适当的情况下,存储器1404可以包括一个或多个存储器1404。尽管本公开描述和示出了特定存储器,但本公开设想任何合适的存储器。
在特定实施例中,存储装置1406包括用于数据或指令的大容量存储装置。作为示例而非限制,存储装置1406可以包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器、或其中的两个或更多个的组合。在适当的情况下,存储装置1406可以包括可移动或不可移动(或固定)介质。在适当的情况下,存储装置1406可以在计算机系统1400内部或外部。在特定实施例中,存储装置1406是非易失性固态存储器。在特定实施例中,存储装置1406包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可更改ROM(EAROM)或闪存、或其中的两个或更多个的组合。本公开设想采用任何合适的物理形式的大容量存储装置1406。在适当的情况下,存储装置1406可以包括促进处理器1402与存储装置1406之间的通信的一个或多个存储控制单元。在适当的情况下,存储装置1406可以包括一个或多个存储装置1406。尽管本公开描述和示出了特定存储装置,但是本公开设想任何合适的存储装置。
在特定实施例中,I/O接口1408包括用于为计算机系统1400与一个或多个I/O设备之间的通信提供一个或多个接口的硬件、软件或这两者。在适当的情况下,计算机系统1400可以包括这些I/O设备中的一个或多个。这些I/O设备中的一个或多个可以实现人与计算机系统1400之间的通信。作为示例而非限制,I/O设备可以包括键盘、小键盘、麦克风、显示器、鼠标、打印机、扫描仪、扬声器、相机、触控笔、平板电脑、触摸屏、轨迹球、摄像机、其他合适的I/O设备、或其中的两个或更多个的组合。I/O设备可以包括一个或多个传感器。本公开设想任何合适的I/O设备和用于I/O设备的任何合适的I/O接口1408。在适当的情况下,I/O接口1408可以包括一个或多个设备或软件驱动程序,以使得处理器1402能够驱动这些I/O设备中的一个或多个。在适当的情况下,I/O接口1408可以包括一个或多个I/O接口1408。尽管本公开描述和示出了特定I/O接口,但本公开设想任何合适的I/O接口。
在特定实施例中,通信接口1410包括用于提供用于计算机系统1400与一个或多个其他计算机系统1400或一个或多个网络之间的通信(注入,基于分组的通信)的一个或多个接口的硬件、软件或这两者。作为示例而非限制,通信接口1410可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(NIC)或网络适配器、或者用于与无线网络(诸如WI-FI网络)进行通信的无线NIC(WNIC)或无线适配器。本公开设想任何合适的网络和用于其的任何合适的通信接口1410。作为示例而非限制,计算机系统1400可以与自组织网络、个域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、或互联网的一个或多个部分、或其中的两个或更多个的组合进行通信。这些网络中的一个或多个的一个或多个部分可以是有线的或无线的。作为示例,计算机系统1400可以与无线PAN(WPAN)(例如,BLUETOOTHWPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信系统(GSM)网络)或其他合适的无线网络、或其中的两个或更多个的组合进行通信。在适当的情况下,计算机系统1400可以包括用于任何这些网络的任何合适的通信接口1410。在适当的情况下,通信接口1410可以包括一个或多个通信接口1410。尽管本公开描述和示出了特定通信接口,但本公开设想任何合适的通信接口。
在特定实施例中,总线1412包括用于将计算机系统1400的组件彼此耦合的硬件、软件或这两者。作为示例而非限制,总线1412可以包括加速图形端口(AGP)或其他图形总线、增强型工业标准架构(EISA)总线、前端总线(FSB)、HYPERTRANSPORT(HT)互连、工业标准架构(ISA)总线、INFINIBAND互连、低引脚数(LPC)总线、存储器总线、微通道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会本地(VLB)总线、或其他合适的总线、或其中的两个或更多个的组合。在适当的情况下,总线1412可以包括一条或多条总线1412。尽管本公开描述和示出了特定总线,但本公开设想任何合适的总线或互连。
这里,在适当的情况下,一个或多个计算机可读非暂态存储介质可以包括一个或多个基于半导体的或其他集成电路(IC)(例如,现场可编程门阵列(FPGA)或特定应用IC(ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(SSD)、RAM驱动器、安全数字卡或驱动器、任何其他合适的计算机可读非暂态存储介质、或其中的两个或更多个的任何合适组合。在适当的情况下,计算机可读非暂态存储介质可以是易失性、非易失性或易失性和非易失性的组合。
其他
这里,“或”是包括性而非排他性的,除非另有明确说明或上下文另有说明。因此,这里,“A或B”是指“A、B或这两者”,除非另有明确说明或上下文另有说明。此外,“和”既是联合的又是多个的,除非另有明确说明或上下文另有说明。因此,这里,“A和B”是指“A和B,共同地或分别地”,除非另有明确说明或上下文另有说明。
本公开的范围包括本领域普通技术人员将理解的对本文中描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文中描述或示出的示例实施例。此外,尽管本公开将本文中的各个实施例描述和示出为包括特定组件、元件、特征、功能、操作或步骤,但是这些实施例中的任何一个可以包括本领域普通技术人员将理解的本文任何地方描述或示出的任何组件、元件、特征、功能、操作或步骤的任何组合或排列。此外,在所附权利要求中对适于、被布置为、能够、被配置为、启用、可操作以或操作以执行特定功能的装置或系统或装置或系统的组件的引用涵盖该装置、系统、组件,无论它或该特定功能是否被激活、打开或解锁,只要该装置、系统或组件如此适配、布置、能够、被配置为、启用、可操作以或操作。此外,尽管本公开将特定实施例描述或示出为提供特定优点,但特定实施例可以不提供、提供一些或所有这些优点。

Claims (20)

1.一种方法,包括由一个或多个计算系统:
经由助手xbot从与第一用户相关联的客户端系统接收同时呼叫多个第二用户的用户请求,其中所述用户请求包括引用所述多个第二用户的一个或多个引用;
通过分别解析对与所述多个第二用户相关联的多个实体标识符的所述一个或多个引用来标识所述多个第二用户;以及
通过所述助手xbot基于所述多个实体标识符来同时发起对所述多个第二用户的组呼叫。
2.根据权利要求1所述的方法,其中所述一个或多个引用至少包括模糊提及,其中所述模糊提及对应于来自所述多个第二用户的特定第二用户。
3.根据权利要求2所述的方法,还包括:对所述模糊提及进行消歧以标识所述特定第二用户,其中所述消歧包括:
基于个性化机器学习模型确定多个候选用户,其中每个候选用户与置信度分数相关联;
基于所述多个候选用户的相应置信度分数对所述多个候选用户进行排名;以及
基于所述多个候选用户的相应排名从所述多个候选用户标识所述特定第二用户。
4.根据权利要求3所述的方法,还包括:
经由所述助手xbot向所述客户端系统发送用于提示所述第一用户针对所述特定第二用户的确认的指令。
5.根据权利要求1所述的方法,其中所述一个或多个引用至少包括模糊提及,其中所述模糊提及对应于来自所述多个第二用户中的一组第二用户。
6.根据权利要求5所述的方法,还包括:对所述模糊提及进行消歧以标识所述一组第二用户,其中所述消歧包括:将所述模糊提及与对应于多个预定组的组标识符的列表分别进行比较,其中每个预定组包括多个用户。
7.根据权利要求5所述的方法,还包括:
确定与所述模糊提及相对应的组标识符不存在;
经由所述助手xbot向所述客户端系统发送用于提示所述第一用户创建所述组的指令;
经由所述助手xbot从所述客户端系统接收包括与所述组中的所述第二用户中的每个第二用户相关联的信息的一个或多个用户输入;
基于所述一个或多个用户输入创建所述第二用户的所述组;以及
将所创建的所述组存储在数据存储中,其中所述组与组标识符相关联。
8.根据权利要求1所述的方法,还包括:
基于自然语言理解模块标识与所述用户请求相关联的一个或多个分隔符,
其中可选地标识所述多个第二用户基于所述一个或多个分隔符。
9.根据权利要求1所述的方法,其中所述用户请求基于语音输入。
10.根据权利要求1所述的方法,还包括:
基于所述用户请求从多个代理选择代理以执行与所述组呼叫相对应的任务。
11.根据权利要求1所述的方法,还包括:
基于与所述第一用户相关联的默认设置、与所述第一用户相关联的用户偏好、所述第一用户与所述计算系统之间的历史交互、或预定规则中的一项或多项,从多个代理选择代理以执行与所述组呼叫相对应的任务。
12.根据权利要求1所述的方法,其中所述组呼叫是语音呼叫或视频呼叫。
13.根据权利要求1所述的方法,其中通过分别解析对与所述多个第二用户相关联的所述多个实体标识符的所述一个或多个引用来标识所述多个第二用户包括:
访问与所述第一用户相关联的一个或多个联系人列表,其中每个联系人列表包括与多个实体标识符相关联的多个名称;以及
将所述一个或多个引用与所述多个名称进行比较,以确定针对所述多个第二用户的所述多个实体标识符。
14.根据权利要求13所述的方法,其中所述一个或多个联系人列表被存储在以下中的一项或多项上:
所述客户端系统;
所述计算系统中的一个或多个计算系统;或者
一个或多个第三方计算系统。
15.根据权利要求1所述的方法,其中所述用户请求仅包括单个请求,并且其中同时发起对所述多个第二用户的所述组呼叫是对所述单个请求的响应。
16.根据权利要求1所述的方法,其中同时发起对所述多个第二用户的所述组呼叫包括:确定任何附加用户输入针对发起所述组呼叫不是必需的。
17.根据权利要求1所述的方法,其中同时发起对所述多个第二用户的所述组呼叫包括:
同时分别生成从所述第一用户到所述多个第二用户的多个通信请求;以及
经由网络向与所述多个第二用户相关联的多个客户端系统同时发送所述多个通信请求。
18.一种或多种包含软件的计算机可读非暂态存储介质,所述软件在被执行时可操作以执行根据权利要求1至17中任一项所述的方法或者用于:
经由助手xbot从与第一用户相关联的客户端系统接收同时呼叫多个第二用户的用户请求,其中所述用户请求包括引用所述多个第二用户的一个或多个引用;
通过分别解析对与所述多个第二用户相关联的多个实体标识符的所述一个或多个引用来标识所述多个第二用户;以及
通过所述助手xbot基于所述多个实体标识符来同时发起对所述多个第二用户的组呼叫。
19.一种系统,包括:一个或多个处理器;以及耦合到所述处理器的非暂态存储器,所述非暂态存储器包括由所述处理器可执行的指令,所述处理器在执行所述指令时可操作以执行根据权利要求1至17中任一项所述的方法或者用于:
经由助手xbot从与第一用户相关联的客户端系统接收同时呼叫多个第二用户的用户请求,其中所述用户请求包括引用所述多个第二用户的一个或多个引用;
通过分别解析对与所述多个第二用户相关联的多个实体标识符的所述一个或多个引用来标识所述多个第二用户;以及
通过所述助手xbot基于所述多个实体标识符来同时发起对所述多个第二用户的组呼叫。
20.一种包含软件的计算机程序产品,所述软件在被执行时可操作以执行根据权利要求1至17中任一项所述的方法或者用于:
经由助手xbot从与第一用户相关联的客户端系统接收同时呼叫多个第二用户的用户请求,其中所述用户请求包括引用所述多个第二用户的一个或多个引用;
通过分别解析对与所述多个第二用户相关联的多个实体标识符的所述一个或多个引用来标识所述多个第二用户;以及
通过所述助手xbot基于所述多个实体标识符来同时发起对所述多个第二用户的组呼叫。
CN202180045696.8A 2020-06-29 2021-06-24 在助手系统中使用单个请求进行多人呼叫 Pending CN116018791A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/914,966 2020-06-29
US16/914,966 US11658835B2 (en) 2020-06-29 2020-06-29 Using a single request for multi-person calling in assistant systems
PCT/US2021/038861 WO2022005865A1 (en) 2020-06-29 2021-06-24 Using a single request for multi-person calling in assistant systems

Publications (1)

Publication Number Publication Date
CN116018791A true CN116018791A (zh) 2023-04-25

Family

ID=77300969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180045696.8A Pending CN116018791A (zh) 2020-06-29 2021-06-24 在助手系统中使用单个请求进行多人呼叫

Country Status (6)

Country Link
US (1) US11658835B2 (zh)
EP (1) EP4172843A1 (zh)
JP (1) JP2023531346A (zh)
KR (1) KR20230029582A (zh)
CN (1) CN116018791A (zh)
WO (1) WO2022005865A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11537661B2 (en) * 2020-10-02 2022-12-27 PolyAI Limited Systems and methods for conversing with a user
US20220147547A1 (en) * 2020-11-12 2022-05-12 International Business Machines Corporation Analogy based recognition
US11563706B2 (en) * 2020-12-29 2023-01-24 Meta Platforms, Inc. Generating context-aware rendering of media contents for assistant systems
US20230350928A1 (en) * 2022-04-28 2023-11-02 Knowbl LLC Systems and methods for implementing a virtual agent performing context and query transformations using unsupervised machine learning models

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6504912B1 (en) * 1998-07-07 2003-01-07 At&T Corp. Method of initiating a call feature request
US7421432B1 (en) 1999-12-15 2008-09-02 Google Inc. Hypertext browser assistant
AU2434600A (en) 1999-12-29 2001-07-16 Koninklijke Kpn N.V. Electronic call assistants with shared database
NL1015165C2 (nl) 2000-05-12 2001-11-13 Koninkl Kpn Nv Communicatiesysteem.
US7158678B2 (en) 2001-07-19 2007-01-02 Motorola, Inc. Text input method for personal digital assistants and the like
US8161116B2 (en) * 2003-05-23 2012-04-17 Kirusa, Inc. Method and system for communicating a data file over a network
US7124123B1 (en) 2003-06-30 2006-10-17 America Online, Inc. Intelligent processing in the context of away and offline instant messages
US7944861B2 (en) * 2003-10-14 2011-05-17 Tele-Town Hall, Llc System and process for mass telephony conference call
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US20080240379A1 (en) 2006-08-03 2008-10-02 Pudding Ltd. Automatic retrieval and presentation of information relevant to the context of a user's conversation
KR100785066B1 (ko) * 2006-11-06 2007-12-12 삼성전자주식회사 휴대 단말기의 폰북 그룹 관리 방법
US10042032B2 (en) 2009-04-29 2018-08-07 Amazon Technologies, Inc. System and method for generating recommendations based on similarities between location information of multiple users
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10276170B2 (en) * 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US9098808B1 (en) 2010-04-22 2015-08-04 Google Inc. Social search engine
GB2502736A (en) 2011-02-23 2013-12-04 Bottlenose Inc System and method for analyzing messages in a network or across networks
US20120246191A1 (en) 2011-03-24 2012-09-27 True Xiong World-Wide Video Context Sharing
US9398347B2 (en) 2011-05-30 2016-07-19 Sandvine Incorporated Ulc Systems and methods for measuring quality of experience for media streaming
US9154739B1 (en) 2011-11-30 2015-10-06 Google Inc. Physical training assistant system
US9418658B1 (en) 2012-02-08 2016-08-16 Amazon Technologies, Inc. Configuration of voice controlled assistant
US10235346B2 (en) 2012-04-06 2019-03-19 Hmbay Patents Llc Method and apparatus for inbound message summarization using message clustering and message placeholders
US20140187218A1 (en) * 2012-05-17 2014-07-03 Stanacard Llc Managing group calling from a wireless mobile application
US9060224B1 (en) 2012-06-01 2015-06-16 Rawles Llc Voice controlled assistant with coaxial speaker and microphone arrangement
US9299059B1 (en) 2012-06-07 2016-03-29 Google Inc. Generating a summary of social media content
US9747895B1 (en) 2012-07-10 2017-08-29 Google Inc. Building language models for a user in a social network from linguistic information
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US8983383B1 (en) 2012-09-25 2015-03-17 Rawles Llc Providing hands-free service to multiple devices
US11397462B2 (en) 2012-09-28 2022-07-26 Sri International Real-time human-machine collaboration using big data driven augmented reality technologies
WO2014142702A1 (en) 2013-03-15 2014-09-18 Obschestvo S Ogranichennoy Otvetstvennostiyu "Speaktoit" Selective speech recognition for chat and digital personal assistant systems
US20140164506A1 (en) 2012-12-10 2014-06-12 Rawllin International Inc. Multimedia message having portions of networked media content
CN104969289B (zh) 2013-02-07 2021-05-28 苹果公司 数字助理的语音触发器
US9659577B1 (en) 2013-03-14 2017-05-23 Amazon Technologies, Inc. Voice controlled assistant with integrated control knob
US9304736B1 (en) 2013-04-18 2016-04-05 Amazon Technologies, Inc. Voice controlled assistant with non-verbal code entry
WO2014197336A1 (en) * 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9472206B2 (en) 2013-06-17 2016-10-18 Google Technology Holdings LLC Privacy mode for always-on voice-activated information assistant
US9338242B1 (en) 2013-09-09 2016-05-10 Amazon Technologies, Inc. Processes for generating content sharing recommendations
US10134395B2 (en) 2013-09-25 2018-11-20 Amazon Technologies, Inc. In-call virtual assistants
US9479931B2 (en) 2013-12-16 2016-10-25 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
US10181322B2 (en) 2013-12-20 2019-01-15 Microsoft Technology Licensing, Llc Multi-user, multi-domain dialog system
US9424247B1 (en) 2013-12-31 2016-08-23 Google Inc. Associating one or more terms in a message trail with a task entry
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9189514B1 (en) 2014-09-04 2015-11-17 Lucas J. Myslinski Optimized fact checking method and system
US9508339B2 (en) 2015-01-30 2016-11-29 Microsoft Technology Licensing, Llc Updating language understanding classifier models for a digital personal assistant based on crowd-sourcing
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10417799B2 (en) 2015-05-07 2019-09-17 Facebook, Inc. Systems and methods for generating and presenting publishable collections of related media content items
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US9792281B2 (en) 2015-06-15 2017-10-17 Microsoft Technology Licensing, Llc Contextual language generation by leveraging language understanding
EP3122001B1 (en) 2015-07-24 2019-10-23 Facebook, Inc. Providing personal assistant service via messaging
US10262654B2 (en) 2015-09-24 2019-04-16 Microsoft Technology Licensing, Llc Detecting actionable items in a conversation among participants
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10402750B2 (en) 2015-12-30 2019-09-03 Facebook, Inc. Identifying entities using a deep-learning model
WO2017168202A1 (en) 2016-03-27 2017-10-05 Yogesh Chunilal Rathod Identifying & storing followers, following users, viewers, users and connections for user
CN114357128A (zh) 2016-04-18 2022-04-15 谷歌有限责任公司 适当的代理的自动化助理调用
US20170353469A1 (en) 2016-06-03 2017-12-07 Facebook, Inc. Search-Page Profile
US10462619B2 (en) 2016-06-08 2019-10-29 Google Llc Providing a personal assistant module with a selectively-traversable state machine
CN107491469B (zh) 2016-06-11 2020-11-24 苹果公司 智能任务发现
US20180018562A1 (en) 2016-07-14 2018-01-18 Cside Japan Inc. Platform for providing task based on deep learning
US10516938B2 (en) 2016-07-16 2019-12-24 Ron Zass System and method for assessing speaker spatial orientation
US20180096072A1 (en) 2016-10-03 2018-04-05 Google Inc. Personalization of a virtual assistant
US10579688B2 (en) 2016-10-05 2020-03-03 Facebook, Inc. Search ranking and recommendations for online social networks based on reconstructed embeddings
US11392598B2 (en) 2016-10-19 2022-07-19 Ebay Inc. Applying a quantitative range for qualitative terms
US10699181B2 (en) 2016-12-30 2020-06-30 Google Llc Virtual assistant generation of group recommendations
CA3057523A1 (en) * 2017-03-24 2018-09-27 TipeME Holdings Pty Ltd A system and method for providing user accounts through which users are able to operate computing devices
US9865260B1 (en) 2017-05-03 2018-01-09 Google Llc Proactive incorporation of unsolicited content into human-to-computer dialogs
US10438594B2 (en) 2017-09-08 2019-10-08 Amazon Technologies, Inc. Administration of privileges by speech for voice assistant system
US10523864B2 (en) 2018-04-10 2019-12-31 Facebook, Inc. Automated cinematic decisions based on descriptive models
US10608929B2 (en) * 2018-05-31 2020-03-31 Motorola Solutions, Inc. Method for routing communications from a mobile device to a target device
US10643619B2 (en) * 2018-08-20 2020-05-05 Motorola Solutions, Inc. Dynamic dispatcher electronic digital assistant monitoring in a mobile radio system
US20200110745A1 (en) * 2018-10-09 2020-04-09 Rovi Guides, Inc. Systems and methods for providing anticipatory search results for a query
US11386920B2 (en) * 2018-11-16 2022-07-12 Facet Labs, Llc Interactive group session computing systems and related methods
US11194796B2 (en) * 2019-02-14 2021-12-07 Microsoft Technology Licensing, Llc Intuitive voice search
US11184408B2 (en) * 2020-01-17 2021-11-23 Google Llc Voice calling with a connected device
US20210390144A1 (en) * 2020-06-15 2021-12-16 Avaya Management L.P. Ai-bot based in-meeting instant query assistant for conference meetings

Also Published As

Publication number Publication date
KR20230029582A (ko) 2023-03-03
EP4172843A1 (en) 2023-05-03
WO2022005865A1 (en) 2022-01-06
US20210409234A1 (en) 2021-12-30
US11658835B2 (en) 2023-05-23
JP2023531346A (ja) 2023-07-24

Similar Documents

Publication Publication Date Title
US11823289B2 (en) User controlled task execution with task persistence for assistant systems
US20210117214A1 (en) Generating Proactive Content for Assistant Systems
US11159767B1 (en) Proactive in-call content recommendations for assistant systems
US11567788B1 (en) Generating proactive reminders for assistant systems
US11658835B2 (en) Using a single request for multi-person calling in assistant systems
US20220279051A1 (en) Generating Proactive Reminders for Assistant Systems
US20220358917A1 (en) Multi-device Mediation for Assistant Systems

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