用于解析在不同域中有潜在模糊含义的表达的方法和装置与流程

文档序号:18900189发布日期:2019-10-18 21:50阅读:272来源:国知局
用于解析在不同域中有潜在模糊含义的表达的方法和装置与流程

本发明一般地涉及虚拟助理,并且更具体地涉及被配置为理解自然语言的虚拟助理。



背景技术:

现代虚拟助理可以回答问题并执行使用自然语言表达的命令。更高级的虚拟助理可以处理很多域中的问题和命令。域是诸如提供有关特定领域的信息或执行有关特定设备的动作的相关能力的不同集合。例如,一些虚拟助理可以给出天气预报、利用来自维基百科的事实回答问题、播放所请求的音乐、播放所请求的视频、发送短消息服务(sms)消息、进行电话呼叫等。可以开发不同的虚拟助理来处理不同的域组合中的问题和命令。

在一些环境中,虚拟助理在支持多种不同类型的客户端(例如,智能扬声器、移动电话、汽车、自动售货机等)的服务器上运行。每种不同类型的客户端可以提供被配置为横跨域集合处理问题和命令的虚拟助理。域的数目可以在少至用于非常专门的虚拟助理的单个域到用于广泛使用的虚拟助理的多个域之间变化。域对于虚拟助理可以是唯一的或者可以在多个虚拟助理中间共享。例如,很多虚拟助理可以使用共用天气域。另一方面,用于零售商的虚拟助理可以具有唯一域来回答有关现有物品的查询。

有时,虚拟助理会接收到潜在模糊的自然语言表达。即,该表达潜在地在一个以上域中有意义。例如,发出口头表达“playfootloose(播放自由自在)”的用户可以指音乐域中的流行歌曲和视频域中的流行电影。表达“播放情深深雨蒙蒙”可以指音乐域中的流行歌曲和视频域中的流行电影。再如,表达“howhighismounteverest(珠穆朗玛峰有多高)”可以指地理域中的高度或天气域中的温度。

在接收到表达时,虚拟助理可以计算针对多个不同域中的每个域的分数,该分数大致指示该表达在该域中有意义的程度。虚拟助理选择具有最佳分数的域并且使用来自该域的解析来产生对于用户的响应。对于潜在模糊的表达,多个域可以提供高分数。但是,最佳(最高)得分域可能不是用户想要处理潜在模糊表达的域。结果,虚拟助理给出了不适当的响应,这使用户受挫。

其他相关技术是:

美国专利申请公开20140163959a1,发明人赫伯特等,第0006、0008、0024、和0028段。

美国专利申请公开20140244712a1,发明人沃尔特斯等,第0083段。

xiaohuliu等,personalizednaturallanguageunderstanding(个性化自然语言理解),interspeech,2016年9月,微软公司。

puyangxu等,contextualdomainclassificationinspokenlanguageunderstandingsystemusingrecurrentneuralnetwork(使用递归神经网络的口语理解系统中的上下文域分类),2014年icassp会议,微软公司。

yiyang,robustadaptationofnaturallanguageprocessingforlanguagevariation(语言变异的自然语言处理的鲁棒适应),博士论文,2017年5月,乔治亚理工学院。

giovannicampagna,deepalmond:adeepleaning-basedvirtualassistant(deepalmond:基于深度学习的虚拟助理),2017,斯坦福。

eugenegrois,learningstrategiesforopen-domainnaturallanguagequestionanswering(开放域自然语言问答的学习策略),aclstudent'05proceedingsoftheaclstudentresearchworkshop(acl学生研究工作会的acl学生'05论文集),第85-90页。

附图说明

参考下面的描述和附图,本发明的具体特征、方面、和优点将变得更好理解,其中:

图1示出了用于解析表达的示例计算机环境。

图2示出了在多域自然语言理解(nlu)解析服务器解析表达的示例。

图3示出了在多域自然语言理解(nlu)解析服务器解析表达的另一示例。

图4a示出了示例表达包。

图4b示出了另一示例表达包。

图5a示出了附加表达包。

图5b示出了又一表达包。

图6示出了在多域自然语言理解(nlu)解析服务器解析音频样本的示例。

图7示出了在多域自然语言理解(nlu)解析服务器生成对于表达的响应的示例。

图8示出了示例图形用户界面(gui)配置器屏幕。

图9示出了在多域自然语言理解(nlu)解析服务器使用域排名选择域的示例。

图10a示出了示例转盘。

图10b示出了示例随机存取存储器(ram)芯片。

图11a示出了封装片上系统(soc)的示例焊料球侧。

图11b示出了片上系统(soc)的示例架构。

图12a示出了基于机架的服务器的示例。

图12b示出了服务器的示例架构。

具体实施方式

本发明扩展到用于解析在不同域中具有潜在模糊含义的表达的方法、系统、机器、制品、和计算机程序产品。

