CN111291251A - 虚拟助理域选择分析 - Google Patents

虚拟助理域选择分析 Download PDF

Info

Publication number
CN111291251A
CN111291251A CN201911244143.6A CN201911244143A CN111291251A CN 111291251 A CN111291251 A CN 111291251A CN 201911244143 A CN201911244143 A CN 201911244143A CN 111291251 A CN111291251 A CN 111291251A
Authority
CN
China
Prior art keywords
domain
domains
query
queries
test
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
CN201911244143.6A
Other languages
English (en)
Inventor
莫伯耐
普仲朗
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.)
SoundHound Inc
Original Assignee
SoundHound 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
Priority claimed from US16/213,020 external-priority patent/US20200183815A1/en
Application filed by SoundHound Inc filed Critical SoundHound Inc
Publication of CN111291251A publication Critical patent/CN111291251A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/14Payment architectures specially adapted for billing systems
    • G06Q20/145Payments according to the detected use or quantity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Human Computer Interaction (AREA)
  • General Business, Economics & Management (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及虚拟助理域选择分析。一种虚拟助理平台提供用于应用开发者为虚拟助理配置域的启用的用户接口。可上传测试查询集,并且统计分析显示由每个所选域所服务的测试查询的数量和用于使用每个域的成本。成本可根据复杂的定价模型而变化。用户接口提供表、成本堆积图表和直方图的显示视图,以通知权衡了成本和对虚拟助理用户体验的益处两方面的判定。平台接口针对各个查询示出可能来自不同域的响应。平台提供者推广某些所选择的域。

Description

虚拟助理域选择分析
技术领域
本申请涉及自然语言解析的领域,并且更具体地涉及用于配置自然语言虚拟助理的设备、方法和平台系统。
背景技术
越来越多的人们使用虚拟助理,诸如SoundHound Hound、谷歌助理、亚马逊Alexa、百度度秘、苹果Siri、Line/Naver Clova、微软Cortana、KT Giga Genie、SK电信NUGU和开源Mycroft。第一代虚拟助理仅在有提供虚拟助理能力的公司的商标的计算机、智能电话或家用扬声器设备上可用。它们不是可配置的,并且仅支持公司已在内部开发的定制能力。
当前的虚拟助理可以是支持文本的。它们可理解书面自然语言文本并做出自然语言书面响应。一些实施例是支持语音的。它们理解口头自然语言并且可以在诸如文本、合成语音、图像、图形动画、音频和视频剪辑等这样的形态下响应。
发明内容
制造并销售应用(apps)或设备(诸如包括虚拟助理(“VA”)的汽车、机器人、购物亭和电器)的公司不一定想要对“从头开始”创建VA进行投资。它们想要灵活地集成现存的自然语言功能性作为它们自己的定制虚拟助理的一部分。它们发现无法具体地针对它们自己的要求配置虚拟助理是令人沮丧的。
域是自然语言功能性的单位。通过域可解析的句子集并通过域在解析已辨识的句子时进行响应和行动的能力来表征域。示例域包括:天气域,其回答关于天气的问题;以及日历域,其允许用户设置并管理约会,即,用于请求动作以及问问题。
一些VA开发平台(“平台”)(例如SoundHound Houndify)通过提供开发平台中可用的域的菜单来支持虚拟助理的开发者(“VA开发者”)。在这样的平台中,VA开发者选择用于包括在它们自己设计的定制虚拟助理中的域,包括已经为平台已知的一批域。一些实施例允许使用这样的平台来配置虚拟助理。一些实施例包括这样的平台。在一些实施例中,平台提供接口,供域提供者用于提供他们的域以集成在虚拟助理中。由域提供者提供的信息足以在选择域的虚拟助理中支持域的功能性。在一些实施例中,一些域是免费的。在一些实施例中,所提供的域针对其使用有关联的费用。在各种实施例中,由平台提供者或者由诸如VA开发者、用户或VA开发者这样的其他方经由平台提供者向域提供者进行付款。在一些实施例中,平台提供者相对于其他域而推广某些域。
一些实施例允许VA开发者输入针对虚拟助理的测试查询并且测试虚拟助理响应于这些查询将如何表现。一些实施例允许示出并比较虚拟助理在从域的菜单中选择的不同的域的不同条件下的行为。
一些实施例允许VA开发者输入很大的测试查询集。一些实施例显示对虚拟助理响应于测试查询集并响应于域的选择的行为的分析的视图。一些实施例允许分析与对测试查询集中的所有查询做出响应相关联的成本。一些实施例允许分析测试查询集中虚拟助理可解析的测试查询的部分。
一些实施例提供用于分析查询集中的查询的成功解析率以及在域的不同选择的条件下的成本的显示视图。一些实施例提供域结果的表格视图。一些实施例为每个域提供定价模型。一些实施例提供由每个域辨识的典型查询。一些实施例提供一组测试查询以及用于对来自一组测试查询的查询做出响应的总成本。一些实施例为用于对测试集中的查询做出响应的每个域提供成本的成本堆积(cost stack)视图。一些实施例提供每个域响应于的查询的直方图视图。一些实施例指示一些域是免费的并且其他域有成本。
一些实施例提供具有指示器图标的图形用户接口。在一些这样的实施例中,当指示器位于显示视图的某些部分上方时,在弹出消息中显示对应的信息。
一些实施例允许根据有用的准则对域的菜单进行排序或过滤。一些实施例允许以诸如按背景颜色、文本颜色、字体和字体样式之类的不同方式在菜单中显示不同的域。
一些实施例允许实现域的参数化定价模型,诸如线性、分段线性或基于公式的定价模型。一些这样的实施例提供工具来帮助VA开发者做出节省成本的域选择。
一些实施例提供一种设备,包括:处理器;以及被耦接到所述处理器的存储器,该存储器存储指令,所述指令被配置为实现用于配置自然语言虚拟助理的平台,所述平台包括:用于输入测试查询的装置;用于将一组多个域过滤为多个有能力的域的装置,每个有能力的域能够解析所述测试查询;以及用于通过以下步骤来呈现域的列表的装置:在多个被推广域中搜索所述多个有能力的域中的每一个,每个被推广域具有关联的定价模型;在所述多个被推广域中找到至少一个有能力的域作为突出显示域;以及呈现包括所述突出显示域的所述域的列表,所述突出显示域在所述列表内被突出显示,其中,应用开发者可识别所述突出显示域以包括在所述自然语言虚拟助理中。
在一些实施例中,所述平台进一步包括用于执行以下操作的装置:接收用户查询;根据所述被推广域来解析所述用户查询并提供响应;以及计算与提供所述响应相关联的费用,所述费用是根据与所述被推广域相关联的所述定价模型来计算的。
一些实施例提供一种允许实现在应用中集成虚拟助理域的方法,所述方法包括:从应用集成商接收测试查询;在多个域中解析所述测试查询,所述多个域中的至少一个域具有对于所述应用集成商的成本;以及向应用开发者显示可解析所述测试查询的域的子集,并且针对每个所显示的域,向所述应用集成商显示用于使用所述所显示的域来对所述测试查询做出响应的所述成本。
在一些实施例中,该方法进一步包括:从所述应用集成商接收第二测试查询;在所述多个域中解析所述第二测试查询;以及根据非线性定价模型来计算用于使用每个域来对所述测试查询和所述第二测试查询做出响应的成本。
一些实施例提供一种允许实现在应用中集成虚拟助理域的方法,所述方法包括:从应用集成商接收多个测试查询;在多个域中的每个域中解析所述多个测试查询中的每个测试查询,以针对每个测试查询来确定具有最高解析分数的域,其中,所述多个域中的一个或多个域根据定价模型具有对于所述应用集成商的成本;将所述定价模型应用于如下这些查询以便针对所述多个测试查询来计算总合计成本:具有成本的域针对所述这些查询具有最高解析分数。
在一些实施例中,该方法进一步包括计算每个域的成本。
在一些实施例中,用于特定域的所述定价模型相对于所述特定域针对其具有最高解析分数的查询的数量是非线性的。
一些实施例提供一种用于配置用于包括在自然语言虚拟助理中的域的平台系统,所述平台系统包括:用于输入多个测试查询的装置;用于输入对域的选择以将所选择的域包括在所述自然语言虚拟助理中的装置;显示域菜单中的哪些域被选择用于包括在所述自然语言虚拟助理中的显示视图;以及显示合计成本的成本分量的显示视图,所述合计成本将针对自然语言虚拟助理利用被选择用于包括在所述自然语言虚拟助理中的域对所述多个测试查询做出响应而进行计费,每个成本分量可归因于从所述域菜单中选择的域,其中,对用于包括在所述自然语言助理中的域的组合的选择可配置以使得用于对所述测试查询做出响应的所述合计成本在期望的预算内。
在一些实施例中,该平台系统进一步包括显示直方图的显示视图,所述直方图指示被选择用于包括在所述自然语言虚拟助理中的每个域将回答多少个所述测试查询。
在一些实施例中,显示所述域菜单中的哪些域被选择用于包括在所述自然语言虚拟助理中的所述显示视图以与其他域不同的方式显示至少一个被推广域。
在一些实施例中,至少一个域的成本分量相对于在域被选择用于包括在所述自然语言虚拟助理中的情况下所述域将响应于的测试查询的数量非线性地变化。
一些实施例提供一种存储有计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被处理器执行时使得所述处理器实现用于配置虚拟助理的平台系统,所述平台系统包括:服务器托管的平台,用于选择域以包括在所述虚拟助理中;可用于选择的多个域和用于对域提供者做出请求的语法;以及用于导出代码的装置,所述代码当由独立于所述平台系统的嵌入式系统中的处理器执行时,使解析器功能对针对本地域的查询做出响应。
在一些实施例中,所述平台系统进一步包括:用于接收一组测试查询的装置;以及显示视图,被启用来显示针对给定的所选择的域用于对所述一组测试查询中的查询做出响应的成本。
在一些实施例中,所述平台系统进一步包括与可用于选择的域相关联的多个定价模型。
一些实施例提供一种计算机实现的方法,所述方法包括:由平台接收域;由所述平台生成在所接收到的域中识别语法短语的第一域语法;以及由所述平台在所述域被选择以包括在虚拟助理中之前使所述域语法与所述域相关联。
在一些实施例中,所述方法进一步包括使定价模型与所述域相关联的步骤,所述定价模型标识使用所述域的每查询成本。
在一些实施例中,所述方法进一步包括:接收一组测试查询;接收对用于包括在所述虚拟助理中的域的选择;以及产生显示视图,以显示用于在存在对所述域的选择的情况下用于对所述一组测试查询中的查询做出响应的成本。
一些实施例是计算机可读介质。一些实施例是云服务器。一些实施例是移动设备。一些实施例是与云服务器通信的设备的系统。一些实施例是实现由平台配置的自然语言虚拟助理的自含式设备。
附图说明
图1在一个实施例中示出从域提供者开始、通过平台提供者、通过VA开发者、到用户的信息流。
图2示出一组测试查询。
图3在一个实施例中示出域、平台和虚拟助理的基于云的系统。
图4在一个实施例中示出域的单设备系统及从平台配置的虚拟助理。
图5在一个实施例中示出用户与根据域来解析查询并提供响应的虚拟助理交互。
图6在一个实施例中示出VA开发者使用测试查询来经由推广域的平台指导自然语言虚拟助理的配置。
图7在一个实施例中示出用户查询、VA开发者配置并且域提供者向用户提供信息的完整系统。
图8在一个实施例中示出域菜单的显示,所述域菜单允许选择哪些域要启用、指示将由每个域回答一组测试查询中的多少测试查询、示出其定价模型以及每个域用于对测试集中的查询做出响应的成本。
图9在一个实施例中示出针对一组测试查询的所选择的被启用域(enableddomain)的成本堆积图表。
图10在一个实施例中示出针对一组测试查询的所选择的被启用域的成本堆积图表。
图11在一个实施例中示出所选择的被启用域中的每个域所响应的一组测试查询中的查询的直方图。
图12在一个实施例中示出每个域的查询响应的直方图,其中一个直方图被突出显示在悬停指示器之下并且显示域特定信息。
图13在一个实施例中示出突出显示被推广域(promoted domain)的域菜单的显示。
图14示出用于输入测试查询并查看可对该查询做出响应的过滤后的域菜单及其响应的显示。
图15A示出线性定价模型。
图15B示出分段线性定价模型。
图15C示出基于公式的定价模型。
图16A示出旋转非暂时性计算机可读介质。
图16B示出封装固态非暂时性计算机可读介质。
图17A示出服务器的机架。
图17B示出服务器的框图。
图18A示出封装片上系统。
图18B示出片上系统的框图。
具体实施例
下文描述本发明的图示各种特征的各种实施例。通常,实施例可按照任何组合使用所描述的特征。
许多公司制造或者销售可通过集成虚拟助理来改进的设备或应用。许多虚拟助理是基于语音的。支持语音的设备的示例是汽车、机器人、购物亭、电器和智能电话。它们全部都可具有集成的虚拟助理。用户通过发出自然语言查询来与虚拟助理进行通信,所述自然语言查询通常是对信息的请求或对动作的请求。可以说出或者写出查询。来自虚拟助理的响应可以包括语音、文本、图形、音频或视频记录以及动作。
智能多功能虚拟助理的开发是复杂的,并且除通用架构之外还要求针对虚拟助理可处理的每个域的专业知识和投资。当开发虚拟助理时,对于开发者来说从虚拟助理开发平台提供者购买域软件或者得到域软件的授权是有意义的。这允许平台提供者聘请足够的专家来构建优越的平台,并且各个VA开发者将分担成本。
在这样的生态系统中,用于实现虚拟助理的逻辑或软件被存储在位于由平台提供者操作的连接网络的服务器内或者位于不需要连接到网络的设备内的计算机可读介质上,设备逻辑或软件已使用平台进行配置。在典型的连接网络的实施例中,客户端应用或远程设备使用应用编程接口(“API”)来经由互联网访问服务器。一些单设备虚拟助理自主地工作,一些仅利用网络访问进行工作,而一些通过组合本地和远程虚拟助理能力来利用间歇网络访问进行工作。无论是否连接到网络,虚拟助理都从用户接收自然语言查询,解析查询,并向用户提供响应。零个或一个或多个域可以辨识每个查询。在有歧义的情况下,虚拟助理选取竞争域中的一个来确定其响应。
虚拟助理开发者是为将虚拟助理集成到其具体设备和应用中的公司而工作的人们(在大多数情况下是受过训练的工程师)。VA开发者使用平台来配置虚拟助理以满足其具体要求。虚拟助理通常支持多个域。一些域提供诸如天气、新闻、琐事、餐馆搜索、简单数学和维基百科查找这样的信息。一些域提供诸如控制恒温器或照明、流式传输音乐、发送SMS文本消息以及管理日历约会这样的服务。一些域可能仅仅是告知时间那样简单。一些域可能是复杂的,诸如提供旅行代理服务,而一些域对用户而言是高度有价值的,诸如找到孩子的位置的能力。许多域访问web API来访问具体信息或动态信息或者引起所请求的动作。一些域提供来自第三方提供者的信息和服务以换取付费。例如,一些天气域访问国家天气服务API以得到天气报告信息。
除其它功能之外,平台还给VA开发者提供用于选择域以包括在其虚拟助理中的方式。域通常由域提供者实体提供。一些平台支持数千个第三方域提供者。一些域提供者是小公司或甚至是个体程序员。
在一些实施例中,由域辨识的一组查询通过语义语法代码来定义。这样的语法代码是由域开发者(在大多数情况下是受过训练的工程师)具体地为每个域而创建的,所述域开发者创建用于将查询解析为对信息的具体请求或对动作的具体请求的规则。在这样的实施例中,自然语言解析基于域语法代码。域语法包括由自然语言处理系统用来解析查询的句法规则。在域语法中,句法规则通过语义增强来增强。增强是根据对零个或更多个子组成部分的解析来构造对组成部分的解析的功能,其中子组成部分通过句法解析来确定。在一些实施例中,域语法用于辨识并解析对域的查询。在一些实施例中,解析器的至少部分涉及使用机器学习训练的神经网络。在任何一种情况下,对查询的解析基于来自查询的信息将值指派给语义槽(slot)。一些实施例对意图槽进行编码,所述意图槽表达用户对查询的总体意图,诸如安排会议或预定航班。
在示例实施例中,用于请求天气报告的语义语法可能具有(1)其句法成分被命名为<位置(location)>的组成部分,其中对应的语义槽被命名为Location,其值在每一实例中必须作为位置;以及(2)其句法成分被命名为<时间(time)>的另一组成部分,其中对应的语义槽被命名为Time,其值必须作为时间。当用户问“明天廷巴克图的天气如何”时,此实施例能使用具有<位置>和<时间>成分的天气域语法,用值“天气信息(weather_info)”填充意图槽,用值“廷巴克图”填充位置槽并用值“明天”填充时间槽,或者可能用所对应的日历日期填充时间槽。
类似地,如果用户说“具有至少4星的最近法国餐馆在哪里”,则系统能使用具有针对<菜肴类型(cuisine_type)>和<星级评分(star rating)>成分的语法规则的餐馆域语法,并且针对CuisineType和StarRating的对应槽将用分别传达“法国美食”和“至少4星”的值填充。又如,如果用户说“给妈妈发短信说我爱你”,则系统能按SMS短信域语法而辨识查询,用“发送文本(Send_Text)”填充意图槽,用对在用户的联系人列表中对应于“妈妈”的联系人的引用填充接受者槽,并且用“我爱你”填充消息槽。对查询的解析将利用这些槽来形成,并且对意图所指定的查询的解析的履行将是将消息的文本内容发送到接受者的手机。如果用户说“猫有多少只爪子”,则系统可能辨识知识域查询,用(例如)“维基百科查找(WikipediaLookup)”填充意图槽,用“猫”填充物种槽,并且用“爪子”填充属性槽,并且用“有多少”填充问题槽。自然语言的其他方法也是可能的。
一些查询可由多个域解析。当不同的域提供者竞争提供相同的域功能性时具有这样的重叠语法是常见的。例如,平台可能提供用于进行酒店预定的四个竞争域,所有这些域都可解析查询“给我示出巴黎的酒店”。为了帮助VA开发者应对这种情形,平台可将虚拟助理配置成将某些域而非其他域包括在其能力中或者优先于其他域而选取某些域。可以“硬”方式或“软”方式进行这样的选择。
在配置时进行硬选择。一些域在虚拟助理中被启用,并且所有其他域被禁用。此配置步骤允许VA开发者控制在运行时解析查询时将涉及什么域。在生产中,查询解析仅考虑被启用域。
在运行时进行软选择。通常通过基于评分方案选择最高评分解析来在对查询(其所有域都被启用)的竞争域解析之间进行选择。评分技术可用于对域进行优先级排序。即,如果被启用域A和B竞争解析查询,则可总是优于B给予域A优先级。评分也可解决不相关域之间的歧义的情况,但是这样的语义冲突不太频繁。例如,查询“丹佛有多高(how high isDenver)”可由知道城市的海拔的地理事实域来解析,但是它也可由天气域来解析,在所述天气域中“高”指代温度。第二解析在缺少上下文的情况下可能不太可能,但是它在诸如以下的对话中的天气和温度上下文中是很可能的:“芝加哥的天气怎样?[回答:56度]丹佛有多高?”。解析和解析分数可以是上下文敏感的,并且评分可考虑所有这些以及域优先级。
对于有效配置的选择,平台可提供旨在支持VA开发者做出明智决定的经验工具。在一些实施例中,可在以下各项方面相对于查询的测试集来测算域的成本效益:(1)覆盖范围,即查询的多少部分由域辨识;(2)正确性,即已辨识的查询的多少部分由域正确地解析;以及(3)成本考虑事项。
关于成本,根据一些实施例,平台知道与每个域相关联的定价模型并且可向VA开发者提供定价信息。许多平台将免费提供某些域,诸如用于告知时间或者做简单数学的域。然而,许多域提供者提供高价值域并且想要因使用其数据和服务而得到补偿。例如,用于交易股票的域可针对由用户请求的每次股票交易收取佣金。在某些虚拟助理中,用户为使用域而向VA开发者付费,并且VA开发者直接地或通过平台为域提供者付费。在一些情况下,平台可以标高域的成本以恢复它们增加的价值。
在实践中,平台或VA开发者可以打折扣或者补贴某些域以便吸引更多的客户。在定价模型中,每查询的价格常常是批量折扣的对象。所有这样的考虑事项都可以是用于域的定价模型的一部分。
覆盖范围和正确性是基于由平台从VA开发者接收到的测试查询集来测量的。当被启用域辨识查询时登记“命中”。如果测试查询命中至少一个被启用域,则该测试查询被“覆盖”。覆盖范围(在绝对意义上)通过被覆盖的测试查询的数量来测量,或者(在相对意义上)通过测试查询的对应部分来测量。正确性(在绝对意义上)通过被正确地处理的测试查询的数量来测量,或者(在相对意义上)通过所覆盖的测试查询的对应部分来测量。可在测试集包括查询解析数据时或者在它包括查询数据时测量正确性。
在一些实施例中,测试正确性要求解析测试查询,如会在生产中针对用户查询所做的那样,但是不要求执行(履行)测试查询。正确性基于解析(其是查询的含义的内部表示)的相等性(或匹配兼容性)。在一些实施例中,测试正确性要求既解析又履行测试查询。正确性则基于响应的相等性(或匹配兼容性)
在一些实施例中,VA开发者可输入测试查询,就像该测试查询是从用户接收到的一样,并且平台可向VA开发者指示以下各项中的一个或多个:(1)什么域能够辨识查询;(2)查询的解析;(3)履行解析并对查询做出响应所需的信息,以及(4)提供响应的成本。
在一些实施例中,VA开发者输入一大组测试查询并且平台提供关于该一组查询将命中的域的统计信息以及测试集的累计成本。在一些实施例中,查询可以命中多个域。在其他实施例中,系统确保每个查询不超过一个命中。一种类型的统计信息是跨越该一组查询的每个域的命中的直方图。另一类型的统计信息是具有以下各项中的一个或多个的表:域名;是否为虚拟助理启用每个域;用于访问每个域的定价模型(诸如每个查询的简单成本);在测试集中命中每个域的查询的数量;由于在虚拟助理中启用域而导致的成本;测试集中会命中被启用域中的至少一个域的查询的部分;以及用于使用被启用域来处理测试集中的所有查询的总成本。
一些查询可能要求来自多于一个域的信息。例如,查询“赢得上届超级碗比赛的队伍的家乡城市的天气怎样”将要求虚拟助理使用体育信息域来找到什么队伍赢得了上届超级碗比赛及其家乡城市,然后使用城市信息来利用天气域查找天气信息。因此,通过虚拟助理对一组测试查询做出响应的域命中的数量可能大于查询的数量,并且查询的成本比在每个测试查询仅命中一个域的情况下大。
一些查询不被任何域识别。在一些实施例中,这样的失败查询用默认信息(诸如web搜索的结果)来响应。结果,命中的数量也可以小于查询的数量。
通常,虚拟助理具有的域越多,它可以令人满意的方式响应的查询越多。用户对虚拟助理越满意,将使用它的用户越多。使用虚拟助理的用户越多,域提供者必须创建并改进域的动机越多。这创建不断改进的域和虚拟助理的良性循环,从而使用户受益并为所有参与公司创建利润。
下文是对附图中图示的某些代表性实施例的描述。
各方
图1示出虚拟助理生态系统及其操作的图。不同的域提供者将他们的信息和服务提供给平台12。具体地,天气信息域提供者提供天气域11a;地图信息域提供者提供地图域11b;并且文本消息传递域提供者向平台12提供文本消息传递域11c。除域语法之外,提供给平台的信息还可以包括定价模型和测试数据。
VA开发者使用平台12来创建虚拟助理,诸如电器13a、移动电话13b和汽车13c,所有这些都将VA能力递送给多个用户14。一些用户使用多于一种虚拟助理。信息和服务通常从域开始、通过平台并通过VA从左向右流动以到达用户。
通常,付费在相反方向上流动。在各种实施例中,用户直接向VA开发者、平台提供者或域提供者付费。在各种实施例中,VA开发者直接向平台提供者或域提供者付费。在一些实施例中,平台提供者向域提供者付费。在一些实施例中,平台提供者向虚拟助理开发者提供折扣或者亏本地提供对一些域的访问,以便赢得业务或者增加整体使用。在一些实施例中,域提供者向平台提供者付费或者提供折扣以换取平台提供者推广其域。本文公开的技术不限制使用本框架的可能的业务关系。
在一些实施例中,公司既是域提供者又是虚拟助理开发者。例如,汽车的虚拟助理需要它自己的本地域来回答关于汽车的状态查询,诸如其燃料水平,或者请求诸如打开头灯之类的动作。这除了可能包括外部域之外还包括例如具有天气信息的域。又如,由具体视频内容提供者销售的视频播放器机顶盒需要作为其定制虚拟助理的一部分能够访问用于检索其视频内容的域。此域可以是本地的或外部的。在一些实施例中,一些域对一些虚拟助理而言是专用的,而对其他虚拟助理而言是不可用的。
图2示出对通用虚拟助理来说典型的一组示例查询。关于天气的查询是最频繁的,但是其他常见查询包括针对本地业务、地图方向和交通状况的搜索、关于新闻或体育的查询、关于琐碎事实的查询以及各种其他类型的查询。由于每个查询可能在测试集中出现多次,并且顺序无关紧要,所以替代表示(称为包)用于使每个唯一查询与计数相关联。例如,查询“天气怎么样”在查询集中具有计数3。更进一步考虑这个,可给予每个查询实值权重(而不只是频率计数),所述实值权重表示它相对于其他查询对实验者的重要性。可使这样的权重归一化以具有总和1。
云和设备
图3示出用户31与第一应用32和第二应用33进行通信。这些应用通过网络34与平台35进行通信。应用开发者36先前使用平台35来为第一应用32配置第一虚拟助理并且为第二应用33配置第二虚拟助理。在一些实施例中,不同的开发者配置每个应用。
在平台35上,许多域可用于在配置中进行选择。可用域的数量可以是数百、数千或更多。域由域提供者提供。可通过域登记或摄取过程在平台上提供它们。在注册期间,供应的关于域的信息可以包括唯一ID、简单名称、描述、辨识的查询的示例以及域的可执行或可解析形式,诸如源代码、目标代码、神经网络或语义语法。在本公开中,术语“语法”或“语义语法”通常代表对诸如可被执行以便解析或者辨识查询的源、对象、神经网络或任何数据结构实例之类的代码的描述。
由开发者36创建的虚拟助理配置包括第一域37和第二域38的选择。当用户31对任何一个应用进行查询时,它将查询发送到平台35,所述平台35解析查询并且使用web API来从第一域37或第二域38中检索适当的信息。
图4示出用户41与集成在独立于平台45而操作的设备44内的应用42进行通信。该图未按比例绘制。应用开发者46先前使用平台45来为应用配置虚拟助理。应用集成商是设计或者生产或者销售已在产品或服务内集成了虚拟助理应用的产品和服务的公司。平台提供了应用集成商将已配置的虚拟助理集成到应用42中所必需的软件。
当应用42从用户41接收到查询时,它使用集成的解析器来解析它们并因此从本地信息域47请求信息或者从本地服务域48请求服务动作。在例如汽车设备中,信息域47将具有语法并提供针对诸如“电池电力剩下多少”和“这是什么无线电台”之类的查询的信息。在汽车中,服务域48将具有语法并提供诸如“打开天窗”和“打开收音机”之类的服务。这些示例信息源和服务是汽车本地的并且不要求访问网络。
一些实施例具有允许需要网络访问的域和不需要网络访问的域的混合的配置。这样的实施例允许域在网络访问可用时成功地响应,而在网络访问不可用时未成功地响应。
信息流和配置
图5示出根据实施例的在运行时通过平台的数据流的图。用户51发出自然语言查询以供平台处理。解析器52解析查询并向用户51提供响应。取决于查询,响应可能是解析器52不能解析查询的简单指示。在一些实施例中,解析器52可单独提供对其成功解析的查询的响应。
域提供者提供来自他们自己的诸如音乐之类的服务器或诸如天气传感器之类的其他来源的数据,或者提供诸如发送消息或控制车辆之类的服务。通常,这样的数据或服务被称为域53b。为了知道用户何时打算调用域,他们可具有对应的语法代码53a。语法代码包括调用域的短语以及可用来自用户表述的单词填充的槽。例如,具有短语“天气怎么样”的语法代码调用天气域,并且域代码包括用于检索天气预报的位置和时间的槽。用于天气域的短语和槽的代码使得解析器能够知道短语“明天廷巴克图的天气怎么样”应该向域提供者执行请求以得到廷巴克图的明天天气。在许多实施例中,与域相关联的代码由平台登记、摄取和存储。
当解析器52根据与域53b相关联的语法代码53a解析查询并且确定该查询从域53b请求信息时,解析器52从由多个域提供者中的一个提供的适当的域53b请求信息。解析器52使用该信息来形成其对用户51的响应。
图6示出根据实施例的在配置时通过平台的数据流的图。开发者66从许多应用集成商中向平台提供一个或多个测试查询输入64。开发者66还提供一个或多个域65的选择。解析器62根据所选域63b的语法代码63a来解析测试查询以确定所选域63b中的任一个是否可解析查询。显示器将来自解析器62的结果显示67给开发者66。许多显示视图对于各种实施例来说是适当且有用的。将在下面图示和描述一些显示视图。
图6的实施例进一步包括基于解析器62的结果来推广一个或多个域68。例如,如果能根据推广域成功地解析测试查询,则平台向开发者66示出这样的结果:解析器将向用户示出推广域是否被启用。即使推广域未被启用,一些实施例也示出推广域的名称。一些实施例示出将利用来自推广域的信息生成的响应,作为将利用来自排名最高的替代域的信息生成的响应的替代方案。
例如,具有更准确和详细信息的天气域提供者可能收取更高的价格并且将它自己作为推广域来提供。默认天气域通常可能回答天气查询。根据实施例的平台将根据来自默认天气域的信息来示出响应,并且示出将利用来自推广天气域的信息生成的响应。可结合用于选择推广域的建议以及甚至用于选择包括在虚拟助理中的推广域的手段(诸如按钮图标)来实现这一方案。
图7示出通过平台的数据流的图。开发者76向平台提供一个或多个测试查询输入74。开发者76还提供一个或多个域75的选择。解析器72根据所选域73b的语法代码73a来解析测试查询以确定所选域中的任一个是否可解析查询。显示器向开发者76显示77解析器72的结果。图7的实施例进一步包括基于解析器72的结果来推广一个或多个域78。在配置时间之后,在运行期间,用户71发出查询以由解析器72解析并且向用户71提供响应。
在图7的实施例中,响应于从域73接收到信息,平台计算费用79。该费用是根据定价模型来计算的。定价模型是基于域使用的函数。一些实施例具有简单的定价模型,诸如对每次信息访问单次收费。这样的费用通常是一美元的一小部分。一些实施例支持更复杂的定价模型,该定价模型是基于一个时间窗口内的先前信息访问的次数或被访问信息的类型的函数。同样地,一些域为提供服务进行收费,像其他域提供信息一样。
在图7的实施例中,平台向每个域提供者提供付费,所述域提供者提供信息以供虚拟助理来构建对用户的响应。这产生了使得域提供者想要开发者选择其域以包括在虚拟助理中的动机,并且因此产生了使得平台提供者推广与平台提供者有密切业务关系的域提供者的域的动机。
域表
图8示出根据一个实施例的域表80的显示视图。表80具有针对每个域的一行。“被启用”列示出域启用的状态。在一些实施例中,此列中的单元格可用于启用或者禁用所对应的域。各种输入装置可能用于选择或取消选择域,诸如用于点击的鼠标、具有箭头键或快捷键的键盘、触摸屏或用于在用户接口内做出关于对象的选择的其他适当的装置。
许多不同的图形布局是可能的。通常,网格可用于在视觉上组织作为行的大量域以及用于显示关于域的相关条信息的相对少量的列,诸如域的名称、它们是否被启用、他们可解析的(出自测试集的)查询的数量或百分比)及其定价模型(诸如在最简单情况下每查询的成本)。示出关联信息的可视对象也是可行的,诸如与网格对齐的表示域的矩形。也可以例如在个人计算机的桌面上任意地拖放对象。
表80具有显示视图。该显示视图向VA开发者显示域菜单,其中每个域一行。该显示视图80具有5列。标题行根据其用途为每一列加标题。第一列示出从可用域的菜单中列出的每个域的名称。第二列针对菜单中的每个域示出该域是否被选择为被启用用于虚拟助理。第三列示出查询的计数。假设所有域被启用,如果解析器在测试集上运行,则将根据这些被启用域中的一个域对测试集中的每个查询进行响应。因此,每个域具有该域被选择进行响应的查询的数目。第三列针对每个域行示出该查询数目。一些查询能够被一个以上的域解析。能够解析测试查询的域在本文中被称为针对该测试查询的有能力的域(able domain)。第四列示出用于对查询做出响应的定价模型。第五列示出:当域被选择用于对测试集中的每个查询做出响应时,该域提供虚拟助理提供响应所需的信息的总成本。
在标题行之后的是用于菜单中的每个域的行。表80包括菜单中的7个域。一些实施例支持更大数量的域、可变数量的域、以及随着新的和现有的域提供者创建或者删除其提供内容而动态地改变的域。第一列示出具有菜单中的每个域的名称的文本字符串。所示域是天气、食物、体育、地图、事实、计时器和数学。
如果域被选择用于包括在虚拟助理中,则第二列具有用于每个域的勾记号可见的单元格。图8示出可在触摸屏上通过鼠标或手指来控制的指示器。鼠标按钮的单击或双击或者手指的轻敲或双轻敲或长按改变指示器位置处的域是否被选择的状态。状态通过勾记号是否存在于单元格中来示出。
第三列示出用于每个域的单元格,该单元格包含在给定所选择的域的情况下、用来自域的信息来进行响应的查询的数量的计数。在一些实施例中,当正确的查询响应已知时,不同的列被用于辨识的查询的计数和正确地回答的查询的计数。在一些实施例中,替代地或者除了绝对数之外还使用附加列来显示百分比。进一步地,一些查询相对于所选域的集合是有歧义的,即,它们可由多于一个域来解析。这对于短查询来说最常见。例如,查询“土耳其”可由天气域、食物域、体育域、地图域、事实域来解析。一些实施例通过为查询的所有有歧义的解析提供加标记的响应来处理有歧义的查询。
其他实施例使用域优先级并选取与查询匹配的最高优先级域来更加有力地消除歧义。在另一变体中,使用查询解析分数,并且根据其对应的语法具有最高评分解析分数的域获胜并形成响应的基础。可组合这两个想法。在所有情况下,通过更强有力地选取对单个域的计数作出贡献的一个或少量解析来消除歧义。当域的选择的状态改变时,这可改变其他域将响应的查询的数量。每当域的选择被修改时,一些实施例动态地重新计算查询计数数量。可替代地,或者除了图8的查询计数列之外,一些实施例既示出每个域可提供信息的测试查询的总数量,又示出在域被启用情况下可正确回答的测试查询的增量数量。
第四列示出用于说明域查询的定价模型。表80示出基于每查询固定价格的一种简单的定价模型。所示价格从每查询0¢(用于免费域)到5¢(0.05美元)变动。一些实施例支持更复杂的定价模型,诸如作为时间窗口中的命中数的函数的分段线性或基于公式的模型。可以使用循环时间窗口(例如,日历月)以及滑动时间窗口(例如,过去30天)。支持更复杂的定价模型的实施例可能不在定价模型列中示出定价模型本身;替代地,在域的定价模型单元格上的点击或轻敲可以给予对不同的显示视图(诸如弹出窗口)的访问,所述不同的显示视图示出域的定价模型并允许编辑它。
第五列针对每个域示出基于对查询的测试集中的每个查询的响应、将支付给所对应的域提供者的钱的金额。对在响应中使用其信息的每个域收费。对于表80中所示的简单的定价模型,每个域的域成本是查询计数乘以每查询成本。在允许复合查询的实施例中,单个查询可命中多个域。例如,“美国总统的年龄是多少”可能既命中提供政治信息的域又命中提供个人信息的域。在允许响应歧义的实施例中,单个查询可以由于不同的原因而命中多个域。根据竞争解析给出多个答案。由于每当域被选择或者取消选择时查询计数可能改变的相同原因,域成本也可相应地改变。
表80中的最下面一整行表示没有匹配域的查询的数量。可对这样的查询进行计数,但其他列不适用。
在那行下面的一行列出了两个记录项。第一记录项示出了按域的当前选择接收到响应的查询的百分比。在表80中,食物域和地图域未被启用。它们可各自分别已对1955和764个查询做出了响应。考虑到那些查询以及不能由任何域解析的633个查询,73%的测试查询成功地接收到响应。
最后一个记录项单元格显示已启用域的域成本的总数。此数字随着VA开发者启用或者禁用域而动态地改变。通常,VA开发者启用的域越多,查询成功率会越大并且总成本会越大。由于较高的查询成功率通常提供更令人满意的用户体验,所以这样的动态信息显示视图允许VA开发者在用户满意度与域使用预算之间做出明智的权衡。
在所有上述方法中,测试查询或测试查询组可被赋予多重性(multiplicities)。返回到示出一组测试查询的图2,例如注意的是,查询“天气怎么样”出现3次。在生产环境中,VA开发者可能能够访问更大数据集上的现场统计,并且针对“天气怎么样”的每月计数可能是数百万。对同一域具有大量查询使非线性数量折扣成为合理的业务布置。如果平台缓存针对静态数据或者仅以低频率改变的数据的结果,则尤其是这样。可替代地,在缺少来自现场的成熟统计信息的情况下,小测试集可能基于:(1)来自少量查询的统计信息;或(2)一组精选的查询,可能部分地由来自现场的数据启发而来。在任何一种情况下,测试集计数可被乘以可变因子,VA开发者可改变所述可变因子以观察非线性数量折扣的影响。
一些实施例,尤其是具有大量域的实施例,提供滚动条以允许VA开发者在有限的显示空间内查看不同的域。一些实施例允许VA开发者根据一个或任何数量的列的准则来对域的列表进行排序。这样做的一个方式是通过接收对列标题的点击或轻敲以使列表被排序。此外,对已经用来对列表进行排序的列的点击使得列表被以相反顺序排序。一些实施例提供用于VA开发者输入过滤准则的框,诸如按以下方式过滤域的列表:每个域是否被启用;定价模型的范围;以及域成本的范围。
每一虚拟助理对于VA开发者来说都是不同的项目。在一些实施例中,每个项目可被分别打开和查看并且将具体地针对具体虚拟助理显示域表。平台的一些实施例让VA开发者创建帐户并登录以配置其虚拟助理项目。平台管理员能够根据帐户的条款来控制哪些域对于不同的VA开发者可见以及VA开发者可访问什么控件和工具以便从事于某个项目。
成本堆积图表
图9示出根据一个实施例的成本堆积图表90的显示视图。该图表具有标题“每域花费的累计钱数”。该图表具有用于成本的垂直轴线和用于域的水平轴线。一些实施例沿垂直轴线示出域并且沿水平轴线示出成本。前者通常更适合于少量域占大多数成本的虚拟助理,而后者通常更适合于具有大量域的虚拟助理。
有许多有用的方式来呈现可视数据。例如,爱德华塔夫特的书(诸如Envisioning InformationThe Visual Display of Quantitative Information)关于主题是见闻广博的。黑白线附图不是理想的,但是足够用于图示。在图9的黑白线附图中所示的实施例中,在水平轴线上描写了七个域。为了改进可读性而没有重叠词,域的名称被以一定角度书写并与轴线右对齐。被启用域的名称以粗字体示出并且被禁用域的名称被示出在括号之间并用较小字体书写。免费域用域名之后的“(f)”来指示。不要求访问外部动态信息的域通常是免费的,因为平台提供者可缓存信息并以低成本检索它。
在针对每个域的列中,具有与用于对一组测试查询做出响应的域成本成比例的高度的条指示域对于对查询集中的所有查询做出响应的总成本的贡献。针对每个域的条的底部被放置在前一个域的条的顶部的高度处。没有成本的域具有零高度条,其看起来为水平线。垂直轴线被标记有累计成本的值以及位于每个条的顶部的高度处的水平虚线,从垂直轴线延伸到标签高度处的条。平台使得VA开发者容易通过根据各种准则自动地对可用域进行排序来改变域的顺序,诸如根据名称按字母顺序;根据它们匹配的查询的数量;根据其每查询的成本;或其总成本。另外,平台的接口允许用户根据特定种类冻结顺序,然而选择会改变并且顺序会以其他方式变化。也可以手动地对域进行重新排序。一些实施例还允许根据各种准则(诸如通过仅示出被启用域或所选的被禁用域)来过滤域的列表。
图9的显示视图还包括指示器,如果被点击或者轻敲或者以其他方式适当地激活,则指示器切换域是否被启用的状态。因此,VA开发者可快速地且容易地启用和禁用域以查看其对用于对测试集中的查询做出响应的总成本的影响。图10示出在已通过用指示器点击((食物))启用了被禁用的食物域之后的针对与图9的虚拟助理相同的虚拟助理的成本堆积图表100的显示视图。
在图10中,通过命中域的查询的数量对域进行排序。尽管与天气域相比,食物域是用于对测试集做出响应的总合计成本的较大贡献者(因为它具有较高的成本定价模型),然而它被示出在列表中居第二位,因为测试集具有比天气查询更少的食物查询。
一些实施例按线性比例显示成本轴线并且一些实施例以对数方式示出它。一些实施例在图表的右侧示出一条轴线,该轴线示出由被启用域响应的查询的累计数量(或测试集的分数或百分比)。如果成本比例是规则的(线性的或对数的),则这样的轴线将必定具有不规则的比例。可替代地,被响应的查询的规则(线性或对数)显示可能具有针对成本的具有不规则间距的对应的平行轴线。
查询命中直方图
图11示出根据一个实施例的具有每个域的查询命中的直方图110的显示视图。直方图具有标题“命中域的查询的直方图”,其垂直轴线表示命中且水平轴线示出域。域命中指代用来自域的信息响应的查询。图11的直方图110未用域的名称标记域轴线,因为存在太多域而不能与名称配合上。可替代地,可在垂直轴线上示出域并在水平轴线上示出命中。如果直方图图表足够长或者允许VA开发者滚动其条目,则可以列举域的名称并指示命中的数量。
直方图110具有平滑线,但是跨越域的阶梯表示也是可行的。尽管直方图110未用域的名称标记水平轴线,然而它示出“$”符号以指示具有高于阈值的定价模型的域。在一些实施例中,阈值是零(以指示免费和付费域)。一些实施例允许VA开发者配置阈值以便查看适度定价的域与高定价的域。
在一些情况下,具有甚至少量命中的域也可给用户体验带来不成比例的好处。例如,在可定位丢失电话的汽车虚拟助理中可用的域将被很少使用,但是在需要这种域的罕见情况下,用户将会非常感激这种域。这将是汽车的强力卖点。即使访问该域信息对于VA开发者来说每次使用非常昂贵,但为了销售更多的汽车而付出也将是值得的。
一些实施例允许VA开发者将某些域(诸如带星符号)标记为对用户体验而言具有特别高的价值。一些实施例示出如在图11中一样高价值域用突出颜色或图标突出显示的直方图。
因为许多查询可由多于一个域解析,所以启用或者禁用单个域可改变用来自所有其他域的信息响应的查询的数量。这可具有在直方图内对域进行重新排序的效果。例如,如果两个竞争天气域被启用,并且第一个可提供包括大气压力的所有天气信息而第二个是用于所有天气问题的默认信息源但是不能提供大气压力信息,则在两个域都被启用的情况下,第一个域将具有非常小的命中数(并且被显示在直方图110的右侧附近),但是在第二个域被禁用的情况下,第一个域将具有非常大的命中数。
图12示出如在图11中一样但是具有指示器的直方图110的显示视图。当悬停在直方图中的域的列上方时,在没有移动1秒钟之后,平台弹出显示以下内容的信息框:域的名称、它对于一组测试查询具有的命中数、以及用于在对测试集的查询做出响应时使域被启用的总成本。
域推广
图13示出根据一个实施例的具有域表130的显示视图。像图8的域表80一样,图13的域表130列举域。区别是域表130示出两个地图域,一个被命名为“地图”,而另一个被命名为“mapPRO”。后者是被推广域。它很可能提供比地图域更优越的用户体验,至少因为它可为测试集的805个而不是764个查询提供信息。平台用粗字体示出mapPRO域及其行的文本,同时在其启用勾记号框周围突出显示。这使被推广域对于VA开发者突出显示以使其考虑。
尽管图13的实施例使用粗字体和突出显示框,但是许多方式可以用于突出显示被推广域。例如,一个或多个被推广域可以是:被分别地列举;被排序在列表的顶部;使用不同的颜色或阴影来示出;被示出有诸如星形之类的图标;被示出有诸如公司徽标之类的图像;或动画的。可相结合地使用突出显示域的这些手段中的一些。
图14示出根据一个实施例的用于输入具体测试查询并查看结果的显示视图140。显示视图140包括文本输入框141。虚拟助理开发者可使用物理键盘或虚拟键盘或其他适当的文本输入框来输入文本。输入的文本出现在光标位置指示器142的位置处。对于具有麦克风的用户接口设备,VA开发者可轻敲或者点击麦克风按钮143并说出测试查询。引导项在被首次调用时出现在显示器上以通知VA开发者可以“说出你的查询”。
显示视图140还包括上传按钮144。当被激活时,它调用对话框以便用户浏览文件并选择它以上传到平台。文件可包含单个查询或包含完整测试集的任何数量的查询的定界列表。一些实施例允许VA开发者将文件从其图形操作系统或浏览器显示拖放到查询框中并且使它被自动地上传到平台。上传按钮和拖放上传的各种实现方式是众所周知的并且可容易地在诸如
Figure BDA0002307048940000231
(注册商标)之类的语言的浏览器客户端侧脚本模板中获得。
显示视图140进一步包括结果框145。对于给定单输入查询,结果框显示域列表,所述域列表可根据针对以下内容的列提供对查询做出响应所需的信息:域的名称、定价模型(标记为“成本”)、以及虚拟助理在域被启用的情况下针对该查询将给予用户的响应。在一些实施例中,多个域提供者可提供源信息和语法以形成对查询的非常不同的响应。结果框145使用来自四个旅行域提供者中的每一个的语法和信息来示出虚拟助理响应。“TripBooker”域具有相对低的成本(每查询仅1¢),但是具有相当自利的响应,因为它提及它自己的名称“Trip Booker”并且就推荐一种酒店品牌。推测起来,Trip Booker域提供者和酒店品牌具有付费业务关系。“Travel Mate”域具有中等成本(每查询3¢)并且提供指示大量可用结果的相当有用的响应以及前五个最可能感兴趣的结果的合理列表。“TravelHound”域具有高成本(每查询8¢),但是提供包括所找到的具体数量的酒店的迄今为止最有用的结果、几个酒店的列举以及用于用户通过使用直观语音接口来对列表进行排序或过滤而得到更加令人满意的结果的邀请。“Chee-po-tels”域具有便宜成本(每查询仅1¢),但是其语法不是辨识到单词Paris(巴黎)最可能指代法国的大城市,而是假定是在有乡村风味的美国爱达荷州的没有酒店的荒芜小城镇。
不管域(诸如定价模型、查询命中数、通过VA开发者进行的星级选择、查询响应类型等)的排序顺序如何,平台可在两个部分中示出结果。通过命名为“编辑精选–赞助的”的副标题146所指示的第一部分示出平台提供者更喜欢VA开发者选取的一个或多个域。通常,“编辑精选”域是由域提供者赞助或者由平台提供者选取的域,因为它们鼓励虚拟助理更多地使用或获得令人满意的结果。可以提供信息以完成对测试查询的响应的域的其余部分被示出在通过命名为“其他”的副标题147所指示的部分中。
定价模型
上面使用的示例示出了每信息请求一个或若干美分的线性率的极简单的定价模型。在一些实施例中,生产且交付起来便宜的信息的每请求成本可比每请求一个美分低得多。图15A示出价格为每请求0.0005美元(相当于每请求.05¢)的示例线性定价模型。
在行业中通常使用相对于域具有最高解析分数的查询的数量为非线性的定价模型。非线性类型的定价模型的一个示例是分级定价模型。图15B示出这样的定价模型。每请求的成本随着请求的数量超过阈值而降低。具体地,对于一个月内的前10,000个查询来说,成本是每查询$.0010。对于请求数量10,001至50,000,成本是每请求$.0005。对于请求数量50,001至250,000,成本是每请求$.0002。对于请求数量250,001和任何其他数量,成本是每请求$.0001。查询计数每月重置一次。
在一些实施例中,域提供者向平台提供者发送针对被服务的信息请求的每月发票。在一些实施例中,平台提供者在信息请求之前购买信用(credit)。信用的费用是以取决于购买量的分级定价间隔设置的。在各种实施例中,可以存在以下各项的各种组合:用户订阅、应用集成商从平台提供者或域提供者购买信用、任何接收方按发票付费、或为服务付费的任何其他适当的方法。
图15C示出基于非线性公式的定价模型。与大量信息请求的分级间隔不同,可以基于公式来进行每请求定价。许多公式是可能的,但是图16中的公式如下。
Figure BDA0002307048940000251
平台提供者或域提供者或两者都维护在过去30天的滑动窗口期间服务的信息请求的计数。每请求价格是每请求的最小值$.0001加上按请求的数量的对数倒数变化的成本。这有效地为常用用户给予数量折扣。
各种其他非线性定价模型是可能的,仅受到协商业务合同的那些人的创造力限制。
CRM
图16A示出作为旋转磁盘的示例非暂时性计算机可读介质161。数据中心通常使用磁盘来存储用于服务器处理器的数据和包括指令的代码。非暂时性计算机可读介质161存储包括指令的代码,所述指令如果由一个或多个计算机执行,则将使该计算机执行本文描述的方法的步骤。旋转光盘和其他机械移动的存储介质是可能的。
图16B示出作为闪存随机存取存储器(RAM)芯片的示例性非暂时性计算机可读介质162。数据中心通常使用闪速存储器来为服务器处理器存储数据和代码。移动设备通常使用闪速存储器来为片上系统设备内的处理器存储数据和代码。非暂时性计算机可读介质162存储包括指令的代码,所述指令如果由一个或多个计算机执行,则将使该计算机执行本文描述的方法的步骤。封装有引线或焊球的其他非移动存储介质是可能的。
根据各种实施例,任何类型的计算机可读介质适于存储包括指令的代码。
服务器
服务器存储被提供给平台菜单中的VA开发者的域的数据库。服务器还存储用于与域相关联的语法的代码的数据库。服务器还存储与域相关联的定价模型的数据库。
图17A示出根据一些实施例的机架式服务器刀片多处理器服务器系统170。它包括并行运行软件的多个网络连接的计算机处理器。
图17B示出服务器系统170的框图。它包括计算机处理器(CPU)核心171的多核心集群和图形处理器(GPU)核心172的多核心集群。处理器通过板级173互连连接到用于程序代码和数据存储的随机存取存储器(RAM)设备174。服务器系统170还包括网络接口178以允许处理器访问因特网。通过执行存储在RAM设备174中的指令,CPU 171和GPU 172执行如本文所描述的方法的步骤。
SoC
图18A示出具有用于表面安装焊接到印刷电路板的球栅阵列的封装片上系统器件180的底面。对于各种芯片实施方案来说,各种封装形状和大小是可能的。片上系统(SoC)器件控制如本文所描述的许多嵌入式系统和IoT设备实施例。
图18B示出片上系统180的框图。它包括计算机处理器(CPU)核心181的多核心集群和图形处理器(GPU)核心182的多核心集群。处理器通过片上网络183连接到用于易失性程序和数据存储的片外动态随机存取存储器(DRAM)接口184以及用于将计算机程序代码非易失性存储在闪存RAM非暂时性计算机可读介质中的闪存接口185。SoC 180还具有如不同的外围设备所需的用于显示GUI的显示接口186以及用于连接到各种I/O接口设备的I/O接口模块187。I/O接口使得能实现诸如触摸屏传感器这样的传感器、地理位置接收器、麦克风、扬声器、蓝牙外围设备和USB设备,诸如键盘和鼠标等。SoC 180还包括网络接口188以允许处理器通过诸如Wi-Fi、3G、4G长期演进(LTE)、5G和其他无线接口标准无线电设备以及以太网连接硬件之类的有线或无线连接来访问互联网。通过执行通过接口184存储在RAM设备中或通过接口185存储在闪存设备中的指令,CPU 181和GPU 182执行如本文所描述的方法的步骤。
另外的考虑事项
本领域的技术人员将认识到许多修改和变化。修改和变化包括所公开的特征的任何相关组合。
各种实施例是使用人类和机器中的任何一个或组合的行为的方法。无论在世界上哪里发生大多数组成步骤,方法实施例都是完整的。一些实施例是被布置为存储用于本文描述的方法的此类指令的一种或多种非暂时性计算机可读介质。无论什么机器保持,包括任何必要代码的非暂时性计算机可读介质都保持完整实施例。一些实施例是诸如半导体芯片之类的物理器件;此类器件的逻辑或功能行为的硬件描述语言表示;以及被布置为存储此类硬件描述语言表示的一种或多种非暂时性计算机可读介质。
本文中叙述原理、特征和实施例的描述包含其结构和功能等同物两者。在本文中描述为耦合的元件具有通过直接连接或者间接地用一个或多个其他中间元件可实现的有效关系。
示出并描述的示例使用某些口头语言。各种实施例针对其他语言或语言的组合类似地操作。示出并描述的示例使用某些领域的知识。各种实施例针对其他域或域的组合类似地操作。
一些实施例是无屏的,诸如没有显示屏的耳机。一些实施例是固定的,诸如自动售货机。一些实施例是移动的,诸如汽车。一些实施例是便携式的,诸如移动电话。一些实施例包括诸如键盘或触摸屏这样的手动接口。一些实施例包括使用人类思想作为自然语言表达的形式的神经接口。

