选择下一用户提示类型的制作方法

文档序号:17583115发布日期:2019-05-03 21:05阅读:144来源:国知局
选择下一用户提示类型的制作方法

本国际申请要求于2016年8月16日提交的题为“selectingnextuserprompttypesinanintelligentonlinepersonalassistantmulti-turndialog”的美国专利申请第15/238,666号的优先权,该美国专利申请的全部内容通过引用并入本文中。



背景技术:

常规搜索是非个人化的。人们不能用普通语言对常规的浏览引擎讲话。常规搜索是耗时的,选择太多并且可能浪费很多时间来浏览结果页面。由于受限于常规工具的技术限制,用户难以传达意图,例如用户不能共享产品的照片以帮助搜索。随着选择激增至数十亿的在线项目,对比搜索变得比以往任何时候都更加重要,而目前的解决方案并不是为这种规模而设计的。不相关的结果通常会被显示并且不会得出最佳结果。常规形式的对比搜索(搜索+细化+浏览)不再有用。



技术实现要素:

在一个示例中,智能个人助理系统包括可扩展的人工智能(ai),该可扩展的人工智能渗透到现有消息传送平台的结构中以提供智能在线个人助理(或“机器人”)。该系统可以利用现有的清单和策划的数据库,以在人类用户与智能在线个人助理之间的预测轮次(turn)的通信中提供智能的、个性化的答案。智能个人助理系统的一个示例包括知识图。机器学习组件可以连续地识别和学习用户意图,使得随着时间的推移增强用户识别和理解。例如,由此提供的用户体验是令人鼓舞的、直观的且独特的,并且可以关注于特定年龄组(例如,千禧一代(millenial))的使用和行为模式。

附图说明

附图通常以示例的方式而非限制性的方式来示出本文档中所论述的各种实施方式。为了更容易地识别对任何特定元素或动作的讨论,附图标记中的最高有效数字是指首先引入该元素的图号。

图1示出了根据一些示例实施方式的联网系统。

图2示出了根据一些示例实施方式的智能个人助理系统的一般架构。

图3a和图3b示出了根据一些示例实施方式的语音识别组件中的组件。

图4示出了代表性软件架构,该软件架构可以与本文描述的各种硬件架构结合使用。

图5是示出根据一些示例实施方式的能够从机器可读介质(例如,机器可读存储介质)读取指令并且执行本文所讨论的方法中的任一种或更多种的机器的组件。

图6示出了根据一些示例实施方式的可以布置智能在线个人助理的示例环境。

图7示出了根据一些示例实施方式的处理自然语言用户输入以在电子市场中生成项目推荐的智能个人助理系统的概述。

图8示出了根据一些示例实施方式的自然语言理解(nlu)组件、其子组件以及与自然语言理解组件交互的其他组件。

图9示出了根据一些示例实施方式的各种分析的结果。

图10示出了根据一些示例实施方式的知识图。

图11a和图11b示出了根据一些示例实施方式的具有项目类别、一些项目属性和一些项目属性值的简明知识图。

图12示出了根据一些示例实施方式的处理自然语言用户输入以生成建议性提示的智能个人助理系统的概述。

图13示出了根据一些示例实施方式的用于处理自然语言用户输入以生成项目推荐的方法的流程图。

具体实施方式

该上下文中的“载波信号”是指能够存储、编码或携载由机器执行的指令的任何无形介质并且包括数字或模拟通信信号或其他无形介质以便于这些指令的通信。可以使用传输介质经由网络接口装置并且使用多个公知的传输协议中的任何一个来通过网络发送或接收指令。

该上下文中的“客户端装置”是指与通信网络对接以从一个或更多个服务器系统或其他客户端装置获得资源的任何机器。客户端装置可以是但不限于移动电话、桌上型计算机、膝上型计算机、便携式数字助理(pda)、智能电话、平板计算机、超级本、上网本、多个膝上型计算机、多处理器系统、基于微处理器或可编程消费电子产品、游戏控制台、机顶盒或用户可以使用以访问网络的任何其他通信装置。

该上下文中的“通信网络”是指网络的一个或更多个部分,该网络可以是自组织网络、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、因特网、因特网的一部分、公共交换电话网(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另外类型的网络或者两个或更多个这样的网络的组合。例如,网络或网络的一部分可以包括无线或蜂窝网络,并且耦接可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任一种,例如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线服务(gprs)技术、gsm演进的增强数据率(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准设置组织定义的其他标准、其他远程协议或其他数据传输技术。

该上下文中的“组件”是指具有由功能或子例程调用、分支点、应用程序接口(api)或被提供用于对特定处理或控制功能进行分区或模块化的其他技术定义的边界的装置、物理实体或逻辑。组件可以通过它们的接口与其他组件组合以执行机器处理。组件可以是被设计用于与其他组件一起使用的封装功能硬件单元以及通常执行相关功能的特定功能的程序的一部分。组件可以构成软件组件(例如,在机器可读介质上嵌入的代码)或硬件组件。“硬件组件”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例实施方式中,一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或更多个硬件组件(例如,处理器或处理器组)可以通过软件(例如,应用或应用部分)被配置为用于执行如本文所描述的某些操作的硬件组件。也可以机械地、电子地或通过其任何合适的组合来实现硬件组件。例如,硬件组件可以包括永久地配置成执行某些操作的专用电路或逻辑。硬件组件可以是专用处理器,例如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件组件还可以包括通过软件被临时配置成执行某些操作的可编程逻辑或电路。例如,硬件组件可以包括由通用处理器或其他可编程处理器执行的软件。一旦通过这样的软件被配置,则硬件组件成为特定的机器(或机器的特定组件),其被唯一地定制成执行配置的功能并且不再是通用处理器。将理解的是,硬件组件是在专用的永久配置的电路中还是在临时配置的电路(例如,由软件进行配置)中机械地实现的决策可以由成本和时间考虑来驱动。因此,短语“硬件组件”(“硬件实现的组件”)应当被理解成包含有形实体,即被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)成以某种方式操作或者执行本文所描述的某些操作的实体。考虑其中硬件组件被临时配置(例如,被编程)的实施方式,硬件组件中的每一个无需在任一时刻处均被配置或实例化。例如,在硬件组件包括通过软件配置成专用处理器的通用处理器的情况下,通用处理器可以在不同时间处分别被配置成不同的专用处理器(例如,包括不同的硬件组件)。软件相应地配置一个或更多个特定处理器以例如在一个时刻处构成特定硬件组件并且在不同的时刻处构成不同的硬件组件。硬件组件可以向其他硬件组件提供信息以及从其他硬件组件接收信息。因此,所描述的硬件组件可以被认为是通信上耦接的。在同时存在多个硬件组件的情况下,可以通过在两个或更多个硬件组件之间或之中的信号传输(例如,通过适当的电路和总线)来实现通信。在其中多个硬件组件在不同时间处被配置或实例化的实施方式中,可以例如通过将信息存储在多个硬件组件可以访问的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件组件之间的通信。例如,一个硬件组件可以执行操作,并且将该操作的输出存储在该硬件组件通信上耦接的存储器装置中。然后,另外的硬件组件可以在后面的时间处访问存储器装置,以检索和处理所存储的输出。硬件组件还可以发起与输入或输出装置的通信,并且可以对资源(例如,信息的集合)进行操作。在本文中描述的示例方法的各种操作可以至少部分地由临时地配置(例如,由软件)或永久地配置以执行相关操作的一个或更多个处理器来执行。无论是被临时地配置还是永久地配置,这样的处理器可以构成用于执行本文描述的一个或更多个操作或功能的处理器实现的组件。如本文所使用的,“处理器实现的组件”是指使用一个或更多个处理器实现的硬件组件。类似地,本文描述的方法可以是至少部分地处理器实现的,其中,一个或更多个特定处理器是硬件的示例。例如,方法的操作中的至少一些操作可以由一个或更多个处理器或处理器实现的组件来执行。此外,一个或更多个处理器还可以用于支持“云计算”环境中的相关操作的执行或操作为“软件即服务”(saas)。例如,操作中的至少一些操作可以由计算机群(作为包括处理器的机器的示例)来执行,其中,这些操作是经由网络(例如,因特网)以及经由一个或更多个合适接口(例如,应用程序接口(api))可访问的。某些操作的执行可以被分配在不是仅驻留在单个机器内而是跨多个机器布置的多个处理器之间进行。在一些示例实施方式中,处理器或处理器实现的组件可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施方式中,处理器或处理器实现的组件可以跨多个地理位置分布。

该上下文中的“机器可读介质”是指能够临时或永久地存储指令和数据的组件、装置或其他有形介质,并且可以包括但不限于随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪速存储器、光学介质、磁介质、高速缓冲存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(eeprom))和/或它们的任何合适的组合。术语“机器可读介质”应当被视为包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库或相关联的高速缓存和服务器)。术语“机器可读介质”还将被视为包括能够存储由机器执行的指令(例如,代码)的任何介质或多个介质的组合,使得指令在由机器的一个或更多个处理器执行时使机器执行本文所描述的方法中的任何一种或更多种。因此,“机器可读介质”是指单个存储设备或装置以及包括多个存储设备或装置的“基于云的”存储系统或存储网络。术语“机器可读存储介质”不包括信号本身。机器可读介质包括机器可读存储介质和传输介质或载波信号。

该上下文中的“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器码”等)操纵数据值并且产生应用于操作机器的对应输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑模拟的物理电路)。例如,处理器可以是中央处理单元(cpu)、简化指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp))、专用集成电路(asic)、射频集成电路(rfic)或其任何组合。处理器还可以是具有可以同时执行指令的两个或更多个独立处理器(有时称为“核”)的多核处理器。

本专利文档的公开内容的一部分包括受版权保护的材料。由于该专利文档或专利公开内容出现在专利商标局的专利文件或记录中,所以版权所有者不反对任何人对该专利文档或专利公开内容的复制再现,但是除此之外保留全部的任何版权权利。以下声明适用于下文所描述的和形成该文档的一部分的附图中的软件和数据:版权2016,电子湾有限公司,保留所有权利。

