CN115146038A - 具有封闭域和开放域对话集成的对话式ai平台 - Google Patents

具有封闭域和开放域对话集成的对话式ai平台 Download PDF

Info

Publication number
CN115146038A
CN115146038A CN202210238235.9A CN202210238235A CN115146038A CN 115146038 A CN115146038 A CN 115146038A CN 202210238235 A CN202210238235 A CN 202210238235A CN 115146038 A CN115146038 A CN 115146038A
Authority
CN
China
Prior art keywords
domain
dialog
dialog system
data
closed
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
CN202210238235.9A
Other languages
English (en)
Inventor
S·达斯
S·巴塔查里亚
R·库马尔
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of CN115146038A publication Critical patent/CN115146038A/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/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了具有封闭域和开放域对话集成的对话式AI平台。在各种示例中,本公开的系统和方法将开放式对话系统和封闭式对话系统组合成智能对话管理系统。文本查询可以由被训练以将文本查询与域标签、意图分类和/或输入槽相关联的自然语言理解模型进行处理。使用域标签,自然语言理解模型可以识别文本查询中与回答文本查询所需的输入槽相对应的信息。然后可以将文本查询和相关信息传递给对话管理器,以将文本查询引导到适当的域对话系统。从域对话系统检索到的响应可以经由文本输出和/或经由对话管理系统的文本到语音组件提供给用户。

Description