本发明的多个方面可以对不同域提供的表达的不同解析赋予权重和/或赋予优先级。赋予权重和/或赋予优先级可以用来选择用户的表达的更适当的解析。因此,赋予权重和/或赋予优先级可以允许开发者开发出用于特定用途和用于特定条件的虚拟助理,以使得虚拟助理更有可能基于用户意图挑选出适当的(正确的)解析。赋予权重和/或赋予优先级还可以提供以下优点,即允许开发者降低用户得到来自竞争者的域的结果的可能性或者潜在地避免这种情况。

在一些方面,解析器被配置为横跨多个不同域处理表达。解析器从用户接收表达。表达可以是由用户输入的文本(例如,美国信息互换标准代码(ascii)字符或统一码字符)、词素的标记化序列、语音音频样本等。可以使用语音识别从语音音频样本提取词素的序列。

解析器在每个域中对表达进行解析,以计算表达在每个域中的第一似然分数。解析器使用与表达相关联的元数据选择每个域的相应权重。在一些方面,元数据包括以下各项中的一项或多项:客户端id、供应商id、产品id、版本、用户id、位置、传感器信息等。在这些方面,解析器基于元数据的内容选择权重。在其他方面,权重被包括在元数据中。在这些其他方面,元数据可以指定与每个权重相关联的域名或域id。权重可以表示为整数、浮点数、或其他符号表征。

对于每个域,解析器向第一似然分数应用相应权重,以计算第二似然分数。第二似然分数对于从多个域中选择域来提供表达的解析是有用的。例如,可以选择具有超过阈值的第二分数的域作为解析表达的域。可以使用所选择的域来确定用户意图并计算适当的响应。响应可以是视觉或听觉的(例如,声音或口头信息)并且可以使设备执行诸如发送文本或可听消息等的操作。

开发者可以开发包括多个可用域中的不同域的解析器(例如,使用具有图形用户界面的平台),并且可以向每个所包括的域指派权重。

替代地或者结合使用权重,本发明的多个方面还可以利用域排名。如果多个域具有超过阈值的分数,则可以选择排名较高的域作为解析表达的域。阈值在多个域中间可以相同或不同。可以基于上下文(例如,什么应用正在运行、前一个对话主题等)将排名指定为排序列表、具有偏好的域对。在一方面,为没有明确排名的“其他”域指定排名。

多个方面包括支持多个客户端类型的基于云的多域自然语言理解(nlu)解析平台。客户端开发者可以开发使用其他的域的客户端和/或可以开发用于它们的客户端的消费者域或专有域。例如,汽车制造商可以开发调整他们的汽车的加热器和窗户的专有汽车控制域。汽车制造商还可以开发使用专有汽车控制域和其他共用域(例如,回答天气预报查询的域)的客户端。客户端开发者可以向他们自己的定制或专有域指派较高的权重。

客户端开发者还可以与域开发者具有商业关系。客户端开发者可以向来自域开发者的域指派较高的权重,或者可以向来自域开发者的竞争者的域指派较低的权重(或甚至0权重)。因此,客户端开发者实质上可以防止客户端选择竞争者域来对表达进行响应或者防止客户端允许竞争者域对与客户端不太相关的表达进行响应。

例如,杂货店公司的杂货购买客户端可以具有包括专用于他们的产品的信息的定制域。使用权重,杂货购买客户端可以被配置为使用具有商店品牌的产品的定制域来响应食物相关的查询。例如,可以选择消费者域利用有关他们的商店品牌的甜甜圈的特定信息来对查询“甜甜圈中有多少热量”进行响应。可以选择定制域来代替品牌名称甜甜圈公司的域。客户端可以利用一般营养信息的域来响应对于不具有商店品牌的产品的食物相关的查询。例如,当商店不具有商店品牌的香蕉时,可以选择共用域来对查询“香蕉中有多少卡路里”进行响应。

本发明的多个方面提供了作为相对于传统方法的改善的某些优点。具体地,可以对模糊表达进行有更高可能性匹配用户意图的解析。可以理解某些表达(在其他情况下无法理解这些表达)。可以针对设备的类型和情况优化设备的行为。可以用设备的自然语言界面更好地满足用户。共享的基于云的解析服务器可以向不同的设备开发者提供不同等级的服务(并且收取不同等级的费用)。另外,自然语言表达的更精确的解析对于降低安全关键系统中的错误率是有价值的。本发明的其他优点对于本领域从业者将是显而易见的。

如下面更详细讨论的,本发明的实施例可以包括或利用包括计算机硬件(例如,一个或多个处理器和系统存储器)的专用或通用计算机。本发明范围中的实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这种计算机可读介质可以为可以由通用或专用计算机系统存取的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质(设备)。携带计算机可执行指令的计算机可读介质是传输介质。因此,通过示例而非限制,本发明的实施例可以包括至少两个不同种类的计算机可读介质,即:计算机存储介质(设备)和传输介质。