以下描述包括体现本公开内容的说明性实施方式的系统、方法、技术、指令序列和计算机器程序产品。在以下描述中,出于说明的目的,阐述了许多具体细节以便提供对本发明主题的各种实施方式的理解。然而,对于本领域技术人员而言显然的是,可以在没有这些具体细节的情况下实践本发明主题的实施方式。通常,不一定详细地示出公知的指令实例、协议、结构和技术。

参照图1,示出了高级saas网络架构100的示例实施方式。联网系统116经由网络110(例如,因特网或广域网(wan))向客户端装置108提供服务器端功能。在客户端装置108上托管并且执行应用程序104的示例形式的程序客户端和web客户端102。联网系统116包括应用服务器122,该应用服务器122又托管智能个人助理系统106,该智能个人助理系统106向访问联网系统116的应用程序104提供多种功能和服务。应用程序104还提供本文描述的多个接口,所述多个接口向客户端装置108的用户呈现跟踪和分析操作的输出。

客户端装置108使用户能够访问联网系统116并与联网系统116交互。例如,用户向客户端装置108提供输入(例如,触摸屏输入或字母数字输入),并且该输入经由网络110被传送至联网系统116。在这种情况下,联网系统116响应于接收到来自用户的输入,经由网络110将信息传送回客户端装置108以呈现给用户。

应用程序接口(api)服务器118和web服务器120分别耦接至应用服务器122并且分别向应用服务器122提供程序和web接口。应用服务器122托管包括组件或应用程序的智能个人助理系统106。应用服务器122进而被示为耦接至有助于访问信息存储库(例如,数据库/云126)的数据库服务器124。在示例实施方式中,数据库/云126包括存储由智能个人助理系统106访问和生成的信息的存储装置。

此外,在第三方服务器112上执行的第三方应用程序114被示为具有经由由应用程序接口(api)服务器118提供的编程接口对联网系统116的编程访问。例如,使用从联网系统116检索的信息的第三方应用程序114可以支持由第三方托管的网站上的一个或更多个特征或功能。

现在具体地转到由客户端装置108托管的应用程序,web客户端102可以经由由web服务器120支持的web接口访问各种系统(例如,智能个人助理系统106)。类似地,应用程序104(例如,“app”)经由由应用程序接口(api)服务器118提供的编程接口访问由智能个人助理系统106提供的各种服务和功能。例如,应用程序104可以是在客户端装置108上执行的“app(例如,ios或androidos应用程序)”,以使用户能够以离线方式访问和输入联网系统116的数据并且在程序客户端应用程序104与联网系统116之间执行批模式(batch-mode)通信。

此外,尽管图1中所示的saas网络架构100采用客户端服务器架构,但是本发明的主题当然不限于这样的架构,并且同样例如可以应用于分布式或对等架构系统中。智能个人助理系统106还可以实现为不一定具有联网能力的独立的软件程序。

图2是示出根据一些示例实施方式的智能个人助理系统106的一般架构的框图。具体地,智能个人助理系统106被示出为包括前端组件202(fe),智能个人助理系统106通过该前端组件202(例如,经由网络110)与saas网络架构100内的其他系统通信。前端组件202可以与现有消息传送系统的结构通信。如本文所使用的,术语消息传送结构是指可以为诸如脸书(facebook)信使、微软科塔娜(cortana)和其他“机器人”的第三方平台提供某种能力的api和服务的集合。在一个示例中,消息传送结构可以支持允许用户交流商业意图的在线商务生态系统。前端组件202的输出可以被呈现在作为与智能个人助理或“机器人”的接口的一部分的客户端装置(例如,图1中的客户端装置108)的显示器中。

智能个人助理系统106的前端组件202耦接至前端的后端组件204(bff),该后端组件204用于将前端组件202与人工智能框架128链接。人工智能框架128可以包括如下所讨论的若干组件。在各种组件之间交换的数据和每个组件的功能可以取决于具体实现而在一定程度上变化。

在智能个人助理系统106的一个示例中,ai协调器(orchestrator)206协调人工智能框架128内部的组件与外部的组件之间的通信。例如,可以从计算机视觉组件208、语音识别组件210和可以形成语音识别组件210的一部分的文本归一化组件得到ai协调器206的输入模态。计算机视觉组件208可以从视觉输入(例如,照片)识别对象和属性。语音识别组件210可以将音频信号(例如,讲出的话语)转换成文本。文本归一化组件可以用于进行输入归一化,例如通过将表情符号呈现成文本来进行语言归一化。例如,其他归一化是可能的,例如,字形归一化、外语归一化、会话文本归一化等。

人工智能框架128还包括用于提取用户意图和各种意图参数的自然语言理解或nlu组件214。从图8开始更详细地描述nlu组件214。

人工智能框架128还包括对话管理器216,对话管理器216用于理解(例如诸如搜索查询或话语的输入的)“特异性的完整性(completenessofspecificity)”并且判定下一个动作类型和相关参数(例如,“搜索”或“向用户请求更多信息”)。为方便起见,无论是以文本、语音格式还是图像相关格式,该描述中的所有用户输入都可以被称为“话语”。

在一个示例中,对话管理器216与上下文管理器218和自然语言生成(nlg)组件212相关联地操作。上下文管理器218管理用户关于智能在线个人助理(或“机器人”)和助理的相关人工智能的上下文和通信。上下文管理器218保留用户交互的短期历史。在如下所述的身份服务222中可以保留用户偏好的较长期历史。例如,这些历史中的一个或二者中的数据条目可以包括通信的轮次或机器人交互、给定输入的所有相关结果、相关意图和所有参数。nlg组件212用于组合ai消息中的自然语言话语以呈现给与智能机器人交互的用户。

搜索组件220也包括在人工智能框架128内。搜索组件220可以具有前端单元和后端单元。后端单元可以用于管理项目或产品清单并且提供搜索清单、优化用户意图和意图参数的特定元组的功能。搜索组件220被设计成服务全球针对很大的高量清单的每天数十亿次查询。搜索组件220可以适应文本或人工智能(ai)编码的语音和图像输入并且基于显式和得到的查询意图向用户识别相关的清单项目。

身份服务222组件用于管理用户简档,例如用户属性(例如“姓名”、“年龄”、“性别”、“地理位置”)的形式的显式信息,但也可以为“信息蒸馏(distillate)”(例如,“用户兴趣”或“类似角色”等)的形式的隐式信息。人工智能框架128可以包括身份服务222的一部分或与身份服务222相关联地操作。身份服务222包括很好地集中所有用户信息,从而帮助人工智能框架128对用户意图具有“智能”洞察力的一组策略、api和服务。身份服务222可以保护在线零售商和用户免于被欺诈或恶意使用私人信息。

本公开内容的身份服务222提供了许多优点。身份服务222是包含用户身份和简档数据的单个中央储存库。可以利用新的洞察和更新不断丰富用户简档。使用账户链接和身份联合来映射用户与公司、家庭、其他账户(例如,核心账户)的关系以及用户的人和人际关系的社交图。身份服务222演进了丰富的通知系统,该系统在用户选择的时间和介质上传达所有且仅用户想要的信息。

在一个示例中,身份服务222集中于在用于搜索、ai、推销和机器学习模型的中央数据交换中心(clearinghouse)中统一尽可能多的用户信息,以最大化每个组件向每个用户提供洞察力的能力。单个中央存储库包含精细详细模式(schema)的用户身份和简档数据。在登录管理(onboarding)阶段,身份服务222通过机器人应用程序中的强制认证来填充用户简档和理解。可以加载从认证源(例如,社交媒体)可获得的任何公共信息。在补充管理(sideboarding)阶段,身份服务222可以利用从公共源、用户行为、交互以及用户告知ai的明确目的集(例如,购物任务、启示(inspiration)、偏好)收集的与用户有关的信息来扩充该简档。当用户与人工智能框架128交互时,身份服务222收集并且推断更多与用户有关的信息并且存储显式数据、得到的信息并且更新其他统计推断的可能性和估计。随着时间的推移,在简档丰富阶段,身份服务222还挖掘诸如点击、印象和浏览活动的行为数据,以得到诸如品味、偏好和垂直购物的信息。在身份联合和账户链接阶段中,当被传送或推断时,身份服务222更新用户的家庭、雇主、团队、从属关系、社交图和包括共享账户的其他账户。

人工智能框架128的功能可以分组为多个部分,例如决策部分和上下文部分。在一个示例中,决策部分包括由ai协调器206、nlu组件214、对话管理器216、nlg组件212、计算机视觉组件208和语音识别组件210进行的操作。ai功能的上下文部分涉及围绕用户的参数(隐式和显式)和传达的意图(例如,针对给定的清单或其他方面)。为了随时间测量和提高ai质量,可以使用样本查询(例如,开发集)来训练人工智能框架128并且在不同的查询集合(例如,评估集合)上测试人工智能框架128,其中这两个集合可以由人类策展来开发。此外,可以在由经验丰富的策展专家或人类品味营造师覆盖规则224定义的交易和交互流程上训练人工智能框架128。在人工智能框架128的各种组件内编码的流程和逻辑定义了由智能助理基于所识别的用户意图进行的后续话语或呈现(例如,问题、结果集)。

上面进一步参考智能个人助理系统106中的智能在线个人助理或机器人的示例输入模态。智能个人助理系统106试图理解用户的意图(例如,目标搜索、比较、购物/浏览等)和任何强制性参数(例如,产品、产品类别、项目等)和/或可选参数(例如,诸如项目/产品、场合等的属性的显式信息)以及隐式信息(例如,地理位置、个人偏好、年龄和性别等)并且通过深思熟虑或“智能”响应来响应用户。显式输入模态可以包括文本、语音和视觉输入,并且可以利用用户的隐式知识(例如,地理位置、先前的浏览历史等)来丰富。输出模态可以包括文本(例如,语音、或自然语言句子或产品相关信息)以及智能装置(例如,客户端装置108)的屏幕上的图像。因此,输入模态是指用户可以与机器人通信的不同方式。输入模态还可以包括键盘或鼠标导航、触敏姿态等。