Claims (17)

1.一种设备,包括:
处理器;以及
被耦接到所述处理器的存储器,该存储器存储指令,所述指令被配置为实现用于配置自然语言虚拟助理的平台,所述平台包括:
用于输入测试查询的装置;
用于将一组多个域过滤为多个有能力的域的装置,每个有能力的域能够解析所述测试查询;以及
用于通过以下步骤来呈现域的列表的装置:
在多个被推广域中搜索所述多个有能力的域中的每一个,每个被推广域具有关联的定价模型;
在所述多个被推广域中找到至少一个有能力的域作为突出显示域;以及
呈现包括所述突出显示域的所述域的列表,所述突出显示域在所述列表内被突出显示,
其中,应用开发者可识别所述突出显示域以包括在所述自然语言虚拟助理中。
2.根据权利要求1所述的设备,其中所述平台进一步包括用于执行以下操作的装置:
接收用户查询;
根据所述被推广域来解析所述用户查询并提供响应;以及
计算与提供所述响应相关联的费用,所述费用是根据与所述被推广域相关联的所述定价模型来计算的。
3.一种允许实现在应用中集成虚拟助理域的方法,所述方法包括:
从应用集成商接收测试查询;
在多个域中解析所述测试查询,所述多个域中的至少一个域具有对于所述应用集成商的成本;以及
向应用开发者显示可解析所述测试查询的域的子集,并且针对每个所显示的域,向所述应用集成商显示用于使用所述所显示的域来对所述测试查询做出响应的所述成本。
4.根据权利要求3所述的方法,进一步包括:
从所述应用集成商接收第二测试查询;
在所述多个域中解析所述第二测试查询;以及
根据非线性定价模型来计算用于使用每个域来对所述测试查询和所述第二测试查询做出响应的成本。
5.一种允许实现在应用中集成虚拟助理域的方法,所述方法包括:
从应用集成商接收多个测试查询;
在多个域中的每个域中解析所述多个测试查询中的每个测试查询,以针对每个测试查询来确定具有最高解析分数的域,其中,所述多个域中的一个或多个域根据定价模型具有对于所述应用集成商的成本;
将所述定价模型应用于如下这些查询以便针对所述多个测试查询来计算总合计成本:具有成本的域针对所述这些查询具有最高解析分数。
6.根据权利要求5所述的方法,进一步包括计算每个域的成本。
7.根据权利要求5所述的方法,其中,用于特定域的所述定价模型相对于所述特定域针对其具有最高解析分数的查询的数量是非线性的。
8.一种用于配置用于包括在自然语言虚拟助理中的域的平台系统,所述平台系统包括:
用于输入多个测试查询的装置;
用于输入对域的选择以将所选择的域包括在所述自然语言虚拟助理中的装置;
显示域菜单中的哪些域被选择用于包括在所述自然语言虚拟助理中的显示视图;以及
显示合计成本的成本分量的显示视图,所述合计成本将针对自然语言虚拟助理利用被选择用于包括在所述自然语言虚拟助理中的域对所述多个测试查询做出响应而进行计费,每个成本分量可归因于从所述域菜单中选择的域,
其中,对用于包括在所述自然语言助理中的域的组合的选择可配置以使得用于对所述测试查询做出响应的所述合计成本在期望的预算内。
9.根据权利要求8所述的平台系统,进一步包括显示直方图的显示视图,所述直方图指示被选择用于包括在所述自然语言虚拟助理中的每个域将回答多少个所述测试查询。
10.根据权利要求8所述的平台系统,其中,显示所述域菜单中的哪些域被选择用于包括在所述自然语言虚拟助理中的所述显示视图以与其他域不同的方式显示至少一个被推广域。
11.根据权利要求8所述的平台系统,其中,至少一个域的成本分量相对于在域被选择用于包括在所述自然语言虚拟助理中的情况下所述域将响应于的测试查询的数量非线性地变化。
12.一种存储有计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被处理器执行时使得所述处理器实现用于配置虚拟助理的平台系统,所述平台系统包括:
服务器托管的平台,用于选择域以包括在所述虚拟助理中;
可用于选择的多个域和用于对域提供者做出请求的语法;以及
用于导出代码的装置,所述代码当由独立于所述平台系统的嵌入式系统中的处理器执行时,使解析器功能对针对本地域的查询做出响应。
13.根据权利要求12所述的计算机可读存储介质,其中所述平台系统进一步包括:
用于接收一组测试查询的装置;以及
显示视图,被启用来显示针对给定的所选择的域用于对所述一组测试查询中的查询做出响应的成本。
14.根据权利要求12所述的计算机可读存储介质,其中所述平台系统进一步包括与可用于选择的域相关联的多个定价模型。
15.一种计算机实现的方法,所述方法包括:
由平台接收域;
由所述平台生成在所接收到的域中识别语法短语的第一域语法;以及
由所述平台在所述域被选择以包括在虚拟助理中之前使所述域语法与所述域相关联。
16.根据权利要求15所述的计算机实现的方法,进一步包括使定价模型与所述域相关联的步骤,所述定价模型标识使用所述域的每查询成本。
17.根据权利要求15所述的计算机实现的方法,进一步包括:
接收一组测试查询;
接收对用于包括在所述虚拟助理中的域的选择;以及
产生显示视图,以显示用于在存在对所述域的选择的情况下用于对所述一组测试查询中的查询做出响应的成本。
CN201911244143.6A 2018-12-07 2019-12-06 虚拟助理域选择分析 Pending CN111291251A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US16/213,020 US20200183815A1 (en) 2018-12-07 2018-12-07 Virtual Assistant Domain Selection Analysis
US16/213,020 2018-12-07
KR1020190085288A KR102358657B1 (ko) 2018-12-07 2019-07-15 가상 비서 도메인 선택 분석
KR10-2019-0085288 2019-07-15
JP2019-152251 2019-08-22
JP2019152251A JP6916250B2 (ja) 2018-12-07 2019-08-22 仮想アシスタントドメイン選択分析