计算机存储介质(设备)包括随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、压缩盘只读存储器(cd-rom)、固态驱动(ssd)(例如,基于ram)、闪存、相变存储器(pcm)、其他类型的存储器、其他光盘存储设备、磁盘存储设备或其他磁存储设备、或者可以用来以计算机可执行指令或数据结构的形式存储期望的程序代码装置并且可以由通用或专用计算机存取的任何其他介质。

“网络”被定义为使能电子数据在计算机系统和/或模块和/或其他电子设备之间传输的一个或多个数据链路。当信息在网络或其他通信连接(硬连线、无线、或硬连线或无线的组合)上被传输或提供给计算机时,计算机恰当地将该连接视为传输介质。传输介质可以包括可以用来以计算机可执行指令或数据结构的形式携带期望的程序代码装置并且可以由通用或专用计算机存取的网络和/或数据链路。以上各项的组合也应该被包括在计算机可读介质的范围内。

例如,在到达各种计算机系统组件时,计算机可执行指令或数据结构形式的程序代码装置可以被自动地从传输介质传送到计算机存储介质(设备)(反之亦然)。例如,在网络或数据链路上接收到的计算机可执行指令或数据结构可以被缓存在网络接口模块(例如,nic)中的ram中,然后最终被传送到计算机系统ram和/或计算机系统处的不太易失的计算机存储介质(设备)。ram还可以包括固态驱动(ssd或基于外围组件互连扩展(pci-x)的实时存储器分级存储设备,例如,fusionio)。因此,应该理解的是,计算机存储介质(设备)可以被包括在也(或甚至主要)利用传输介质的计算机系统组件中。

计算机可执行指令包括例如在处理器处被执行时使得通用计算机、专用计算机、或专用处理设备执行某个功能或功能群组的指令和数据。计算机可执行指令可以是例如二进制的中间格式指令(例如,汇编语言或甚至源代码)。尽管以结构特征和/或方法动作专用的语言描述了主题,但是应该理解的是,所附权利要求中限定的主题不一定限于以上描述的特征或动作。相反,所描述的特征和动作被作为实现权利要求的示例形式公开。

本领域普通技术人员将明白的是,本发明可以在具有很多类型的计算机系统配置的网络计算环境中实施,这些计算机系统配置包括个人计算机、桌面型计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器的或可编程的消费者电子设备、网络pc、小型计算机、大型计算机、移动电话、个人数字助理(pda)、平板、寻呼机、路由器、交换机、各种存储设备等。本发明还可以在分布式系统环境中实施,在分布式系统环境中,通过网络链接(通过硬连线数据链路、无线数据链路、或者通过硬连线和无线数据链路的组合链接)的本地和远程计算机系统二者执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储设备二者中。

本发明的实施例还可以实现在云计算环境中。在本说明书和后面的权利要求中,“云计算”被定义为使能对于可配置计算资源(例如,网络、服务器、存储设备、应用、和服务)的共享池的无所不在的、传统的、按需的网络接入的模型,其中,这些可配置计算资源可以经由虚拟化被迅速提供,并且利用最少的管理工作或服务提供商交互被释放且随后可以被相应地缩放。云模型可以包括各种特性(例如,按需自服务、广泛的网络接入、资源共享、迅速弹性、测量服务等)、服务模型(例如,软件即服务(saas)、平台即服务(paas)、架构即服务(iaas))、以及部署模型(例如,私有云、社区云、公共云、混合云等)。针对本发明描述的数据库和服务器可以被包括在云模型中。

另外,在适当的情况下,本文描述的功能可以在硬件、软件、固件、数字组件、或模拟组件中的一者或多者中执行。例如,一个或多个专用集成电路(asic)可以被制造为或者现场可编程门阵列(fpga)可以被编程为实现本文描述的一个或多个系统和过程。贯穿下面的描述和权利要求使用一些术语来指代特定的系统组件。本领域普通技术人员将明白的是,组件可以由不同名称指代。本文档不意图区分名称不同而非功能不同的组件。

图1示出了用于解析表达的计算机环境100。更具体地,计算机环境100描绘了与连接到基于云的多域自然语言理解(nlu)解析服务器的客户端的用户交互。

用户10可以在智能扬声器12的传感器范围内说出语言表达11。智能扬声器12可以接收语言表达11并在网络上将语言表达11发送给云16中的多域nlu解析服务器13。移动电话客户端14和汽车客户端15也可以将自然语言表达发送给多域nlu解析服务器13。

如所描绘的,语言表达11可以是短语“playfootloose(播放自由自在)”和“播放情深深雨蒙蒙”。短语“playfootloose”和“播放情深深雨蒙蒙”可以指示流行歌曲的名称和流行视频的名称二者。因此,短语“playfootloose”和“播放情深深雨蒙蒙”可以接收到针对歌曲域和视频域二者中的解析的高分数。但是,由于智能扬声器12不具有视觉显示器,所以可以向歌曲域给出相比视频域更高的权重。因此,从智能扬声器12接收到的短语“playfootloose”和“播放情深深雨蒙蒙”可以被解析为播放歌曲的请求。

