买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】用于创建可定制对话系统引擎的平台_谷歌有限责任公司_201580056559.9 

申请/专利权人:谷歌有限责任公司

申请日:2015-09-11

公开(公告)日:2020-10-23

公开(公告)号:CN107112013B

主分类号:G10L15/22(20060101)

分类号:G10L15/22(20060101)

优先权:["20140914 US 62/050,149"]

专利状态码:有效-授权

法律状态:2020.10.23#授权;2018.02.09#著录事项变更;2017.09.22#实质审查的生效;2017.08.29#公开

摘要:提供一种用于创建定制对话系统引擎的系统和方法。该系统包括安装在第一服务器或用户设备上的对话系统接口以及部署在第二服务器上的平台。该平台被配置成接收与开发者简档相关联的对话系统实体和意图以及将该对话系统实体与对话系统意图相关联,以形成与对话系统接口相关联的定制对话系统引擎。web平台接收来自对话系统接口的用户请求,基于识别激活所述定制对话系统引擎,以及检索对话系统实体和意图。通过应用对话系统实体和意图处理用户请求,以生成对用户请求的响应。将该响应发送至对话系统接口。

主权项:1.一种用于创建可定制对话系统引擎的方法,包括:由包括至少一个处理器和存储处理器可执行代码的存储器的第一服务器使开发者能够创建开发者简档;由所述第一服务器接收一个或多个开发者示例请求,其中,所述开发者示例请求中的每一个与一个或多个短语相关联;由所述第一服务器使用机器学习技术从所述一个或多个开发者示例请求中确定一个或多个对话系统实体,其中,所述一个或多个对话系统实体与所述开发者简档相关联;由所述第一服务器使用机器学习技术从所述一个或多个开发者示例请求中确定一个或多个对话系统意图,其中,所述一个或多个对话系统意图与所述开发者简档相关联;由所述第一服务器将所述一个或多个对话系统实体与所述一个或多个对话系统意图相关联,以形成定制对话系统引擎;由所述第一服务器使用所述开发者简档将所述定制对话系统引擎与对话系统接口链接,其中,所述对话系统接口被设置在客户端用户设备或者web服务器上;由所述第一服务器或第二服务器接收来自所述对话系统接口的用户请求,其中所述对话系统接口被安装在用户设备或第三方服务器上;由所述第一服务器或所述第二服务器基于所述用户请求识别所述对话系统接口;基于所述对话系统接口的所述识别,由所述第一服务器或所述第二服务器激活所述定制对话系统引擎并且检索所述一个或多个对话系统实体和所述一个或多个对话系统意图;由所述第一服务器或所述第二服务器通过应用所述一个或多个对话系统实体和所述一个或多个对话系统意图来处理所述用户请求;以及由所述第一服务器或所述第二服务器基于所述处理和发送对所述对话系统接口的响应来生成对所述用户请求的响应。

