具有提取问答的会话式AI平台的制作方法
未命名
08-22
阅读:82
评论:0
具有提取问答的会话式ai平台
背景技术:
1.跨各个平台使用会话式人工智能(ai)助理来实现用户的口头请求。例如,智能设备(如电话、计算机、平板电脑、显示器和扬声器)可以使用ai助理来与用户的对于信息(例如,天气、新闻、财务信息等)的口头请求和/或用于智能设备或通信耦合设备(例如,播放歌曲、装备安全系统、订购项目等)的激活进行交互。此外,这些ai助理可以响应于请求在显示器上显示信息——例如,加载网页、执行音乐应用程序的图形用户界面、提供任务完成的视觉指示符、显示所请求的视频剪辑、表演或电影等。然而,这些传统的ai助理具有构建对话存储器的有限能力,并且通常仅能够回答与先前存储的信息相关的查询。因此,当某些信息丢失(例如,用户喜爱的餐厅的名称、家庭地址等)时,传统的ai助理不能填写该丢失的信息,或者当提示该信息时有效地回复。此外,这些传统的ai助理通常需要针对它们被使用的每个特定域被编程,因此需要针对每个单独域存储单独的域特定信息。因此,即使在来自一个域的信息对另一域可能有用的情况下,传统的ai助理也经常需要再次向另一域输入或提供相同的信息。
技术实现要素:
2.本公开的实施例涉及一种具有提取问答的会话式人工智能(ai)平台。公开了包括会话式ai平台(例如,包括虚拟助理)的系统和方法,会话式ai平台维护用于生成对查询(例如,用户查询)的响应的结构化和非结构化存储器两者。在示例中,会话式ai平台维护非结构化数据(例如,文档或其他非结构化数据结构),包括与特定用户的交互,所述交互可以用于生成对查询的响应和/或生成要存储在结构化存储器(例如,会话式ai平台的短期存储器或长期存储器)中的数据。因此,这个非结构化数据可用于跨各种不同域交互,而无需要求对每一不同域的相同信息的单独请求。
3.与诸如以上所描述的那些的常规系统相反,会话式ai平台可以生成对包括未定义和/或未知术语的查询的响应。在一个示例中,用户询问(例如,视频、音频、文本和/或来自用户输入设备的其他输入)“我的家乡的天气是什么”,其中用户的家乡没有被会话式ai平台定义(例如,没有存储在结构化数据中和/或没有包括在结构化数据的所定义的键值对的集合中)在何处。在这样的示例中,经训练的问答(qna)模型执行对与用户相关联的非结构化数据的搜索以确定和/或提取用户的家乡。至少部分地基于通过qna模型的搜索的结果,例如,生成对查询的响应。返回以上示例,其中非结构化数据包括指示用户的家乡是“旧金山”的记录,会话式ai平台然后用“旧金山”替换查询中的“用户的家乡”。照此,从用户接收的音频、文本、视频和/或其他用户输入数据由执行会话式ai平台的系统处理并用于渲染ai代理(例如,会话式ai平台的组件)的视频、音频和/或文本响应,然后由与执行会话式ai平台相关联的一个或更多个设备(例如,显示器、扬声器等)显示或输出。此外,在各个实施例中,从用户接收的用户输入数据和由会话式ai平台生成的响应被维护为由qna模型用来提取用于生成响应的信息的非结构化数据。
4.在各个示例中,此非结构化数据包括会话历史的记录和/或用户与会话式ai平台
和/或其组件(如ai代理)之间的交互的日志。例如,会话式ai平台为各个用户维护单独的非结构化数据结构(例如,文档),包含在特定用户和会话式ai平台之间交换的查询、响应和其他数据。照此,至少部分地基于用户和会话式ai平台之间的交互随时间生成非结构化数据。此外,在各个示例中,会话式ai平台维护包括用于各个定义的槽的键值对的结构化数据(例如,短期存储器或长期存储器)。例如,会话式ai平台可以包括存储值“旧金山”的键“家乡”。在各个示例中,从非结构化数据中提取与特定键相关联的值。
5.当用户向会话式ai平台呈现查询时,例如,会话式ai平台首先搜索结构化数据(例如,至少部分地基于从查询提取的数据的关键字搜索),然后,如果搜索不成功(例如,结构化数据不包含相应的键或不包含预该键相对应的值),则搜索非结构化数据。与需要定义键值对的结构化数据相反,本公开中描述的非结构化数据不需要定义的数据,因此可以为会话式ai平台提供更大的灵活性和响应性。在一个示例中,会话式ai平台不包括与“最喜欢的餐馆”相关联的定义的键,但是仍然能够至少部分地基于包括指示用户的最喜欢的餐馆的数据的非结构化数据对查询“在我最喜欢的餐馆进行预订”做出响应。
附图说明
6.下面参考附图详细描述用于具有提取问答的会话式人工智能(ai)平台的本系统和方法,其中:
7.图1是根据本公开的至少一个实施例的示例会话式ai平台的框图;
8.图2是根据本公开的至少一个实施例的用于至少部分地基于会话式ai平台的非结构化存储器生成响应的方法的框图;
9.图3是根据本公开的至少一个实施例的用于生成对查询的响应的方法的框图;
10.图4是根据本公开的至少一个实施例的示例会话式ai平台的框图;
11.图5是根据本公开的至少一个实施例的示例会话式ai平台的框图;
12.图6是适用于实现本公开的一些实施例的示例计算设备的框图;以及
13.图7是适用于实现本公开的一些实施例的示例数据中心的框图。
具体实施方式
14.公开了与具有提取问答的会话式人工智能(ai)平台相关的系统和方法。在各个实施例中,会话式ai平台(例如,虚拟助理、智能扬声器、客户支持应用等)维护结构化存储器和非结构化存储器以生成对查询的响应。在示例中,会话式ai平台维护非结构化数据(例如,文档或其他非结构化数据结构),包括与特定用户的交互,所述交互可以用于生成对查询的响应和/或生成结构化存储器(例如,短期存储器)的数据。在这样的示例中,与用户的交互包括表示会话式ai平台和用户之间通信的文本数据(例如,“现在洛杉矶的天气是什么”;“洛杉矶的天气是七十二并且晴”)。在实施例中,非结构化数据包括文档,该文档包含会话式ai平台和特定用户之间的交互(例如,语句、查询和响应)的转录和/或日志。
15.在各个实施例中,会话式ai平台维持的结构化存储器包括一组定义的键值对。在一个示例中,会话式ai平台维护数据结构(例如,存储为定义键值对的javascript对象表示法(json)数据对象的数据库),其包括一组槽和具有与查询相关联的意图和槽的经训练的分类器标记查询,以使得会话式ai平台能够响应查询。在具体示例中,用户提供查询“给我
到家的路线”,以及自然语言处理(nlp)模型标记意图(例如,检索数据)和与查询相关联的一个或更多个槽(例如,地点“家”),会话式ai平台然后从结构化数据检索数据(例如,与“家”相关联的地址)以便生成对查询的响应。
16.在各个实施例中,激活触发器被提供给会话式ai平台和/或其组件——诸如自动语音识别(asr)应用——并且asr应用向会话式ai平台的对话管理器提供查询的文本表示和用户识别信息。在各个实施例中,对话管理器维护与用户相关联的个性化数据,其中个性化数据使会话式ai平台能够生成对查询的响应并支持后续上下文查询。此外,在实施例中,个性化数据允许会话式ai平台至少部分地基于自然语言理解模型使用提取问答(qna)模型从非结构化数据(例如,包含用户交互历史的文档)提取响应中使用的数据。在至少一个示例中,qna模型生成关于用户的个性化数据,该个性化数据可与一个或更多个其他用户分开存储。
17.在实施例中,用户与会话式ai平台交互以存储和检索信息。例如,用户可以指示会话式ai平台存储信息(例如,“记住我明天中午有会议”)。在这样的示例中,对话管理器将信息存储在非结构化存储器中以供稍后检索。在各种实施方式中,如果用户随后提供对该信息的查询(例如,“我明天什么时候开会?”)会话式ai平台标记查询(例如,至少部分地基于表示查询的文本数据的槽值)并且至少部分地基于标记搜索结构化数据。如果对结构化数据的搜索失败,则qna模型可搜索与用户相关联的非结构化数据(例如,至少部分地基于与非结构化数据相关联的用户标识符)。在各个实施例中,从非结构化数据中提取的数据被用于生成响应。返回到上面的示例,qna模型从非结构化数据中提取“中午”作为会议时间,并且会话式ai平台将所提取的值包括在响应中,并且向文本到语音应用提供响应,如下面更详细描述的。
18.在各个实施例中,如果qna模型不能提取与槽相关联的数据(例如,在查询中请求的数据),会话式ai平台可以生成对用户的未知值的查询(例如,其中值未定义和/或未从非结构化数据中提取的槽标签)。例如,如果用户询问“从我最喜欢的餐厅订购食物”并且qna模型不能提取与槽“最喜欢的餐厅”相关联的数据(例如,没有值从非结构化数据提取和/或提取的置信度值相关联的值低于阈值),会话式ai平台可以生成包括对用户的查询“你最喜欢的餐厅是什么?”的响应。“在这样的示例中,会话式ai平台将用户的响应存储在结构(例如,如果槽被定义为键值对)和/或非结构化数据中。以这种方式,在各个实施例中,会话式ai平台使用表示交互历史的非结构化数据来生成响应并且消除与其他封闭域查询相关的缺失和/或未定义的槽值的歧义。例如,qna模型可以从与第一域(例如,天气、家庭、食物订购)相关联的非结构化数据中提取数据并且将所提取的值用于第二域(例如,导航方向)。
19.参考图1,图1是根据本公开的一些实施例的会话式ai平台100的示例。应当理解,本文所述的这种和其他布置仅作为示例进行阐述。除了或代替所示的布置和元件,可使用其他布置和元件(例如,机器、接口、功能、次序、功能分组等),并且可完全省略一些元件。进一步,本文描述的许多元件是可以被实现为分立或分布式组件或与其他组件结合、和以任何合适的组合和位置的功能实体。本文描述为由实体执行的各个功能可由硬件、固件和/或软件执行。例如,各个功能可以通过处理器执行存储在存储器中的指令来实现。在一些实施例中,系统100可以包括与本文更详细描述的图6的示例计算设备600和/或图7的示例数据中心700类似的特征、功能和/或组件。
20.在各个实施例中,会话式ai平台100的组件获得激活触发器132。激活触发器132例如可以包括单个动作或多个动作,诸如手势、触发词和/或短语、嘴唇移动、凝视相机、密码、提供生物测定数据、和/或可以由执行会话式ai平台100或其组件的系统的一个或更多个传感器捕获的其他动作——诸如下面更详细描述的主机设备406和/或506。在实施例中,作为会话式ai平台100检测到激活触发器132的结果,可以触发自动语音识别(asr)102。在一个示例中,连接到会话式ai平台的麦克风响应于激活触发器132捕获一个或更多个用户的音频。在另一示例中,激活触发器132使会话式ai平台获得在时间间隔期间(例如,在检测到激活触发器132之前和/或之后)捕获的传感器数据。
21.在各个实施例中,会话式ai平台100确定与激活触发器132相关联的特定用户和/或与激活触发器132相关联的传感器数据(例如,说话者标识、面部识别、登录凭证等)。在一个示例中,视频和/或音频数据用于确定与激活触发器132相关联的用户识别信息(例如,用户id)和/或从用户获得的查询。在另一示例中,用户在会话式ai平台检测到激活触发之前向会话式ai平台提供登录凭证或其他识别信息。在其他实施例中,主机设备或其他计算设备检测激活触发器132并且将传感器数据提供给会话式ai平台以用于asr 102。
22.在各个实施例中,asr 102将音频数据转换成由会话式ai平台100和/或其组件(如对话管理器104)使用的文本。在示例中,asr 102可以包括将音频数据转换成对应的文本数据或会话式ai平台100可用的其他数据的软件或其他可执行代码。在各个实施例中,作为对传感器数据执行asr 102的结果而获得的数据(例如所得文本查询)可以与用户识别信息相关联以允许会话式ai平台100使用与用户识别信息相关联的个性化信息(例如文档和/或其他用户数据)。在一个实施例中,至少部分地基于计算机视觉、语音检测、用户登录信息等确定用户识别信息,其中会话式ai平台100使用用户识别信息相对于会话式ai平台100的一个或更多个其他用户唯一地标识特定用户。在各个实施例中,用户识别信息与多个结构化数据结构(例如,长期存储器112和/或短期存储器114)和/或多个非结构化数据结构(例如,文档124)相关联。
23.在各个实施例中,会话式ai平台100包括对话管理器104、个性化信息108、长期存储器112、短期存储器114、联合意图槽分类器116、问答模型(qna)116、文档124和自然语言处理模型120。如上所述,图1中示出的组件包括源代码或其他可执行逻辑,其作为由计算机系统(例如,服务器计算机)的一个或更多个处理器执行的结果,导致计算机系统执行本公开中描述的各种操作。在一个示例中,对话管理器104获得文本查询,并且使用长期存储器112、短期存储器114、联合意图槽分类器116、问答模型(qna)116、文档124、和/或自然语言处理模型120中的一个或更多个来生成响应。
24.在各个实施例中,个性化信息108允许对话管理器104判定文本查询包括个性化查询还是非个性化查询。在一个示例中,文本查询“设置一分钟定时器”被视为非个性化查询,并且文本查询“家中的天气如何?”被视为个性化查询。在各个实施例中,对包括来自长期存储器112、短期存储器114和/或文档124的数据的查询的响应是个性化查询。在一个实施例中,联合意图槽分类器116对包括在文本查询中的一个或更多个槽进行分类(例如,加标签),并且至少部分地基于与查询相关联的分类,对话管理器104确定查询是否是个性化查询。在一个示例中,联合意图槽分类器116包括用于对查询的一个或更多个组件(诸如位置、域、语音组件、查询类型等)进行分类的经训练的模型。
25.在实施例中,如果文本查询包括个性化查询,则对话管理器104至少部分地基于来自联合意图槽分类器116的标记槽(例如,分类)来搜索长期112和/或短期存储器114。在示例中,文本查询包括查询“家中天气怎么样?”当联合意图槽分类器116将位置“家”标记为未知时,对话管理器104在长期存储器112中搜索标记为家的槽。在这样的示例中,长期存储器112包括键值对,其中定义了槽(例如,键)“家(home)”。在各个实施例中,长期存储器112和短期存储器114包括数据结构(例如,json数据对象),所述数据结构包括标签和/或键和相关联的值。返回至以上示例,键“家”在长期存储器112内可以具有对应值“圣克拉拉”。在各个实施例中,如果键和/或值不包括在长期存储器112和/或短期存储器114中,则对话管理器104使qna模型118对文档124搜索未知位置/值(例如,“家”)。
26.在实施例中,联合意图槽分类器116确定文本查询的意图。在示例中,文本查询包括存储数据的意图(例如,“为我下周在波士顿的会议设置提醒”)。在这样的示例中,对话管理器104使文本查询中的信息存储在文档124、短期存储器114和/或长期存储器112中,使得可以随后检索文本查询中的信息(例如,“波士顿”作为会议的位置)。在一个实施例中,对话管理器104可以通过至少从文档124、短期存储器114和/或长期存储器112中获得与一个或更多个元素相关联的数据来消除文本查询的一个或更多个元素的歧义。返回以上示例,如果用户稍后问“我下周的会议在哪里?”,对话管理器104可至少部分地基于从联合意图槽分类器116和文本查询获得的数据来确定消除会议的位置的歧义。
27.在各个实施例中,对话管理器104搜索长期存储器112以消除文本查询的歧义(例如,搜索键“会议地点”以获得值“波士顿”)。此外,在这样的实施例中,如果对长期存储器112的搜索不返回结果,则对话管理器104使qna模型118搜索文档124。在一个示例中,qna模型118包括被训练来至少部分地基于文本查询来搜索文档124的一个或更多个模型。在各个实施例中,qna模型118执行闭域问答和/或开域问答。此外,在各个实施例中,通过qna模型118从文档124获得的数据可用于跨域的搜索。在示例中,对话管理器104至少部分地基于对应于来自第二域(例如,天气)的“家”的数据生成对由用户提供的由第一域内的文本查询“给我回家的路线”(例如,导航)表示的查询的响应。
28.在搜索返回结果(例如,从文档124、短期存储器114和/或长期存储器112获得与该槽相对应的数据)的实施例中,文本查询被修改并且被提供给自然语言处理(nlp)模型120。在一个实例中,文本查询“我家乡的天气是什么?”改成“圣克拉拉的天气是什么?其中,作为搜索一个或更多个文档124的结果,从qna模型118获得值“圣克拉拉”。在各个实施例中,如果对话管理器104未能获取与联合意图槽分类器116所标识的一个或更多个槽相关联的数据,则对话管理器104生成响应以从用户处获取数据。返回至以上示例,如果位置“家乡”未存储在结构化数据结构(例如,长期存储器112)或非结构化数据结构(例如,文档124)中,则对话管理器生成响应以获得与“家乡”相关联的值(例如,“你的家乡是什么?”)。
29.在各个实施例中,经修改的文本查询(例如,当从结构化数据和/或非结构化数据获取与槽相关联的数据时)然后被提供给一个或更多个nlp模型120以生成响应。此外,在各个实施例中,文本查询和响应被存储在一个或更多个文档124中。例如,从特定用户获得的查询和针对特定用户生成的响应被存储在与用户相关联的特定文档中。
30.现在参见图2和3,本文描述的方法200和300的每个框包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,各个功能可以通过处理器执行存储在存储器
中的指令来实现。这些方法还可以体现为存储在计算机存储介质上的计算机可用指令。所述方法可由独立应用、服务或托管服务(独立或与其他托管服务组合)或到另一产品的插件提供,仅举几例。此外,通过实例,关于图1的会话式ai平台100描述方法200和300。然而,这些方法可以另外地或可替代地由任何一个系统或系统的任何组合来执行,这些系统包括但不限于本文描述的那些系统。此外,在各个实施例中,方法200和/或300的框串行地和/或并行地执行,并且框可被移除和/或附加步骤或操作可被添加到方法200和300。
31.图2是示出了根据本公开的一些实施例的由会话式ai平台生成对查询的响应的方法200的流程图。在框b202处,方法200包括接收至少部分地基于音频流、文本流和/或视频流中的一个或更多个生成的查询,所述音频流、文本流和/或视频流与和会话式ai平台的实例通信地耦合的用户设备相关联。例如,如以下结合图4和图5更详细地描述的,通过一个或更多个ai代理设备402接收使用一个或更多个用户设备404生成的音频、视频和/或文本流。在各个实施例中,查询包括由asr算法至少部分地基于从用户捕获或以其他方式获得的音频、视频和/或文本生成的文本。
32.在一个实施例中,执行方法200的系统在框204处确定该查询的一个或更多个部分以进行消歧。在一个示例中,将文本查询的一个或更多个术语标记为未知(例如,未知位置、未知人、未知对象等),并且系统执行方法200尝试消除术语的歧义。例如,文本查询“打开我的汽车”,或者“外面的天气是什么?”包括歧义术语“汽车”和“外部”,会话式ai平台对其消除歧义,以便生成对查询的响应。
33.在实施例中,在框206处,系统执行方法200,确定将对该术语消歧的数据是否存储在结构化存储器中。在一个示例中,会话式ai平台使得执行结构化数据结构(例如,json文件、数据库、键值存储等)的搜索。在各个实施例中,结构化存储器的搜索包括键搜索。例如,结构化存储器包括键值对,其中,从要消除歧义的查询的术语(例如,未知对象“汽车”或未知位置“外部”)获得搜索的键。
34.在实施例中,如果搜索的结果返回值,系统执行过程200继续到框208并且至少部分地基于从结构化存储器获得的数据生成响应。在示例中,用从结构化存储器获得的值替换要被消除歧义的术语并且将其提供给一个或更多个nlp模型。返回以上实例,查询“外面的天气是什么?”被修改,以至少部分地基于从与“外部”相关联的结构化存储器获得的值(例如,用户的位置)替换“外部”。
35.在各个实施例中,如果没有获得结果、结果未定义、与结果相关联的置信值相对于阈值低于或高于阈值、或结果在其他方面不适合用于修改查询,则系统执行方法200继续至框210。在框210,系统执行方法200使得对非结构化存储器的数据搜索以对要执行的查询的一个或更多个术语消歧。在各个实施例中,经训练的qna模型执行对非结构化存储器(例如,非结构化数据结构——诸如文档)的搜索。在实施例中,如果qna模型返回对搜索查询的响应,则系统执行方法200继续到框212并且至少部分地基于从非结构化存储器获得的结果生成响应。在以上示例中,如果非结构化存储器包括用户的位置,则查询“外面的天气是什么?”被修改,以至少部分地基于从非结构化存储器获得的值替换“外部”。
36.在各个实施例中,如果未获得结果、未定义该结果、与该结果相关联的置信值相对于阈值低于或高于该阈值、或者该结果在其他方面不适合用于修改查询,则系统执行方法200继续至框214并且生成响应以获得该数据。例如,如果查询包括在结构化存储器和非结
构化存储器两者中未定义的位置或事件,系统执行方法200响应于查询生成第二查询以获得数据。具体地,返回以上实例,如果未从结构化存储器和非结构化存储器的搜索中获得位置“外部”,则由系统生成的响应包括第二查询以确定位置“外部”(例如,“对不起,我不知道该信息。你在哪个城市?”)。
37.在实施例中,在框216,系统执行方法200至少部分地基于文本到语音算法来生成与响应相对应的音频数据。在示例中,由系统产生的响应(例如,在框208、212和/或214中的一个或更多个中产生的响应)提供到文本到语音算法,以生成在对用户的响应中使用的音频数据或其他数据。
38.图3是示出了根据本发明的一些实施例的用于在应用内实例化ai代理的方法300的流程图。在框b302处,方法300包括实例化对应于应用的实例的虚拟代理。例如,ai代理可以被实例化以在客户端应用416的实例内进行通信。在另一示例中,ai代理是会话式ai平台的组件。
39.在框b304处,方法300包括接收表示与一个或更多个用户设备相关联的音频流、文本流或视频流中的一个或更多个的第一数据,所述一个或更多个用户设备与所述应用的实例通信地耦合。例如,可以由一个或更多个ai代理设备402接收使用一个或更多个用户设备404生成的音频、视频和/或文本流。
40.在框b306处,方法300包括使用自然语言处理来分析第一数据。例如,所接收的数据可以由ai引擎412分析(由例如但不限于一个或更多个并行处理单元执行),所述ai引擎可以包括对数据应用自然语言处理。
41.在框b308处,方法300包括响应于第一数据并且对应于虚拟代理来生成表示文本输出的第二数据。例如,ai引擎412可以生成对应于ai代理的口头响应的文本。在各个实施例中,文本数据包括如上所述的查询。
42.在框b310处,方法300包括将第二数据应用于文本到语音算法以生成音频数据。例如,对应于ai代理的响应或通信的文本数据可以应用于文本到语音算法,以生成音频数据。
43.参考图4,图4是根据本公开的一些实施例的示例会话式ai平台100(本文可替代地称为“系统400”)。应当理解,本文所述的这种和其他布置仅作为示例进行阐述。除了或代替所示的布置和元件,可使用其他布置和元件(例如,机器、接口、功能、次序、功能分组等),并且可完全省略一些元件。进一步,本文描述的许多元件是可以被实现为分立或分布式组件或与其他组件结合、和以任何合适的组合和位置的功能实体。本文描述为由实体执行的各个功能可由硬件、固件和/或软件执行。例如,各个功能可以通过处理器执行存储在存储器中的指令来实现。在一些实施方式中,可以使用在本文中更详细描述的一个或更多个计算设备(例如,图6的示例性计算设备600和/或图7的示例性数据中心700)实现本文中参照图4描述的特征、功能和/或组件中的至少一些。在其他实施例中,可以使用除了本文中关于图4描述的那些之外的另外的或替代的特征、功能和/或组件实现本文中关于图4描述的特征、功能和/或组件中的至少一些。
44.除其他事项之外,系统400可以包括一个或更多个ai设备402、一个或更多个用户设备404、和/或一个或更多个主机设备406。尽管在图4中仅示出了单个ai代理设备402、单个用户设备404和单个主机设备406,但是这并非旨在限制,并且可以在系统400内实现任何数量的设备。此外,尽管ai代理设备402、用户设备404和主机设备406中的每个被示为彼此
分离的设备,但是这不旨在是限制性的。例如,取决于实施例,设备中的一个或更多个可被组合成单个设备(或诸如云计算环境中的设备组)。作为非限制性示例,在会话式ai平台中,一个或更多个ai代理设备402可以包括支持传送一个或更多个用户设备404的一个或更多个ai代理的一个或更多个设备(例如,云计算环境中的服务器),其可以包括用户的个人设备,并且一个或更多个主机设备406可以包括托管会话式ai平台(例如,使用包括一个或更多个应用编程接口(api)的主机应用426)的一个或更多个设备(例如,云计算环境中的服务器)。作为另一个非限制性示例,在汽车应用中,一个或更多个ai代理设备402、一个或更多个用户设备404和一个或更多个主机设备406可以包括单个设备(例如,车辆内的超级计算机),或者可以包括车载设备(例如,超级计算机)和远程设备(例如,云计算环境中的一个或更多个服务器)的组合,该远程设备与车载设备通信用于更新、对更复杂任务的响应等。照此,一个或更多个ai代理设备402、一个或更多个用户设备404和一个或更多个主机设备406可以由同一用户或公司、不同用户或公司和/或其组合拥有、操作和/或支持。
45.一个或更多个ai代理设备402可以包括服务器、网络附加存储(nas)、api、后端设备、和/或另一种类型的设备。一个或更多个ai代理设备402可以支持会话式ai平台的功能,例如本文描述的那些。照此,在一些实施例中,一个或更多个ai代理设备402的组件、特征和/或功能中的一些或全部可以在一个或更多个用户设备404上本地执行。例如,在用户与一个或更多个用户设备404上的ai代理之间的某些任务、请求、交互和/或会话可以在一个或更多个用户设备404上本地处理。在实施例中,ai代理的组件、特征和/或功能中的一些或全部可以由一个或更多个ai代理设备402相对于一个或更多个用户设备404和/或一个或更多个主机设备406远程执行。例如,可以使用一个或更多个ai代理设备402接收和处理来自一个或更多个用户设备404和/或一个或更多个主机设备406的数据,并且ai代理的响应或通信的视频流、音频流和/或文本流可以发送到一个或更多个用户设备404和/或一个或更多个主机设备406。
46.一个或更多个用户设备404可以包括智能电话、膝上型计算机、平板计算机、台式计算机、可穿戴设备、游戏控制台、可以包括ai代理或助理的智能家庭设备、和/或另一种类型的设备。在一些示例中,一个或更多个用户设备404可以包括设备(例如,智能电话和通信耦合的智能手表或其他可穿戴设备)的组合,并且与其相关联的应用(包括与应用的交互)可以使用设备中的一个或更多个设备来执行(例如,智能电话应用向智能手表应用推送通知,用户向智能手表提供输入,表示输入的数据经由智能电话传递到系统400的另一设备)。
47.一个或更多个主机设备406可以包括服务器、网络附加存储(nas)、api、后端设备、类似于本文描述的一个或更多个用户设备404的设备、和/或另一种类型的设备。一个或更多个主机设备406可以支持主机应用426的功能,通过该主机应用426,ai代理与一个或更多个终端用户之间的交互(例如,经由用户设备404)被传送。例如,在会话式ai平台中,一个或更多个主机设备406可以托管会议系统,一个或更多个ai代理设备402可以支持一个或更多个ai代理作为特定会议中的一个或更多个参与者,而一个或更多个用户设备404可以支持一个或更多个用户作为会议中的一个或更多个另一参与者。作为另一实例,在快餐订购应用中,主机应用426可包含交互菜单,其中ai代理帮助用户导航菜单以选择一个或更多个项目。根据这样的实施例,一个或更多个主机设备406可以本地定位(靠近)餐厅,并且可以被实现为例如且不限于通信地耦合到订购装置或自助服务终端的i/o组件420的计算设备。一
个或更多个ai代理设备402可以远程(和/或本地)定位,并且用于处理基于用户输入(例如,语音、文本、视频等)生成的数据和由ai代理生成响应或交互。根据一个或更多个实施例,可能不需要一个或更多个用户设备404;或者,一个或更多个用户设备404可以是用于与一个或更多个主机设备106交互(例如,将触摸输入提供到与一个或更多个主机设备506相关联的客户端应用516b)的用户的设备。
48.一个或更多个ai代理设备402、一个或更多个用户设备404、一个或更多个主机设备406和/或系统400的其他组件可以通过一个或更多个网络408进行通信。一个或更多个网络可包括广域网(wan)(例如,互联网、公共交换电话网(pstn)等)、局域网(lan)(例如,wi-fi、zigbee、z-wave、蓝牙、蓝牙低能量(ble)、以太网等)、低功率广域网(lpwan)(例如,lorawan、sigfox等)、全球导航卫星系统(gnss)网络(例如,全球定位系统(gps))和/或另一网络类型。在一些实施例中,一个或更多个ai代理设备402、一个或更多个用户设备404、和/或一个或更多个主机设备406可以经由lan(例如,wi-fi、以太网等)和/或蜂窝网络(例如,4g、lte、5g等)通过wan(例如,互联网)进行通信——例如,其中,系统400在基于云的或分布式计算环境中实现。
49.一个或更多个通信组件410、418和/或424可以包括用于跨网络408中的一个或更多个进行通信的一个或更多个组件、特征和/或功能,如但不限于本文所描述的那些。作为非限制性示例,一个或更多个用户设备404可以使用通过路由器的以太网和/或wi-fi连接、或通过一个或更多个蜂窝塔的蜂窝连接来接入互联网,以便与一个或更多个ai代理设备402和/或一个或更多个主机设备406进行通信。一个或更多个ai代理设备402和/或一个或更多个主机设备406(例如,当对应于基于云的数据中心中的服务器或其他计算设备时)可以通过以太网访问互联网。照此,一个或更多个通信组件410、418和/或424可被配置用于通过一个或更多个网络类型通信,并且可允许通过一个或更多个网络类型在系统400的不同设备之间和之中通信。客户端应用416a、客户端应用416b和主机应用426可以对应于相关联的应用的不同实例。
50.一个或更多个ai代理设备402可以利用任何数量的并行处理单元来分析输入数据、处理数据和确定输出数据(例如,文本到语音音频数据和在虚拟环境内ai代理的对应变化),该输出数据可以被渲染和传输(例如,经由视频流、文本流、和/或音频流)至一个或更多个用户设备404以供显示和/或输出。合适的并行处理单元可以包括在gpu加速ai环境中的一个或更多个图形处理单元(gpu)。gpu可以由ai引擎412和/或渲染器414利用,如本文所描述的,和/或由系统400的其他组件利用。此外,在一些实施例中,一个或更多个ai代理设备402和/或其他设备可以利用视频压缩技术来优化视频数据的传输。在一个或更多个实施例中,合适的视频压缩技术可以包括针对会话式ai平台优化的压缩技术。这样的技术包括如在2020年4月15日提交的美国临时专利申请号63/010511中描述的一些或全部组件、特征和/或功能,其全部内容通过引用并入本文。
51.一个或更多个ai代理设备402的ai引擎412可以处理传入的文本、音频和/或图像数据(例如,多模式数据),以确定什么可以被文本地、可听地和/或可视地传输,以及确定ai代理是否需要响应或输出、在确定输出的地方应当输出什么响应、和/或如何输出响应(例如,以确定ai代理的音调、情绪、手势、动画等)。在一些实施例中,ai引擎412可以对应于或类似于来自nvidia公司的jarvis ai平台,和/或可以包括如下中所描述的组件、特征和/或
功能中的一些或全部:2017年11月10日提交的美国专利申请号15/809849;2018年9月20日提交的美国专利申请号16/137064;2018年3月26日提交的美国临时专利申请号62/648358;2018年10月8日提交的美国临时专利申请号62/742923;2019年3月25日提交的美国专利申请号16/363648;2020年1月27日提交的美国专利申请号16/773883;2019年12月16日提交的美国临时专利申请号62/948789;2019年12月16日提交的美国临时专利申请号62/948793;2019年12月16日提交的美国临时专利申请号62/948796;2020年4月27日提交的美国专利申请号16/859;和/或2020年5月5日提交的美国专利申请号16/867395,将其各自通过引用以其全部内容并入本文。
52.ai引擎412可以使用视觉线索(如手势和凝视)连同上下文中的语音来确定应用程序内的响应或通信(例如,视觉的、听觉的、机械的(经由用户输入设备)或文本的)。例如,ai引擎412可以使用与语音输入融合的嘴唇位置和运动来识别主动说话者,并且凝视可以用于理解说话者是否参与ai代理、与用户处于相同位置的其他人、或参与应用的实例的其他人。凝视和嘴唇移动的这种组合可以对应于激活触发器,如本文更详细描述的。ai引擎融合多模式数据的能力允许与ai代理的同时多用户、多上下文对话-例如,从与ai助理的传统严格口头通信更深入理解上下文中获益的对话。
53.例如,ai引擎412可以包括用于语音任务的任何数量的特征,如意图和实体分类、情感分析、对话建模、领域和履行映射等。在一些实施例中,ai引擎412可以使用自然语言处理(nlp)技术或一个或更多个神经网络模型来摄取、解密、感知和/或理解传入的音频数据。对于视觉,ai引擎412可包含用于人、面部和/或身体(手势)检测和追踪、关键身体或面部界标的检测和身体姿势、手势、嘴唇活动、凝视和/或其他特征的任何数目个特征。ai引擎412还可以包括融合感知、任务或算法,它们一起分析音频和图像两者以进行确定。在实施例中,语音、视觉和/或融合任务中的一些或全部可以利用机器学习和/或深度学习模型(例如,nvidia的jarvis和自然语言处理模型),所述机器学习和/或深度学习模型可以在自定义数据上训练以实现针对特定使用情况或实施例的高精度。由ai引擎412管理的ai代理可以部署在基于云的环境内、数据中心中和/或边缘处。
54.在一些实施例中,一个或更多个ai代理设备402可以生成和渲染ai代理——例如,使用渲染器414——即使在ai代理的通信没有发生的情况下。例如,渲染器414仍可以在应用会话期间在虚拟环境内渲染对应于虚拟ai代理的图像或图形数据,即使在ai代理当前不响应于或基于来自用户的输入而讲话、移动或以其他方式交互的情况下。以这种方式,终端用户仍然可以看到ai代理的显示或呈现——以及相应的虚拟环境——并且理解ai代理可用于交互。在其他实施例中,ai代理可以仅在主动讲话、回复时和/或在满足激活触发之后显示或呈现。
55.在一些实施例中,ai引擎412可以在更重地处理输入数据之前仅处理输入数据以标识针对ai代理的激活触发。例如,为了遵守和尊重隐私问题、法律和/或法规,可以在用户输入(诸如语音)被高速缓存(或以其他方式存储)和主动处理之前由ai引擎监视激活触发。激活触发可以取决于ai代理或一个或更多个用户设备404的特定实施例、环境或位置、一个或更多个用户设备404可用的i/o组件420的类型而不同(例如,在不存在相机的情况下,激活触发可以仅可听)。在一些实施例中,激活触发可以包括多于单个触发(例如,激活需要多模态触发)以确保尊重隐私顾虑、允许ai引擎412更准确地识别当前讲话者以便适当地响应
任何询问或会话、和/或允许更多会话上下文或标记(例如,看相机并且讲话以在会话期间激活比停止会话以讲出特定触发字或短语更自然)。例如,激活触发可以包括分析图像数据(例如,流式视频)以确定用户正在看相机(例如,视线追踪)以及用户正在讲话(例如,通过追踪嘴唇移动)。另一激活触发可以包括确定用户正在讲话和确定用户的手势(例如,激活可以在听到语音并且触发手势(诸如手的挥动)被识别时发生)。在一些实施例中,诸如在不允许语音或大声语音的环境中(例如,图书馆、宗教建筑等)或者用户不能说话的环境中,激活触发可以包括移动或手势、和/或对设备的输入(例如,按钮、控制杆、触摸界面等)。然而,在其他实施例中,激活触发可以包括单个非口头激活,诸如手势、触发词、嘴唇移动、凝视相机等。在一些实施方式中,例如,在隐私问题不是问题或者用户已经选择持续记录音频和/或视频的情况下,可以不使用触发器激活,尽管仍可以监控音频、文本和/或视频以确定用户何时处理ai代理。
56.在某些国家、区域或管辖区域中,法律、规则、法规和/或隐私顾虑可能不允许在公共空间中持续记录音频或语音,因此激活触发可以是完全基于视觉的——例如,使用滚动缓冲器。某些国家、区域或管辖区域的法律、规则、法规和/或隐私顾虑可能不允许在私人财产上持续记录视频和/或音频,但是可能允许记录视频和/或音频的滚动缓冲器,并且处理该滚动缓冲器以确定是否存在激活触发器。在任何实施例中,一旦激活触发被满足,麦克风、相机和/或其他i/o组件420可以被打开(例如,被激活以侦听、监测或观察触发事件之外的用户输入),并且数据可以由ai引擎412处理以确定响应和/或其他通信。可以仅在需要另一触发器来继续处理的单个来回通信期间无限地处理数据,直到满足去激活触发器(例如,触发字(诸如停止、稍等,等)、触发手势、缺少语音、移动、看着相机、或在所感知的非活动的阈值时段内的其他交互等)为止。
57.传入数据(例如,视觉的、文本的、听觉的等)可以由ai引擎412分析以确定针对ai代理的使用三维(3d)图形所表示的文本的、视觉的和/或音频的响应或通信。例如,ai引擎412可以例如使用一个或更多个机器学习或深度学习模型生成用于文本到语音处理的输出文本以生成音频数据。在实施例中,可以经由一个或更多个主机设备406将这个音频数据传输到一个或更多个用户设备404,以便由一个或更多个用户设备404的扬声器或另一i/o组件420输出。在一些实施例中,音频数据可以用于影响ai代理在虚拟环境内的行为。例如,音频数据可以用于允许ai代理与音频嘴唇同步,使得ai代理的语音看起来自然地从ai代理发出,以类似个人间的对话。这可以使用音频到面部算法或嘴唇同步算法来完成,所述音频到面部算法或嘴唇同步算法可以包括可以驱动对应于由ai代理输出的音频的3d图形面部动画的机器学习或深度学习模型。合适的音频到面部算法可包含如2017年11月29日提交的美国专利申请号15/826430中所描述的组件、特征和/或功能性中的一些或全部,其全部内容通过引用并入本文。
58.照此,可以利用虚拟环境来控制ai代理的嘴唇以对应于音频数据——或至少表示语音的音频的部分。除了语音之外,可能存在对应于背景噪声或声音、音乐、音调、环境噪声、其他ai代理、虚拟机器人和/或其他源的附加音频数据。最终,包括ai代理和其他音频源的语音的音频数据可以(例如,作为音频流)被传输到一个或更多个用户设备404(例如,在实施例中,经由一个或更多个主机设备406)。
59.除了音频之外,ai代理的响应或通信可以包括可以在虚拟世界中表示的模拟的物
理移动、手势、姿态、姿势等。除了ai代理所位于的虚拟环境之外,与ai代理对应的外观、手势、移动、姿态和/或其他信息可以由图形数据表示。该图形数据可以由渲染器414渲染以生成可以流式传输到一个或更多个用户设备404以便在显示器422上呈现的显示数据或图像数据。
60.ai引擎412可以基于传入数据的分析、ai代理的一般类型或个性、和/或由ai代理确定的文本的、听觉的和/或视觉的响应或通信来确定ai代理的模拟物理特性。例如,在ai引擎412确定当前说话者生气或悲伤的情况下,可以利用该信息来模拟ai代理以适当地响应(例如,使用温和的、使人开心的或安慰的音调或短语)。在ai引擎412确定某个手势或姿势适合ai代理的口述响应的情况下,ai代理可以在虚拟环境内如此控制。照此,ai代理的身体和/或面部可以被动画化,使得ai代理可以为虚拟相机情绪化(表达其自身的情绪集)。
61.类似于ai代理,可以生成该ai代理所位于的虚拟环境以帮助该响应。例如,在接收到对特定真实世界附近的天气的请求,并且天气在下雨的情况下,可以生成具有阴天和下雨的地点的虚拟表示,并且可以使ai代理看起来阴郁(例如,没精打采,具有悲伤的脸)。类似地,在请求某个歌曲的情况下,ai代理可以移动或者旋转到该歌曲的节拍并且唱该歌曲,例如,用嘴唇同步。在一些示例中,虚拟环境可以贯穿应用的单个实例或在单个查询-响应通信期间被更新。例如,为了提供额外的上下文,可以改变虚拟环境以反映新的位置,使得ai代理本质上可以出现以从一个虚拟位置传送到另一个虚拟位置。在讨论更适合于不同域的一些实施例中,除了环境或位置改变之外,特定ai代理也可以改变。例如,在用户正在询问关于伦敦城市的天气的信息的情况下,可以在对应于伦敦的天际线的渲染的虚拟环境内表示基于天气的ai代理,并且当用户询问关于伦敦的历史的跟进问题时,可以在伦敦的历史建筑物的照片或渲染的图像内或附近表示聚焦于历史的ai代理。
62.在一些实施例中,虚拟环境可以包括文本或文档的呈现。例如,在用户与和银行或其他金融机构相关联的ai代理交互的情况下,虚拟环境可以包括ai代理站在对应于用户请求的信息的银行声明的图形渲染之前或持有对应于用户请求的信息的银行声明的图形渲染。在这样的示例中,用户与ai代理之间的通信可以更安全,因为银行信息不是以可编入索引的形式传输的,并且与例如具有银行声明的电子邮件相比是较少结构化的。照此,来自一个或更多个ai代理设备402的视觉、听觉和/或文本响应可以比相同信息的电子邮件、sms或文本消息通信更安全和私密。
63.在一些实施例中,ai代理可以与虚拟环境中的对象、特征或项目交互,以帮助与用户的响应或交互。例如,为了提供帮助交互的演示,ai代理可以虚拟地与环境交互。在应用被用于讨论架构计划的情况下,计算机辅助设计(cad)应用文件可被访问并被用于生成虚拟环境的渲染。例如,可以在ai代理的虚拟环境内实例化架构计划,使得ai代理可以与计划或计划的部分/元素交互。这可以包括指向架构计划的特征或者在架构计划内或相对于架构计划四处移动。在传入数据包括修改计划的一部分的请求的情况下,ai代理可以执行手势并且可以根据请求修改架构计划。例如,在提及窗口而没有一些视觉提示的情况下,窗口的位置和窗口周围的讨论可能较少提供信息。然而,使用ai引擎412,虚拟环境的视图(例如,来自虚拟相机的虚拟视场)可被更新以包括讨论窗口。此外,ai代理可以指向或以其他方式指示正在谈论的窗口,并且系统400可以通过与cad应用的通信对窗口进行更新,其可以被反馈至系统400用于基于更新的cad文件来更新虚拟环境。
64.在一些实施例中,除了分析来自用户的传入文本、视觉、用户输入和/或音频数据之外,可以访问用户的用户简档或用户信息以便由ai代理确定文本、听觉和/或视觉响应。例如,在用户询问天气是什么的情况下,可以利用用户的位置信息来确定对特定位置的适当响应。在这样的示例中,虚拟环境还可以被更新以反映位置——例如,包括该位置的一部分或该位置的标识特征,诸如巴黎埃菲尔铁塔。类似地,可以利用用户偏好或其他信息来适当地响应用户或与用户进行交互。在一些实施例中,该信息可以在应用的实例期间(例如,在视频会议期间)基于用户语音、移动等来收集。例如,当用户提及他们在纽约城市的房子时,可以存储该信息,使得当用户稍后问:“家里的交通怎么样?”,响应可以基于已知的位置信息。
65.随着时间的推移,可以针对不同用户生成个性化模型,从而使得ai引擎412可以学习特定用户在他们高兴、悲伤等时看起来是什么,和/或学习特定用户的语音模式、语音的数字和/或可以用于使ai引擎412适应特定用户的其他用户特定信息。此信息可以存储在一个或更多个ai代理设备402的用户简档中。类似地,通过学习任何数量的用户,ai引擎412和渲染器414和/或与其相关联的底层机器学习或深度学习模型可以学习如何在虚拟环境中有效地使ai代理的3d图形渲染情绪化和/或动画化,使得ai代理可以通信并且看起来更像人类。沿着相同的线,在ai代理类似于(拟人)动物、机器人、对象等的情况下,ai引擎412可以从对应于ai代理的真实世界版本的数据中学习,以便更精确地模拟虚拟环境中的动物、机器人、对象、车辆等。
66.ai引擎412可以支持任何数量的ai代理。例如,不同的ai代理可以针对不同的领域或技能进行编程。照此,用户可以请求特定ai代理,或者可以由ai引擎412基于传入数据来选择特定ai代理(例如,当请求是针对天气时,可以实例化天气ai代理,当请求是针对财务时,可以实例化财务ai代理,当请求是针对购买时,可以生成购物助理ai等)。作为对应于一个或更多个特定域的ai代理的结果,用户和ai代理之间的通信可以更成功,因为请求、命令、问题、查询等更有可能被路由到该域的适当响应或会话逻辑和工具。
67.渲染器414可以渲染来自图形数据和/或使用虚拟环境或世界的一个或更多个模型(例如,表示包括虚拟ai代理的虚拟环境或世界的数据)的显示数据或图像数据以便传输至用户设备404和/或由用户设备404呈现。在一些实施例中,图像数据或显示数据可被渲染以表示对应于如从虚拟相机的虚拟视场捕捉的虚拟环境的一部分的图形数据的子集。此外,音频数据可被传输到用户设备404和/或由用户设备404输出。进一步,来自ai代理的文本数据可以传输到用户设备404和/或由用户设备404显示。如此,在实施例中,可以经由主机应用426在客户端应用416a和客户端应用416b之间交换例如文本、视觉和/或听觉数据的通信。显示数据、图像数据、文本数据和/或音频数据可以在应用(例如,客户端应用416a、416b和主机应用426)的实例期间作为一个或更多个数据流发送。
68.在一些实施例中,渲染器414可以对应于或类似于来自nvidia公司的omniverse kit,和/或可以包括如下所描述的组件、特征和/或功能中的一些或全部,2018年8月10日提交的美国临时专利申请号62/717730;2019年8月12日提交的美国专利申请号16538594;2020年3月22日提交的美国专利申请号16538594;和/或2019年7月29日提交的美国临时专利申请号62/879901,将其各自通过引用全文并入本文。例如,渲染器414可以对应于nvidia rtx renderer。
69.渲染器414可以利用任何数量的gpu和/或其节点来渲染来自图形数据的显示数据或图像数据。例如,光线追踪(例如,实时光线追踪)和/或路径追踪可使用一个或更多个gpu来执行以生成更多照片逼真的渲染。在一些非限制性实施例中,渲染器414可以使用pixar的通用场景描述(usd)格式和/或另一3d场景描述和文件格式来用于各种不同工具之间以及之间的内容创建和交换。一旦被渲染,图形和/或音频输出就可以在被传输至计算设备之前被压缩/编码,所述计算设备对应于与ai代理交互的用户或参与者,其中,所述压缩或编码数据在呈现之前被解压缩(解码)。
70.关于一个或更多个用户设备404,一个或更多个输入/输出(i/o)组件420可以包括能够提供输入、接收输入、和/或产生输出的任何类型的装置。例如,一个或更多个i/o设备420的一个或更多个输入设备可以包括但不限于键盘、鼠标、触摸屏显示器、控制器、遥控器、耳机、触笔、麦克风、相机和/或其他类型的输入设备。一个或更多个i/o组件420的一个或更多个输出设备可以包括但不限于扬声器、显示器、光源、触觉反馈设备(例如,振动马达)和/或其他类型的输出设备。在一些实施例中,如本文所描述的,一个或更多个ai代理设备402可以利用虚拟或模拟i/o组件(类似于一个或更多个用户设备404的一个或更多个i/o组件420)在系统400内进行通信。对于非限制性示例,来自ai代理的通信可以从虚拟环境中的虚拟相机的虚拟视场和/或从虚拟环境中的虚拟麦克风(或与其连接的虚拟音频电缆)的虚拟音频传感器捕获。如此,一个或更多个ai代理设备402(例如,使用渲染器414和/或ai引擎412)可以使用一个或更多个虚拟i/o组件从虚拟环境内和/或对应于ai代理捕获数据。
71.现在参照图5,会话式ai平台500可以用于允许ai代理经由ai代理设备502响应于来自一个或更多个用户经由用户设备504的查询。在这样的示例中,客户端应用516a和516b可以对应于会话式ai平台的终端用户应用版本,并且主机设备506可以包括托管ai代理的主机应用526。
72.对于每个用户设备504,一个或更多个用户530可以向一个或更多个i/o组件520提供输入和/或i/o组件520可以生成数据。例如,相机(例如,网络相机)可以捕获其视野的视频流(其可以包括用户),麦克风可以捕获音频流,和/或键盘、鼠标、或其他输入设备可以捕获文本流或其他输入流。在一些实施例中,在应用程序的实例的一些或全部期间,ai代理和/或其虚拟环境可以基于接收到的显示数据或对应于表示虚拟环境的图形数据的渲染的图像数据而呈现在显示器522上。
73.音频、视频和/或文本数据的这些流可由客户端应用516b接收并且被传输(例如在编码之后)至一个或更多个主机设备506,并且一个或更多个主机设备506可以对该数据进行分析、处理、传输和/或转发至一个或更多个ai代理设备502的客户端应用516a。ai引擎512可以从客户端应用516a访问和/或接收视频、音频和/或文本流,并且可以处理数据以确定ai代理的响应或通信,和/或渲染器514可以生成对对应虚拟环境的任何更新。在一些实施例中,笔记、问答对话框信息和/或与会话式ai平台相关联的其他信息可以由ai引擎512接收和处理。照此,一旦确定ai代理的文本、视觉和/或听觉响应或通信,ai代理和虚拟环境就可以据此进行更新,并且可以使用渲染器514来渲染从图形数据(例如,从虚拟视场或诸如相机、麦克风等的一个或更多个虚拟传感器)生成的显示数据和/或图像数据。流管理器528可以接收所渲染的数据并且生成视频流、音频流、文本流、和/或其经编码的表示,并且将这个信息提供给客户端应用516a。在一些实施例中,流管理器528可以利用任何适当的虚
拟相机软件,例如由开放广播软件(obs)提供的虚拟相机特征。因此,即使ai代理不是真实实体(例如,用户530),客户端应用516a也可以接收表示ai代理的视频、音频和/或文本流,好像由任何其他用户设备504生成。照此,客户端应用516a、客户端应用516b和/或主机应用526可能不需要知道存在ai代理,例如,一个或更多个ai代理设备502可以被一个或更多个主机设备506视为一个或更多个另一用户设备504。一个或更多个ai代理设备502及其特征和功能可以应用于任何会话式ai平台,而不需要对应于ai代理的api,因为客户端应用516与主机应用526的一个或更多个现有api的通信可以足以实现ai代理。
74.一个或更多个主机设备506然后可以分析、处理、传输和/或转发与ai代理相对应的视频、音频和/或文本流至一个或更多个用户设备504,并且客户端应用516b可以致使经由显示器呈现数据和/或经由i/o组件520输出数据(例如,音频数据)。
75.该过程可以在显示或呈现ai代理的时间期间继续——例如,整个时间、仅在满足激活标准之后和直至给定交互完成、满足激活标准之后的剩余时间、直至ai代理被要求离开会议或从会议移除等。
76.示例计算设备
77.图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的一部分),或其组合。
78.尽管图6的各个框被示为经由具有线路的互连系统602连接,但是这并不意图是限制性的,并且仅仅为了清楚起见。例如,在一些实施例中,诸如显示设备之类的呈现组件618可以被认为是i/o组件614(例如如果显示器为触摸屏)。作为另一个示例,cpu 606和/或gpu 608可以包括内存(例如,内存604可以表示除了gpu 608、cpu 606和/或其他组件的内存以外的存储设备)。换言之,图6的计算设备仅仅是说明性的。在诸如“工作站”、“服务器”、“膝上型电脑”、“台式机”、“平板电脑”、“客户端设备”、“移动设备”、“手持式设备”、“游戏控制台”、“电子控制单元(ecu)”、“虚拟现实系统”和/或其他设备或系统类型之类的类别之间不进行区分,因为所有这些都被考虑在图6的计算设备的范围内。
79.互连系统602可以表示一条或更多条链路或总线,例如地址总线、数据总线、控制总线或者其组合。互连系统602可以包括一种或更多种链路或总线类型,例如行业标准架构(isa)总线、扩展行业标准架构(eisa)总线、视频电子标准协会(vesa)总线、外围组件互连(pci)总线、外围组件互连快速(pcie)总线,和/或另一种类型的总线或链路。在一些实施例中,组件之间存在直接连接。作为示例,cpu 606可以直接连接到存储器604。此外,cpu 606可以直接连接到gpu 608。在组件之间存在直接或点对点连接的情况下,互连系统602可以包括pcie链路来执行该连接。在这些示例中,计算设备600中不需要包括pci总线。
80.内存604可以包括各种各样的计算机可读介质中的任何介质。计算机可读介质可以是可以由计算设备600访问的任何可用介质。计算机可读介质可以包括易失性和非易失性介质以及可移除和不可移除介质。举例而言且非限制性地,计算机可读介质可以包括计算机存储介质和通信介质。
81.计算机存储介质可以包括易失性和非易失性介质和/或可移除和不可移除介质,其以用于存储诸如计算机可读指令、数据结构、程序模块和/或其他数据类型之类的信息的任何方法或技术实现。例如,内存604可以存储计算机可读指令(例如其表示程序和/或程序元素,例如操作系统)。计算机存储介质可以包括但不限于ram、rom、eeprom、闪存或者其他存储技术、cd-rom、数字多功能盘(dvd)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或者可以用来存储期望的信息且可以由计算设备600访问的任何其他介质。当在本文使用时,计算机存储介质并不包括信号本身。
82.计算机存储介质可以在诸如载波之类的调制数据信号或其他传输机制中包含计算机可读指令、数据结构、程序模块和/或其他数据类型,并且包括任何信息输送介质。术语“调制数据信号”可以指这样的信号,该信号使它的特性中的一个或更多个以这样的将信息编码到该信号中的方式设置或改变。举例而言且非限制性地,计算机存储介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声音、rf、红外和其他无线介质之类的无线介质。任何以上所述的组合也应当包含在计算机可读介质的范围内。
83.cpu 606可以被配置为执行计算机可读指令中的至少一些,以便控制计算设备600的一个或更多个组件执行本文描述的方法和/或过程中的一个或更多个。cpu 606中的每一个可以包括能够同时处理大量软件线程的一个或更多个核(例如一个、两个、四个、八个、二十八个、七十二个等等)。cpu 606可以包括任何类型的处理器,并且可以包括不同类型的处理器,这取决于实现的计算设备600的类型(例如具有用于移动设备的较少核的处理器以及具有用于服务器的更多核的处理器)。例如,取决于计算设备600的类型,处理器可以是使用精简指令集计算(risc)实现的高级risc机制(arm)处理器或者使用复杂指令集计算(cisc)实现的x86处理器。除了一个或更多个微处理器或者诸如数学协处理器之类的补充协处理器之外,计算设备600还可以包括一个或更多个cpu 606。
84.除了或替代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)。gpu608可以包括能够同时处理数百或数千个软件线程的数百或数千个核。gpu 608可以响应于渲染命令(例如经由主机接口接收的来自cpu 606的渲染命令)而生成用于输出图像的像素数据。gpu 608可以包括诸如显示内存之类的用于存储像素数据或任何其他合适的数据(例如gpgpu数据)的图形内存。显示内存可以作为内存604的部分而被包括。gpu 608可以包括(例如经由链路)并行操作的两个或更多gpu。链路可以直接连接gpu(例如,使用nvlink),也可以通过交换机(例如,使用nvswitch)连接gpu。当组合在一起时,每个gpu 608可以生成用于输出的不同部分或者用于不同输出的像素数据或gpgpu数据(例如,第一gpu用于第一图像,第二gpu用于第二图像)。每个gpu可
以包括它自己的内存,或者可以与其他gpu共享内存。
85.除了或替代cpu 606和/或gpu 608,逻辑单元620可以被配置为执行至少一些计算机可读指令,以控制计算设备600的一个或更多个组件来执行本文描述的一种或更多种方法和/或过程。在实施例中,cpu 606、gpu608和/或逻辑单元620可以离散地或联合地执行方法、过程和/或其部分的任何组合。一个或更多个逻辑单元620可以是一个或更多个cpu 606和/或一个或更多个gpu 608的一部分和/或集成在其中,和/或一个或更多个逻辑单元620可以是cpu 606和/或gpu 608的离散组件或以其他方式在其外部。在实施例中,一个或更多个逻辑单元620可以是一个或更多个cpu606和/或一个或更多个gpu 608的处理器。
86.逻辑单元620的示例包括一个或更多个处理核心和/或其组件,例如数据处理单元(dpu)、张量核心(tc)、张量处理单元(tpu)、像素视觉核心(pvc)、视觉处理单元(vpu)、图形处理集群(gpc)、纹理处理集群(tpc)、流式多处理器(sm)、树遍历单元(ttu)、人工智能加速器(aia)、深度学习加速器(dla)、算术逻辑单元(alu))、专用集成电路(asic)、浮点单元(fpu)、输入/输出(i/o)元件、外围组件互连(pci)或外围组件互连快速(pcie)元件等。
87.通信接口610可以包括一个或更多个接收器、发送器和/或收发器,其允许计算设备600经由电子通信网络与其他计算设备通信,包括有线和/或无线通信。通信接口610可以包括允许通过若干不同网络中的任何网络进行通信的组件和功能,所述网络例如无线网络(例如wi-fi、z波、蓝牙、蓝牙le、zigbee等等)、有线网络(例如通过以太网或infiniband通信)、低功率广域网(例如lorawan、sigfox等等)和/或因特网。在一个或更多个实施例中,一个或更多个逻辑单元620和/或通信接口610可以包括一个或更多个数据处理单元(dpu),用于将通过网络和/或通过互连系统602接收的数据直接传输至一个或更多个gpu 608(例如,其内存)。
88.i/o端口612可以允许计算设备600逻辑地耦合到包括i/o组件614、呈现组件618和/或其他组件在内的其他设备,其中一些可以内置到(例如集成到)计算设备600中。说明性i/o组件614包括麦克风、鼠标、键盘、操纵杆、游戏垫、游戏控制器、碟形卫星天线、浏览仪、打印机、无线设备等等。i/o组件614可以提供处理用户生成的空中手势、语音或其他生理输入的自然用户接口(nui)。在一些实例中,输入可以传输至适当的网络元件以便进一步处理。nui可以实现语音识别、手写笔识别、面部识别、生物特征识别、屏幕上和邻近屏幕的手势识别、空中手势、头部和眼睛追踪以及与计算设备600的显示器关联的触摸识别(如下文更详细地描述的)的任意组合。计算设备600可以包括诸如立体相机系统之类的深度相机、红外相机系统、rgb相机系统、触摸屏技术以及这些的组合,以用于手势检测和识别。此外,计算设备600可以包括允许运动检测的加速度计或陀螺仪(例如作为惯性测量单元(imu)的部分)。在一些示例中,加速度计或陀螺仪的输出可以由计算设备600用来渲染沉浸式增强现实或者虚拟现实。
89.电源616可以包括硬接线电源、电池电源或者其组合。电源616可以向计算设备600供电以允许计算设备600的组件操作。
90.呈现组件618可以包括显示器(例如监视器、触摸屏、电视屏幕、平视显示器(hud)、其他显示器类型或者其组合)、扬声器和/或其他呈现组件。呈现组件618可以接收来自其他组件(例如gpu 608、cpu 606、dpu等等)的数据,并且输出该数据(例如作为图像、视频、声音等等)。
91.示例数据中心
92.图7示出了示例数据中心700,其可用于本公开的至少一个实施例中。数据中心700可以包括数据中心基础设施层710、框架层720、软件层730和应用层740。
93.如图7所示,数据中心基础设施层710可以包括资源协调器712、分组的计算资源714和节点计算资源(“节点c.r.”)716(1)-716(n),其中“n”代表任何完整的正整数。在至少一个实施例中,节点c.r.716(1)-716(n)可以包括但不限于任何数量的中央处理单元(“cpu”)或其他处理器(包括dpu、加速器、现场可编程门阵列(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)。
94.在至少一个实施例中,分组的计算资源714可以包括容纳在一个或更多个机架内的节点c.r.716的单独分组(未示出),或者容纳在各个地理位置的数据中心内的许多机架(也未示出)。分组的计算资源714内的节点c.r.716的单独分组可以包括可以被配置或分配为支持一个或更多个工作负载的分组的计算、网络、内存或存储资源。在至少一个实施例中,可以将包括cpu、gpu、dpu和/或其他处理器的几个节点c.r.716分组在一个或更多个机架内,以提供计算资源来支持一个或更多个工作负载。一个或更多个机架还可以包括以任意组合的任何数量的电源模块、冷却模块和/或网络交换机。
95.资源协调器712可以配置或以其他方式控制一个或更多个节点c.r.716(1)-716(n)和/或分组的计算资源714。在至少一个实施例中,资源协调器712可以包括用于数据中心700的软件设计基础结构(“sdi”)管理实体。资源协调器712可以包括硬件、软件或其某种组合。
96.在至少一个实施例中,如图7所示,框架层720可以包括作业调度器732、配置管理器734、资源管理器736和分布式文件系统738。框架层720可以包括支持软件层730的软件732和/或应用程序层740的一个或更多个应用程序742的框架。软件732或应用程序742可以分别包括基于web的服务软件或应用程序,例如由amazon web services,google cloud和microsoft azure提供的服务软件或应用程序。框架层720可以是但不限于一种免费且开源的软件网络应用框架,例如可以使用分布式文件系统738来进行大规模数据处理(例如“大数据”)的apache spark
tm
(以下称为“spark”)。在至少一个实施例中,作业调度器732可以包括spark驱动器,用于促进对数据中心700的各个层所支持的工作负载进行调度。在至少一个实施例中,配置管理器734可以能够配置不同的层,例如软件层730和包括spark和用于支持大规模数据处理的分布式文件系统738的框架层720。资源管理器736能够管理映射到或分配用于支持分布式文件系统738和作业调度器732的集群或分组计算资源。在至少一个实施例中,集群或分组计算资源可以包括数据中心基础设施层710处的分组的计算资源714。资源管理器736可以与资源协调器712协调以管理这些映射的或分配的计算资源。
97.在至少一个实施例中,包括在软件层730中的软件732可以包括由节点c.r.716(1)-716(n)的至少部分,分组的计算资源714和/或框架层720的分布式文件系统738使用的
软件。一种或更多种类型的软件可以包括但不限于internet网页搜索软件、电子邮件病毒浏览软件、数据库软件和流视频内容软件。
98.在至少一个实施例中,应用层740中包括的一个或更多个应用程序742可以包括由节点c.r.716(1)-716(n)的至少部分、分组的计算资源714和/或框架层720的分布式文件系统738使用的一种或更多种类型的应用程序。一种或更多种类型的应用程序可以包括但不限于任何数量的基因组学应用程序,认知计算和机器学习应用程序,包括训练或推理软件,机器学习框架软件(例如pytorch、tensorflow、caffe等)和/或其他与一个或更多个实施例结合使用的机器学习应用程序。
99.在至少一个实施例中,配置管理器734、资源管理器736和资源协调器712中的任何一个可以基于以任何技术上可行的方式获取的任何数量和类型的数据来实现任何数量和类型的自我修改动作。自我修改动作可以减轻数据中心700的数据中心操作员做出可能不好的配置决定并且可以避免数据中心的未充分利用和/或行差的部分。
100.数据中心700可以包括工具、服务、软件或其他资源,用于根据本文所述的一个或更多个实施例来训练一个或更多个机器学习模型或者使用一个或更多个机器学习模型来预测或推理信息。例如,可以通过使用上文关于数据中心700描述的软件和计算资源,根据神经网络架构计算权重参数来训练机器学习模型。在至少一个实施例中,通过使用通过一种或更多种训练技术计算出的权重参数,可以使用上面与关于数据中心700所描述的资源,使用对应于一个或更多个神经网络的经训练的机器学习模型来推理或预测信息,例如但不限于本文所述的那些。
101.在至少一个实施例中,数据中心700可以使用cpu、专用集成电路(asic)、gpu、fpga和/或其他硬件(或与之对应的虚拟计算资源)来使用上述资源来执行训练和/或推理。此外,上述的一个或更多个软件和/或硬件资源可以配置成一种服务,以允许用户训练或执行信息推理,例如图像识别、语音识别或其他人工智能服务。
102.示例网络环境
103.适用于实现本公开的实施例的网络环境可以包括一个或更多个客户端设备、服务器、网络附加存储(nas)、其他后端设备和/或其他设备类型。客户端设备、服务器和/或其他设备类型(例如,每个设备)可以在图6的计算设备600的一个或更多个实例上实现—例如,每个设备可以包括计算设备600的类似组件、特征和/或功能。此外,在实现后端设备(例如,服务器、nas等)的情况下,后端设备可以是作为数据中心700的一部分而被包括的,其示例本文关于图7更详细地描述。
104.网络环境的组件可以通过网络彼此通信,网络可以是有线、无线或两者。网络可以包括多个网络,或者多个网络中的网络。举例来说,网络可以包括一个或更多个广域网(wan)、一个或更多个局域网(lan)、一个或更多个公共网络(例如因特网和/或公共交换电话网(pstn))、和/或一个或更多个专用网络。在网络包括无线电信网络的情况下,诸如基站、通信塔或甚至接入点(以及其他组件)之类的组件可以提供无线连接。
105.兼容的网络环境可以包括一个或更多个对等网络环境(在这种情况下服务器可能不包括在网络环境中),以及一个或更多个客户端-服务器网络环境(在这种情况下一个或更多个服务器可以包含在网络环境中)。在对等网络环境中,本文描述的关于服务器的功能可以在任意数量的客户端设备上实现。
106.在至少一个实施例中,网络环境可以包括一个或更多个基于云的网络环境、分布式计算环境、它们的组合等。基于云的网络环境可以包括框架层、作业调度器、资源管理器,以及在一个或更多个服务器上实现的分布式文件系统,这些服务器可以包括一个或更多个核心网络服务器和/或边缘服务器。框架层可以包括用于支持软件层的软件和/或应用层的一个或更多个应用程序的框架。软件或应用程序可分别包括基于网络的服务软件或应用程序。在实施例中,一个或更多个客户端设备可以使用基于网络的服务软件或应用程序(例如,通过经由一个或更多个应用程序编程接口(api)访问服务软件和/或应用程序)。框架层可以是但不限于一种类型的免费且开源软件网络应用程序框架,例如可以使用分布式文件系统进行大规模数据处理(例如,“大数据”)。
107.基于云的网络环境可以提供执行本文描述的计算和/或数据存储功能(或其一个或更多个部分)的任何组合的云计算和/或云存储。这些各种功能中的任何一个都可以分布在来自(例如,可以分布在州、地区、国家、全球等地的一个或更多个数据中心的)中央或核心服务器的多个位置。如果到用户(例如,客户端设备)的连接相对靠近边缘服务器,则核心服务器可以将功能的至少一部分指定给边缘服务器。基于云的网络环境可以是私有的(例如,仅限于单个组织),可以是公共的(例如,对许多组织可用),和/或其组合(例如,混合云环境)。
108.客户端设备可以包括本文关于图6描述的示例计算设备600的至少一些组件、特征和功能。作为示例而非限制,客户端设备可以体现为个人计算机(pc)、膝上型计算机、移动设备、智能手机、平板计算机、智能手表、可穿戴计算机、个人数码助理(pda)、mp3播放器、虚拟现实头戴式显示器、全球定位系统(gps)或设备、视频播放器、摄像机、监视设备或系统、车辆、船只、飞行器、虚拟机器、无人机、机器人、手持通信设备、医院设备、游戏设备或系统、娱乐系统、车载计算机系统、嵌入式系统控制器、遥控器、电器、消费电子设备、工作站、边缘设备、这些描述设备的任意组合或任何其他合适的设备。
109.本公开可以在由计算机或者诸如个人数字助理或其他手持式设备之类的其他机器执行的、包括诸如程序模块之类的计算机可执行指令的机器可使用指令或者计算机代码的一般背景下进行描述。通常,包括例程、程序、对象、组件、数据结构等等的程序模块指的是执行特定任务或者实现特定抽象数据类型的代码。本公开可以在各种各样的系统配置中实践,这些配置包括手持式设备、消费电子器件、通用计算机、更专业的计算设备等等。本公开也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。
110.如在本文中使用的,“和/或”关于两个或更多元素的叙述应当解释为仅指一个元素或者元素组合。例如,“元素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中的至少一个。
111.这里详细地描述了本公开的主题以满足法定要求。然而,描述本身并非意在限制本公开的范围。相反地,本发明人已经设想到,要求保护的主题也可以以其他的方式具体化,以包括与本文中结合其他当前或未来技术描述的步骤不同的步骤或者相似的步骤的组合。而且,尽管术语“步骤”和/或“块”在本文中可以用来隐含采用的方法的不同元素,但是
这些术语不应当被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非明确描述了各步骤的顺序。
技术特征:
1.一种处理器,包括:一个或更多个电路,用于:从设备获得输入数据,所述输入数据表示对会话式人工智能ai应用的查询;确定与所述查询相关联的意图和一个或更多个槽;作为对未能返回与所述一个或更多个槽中的至少一个槽相关联的数据的结构化数据结构的第一搜索的结果,使问答模型执行对非结构化数据结构的第二搜索;以及至少部分地基于从所述非结构化数据结构获得的数据生成对所述查询的响应。2.根据权利要求1所述的处理器,其中所述非结构化数据结构包括与用户相关联的文档,至少部分地基于所述用户与所述会话式ai应用之间的一个或更多个先前交互填充所述文档。3.根据权利要求1所述的处理器,其中所述非结构化数据结构包括所述会话式ai应用与用户之间的交互的记录。4.根据权利要求1所述的处理器,其中所述非结构化数据结构与对所述会话式ai应用的一组用户中的用户唯一的用户标识相关联。5.根据权利要求1所述的处理器,所述一个或更多个电路还包括用于以下操作的电路:确定所述第二搜索未能返回与所述槽相关联的所述数据;向用户生成对与所述槽相关联的所述数据的请求;以及使与所述槽相关联的所述数据存储在所述非结构化数据结构中。6.根据权利要求1所述的处理器,其中所述意图包括检索与对信息的请求相对应的数据的意图。7.根据权利要求1所述的处理器,所述一个或更多个电路还包括用于分析所述非结构化数据结构以确定要添加到所述一个或更多个槽的一个或更多个附加槽的电路。8.根据权利要求1所述的处理器,其中所述会话式ai应用是会话式ai平台、车辆的车舱内应用、食品或饮料订购应用、计算机辅助设计cad应用、客户服务应用、网络服务应用、智能扬声器或智能显示应用、零售应用、财务应用或食品服务应用中的至少一个。9.根据权利要求1所述的处理器,其中所述处理器被包括在以下至少一者中:用于自主或半自主机器的控制系统;用于自主或半自主机器的感知系统;用于执行模拟操作的系统;用于执行深度学习操作的系统;使用边缘设备实现的系统;使用机器人实现的系统;合并一个或更多个虚拟机vm的系统;至少部分地在数据中心中实现的系统;包括用于三维3d内容的协作创建平台的系统;或至少部分地使用云计算资源实现的系统。10.一种系统,包括:一个或更多个处理单元,其包括处理电路,所述处理电路用于:接收针对会话式人工智能ai平台的查询;
确定与所述查询相关联的标签;确定与所述标签相关联的数据未存储在结构化数据结构中;从非结构化数据结构获得所述数据;以及至少部分地基于所述数据生成对所述查询的响应。11.根据权利要求10所述的系统,其中所述处理电路进一步用于将表示所述查询和所述响应的数据存储在所述非结构化数据结构中。12.根据权利要求10所述的系统,其中所述查询从自动语音识别应用获得。13.根据权利要求10所述的系统,其中所述响应包括至少部分地基于文本至语音算法生成的音频数据。14.根据权利要求10所述的系统,其中所述系统被包括在以下至少一者中:用于自主或半自主机器的控制系统;用于自主或半自主机器的感知系统;用于执行模拟操作的系统;用于执行深度学习操作的系统;使用边缘设备实现的系统;使用机器人实现的系统;合并一个或更多个虚拟机vm的系统;至少部分地在数据中心中实现的系统;包括用于三维3d内容的协作创建平台的系统;或至少部分地使用云计算资源实现的系统。15.一种方法,包括:将表示用户和会话式人工智能ai代理之间的交互的数据存储在非结构化数据结构中;获得针对所述会话式ai代理的查询;确定对所述查询的响应的至少一部分在结构化数据结构中不可用;从所述非结构化数据结构获得所述响应的所述部分;以及至少部分地基于从所述非结构化数据结构获得的所述响应的所述部分来生成所述响应。16.根据权利要求15所述的方法,其中所述方法还包括:至少部分地基于所述非结构化数据确定与所述查询相关联的域信息。17.根据权利要求15所述的方法,其中通过相机、麦克风或者用户设备的输入设备中的至少一个生成所述视频、音频或者文本。18.根据权利要求15所述的方法,其中所述结构化数据结构包括javascript对象表示法json数据对象。19.根据权利要求15所述的方法,其中所述非结构化数据结构包括文档,所述文档包括所述用户与会话式ai代理之间的一组交互。20.根据权利要求15所述的方法,其中所述响应的所述部分与第一域相关联,所述第一域与和所述查询相关联的第二域不同。
技术总结
公开了具有提取问答的会话式AI平台。在各个示例中,会话式人工智能(AI)平台使用结构化数据和非结构化数据以生成对来自用户的查询的响应。在示例中,如果用于对查询的响应的数据没有存储在结构化的数据结构中,会话式AI平台搜索非结构化的数据结构中的数据。台搜索非结构化的数据结构中的数据。台搜索非结构化的数据结构中的数据。
技术研发人员:S
受保护的技术使用者:辉达公司
技术研发日:2023.02.07
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