另一方面,具有显示器的客户端(例如,移动电话14)可以向视频域给出比歌曲域更高的权重。因此,从移动电话14接收到的短语“playfootloose”和“播放情深深雨蒙蒙”可以被解析为播放视频的请求。

诸如移动电话14或汽车15的一些客户端可以运行不同种类的应用。在这些客户端上,可以使用运行的应用来确定优选歌曲或视频的相对域权重。例如,如果移动电话14在前台中具有音乐应用,则域权重可以被配置为优选播放歌曲。

所存储的域权重

图2示出了多域自然语言理解(nlu)解析服务器13的更详细的视图。多域自然语言理解(nlu)解析服务器13可以从客户端设备(例如,从智能扬声器12、移动电话14、或汽车15中的任一者)接收表达包5。多域自然语言理解(nlu)解析服务器13将表达19转发给解析器20,并将客户端id31转发给权重选择器23。解析器20根据域21(例如,域21a、域21b、...、域21n)中的每个域解析表达19以产生解析321-n。在一些方面,解析器20产生针对少于所有域21的解析。解析器20还产生第一分数331-n。第一分数33中的每一者对应于解析32中的一者。在一些方面,在完成表达19的解析之前执行评分。在解析之前评分可以节省处理资源。解析器20可以将第一分数331-n发送给重评分模块24。

权重选择器23具有对于权重22(包括权重22a、22b、和22c)的多个集合(可能存储在持久存储装置中)的存取。权重集可以包括针对一个或多个域21或可能所有域21的权重。权重集中的权重可以表示为浮点数、整数、文本、或其他适当格式。

权重选择器23接收客户端id31。在一方面,接收到表达19的客户端设备将客户端id31作为元数据与表达19一起发送给多域自然语言表达(nlu)解析服务器13。多域自然语言理解(nlu)解析服务器13将客户端id31与表达19分离开,并且将客户端id31转发给权重选择器23。客户端id31可以表示客户端类型,例如,智能扬声器、移动电话、汽车等。权重选择器23选择对应于客户端id31的权重集(例如,权重22a)。权重选择器23可以将权重22a发送给重评分模块24。

其他类型的识别数据,例如,供应商id、产品id、版本、用户id、位置、传感器信息等也可以被传送给权重选择器23。权重选择器23可以使用所描述的类型的识别数据中的任意数据选择权重集。

重评分模块24从解析器20接收第一分数331-n并从权重选择器23接收权重22a。重评分模块24向第一分数331-n应用权重22a,以产生第二分数341-n。重评分可以包括用相应权重(或者对于不具有相关权重的分数的值1)乘第一分数以产生第二分数。也可以使用诸如加法、添加到对数、阈值比较、滤波、以及应用任意函数的其他重评分机制。

基于第二分数341-n,多域自然语言理解(nlu)解析服务器13可以从解析321-n中选择表达19的适当解析(例如,具有最高分数的解析、超过针对相应域的阈值的解析等)。基于所选择的适当解析,多域自然语言理解(nlu)解析服务器13可以生成对于表达19的适当响应。适当响应可以包括使得客户端设备执行诸如输出文本或可听消息、播放歌曲、播放视频、移动等的操作。

接收作为元数据的域权重

图3示出了多域自然语言理解(nlu)解析服务器13的另一更详细的示图。多域自然语言理解(nlu)解析服务器13可以从客户端设备(例如,从智能扬声器12、移动电话14、或汽车15中的任一者)接收表达包6。多域自然语言理解(nlu)解析服务器13将表达29转发给解析器20并将权重41转发给重评分模块24。解析器20根据域21(例如,域21a、域21b、...、域21n)中的每个域解析表达29以产生解析421-n。在一些方面,解析器20产生针对少于所有域21的解析。解析器20还产生第一分数431-n。第一分数43中的每一者对应于解析42中的一者。在一些方面,在完成表达29的解析之前执行评分。在解析之前评分可以节省处理资源。解析器20可以将第一分数431-n发送给重评分模块24。

在一方面,接收到表达29的客户端设备将(每个表达的)权重41作为元数据与表达29一起发送给多域自然语言理解(nlu)解析服务器13。多域自然语言理解(nlu)解析服务器13将权重41与表达19分离开,并且将权重41转发给重评分模块24。权重41可以包括针对一个或多个域21或可能所有域21的权重。权重41中的权重可以表示为浮点数、整数、文本、或其他适当格式。

重评分模块24从解析器20接收第一分数431-n并从客户端设备接收权重41。重评分模块24向第一分数431-n应用权重41,以产生第二分数441-n。重评分可以包括用相应权重(或者对于不具有相关联的权重的分数的值1)乘第一分数以产生第二分数。也可以使用诸如加法、添加到对数、阈值比较、滤波、以及应用任意函数的其他重评分机制。