Publications (1)

Publication Number Publication Date
CN111291251A true CN111291251A (zh) 2020-06-16

Family

ID=71013827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911244143.6A Pending CN111291251A (zh) 2018-12-07 2019-12-06 虚拟助理域选择分析

Country Status (3)

Country Link
JP (2) JP6916250B2 (zh)
KR (1) KR20220019734A (zh)
CN (1) CN111291251A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115268711B (zh) * 2022-07-11 2023-07-28 网易(杭州)网络有限公司 一种虚拟物品的展示方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130110519A1 (en) * 2006-09-08 2013-05-02 Apple Inc. Determining User Intent Based on Ontologies of Domains
CN103988168A (zh) * 2011-10-12 2014-08-13 谷歌公司 用于向用户提供意见查询的方法和系统
CN105453080A (zh) * 2013-08-30 2016-03-30 英特尔公司 用于虚拟个人助理的可扩展上下文感知的自然语言交互
US20160349935A1 (en) * 2015-05-27 2016-12-01 Speaktoit, Inc. Enhancing functionalities of virtual assistants and dialog systems via plugin marketplace

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001297261A (ja) 2000-04-14 2001-10-26 Misawa Homes Co Ltd 質問回答方法、質問回答システムおよび質問回答プログラムを記録した記録媒体
JP2003256211A (ja) 2002-02-27 2003-09-10 Fujitsu Frontech Ltd アプリケーション提供システム、記録媒体及びプログラム
JP4154978B2 (ja) 2002-09-27 2008-09-24 トヨタ自動車株式会社 他元素添加カーボンナノチューブのガス吸着能の予測方法
US9489625B2 (en) 2013-05-10 2016-11-08 Sri International Rapid development of virtual personal assistant applications
JP5857090B2 (ja) 2014-05-26 2016-02-10 ソフトバンク株式会社 情報検索装置、情報検索プログラム、及び情報検索システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130110519A1 (en) * 2006-09-08 2013-05-02 Apple Inc. Determining User Intent Based on Ontologies of Domains
CN103988168A (zh) * 2011-10-12 2014-08-13 谷歌公司 用于向用户提供意见查询的方法和系统
CN105453080A (zh) * 2013-08-30 2016-03-30 英特尔公司 用于虚拟个人助理的可扩展上下文感知的自然语言交互
US20160349935A1 (en) * 2015-05-27 2016-12-01 Speaktoit, Inc. Enhancing functionalities of virtual assistants and dialog systems via plugin marketplace