关于计算机视觉组件208的模态,照片通常可以表示与文本相比用户更好寻找的内容。用户可能不知道什么项目被调用,或者可能很难甚至不可能使用文本来获得仅专家可能知道的精细详细信息,例如,服饰的复杂图案或家具的某种款式。此外,在移动电话上键入复杂的文本查询是不方便的,并且长文本查询通常具有较差的查全率(recall)。因此,计算机视觉组件208的关键功能可以包括对象定位、对象识别、光学字符识别(ocr)以及基于来自图像或视频的视觉线索与清单的匹配。当在具有内置相机的移动装置上运行时,具有计算机视觉能力的机器人是有利的。强大的深度神经网络可以用于实现计算机视觉应用程序。

在一个示例中,对话管理器216具有上下文管理器218和nlg组件212作为子组件。如上面所提及的,对话管理器216用于理解“特异性的完整性”并且判定下一个动作类型和参数(例如,“搜索”或“请求来自用户的其他信息”)。上下文管理器218用于管理给定用户对机器人及其ai的上下文和通信。上下文管理器218包括以下两部分:长期历史和短期记忆。每个上下文管理器条目可以描述相关意图和所有参数以及所有相关结果。上下文涉及清单以及其他未来的知识源。nlg组件212用于从ai消息中构建自然语言话语以呈现给与智能机器人交互的用户。

人与机器之间的流畅、自然、信息性、甚至娱乐性的对话是在过去的一世纪的大部分时间内被研究但仍被认为是未解决的困难的技术问题。然而,ai的最新发展产生了有用的对话系统,例如siritm和alexatm

在智能机器人的电子商务示例中,寻求解决该问题的最初很有用的元素是利用巨大的电子商务数据集。这些数据中的一些可以保留在专有数据库中或云(例如,数据库/云126)中。关于该数据的统计信息可以作为上下文从搜索组件220传送到对话管理器216。人工智能框架128可以直接作用于来自用户的话语,该话语可以通过语音识别组件210、然后通过nlu组件214、然后作为半解析数据传递到上下文管理器218。因此,nlg组件212可以帮助对话管理器216以文本或语音向用户生成类似人的问题和响应。上下文管理器218维持用户与人工智能框架128之间的多轮(multi-turn)和长期谈话的一致性。

可以推荐进行区分以仅针对相关的有用信息轮询庞大的电子商务数据集。在一个示例中,人工智能框架128使用来自搜索组件220的结果和搜索组件220内的智能来提供该信息。该信息可以与来自上下文管理器218的交互历史相结合。然后,人工智能框架128可以判定下一轮对话,例如,下一轮对话应该是问题还是“基础声明”,以验证例如,现有的理解或用户意图或项目推荐(或例如,所有三者的任意组合)。可以通过数据集、用户的聊天历史和用户理解的模型的组合来做出这些决策。nlg组件212可以基于这些决策来生成用于对用户文本或口头回复的语言。

由本发明主题提供的技术解决方案允许用户以自然对话与智能在线个人助理通信。助手是高效的,因为随着时间的推移它越来越多地理解特定的用户偏好,并且了解各种产品。虽然具有各种方便的输入模态,但是用户仍可以共享照片,或使用语音或文本,并且辅助用户体验可以类似于与例如高端商店中的可信、知识渊博的人类购物助理交谈。

传统上,由在线购物系统使用的方法和数据针对匿名的购买方人口统计群体,其中直接的简化假设是最大化短期收入。常规网站和应用程序不了解用户想要被通知的方式、原因和时间。通知可能是烦人的、不恰当的和非人性化的,无视每个用户的偏好。一个人与单个账户并不相同。人们共享账户和装置。密码使平台既不安全也不易于使用。弱的在线身份和忽略环境信号(例如装置、位置、异常行为后的通知)的问题使得在市场中进行欺诈变得容易。

参照图3a,现在描述语音识别组件210的所示组件。特征提取组件用于将原始音频波形转换为表示声音的数的一定维度向量。该组件使用深度学习将原始信号投射到高维度语义空间中。声学模型组件用于托管语音单元的统计模型,例如,音素和异音素(allophone)。这些可以包括高斯混合模型(gmm),但是也可以使用深度神经网络。语言模型组件使用语法的统计模型来定义词在句子中的组合方式。这些模型可以包括基于n-gram的模型或建立在词嵌入之上的深度神经网络。语音到文本(stt)解码器组件可以通常以以下方式将语音话语转换成词序列:利用使用隐马尔可夫模型(hmm)框架中的特征提取组件、声学模型组件和语言模型组件从原始信号得到的特征,以从特征序列得到词序列。在一个示例中,云中的语音到文本服务(例如,数据库/云126)将这些组件设置在具有api的云框架中,该api允许针对语音话语发布音频样本以及检索对应的词序列。控制参数可用于定制或影响语音到文本的处理。

在人工智能框架128的一个示例中,提供了用于语音识别组件210的两个附加部分,即,扬声器适配组件和语言模型(lm)适配组件。扬声器适配组件允许stt系统的客户端(例如,语音识别组件210)为每个扬声器/用户定制特征提取组件和/或声学模型组件。这可能是重要的,因为大多数语音到文本系统都是针对来自目标区域的代表性扬声器组的数据被训练的,并且通常系统的准确性在很大程度上取决于目标扬声器与训练池中的扬声器匹配的程度。扬声器适配组件允许语音识别组件210(并且因此,人工智能框架128)通过不断学习用户的语调、发音、口音和其他语音因素的特质而对扬声器的变化具有鲁棒性并且将这些特质应用于语音相关组件,例如,特征提取组件和声学模型组件。虽然这种方法可能需要为每个扬声器创建并且保持较小的语音简档,但准确性的潜在益处通常远远超过存储缺陷。

lm适配组件用于利用来自目标域(例如,清单类别或用户角色)的新词和代表性句子来定制语言模型组件和语音到文本词汇。该能力允许人工智能框架128在支持新类别和角色时可扩展。

图3b示出了用于人工智能框架128中的文本归一化的流程序列302。在一个示例中,执行流程序列302的文本归一化组件被包括在语音识别组件210中。流程序列302中的关键功能包括字形归一化(用于处理标点符号、数字、大小写等)、会话文本归一化(用于处理具有首字母缩略词、缩写、不完整片段、俚语等的非正式聊天类型文本)和机器翻译(用于将外语词的归一化序列转换成操作语言(包括但不限于英语)中的词序列)。

人工智能框架128有助于现代通信。例如,千禧一代经常想要经由照片、语音和文本进行通信。人工智能框架128使用多种模态的技术能力允许意图而不仅是文本的通信。人工智能框架128提供技术解决方案并且是高效的。在许多情况下,与使用文本相比,使用语音命令或照片与智能个人助理进行交互更快。

图4是示出可以结合本文描述的各种硬件架构使用的示例软件架构406的框图。图4是软件架构的非限制性示例,并且应当理解,可以实现许多其他架构以有助于本文描述的功能。软件架构406可以在诸如图5的机器500的硬件上执行,机器500包括处理器504、存储器514和输入/输出(i/o)组件518等。示出了代表性硬件层452,代表性硬件层1304可以表示例如图5的机器500。代表性硬件层452包括具有相关联可执行指令404的处理单元454。可执行指令404表示软件架构406的可执行指令,其包括本文描述的方法、组件等的实现。硬件层452还包括存储器和/或存储模块存储器/存储装置456,其也具有可执行指令404。硬件层452还可以包括其他硬件458。

在图4的示例架构中,软件架构406可以被概念化为层的堆栈,其中,每个层提供特定功能。例如,软件架构406可以包括诸如操作系统402、库420、应用程序416和表示层414的层。在操作上,层中的应用程序416和/或其他组件可以通过软件堆栈调用应用程序编程接口(api)调用408,并且响应于api调用408接收响应。所示出的层本质上是代表性的,并非所有软件架构都具有所有的层。例如,一些移动或专用操作系统可能不提供框架/中间件418,而其他的可以提供这样的层。其他软件架构可以包括附加的层或不同的层。

操作系统402可以管理硬件资源并且提供公共服务。操作系统402可以包括例如核422、服务424和驱动器426。核422可以用作硬件与其他软件层之间的抽象层。例如,核422可以负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等。服务424可以向其他软件层提供其他公共服务。驱动器426可以负责控制底层硬件或与底层硬件对接。例如,取决于硬件配置,驱动器426可以包括显示驱动器、相机驱动器、蓝牙驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(usb)驱动器)、驱动器、音频驱动器、电源管理驱动器等。

库420提供由应用程序416和/或其他组件和/或层使用的公共基础结构。库420可以提供允许其他软件组件以相比于与底层操作系统402功能(例如,核422、服务424和/或驱动器426)直接对接的方式的较为容易的方式来执行任务的功能。库420可以包括系统库444(例如,c标准库),系统库444可以提供诸如存储器分配功能、字符串操作功能、数学功能等的功能。此外,库420可以包括api库446,例如媒体库(例如,用于支持诸如mpreg4、h.264、mp3、aac、amr、jpg、png的各种媒体格式的呈现和操作的库)、图形库(例如,可以用于在显示器上呈现2d和3d图形内容的opengl框架)、数据库库(例如,可以提供各种关系数据库功能的sqlite)、web库(例如,可以提供web浏览功能的webkit)等。库420还可以包括各种其他库448,以向应用程序416和其他软件组件/模块提供许多其他api。