基于第二分数441-n,多域自然语言理解(nlu)解析服务器13可以从解析421-n中选择表达29的适当解析(例如,具有最高分数的解析、超过针对相应域的阈值的解析等)。基于所选择的适当解析,多域自然语言理解(nlu)解析服务器13可以生成对于表达29的适当响应。适当响应可以包括使得客户端设备执行诸如输出文本或可听消息、播放歌曲、播放视频、移动等的操作。

多个方面还包括所存储的权重和每个表达的权重的组合。每个表达的权重可以用来推翻或影响针对客户端所存储的每个域的权重。

表达包

图4a示出了示例表达包400。表达包400可以被从客户端设备传送到nlu解析服务器。如所描绘的,表达包400包括客户端id401和表达数据402。客户端id401可以在表达数据402之前被传送,以允许nlu解析服务器在接收到表达数据402之前挑选权重集。权重选择器可以使用客户端id401选择权重集。重评分模块可以向通过横跨多个域解析表达数据402产生的第一分数应用所选择的权重集中的权重。

图4b示出了另一示例表达包450。表达包450可以被从客户端设备传送到nlu解析服务器。如所描绘的,表达包450包括供应商id451、产品id452、以及表达数据453。权重选择器可以使用供应商id451和产品id452选择权重集。重评分模块可以向通过横跨多个域解析表达数据453产生的第一分数应用所选择的权重集中的权重。

传送供应商id451和产品id452对于支持具有自然语言客户端的不同公司的生态系统的nlu解析服务器是有用的。例如,nlu解析服务器可以为来自不同供应商的不同产品和产品版本提供每个供应商的账户和不同的处理功能或软件。各种其他格式,例如,版本、用户id、位置、传感器信息等也可以适用于指示用于选择表达数据的适当权重集的id信息。

图5a示出了附加表达包500。表达包500可以被从客户端设备传送到nlu解析服务器。如所描绘的,表达包500包括权重501和表达数据502。权重501可以包括针对一个或多个域中的每个域的权重。重评分模块可以向通过横跨多个域解析表达数据502产生的第一分数应用权重501集中的权重。

图5b示出了又一表达包550。表达包550可以被从客户端设备传送到nlu解析服务器。如所描绘的,表达包550包括权重551a、551b、551c和相应标签552a、552b、552c,以及表达数据550。标签552a、552b、552c中的每个标签指示相应权重551a、551b、和551c分别可用于的域。重评分模块可以分别向针对标签552a、552b、和552c指示的域的第一分数应用权重551a、551b、和551c。重评分模块可以向表达包550中没有明确指示的任意域应用中性权重(例如,对于乘法重评分的值1)。

附加功能

如所描述的,表达数据可以采用包括ascii字符串、统一码字符串、表示语音的数字音频样本序列、姿势序列、以及神经活动模式在内的各种形式。

图6示出了多域自然语言理解(nlu)解析服务器13的附加的更详细示图。多域自然语言理解(nlu)解析服务器13可以从客户端设备(例如,从智能扬声器12、移动电话14、或汽车15中的任一者)接收表达包64。多域自然语言理解(nlu)解析服务器13将音频样本62转发给语音识别模块61并根据需要将元数据63转发给权重选择器23和/或重评分模块24。

语音识别模块61对音频样本62执行语音识别,以产生表达66(音频样本62的文本表示)。语音识别模块61可以产生识别出的语音令牌序列的一组多个假设。可以针对每个假设计算语音识别精确度估计分数。表达66可以包括ascii字符、统一码字符(例如,包括中文字符的字符)、或音频样本62的其他词汇或表意表示。

语音识别模块61可以将表达66发送给解析器20。解析器20可以根据域21(例如,域21a、域21b、...、域21n)中的每个域解析表达66,以产生解析671-n。在一些方面,解析器20产生针对少于所有域21的解析。解析器20还产生第一分数681-n。第一分数68中的每一者对应于解析67中的一者。在一些方面,在完成表达66的解析之前执行评分。在解析之前评分可以节省处理资源。解析器20可以将第一分数681-n发送给重评分模块24。

重评分模块24从解析器20接收第一分数681-n并接收相应权重。相应权重可以被包括在元数据63中和/或可以基于元数据63从存储设备存取。重评分模块24向第一分数681-n应用权重,以产生第二分数。重评分可以包括用相应权重(或对于不具有相关联的权重的分数的值1)乘第一分数,以产生第二分数。也可以使用诸如加法、添加到对数、阈值比较、滤波、以及应用任意函数的其他重评分机制。