具有封闭域和开放域对话集成的对话式AI平台
背景技术
用户通常依赖软件应用程序——例如聊天机器人、虚拟助手、社交机器人和其他形式的AI——来提交查询和进行谈话(conversation)。然而,这些软件应用程序通常使用被配置为提供广泛或狭窄响应的对话系统,但不能同时提供两者。例如,封闭域对话系统被配置为提供特定的、知情的(informed)响应,并被训练为回答仅与一组特定主题和/或域相关的查询。因此,用户可以向封闭域对话系统(例如聊天机器人)提交关于特定主题(例如城市中的餐馆)的有限查询集,并接收特定的详细内容作为响应。相比之下,开放域对话系统被训练为提供相比封闭域对话系统提供的那些更通用或口语化且不那么详细的对查询的类似人类的响应。例如,用户可以向开放域对话系统提交大多数查询并接收相关响应;但是,对面向任务的查询(例如,“为我找到西雅图的前10家餐厅”)的响应通常不如从封闭域对话系统收到的响应那么具体,或者包含的信息多。
虽然用户可以手动选择将封闭域对话系统用于面向任务的查询,而将开放域对话系统用于所有其他查询,但许多用户不知道哪种类型的系统将能够向用户提供有效响应。因此,许多用户将简单地放弃尝试将不同的查询路由到不同的系统。此外,当用户在开放域对话系统和封闭域对话系统之间手动切换时,谈话的上下文将会丢失。因此,可能无法向用户提供对其查询的充分和/或相关响应。
发明内容
本公开的实施例涉及封闭域对话系统和开放域对话系统的联合使用。公开了基于分析文本数据将表示用户查询的文本数据传送到开放域对话系统和封闭域对话系统中的至少一个的系统和方法。例如,并且与诸如上述那些的常规系统相比,本公开的系统和方法将开放对话系统和封闭对话系统组合成集成的智能对话管理系统。根据本公开的实施例,当用户提交文本查询,或从语音查询抄录(transcript)文本查询时,文本查询可以由被训练为将文本查询与域标签,意图分类和/或输入槽相关联的自然语言理解模型处理。使用域标签,自然语言理解模型可以识别文本查询中与回答文本查询所需的输入槽相对应的信息。然后可以将文本查询和相关信息传递给对话管理器以将文本查询引导到适当的域。
对话管理器可以支持一个或更多个开放域对话系统以及一个或更多个封闭域对话系统。在一些实施例中,当对话管理器接收到文本查询、域标签和意图分类时,对话管理器可以访问文本查询的域标签和意图分类,以确定对话管理系统是否包括将文本查询路由到与域标签和意图分类相对应的域对话系统的规则。标签/分类可以对应于特定的封闭或开放对话系统。如果没有对应的对话系统,则对话管理器可以将文本查询路由到默认域对话系统。然后,默认域系统可以处理并返回对文本查询的响应。当对话管理器能够确定对应的对话系统时,对话管理器可以将文本查询路由到对应的对话系统和默认域对话系统。特定的对话系统可能需要对话管理器来执行对话系统的策略。可以经由文本输出和/或经由对话管理系统的文本到语音组件将检索到的响应提供给用户。
在进一步的实施例中,开放域对话系统可以被训练为将其响应朝向作为对话管理系统的一部分而包括的封闭域对话系统进行偏置(bias)(例如,加权或引导)。当对话管理系统无法为用户查询提供相关答案时,可以将一组训练数据应用于现有的开放域对话系统,以将响应引导到包括的封闭域对话系统。因此,用户和对话管理系统之间的谈话可以被引导到对话管理系统被装备来维持的讨论。
附图说明
下面结合附图对用于封闭域和开放域对话系统的联合使用的本系统和方法进行详细描述,其中:
图1是适用于实现本公开的一些实施例的示例对话管理系统;
图2A-2B是适用于实现本公开的一些实施例的文本查询的示例路由操作;
图3是适用于实现本公开的一些实施例的示例用户界面;
图4是适用于实现本公开的一些实施例的生成对用户查询的输出的流程图;
图5是适用于实现本公开的一些实施例的生成对用户查询的输出的流程图;
图6是适用于实现本公开的一些实施例的示例计算设备的框图;以及
图7是适用于实现本公开的一些实施例的示例数据中心的框图。
具体实施方式
公开了与封闭域和开放域对话系统的联合使用相关的系统和方法。尽管本文主要针对移动和桌面数字助理实现进行了描述,但这并非旨在进行限制,并且本公开的系统和方法可以在用于组合开放域和封闭域对话系统的任何实现中实现。对于非限制性示例,本文描述的系统和方法可以实现用于智能扬声器应用、智能电器应用、即时消息传递应用、人类可穿戴技术应用、智能车辆应用和/或促进人机交互交换的其他应用类型,或基于命令和/或问题为用户执行任务和/或服务。
在一些实施例中,开放对话系统和封闭对话系统可以组合成智能对话管理系统,用于生成对用户查询的响应。例如,用户可以经由语音输入和/或文本输入向对话管理系统提交查询。当用户经由语音输入提交查询时,自动语音识别器可以处理对应于语音输入查询的音频数据以生成音频数据的文本表示(例如,抄本(transcript))。然后,文本表示或语音输入和/或文本输入——例如经由聊天框接收的输入查询——(统称为“文本查询”)可以由被训练为将文本查询与域标签、意图分类和/或输入槽相关联的自然语言理解模型进行处理和/或分析。
域标签可以是特定封闭域对话系统的标签。封闭域对话系统和相应的标签可包括但不限于导航系统、天气系统、餐厅系统、运动系统、音乐或娱乐系统、数字媒体系统、剧院系统、车载控制系统、健身系统、等等。这些标签可以由自然语言理解模型将其与文本查询相关联。例如,查询说:“带我去最近的咖啡店”,可以用餐厅的封闭域标签(例如,餐厅评论应用程序)和/或导航标签(例如,导航应用程序)来标记。
意图分类可以描述用户正试图完成什么。在一些实施例中,可以训练自然语言理解模型以推理对用户为什么提交查询以及用户想要实现什么的问题的答案。因此,自然语言理解模型可以将意图分类与文本查询相关联。例如,上述相同的查询说:“带我去最近的咖啡店”,可以用导航意图进行分类,因为自然语言理解模型可以确定用户正试图导航到最近的咖啡店。
使用一个或更多个域标签,自然语言理解模型可以识别文本查询中与回答文本查询所需的一个或更多个相应域的输入槽相对应的信息。例如,餐厅域可以包括用于位置、价格、美食类别、开放/关闭等的输入槽。基于接收到的文本查询,自然语言理解模型可以将来自文本查询的信息与一个或更多个输入槽相关联。例如,查询说:“明天晚上西雅图的天气如何?”,可以用可能具有位置、日期、时间等的输入槽的天气域进行标记。在这个示例中,自然语言理解模型可以将“西雅图”与位置输入槽相关联,将“明天”与日期输入槽相关联,将晚上与时间输入槽相关联。
在一些实施例中,文本查询和相关信息(例如,域标签、意图分类和/或输入槽数据)然后可以被传递到对话管理器以将文本查询引导到适当的域。对话管理器可以支持一个或更多个开放域对话系统——例如NVIDIA的MISTY、BLENDER或其他对话式AI机器人——以及一个或更多个封闭域对话系统——例如一个或更多个特定的面向任务的机器人。对话管理系统可以包括任意数量的对话系统。开发人员可以配置规则(例如elseif语句)以将文本查询路由(例如传送)到特定域。
在一些实施例中,当接收到文本查询和相关信息(例如,域标签、意图分类和/或输入槽数据)时,对话管理器可以访问文本查询的域标签和意图分类。域标签和意图分类可用于确定对话管理系统是否包括将文本查询路由到与域标签和意图分类相对应的域对话系统的规则。域标签和意图分类可以对应于特定的封闭或开放对话系统。在一些实施例中,如果没有对应的对话系统,则对话管理器可以将文本查询路由到默认域对话系统——例如开放域对话系统。然后开放域对话系统可以处理并返回对文本查询的响应。
在一些实施例中,当对话管理器能够确定对应的封闭对话系统时,除了开放域对话系统之外,对话管理器还可以将文本查询路由到对应的封闭对话系统(例如,因此开放域对话系统可以保持谈话的状态)。特定的封闭对话系统可能需要对话管理器来执行对话系统的策略。例如,对话系统可能要求填写输入槽信息(例如,找到_天气(位置=“西雅图”,日期=“周一”,时间=“晚上”)),以允许履行(fulfillment)组件与域对话系统交互并检索响应。可以经由文本输出和/或经由对话管理系统的文本到语音组件将检索到的响应提供给用户。
在一些实施例中,当用户与对话管理系统交互时,用户可以输入被路由到一个或更多个开放域系统以及一个或更多个封闭域系统并由其履行的查询。在这种情况下,对话管理系统可以维护开放域系统和封闭域系统之间的对话状态(例如,谈话上下文)。例如,当对话管理器确定文本查询应该被路由到识别出的封闭域对话系统时,对话管理器可以将文本查询路由到识别出的封闭域对话系统以及开放域对话系统(例如,默认域对话系统)。然后两个对话系统都可以处理文本查询。
由识别出的封闭域对话系统以及开放域对话系统处理文本查询可以允许开放域对话系统更新开放域对话系统的内部对话状态,该内部对话状态可以存储在开放域对话系统中。对话管理器还可以基于文本查询记录/存储对话状态。对话状态可以指历史、用户意图的估计和/或用户与数字助理应用程序的谈话状态。在一些实施例中,所识别出的封闭域对话系统和开放域对话系统可以各自返回对文本查询的响应。然而,当文本查询被引导到所识别出的封闭域对话系统时,对话管理器然后可以忽略从开放域对话系统接收到的响应。然后可以将由封闭域对话系统返回的响应提供给用户。有利地,通过将文本查询路由到所识别出的封闭域对话系统和开放域对话系统,如果用户提交被路由到开放域对话系统的后续查询,则开放域对话系统可以了解对话状态,以便为用户提供比其他方式可获得的更相关的结果。
在文本查询仅被路由到开放域对话系统的实施例中,由开放域对话系统返回的响应可以被对话管理器考虑并且用于更新存储在对话管理器中的对话状态。有利地,被路由到封闭域对话系统的后续用户查询可以访问存储在对话管理器中的对话状态。例如,对话管理器可能够从对话状态中提取信息,以填充系统向封闭域对话系统提交查询所需的输入槽。
在进一步的实施例中,可以训练开放域对话系统以使其响应朝向作为对话管理系统的一部分被包括的封闭域对话系统进行偏置。例如,对话管理系统可以包括用于餐厅、天气、旅游、运动等的封闭域对话系统。开发者可以利用现有的开放域对话系统,将一组训练数据应用于现有的开放域对话系统,以在当对话管理系统无法为用户查询提供相关答案时,朝向所包括的封闭域对话系统引导响应。例如,如果用户问:“西雅图的人口是多少?”,由于对话管理系统没有使封闭域对话系统能够回答该查询,因此该查询可被路由到开放域对话系统,开放域对话系统也将无法提供人口信息。然而,基于经训练的偏置,开放域对话系统可以将谈话重引导到封闭域对话系统。开放域对话系统可能会回答:“我不知道,但我知道它有一些很棒的餐厅。”有利地,可以防止用户和对话管理系统之间的谈话偏离到不希望的方向。
参考图1,图1是根据本公开的一些实施例的示例对话管理系统100(在本文中也称为“系统100”)。应当理解,本文描述的这种和其他布置仅作为示例阐述。除了所示的那些之外或代替所示的那些,可以使用其他布置和元件(例如,机器、接口、功能、命令、功能分组等),并且可以完全省略一些元件。此外,本文描述的许多元件是功能实体,它们可以实现为分立或分布式组件或与其他组件结合,并以任何合适的组合和位置实现。本文描述为由实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,可以通过处理器执行存储在存储器中的指令来执行各种功能。在一些实施例中,系统100可以包括与图6的示例计算设备600和/或图7的示例数据中心700类似的组件、特征和/或功能。
对话管理系统100可以包括自动语音识别器110、自然语言理解模型120、对话管理器130、一个或更多个开放域对话系统150、一个或更多个封闭域对话系统160和文本到语音转换器170等。
在操作中,用户可以经由语音输入102和/或文本输入104向对话管理系统100提交查询。虽然没有描绘,但是可以经由移动设备、桌面设备、智能设备、人类可穿戴设备、车辆接口和/或支持或通信地耦合到执行数字助理接口的设备的另一设备中的一个或更多个向对话管理系统100提交这样的查询。当用户经由语音输入102提交查询时,自动语音识别器110可以处理对应于语音输入102的音频数据以生成音频数据的文本表示112(例如,抄本)。然后可以将文本表示112或语音输入102和/或文本输入104(统一描绘和描述为文本查询114)传递给自然语言理解模型120,其可以处理和/或分析文本查询114。自然语言理解模型120可以被训练为将文本查询114与域标签、意图分类和/或一个或更多个输入槽相关联。
域标签可以是用于一个或更多个封闭域对话系统160的特定封闭域对话系统的标签。封闭域对话系统160——以及对应的标签——可以包括但不限于导航系统、天气系统、餐厅系统、运动系统、音乐系统、电影院系统等。自然语言理解模型120可以将对应于一个或更多个封闭域对话系统160的标签与文本查询114相关联。
自然语言理解模型120可以通过预测用户提交文本查询114的原因以及用户想要经由文本查询114实现什么来确定文本查询114的意图。因此,自然语言理解模型120可以将一个或更多个确定的意图分类与文本查询114相关联。例如,当文本查询114的文本数据说“西雅图最好的烧烤店是什么。”,自然语言理解模型120可以将导航意图和餐厅意图与文本查询114相关联。自然语言理解模型120可以将这些意图与文本查询114相关联,因为自然语言理解模型120可以预测用户希望对话管理系统100向用户提供关于具有最佳评价的西雅图烧烤餐厅的信息。
自然语言理解模型120可以进一步使用与文本查询114相关联的一个或更多个域标签来识别文本查询114中与一个或更多个对应域的输入槽相对应的信息。输入槽可以操作为一个或更多个开放域对话系统150和/或一个或更多个封闭域对话系统160用于回答文本查询114所需的值的占位符。基于接收到的文本查询114,自然语言理解模型120可以将来自文本查询114的信息与一个或更多个输入槽相关联。
在一些实施例中,可以将文本查询114、一个或更多个域标签、一个或更多个意图分类和/或与文本查询114相关联的输入槽数据传递给对话管理器130以将文本查询114引导到正确的域。对话管理器可以支持一个或更多个开放域对话系统150以及一个或更多个封闭域对话系统160。对话管理系统可以包括任意数量的对话系统,每个对话系统可以由开发者指定为开放域对话系统150之一、封闭域对话系统160之一和/或默认域对话系统。
对话管理器130可以包括对话规则132、域控制器134、核心对话管理器136(其可以包括对话策略管理器138和对话状态跟踪器140)以及任务履行接口142。对话规则132可以包括用于基于域标签将文本查询114路由到特定域的路由规则。在操作中,当对话管理器130接收到文本查询114和一个或更多个对应的域标签、一个或更多个意图分类和/或输入槽数据时,对话管理器可以访问域标签和意图分类以用于文字查询。域标签和意图分类可用于确定对话规则132是否包括将文本查询114路由到与域标签和意图分类相对应的域对话系统的规则。例如,如果文本查询114与特定域标签相关联,该特定域标签与对话规则132中的规则相关联,则文本查询114可以基于规则被传送到对应的特定域——例如一个或更多个封闭域对话系统160之一。如果文本查询114不与特定域标签相关联或域标签不与对话规则132中的任何规则相关联,则可以将文本查询路由到默认域——例如一个或更多个开放域对话系统150之一。
在一些实施例中,对应于一个或更多个开放域对话系统150和/或一个或更多个封闭域对话系统160中的每一个的策略可以存储在对话策略管理器138中。当文本查询114的域标签对应于确定的域对话系统时,对话管理器130可以访问对话策略管理器138以识别相应的策略。一个或更多个开放域对话系统150和/或一个或更多个封闭域对话系统160可以要求对话管理器130为确定的域对话系统执行策略。基于对应于特定域的一个或更多个策略,对话管理器130可以生成对确定的域对话系统的请求。例如,对确定的域对话系统的请求可能需要填写来自文本查询114的输入槽信息(例如,找到_天气(位置=“西雅图”,日期=“周一”,时间=“晚上”)),以允许基于任务的履行接口142与确定的域对话系统通信。
当文本查询114被传送到一个或更多个开放域对话系统150和/或一个或更多个封闭域对话系统160时,文本查询可由一个或更多个开放域对话系统150和/或一个或更多个封闭域对话系统160处理,以向文本查询114返回一个或更多个响应(例如,文本响应)。返回的响应之一可以经由文本输出106提供给用户并呈现给用户。例如,文本可以显示在用户的移动设备、车辆显示器、可穿戴设备等上。另外或替代地,可以将响应(例如,文本输出106)传递给文本到语音转换器170。文本到语音转换器170可以处理响应以生成与响应对应的音频数据,以生成语音输出108。语音输出108可以经由用户的移动设备、智能扬声器、车辆的音频系统、可穿戴设备等提供给用户。
在一些实施例中,对话状态跟踪器140可以跟踪与一个或更多个开放域对话系统150和/或一个或更多个封闭域对话系统160的交互,以维持用户的谈话状态。对话状态可以指历史、用户意图的估计和/或用户与数字助理应用程序的对话状态。对话状态跟踪器140可以基于一个或更多个接收到的文本查询114和/或从一个或更多个开放域对话系统150和/或一个或更多个封闭域对话系统160接收到的一个或更多个响应来维持对话状态,如结合图2A和图2B进一步讨论的。
在一些实施例中,一个或更多个开放域对话系统150可以被训练为将响应朝向一个或更多个封闭域对话系统160进行偏置。例如,对话管理系统100可以包括被训练为履行关于餐馆、天气、旅行、运动等的文本查询114的一个或更多个封闭域对话系统160。在这样的实施例中,一组训练数据可以应用于一个或更多个开放域对话系统150以训练一个或更多个开放域对话系统150在对话管理系统无法为文本查询114提供相关答案时将响应朝向对话管理系统100中包括的一个或更多个封闭域对话系统160进行引导。例如,如果对话管理系统100在开放域对话系统150或封闭域对话系统160中没有域对话系统来回答文本查询114,则文本查询114可以被路由到默认域对话系统,其可能无法提供答案。然而,基于经训练的偏置,默认域对话系统可以将谈话朝向一个或更多个封闭域对话系统160和/或一个或更多个开放域对话系统150进行引导。因此,可以防止用户和对话管理系统100之间的谈话偏离到不期望的方向,其中对话管理系统可能不太可能向来自用户的未来文本查询114提供恰当的响应。
现在转到图2A-2B,图2A-2B示出了适用于实现本公开的一些实施例的文本查询的示例路由操作。在一些实施例中,例如图2A中所示的,对话管理器210可以仅将文本查询路由到一个或更多个开放域对话系统220。一个或更多个开放域对话系统220可以处理文本查询并向对话管理器210返回响应。对话管理器可以考虑该响应并将其用于更新存储在对话管理器210中的对话状态。在一些实施例中,对话管理器210还可以基于文本查询记录/存储对话状态。因此,被路由到一个或更多个封闭域对话系统230的后续文本查询可以访问存储在对话管理器210中的对话状态。例如,对话管理器210可能够从对话状态中提取信息以填充在对话管理器210向一个或更多个封闭域对话系统230提交查询所需的输入槽中。例如,当在与一个或更多个开放域对话系统220的谈话中谈论西雅图时,用户然后可以说,“最好的咖啡店在哪里?”并且对话管理器210中的内部存储状态——现在可以包括“西雅图”的位置状态——可以用于生成对一个或更多个封闭域对话系统230的查询,其包括西雅图最好的咖啡店,而不需要用户再次指定他们所查阅的位置。
参考图2B,对话管理器210可以将文本查询路由到一个或更多个开放域对话系统220以及一个或更多个封闭域对话系统230。在这种情况下,对话管理系统210可以维持一个或更多个开放域对话系统220和一个或更多个封闭域对话系统230之间的对话状态(例如,谈话上下文)。例如,当对话管理器210确定文本查询应该被路由到一个或更多个封闭域对话系统230中的识别出的封闭域对话系统时,对话管理器210可以将文本查询路由到识别出的封闭域对话系统以及一个或更多个开放域对话系统220——例如默认域对话系统。然后可以由一个或更多个开放域对话系统220和识别出的封闭域对话系统两者来处理文本查询。
由一个或更多个封闭域对话系统230中的识别出的封闭域对话系统以及一个或更多个开放域对话系统220两者处理文本查询可以允许一个或更多个开放域对话系统220更新一个或更多个开放域对话系统220的内部对话状态,其可以存储在一个或更多个开放域对话系统220内。在一些实施例中,对话管理器210还可以基于文本查询记录/存储对话状态。在进一步的实施例中,对话管理器210可以接收来自一个或更多个封闭域对话系统230的响应并且可以将接收到的响应发送到一个或更多个开放域对话系统220。一个或更多个开放域对话系统220可以接收由一个或更多个封闭域对话系统230提供的响应,并基于该响应更新一个或更多个开放域对话系统220的内部对话状态。然后由一个或更多个开放域对话系统220提供的响应可以基于更新的内部对话状态并入在一个或更多个开放域对话系统220中保存的状态信息。
在一些实施例中,识别出的封闭域对话系统和一个或更多个开放域对话系统220可以各自返回对文本查询的响应。然而,当文本查询被引导到一个或更多个封闭域对话系统230中的识别出的封闭域对话系统时,对话管理器210可以忽略从一个或更多个开放域对话系统220接收到的任何响应。然后可以将一个或更多个封闭域对话系统230返回的响应提供给用户。通过将文本查询路由到识别出的封闭域对话系统和一个或更多个开放域对话系统220,如果用户提交被路由到一个或更多个开放域对话系统220的后续查询,则一个或更多个开放域对话系统220可以访问对话状态,以使一个或更多个开放域对话系统220能够理解文本查询的上下文,以便为用户提供比其他方式可用的更相关的结果。
现在参考图3,图3示出了适用于实现本公开的一些实施例的示例用户界面。图3包括设备310、AI图形320和用户330。在各个实施例中,设备310可以是智能电话、膝上型计算机、平板计算机、台式计算机、可穿戴设备、游戏控制台、虚拟现实系统(例如,耳机、计算机、游戏控制台)、流媒体设备(例如,NVIDIA SHIELD)、智能家居设备、车辆计算设备、可以基于命令和/或问题为用户330执行任务和/或服务的另一种类型的设备,这取决于实施例或实现,和/或其组合。AI图形320可以是动画角色、化身或其他拟人化。在操作中,用户330可以经由到设备310的语音输入和/或文本输入向对话管理系统(例如图1的系统100)提交查询。设备310可以通过对话管理系统接收和处理查询。在一些实施例中,对话管理系统可以使AI图形320经由设备310向用户330提供指示符以指示查询正在被处理。例如,AI图形320可以改变AI图形320的面部表情以模仿人的思考。一旦对话管理系统已经处理了查询,就可以经由设备310向用户330提供响应。在一些实施例中,通过将AI图形320的嘴部姿势与响应的音频数据的声音反射相匹配,AI图形320可以看起来将响应说出回给用户330。
现在参考图4-5,本文描述的方法400和500的每个框包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,可以通过处理器执行存储在存储器中的指令来执行各种功能。方法400和500也可以体现为存储在计算机存储介质上的计算机可用指令。方法400和500可以由独立应用程序、服务或托管服务(独立地或与另一托管服务组合)或另一产品的插件提供,仅举几例。此外,作为示例,关于图1的系统100描述了方法400和500。然而,这些方法可以附加地或替代地由任何一个系统或系统的任何组合执行,包括但不限于本文所述的那些。
参考图4,图4是示出根据本公开的一些实施例的用于生成对用户查询的输出的方法400的流程图。在框B402,方法400包括:分析表示用户查询的文本数据。例如,然后可以将文本表示112或语音输入102和/或文本输入104(统一描绘和描述为文本查询114)传递给自然语言理解模型120,其可以处理和/或分析文本查询114。
在B404,方法400包括:至少部分地基于所述分析来生成对应于用户查询的域标签。例如,自然语言理解模型120可以被训练为将文本查询114与域标签、意图分类和/或一个或更多个输入槽相关联。
在B406,方法400包括:当域标签对应于开放域对话系统时将文本数据传送到开放域对话系统。例如,如果文本查询114与关联于对话规则132中的规则的特定域标签相关联,则可以基于这些规则将文本查询114传送到对应的特定域。
在B408,方法400包括:当域标签对应于封闭域对话系统时,(1)至少部分地基于域标签访问对应于封闭域对话系统的一个或更多个请求策略;(2)至少部分地基于一个或更多个请求策略,使用文本数据生成对封闭域对话系统的请求;(3)将请求传送给封闭域对话系统。例如,当文本查询114的域标签对应于确定的域对话系统时,对话管理器130可以访问对话策略管理器138以识别对应的策略。一个或更多个开放域对话系统150和/或一个或更多个封闭域对话系统160可以要求对话管理器130为确定的域对话系统执行策略。基于对应于特定域的一个或更多个策略,对话管理器130可以生成对确定的域对话系统的请求。
在B410,方法400包括:响应于文本数据从开放域对话系统或响应于请求从封闭域对话系统中的至少一个接收响应文本数据。例如,当文本查询114被传送到一个或更多个开放域对话系统150和/或一个或更多个封闭域对话系统160时,文本查询可以由一个或更多个开放域对话系统150和/或一个或更多个封闭域对话系统160处理,以向文本查询114返回一个或更多个响应(例如,文本响应)。
在B412,方法400包括:至少部分地基于响应文本数据生成输出。例如,可以在用户的移动设备、车辆显示器、可穿戴设备等上显示文本响应。另外或替代地,可以将响应(例如,文本输出106)传递到文本到语音转换器170。文本到语音转换器170可以处理该响应以生成与该响应对应的音频数据,以生成语音输出108。语音输出108可以经由用户的移动设备、智能扬声器、车辆的音频系统、可穿戴设备等提供给用户。
现在参考图5,图5是示出根据本公开的一些实施例的用于生成对用户查询的输出的方法500的流程图。在框B502,方法500包括:分析表示用户查询的第一文本数据。例如,然后可以将文本表示112或语音输入102和/或文本输入104(统一描绘和描述为文本查询114)传递给自然语言理解模型120,该模型可以处理和/或分析文本查询114。
在框B504,方法500包括:至少部分地基于所述分析确定对应于用户查询的域标签,至少部分地基于所述分析,确定对应于开放域对话系统或封闭域对话系统中的一个或更多个的域标签。例如,自然语言理解模型120可以被训练为将文本查询114与域标签、意图分类和/或一个或更多个输入槽相关联。
在框B506,方法500包括:访问与被确定为与域标签相关联的封闭域对话系统相对应的一个或更多个请求策略。例如,当文本查询114的域标签对应于确定的域对话系统时,对话管理器130可以访问对话策略管理器138以识别对应的策略。
在框B508,方法500包括:至少部分地基于一个或更多个请求策略,使用第一文本数据生成对封闭域对话系统的请求。例如,基于对应于特定域的一个或更多个策略,对话管理器130可以生成对确定的域对话系统的请求。
在框B510,方法500包括:将请求发送到封闭域对话系统。例如,如果文本查询114与关联于对话规则132中的规则的特定域标签相关联,则可以基于这些规则将文本查询114传送到对应的特定域。
在框B512,方法500包括:响应于请求从封闭域对话系统接收第二文本数据。例如,对话管理器210可以接收来自一个或更多个封闭域对话系统230的响应。
在框B514,方法500包括:将第二文本数据发送到开放域对话系统。例如,对话管理器210可以将从一个或更多个封闭域对话系统230接收到的响应传送到一个或更多个开放域对话系统220。
在框B516,方法500包括:至少部分地基于从封闭域对话系统接收的第二文本数据生成输出。例如,由一个或更多个开放域对话系统220提供的响应然后可以基于更新的内部对话状态并入在一个或更多个开放域对话系统220中保存的状态信息。
示例计算设备
图6为适合用于实现本公开一些实施例的示例计算设备600的框图。计算设备600可以包括直接或间接耦合下列设备的互连系统602:内存604,一个或更多个中央处理单元(CPU)606,一个或更多个图形处理单元(GPU)608,通信接口610,输入/输出(I/O)端口612,输入/输出组件614,电源616,一个或更多个呈现组件618(例如显示器)和一个或更多个逻辑单元620。在至少一个实施例中,计算设备600可以包括一个或更多个虚拟机(VM),和/或其任何组件可以包括虚拟组件(例如,虚拟硬件组件)。对于非限制性示例,一个或更多个GPU 608可以包括一个或更多个vGPU,一个或更多个CPU 606可以包括一个或更多个vCPU,和/或一个或更多个逻辑单元620可以包括一个或更多个虚拟逻辑单元。因此,计算设备600可以包括分立组件(例如,专用于计算设备600的完整GPU)、虚拟组件(例如,专用于计算设备600的GPU的一部分),或其组合。
尽管图6的各个框被示为经由具有线路的互连系统602连接,但是这并不意图是限制性的,并且仅仅为了清楚起见。例如,在一些实施例中,诸如显示设备之类的呈现组件618可以被认为是I/O组件614(例如如果显示器为触摸屏)。作为另一个示例,CPU 606和/或GPU608可以包括内存(例如,内存604可以表示除了GPU 608、CPU 606和/或其他组件的内存以外的存储设备)。换言之,图6的计算设备仅仅是说明性的。在诸如“工作站”、“服务器”、“膝上型电脑”、“台式机”、“平板电脑”、“客户端设备”、“移动设备”、“手持式设备”、“游戏控制台”、“电子控制单元(ECU)”、“虚拟现实系统”和/或其他设备或系统类型之类的类别之间不进行区分,因为所有这些都被考虑在图6的计算设备的范围内。
互连系统602可以表示一条或更多条链路或总线,例如地址总线、数据总线、控制总线或者其组合。互连系统602可以包括一种或更多种链路或总线类型,例如行业标准架构(ISA)总线、扩展行业标准架构(EISA)总线、视频电子标准协会(VESA)总线、外围组件互连(PCI)总线、外围组件互连快速(PCIe)总线,和/或另一种类型的总线或链路。在一些实施例中,组件之间存在直接连接。作为示例,CPU 606可以直接连接到存储器604。此外,CPU 606可以直接连接到GPU 608。在组件之间存在直接或点对点连接的情况下,互连系统602可以包括PCIe链路来执行该连接。在这些示例中,计算设备600中不需要包括PCI总线。
内存604可以包括各种各样的计算机可读介质中的任何介质。计算机可读介质可以是可以由计算设备600访问的任何可用介质。计算机可读介质可以包括易失性和非易失性介质以及可移除和不可移除介质。举例而言且非限制性地,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质可以包括易失性和非易失性介质和/或可移除和不可移除介质,其以用于存储诸如计算机可读指令、数据结构、程序模块和/或其他数据类型之类的信息的任何方法或技术实现。例如,内存604可以存储计算机可读指令(例如其表示程序和/或程序元素,例如操作系统)。计算机存储介质可以包括但不限于RAM、ROM、EEPROM、闪存或者其他存储技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或者可以用来存储期望的信息且可以由计算设备600访问的任何其他介质。当在本文使用时,计算机存储介质并不包括信号本身。
计算机存储介质可以在诸如载波之类的调制数据信号或其他传输机制中包含计算机可读指令、数据结构、程序模块和/或其他数据类型,并且包括任何信息输送介质。术语“调制数据信号”可以指这样的信号,该信号使它的特性中的一个或更多个以这样的将信息编码到该信号中的方式设置或改变。举例而言且非限制性地,计算机存储介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声音、RF、红外和其他无线介质之类的无线介质。任何以上所述的组合也应当包含在计算机可读介质的范围内。
CPU 606可以被配置为执行计算机可读指令中的至少一些,以便控制计算设备600的一个或更多个组件执行本文描述的方法和/或过程中的一个或更多个。CPU 606中的每一个可以包括能够同时处理大量软件线程的一个或更多个核(例如一个、两个、四个、八个、二十八个、七十二个等等)。CPU 606可以包括任何类型的处理器,并且可以包括不同类型的处理器,这取决于实现的计算设备600的类型(例如具有用于移动设备的较少核的处理器以及具有用于服务器的更多核的处理器)。例如,取决于计算设备600的类型,处理器可以是使用精简指令集计算(RISC)实现的高级RISC机制(ARM)处理器或者使用复杂指令集计算(CISC)实现的x86处理器。除了一个或更多个微处理器或者诸如数学协处理器之类的补充协处理器之外,计算设备600还可以包括一个或更多个CPU 606。
除了或替代CPU 606,GPU 608还可以被配置为执行至少一些计算机可读指令,以控制计算设备600的一个或更多个组件执行一个或更多个本文所述的方法和/或过程。一个或更多个GPU 608可以是集成GPU(例如,具有一个或更多个CPU 606)和/或一个或更多个GPU 608可以是离散GPU。在实施例中,一个或更多个GPU 608可以是一个或更多个CPU 606的协处理器。计算设备600可以使用GPU 608来渲染图形(例如,3D图形)或执行通用计算。例如,GPU 608可用于GPU上的通用计算(GPGPU)。GPU 608可以包括能够同时处理数百或数千个软件线程的数百或数千个核。GPU 608可以响应于渲染命令(例如经由主机接口接收的来自CPU 606的渲染命令)而生成用于输出图像的像素数据。GPU 608可以包括诸如显示内存之类的用于存储像素数据或任何其他合适的数据(例如GPGPU数据)的图形内存。显示内存可以作为内存604的部分而被包括。GPU 608可以包括(例如经由链路)并行操作的两个或更多GPU。链路可以直接连接GPU(例如,使用NVLINK),也可以通过交换机(例如,使用NVSwitch)连接GPU。当组合在一起时,每个GPU 608可以生成用于输出的不同部分或者用于不同输出的像素数据或GPGPU数据(例如,第一GPU用于第一图像,第二GPU用于第二图像)。每个GPU可以包括它自己的内存,或者可以与其他GPU共享内存。
除了或替代CPU 606和/或GPU 608,逻辑单元620可以被配置为执行至少一些计算机可读指令,以控制计算设备600的一个或更多个组件来执行本文描述的一种或更多种方法和/或过程。在实施例中,CPU 606、GPU 608和/或逻辑单元620可以离散地或联合地执行方法、过程和/或其部分的任何组合。一个或更多个逻辑单元620可以是一个或更多个CPU606和/或一个或更多个GPU 608的一部分和/或集成在其中和/或一个或更多个逻辑单元620可以是CPU 606和/或GPU 608的离散组件或以其他方式在其外部。在实施例中,一个或更多个逻辑单元620可以是一个或更多个CPU 606和/或一个或更多个GPU 608的处理器。
逻辑单元620的示例包括一个或更多个处理核心和/或其组件,例如张量核心(TC)、张量处理单元(TPU)、像素视觉核心(PVC)、视觉处理单元(VPU)、图形处理集群(GPC)、纹理处理集群(TPC)、流式多处理器(SM)、树遍历单元(TTU)、人工智能加速器(AIA)、深度学习加速器(DLA)、算术逻辑单元(ALU))、专用集成电路(ASIC)、浮点单元(FPU)、输入/输出(I/O)元件、外围组件互连(PCI)或外围组件互连快速(PCIe)元件等。
通信接口610可以包括一个或更多个接收器、发送器和/或收发器,其使得计算设备600能够经由电子通信网络与其他计算设备通信,包括有线和/或无线通信。通信接口610可以包括使能通过若干不同网络中的任何网络进行通信的组件和功能,所述网络例如无线网络(例如Wi-Fi、Z波、蓝牙、蓝牙LE、ZigBee等等)、有线网络(例如通过以太网或InfiniBand通信)、低功率广域网(例如LoRaWAN、SigFox等等)和/或因特网。
I/O端口612可以使得计算设备600能够逻辑地耦合到包括I/O组件614、呈现组件618和/或其他组件在内的其他设备,其中一些可以内置到(例如集成到)计算设备600中。说明性I/O组件614包括麦克风、鼠标、键盘、操纵杆、游戏垫、游戏控制器、碟形卫星天线、浏览仪、打印机、无线设备等等。I/O组件614可以提供处理用户生成的空中手势、语音或其他生理输入的自然用户接口(NUI)。在一些实例中,输入可以传输至适当的网络元件以便进一步处理。NUI可以实现语音识别、手写笔识别、面部识别、生物特征识别、屏幕上和邻近屏幕的手势识别、空中手势、头部和眼睛跟踪以及与计算设备600的显示器关联的触摸识别(如下文更详细地描述的)的任意组合。计算设备600可以包括诸如立体相机系统之类的深度相机、红外相机系统、RGB相机系统、触摸屏技术以及这些的组合,以用于手势检测和识别。此外,计算设备600可以包括使能运动检测的加速度计或陀螺仪(例如作为惯性测量单元(IMU)的部分)。在一些示例中,加速度计或陀螺仪的输出可以由计算设备600用来渲染沉浸式增强现实或者虚拟现实。
电源616可以包括硬接线电源、电池电源或者其组合。电源616可以向计算设备600供电以使得计算设备600的组件能够操作。
呈现组件618可以包括显示器(例如监视器、触摸屏、电视屏幕、平视显示器(HUD)、其他显示器类型或者其组合)、扬声器和/或其他呈现组件。呈现组件618可以接收来自其他组件(例如GPU 608、CPU 606等等)的数据,并且输出该数据(例如作为图像、视频、声音等等)。
示例数据中心
图7示出了示例数据中心700,其可用于本公开的至少一个实施例中。数据中心700可以包括数据中心基础设施层710、框架层720、软件层730和应用层740。
如图7所示,数据中心基础设施层710可以包括资源协调器712、分组的计算资源714和节点计算资源(“节点C.R.”)716(1)-716(N),其中“N”代表任何完整的正整数。在至少一个实施例中,节点C.R.716(1)-716(N)可以包括但不限于任何数量的中央处理单元(“CPU”)或其他处理器(包括加速器、现场可编程门阵列(FPGA)、图形处理器或图形处理单元(GPU)等),内存设备(例如动态只读内存),存储设备(例如固态硬盘或磁盘驱动器),网络输入/输出(“NW I/O”)设备,网络交换机,虚拟机(“VM”),电源模块和冷却模块等。在一些实施例中,节点C.R.716(1)-716(N)中的一个或更多个节点C.R.可以对应于具有一个或更多个上述计算资源的服务器。此外,在一些实施例中,节点C.R.716(1)-716(N)可以包括一个或更多个虚拟组件,例如vGPU、vCPU等,和/或节点C.R.716(1)-716(N)中的一个或更多个可以对应于虚拟机(VM)。
在至少一个实施例中,分组的计算资源714可以包括容纳在一个或更多个机架内的节点C.R.716的单独分组(未示出),或者容纳在各个地理位置的数据中心内的许多机架(也未示出)。分组的计算资源714内的节点C.R.716的单独分组可以包括可以被配置或分配为支持一个或更多个工作负载的分组的计算、网络、内存或存储资源。在至少一个实施例中,可以将包括CPU、GPU和/或其他处理器的几个节点C.R.716分组在一个或更多个机架内,以提供计算资源来支持一个或更多个工作负载。一个或更多个机架还可以包括以任意组合的任何数量的电源模块、冷却模块和/或网络交换机。
资源协调器722可以配置或以其他方式控制一个或更多个节点C.R.716(1)-716(N)和/或分组的计算资源714。在至少一个实施例中,资源协调器722可以包括用于数据中心700的软件设计基础结构(“SDI”)管理实体。资源协调器可以包括硬件、软件或其某种组合。
在至少一个实施例中,如图7所示,框架层720可以包括作业调度器732、配置管理器734、资源管理器736和分布式文件系统738。框架层720可以包括支持软件层730的软件732和/或应用程序层740的一个或更多个应用程序742的框架。软件732或应用程序742可以分别包括基于Web的服务软件或应用程序,例如由Amazon Web Services,Google Cloud和Microsoft Azure提供的服务软件或应用程序。框架层720可以是但不限于一种免费且开源的软件网络应用框架,例如可以利用分布式文件系统738来进行大规模数据处理(例如“大数据”)的Apache SparkTM(以下称为“Spark”)。在至少一个实施例中,作业调度器732可以包括Spark驱动器,用于促进对数据中心700的各个层所支持的工作负载进行调度。在至少一个实施例中,配置管理器734可以能够配置不同的层,例如软件层730和包括Spark和用于支持大规模数据处理的分布式文件系统738的框架层720。资源管理器736能够管理映射到或分配用于支持分布式文件系统738和作业调度器732的集群或分组计算资源。在至少一个实施例中,集群或分组计算资源可以包括数据中心基础设施层710处的分组的计算资源714。资源管理器736可以与资源协调器712协调以管理这些映射的或分配的计算资源。
在至少一个实施例中,包括在软件层730中的软件732可以包括由节点C.R.716(1)-716(N)的至少部分,分组的计算资源714和/或框架层720的分布式文件系统738使用的软件。一种或更多种类型的软件可以包括但不限于Internet网页搜索软件、电子邮件病毒浏览软件、数据库软件和流视频内容软件。
在至少一个实施例中,应用层740中包括的一个或更多个应用程序742可以包括由节点C.R.716(1)-716(N)的至少部分、分组的计算资源714和/或框架层720的分布式文件系统738使用的一种或更多种类型的应用程序。一种或更多种类型的应用程序可以包括但不限于任何数量的基因组学应用程序,认知计算和机器学习应用程序,包括训练或推理软件,机器学习框架软件(例如PyTorch、TensorFlow、Caffe等)和/或其他与一个或更多个实施例结合使用的机器学习应用程序。
在至少一个实施例中,配置管理器734、资源管理器736和资源协调器712中的任何一个可以基于以任何技术上可行的方式获取的任何数量和类型的数据来实现任何数量和类型的自我修改动作。自我修改动作可以减轻数据中心700的数据中心操作员做出可能不好的配置决定并且可以避免数据中心的未充分利用和/或行差的部分。
数据中心700可以包括工具、服务、软件或其他资源,用于根据本文所述的一个或更多个实施例来训练一个或更多个机器学习模型或者使用一个或更多个机器学习模型来预测或推理信息。例如,可以通过使用上文关于数据中心700描述的软件和计算资源,根据神经网络架构计算权重参数来训练机器学习模型。在至少一个实施例中,通过使用通过一种或更多种训练技术计算出的权重参数,可以使用上面与关于数据中心700所描述的资源,使用对应于一个或更多个神经网络的经训练的机器学习模型来推理或预测信息,例如但不限于本文所述的那些。
在至少一个实施例中,数据中心700可以使用CPU、专用集成电路(ASIC)、GPU、FPGA和/或其他硬件(或与之对应的虚拟计算资源)来使用上述资源来执行训练和/或推理。此外,上述的一个或更多个软件和/或硬件资源可以配置成一种服务,以允许用户训练或执行信息推理,例如图像识别、语音识别或其他人工智能服务。
示例网络环境
适用于实现本公开的实施例的网络环境可以包括一个或更多个客户端设备、服务器、网络附加存储(NAS)、其他后端设备和/或其他设备类型。客户端设备、服务器和/或其他设备类型(例如,每个设备)可以在图6的计算设备600的一个或更多个实例上实现—例如,每个设备可以包括计算设备600的类似组件、特征和/或功能。此外,在实现后端设备(例如,服务器、NAS等)的情况下,后端设备可以是作为数据中心700的一部分而被包括的,其示例在此关于图7更详细地描述。
网络环境的组件可以通过网络彼此通信,网络可以是有线、无线或两者。网络可以包括多个网络,或者多个网络中的网络。举例来说,网络可以包括一个或更多个广域网(WAN)、一个或更多个局域网(LAN)、一个或更多个公共网络(例如因特网和/或公共交换电话网(PSTN))、和/或一个或更多个专用网络。在网络包括无线电信网络的情况下,诸如基站、通信塔或甚至接入点(以及其他组件)之类的组件可以提供无线连接。
兼容的网络环境可以包括一个或更多个对等网络环境(在这种情况下服务器可能不包括在网络环境中),以及一个或更多个客户端-服务器网络环境(在这种情况下一个或更多个服务器可以包含在网络环境中)。在对等网络环境中,本文描述的关于服务器的功能可以在任意数量的客户端设备上实现。
在至少一个实施例中,网络环境可以包括一个或更多个基于云的网络环境、分布式计算环境、它们的组合等。基于云的网络环境可以包括框架层、作业调度器、资源管理器,以及在一个或更多个服务器上实现的分布式文件系统,这些服务器可以包括一个或更多个核心网络服务器和/或边缘服务器。框架层可以包括用于支持软件层的软件和/或应用层的一个或更多个应用程序的框架。软件或应用程序可分别包括基于网络的服务软件或应用程序。在实施例中,一个或更多个客户端设备可以使用基于网络的服务软件或应用程序(例如,通过经由一个或更多个应用程序编程接口(API)访问服务软件和/或应用程序)。框架层可以是但不限于一种类型的免费且开源软件网络应用程序框架,例如可以使用分布式文件系统进行大规模数据处理(例如,“大数据”)。
基于云的网络环境可以提供执行本文描述的计算和/或数据存储功能(或其一个或更多个部分)的任何组合的云计算和/或云存储。这些各种功能中的任何一个都可以分布在来自(例如,可以分布在州、地区、国家、全球等地的一个或更多个数据中心的)中央或核心服务器的多个位置。如果到用户(例如,客户端设备)的连接相对靠近边缘服务器,则核心服务器可以将功能的至少一部分指定给边缘服务器。基于云的网络环境可以是私有的(例如,仅限于单个组织),可以是公共的(例如,对许多组织可用),和/或其组合(例如,混合云环境)。
客户端设备可以包括本文关于图6描述的示例计算设备600的至少一些组件、特征和功能。作为示例而非限制,客户端设备可以体现为个人计算机(PC)、膝上型计算机、移动设备、智能手机、平板计算机、智能手表、可穿戴计算机、个人数码助理(PDA)、MP3播放器、虚拟现实头戴式显示器、全球定位系统(GPS)或设备、视频播放器、摄像机、监视设备或系统、车辆、船只、飞行器、虚拟机器、无人机、机器人、手持通信设备、医院设备、游戏设备或系统、娱乐系统、车载计算机系统、嵌入式系统控制器、遥控器、电器、消费电子设备、工作站、边缘设备、这些描述设备的任意组合或任何其他合适的设备。
本公开可以在由计算机或者诸如个人数字助理或其他手持式设备之类的其他机器执行的、包括诸如程序模块之类的计算机可执行指令的机器可使用指令或者计算机代码的一般背景下进行描述。通常,包括例程、程序、对象、组件、数据结构等等的程序模块指的是执行特定任务或者实现特定抽象数据类型的代码。本公开可以在各种各样的系统配置中实践,这些配置包括手持式设备、消费电子器件、通用计算机、更专业的计算设备等等。本公开也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。
如在本文中使用的,“和/或”关于两个或更多元素的叙述应当解释为仅指一个元素或者元素组合。例如,“元素A、元素B和/或元素C”可以包括仅仅元素A,仅仅元素B,仅仅元素C,元素A和元素B,元素A和元素C,元素B和元素C,或者元素A、B和C。此外,“元素A或元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。进一步,“元素A和元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。
这里详细地描述了本公开的主题以满足法定要求。然而,描述本身并非意在限制本公开的范围。相反地,本发明人已经设想到,要求保护的主题也可以以其他的方式具体化,以包括与本文中结合其他当前或未来技术描述的步骤不同的步骤或者相似的步骤的组合。而且,尽管术语“步骤”和/或“块”在本文中可以用来隐含采用的方法的不同元素,但是这些术语不应当被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非明确描述了各步骤的顺序。