框架/中间件418(有时也称为中间件)可以提供可以由应用程序416和/或其他软件组件/模块使用的更高级的公共基础结构。例如,框架/中间件418可以提供各种图形用户接口(gui)功能、高级资源管理、高级位置服务等。框架/中间件418可以提供可以由应用程序416和/或其他软件组件/模块利用的广范围的其他api,其中一些可以特定于特定操作系统或平台。

应用程序416包括内置应用程序438和/或第三方应用程序440。代表性内置应用程序438的示例可以包括但不限于联系人应用程序、浏览器应用程序、书籍阅读器应用程序、位置应用程序、媒体应用程序、消息发送应用程序和/或游戏应用程序。第三方应用程序440可以包括由除特定平台的供应商以外的实体使用androidtm或iostm软件开发工具包(sdk)开发的任何应用程序,并且可以是在诸如iostm、androidtm电话的移动操作系统或其他移动操作系上运行的移动软件。第三方应用程序440可以调用由移动操作系统(例如,操作系统402)提供的api调用408,以有助于本文描述的功能。

应用程序416可以使用内置操作系统功能(例如,核422、服务424和/或驱动器426)、库420和框架/中间件418来创建用户接口以与系统的用户交互。替选地或另外地,在一些系统中,与用户的交互可以通过诸如表示层414的表示层来发生。在这些系统中,应用程序/组件“逻辑”可以与和用户交互的应用程序/模块的方面分开。

一些软件架构使用虚拟机。在图4的示例中,这由虚拟机410示出。虚拟机410创建软件环境,在该软件环境中,应用程序/模块可以像在硬件机器(例如,图5的机器500)上执行一样执行。虚拟机410由主机操作系统(图4中的操作系统(os)436)托管,并且通常但并非总是具有虚拟机监视器460,虚拟机监视器460管理虚拟机的操作以及与主机操作系统(即操作系统402)的对接。软件架构在虚拟机410内执行,例如操作系统操作系统(os)436、库434、框架432、应用程序430和/或表示层428。在虚拟机410内执行的这些软件架构层可以与先前描述的对应层相同或可以是不同的。

图5是示出根据一些示例实施方式的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文所讨论的任一种或更多种方法的机器500的组件的框图。具体地,图5以计算机系统的示例形式示出了机器500的示意图,在该机器500中可以执行指令510(例如,软件、程序、应用程序、小程序、app或其他可执行代码),以使机器500执行本文讨论的任何一种或更多种方法。如此,指令可以用于实现本文描述的模块或组件。指令将通用未编程机器变换成特定机器,该特定机器被编程为以所描述的方式执行所描述和示出的功能。在替选实施方式中,机器500作为独立装置操作或者可以耦接(例如,联网)到其他机器。在联网布置中,机器500可以在服务器客户端网络环境中以服务器机器或客户端机器的身份来操作,或者作为对等(或分布式)网络环境中的对等机器来操作。机器500可以包括但不限于服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、个人数字助理(pda)、娱乐媒体系统、蜂窝电话、智能电话、移动装置、可穿戴装置(例如,智能手表)、智能家居装置(例如,智能家用电器)、其他智能装置、网络装置、网络路由器、网络交换机、网络桥接器或能够顺序地或其他方式执行指定机器要采取的动作的指令510的任何机器500。此外,虽然仅示出了单个机器500,但是术语“机器”还应当被视为包括单独地或联合地执行指令510以执行本文所讨论的任一种或更多种方法的机器的集合。

机器500可以包括处理器504、存储器/存储装置506和i/o组件518,处理器504、存储器/存储装置506和i/o组件518可以被配置成例如经由总线502相互通信。存储器/储存装置506可以包括诸如主存储器或其他存储装置的存储器514以及存储单元516,上述两者都是诸如经由总线502而可由处理器504访问的。存储单元516和存储器514存储实现本文描述的方法或功能中的任一个或更多个的指令510。指令510还可以在其由机器500执行期间完全地或部分地驻留在存储器514内、存储单元516内、处理器504中的至少一个内(例如,在处理器的高速缓冲存储器内)或其任何合适的组合内。因此,存储器514、存储单元516和处理器504的存储器是机器可读介质的示例。

i/o组件518可以包括各种组件以接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量结果等。包括在特定机器中的特定i/o组件518将取决于机器的类型。例如,诸如移动电话的便携式机器可能包括触摸输入装置或其他这样的输入机构,而无头服务器机器可能不包括这样的触摸输入装置。应当理解,i/o组件518可以包括图5中未示出的许多其他组件。i/o组件518根据功能被分组仅为了简化以下讨论,并且该分组决不是限制性的。在各种示例实施方式中,i/o组件518可以包括输出组件526和输入组件528。输出组件526可以包括视觉组件(例如,诸如等离子显示板(pdp)、发光二极管(led)显示器、液晶显示器(lcd)、投影仪或阴极射线管(crt)的显示器)、听觉组件(例如,扬声器)、触觉组件(例如,振动马达、阻力机构)、其他信号发生器等。输入组件528可以包括字母数字输入组件(例如,键盘、配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触觉输入组件(例如,物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏或其他触觉输入组件)、音频输入组件(例如,麦克风)等。

在其他示例实施方式中,i/o组件518可以包括广泛的其他组件中的生物识别组件530、运动组件534、环境组件536或位置组件538。例如,生物识别组件530可以包括用于检测表达(例如,手表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,声音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件534可以包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件536可以包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或更多个温度计)、湿度传感器组件、压力传感器组件(例如,气压计)、声学传感器组件(例如,检测背景噪声的一个或更多个麦克风)、接近度传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,用于检测危险气体的浓度以确保安全或用于测量大气中的污染物的气体检测传感器)或可以提供与周围物理环境对应的指示、测量或信号的其他组件。位置组件538可以包括定位传感器组件(例如,全球定位系统(gps)接收器组件)、高度传感器组件(例如,检测气压的高度计或气压计,根据所述气压可以得到高度)、取向传感器组件(例如,磁力计)等。

可以使用各种技术来实现通信。i/o组件518可以包括通信组件540,通信组件540可操作成分别经由耦接522和耦接524将机器500耦接到网络532或装置520。例如,通信组件540可以包括网络接口组件或与网络532对接的其他合适的装置。在其他示例中,通信组件540可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(nfc)组件、蓝牙组件(例如,蓝牙低功耗)、组件和经由其他形式提供通信的其他通信组件。装置520可以是另外的机器或各种外围装置中的任一种(例如,经由通用串行总线(usb)耦接的外围设备)。

此外,通信组件540可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件处理器通信组件540可以包括射频标识(rfid)标签读取器组件、nfc智能标签检测组件、光学读取器组件(例如,用于检测诸如通用产品代码(upc)条形码的一维条形码;诸如快速响应(qr)码、aztec码、数据矩阵、dataglyph、maxicode、pdf417、ultracode、uccrss-2d条形码的多维条形码和其他光学代码的光学传感器)或声学检测组件(例如,用于识别标记的音频信号的麦克风)。此外,可以经由通信组件540得到各种信息,诸如经由因特网协议(ip)地理位置的位置、经由信号三角测量的位置、经由检测可以指示特定位置的nfc信标信号的位置等。

现在参照图6,示出了可以布置由智能个人助理系统106提供的智能在线个人助理的示例环境600。在环境600的中心处,出现具有ai的智能机器人602。机器人利用计算机视觉组件208、语音识别组件210、nlu组件214、对话管理器216、nlg组件212、搜索组件220和身份服务222来使用户参与高效、有趣和有效的对话以对他们的意图进行解码并提供个性化的结果。

相关联的应用程序604可以通过引人注目的移动设计能力和元素来展示机器人602的全功率和智能。结构606与facebookmessengertm、skypetm和cortanatm(例如)集成,使用户能够在他们已经花费时间的地方进行交易。智能通知610平台经由任意数量的信道(例如,sms、推送通知、电子邮件、消息传送)在适当的时间向用户传递正确的信息,以鼓励他们与机器人602和相关联的市场互动。社区608特征使用户能够使用他们已经花费大部分时间的相同消息系统来与他们的朋友、品味营造师和品牌进行连接、互动和交互。其他特征包括团购和礼品购买。奖励612平台激励用户更深入地与机器人602互动。奖励可以包括对产品的大幅折扣、对唯一清单的访问以及通过分数、级别等在应用程序中奖赏等。在营销614处,执行传统营销、社交营销和其他营销的组合来以较个性化方式赢得一些人群(例如,千禧一代)的关注。常规技术可以包括针对新用户和现有用户的商品推销、电子邮件、搜索引擎优化(seo)和搜索引擎营销(sem)以及诸如社交广告、病毒优惠券等的实验技术。

图7示出了智能个人助理系统106处理自然语言用户输入以在电子市场中生成项目推荐的概述。虽然智能个人助理系统106不限于这种使用场景,但在这种情况下它会特别有用。如先前所描述的,文本、图像和语音数据的任何组合可以由人工智能框架128接收。图像数据可以由计算机视觉组件208处理以提供图像属性数据。语音数据可以由语音识别组件210处理成文本。

可以将所有这些输入和其他输入提供给nlu组件214以进行分析。nlu组件214可以用于解析用户输入并且帮助确定用户意图和意图相关参数。例如,nlu组件214可以辨别用户感兴趣的主要对象以及与该主要对象有关的各种属性和属性值。nlu组件214还可以确定其他参数,例如,用户输入类型(例如,问题或陈述)和目标项目接收者。nlu组件214可以将提取的数据提供给对话管理器216以及先前示出的ai协调器206。

nlu组件214通常可以将正式和非正式自然语言用户输入转换为更正式的机器可读的结构化表示的用户查询。对话管理器216可以进一步增强该形式化查询。在一种情形下,nlu组件214处理一系列用户输入,其包括原始查询和在多轮交互对话中由用户响应于来自对话管理器216的机器生成的提示而提供的另外的数据。该用户-机器交互可以提高对可供在电子市场中购买的最相关项目的一个或更多个自动搜索的效率和准确性。搜索可以由搜索组件220执行。