基于第二分数,多域自然语言理解(nlu)解析服务器13可以从解析671-n中选择表达66的适当解析(例如,具有最高分数的解析、超过针对相应域的阈值的解析等)。基于所选择的适当解析,多域自然语言理解(nlu)解析服务器13可以生成对于音频样本62的适当响应。适当响应可以包括使得客户端设备执行诸如输出文本或可听消息、播放歌曲、播放视频、移动等的操作。

图7示出了多域自然语言理解(nlu)解析服务器13的另一更详细的视图。多域自然语言理解(nlu)解析服务器13可以从客户端设备(例如,从智能扬声器12、移动电话14、或汽车15中的任一者)接收表达包83。多域自然语言理解(nlu)解析服务器13将表达84和元数据86转发给自然语言理解模块70。

如所描绘的,自然语言理解模块70接收包括表达84和元数据86的表达包83。自然语言理解模块70可以包括解析器20、权重选择器23、以及重评分模块24中任一者的功能。基于表达84和元数据86,自然语言理解模块70可以分别产生针对域21的(表达84的)解析761-n和相应的第二分数771-n。

自然语言理解模块70可以将第二分数771-n发送给域挑选器72并将解析761-n发送给意图产生模块73。域挑选器72可以从自然语言理解模块70接收第二分数771-n。基于第二分数771-n,域挑选器72可以挑选域21b作为适用于表达84的域。域挑选器72可以向意图产生模块73指示域21b。意图产生模块73可以从域挑选器72接收关于域21b的指示,并且可以从自然语言理解模块70接收解析761-n。

基于关于域21b的指示和解析761-n,意图产生模块73可以产生意图79。意图79可以是针对用户创建表达84的意义的假设,例如,用于查找信息、执行动作等。在一方面,意图79为适当的数据结构,例如,利用javascript对象表示法(json)或一组网络应用编程接口(api)请求参数(requestargument)表示。意图产生模块73可以将意图79发送给响应计算模块74。

响应计算模块74可以从意图产生模块73接收意图79。基于意图79,响应计算模块74可以计算响应82(对于表达84的响应)。响应82可以指示信息将被返回给用户,动作将被执行等。响应82可以包括文本、音频、语音音频、文本到语音(tts)的标记代码、或其他适当形式。

平台用户界面

本发明的多个方面可以为客户端开发者提供平台来配置域对于他们的客户端用户的可用性并配置对于可用域的重评分权重集。可以通过基于文本的界面、图形用户界面(gui)、或者使用其他方法输入域选择和权重。图8示出了示例gui配置器屏幕81。

gui配置器屏幕81包括标题“myclientproject”和用于配置域信息的各种列。gui信息器屏幕81将每个域表示为具有用于使能/禁用域、域权重、域名(例如,天气、日期/时间、定时器、日历等)、以及域描述(描述域干什么)的列的行。可以使用滚动条上下滚动域列表。

可以通过切换(toggling)使能列中的用户界面控件(例如,复选框)来使能和禁用域。解析器20可以在被使能的域中解析表达。解析器20不在被禁用的域中解析表达。禁用域可以节省计算资源,避免与更昂贵的域相关联的代价,避免对与可能导致用户偏离期望动作(例如,购买)的信息相关联的域的访问,并且避免会劣化用户体验的不适当响应的生成。

可以将权重输入到权重列中的文本字段中。gui配置器屏幕81可以针对每个域或仅针对被使能的域输入权重。权重可以为适用于乘法重评分的浮点数、适用于乘法重评分的整数、表示用于重评分值的指数的整数、诸如“低”、“中等”、“高”的基于文本的描述、或以各种其他适当方式表示。在gui配置器屏幕81中,权重被表达为0.1至9.9的值。重评分可以包括用权重乘第一分数以计算第二分数。可以对第一分数标准化,使得权重提供对于每个域的系统适当偏好。

如所描绘的,gui配置器屏幕81针对导航和音乐域指示较高权重,但是针对维基百科域指示较低权重。所描绘的权重配置可以适用于具有导航系统和无线电设备的汽车客户端。提供其他一般知识的维基百科是汽车应该提供的域而不是大部分乘客频繁使用的域,因此具有较低权重。

域排名

提高客户端适当响应潜在模糊的用户查询的可能性的另一方法是对域进行排名。域排名可以与域权重分开使用或者结合使用。域权重和域排名是指示与自然语言表达相关联的域优先级的互补方式。

图9示出了多域自然语言理解(nlu)解析服务器13的另一附加的更详细的视图。如所描绘的,自然语言理解模块70接收表达包93,该表达包93包括表达94和排名96。多域自然语言理解(nlu)解析服务器13可以从客户端设备(例如,从智能扬声器12、移动电话14、或汽车15中的任一者)接收表达包93。多域自然语言理解(nlu)解析服务器13将表达94转发给自然语言理解模块70并将排名96转发给域挑选器72。