全文数据:用于创建可定制对话系统引擎的平台技术领域[0001]本公开总体上涉及对话系统。更具体地说,本公开涉及用于创建针对对话系统接口的定制对话系统引擎的方法和平台。该平台使开发者或工程师能够创建操作为用于对话系统接口的后端服务的定制对话系统引擎,该对话系统接口能够是软件应用、移动应用、网站或web服务的主要部分。背景技术[0002]传统的对话系统普遍被使用在信息技术产业中,尤其是以用于无线电话和平板计算机的移动应用形式被使用。通常地,对话系统涉及具有用于访问、处理、管理和递送信息的人为中心接口的基于计算机的代理。对话系统还被称作为聊天信息系统、口述对话系统、交谈代理、聊天机器人(chatterrobots、聊天机器人(chatterbots、聊天机器人chatterrobots、聊天代理、数字个人助理、自动在线助理等。全部这些术语是在本公开的范围内并且为了简便起见,被称作为“对话系统”。[0003]通常,对话系统与其的用户以自然语言交互,以模拟智能对话并且向用户提供个性化的辅助。例如,用户可以以诸如“Whereisthenearesthotel?最近的酒店在哪?”或“WhatistheweatherlikeinAlexandria?亚历山大的天气怎么样?”的传统查询的形式向对话系统生成请求,并且以音频和或可显示消息的形式接收来自对话系统的对应回答。用户还可以向请求执行某个功能的对话系统提供语音命令voicecommand,所述某个功能包括例如生成电子邮件、打电话、检索具体信息、获取数据、导航、请求通知或提醒等。这些和其它功能使得对话系统非常流行,因为它们尤其是对于诸如智能电话、蜂窝电话、平板计算机、游戏控制台等的便携式电子设备的持有人具有很大帮助。[0004]虽然对对话系统的需求正在不断发展,但是创建对话系统并不是一件容易的任务。每个对话系统具有对话系统引擎,该对话系统引擎负责接收用户语音输入并且然后将它们转换成文本输入、解释文本输入、生成对文本输入的对应响应、以及向用户递送响应。因为对话系统采用了人工智能,所以解释输入并且寻找合适的响应可能是复杂的且并非无关紧要的。因此,许多开发者和工程师能够努力开发能够处理宽泛范围的用户请求的良好运行的对话系统。对于以创建对话系统并将对话系统整合成新的软件或硬件产品的软件或工程公司还能够是非常昂贵的。发明内容[0005]本发明内容被提供用于以简单的形式引入概念的选择,该简单的形式将会在以下具体实施例中进一步描述。本发明内容不旨在识别所要求保护主题的关键特征或必要特征,也不旨在被用作为帮助确定所要求保护的主题的范围。[0006]根据本公开的一个示例实施例,提供一种用于创建针对对话系统接口的定制对话系统引擎的方法。该方法能够包括由包括至少一个处理器和存储处理器可执行代码的存储器的第一服务器,使开发者能够创建开发者简档。该方法可以进一步包括由第一服务器接收与开发者简档相关联的一个或多个对话系统实体和与开发者简档相关联的一个或多个对话系统意图。可以由第一服务器将一个或多个对话系统实体与一个或多个对话系统意图相关联,以形成定制对话系统引擎。定制对话系统引擎可以与对话系统接口相关联。该方法可以继续进行由第一服务器或第二服务器接收来自对话系统接口的用户请求。对话系统接口可以被安装在用户设备或第三服务器上。可以基于与用户请求一起发送的识别,由第一服务器和第二服务器识别对话系统接口。基于对话系统接口的识别,可以激活定制对话系统引擎,以及可以由第一服务器或第二服务器检索一个或多个对话系统实体和一个或多个对话系统意图。进一步地,通过应用一个或多个对话系统实体和一个或多个对话系统意图,由第一服务器或第二服务器处理用户请求。基于该处理,对用户请求的响应可以由第一服务器或第二服务器生成并且将其发送至对话系统接口。[0007]此外,可以显示所生成的响应或者将所生成的响应向用户播放。[0008]从结合以下附图的说明中将会显而易见本公开和方面的其它示例实施例。附图说明[0009]实施例通过示例而不是限制的方式在附图的图中进行图示,其中,相同的引用标号指示相同的元素并且其中:[0010]图1根据一些实施例图示在能够实现用于创建针对对话系统接口的定制对话系统引擎的系统和方法内的环境。[0011]图2是根据示例实施例示出用于使用平台创建定制对话系统引擎和用于操作该平台的方法的过程流程图。[0012]图3根据示例实施例示出示例性对话系统引擎的高级架构。[0013]图4是图示适用于实现用于创建客户对话系统引擎的方法的示例用户设备的高级框图。[0014]图5示出根据示例实施例的用于创建新对话系统实体的平台接口的示例图形用户接口(GUI。[0015]图6示出根据示例实施例的用于创建新对话系统意图的平台接口的示例GUI。[0016]图7示出根据示例实施例的用于提供用于通过对话系统处理请求的日志的平台接口的示例⑶I。具体实施方式[0017]在以下描述中,阐述了若干个具体细节,以便提供对所提出的概念的透彻理解。所提出的概念可以在没有这些具体细节的一些或全部的情况下进行实践。在其它实例中,众所周知的过程操作没有进行详细描述,以避免不必要地混淆所描述的概念。虽然将一些概念与具体实施例结合进行描述,但是将会理解的是这些实施例并不旨在作为限制。[0018]本技术提供一种使能够以容易的方式创建用作针对定制对话系统接口的后端服务的定制对话系统引擎的平台。对话系统接口至少能够部分实现为各种软件应用、移动应用、中间件应用、固件应用、网站、web服务等的部分。换言之,对话系统接口是在客户端侧上并且提供一种至少被配置为获取用户输入并且向用户递送对话系统输出的计算机-人接口。另一方面,对话系统引擎通过处理用户输入和生成对所述输入的对应响应来支持对话系统接口。因此,对话系统引擎和对话系统接口在与彼此交互时形成对话系统。一种可以涉及运行在客户端设备上或从客户端设备访问的对话系统接口作为“前端”用户接口,同时支持这种对话系统接口的操作的对话系统引擎能够被称作为“后端”服务。[0019]根据本公开的各种实施例,平台允许开发者和工程师创建将会支持前端对话系统接口的定制对话系统引擎。例如,如果软件开发者想要将对话系统功能整合在移动应用内作为附加特征,则开发者能够使用平台创建和部署定制对话系统引擎并且将其与移动应用链接。反过来,移动应用将会仅具有对话系统接口。在这个示例中,当用户与移动应用交互时,能够由用户激活对话系统接口。用户能够以语音输入或文本输入的形式对对话系统接口进行查询。在接收用户的查询之后,在对使用平台先前创建的所链接的定制对话系统引擎无需太多处理的情况下,对话系统接口能够传递用户的查询。定制对话系统引擎处理所接收的用户查询、解释其、并且基于预定规则和设置生成对查询的响应。然后,将响应递送至用于进一步对用户的视觉或音频表示的对话系统接口。[0020]通常地,对话系统接口能够被整合或是运行在诸如个人计算机PC或蜂窝电话的客户端设备上的宽范围的软件应用的主要部分,或者能够被整合在服务器上使得对话系统变成网站或web服务的部分。对话系统引擎能够被实现在服务器上,使得它们的功能能够通过互联网、蜂窝网络或任何其它通信设备访问对话系统接口。[0021]图1示出适用于实践本技术的示例系统环境100的高级框图。如能够在图1上看到的,这里提供了用于创建和维持定制对话系统引擎的平台110。为此,平台110包括用于创建定制对话系统引擎的平台接口112和用于维持和运行定制对话系统引擎120的后端服务114。在一些实施例中,平台110是web平台。[0022]平台接口112可以包括嵌入至网页中并且可由开发者经由互联网访问的GUI。然而,在一些其它的实施例中,平台接口112可以被实现为诸如可下载软件应用或任何其它软件的软件应用、中间件或运行在诸如计算机的电子设备上的固件或可通过诸如计算机的电子设备访问的固件。在图1中示出的示例中,平台接口112被实现为作为将会在以下描述的web可访问GUI。为了简便起见,这个公开被限制于这样的实施例,其中平台接口112是基于服务器的解决方案,使得其经由互联网是可访问的。不管具体实施方式如何,平台接口112使开发者能够通过数个GUI工具创建一个或多个定制对话系统引擎120。[0023]仍然参照图1,后端服务114负责例如通过或利用平台接口112的帮助维持和运行被创建的定制对话系统引擎120。后端服务114可以操作为通过使它们的对话系统接口能够与维持在平台11〇的后端服务114处的定制对话系统引擎120交互,将功能提供至定制对话系统的web服务。[0024]如上简要所述,对话系统接口130能够被提供在客户端侧140上。对话系统接口130可以是简单的如使用户能够进行查询的GUI,然后将查询递送至用于通过对应对话系统引擎120处理的后端服务114,并且使能够接收对通过对话系统引擎120生成的查询的响应。对话系统接口130可以被实现为独立软件应用,或者其能够是软件应用、web服务、网站等的主要部分。[0025]仍参照图1,客户端侧140可以涉及,但不限于,用户设备、终端、计算设备例如,膝上型计算机、平板计算机、台式计算机)、蜂窝电话、智能电话、个人数字助理PDA、游戏控制台、远程控制、多媒体系统、智能电视设备、机顶盒、信息娱乐系统、车载计算设备、信息亭、机器人等。在这些实施例中,一个或多个对话系统接口130可以被实现为安装在这样的设备上的软件、中间件或固件。[0026]在附加的实施例中,客户端侦U140可以指诸如服务器、托管服务、web服务、网站、云服务等的联网的或在线的解决方案。例如,对话系统接口130能够是提供在使终端用户能够进行查询并且获得对其的响应的一个或多个的网页上的小工具widget或⑶I。例如,这个部分是适用于当开发者想要将对话系统整合成他的网站以提供提升的用户服务的这些实例。[0027]如图1中能够看见的,经由通信网络150执行对话系统接口130和对应的定制对话系统引擎120之间的交互。通信网络150可以包括互联网、内联网、蜂窝网、LAN、WAM、基于IEEE802.il的网络等中的一个或多个。[0028]图1还示出经由一个或多个web服务器提供的各种第三方web资源服务160。这些第三方web资源服务160能够将各种类型的信息提供至定制对话系统引擎120或对话系统接口130,作为对用户请求的响应的部分。例如,web资源服务160可以指电子邮件服务、天气服务、导航服务等。因此,如果用户进行“Whatistheweatherliketoday?今天的天气怎么样?”的查询,则这样的信息可以通过来自一个或多个第三方web资源服务160的对话系统引擎120自动地获得并且然后被整合成将被递送至终端用户的对话系统响应。[0029]现将会参照图1和其它附图描述创建和操作定制对话系统引擎120的过程。具体地,平台接口112提供了具有使开发者工程师能够创建和自定义作为针对定制对话系统引擎的基础的一个或多个“对话系统元素”的数个工具的一个或多个GUI。[0030]根据各种实施例,对话系统元素至少包括“实体”和“意图”。每个“实体”可以指具有相同或相似特性的数个对象。换言之,实体是限定一个类的对象的关键字的列表。在一个示例中,实体可以指关键字和其同义字的集合。在另一个示例中,实体可以指关键字和其定义的集合。在另外一个示例中,实体可以指列表例如,城市的列表、名称的列表、标题的列表、品牌的列表、街道名称的列表等)。[0031]在一些实施例中,能够自动地扩展与实体相关联的对象的列表。例如,机器学习技术能够被使用为建议一个或多个新对象与实体相关联。能够使用大量文本和或词汇表训练机器学习算法。通过示例的方式而不是限制的方式,定制对话系统引擎120的开发者能够利用诸如例如纽约和洛杉矶的值限定实体@城市。如果定制对话系统引擎的用户发出或录入字“华盛顿D.C”,则实体@城市能够自动地扩展至纽约、洛杉矶和华盛顿D.C,因为机器学习算法可以确定“华盛顿D.C”与列于实体@城市中的对象相关。在一些实施例中,用户能够被要求成确认所建议的对象与一个或多个实体相关。[0032]在进一步的实施例中,实体能够包括其它实体的列表。例如,开发者能够限定实体@车作为实体的列表@制造、@模型),其中@制造和@模型的值利用能够相关联的@制造和@模块可以被设定为任何对象。例如,实体@车能够包括作为{制造:“本田”;模型:“雅阁Accord”}、{:制造“福特”;模块“嘉年华Fiesta”}等的组合对象。[0033]此外,每个“意图”能够包括对话系统交互方案,该对话系统交互方案提供用户请求和对话系统响应之间的特定关系。在一些实施例中,意图能够被确定为明确地包括对实体的一个或多个引用的模式。示例模式是“whatistheweatherin@city:city@城市:城市的天气怎么样”,其中城市:城市”是用于实体@城市的引用和在实体@城市内的参数城市。在某些附加的实施例中,为了确定意图,而不提供含有用于“实体”的明确引用的模式,开发者仅仅能够提供示例请求短语)以例示意图和实体。在这些实施例中,平台Iio自动地确定使用机器学习技术,在示例请求中隐含了哪些“实体”和“意图”。[0034]基于模式和或示例,请求平台110可以创建对应的动作。该动作能够包括名称和一个或多个参数。例如,可以以以下的方式录入请求:“weatherforecastforLosAngeles洛杉矶的天气预报”。机器学习技术能够确定具有名称“天气”和参数名称:数据类型的城市@城市的动作。[0035]因此,开发者能够使用平台接口112以生成多个实体和多个意图,二者是针对于特定应用或工业。这些多个实体和多个意图形成对话系统引擎120并且响应于终端用户输入的宽范围,使能够它们形成某些动作或生成某些输出。在某些实施例中,意图能够包括通用结构:意图的名称仅针对用户引用)、模式和或示例请求的列表、动作的名称、与动作相关联的参数和与动作相关联的履行。该履行可以包括文本在屏幕上的突出显示的文本)、或用于向web服务呼叫的代码、做出对数据库的请求等。在一些实施例中,平台112能够提供用于开发者的动作并且允许开发者将直接与动作相关联的定制履行写入至定制对话系统引擎120内。在某些实施例中,开发者可以在客户端140上接收动作动作的名称和参数并且写入定制履行。例如,定制履行可以包括对网站或数据库的请求以检索信息(天气预报、交通信息、导航等),以执行对话系统接口正在其上运行的设备的一些操作等。[0036]在一些实施方式中,对话系统元素可以包括一个或多个场境。这些场境能够包括含有在针对特定终端用户的会话期间用于意图的标签、关键词、或提示clue的一个或多个参数。这些场境可以包括标签的先决条件和布尔式Boolean表达。能够基于输入场境触发意图。例如,当满足某个先决条件或先决条件的布尔式表达是真时,能够触发意图。当基于用户的请求执行意图时,输出场境被设置成终端用户会话。在各种实施例中,输出场境能够在包括若干用户请求的用户会话内被指派确定寿命。在一些实施例中,输出场境的寿命能够被测量为在用户的会话期间做出的数个请求。在用户会话内,存在当前场境状态和事后执行post-execution场境状态,所述当前场境状态响应于下一个用户请求存在在执行意图之前,所述事后执行场境状态被设置在执行意图之后。事后执行场境状态基于用户请求和执行意图的结果能够包括一个或多个新添加的场境。旧场境中的一些能够基于执行意图的结果或由于其的期满从事后执行状态删除。[0037]在进一步的实施例中,能够将一个或多个属性或参数指派给场境。属性能够在意图的执行期间被识别并且在与意图相关联的动作中被使用。从场境检索的值能够形成动作的参数。在意图的执行之后,属性能够进一步被放在输出场境中。[0038]图2是根据示例实施例示出用于使用平台110创建定制对话系统引擎和用于操作平台110的方法200的过程流程图。可以由处理逻辑执行方法200,所述处理逻辑包括硬件例如,决策逻辑、专用逻辑、可编程逻辑和微代码)、软件诸如,在通用计算机系统或专用机器上运行的软件或二者的组合。在一个示例实施例中,处理逻辑指平台110的一个或多个组件。值得注意的是,方法200的以下引用的步骤可以以和描述和示出在图2中不同的顺序来实现。另外,方法200可以具有未示出在本文中的附加的步骤,但是根据本公开,这些附加的步骤对于本领域内的技术人员来说能够是显而易见的。方法200还可以具有比如下所述并且示出在图2中的步骤更少的步骤。[0039]本方法200从使开发者或工程师能够向平台110登记的操作202处开始并且由第一服务器创建开发者简档,所述第一服务器包括至少一个处理器和存储处理器可执行代码的存储器。为此,开发者与平台接口112交互。开发者简档可以实际上链接关联开发者的定制对话系统引擎120和部署在客户端侧的一个或多个对话系统接口130。链接可以包括规定的应用程序代码API、用于交互的规则、目的地地址等。在某些实施例中,能够有多个开发者访问开发者简档。在操作202处,方法可以允许开发者创建一个或多个对话系统。每个对话系统能够与访问标识符(ID相关联。访问ID能够被用于经由认证从客户端侧140访问对话系统。在各种实施例中,访问ID可以包括令牌、(数字键等。[0040]在操作204处,平台110从开发者接收一个或多个对话系统实体并且将它们存储在数据库处。在一些实施例中,没有接收实体但是由开发者使用平台接口112的web工具创建实体。对话系统实体可以包括关键字和关键字的至少一个同义字、关键字和关键字的至少一个限定、限定一个类的对象的关键字的列表等。[0041]在操作206处,平台110从开发者接收一个或多个对话系统意图并且将它们存储在数据库处。在一些实施例中,没有接收对话系统意图但是由开发者使用平台接口112的工具创建对话系统意图。如上所述,意图形成对话系统元素定制逻辑使对话系统引擎能够生成定做用于特定需求的响应)。对话系统意图可以包括对话系统交互方案、限定在用户请求和对话系统响应之间的关系的规则、特定动作和一个或多个对话系统实体之间的关系的规则等。在一些实施例中,开发者能够明确地限定一个或多个对话系统实体以将其使用在一个或多个对话系统意图中。附加地或替选地,开发者能够提供示例请求短语)。基于示例请求,平台110可以建议一个或多个对话系统实体。为了建议实体,平台110可以首先在操作204处在由开发者提供的实体列表中搜索适当的实体。在一些实施例中,平台110可以建议经由机器学习技术的新对话系统实体。开发者能够被允许批准、修改或改变所建议的新对话系统实体的参数。[0042]应该注意的是实体的限定不是静态的。在进一步的操作期间,平台110可以动态地重新限定由开发者限定的实体。能够基于用户简档、偏好、用户请求等重新限定(增大)实体。在进一步的过程中,通过平台110使用重新限定的实体。[0043]在操作208处,平台110将一个或多个对话系统意图与一个或多个对话系统动作相关联,以创建形成)定制对话系统引擎120。定制对话系统引擎120与开发者的一个或多个对话系统接口130相关联。通过与对话系统实体相关联的名称和别名集合限定动作中的每个。[0044]操作202至208例示用于定制对话系统引擎120的建立过程,同时操作210至218例示定制对话系统引擎120的操作。具体地,一旦创建定制对话系统引擎120的全部对话系统元素,它们就被维持为后端服务并且使任何所关联的对话系统接口130能够根据预定设置向用户提供对话系统的全部功能。[0045]具体地,在操作210处,平台110从未识别的对话系统接口接收用户请求。用户请求能够是语音输入或是文本输入。在一些实施例中,例如,对话系统接口能够通过识别所口述的字并且将语音输入转换成文本输入来预处理用户输入。然而,在其它实施例中,没有通过对话系统接口执行预处理。[0046]在操作212处,平台110执行用户请求并且识别对话系统接口。用户请求能够伴随有标识符,同时能够将用户请求从对话系统接口发送至平台110。[0047]在操作214处,基于在操作212处的识别的结果,平台110激活与所识别对话系统接口130相关联的定制对话系统引擎120。在相同的操作214处,平台110还可以基于在操作212处的识别的结果检索或识别一个或多个对话系统元素(即,一个或多个实体以及一个或多个的意图)。在操作214处,平台110可以识别与用户请求和特定请求会话相关联的场境一个或多个标签、键、提示和其的逻辑表达)。[0048]在操作216处,定制对话系统引擎120使用所提及的如在操作214处检索的对话系统元素(即,一个或多个实体以及一个或多个意图)处理用户请求。能够基于场境触发一个或多个意图。能够基于用户请求预设、确定场境,并且在触发一个或多个意图之后进一步改变场境。场境能够是针对特定用户和该用户的特定会话。参照图3进一步描述对话系统处理的一些示例。[0049]在操作218处,定制对话系统引擎120生成响应并且将其发送至与定制对话系统引擎120相关联的对话系统接口130。响应可以包括特定数据,例如文本消息和或一个或多个动作。每个动作能够包括动作的名称和利用一个或多个意图和一个或多个实体的使用识别的参数集。对话系统接口130然后可以根据预定的设置向终端用户显示或播放文本消息。对话系统接口130还能够基于一个或多个动作使用动作名称和参数集并且根据与动作相关联的定制履行执行一个或多个操作。在一些实施例中,定制对话系统引擎120能够处理定制履行并且向对话系统接口130发送结果。[0050]图3根据示例实施例示出示例性对话系统引擎120的高级架构300。应该注意的是对话系统引擎120的每个模块或相关联的架构包括硬件组件、软件组件或其的组合。对话系统引擎120可以嵌入或安装在用户设备或服务器中,或者可以被呈现为云计算模块和或分布式计算模块。[0051]在所示的实施例中,对话系统引擎120包括自动语音识别器ASR310,该自动语音识别器ASR被配置成接收和处理进入至参数矢量序列中的基于话音的用户输入。ASR310进一步将参数矢量序列转换成所识别的输入(即,具有一个或多个字、短语、或句子的文本输入)JSR310包括诸如基于模式的话音识别器、自由听写识别器、基于地址薄的识别器、动态创建识别器等的一个或多个话音识别器。[0052]进一步的,对话系统引擎120包括用于理解口述语言输入的自然语言处理NLP模块320。具体地,NLP模块320可以拆解和解析所识别的输入以产生发音,其然后利用例如形态分析、词性标注part-of-speechtagging、浅层解析、神经网络、机器学习分类器、模式开采pattern-mined分类器等进行分析。NLP模块320可以然后向有意义的表示映射所识别的输入或者其的部分。[0053]对话系统120进一步包括对话管理器330,该对话管理器330协同全部组件的活动、控制对话流、以及与外部应用、设备、服务或资源通信。对话管理器330可以扮演许多角色,这些角色包括谈话分析、知识数据库查询和基于谈话场境的系统动作预测。在一些实施例中,对话管理器330可以接触可以具有特定任务域的知识的一个或多个任务管理器未示出)。在一些实施例中,对话管理器330可以与各种计算、逻辑、或存储资源340进行通信,其可以包括例如内容存储、规则数据库、推荐数据库、推送通知数据库、电子地址薄、电子邮件或文本代理textagent、对话历史数据库、全异disparate知识数据库、映射数据库、兴趣点数据库、地理位置确定器、时钟、无线网络检测器、搜素引擎、社交网络网站、博客网站、新馈送服务等等。在一些实施例中,计算或存储资源340包括上述的一个或多个web资源月艮务160。[0054]在操作期间,例如在对话会话内,对话管理器330可以根据输入或输出场境控制对话流。输入场境表示用于意图执行的先决条件中的一些。特定意图将会仅在确定输入场境被呈现在用户请求中或作为执行先前意图的结果的条件下而触发。如果能够基于相同场境触发若干意图,则将要执行意图的决定能够是基于与场境相关的意图的权重、场境的新旧和如在偏好中指定的其它参数。较新的场境能够具有较高的优先级。输出场境能够根据意图的匹配和执行进行设定。[0055]在各种实施例中,对话管理器330能够通过对对话系统的用户请求。如图1和图2所描述的,对话系统能够包括由开发者设计的定制对话系统。同时,在一些实施例中,能够将用户请求并行地发送至任务域。任务域是可以处理请求并且提供回答的预建立对话系统。在一些实施例中,如果定制对话系统未能对用户请求提供回答,则对话管理器330用从任务域接收的回答继续进行。[0056]对话管理器330可以采用多个全异的方法以响应于所识别的输入而生成输出。一些方法包括使用统计分析、机器学习算法例如,神经网络)、启发式分析等。对话管理器330是对话系统引擎120的中心组件中的一个。对话管理器330的主要角色是用于基于从NLP的结果例如,对话动作、用户目标、和谈话历史所观察到的证据和推断的对话状态来选择正确的系统动作。此外,当用户输入具有由噪声或非预期的输入导致的ASR或NLP错误时,对话管理器330能够处理错误。[0057]对话系统引擎120可以进一步包括用于将由对话管理器330选择的动作以适用于提供至用户的形式转换成输出的输出渲染器350。例如,输出渲染器350可以采用文本至话音引擎或可以接触预先记录的音频数据库以生成与对话管理器330的输出相对应的音频消息。在某些实施例中,输出渲染器350可以呈现用于进一步显示在用户设备的显示器屏幕上的对话管理器330的输出或使得该输出呈现为文本消息、图像或视频消息。[0058]在其它实施例中,输出渲染器350向客户端侧140上的对话系统接口130提供所选择的动作动作的名称和参数集)。开发者可以配置对话系统接口130以处理所选择的动作并且执行一个或多个的所需操作,像将请求发送至web服务、数据库操作、显示文本消息、播放用户设备上的音频或视频、生成文本、通过文本至话音系统将其处理等。在一些实施例中,开发者可以配置定制对话系统引擎120以根据与动作相关联的履行处理动作并且向对话系统接口130提供结果。[0059]本技术的另一个重要方面是可以使用各种各样的技术实现本文中公开的实施例的技术。例如,可以在执行在计算机系统上的软件中或者在利用微处理器的组合或其它专门设计的专用集成电路ASIC可编程逻辑设备、或其的各种组合中的任一的硬件中实现本文中描述的方法。具体地,可以通过驻留在诸如磁盘驱动器或计算机可读介质的易失性或非易失性存储介质上的一系列的计算机可执行指令实现本文中描述的方法。应该注意的是能够通过计算机例如,台式计算机、平板计算机、膝上型计算机)、游戏控制台、掌上游戏设备、蜂窝电话、智能电话、智能电视系统等实现本文中公开的方法。[0060]图4是图示适用于实现本文中描述的方法的示例用户设备400的高级框图。值得提及的是用户设备的全部组件可以包括逻辑元件、硬件组件、软件(固件组件、虚拟组件或其的组合。用户设备400可以包括诸如通用计算机、台式计算机、服务器、计算机网络、网络服务、云计算服务等的各种类型的设备和系统的一个或多个的主要部分。进一步的,可以使用任何适合的有线、无线、无线电、电气或光学标准操作地耦合图4中示出的全部模块。如上所述,用户设备400可以指智能电话、无线电话、诸如平板计算机或台式计算机的计算机、娱乐信息系统、车载计算设备等。[0061]如图4所示,用户设备400包括以下硬件组件:一个或多个处理器402、存储器404、一个或多个存储设备406、一个或多个输入模块408、一个或多个输出模块410、网络接口412、和光学地理geo位置确定器414。用户设备400还包括以下软件或虚拟组件:操作系统420、一个或多个软件应用430和对话系统接口130,它们能够是独立软件应用或将它们整合成一个或多个软件应用430。对话系统接口130提供用于访问和管理如本文中讨论的信息的人为中心接口。[0062]在一些实施例中,处理器402被配置为实现功能和或处理用于在用户设备400内执行的指令。例如,处理器402可以处理存储在存储器404中的指令和或执行存储在存储设备406上的指令。这样的指令可以包括操作系统402和对话系统接口130的组件。用户设备400还可以包括未示出在图4中的一个或多个附加的组件,诸如外壳、电源、通信总线等。省略这些元素,以便没有给本实施例的描述增加负担。[0063]根据一个示例实施例,存储器404被配置为在操作期间在用户设备400内存储信息。在一些示例实施例中,存储器404可以指非易失性计算机可读存储介质或计算机可读存储设备。在一些示例中,存储器404是暂时性存储器,意旨存储器404的主要用途可以不是长期存储。存储器404还可以指易失性存储器,意旨当存储器404没有正在接收功率时,存储器404不维持所存储的内容。易失性存储器的示例包括在现有技术中已知的随机存取存储器RAM、动态随机存取存储器DRAM、静态随机存取存储器SRAM和易失性存储器的其它形式。在一些示例中,存储器404被使用为存储用于由处理器402执行的程序指令。在一个示例实施例中,通过在用户设备400上执行的软件例如,操作系统420或对话系统接口130使用存储器404,以在程序执行期间暂时地存储信息。一个或多个存储设备406还能够包括一个或多个易失性或非易失性计算机可读存储介质和或计算机可读存储设备。在一些实施例中,存储设备406可以被配置为存储比存储器404更大量的信息。存储设备406可以进一步被配置为信息的长期存储。在一些示例中,存储设备406包括非易失性存储元件。这样的非易失性存储元件的示例包括现有技术已知的磁性硬盘、光盘、固态盘、闪存存储器、电可编程存储器EPROM或电可擦可编程存储器EEPROM的形式、和非易失性存储器的其它形式。[0064]仍然参照图4,用户设备400包括一个或多个输入模块408。输入模块408被配置成接收用户输入。输入模块408的示例包括能够检测来自用户或其它源的话音、音频或触觉动作形式的输入,以及将该输入中继至用户设备400或其的组合的麦克风、键盘、按键、鼠标、轨迹球、触摸屏、触摸板或任何其它设备。[0065]在一些示例实施例中,输出模块410被配置为通过视觉的或听觉信道向用户提供输出。输出模块410可以包括能够生成对用户是可懂的输出的视频图形适配器卡、液晶显示器LCD监视器、发光二极管LED监视器、声卡、扬声器、或任何其它设备。[0066]在某些示例实施例中,用户设备400包括网络接口412。网络接口412能够被利用成经由诸如一个或多个有线、无线或光学网络包括例如,互联网、内联网、LAN、WAN、蜂窝电话网络例如,全球移动通信网络GSM、分组交换通信网络、电路交换通信网络)、蓝牙无线电和基于IEEE802.11无线电频率网络等)的一个或多个通信网络与外部设备、服务器、网络系统进行通信。网络接口412可以是网络接口卡,诸如能够发送和接收信息的以太网卡、光收发机、无线频率收发机或任何其它类型的设备。这样的网络接口的其它示例可以包括移动计算设备中的蓝牙®、3G、4G和WiFi®无线电以及通用串行总线USB。[0067]用户设备400可以进一步包括用于确定用户设备的当前地理位置的地理位置确定器414。该地理位置确定器414可以利用用于确定地理位置的数个不同的方法,包括:例如,接收并处理全球定位系统GPS的信号、GLONASS卫星导航系统、或伽利略卫星导航系统;利用无线电塔基站之间的无线电信号的多点定位;利用与互联网协议IP地址相关联的地理定位方法、媒体访问控制MAC地址、射频识别RFID或其它技术。[0068]操作系统420可以控制用户设备400的一个或多个功能或其的组件。例如,操作系统420可以与对话系统接口130交互,并且可以进一步促进应用430与处理器402、存储器404、存储设备406、输入模块408和输出模块410中的一个或多个之间的一个或多个的交互。如图4所示,操作系统420可以与对话系统接口130以及其的组件交互或是耦合至对话系统接口130以及其的组件。在一些实施例中,对话系统接口130能够被包括在操作系统420内。显著地,用户设备400和其组件诸如对话系统接口130还可以与一个或多个远程存储或计算资源交互,所述计算资源包括例如web资源、网站、社交网站、博客网站、新馈送、电子邮件服务、web日程表、事件数据库、票聚合器、映射数据库、兴趣点数据库等。[0069]示出在图1中的平台110可以具有如图4示出并且上述已经描述的相似或相同的架构。为了简单起见,在这个公开中没有重复平台110的硬件实施方式,但是对于本领域技术人员应该理解的是平台110可以运行在具有至少包括一个或多个处理器、至少一个存储器和网络接口的架构的服务器或任何适合的计算设备上。[0070]图5示出用于创建作为上述的新对话系统实体的平台接口112的示例GUI500。当开发者希望创建定制对话系统引擎120时,他可以使用诸如GUI500的平台接口112的web工具来限定对话系统实体和意图。使用GUI500,开发者能够录入用于关键字的参考值502以及录入用于在GUI500所提供的对应字段中的所提供的参考值的同义字504。对话系统实体可以包括关键字或参考值和关键字的同义字,关键字和关键字的限定、限定一个类的对象的关键字的列表等。关键字或具有关键字的同义字和或限定的参考值组成对话系统实体。[0071]在一些实施例中,每个实体能够具有标题。例如,一个实体能够被标题为“城市”并且含有诸如阿林顿、亚历山大、波士顿等的城市的列表。在其他实施例中,实体能够被标题为关键字并且其能够含有这个关键字的同义字和或限定。在一个示例中,称作“音乐”的实体可以包括歌曲、歌手、歌唱、音乐家等的条目。在另一个示例中,称作“艺术家”的实体可以包括乐队、音乐合唱或音乐艺术家的列表。在另一个示例中,称作“披头士Beatles”的实体可以包括可能的同义词的列表,所述同义词诸如“TheBeatles”、“Beatles”、“披头士四人组FabFour”、“波士顿传奇”、“约翰.列侬”等。在另外一个示例中,这里能够是称作“艺术家”的实体,其可以包括各种艺术家的姓名、艺术家姓名的同义字、乐队名称等。[0072]图6示出用于创建作为上述的新对话系统意图的平台接口112的示例GUI600。对话系统意图可以限定用户请求和对话系统响应之间的关系并且可以基于特定动作和实体之间的关系与规则关联。通常地,每个意图能够被表示为以下计算机可读程序“[Action].©[Entity]〃or〃:[Ac.ti0ii]©[Entities][动作]@[实体]”或“[动作]@[实体]”。使用⑶I600,开发者可以添加用户表达602例如,“WeatherCcity天气@城市”)以例示意图和实体。基于用户表达602,平台110使用机器学习技术自动地确定示例请求中隐含了什么实体和意图并且创建对应规则。例如,开发者可以简单地提供诸如“针对洛杉矶的天气预报”的示例请求。平台110可以将“洛杉矶”与现有实体系统或用户限定的)匹配并且自动地生成对应“[动作]@[实体]”。附加地或替选地,开发者可以提供其中明确地呈现一个或多个实体的不例请求,诸如“Whatistheweatherin@say.ge〇-city:ge〇-city_us@say.geo-city:ge〇-city_us的天气怎么样”。在图6的示例中,“天气”和与动作606相关联的参数是“geo-city-us地理-城市-我们”和“geo-city地理-城市”。开发者能够进一步修改动作606并且提供对动作606的履行608。[0073]所创建的规则意旨特定动作应该由客户端侧140参照实体或若干实体执行。例如,一个意图可以被表示为“lookingupforecastfor$ge〇-city_us查找用于$ge〇-city_us的天气预报”。在这个示例中,意图命令对话系统引擎120查找洛杉矶的预报。[0074]在一些实施例中,GUI600提供用于机器学习的控件610。触发机器学习能够允许处理从硬性严格匹配的范围变化到宽模糊范围的匹配的模糊性或机器学习匹配。[0075]在一些实施例中,平台接口112可以提供用于提供请求的日志和处理与特定对话系统终端用户或终端用户的组相关联的意图的GUI。图7示出用于提供特定用户的请求的日志的示例⑶I700。[0076]在各种实施例中,平台接口112可以为开发者提供用于执行定制对话系统的统计分析的工具。所得的统计量可以包括数个会话、数个请求、数个经分类请求(用于触发至少一个意图)、数个未分类请求用于没有触发意图)、精度、召回、用于请求的F评分F-score等。在一些实施例中,将未分类请求划分在基于机器学习聚类的组中。[0077]在进一步的实施例中,平台接口112可以提供用于将实体整理在开发者或机器学习技术未分类的请求中的工具,以针对所述请求修改或生成新的实体、意图、动作和履行。平台接口112可以包括用于通过一个或多个定制对话系统再分类请求的工具。[0078]因此,已经描述用于创建定制对话系统引擎的方法。虽然已经参考具体示例实施例描述实施例,但显而易见的是在不偏离本应用的宽泛精神和范围的情况下,能够对这些示例实施例进行各种修改和改变。因此,应将说明书和附图理解为是说明性而非限制性的。