提取用户意图对于ai机器人确定需要什么进一步的动作很有帮助。在与电子商务相关的一个示例中,在最高级别处,用户意图可以是购物、闲聊、笑话、天气等。如果用户意图是购物,则可能涉及进行特定购物任务、给除用户以外的目标接收者赠送项目或仅浏览可供购买的项目的清单。一旦识别出高级意图,人工智能框架128的任务就是确定用户正在寻找什么;即,需要概括(例如,鞋子、连衣裙)还是更具体(例如,两双新的黑色尺码为10的niketm运动鞋)或介于两者之间(例如,黑色运动鞋)?

在对该领域中的现有技术的新的且独特的改进中,人工智能框架128可以将用户请求映射到诸如类别、属性和属性值的某些主要维度,其最佳地表征期望的可用项目。这使机器人能够与用户互动,以在必要时进一步细化搜索约束。例如,如果用户向机器人询问与连衣裙有关的信息,则需要指定的顶级属性可能是颜色、材料和款式。此外,随着时间的推移,机器学习可以向系统添加更深层次的语义和更广泛的“世界知识”,以更好地理解用户意图。例如,输入“我想在6月份在意大利购买一件结婚礼服”意味着礼服应该适合于给定时间和地点的特定天气条件,并且应该适合于正式场合。另一示例可能包括用户询问机器人“为我的侄子送礼物”。人工智能框架128在被训练时将了解到,赠送是特殊类型的意图,目标接收者是基于“侄子”的含义的男性,并且应当澄清诸如目标接收者的年龄、场合和嗜好/爱好的属性。

图8示出了根据一些示例实施方式的nlu组件214、其子组件以及与其交互的其他组件。在一些实施方式中,nlu组件214通过将该通常复杂的技术问题分解为多个部分,来执行提取用户意图。提取用户意图的整体问题的各部分中的每一个可以由nlu组件214的特定子组件处理,有时单独地并且有时组合地处理。

子组件可以例如包括拼写校正器(拼写器)802、机器翻译器(mt)804、解析器806、知识图808、命名实体识别(ner)子组件810、词义检测器(wsd)812、意图检测器813和解释器814。nlu组件214可以例如在一个实施方式中经由ai协调器206接收文本、视觉选择符和图像属性,并且单独地或组合地处理文本、视觉选择符和图像属性中的每一个。视觉选择符通常是由用户提供的图形选择,例如从多个呈现的颜色样本中选择颜色或选择具有相关联且因此被选择的精神状态的表情符号。在一个实施方式中,nlu组件214可以将其要描述的各种输出提供给ai协调器206,以分发给诸如对话管理器216的人工智能框架128的其他组件。

由nlu组件214考虑的其他输入可以包括对话上下文816(例如,来自上下文管理器218)、用户身份信息818(例如,来自身份服务222)、项目清单相关信息820(例如,来自电子市场的核心搜索引擎220功能)和外部世界知识822,以根据用户输入改进对用户意图的语义推断。这些输入的不同类型的分析可以各自产生可以经由知识图808聚合地解释和协调的结果。知识图808可以例如基于过去用户的交互、清单相关数据或两者。

拼写器802可以识别并且纠正用户输入的文本中的拼写错误。用户文本可以包括但不限于用户查询和项目标题。机器翻译器804可以可选地将用户输入从用户的自然语言翻译成操作语言,其包括但不限于例如英语。拼写器802和机器翻译器804还可以与其他归一化子组件和/或解析器806协调,以将缩写词、首字母缩略词和俚语处理成更正式的数据以进行改进的分析。

解析器(或依赖解析器)806可以通过找到用户的输入查询的主要对象来帮助检测用户的意图。该处理可以涉及解析器识别和分析例如来自多轮对话的用户输入中的名词短语,包括介词、直接宾语和间接宾语、动词以及肯定词(affirmation)和否定词(negation)。在一些实施方式中,可以在意图检测器子组件813中检测到肯定词和否定词,或者通过诸如词义检测器812的不同子组件来检测肯定词和否定词。

在一个实施方式中,解析器806从可以完全解析的用户输入的最长片段中找到用户感兴趣的主要对象。解析器806还可以丢弃具有诸如“您好”和“您能帮我个忙”等的低内容的用户输入项,以及/或者用无机器混淆的短语替换这些用户输入项。解析器806还可以识别各种场合(例如,婚礼、母亲节等)。

意图检测器813还可以通过识别感兴趣的主要对象(通常但不总是项目类别)以及由解析器806建议的结果的相应最佳属性来细化用户意图的识别。例如,如果用户意图是购买特定项目,则知识图808可以使用其映射到的给定项目清单(例如,易贝清单或数据库/云126)中的主要项目类别。知识图808还可以使用与该项目类别有关的主要(例如,在项目清单中用户最频繁地查询或最频繁出现的)属性以及这些属性的主要值。因此,nlu组件214可以提供主要对象、用户意图和知识图808作为其输出,该知识图808是沿可能与用户查询有关的维度而制定的。该信息可以在以下情况下帮助对话管理器216:如果缺失完全解析用户查询、对项目进行推荐并且因此然后是否(以及如何)提示用户以经由附加输入进一步细化用户的需求所需的信息。

知识图808的背景信息可以从项目清单中提取,作为从手动策展的目录得到的信息以及从历史用户行为提取的信息(例如,所有先前用户在一段时间内与电子市场交互的历史)的混合。知识图还可以包括从诸如互联网百科全书(例如,维基百科)、在线词典、同义词词典(thesaurus)和词汇数据库(例如,wordnet)的外部源提取的世界知识。例如,与术语相似性和关系有关的数据可以用于确定术语女孩、女儿、姐妹、女人、阿姨、侄女、祖母和母亲都指女性和不同的特定亲属家庭关系。这些附加关联可以阐明用户查询术语的含义或多个含义,并且帮助防止生成可能教导机器人但是使用户烦恼的提示。焦点小组研究表明一些用户不想要提供多于预定数量(例如,三个)的提示回复,因此这些提示中的每一个都应当尽可能确切。

在一些实施方式中,知识图808可以例如由ai协调器206动态更新。即,如果项目清单改变或者如果新的用户行为或新的世界知识数据导向成功的用户搜索,则智能在线个人助理106能够利用这些改变来进行未来的用户搜索。学习的助手可以促进进一步的用户交互,特别是对于那些不太倾向于进行广泛的会话的用户而言。因此,实施方式可以修改知识图808以对其包含并且与nlu组件214内的其他子组件以及在外部例如与对话管理器216共享的信息进行调整。

ner子组件810可以从解析的用户输入(例如,品牌名称、尺寸信息、颜色和其他描述符)中提取更深层的信息并且帮助将用户自然语言查询转换成包括这样的解析的数据元素的结构化查询。ner子组件还可以利用世界知识来帮助解析提取的术语的含义。例如,对“波尔多(bordeaux)”的查询可以从在线词典和百科全书中更成功地确定查询术语可以指代项目类别(葡萄酒)、属性(类型、颜色、原产地)和相应的对应属性值(波尔多、红色、法国)。类似地,地名(例如,太浩湖(laketahoe))可以与可以帮助用户找到相关项目的给定地理位置、天气数据、文化信息、相对成本和热门活动对应。结构化查询深度(例如,针对给定用户话语长度解析的标签的数量)可以帮助对话管理器216选择应该进一步采取什么动作来提高由搜索组件220执行的搜索中的排名。

词义检测器812可以处理一词多义(即,具有基于上下文而不同的多个含义)的词。例如,输入术语“bank”可以指地理意义上的“河流的岸边”或购买交易支付意义上的“金融机构”。词义检测器812检测这样的词,并且如果词义保持不明确,则可以触发对话管理器216从用户寻求进一步消歧。词义检测器812或意图检测器子组件813还可以分别从包括但不限于“向我显示更多”或“不,我不喜欢”等的示例性短语中辨别出肯定词和否定词。因此,解析器804、意图检测器813和词义检测器812的功能可以取决于特定实现在某种程度上交叠或交互。

解释器814协调来自各种nlu子组件的分析信息并且准备输出。输出可以例如包括用户查询的主要对象以及关于相关知识图维度(例如,项目类别、项目属性、项目属性值)、用户的意图(例如,在购物的情况下,是购买特定项目、寻找礼物还是一般浏览)、识别的用户语句类型、预期目标项目接收者等解析的信息。通过对共享、增强和处理的用户输入执行的单独分析的组合,人工智能框架128的组件提供了既理解用户意图又了解广泛的产品的可信赖的购物助理(personalshopper)(机器人)。因此,nlu组件214将自然语言用户查询变换为结构化查询,以帮助向用户提供最相关的结果。

因此,nlu组件214通过减少错误、增加正确划分用户查询所隐含的用户意图的可能性并且产生更快和更好的目标搜索和项目推荐来改进智能个人助理系统106的整体操作。nlu组件214特别是与多轮对话场景中的对话管理器216一起通过提供用于执行的更多用户交互历史聚焦和/或项目清单聚焦的搜索查询来有效地管理搜索组件220的操作。该独特的功能经由所描述的元件的特定有序组合超越了现有技术水平。

现在描述更一般地用于处理来自用户的输入数据的nlu组件214和智能个人助理系统106的使用的示例。用户可以提供诸如“我正在为我的妻子寻找一副太阳镜”的口头陈述。nlu组件214可以处理该自然语言用户输入以生成更正式的查询来提供给搜索引擎220和/或对话管理器216。更正式的查询可以包括将一个或更多个经解析的句柄中的每一个与对应的经解析值相关联的一组标签。例如,更正式的查询可以包括“<意图:赠送,陈述类型:陈述,主要对象:太阳镜,目标:妻子,目标性别:女性>”。搜索引擎可以基于对这些标签的搜索来提供比搜索最初提交的用户输入所得到的结果更相关的结果。