Claims (22)

1.一种处理器,包括处理电路,用于:
分析表示用户查询的查询数据;
至少部分地基于所述分析,生成对应于所述用户查询的域标签;
当所述域标签对应于开放域对话系统时,将所述查询数据传送至所述开放域对话系统;
当所述域标签对应于封闭域对话系统时:
至少部分地基于所述域标签访问对应于所述封闭域对话系统的一个或更多个请求策略;
至少部分地基于所述一个或更多个请求策略,使用所述查询数据生成对所述封闭域对话系统的请求;以及
将所述请求传送到所述封闭域对话系统;
响应于所述查询数据从所述开放域对话系统或响应于所述请求从所述封闭域对话系统中的至少一个接收响应数据;以及
至少部分地基于所述响应数据生成输出。
2.如权利要求1所述的处理器,其中所述处理电路还用于:
接收对应于所述用户查询的音频数据;以及
至少部分地基于所述音频数据生成所述查询数据。
3.如权利要求1所述的处理器,其中所述输出包括对应于所述响应数据的文本的显示或与使用一种或更多种文本到语音算法而从所述响应数据生成的音频数据相对应的音频中的至少一个。
4.如权利要求1所述的处理器,其中所述一个或更多个请求策略包括用所述查询数据的一个或更多个部分填充对应于所述请求的一个或更多个输入槽。
5.如权利要求1所述的处理器,其中:
所述一个或更多个请求策略包括用来自对话状态跟踪器的信息填充对应于所述请求的一个或更多个输入槽;以及
所述对话状态跟踪器跟踪包括所述用户查询的正在进行的谈话的上下文。
6.如权利要求1所述的处理器,其中,当所述域标签对应于所述封闭域对话系统时,将从所述封闭域对话系统接收到的所述响应数据被传送到所述开放域对话系统,以允许所述开放域对话系统维持包括所述用户查询和所述输出的正在进行的谈话的上下文。
7.如权利要求1所述的处理器,其中,当所述域标签对应于所述封闭域对话系统时,所述查询数据被传送到所述开放域对话系统,以允许所述开放域对话系统维持包括所述用户查询的正在进行的谈话的上下文。
8.如权利要求1所述的处理器,其中所述开放域对话系统被训练以将响应朝向与所述封闭域对话系统或一个或更多个附加封闭域对话系统中的至少一个相关联的域进行偏置。
9.如权利要求1所述的处理器,其中所述处理器包括在以下项中的至少一项中:
用于自主或半自主机器的系统;
使用边缘设备实现的系统;
使用机器人实现的系统;
包含一个或更多个虚拟机(VM)的系统;
至少部分地在数据中心中实现的系统;或
至少部分地使用云计算资源实现的系统。
10.一种系统,包括:
一个或更多个处理单元;和
一个或更多个存储器单元,用于存储指令,所述指令在由所述一个或更多个处理单元执行时,使所述一个或更多个处理单元执行操作,所述操作包括:
分析表示用户查询的第一查询数据;
至少部分地基于所述分析确定对应于所述用户查询的域标签,所述域标签对应于开放域对话系统或封闭域对话系统中的一个或更多个;
访问对应于所述封闭域对话系统的被确定为与所述域标签相关联的一个或更多个请求策略;
至少部分地基于所述一个或更多个请求策略,使用所述第一查询数据生成对所述封闭域对话系统的请求;
向所述封闭域对话系统发送所述请求;
响应于所述请求从所述封闭域对话系统接收第二查询数据;
将所述第二查询数据发送至所述开放域对话系统;以及
至少部分地基于从所述封闭域对话系统接收的所述第二查询数据而生成输出。
11.如权利要求10所述的系统,其中所述操作还包括:
将所述第一查询数据发送到所述开放域对话系统,
其中所述第一查询数据和所述第二查询数据使所述开放域对话系统更新由所述开放域对话系统维护的对话状态跟踪器。
12.如权利要求10所述的系统,其中所述操作还包括:
接收对应于所述用户查询的音频数据;以及
至少部分地基于音频数据生成所述第一查询数据。
13.如权利要求10所述的系统,其中所述输出包括对应于所述第二查询数据的文本的显示或与使用一种或更多种文本到语音算法而从所述第二查询数据生成的音频数据相对应的音频中的至少一个。
14.如权利要求10所述的系统,其中所述一个或更多个请求策略包括用所述第一查询数据的一个或更多个部分填充对应于所述请求的一个或更多个输入槽。
15.如权利要求10所述的系统,其中:
所述一个或更多个请求策略包括用来自对话状态跟踪器的信息填充对应于所述请求的一个或更多个输入槽;以及
所述对话状态跟踪器跟踪包括所述用户查询的正在进行的谈话的上下文。
16.如权利要求10所述的系统,其中所述开放域对话系统被训练以将响应朝向与所述封闭域对话系统或一个或更多个附加封闭域对话系统中的至少一个相关联的域进行偏置。
17.如权利要求10所述的系统,其中所述系统包括在以下项中的至少一项中:
用于自主或半自主机器的系统;
使用边缘设备实现的系统;
使用机器人实现的系统;
包含一个或更多个虚拟机(VM)的系统;
至少部分地在数据中心中实现的系统;或
至少部分地使用云计算资源实现的系统。
18.一种方法,包括:
分析表示用户查询的文本数据;
至少部分地基于所述分析,生成对应于所述用户查询的域标签;
当所述域标签对应于开放域对话系统时,将所述文本数据传送至所述开放域对话系统;
当所述域标签对应于封闭域对话系统时:
至少部分地基于所述域标签访问对应于所述封闭域对话系统的一个或更多个请求策略;
至少部分地基于所述一个或更多个请求策略,使用所述文本数据生成对所述封闭域对话系统的请求;以及
将所述请求传送到所述封闭域对话系统;
从所述开放域对话系统或所述封闭域对话系统中的至少一个接收响应文本数据;以及
至少部分地基于所述响应文本数据生成输出。
19.如权利要求18所述的方法,还包括:
接收对应于所述用户查询的音频数据;以及
至少部分地基于音频数据生成文本表示。
20.如权利要求18所述的方法,其中所述一个或更多个请求策略包括用所述文本数据的一个或更多个部分填充对应于所述请求的一个或更多个输入槽。
21.如权利要求18所述的方法,其中所述一个或更多个请求策略包括用来自对话状态跟踪器的信息填充对应于所述请求的一个或更多个输入槽,其中所述对话状态跟踪器跟踪包括所述用户查询的正在进行的谈话的上下文。
22.如权利要求18所述的方法,其中当所述域标签对应于所述封闭域对话系统时,将从所述封闭域对话系统接收的所述响应文本数据被传送到所述开放域对话系统,以允许所述开放域对话系统维持包括所述用户查询和所述输出的正在进行的谈话的上下文。
CN202210238235.9A 2021-03-31 2022-03-11 具有封闭域和开放域对话集成的对话式ai平台 Pending CN115146038A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/218,751 2021-03-31
US17/218,751 US11568861B2 (en) 2021-03-31 2021-03-31 Conversational AI platforms with closed domain and open domain dialog integration