如所描绘的,自然语言理解模块70接收表达94。基于表达94,自然语言理解模块70可以分别产生针对域21的表达94的解析1-n(未示出)和相应分数971-n。分数971-n可以是第一分数(例如,当单独使用域排名时)或第二分数(例如,当结合域权重使用域排名时)。自然语言理解模块70可以将分数971-n发送给域挑选器72。自然语言理解模块70可以将解析1-n(未示出)发送给意图产生模块73。

域挑选器72可以从自然语言理解模块70接收分数971-n。域挑选器72可以向分数971-n应用排名96。基于排名96,域挑选器72可以挑选域21c作为适合与表达94结合的域。域挑选器72可以向意图产生模块73指示域21c。意图产生模块73可以从域挑选器72接收关于域21c的指示,并且可以从自然语言理解模块70接收解析。意图产生模块73可以确定意图,并且响应计算模块74可以使用意图生成对于表达94的响应。

在一些方面,域排名可以作为元数据被携带在表达包中。在其他方面,域排名可以被存储在例如持久性存储设备中。在这些其他方面,作为元数据携带的域排名可以用来推翻、影响、或重新加权所存储的排名。

因此,客户端可以将表达和域排名一起发送给nlu解析服务器。例如,可以将下述域排名“域排名(domainrank)”:[“电影”,“音乐”,“地图”]与表达一起发送,以相比音乐域优选电影域并且相比地图域优选电影域和音乐域。

在一些实施例中,nlu解析服务器针对表达计算多个域中的每个域的布林值。对于每个域,该值表示该域是否可以解析该表达。当多个域可以解析表达时,nlu解析服务器可以挑选域排名列表中最早出现的域。在以上示例中,相比音乐域或地图域挑选电影域,并且相比地图域挑选音乐域。

在其他实施例中,nlu解析服务器计算表达在多个域中的每个域的分数。对于每个域,分数表示表达适用于该域的可能性。当域的分数高于分数阈值时,表达可以被指示为适用于该域。当多个域具有高于阈值的分数时,nlu解析服务器可以挑选域排名列表中最早出现的域。

不同的域可以具有不同的分数阈值。例如,可以将下述域排名“域排名”:[“电影”:0.5,“音乐”:0.75,“地图”:0.6]与表达一起发送。域排名限定了电影的阈值为0.5,音乐的阈值为0.75,并且地图的阈值为0.6。因此,电影域的分数必须大于0.5,音乐域的分数必须大于0.75,并且地图域的分数必须大于0.6。

指定域排名列表是可选的。如果不存在,则域选择可以基于解析分数。在一些实施例中,域排名列表不需要是被使能的域的综合列表。域排名列表中没有规定的域具有低于该列表上的最低排名域的有效排名。

客户端设备可以基于上下文指定域排名列表的顺序。例如,客户端设备(例如,移动电话)可以包括多个应用。当客户端设备正在前台运行地图应用时,域排名可以被改变为优选地图域。例如,当地图应用在移动电话的前台中时,可以使用下述域排名“域排名”:[“地图”,“电影”,“音乐”]。

其他域指示符

在一些方面,域排名可以具有表示多个域的指示符(例如,具有预留名称other的指示符)。在一些实施例中,other域指示表示名称不在域排名列表中的任何域。当感兴趣的域可以解析表达时,使用other域对于高度优选感兴趣的域是有用的。例如,下述域排名“域排名”:[“汽车控制(carcontrol)”,“other”]高度优选汽车控制域来提供对于使用单词“汽车”的任何表达的解析。

但是,当用户意图针对不同的域来解析潜在模糊的表达时,域排名列表的这种配置还会导致用户挫折感。例如,汽车控制域不能满足播放名称为“thecars”的乐队的音乐的请求。这种方法可以适用于偏好具有相对有限的解析范围的域。可以通过利用每个域的分数阈值指示域排名进一步减轻限制。在这种实施例中,汽车控制域阈值将被赋予较高的分数阈值,并且other域阈值将被赋予较低的分数阈值。因此,在用户叙述明确针对所希望的other域的表达的情况下,针对用户表达挑选other域的可能性增大。

other域指示对于提供默认的某个域也是有用的。例如,下述域排名“域排名”:[“other”,“web”]优选挑选可以解析表达的任何域,但是如果没有其他域可以解析该表达,则默认挑选web域。分数阈值也可以用于other域。分数阈值应用于域排名列表中没有明确列出的域。

1:1域比较规则

多个方面考虑了相对域排名的多个列表或域排名对的独立表达。例如,在域a相对于域c是优选的,并且域b相对于域c是优选的,但是域a和域b相对于彼此均不优选的情况下,这是有用的。在这种场景中,排序列表可以创建域a和域b之间的临时排名偏好。

客户端存储的权重

在一些方面,客户端以阵列存储权重并且将阵列的内容作为域权重元数据(例如,权重41)与表达(例如,表达29)一起发送。当检测到事件时,可以更新阵列值。可以通过在处理器中执行中断服务例程或者通过轮询例程来检测事件。在一些情况中,权重更新是基于布林条件的状态在两个值之间切换。在一些情况中,更新后的权重是测量值的任意函数的整数或浮点输出结果。