在该示例中,智能个人助理系统106确定:用户意图是赠送(相对于仅自助购物或浏览);用户已经提供了陈述(相对于问题);用户感兴趣的主要对象是太阳镜。虽然用户正在购物,但意图是将项目赠送给特定的目标项目接收者,即,他的妻子。已知赠送任务是可以与一般清单浏览或用户为自己购买项目相比稍微不同地被处理的特殊类型的购物任务。

智能个人助理系统106还可以通常通过命名实体识别器子组件810辨别“妻子”是指女性。例如,可以从由身份服务212提供的数据中找到作为目标项目接收者的特定个人。此外,通过使用世界知识,智能个人助理系统106可以确定术语“妻子”是指已婚女性,并且孩子通常未婚。该信息可以有助于相对于其他类型的太阳镜(例如,男士太阳镜、儿童太阳镜)将搜索限制于女性太阳镜,以在不需要用于获取相同的信息的用户提示的情况下产生更相关的项目推荐。

图9示出了根据一些示例性实施方式的各种分析的结果。在一个示例中,用户可以键入文本输入“hi,canyoufindmeapairofrednikeyshoes?”(“嗨,您能帮我找一双红色的nikey(耐克)鞋吗?”)所产生的正式查询可以包括“<意图:购物,陈述类型:问题,主要对象:鞋,目标:自己,颜色:红色,品牌:耐克>”。此处,用户输入是问题,并且用户正在购买特定项目(相对于仅浏览项目清单或为其他人寻找礼物)。解析器806可以确定术语“嗨,您能帮我找到”不提供大量有帮助的内容,因此可以被忽视。

拼写器子组件802可以确定“nikey”是术语“nike”的已知拼写错误并且进行适当的校正。解析器子组件806可以通过识别动词、介词和名词短语来语法分析归一化的输入数据。单独词之间的语法关系可以说明一个词如何依赖或修饰另一个单词,并且该信息可以提供用于变换用户查询的线索。

解析器子组件806还可以执行名词短语组块并且从最长解析的查询片段“红色耐克鞋”中辨别出用户感兴趣的主要对象是鞋。即,鞋被确定为最大数量的修饰符的对象,并且处于所产生的组块结构的最深级别处。注意,虽然主要对象通常是项目类别,但情况并非总是如此。此处的主要对象还由修饰符(“红色”和“耐克”)描述,命名实体识别器810可以确定所述修饰符分别与颜色和品牌相关。

还要注意,在这种情况下,为主要对象提供两个属性(颜色、品牌)和对应的属性值(红色、耐克),而在前面的示例中,提供了至多一个属性(例如,经由推断间接指定女性的太阳镜)。对话管理器216可以作为结果判定用户的原始查询被充分约束,使得适当的提示可以是一个或更多个项目推荐,而不是向用户询问将进一步缩小后续搜索的附加约束的问题。相比之下,对于先前的查询,可能需要与女性太阳镜有关的更多细节,因此对话管理器216可以为此在多轮对话中生成多个提示。然而,一些用户对大量提示感到烦恼,并且更喜欢与能够从每一个轮次中自行提取更多信息的机器人打交道。因此,有利的是,通过从每个用户话语中收集尽可能多的信息来使多轮对话的轮次最小化。

例如,nlu组件214可以确定在搜索的项目清单中存在针对红色耐克鞋的许多不同的列表和/或先前用户的交互在用户进行项目选择之前确定附加的属性值。因此,nlu组件214可以查阅知识图808以确定针对用户感兴趣的该主要对象的最有帮助的属性。知识图808可以具有指示对于项目类别“鞋子”而言最有帮助和/或频繁指定的属性是颜色、品牌和尺寸的信息,连同示出相对相关性或关联强度的对应条件概率值或者各自在寻找相关项目中的重要性的条件概率。可以是以下情况:所有这些属性可能需要被参数化以使查询被认为足够具体以引起搜索成功。然而,也可以是以下情况:仅充分覆盖预定百分比的可用关联的有限数量的属性需要被参数化。

在该示例中,用户已经提供颜色和品牌的属性值,但是没有提供尺寸的属性值,因此对话管理器216可以询问用户“您想要什么尺寸?”并且等待进一步的用户输入。假设用户回复“我想要10”。这是什么意思?智能个人助理系统106可以将“我想要10”解释为用户想要10个先前指定的红色耐克鞋的含义。世界知识可以提供鞋子通常成对出现的信息,因此用户对提示的响应的重新解释可能会稍微被细化成用户替代地想要十双红色耐克鞋。然而,这两种解释都不正确,因为它们都没有考虑会话的上下文。即,用户输入“我想要10”是对被生成以收集与先前话语有关的更多信息(在这种情况下是尺寸属性的值)的提示的回复。如果智能个人在线助理106不能将回复与任何先前的用户输入相关联,则智能个人在线助理106可以输出指示其不能解析会话上下文的错误陈述。

上下文管理器218可以通过不仅跟踪用户交互的长期历史而且还跟踪当前用户对给定购物任务的交互的短期记忆来防止这样的混淆。在多轮对话中对提示的回复不一定是孤立的用户话语,而是通常在上下文中与对话中的先前的用户话语和先前提示(如果有的话)相关。因此,智能个人助理系统106适合于以下用户会话,其导致累积的搜索约束足以使细化的搜索查询在找到要推荐的相关项目时更成功。

然而,在一些情况下,nlu组件214可以确定用户已经放弃先前的查询任务并且现在对找到其他东西感兴趣。因此,在一些实施方式中,对话管理器216可以从nlu组件214接收该确定的指示并且相应地改变其行为。该对话管理器216的行为可以包括保存当前搜索任务的交互以便以后可能使用,以及基于当前用户话语开始新对话,而不使用与先前搜索任务有关的任何上下文信息。在一个实施方式中,nlu组件214可以确定当检测到用户感兴趣的新主要对象时发生了这样的任务改变。

图10示出了根据一些示例实施方式的知识图808。知识图808通常是表示此处以椭圆形示出的多个节点的数据库或文件。每个节点可以表示用于处理自然语言用户输入以生成项目推荐的示例性场景的项目类别、项目属性或项目属性值。在该示例中,项目类别包括“男性运动鞋”、“汽车和卡车”以及“女性运动鞋”。如图所示,每个项目类别可以例如由清单跟踪系统或由智能个人助理系统106分配标识号。

在该示例中,知识图808中示出的项目属性包括“产品系列(productline)”、“品牌”、“颜色”和“款式”。项目属性通常直接链接至项目类别,但情况并非总是如此。在该示例中,知识图808中示出的项目属性值包括“飞人乔丹”、“科比布兰恩特”、“空军1号”、“亚瑟士”、“耐克”、“新百伦”、“阿迪达斯”、“蓝色”、“白色”、“红色”、“黑色”、“金属黑色”、“跑步”、“篮球”和“便鞋”。项目属性值通常直接链接至项目属性,但同样情况并非总是如此。

知识图808节点之间示出的链接是可以具有指示两个特定节点之间的关系的强度的关联相关性或关联值的定向边。在图10中示出了知识图808的一些相关性值。相关性值可以以各种方式被创建,并且可以用于各种目的。

例如,在一个实施方式中,可以从可用于购买的项目的清单中得到相关性值。清单可以是当前的或历史的。当卖方列出要出售的项目时,卖方可以指定一个或更多个项目类别、属性和/或属性值作为描述该项目的元数据,并且因此是寻找购买该项目的用户可能提供的有用搜索术语。在一些情况下,电子市场可以以各种方式对卖方的项目进行分类,例如通过向卖方提供描述可用的预定项目类别和常用描述性术语的指南。

例如,卖方可以具有一双鞋子要出售,并且可以指定这双鞋子是由阿迪达斯制造的男士蓝色运动跑鞋。卖方可以向市场指定项目类别是“男性运动鞋”,并且可以提示卖方例如从项目属性列表指定项目属性。替选地,电子市场可以识别卖方已经提供多个项目属性值,并且可以自动地将这些项目属性值与可能在元数据中的各种项目属性(例如,以指定可能性具有这些值的那些属性)相关联。电子市场可以例如确定“男性运动鞋”实际上是更广义类别“鞋子”的子类别或属性,这是因为例如卖方或电子市场已经针对该类别定义了子类别或属性。

电子市场可以定期地分析其可供销售的项目的清单并且以知识图808的形式提供描述该清单的汇总数据。在该方法中,示例性知识图808可以指出在类别“男性运动鞋”的所有清单项目中,百分之三十(或0.3)的项目由项目属性“产品系列”来表征,百分之四十(或0.4)的项目由项目属性“品牌”来表征,并且百分之二十(0.2)的项目由项目属性“颜色”来表征,如图所示。在由项目属性“产品系列”表征的项目中,百分之二十(或0.2)具有项目属性值“科比布莱恩特”,百分之十(或0.1)具有项目属性值“空军1号”,如图所示。因此,在该实施方式中,知识图808可以包括描述可用项目的实际清单的条目。

对于可能具有数百万个项目可供购买的很大的电子市场,对整个项目清单——特别是其在任何给定时刻的状态——的详细分析可能在计算方面是昂贵的。因此,这样的分析可以仅偶尔或定期进行。统计抽样方法也可以产生描述项目清单的特征的近似估计的知识图808。

在处理用户查询期间,可以将知识图808的维度与来自用户查询的经解析的输入数据元素进行匹配,以帮助将用户的需求与可供供应的项目匹配。知识图808的维度可以包括描述可供购买的项目的项目类别、项目属性和项目属性值。如果用户已经表达对男性运动鞋感兴趣,则用户期望智能个人助理系统106帮助用户从可供购买的项目的清单中找到相关项目。找到无法购买的项目可能会使用户完全失去购物兴趣,这是令人非常担忧的结果。因此,相关值可以表示给定项目类别中的项目的相对数量,其由给定项目属性描述或具有给定项目属性值。相关值可以基于条件概率,例如假定特定的项目属性被指定,特定项目属性值被指定的概率。