Publications (1)

Publication Number Publication Date
CN115146038A true CN115146038A (zh) 2022-10-04

Family

ID=81449459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210238235.9A Pending CN115146038A (zh) 2021-03-31 2022-03-11 具有封闭域和开放域对话集成的对话式ai平台

Country Status (4)

Country Link
US (3) US11568861B2 (zh)
CN (1) CN115146038A (zh)
DE (1) DE102022106956A1 (zh)
GB (1) GB2607985A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11568861B2 (en) 2021-03-31 2023-01-31 Nvidia Corporation Conversational AI platforms with closed domain and open domain dialog integration
US12008991B2 (en) * 2021-05-27 2024-06-11 Soundhound Ai Ip, Llc Enabling natural language interactions with user interfaces for users of a software application

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI237991B (en) * 2004-06-28 2005-08-11 Delta Electronics Inc Integrated dialogue system and method thereof
US9547641B2 (en) * 2013-09-26 2017-01-17 International Business Machines Corporation Domain specific salient point translation
US11568861B2 (en) 2021-03-31 2023-01-31 Nvidia Corporation Conversational AI platforms with closed domain and open domain dialog integration

Also Published As

Publication number Publication date
US12057113B2 (en) 2024-08-06
US11568861B2 (en) 2023-01-31
US20220319503A1 (en) 2022-10-06
US11769495B2 (en) 2023-09-26
GB2607985A (en) 2022-12-21
GB202204492D0 (en) 2022-05-11
US20230120989A1 (en) 2023-04-20
US20230317067A1 (en) 2023-10-05
DE102022106956A1 (de) 2022-10-06