例如,在汽车中,如果挡风玻璃刮水器被启动,则天气域权重增大,因为相比天气没有下雨时,用户在天气下雨时更可能做出天气相关的表达。在汽车中,导航域权重在导航系统给出驾驶员指令之后立即被设置为高,并且在此之后的若干秒时段后逐渐减弱到稳定状态值,因为在导航系统给出指令后用户更可能很快做出导航相关的表达。

作为另一示例,设备可以包括可以打开或关闭的音乐相关的应用。当音乐应用打开事件发生时,音乐域权重增大。另一方面,当音乐应用关闭事件发生时,音乐域权重减小(例如,减小到默认值)。

物理实施例

各种实施例是非暂态计算机可读介质、服务器、由片上系统(soc)半导体器件控制的嵌入式物联网(iot)客户端设备、以及上述类型的实施例中的任意实施例的使用或操作方法。图10a示出了示例旋转磁盘非暂态计算机可读介质101。旋转光盘和其他机械移动存储介质是可能的。图10b示出了示例(例如,闪存)随机存取存储器(ram)芯片非暂态计算机可读介质102。封装有引线或焊料球的其他非移动存储介质是可能的。非暂态计算机可读介质的各种实施例存储包括指令的计算机代码,这些指令在被一个或多个计算机处理器执行时将使得该一个或多个计算机处理器执行所描述的方法实施例。一些实施例是计算机程序。一些实施例包括彼此协同工作的多个存储介质。

图11a示出了封装soc110的焊料球侧。对于各种芯片实施方式,各种封装形状和尺寸都是可能的。很多嵌入式系统和iot设备用作客户端并且由soc设备控制。图11b示出了soc111的示例架构。如所描绘的,soc111包括多核计算机处理器(cpu)112、多核图形处理器(gpu)113、显示器接口117、i/o接口118、动态随机存取存储器(dram)接口115、闪存接口116、以及网络接口119。这些组件在片上网络114上相互通信。

多核计算机处理器(cpu)112和多核图形处理器(gpu)核113可以通过dram接口115连接到用于易失性程序和数据存储的外部dram芯片。多核计算机处理器(cpu)112和多核图形处理器(gpu)核113还可以使用闪存接口116连接到用于计算机程序存储的外部非易失性闪存ram非暂态计算机可读介质。根据不同客户端设备的需要,显示器接口117可以提供用于示出gui的显示器,并且输入/输出(i/o)接口118可以提供连接到各种i/o接口设备的能力。客户端设备可以包括通用串行总线(usb)外围设备、蓝牙外围设备、触摸屏、用于麦克风的音频模数转换器、用于驱动扬声器的功率放大器设备、全球导航系统接收机接口、发光二极管(led)驱动器、以及到其他传感器的接口。网络接口119可以提供对于wifi、3g、4g长期演进(lte)、5g、以及其他无线接口标准无线电设备和以太网连接硬件的存取。

图12a示出了基于机架的服务器120的示例。基于机架的服务器120可以包括分别连接到网络(例如,互联网)的服务器刀片(blade)阵列。服务器刀片可以包括cpu和gpu处理器芯片、ram芯片、和网络接口芯片。图12b示出了示例服务器121的架构。服务器121包括多核cpu芯片122和多核gpu芯片123,其通过互连124与用于易失性程序和数据存储的dram芯片125和用于与本地网络和互联网通信的网络接口芯片126通信。

一般,所描述的组件可以在诸如个人域网(pan)、局域网(lan)、广域网(wan)、甚至互联网的网络(或其一部分)上相互连接。因此,所描述的组件以及连接的任何其他计算机系统和它们的组件可以创建消息相关的数据并在网络上交换消息相关的数据(例如,近场通信(nfc)有效载荷、蓝牙分组、互联网协议(ip)数据报、和利用ip数据报的其他高层协议(例如,传输控制协议(tcp)、超文本传输协议(http)、简单邮件传送协议(smtp))等)。

所描述的设备、服务器、组件、扬声器、电话、汽车、解析器、选择器、模块、挑选器等中的任一者可以实现在图10a至图12b中描述的硬件组件上。

出于图示和描述的目的给出了前面的描述。不意图是穷尽性的或者将本发明限制到所公开的精确形式。根据以上教导,很多变形和变化是可能的。另外,应该注意的是,前面提到的替代实施例中的任意实施例或所有实施例可以用在形成本发明的附加混合实施例所需要的任意组合中。

另外,尽管已经描述并示出了本发明的具体实施例,但是本发明不限于所描述和示出的部分的具体形式或布置。本发明的范围由所附权利要求、在不同申请中递交的任何未来的权利要求、以及它们的等同物限定。

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