在不同的实施方式中,知识图808可以基于所有用户在一段时间内与电子市场的历史交互。即,节点可以包括由许多先前用户在他们的话语或与市场的导航历史中提供的搜索项。与如先前所描述的分析清单不同,该方法分析用户行为,例如,当购买方与市场交互以查找清单中的相关项目时,购买方会讲什么和做什么。

在该示例实施方式中,图10中所示的相关值可以在条件概率方面指示最普遍或频繁发生的用户交互。例如,如果用户表示对女性运动鞋感兴趣,则知识图808可以指示在百分之三十(或0.3)的这样的购买方交互中,购买方指定“款式”的项目属性,在百分之二十(或0.2)的这样的购买方交互中,购买方指定项目属性“品牌”,并且在百分之三十(0.3)的这样的买方交互中,购买方指定项目属性“颜色”。因此,无论可用清单如何,知识指南808表征用户的搜索行为,例如,用户试图怎样找到相关项目。

如在先前实施方式中那样,在处理用户查询期间,可以针对知识图808的维度来匹配来自用户查询的解析的输入数据元素,以帮助将用户的需求与可供供应的项目匹配。然而,知识图808的维度现在可以包括当先前用户在寻找要购买的相关项目时由当先前用户的查询输入提供的类别、属性和属性值。例如,如果用户已经表达对女性运动鞋感兴趣,则智能个人助理系统106可以通过确定其他用户如何从可供购买的项目的清单中找到与女性运动鞋项目有关的项目来最佳地进行。因此,知识图808中的相关值或分数可以表示给定类别、给定属性或给定属性值用于导向令人满意的搜索结论的相对次数。换言之,相关值可以有效地表示在知识图808中从一个搜索项目到另一个搜索项目的用户交互路径的给定部分如何“跳动(beaten)”的度量。

不管如何制定知识图808,用户输入项目与知识图维度(例如,项目类别、项目属性和项目属性值)之间的匹配可以用于将原始用户查询变换为改进的查询。该匹配可以例如帮助确定在多轮对话中应该针对用户生成什么(如果有的话)提示以最佳地找到相关的搜索结果。因此,出于该目的,nlu组件214可以将来自知识图808的信息提供给对话管理器216。即,nlu组件214可以向对话管理器216传递具有一些相关性的维度的简明知识图808以及用户感兴趣的主要对象、用户意图和相关参数。

图11a和图11b示出了根据一些示例实施方式的具有项目类别、一些项目属性和一些项目属性值的简明知识图808。为清楚起见,分别示出和讨论每个图,但是实际上可以一起参考两个图共有的知识图808。在图11a中,归一化和解析的用户查询已经为用户感兴趣的主要对象“鞋子”提供了<颜色:红色,品牌:耐克>的项目属性/值标签,如先前所描述的。知识图808指示“鞋子”与“男性运动鞋”之间存在百分之四十(0.4)的相关性,并且“男性运动鞋”与“品牌”之间存在百分之四十(0.4)的相关性,并且“男性运动鞋”与“颜色”之间存在百分之二十分(0.2)的相关性。“男性运动鞋”与“产品系列”之间也存在百分之三十(0.3)的相关性,并且针对各种项目属性值(例如,“飞人乔丹”、“科比布莱恩特”和“空中1号”)的各种相关性是已知的。因此,无论是基于清单还是用户行为,尚未指定的查询术语“男性运动鞋”和“产品系列”与成功搜索具有显著关联。因此,对话管理器216可以根据这些尚未指定的可能性的关联或相关值或它们在知识图808层级中的相对位置或两者的组合,来对通过用户提示对这些尚未指定的可能性的参数化进行排序和排出优先级。

类似地,对于图11b,知识图808指示“鞋子”与“女性运动鞋”之间存在百分之三十(0.3)的相关性,并且“女性运动鞋”与“款式”之间存在百分之三十(0.4)的相关性。“女性运动鞋”和“款式”未被用户指定,并且“款式”的相关项目属性值(例如“篮球”、“跑步”和“便鞋”)也未被指定。因此,对话管理器216还可以根据这些尚未指定的可能性的关联或相关值或它们在知识图808层级中的相对位置或两者的组合,来对通过用户提示对这些尚未指定的可能性的参数化排出优先级。

在一个提示生成策略中,对话管理器216可以从最广义的类别进行到子类别或属性,然后进行到属性值,以按该顺序确定提示主题的序列。即,假定已经指定“鞋子”的类别,对话管理器216可以直接进行到解析用户是对“男性运动鞋”还是对“女性运动鞋”感兴趣,因为这两种可能性在知识图808中具有最高(或唯一的)的可用关联强度。该分层级地引导的搜索方法可以吸引那些不想回答多于有限数量的提示以对相关项目进行归零的用户。

在另一提示生成策略中,对话管理器216可以从知识图808中出现的所有未指定的属性和属性值中更随机地选择提示主题。虽然该方法在某种程度上是非定向的,但是当用户浏览清单而不是追求特定的购物任务时,该方法可以是合适的。不会对与智能个人助理系统106聊天感到厌烦的用户可能更喜欢这种更具探索性或对话性的方法,其在某种意义上漫游于知识图808的可能性中。

在图11a和图11b中,可以通过用户是对男性运动鞋还是对女性运动鞋更感兴趣并且因此用户是否对特定产品系列或款式感兴趣来选择用于进一步用户输入的候选提示。注意,知识图808中的较窄属性(在这种情况下为产品系列或款式)在某些情况下实际上可能是用户提示的更好候选者,这取决于每个候选者的决定性如何。即,款式和产品系列各自在知识图808中与它们中的每一个上面的相应项目属性或子类别同样相关联,但是存在可用于产品系列属性值可能性的更多数据。因此,询问用户是否对飞人乔丹鞋感兴趣的提示也隐含地询问用户是否对特定产品系列和男性运动鞋感兴趣。因此,用户的单个肯定或否定可以帮助一次辨别在接受或拒绝多种可能性(例如,属性和属性值)方面的用户意图。

图12示出了根据一些示例实施方式的处理自然语言用户输入以生成建议性提示的智能个人助理系统106的概述。由于已知对用户进行不确切的提示(例如,提供可能在未询问用户的情况下确定的信息)会使一些用户烦恼,因此一些实施方式可以使用附加数据来缩小由用户明确给出的可能搜索约束的范围。例如,nlu组件214已经辨别出用户对购买红色耐克鞋感兴趣,并且知识图808指示男性运动鞋和女性运动鞋是可能的提示主题(等)。

然而,可以在不进行询问的情况下获得指示用户是对男性运动鞋还是对女性运动鞋感兴趣的附加数据。例如,当前用户的与电子市场的交互历史可能指示用户的大部分或全部购买物都是针对与女性相关联的项目。例如,这可能是因为当前用户是执行类似自助购物任务的女性,或者可能是因为当前用户经常执行预期目标接收者是女性的赠送任务。此外,世界知识或其他可能相关的外部上下文信息可以通过对话管理器216来调整提示可能性的权重。例如,与位置、天气、成本、文化和场合有关的外部数据可以在调整对下一提示的确定以获得最大精确切度的过程中起到类似的作用。

因此,智能个人助理系统106可以得出用户可能对女性运动鞋比对男性运动鞋更感兴趣的结论,而不生成确认该点的提示。因此,对话管理器216可以基于处理的用户输入和知识图808进行到下一最可能确切的提示主题。在图11b的示例中,假定用户对女性运动鞋感兴趣并且已经指定品牌和颜色的属性的值,则最佳候选提示可能与尚未指定的属性款式有关。

因此,对话管理器216可以简单地询问用户“您更喜欢什么类型的款式?”然而,该方法没有利用与知识图808中的项目属性值有关的可用附加知识(无论是来自项目清单数据还是来自过去的用户交互数据)。因此,在一个实施方式中,对话管理器可以生成针对附加用户输入的以下提示,该提示还指明知识图808中可用的替选,和/或可以具有知识图808中可用的关联值。

例如,替代地,提示1202可以询问用户“您更喜欢什么类型的款式,比如便鞋还是跑鞋?”该类型的问题提示制定即向用户通知可能与成功搜索相关的建议(例如,由于清单或过去的用户交互行为)又可能收集附加的用户输入。注意,并非知识图中的所有已知项目属性值都需要建议,并且并非在条目之间定向的所有边都可以具有指定的分数值。如前所述,智能个人助理系统106可以使用其他数据来为挑选对其而言更具有辨别力的可能性。

此外,对话管理器216甚至可以提供所建议的当在回复中使用时可能导向相关的搜索结果的精确用户输入短语。例如,替代地,提示1202可以询问用户“您想要‘便鞋款式’还是‘跑鞋款式’?”。这样的短语建议可以引起具有所有剩余尚未指定的约束的易于处理的形式的回复(特别是口头回复)(例如,“运动鞋款式”指定运动鞋的属性值和款式的属性二者)。

在另一示例中,对话管理器216可以具有来自对用户输入的分析和来自其他数据的足够数据,以生成进行建议性项目推荐的提示。在这种情况下,对话管理器可以具有指示用户可能对便鞋感兴趣的数据。与使用问题类型的提示来直接确认不同,对话管理器216可以继续搜索并向用户输出一些可能相关的清单项目的文本和/或图像。因此,提示1204可以通知“我发现这些便鞋:”并且示出可用于购买的特定项目或项目组的图像(或更一般地,图像表征用于购买的特定项目或项目组)。该方法使得提供不完全约束的查询的用户容易确认或否定单个建议类型提示。例如,肯定可以是口头回复或对特定显示项目的选择。

在另一示例中,对话管理器216可以选择包括诸如“我理解您想要找到红色耐克鞋”或“好的,我现在可以帮您找到红色耐克鞋”的验证语句的提示,以会话地引导用户提供对用户感兴趣的主要对象的进一步确认和启示性讨论。该提示类型允许用户解析智能个人助理系统106在不询问可能引起混淆的问题类型的提示的情况下可能无法自动解析的歧义。例如,如果在用户文本输入中存在许多不寻常的拼写错误,或者如果在嘈杂的环境中接收到用户的语音,则可能发生该歧义,使得归一化不能很好地起作用。