Also Published As

Publication number Publication date
JP7465415B2 (ja) 2024-04-11
JP2021176092A (ja) 2021-11-04
JP2020091834A (ja) 2020-06-11
KR20220019734A (ko) 2022-02-17
JP6916250B2 (ja) 2021-08-11

Similar Documents

Publication Publication Date Title
US20210173548A1 (en) Virtual assistant acquisitions and training
US11868732B2 (en) System for minimizing repetition in intelligent virtual assistant conversations
US20210166692A1 (en) Customized voice action system
US20200082432A1 (en) Automated creative extension selection for content performance optimization
JP6846390B2 (ja) ドメイン間の文法スロットによる分類
AU2019201386A1 (en) Automated click type selection for content performance optimization
US20120259891A1 (en) Method, system and program for analytics data delivering
US20130080928A1 (en) Embeddable context sensitive chat system
US8504418B1 (en) Incenting answer quality
US11599336B2 (en) Generating and updating voice-based software applications using application templates
TWI661349B (zh) 產生對話式使用者介面的方法及系統
KR102358657B1 (ko) 가상 비서 도메인 선택 분석
CN109101248A (zh) 计算机应用促进
US20120005594A1 (en) User interface element for data rating and validation
US20210326238A1 (en) Immersive web-based simulator for digital assistant-based applications
US10997254B1 (en) 1307458USCON1 search engine optimization in social question and answer systems
JP7465415B2 (ja) 仮想アシスタントドメイン選択分析
US8788586B1 (en) Method and system for publishing a website
WO2018089500A1 (en) Method and apparatus for serving online communities of users
US20180253739A1 (en) Automated Endorsement Prompting

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