买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:声音猎手公司
摘要:本公开涉及用于解析在不同域中有潜在模糊含义的表达的方法和装置。本发明扩展到用于解析在不同域中具有潜在模糊含义的表达的方法、系统、和计算机程序产品。多域自然语言理解系统可以支持各种不同类型的客户端。可以横跨多个域解析表达。可以向域指派权重。权重可以是客户端专用或表达专用的,使得所选择的解析对于该类型的客户端或其上下文更可能是正确的。可以根据作为元数据与表达一起携带的识别信息或者直接作为元数据携带的权重集选择所存储的权重集。另外或者替代地,可以在排序列表或比较域对中对域排序,以使得一些域相比其他域更适用于某个客户端类型或客户端上下文。
主权项:1.一种方法,包括:提供用于各种类型的客户端的针对自然语言理解的可配置平台;在所述可配置平台处并且从到用户接口的开发者输入接收指令,所述指令用于针对客户端类型标识符向第一域应用第一数字权重值并向第二域应用第二数字权重值;从客户端设备接收包含自然语言表达和所述客户端类型标识符的表达包,其中所述表达包还指示哪个应用正在所述客户端设备的前台运行;根据所述第一域解析所述自然语言表达,以产生针对所述第一域的第一分数和第一解析;根据所述第二域解析所述自然语言表达,以产生针对所述第二域的第一分数和第二解析;基于关于哪个应用正在所述客户端设备的前台运行的指示,使用所述客户端类型标识符识别所述第一数字权重值并识别所述第二数字权重值;向针对所述第一域的第一分数应用所述第一数字权重值,以计算针对所述第一域的第二分数;向针对所述第二域的第一分数应用所述第二数字权重值,以计算针对所述第二域的第二分数;考虑针对所述第一域的第二分数和针对所述第二域的第二分数,选择所述第一解析作为所述自然语言表达的适当解析;以及基于对所述第一解析的选择,计算对于所述自然语言表达的响应。
全文数据:用于解析在不同域中有潜在模糊含义的表达的方法和装置技术领域本发明一般地涉及虚拟助理,并且更具体地涉及被配置为理解自然语言的虚拟助理。背景技术现代虚拟助理可以回答问题并执行使用自然语言表达的命令。更高级的虚拟助理可以处理很多域中的问题和命令。域是诸如提供有关特定领域的信息或执行有关特定设备的动作的相关能力的不同集合。例如,一些虚拟助理可以给出天气预报、利用来自维基百科的事实回答问题、播放所请求的音乐、播放所请求的视频、发送短消息服务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-basedVirtualAssistantDeepAlmond:基于深度学习的虚拟助理,2017,斯坦福。EUGENEGROIS,LearningStrategiesforOpen-DomainNaturalLanguageQuestionAnswering开放域自然语言问答的学习策略,ACLstudent'05ProceedingsoftheACLstudentResearchWorkshopACL学生研究工作会的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包括多核计算机处理器CPU112、多核图形处理器GPU113、显示器接口117、IO接口118、动态随机存取存储器DRAM接口115、闪存接口116、以及网络接口119。这些组件在片上网络114上相互通信。多核计算机处理器CPU112和多核图形处理器GPU核113可以通过DRAM接口115连接到用于易失性程序和数据存储的外部DRAM芯片。多核计算机处理器CPU112和多核图形处理器GPU核113还可以使用闪存接口116连接到用于计算机程序存储的外部非易失性闪存RAM非暂态计算机可读介质。根据不同客户端设备的需要,显示器接口117可以提供用于示出GUI的显示器,并且输入输出IO接口118可以提供连接到各种IO接口设备的能力。客户端设备可以包括通用串行总线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.一种方法,包括:接收包含自然语言表达和元数据的表达包;根据第一域解析所述自然语言表达,以产生针对所述第一域的第一分数和第一解析;根据第二域解析所述自然语言表达,以产生针对所述第二域的第一分数和第二解析;使用所述元数据识别针对所述第一域的第一权重并识别针对所述第二域的第二权重;向针对所述第一域的第一分数应用所述第一权重,以计算针对所述第一域的第二分数;向针对所述第二域的第一分数应用所述第二权重,以计算针对所述第二域的第二分数;考虑针对所述第一域的第二分数和针对所述第二域的第二分数,选择所述第一解析作为所述自然语言表达的适当解析;以及基于对所述第一解析的选择,计算对于所述自然语言表达的响应。2.如权利要求1所述的方法,其中,使用所述元数据识别针对所述第一域的第一权重并识别针对所述第二域的第二权重包括基于客户端ID识别权重。3.如权利要求1所述的方法,其中,使用所述元数据识别针对所述第一域的第一权重并识别针对所述第二域的第二权重包括基于供应商ID和产品ID识别权重。4.如权利要求1所述的方法,其中,选择所述第一解析作为所述适当解析包括:基于针对所述第一域的第二分数高于针对所述第二域的第二分数,选择所述第一解析。5.如权利要求1所述的方法,其中,选择所述第一解析作为所述适当解析包括:基于针对所述第一域的第二分数超过阈值,选择所述第一解析。6.如权利要求1所述的方法,其中,接收包含自然语言表达和元数据的表达包包括从客户端设备接收所述自然语言表达和所述元数据,所述元数据指示哪个应用正在所述客户端设备的前台运行。7.如权利要求6所述的方法,还包括:针对所述客户端设备采用计算机化动作,以实现所计算的响应。8.如权利要求1所述的方法,还包括:提供用于各种类型的客户端的针对自然语言理解的可配置平台;以及从开发者接收在所述可配置平台向所述第一域应用所述第一权重并向所述第二域应用所述第二权重的指令。9.一种方法,包括:接收包含自然语言表达、对应于第一域的第一权重、和对应于第二域的第二权重的表达包;根据所述第一域解析所述自然语言表达,以产生针对所述第一域的第一分数和第一解析;根据所述第二域解析所述自然语言表达,以产生针对所述第二域的第一分数和第二解析;向针对所述第一域的第一分数应用所述第一权重,以计算针对所述第一域的第二分数;向针对所述第二域的第一分数应用所述第二权重,以计算针对所述第二域的第二分数;考虑针对所述第一域的第二分数和针对所述第二域的第二分数,选择所述第一解析作为所述自然语言表达的适当解析;以及基于对所述第一解析的选择,计算对于所述自然语言表达的响应。10.如权利要求9所述的方法,其中,接收表达包包括接收其中所述第一权重被标记以所述第一域的标识符并且所述第二权重被标记以所述第二域的标识符的表达包。11.如权利要求9所述的方法,其中,接收表达包包括接收包含自然语言表达和域权重阵列的表达包。12.如权利要求9所述的方法,其中,选择所述第一解析作为所述适当解析包括:基于针对所述第一域的第二分数高于针对所述第二域的第二分数,选择所述第一解析。13.如权利要求9所述的方法,其中,选择所述第一解析作为所述适当解析包括:基于针对所述第一域的第二分数超过阈值,选择所述第一解析。14.如权利要求9所述的方法,其中,接收包含自然语言表达和权重的表达包包括从客户端设备接收表达包,所述客户端设备是从智能扬声器、移动电话、和汽车中选择的。15.如权利要求14所述的方法,还包括:针对所述客户端设备采取计算机化动作,以实现所计算的响应。16.一种方法,包括:接收自然语言表达;访问域排名列表,所述域排名列表指示相对于来自第二域的解析对于来自第一域的解析的偏好;根据所述第一域解析所述自然语言表达,以产生针对所述第一域的第一分数和第一解析;根据所述第二域解析所述自然语言表达,以产生针对所述第二域的第二分数和第二解析;确定所述第一分数超过第一阈值,所述第二分数超过第二阈值,并且所述第二分数高于所述第一分数;尽管所述第二分数高于所述第一分数,考虑到所述域排名列表中的偏好,并且基于所述第一分数超过所述第一阈值,选择所述第一解析作为所述自然语言表达的适当解析;以及基于对所述第一解析的选择,计算对于所述自然语言表达的响应。17.如权利要求16所述的方法,其中,访问域排名列表包括与所述自然语言表达一起接收所述域排名列表。18.如权利要求16所述的方法,其中,接收自然语言表达包括从客户端设备接收自然语言表达,所述客户端设备是从智能扬声器、移动电话、和汽车中选择的。19.如权利要求18所述的方法,还包括:针对所述客户端设备采取计算机化动作,以实现所计算的响应。20.如权利要求16所述的方法,还包括:提供用于各种类型的客户端的针对自然语言理解的可配置平台;以及从开发者接收相对于来自所述第二域的解析给予来自所述第一域的解析偏好的指令。
百度查询: 声音猎手公司 用于解析在不同域中有潜在模糊含义的表达的方法和装置
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。