当用户提供指示用户兴趣改变的话语时,验证语句类型提示也可以是特别有用的。即,机器人可以做出验证语句以允许用户确认新的搜索任务已经开始,并且先前搜索任务的上下文不再适用。例如,先前寻找红色耐克鞋的机器人可以以“好的,让我们现在找一把伞而不是红色耐克鞋”来响应与雨伞有关的用户输入。如果用户不意图改变兴趣,则用户将很有可能提供概述相关的查询项目的更详细的回复,以使机器人“重新回到目标”。

在另一示例中,对话管理器216可以生成以下提示,该提示不仅指示在清单中没有找到满足所有指定搜索约束的项目而且指示经由可用的搜索找到满足一些或大多数指定搜索约束的项目。例如,如果在清单中没有用户查询的红色耐克鞋,则对话管理器216可以说“目前没有找到红色耐克鞋,但现在能找到蓝色或绿色的耐克鞋”。因此,该提示方法避免了可能使用户完全失去搜索的兴趣的死胡同(dead-end)搜索结果并且鼓励用户进行已经确定可能成功的略微拓宽或修改的搜索。因此,对话管理器216可以鼓励用户“回溯(backtrack)”并且继续经由相关项目属性值、项目属性或甚至项目类别进行搜索。该提示生成方法对于正在浏览或搜索给其偏好不为人所知的目标接收者的礼物的人而言可能是特别有用的。

类似地,如果用户正在寻找黑色耐克鞋,但是通过搜索确定在清单中只有红色耐克鞋、蓝色耐克鞋和绿色耐克鞋可用,则询问用户用户是否对黑色耐克鞋感兴趣的提示可能适得其反并且实际上会使人烦恼。因此,在一个实施方式中,如果在由用户的回复确认时提示将引向清单中不可用的项目,则对话管理器216不生成任何类型的提示。即,该版本的智能在线个人助理106不会主动引导用户进入死胡同。

图13示出了根据一些示例实施方式的用于处理自然语言用户输入以生成项目推荐的方法的流程图。该方法可以经由先前描述的结构元件以及经由由计算机器中的处理器执行的指令来实现。在1302处,该方法可以从用户接收输入数据。在1304处,该方法可以使所接收到的输入数据归一化。在1306处,该方法可以解析经归一化的输入数据,以例如从经解析的输入数据中识别用户感兴趣的主要对象和相关参数。

在1308处,该方法可以分析经解析的输入数据以找到知识图808的维度与主要对象和相关参数之间的匹配。在1310处,该方法可以将分析结果聚合成用于搜索的正式查询。在1312处,该方法可以可选地生成针对来自用户的附加输入数据的提示或用户提示。

虽然已经参考具体示例实施方式描述了本主题,但是明显的是,可以在不背离所公开的本主题的更广泛范围的情况下对这些实施方式做出各种修改和改变。因此,说明书和附图要被视为示出性意义而不是限制性意义。形成本文的一部分的附图以图示的方式并且非限制性地示出其中可以对本主题进行实践的具体实施方式。足够详细地描述了所示的实施方式,以使得本领域技术人员能够对本文中公开的教示进行实践。可以利用并且由此得到其他实施方式,使得可以在不背离本公开内容的范围的情况下做出结构和逻辑替换和变化。因而该描述不以限制性意义而被采用,并且各种实施方式的范围仅通过任何所附权利要求与称为这样的权利要求的等同方案的完全范围一起来限定。

在本文中可能将发明主题的这样的实施方式单独地和/或共同地称为术语“发明”,这仅是为了方便起见,而不意在在实际上公开了多于一个发明或发明构思的情况下将本申请的范围主动地限制为任何单个发明或发明概念。因此虽然已经在本文中示出和描述了具体实施方式,但是应当意识到的是,可以使用被计划用以实现相同目的的任何布置来替换所示出的具体实施方式。本公开内容意在涵盖各种实施方式的任何以及全部调整或变型。当对上述描述进行回顾时,上述实施方式以及本文中未具体描述的其他实施方式的组合对本领域的技术人员而言将是明显的。

以下所编号的示例是实施方式。

一种用于在多轮对话中生成用于附加自然语言输入的提示的方法,所述方法包括:

接收知识图中的维度与用户查询数据的分析结果之间的排序匹配,知识图维度包括各个类别、属性和属性值中的至少一个,并且所述结果包括用户感兴趣的主要对象、用户意图和相关参数;

搜索清单并且将搜索结果并入到所述知识图中;

确定是否达到所述分析结果与直接或间接链接至所述主要对象的知识图维度之间的预定足够的匹配级别;以及

如果未达到所述足够的匹配级别,则基于至少一个未指定的链接知识图维度来生成和输出问题类型提示。

2.根据示例1所述的方法,还包括:如果回复不能够导向令人满意的搜索结果,则抑制所述问题提示。

3.根据示例1或示例2所述的方法,其中,所述问题提示基于关联强度值来建议对链接的知识图维度的选择。

4.根据示例1至3中任一项所述的方法,其中,所述问题提示基于所链接的知识图维度中的至少一个来提供建议的回复短语。

5.根据示例1至4中任一项所述的方法,还包括:如果不存在满足所有用户搜索约束的知识图维度,则替代地生成指出不满足所有用户搜索约束的知识图维度的不同的问题提示。

6.根据示例1至5中任一项所述的方法,还包括:如果未达到所述足够的匹配级别,则基于知识图元素关联强度值以及知识图维度类型的预定顺序中的至少一个来生成和输出关于链接的未指定的知识图维度的问题类型提示。

7.根据示例1至6中任一项所述的方法,还包括:如果未达到所述足够的匹配级别,则基于以下中的至少一个来生成和输出关于链接的未指定知识图维度的问题类型提示:能够通过肯定类型回复或否定类型回复解析的链接的知识图数据元素的深度;以及未指定知识图维度选择的随机程度。

8.一种嵌入有一组指令的计算机可读存储介质,所述一组指令在由计算机的一个或更多个处理器执行时,使得所述计算机执行用于在多轮对话中生成用于附加自然语言输入的提示的以下操作,这些操作包括:

接收知识图中的维度与用户查询数据的分析结果之间的排序匹配,知识图维度包括各个类别、属性和属性值中的至少一个,并且所述结果包括用户感兴趣的主要对象、用户意图和相关参数;

搜索清单并且将搜索结果并入到所述知识图中;

确定是否达到所述分析结果与直接或间接链接至所述主要对象的知识图维度之间的匹配的预定足够级别;以及

如果未达到所述足够的匹配级别,则基于至少一个未指定的链接的知识图维度来生成和输出问题类型的提示。

9.根据示例8所述的介质,还包括:如果回复不能够导向令人满意的搜索结果,则抑制所述问题提示。

10.根据示例8或示例9所述的介质,其中,所述问题提示基于关联强度值来建议链接的知识图维度的选择。

11.根据示例8至10中任一项所述的介质,其中,所述问题提示基于所链接的知识图维度中的至少一个来提供建议的回复短语。

12.根据示例8至11中任一项所述的介质,还包括:如果不存在满足所有用户搜索约束的知识图维度,则替代地生成指出不满足所有用户搜索约束的知识图维度的不同的问题提示。

13.根据示例8至12中任一项所述的介质,还包括:如果未达到匹配的所述足够级别,则基于知识图元素关联强度值以及知识图维度类型的预定顺序的至少一个来生成和输出关于链接的未指定的知识图维度的问题类型的提示。

14.根据示例8至13中任一项所述的介质,还包括:如果未达到所述足够的匹配级别,则基于以下中的至少一个来生成和输出关于链接的未指定的知识图维度的问题类型的提示:能够通过肯定类型回复或否定类型回复解析的链接的知识图数据元素的深度;以及未指定的知识图维度选择中的随机程度。

15.一种用于在多轮对话中生成用于附加自然语言输入的提示的系统,所述系统包括:

自然语言理解组件,其被配置成提供知识图中的维度与用户查询数据的分析结果之间的排序匹配,所述知识图维度包括各个类别、属性和属性值中的至少一个,并且所述结果包括用户感兴趣的主要对象、用户意图和相关参数;

搜索组件,其被配置成搜索清单并且将搜索结果并入到所述知识图中;

对话管理器组件,其被配置成确定是否达到所述分析结果与直接或间接链接至所述主要对象的知识图维度之间的预定足够的匹配级别;以及

如果未达到所述足够的匹配级别,则利用所述对话管理器组件,基于至少一个未指定的链接知识图维度来生成和输出问题类型的提示。

16.根据示例15所述的系统,其中,如果回复不能够导向令人满意的搜索结果,则抑制所述问题提示。

17.根据示例15或示例16所述的系统,其中,所述问题提示基于关联强度值来建议对链接的知识图维度的选择。

18.根据示例15至17中任一项所述的系统,其中,所述问题提示基于所链接的知识图维度中的至少一个来提供建议的回复短语。

19.根据示例15至18中任一项所述的系统,还包括:如果不存在满足所有用户搜索约束的知识图维度,则利用所述对话管理器组件来替代地生成指出不满足所有用户搜索约束的知识图维度的不同的问题提示。

20.根据示例15至19中任一项所述的系统,还包括:如果未达到所述足够的匹配级别,则利用所述对话管理器组件基于以下中的至少一个来生成和输出关于链接的未指定的知识图维度的问题类型的提示:知识图元素关联强度值;知识图维度类型的预定顺序;能够通过肯定类型回复或否定类型回复解析的链接知识图数据元素的深度;以及未指定的知识图维度选择中的随机程度。

21.一种承载有一组指令的机器可读介质,所述一组指令在由计算机的一个或更多个处理器执行时,使得所述计算机执行根据示例1至7中任一项所述的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1