权利要求:1.一种方法,包括:由包括至少一个处理器和存储处理器可执行代码的存储器的第一服务器使开发者能够创建开发者简档;由所述第一服务器接收与所述开发者简档相关联的一个或多个对话系统实体;由所述第一服务器接收与所述开发者简档相关联的一个或多个对话系统意图;由所述第一服务器将所述一个或多个对话系统实体与所述一个或多个对话系统意图相关联,以形成定制对话系统引擎,其中所述定制对话系统引擎与对话系统接口相关联;由所述第一服务器或第二服务器接收来自对话系统接口的用户请求,其中所述对话系统接口被安装在用户设备或第三方服务器上;由所述第一服务器或所述第二服务器基于所述用户请求识别所述对话系统接口;基于所述对话系统接口的所述识别,由所述第一服务器或所述第二服务器激活所述定制对话系统引擎并且检索所述一个或多个对话系统实体和所述一个或多个对话系统意图;由所述第一服务器或所述第二服务器通过应用所述一个或多个对话系统实体和所述一个或多个对话系统意图来处理所述用户请求;以及由所述第一服务器或所述第二服务器基于所述处理和发送对所述对话系统接口的响应来生成对所述用户请求的所述响应。2.根据权利要求1所述的方法,其中,所述一个或多个对话系统实体包括以下中的一个或多个:关键字和所述关键字的至少一个同义字、关键字和所述关键字的至少一个限定、以及限定一个类的对象的关键字的列表。3.根据权利要求1所述的方法,其中,所述一个或多个对话系统意图包括以下中的一个或多个:对话系统交互方案、限定在用户请求和对话系统响应之间的关系的规则、以及特定动作和所述一个或多个对话系统实体之间的关系的规则。4.根据权利要求1所述的方法,进一步包括通过平台接口的web工具基于开发者输入来创建所述一个或多个对话系统实体和所述一个或多个对话系统意图。5.根据权利要求1所述的方法,其中,所述识别是基于所述对话系统接口的标识符,所述标识符伴随所述用户请求。6.根据权利要求1所述的方法,进一步包括显示对所述用户的所述响应。7.根据权利要求1所述的方法,进一步包括播放所述对所述用户的响应。8.根据权利要求1所述的方法,进一步包括:预处理所述用户输入以识别一个或多个口述字,其中所述用户输入包括语音输入;以及将所述语音输入转换成文本输入。9.一种系统,包括:对话系统接口,所述对话系统接口安装在第一服务器或用户设备上;平台,所述平台部署在第二服务器上并且被配置成:接收与开发者简档相关联的一个或多个对话系统实体;接收与所述开发者简档相关联的一个或多个对话系统意图;将所述一个或多个对话系统实体与所述一个或多个对话系统意图相关联,以形成定制对话系统引擎,其中所述定制对话系统引擎与所述对话系统接口相关联;接收来自所述对话系统接口的用户请求;基于所述用户请求识别所述对话系统接口;基于所述对话系统接口的所述识别,激活所述定制对话系统引擎并且检索所述一个或多个对话系统实体和所述一个或多个对话系统意图;通过将所述一个或多个对话系统实体和所述一个或多个对话系统意图应用至所述用户请求来处理所述用户请求;以及基于所述处理和发送对所述对话系统接口的响应来生成所述对所述用户请求的响应。10.根据权利要求9所述的系统,其中,所述对话系统接口进一步被配置成使所述开发者能够创建开发者简档。11.根据权利要求9所述的系统,其中,所述用户请求伴随有所述对话系统接口的用于所述识别的标识符。12.根据权利要求9所述的系统,其中,所述平台进一步被配置成显示所述对所述用户的响应。13.根据权利要求9所述的系统,其中,所述平台进一步被配置成播放所述对所述用户的响应。14.根据权利要求9所述的系统,其中,所述定制对话系统引擎包括自动话音识别器ASR、自然语言处理NLP、对话管理器、和输出渲染器。15.根据权利要求14所述的系统,其中,所述ASR被配置成:接收基于话音的用户输入;以及将所述基于话音的用户输入处理成参数矢量序列。16.根据权利要求14所述的系统,其中,所述ASR包括以下中的一个或多个:基于模式的话音识别器、自由听写识别器、基于地址薄的识别器、和动态创建的识别器。17.根据权利要求14所述的系统,其中,所述NLP被配置成:拆解从所述ASR接收的所识别的输入;解析所识别的输入以产生发音;利用以下中的一个或多个分析所述发音:形态分析、词性标注、浅层解析;以及将所识别的输入或所识别的输入的一个或多个部分映射至意义表示。18.根据权利要求14所述的系统,其中,所述对话管理器被配置成:与外部资源通信;使用以下中的一个或多个处理所识别的输入:谈话分析、知识数据库查询、和基于谈话场境的系统动作预测;以及基于所述NLP的所述处理和分析来选择动作。19.根据权利要求14所述的系统,其中,所述输出渲染器被配置成:将通过所述对话管理器选择的动作转换成输出,其中所述输出包括操作、文本消息、图像、和视频消息。20.—种其上存储有指令的非易失性处理器可读介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器实现方法,所述方法包括:使开发者能够创建开发者简档;接收与所述开发者简档相关联的一个或多个对话系统实体;接收与所述开发者简档相关联的一个或多个对话系统意图;将所述一个或多个对话系统实体与所述一个或多个对话系统意图相关联,以形成定制对话系统引擎,其中所述定制对话系统引擎与对话系统接口相关联;接收来自对话系统接口的用户请求,其中所述对话系统接口被安装在用户设备或第三方服务器上;基于所述用户请求识别所述对话系统接口;基于所述对话系统接口的所述识别,激活所述定制对话系统引擎并且检索所述一个或多个对话系统实体和所述一个或多个对话系统意图;通过应用所述一个或多个对话系统实体和所述一个或多个对话系统意图来处理所述用户请求;以及基于所述处理和发送对所述对话系统接口的响应,生成所述对所述用户请求的响应。

百度查询: 谷歌有限责任公司 用于创建可定制对话系统引擎的平台

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。