Similar Documents

Publication Publication Date Title
JP7108122B2 (ja) コンピュータによるエージェントのための合成音声の選択
US20210358188A1 (en) Conversational ai platform with rendered graphical output
US11741949B2 (en) Real-time video conference chat filtering using machine learning models
US12057113B2 (en) Using a natural language model to interface with a closed domain system
US20230259540A1 (en) Conversational ai platform with extractive question answering
US12112147B2 (en) Machine learning application deployment using user-defined pipeline
CN114816315A (zh) 用于音频和视频会议应用的音量控制
US10991361B2 (en) Methods and systems for managing chatbots based on topic sensitivity
US11481401B2 (en) Enhanced cognitive query construction
US20230153612A1 (en) Pruning complex deep learning models based on parent pruning information
US20240363104A1 (en) Using a natural language model to interface with a closed domain system
JP2023070000A (ja) 対話環境におけるニューラル・ネットワークを使用したユーザの意図及び関連するエンティティの認識
JP2023551169A (ja) 何らかの音声コマンドを実行する間にar(拡張現実)ベースで周囲からの音を選択的に包含すること
US20230205797A1 (en) Determining intents and responses using machine learning in conversational ai systems and applications
US20240176808A1 (en) Query response generation using structured and unstructured data for conversational ai systems and applications
US20240193445A1 (en) Domain-customizable models for conversational ai systems and applications
US20240062014A1 (en) Generating canonical forms for task-oriented dialogue in conversational ai systems and applications
CN118113823A (zh) 使用用于会话ai系统和应用的结构化和非结构化数据的查询响应生成
US20240184991A1 (en) Generating variational dialogue responses from structured data for conversational ai systems and applications
US20210406689A1 (en) Random Action Replay for Reinforcement Learning

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