一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用自然语言处理从游戏日志中提取事件信息的制作方法

2023-03-29 00:36:23 来源:中国专利 TAG:

使用自然语言处理从游戏日志中提取事件信息


背景技术:

1.在各种场景中,游戏应用程序外部的软件可能希望识别游戏内事件,其示例可包括游戏实例的结果、分数或比赛的开始或结束。例如,游戏应用程序外部的软件应用程序可以使用游戏内事件作为各种管线的输入,例如以识别亮点(highlight)并以屏幕截图和/或视频剪辑的形式呈现它,以生成活动或社交源的帖子,和/或生成游戏玩法会话的摘要。
2.传统上,游戏开发人员可以将应用程序编程接口(api)合并到游戏应用程序的游戏代码(即编程指令)中,该游戏应用程序将游戏内事件传送给外部软件。这要求游戏代码符合api对游戏内事件的表示,这些游戏内事件通常在不同的游戏或游戏开发人员之间以不同的、高度不一致的方式来表示。因此,外部软件可以从不正确或不一致地映射到api的表示的游戏接收游戏内事件,这可能会导致来自消耗这些游戏内事件的管线的错误输出。因此,游戏开发人员通常不愿意将这些api合并到游戏代码中。
3.在其他方法中,外部软件可以使用各种计算机视觉技术(例如光学字符识别(ocr)或对象检测)来分析游戏玩法的帧,以提取游戏内事件。但是,分析游戏玩法的帧会带来巨大的计算负担。例如,由于视频数据的帧通常以高速传输,因此计算负担可能会阻止实时提取游戏内事件。此外,游戏开发人员经常更新或修改游戏的外观或布局,这可能会导致某些游戏内事件被丢失或被识别为假阳性。


技术实现要素:

4.本公开的实施例涉及使用自然语言处理(nlp)从游戏日志中提取事件信息。该公开提供了使用nlp以使用游戏应用程序生成的自然语言字符串检测游戏内事件的发生的方法。
5.与常规方法相反,本公开提供了用于利用游戏生成的文本的自然语言处理从游戏中提取一个或更多个游戏内事件的解决方案。在一个或更多个实施例中,系统(例如,客户端设备和/或服务器)可以接收游戏应用程序生成的一个或更多个字符串形式的文本。然后,系统可以使用自然语言处理从文本中提取一个或更多个游戏内事件。在至少一个实施例中,游戏可以包括发送到系统的消息(例如,使用应用程序编程接口(api))和/或游戏日志条目或通知中的文本。文本可以至少基于(例如,响应于)游戏确定在游戏玩法中一个或更多个条件被满足(例如,胜利,得分点,里程碑,淘汰,物品获取等)来生成(并提供给系统)。
6.系统可以使用nlp来提取一个或更多个事件,这些事件符合系统对游戏内事件的表示的api。在一个或更多个实施例中,系统可以使用nlp来确定对应于游戏的游戏玩法的事件的一个或更多个参数。例如,参数可以表示游戏玩法的一个或更多个方面,例如事件类型(例如,会话、比赛、回合等),事件实体(例如,玩家姓名、非玩家角色、守关怪兽等),事件结果(例如,赢、输等)和/或事件对象(例如,物品、武器等)。在一个或更多个实施例中,系统可以识别一个或更多个动作词(例如,开始、结束)、会话标识符词(例如,会话、比赛、回合)和/或连接器词(例如,命名、到)以将该词映射到对应于一个或更多个事件的一个或更多个
事件模板。例如,系统可以将文本的一个或更多个部分映射到事件模板,然后执行进一步的分析以从中提取模板的一个或更多个参数。事件模板可特定于特定的应用程序、游戏、游戏版本或游戏类型。在某些示例中,可以使用配置文件检索或更新模板。此外,系统可以使用游戏的标识符(例如,在消息中接收的)来确定与游戏相关联的一组事件模板,以用于提取游戏内事件。
附图说明
7.下面参照附图详细描述使用自然语言处理(nlp)从游戏日志中提取事件信息的本系统和方法,其中:
8.图1是根据本公开的至少一些实施例的nlp事件提取系统的示例系统图;
9.图2是根据本公开的至少一些实施例的示出了事件识别过程的流程图;
10.图3是根据本公开的至少一些实施例的亮点生成系统的示例系统图;
11.图4是根据本公开的至少一些实施例的来自图形用户界面的用于生成、显示和/或记录游戏亮点的示例屏幕截图;
12.图5是根据本公开的至少一些实施例的示出了用于从自然语言形式的至少一个文本字符串确定事件的示例方法的流程图;
13.图6是根据本公开的至少一些实施例的示出了用于使用事件模板从至少一个文本字符串确定事件的示例方法的流程图;
14.图7是根据本公开的至少一些实施例的示出了用于至少基于识别出至少一个文本字符串中的一个或更多个指示符而确定事件的示例方法的流程图;
15.图8是适合用于实现本公开的一些实施例的示例内容流系统的框图;
16.图9是适合用于实现本公开的一些实施例的示例计算设备的框图;以及
17.图10是适合用于实现本公开的一些实施例的示例数据中心的框图。
具体实施方式
18.公开了与将自然语言处理(nlp)技术应用于游戏日志记录信息以进行事件提取相关的系统和方法。该公开提供了使用nlp技术来使用游戏应用程序生成的自然语言字符串检测游戏内事件的发生的方法。
19.在一个或更多个实施例中,系统(例如,客户端设备和/或服务器)可以接收由游戏应用程序生成的一个或更多个字符串形式的文本。然后,系统可以使用自然语言处理从文本中提取一个或更多个游戏内事件。因此,游戏代码不需要使用应用程序编程接口(api)对游戏内事件的表示生成游戏内事件,也不需要分析游戏玩法的帧来识别游戏内事件。
20.在一些示例中,系统可以接收自然语言形式的文本和/或文本可以由游戏应用程序作为游戏正常操作的一部分而生成。例如,文本可能来自游戏生成的一个或更多个日志条目和/或玩家通知,因为游戏根据其内部表示来识别游戏内事件。在各个示例中,文本可以包括变量名称、值和/或对应于游戏状态的内部表示的其他文本。当游戏确定在游戏玩法中一个或更多个条件被满足(例如,胜利、得分点、里程碑、淘汰、物品获取等)时,游戏可生成发送到系统的消息和/或系统使用的游戏日志条目或通知。例如,当游戏的玩家赢得比赛、得分点,或者在游戏玩法期间发生许多动作、交互或其组合中的任何一个时,游戏可以
生成消息、日志条目和/或通知。在一些示例中,通知可以在游戏玩法期间(例如,在满足相应条件时)被显示给游戏中的一个或更多个玩家。
21.系统在游戏玩法期间和/或之后可接收与文本相对应的一个或更多个文本部分。进一步,文本的一个或更多个部分可以在生成一个或更多个部分时在一个或更多个消息中接收(例如,当游戏生成日志条目或玩家通知或响应于此类生成时),可以按批接收和/或在相应的游戏玩法会话完成后全部接收(例如,在游戏日志文件中)。如果使用一个或更多个消息来发送文本,则游戏可以使用一个或更多个api调用向系统提供一个或更多个消息。一个或更多个api调用可以包括文本字符串(该文本字符串包括文本的一个或更多个部分),游戏,与游戏相关联的程序和/或进程标识符,和/或对应于文本的一个或更多个部分的一个或更多个时间戳(例如,当内部游戏内事件发生时)。另外或替代地,文本的一个或更多个部分可以由游戏作为日志文件、记录或其他数据结构提供。
22.系统可以使用nlp技术来提取符合api对游戏内事件的表示的一个或更多个事件(其至少可以基于游戏和/或游戏类型)。在一个或更多个实施例中,系统可以使用神经网络或其他经训练或以其他方式编程的学习机器来执行nlp以处理游戏或应用事件的文本表示,并确定对应于游戏的游戏玩法的事件的一个或更多个参数。例如,参数可以表示游戏玩法的一个或更多个方面,例如事件类型(例如,会话、比赛、回合等),事件实体(例如,玩家姓名、非玩家角色、boss(守关怪物)等),事件结果(例如,赢、输等)和/或事件对象(例如,物品、武器等)。在一个或更多个实施例中,系统可以识别一个或更多个动作词(例如,开始、结束)、会话标识符词(例如,会话、比赛、回合)和/或连接器词(例如,命名为、到)以将该词映射到对应于一个或更多个事件的一个或更多个事件模板。事件模板可以定义与事件模板对应的一个或更多个事件的一个或更多个参数。例如,系统可以将文本的一个或更多个部分映射到事件模板,然后执行进一步分析,以从中提取模板的一个或更多个参数。例如,事件模板可以特定于特定的应用程序、游戏、游戏版本或游戏种类或类型。在某些示例中,可以使用配置文件检索或更新模板。进一步,系统可以使用游戏的标识符(例如,在消息中接收的)来确定与游戏相关联的一组事件模板,以用于提取游戏内事件。
23.系统标识的事件可用于各种管线和过程。在一个或更多个实施例中,可以发送数据以至少基于一个或更多个已识别的事件和/或其参数来生成一个或更多个游戏会话的一个或更多个亮点。亮点可包括一个或更多个游戏会话的任何表示,包括游戏玩法的快照或屏幕截图、活动或社交动态帖子,和/或一个或更多个游戏会话的一部分的视频剪辑,例如游戏玩法中的特定动作或事件。可以在系统、客户端设备和/或服务器上执行亮点生成。在某些示例中,可以为单个事件生成亮点,而在其他示例中,亮点可对应于多个事件。
24.虽然公开主要在游戏生成用于识别事件的文本的方面进行描述,但所公开的概念更广泛地适用于生成用于识别事件的文本的其他类型的软件和应用程序。在这样的示例中,应用程序可以至少基于应用程序会话中满足一个或更多个条件而生成文本。公开的方法可以在各种可能的系统中实现,包括但不限于用于自主或半自主机器的控制系统,用于自主或半自主机器的感知系统,用于执行模拟操作的系统,用于执行深度学习操作的系统,使用边缘设备实现的系统,使用机器人实现的系统,包含一个或更多个虚拟机(vm)的系统,至少部分地在数据中心实现的系统,或至少部分使用云计算资源实现的系统。
25.参考图1,图1是根据本公开的至少一些实施例的nlp事件提取系统100(也称为“系
统100”)的示例系统图。应当理解,本文所述的这种和其他布置仅作为示例进行阐述。除了或代替所示的布置和元件,还可使用其他布置和元件(例如,机器、接口、功能、次序、功能分组等),并且可完全省略一些元件。进一步,本文描述的许多元件是可以被实现为分立或分布式组件或与其他组件结合、以及以任何合适的组合和位置实现的功能实体。本文描述为由实体执行的各个功能可由硬件、固件和/或软件执行。例如,各个功能可以由处理器执行存储在存储器中的指令来实现。
26.系统100可以包括一个或更多个客户端设备102、一个或更多个服务器104、和一个或更多个网络108,等等。尽管在图1中示出了一个客户端设备102,但是这不旨在是限制性的。在示例中,可以有任何数量的客户端设备102。系统100(及其组件和/或特征)可使用一个或更多个计算设备来实现,诸如下文更详细描述的图9的计算设备900。
27.一个或更多个客户端设备102可以包括应用程序114、通信接口132a、一个或更多个输入设备112、解析器116、事件标识符118、亮点生成器120、游戏数据分析器122和/或显示器110。虽然在图1中仅示出了客户端设备102的几个组件和/或特征,但是这不旨在是限制性的。例如,客户端设备102可以包括附加的或替代的组件,诸如以下关于图9的计算设备900描述的那些组件。
28.服务器104可以包括客户端-游戏界面管理器124、游戏实例130(或游戏130)和/或一个或更多个数据存储134等等。虽然在图1中仅示出了服务器104的几个组件和/或特征,但是这不旨在是限制性的。例如,服务器104可以包括附加的或替代的组件,诸如以下关于图9的计算设备900描述的那些组件。
29.作为概述,服务器104的客户端-游戏界面管理器124可以包括客户端界面126和/或游戏界面128。如本文所述,客户端界面126和游戏界面128可以被配置成经由任意数量的网络108管理通信。例如,客户端-游戏界面管理器124可以使用客户端界面126与客户端设备102的应用程序114通信和/或使用游戏界面128与服务器104的游戏实例130通信。
30.在一些示例中,游戏界面128可以包括诸如图3的游戏api 302之类的界面,其可以被配置成接收来自游戏实例130的api调用。在一些示例中,游戏界面128可以包括图3的视频捕获器304,其可以被配置成从游戏实例130捕获与游戏玩法相关联的视频数据。在一些示例中,一个或更多个客户端设备102可以通过路由器使用以太网或wi-fi连接访问互联网,以便通过客户端-游戏界面管理器124与一个或更多个服务器104通信。
31.解析器116可以包括一个或更多个组件和特征,用于处理来自一个或更多个消息和/或其他数据源的至少一个文本字符串。在一些示例中,文本可以是自然语言形式。解析器116可以接收文本(例如,来自通信接口132a),其可已由游戏实例130和/或应用程序114生成(例如,与游戏玩法相关联,其可对应于帧140)。解析器116可以将文本解析为一个或更多个子字符串,并且可以向事件标识符118提供经解析的子字符串。
32.解析器116可以使用一个或更多个配置文件来处理一个或更多个文本字符串。例如,配置文件可以与特定游戏或游戏的种类或类型相关联地使用。配置文件可以向解析器116指示应以何种方式解析来自游戏的文本字符串。
33.事件标识符118可以包括一个或更多个组件和特征,用于处理由解析器116提供的文本字符串(例如,文本的一个或更多个子字符串)。事件标识符118可以将一个或更多个文本字符串(例如,由解析器116提供的)映射到事件模板,该事件模板可以定义对应于游戏的
游戏玩法的事件的一个或更多个参数。例如,事件标识符118可以使用从服务器104检索的事件模板来定义反映与游戏实例130相关联的游戏玩法的方面的参数。
34.游戏数据分析器122可以包括用于分析游戏玩法数据的一个或更多个组件。例如,游戏数据分析器122可以接收已由解析器116和事件标识符118提取的游戏数据。游戏数据分析器122可以确定在游戏会话中已经发生的特定游戏事件,并且可以收集和/或生成与该游戏事件相关联的附加数据。例如,游戏数据分析器122可以至少基于由事件标识符118从文本字符串中提取的参数来确定发生了一个或更多个重要的游戏玩法事件,并且应该为该事件生成亮点。可以至少基于一个或更多个标准选择重要的游戏事件,例如与游戏会话和/或事件相关联的附加信息。在一些示例中,游戏数据分析器122可以接收和/或分析附加信息,例如视频数据的帧或对应于游戏的游戏玩法的时间戳。在一些示例中,附加信息可以包括玩家信息、游戏统计信息和/或若干其他数据项中的任何一个。游戏数据分析器122可以向亮点生成器120提供指示所选游戏事件的数据。
35.亮点生成器120可以包括用于生成游戏亮点的一个或更多个组件。亮点生成器120可以从游戏数据分析器122接收数据,该数据指示已经发生了重要的游戏玩法事件。在一些示例中,亮点生成器120可以生成游戏记录、回放、图形元素、视频数据的叠加、和/或其他亮点元素,例如图4的图形用户界面400所示。图形用户界面400可以包括用于捕获游戏流的剪辑、过滤生成的亮点、搜索生成的亮点、确定亮点的运行时状态和/或亮点库选择的控件。
36.系统100的组件可以通过一个或更多个网络108进行通信。网络108可包括广域网(wan)(例如,互联网、公共交换电话网(pstn)等)、局域网(lan)(例如,wi-fi、zigbee、z-wave、蓝牙、蓝牙低能量(ble)、以太网等)、低功率广域网(lpwan)(例如,lorawan、sigfox等)、全球导航卫星系统(gnss)网络(例如,全球定位系统(gps))和/或另一网络类型。在任何示例中,系统100的每个组件可以经由一个或更多个网络108与其他组件中的一个或更多个通信。
37.客户端设备102可以包括智能电话、膝上型计算机、平板计算机、台式计算机、可穿戴设备、游戏控制台、虚拟现实系统(例如,头戴式耳机、计算机、游戏控制台、一个或更多个遥控器、一个或更多个控制器、和/或其他组件)、nvidia shield、可以包括智能个人助理的智能家庭设备(例如,amazon echo、google home等)、和/或能够支持视频和/或音频流传输的另一种类型的设备。
38.应用程序114可以是移动应用、计算机应用、控制台应用、web(网络)浏览器应用、视频流平台应用和/或另一类型的应用或服务。在一些实施例中,可以使用多个应用程序114。在一个或更多个实施例中,应用程序114可包括指令,当指令由一个或更多个处理器执行时,使一个或更多个处理器用于但不限于接收表示至一个或更多个输入设备112的用户输入的输入数据,将输入数据发送至一个或更多个服务器104,并且响应于使用通信接口132a从客户端-游戏界面管理器124接收到视频流,引起在显示器110上显示视频。换言之,应用程序114可以操作为用于实现视频流的促进器,该视频流可以包括游戏玩法的一个或更多个帧或与客户端设备102上的应用程序相关联的其他内容。
39.在一个或更多个实施例中,客户端设备102可以使用应用程序114来在显示器110上显示游戏玩法视频或其他视频内容。在显示数据由客户端设备102接收的示例中,系统100可以是游戏流系统的一部分,诸如下文更详细描述的图8的内容流系统800。
40.显示器110可以包括能够显示视频的任何类型的显示器(例如,发光二极管显示器(led)、有机led显示器(oled)、液晶显示器(lcd)、有源矩阵oled显示器(amoled)、量子点显示器(qdd)、等离子显示器、led/lcd显示器和/或另一类型的显示器)。在一些示例中,显示器108可以包括多于一个显示器(例如,用于计算机游戏的双监视器显示器、用于配置游戏的第一显示器和用于玩游戏的虚拟现实显示器等)。在一些示例中,显示器是触摸屏显示器,诸如智能电话、平板计算机、膝上型计算机等的触摸屏,其中触摸屏包括客户端设备102的输入设备112中的至少一个。
41.一个或更多个输入设备112可以包括能够向游戏提供用户输入的任何类型的设备。输入设备可以包括键盘、鼠标、触摸屏显示器、一个或更多个控制器、一个或更多个遥控器、耳机(例如,虚拟现实耳机的传感器)和/或其他类型的输入设备。
42.通信接口(诸如通信接口132a和所述通信接口132b)(在此共同地或单独地称为“通信接口132”)可以包括用于在一个或更多个网络(如网络108)上进行通信的一个或更多个组件和特征。一个或更多个通信接口132可以被配置为经由本文描述的任何数量的网络108进行通信。例如,为了在图1的系统100中进行通信,客户端设备102可以通过路由器使用以太网或wi-fi连接来访问互联网,以便与一个或更多个服务器104和/或与其他客户端设备102进行通信。
43.现在参考图2,图2是根据本公开内容的至少一些实施例的示出事件识别过程200的流程图。事件识别过程200可以在图1的系统100上实现。例如,事件标识符118可以使用过程200来识别一个或更多个事件。事件识别过程200可以与游戏玩法数据的一个或更多个帧202相关联,其可以对应于图1的一个或更多个帧140。一个或更多个帧202可以包括一个或更多个文本元素的显示或呈现,例如文本元素204a、文本元素204b和文本元素204c。如图所示,文本元素可以包括通过事件标识符118使用解析器116分析以检测事件的文本,并且该文本可以以文本形式显示或呈现,或者使用不同的表示来显示或呈现。例如,一个或更多个文本元素可以在gui和/或由游戏实例130生成的帧中(如图所示)显示。然而,一个或更多个文本元素可以附加地或替代地包括在一个或更多个附加gui、文件或数据结构中,例如与游戏玩法相关的日志文件(例如,由游戏实例130生成的),而不必在游戏中显示或表示。文本元素可以包括由游戏实例生成或使用游戏实例生成的任何文本信息。例如,文本元素可以包括自然语言字符串、句子、数字、时间戳、变量名称、值和/或对应于游戏状态的内部表示的其他文本等。
44.对应于一个或更多个文本元素的文本信息可以在一个或更多个消息208中传输(例如,从游戏实例130的通信接口132b传输到客户端设备102的通信接口132a)。消息208可以包含文本信息和若干其他参数、字段或值中的任意一个。例如,如图所示,消息208可以包括与文本元素相关联的名称为“event”的参数或字段,并表示为自然语言字符串210。尽管字符串210是自然语言形式,但在其他示例中,字符串可以不是自然语言形式。图2还示出了“api”字段,其可包括与消息208相关联的api的标识符;“ts”字段,其可包括消息208和/或一个或更多个字符串210的一个或更多个时间戳;“pid”字段,其可以包括与游戏实例130相关联的游戏、程序和/或进程标识符。
45.自然语言字符串210可以作为一个或更多个消息208的一部分被传送到被配置为将自然语言字符串210的一个或更多个部分映射到一个或更多个事件模板的组件。例如,一
个或更多个消息208可以被客户端设备102接收并使用解析器116通过事件标识符118映射到事件模板。自然语言字符串210可以包括由游戏实例130在游戏的游戏玩法期间呈现和/或生成的游戏文本212的至少一部分(例如,一个或更多个带时间戳的文本字符串)。游戏文本212的一个或更多个部分可以对应于在游戏会话中被满足的一个或更多个条件。例如,游戏文本212包括文本“[20:25]玩家使用锤子消灭了名为don的boss(player eliminated a boss named don using the hammer)”,该文本可以描述一个或更多个条件(例如,玩家被boss消灭等)。在一个或更多个实施例中,条件可以通过游戏代码进行评估,并且与游戏玩法和/或游戏内事件(例如,胜利、得分点、重大事件、消灭、物品获取等)相关。例如,游戏实例130可以在游戏的玩家赢得比赛、得分点时,或当游戏玩法过程中发生许多动作、交互或其组合中的任何一个时,生成消息、日志条目(例如,对应于文本元素204a)和/或通知(例如,对应于文本元素204b或文本元素204c)。在一些示例中,通知可以在游戏玩法过程中(例如,在满足相应条件时)显示给游戏中的一个或更多个玩家。
[0046]
事件标识符118可以使用解析器116将游戏文本212映射到一个或更多个事件模板。在一个或更多个实施例中,游戏文本212至少基于与事件模板相关联的特定单词或短语与游戏文本212相匹配而被映射到事件模板。在一些示例中,游戏文本212可以使用诸如命名实体识别(“ner”)、正则表达式分析或任何其他nlp技术之类的自然语言处理映射到模板。事件模板可以与特定游戏、特定版本的游戏、一系列游戏或游戏的种类或类型相关联。在一些示例中,如果更具体的模板不可用于特定游戏或以其他方式不适合使用,则通用或基本事件模板可用于所有游戏。事件模板可以位于一个或更多个客户端设备102上,或者可以位于一个或更多个数据存储134上,该数据存储与配置136相关联(例如,对应于本文描述的配置文件)并通过网络108检索。在一个或更多个实施例中,“pid”字段的值可用于确定哪些事件模板可用于映射与字符串210相关联的游戏文本212。
[0047]
事件标识符118可以与事件模板一起使用解析器116,以分析在一个或更多个消息208中接收的游戏文本212。例如,解析器116可以选择并使用包括指示符“玩家被消灭”、“命名”和“使用”或与其相关联的事件模板来解析游戏文本212。作为示例而不是限制,事件模板可以采用“玩家被消灭[by a(n)《param1:《player|npc|boss》[namedparam2:《name》]》]][with a(n)《param3:weapon|item|custom》]”的形式。可以看出,事件模板包括指示用于将文本映射到事件模板的各种术语或短语的数据,以及指示或标识这些参数字段的潜在值的参数字段和数据。作为另一示例,解析器116可以将来自游戏文本212的短语“玩家方的得分(player’s side scored)”和“点(points)”匹配到具有这些相同或相似短语的事件模板(或以其他方式指示或标识这些术语或短语的数据)。此处,事件模板可以采用“玩家方得分[a(n)《param1:name》][for《param2:《amount》points]”的形式。然而,本文描述的事件模板可以采取多种潜在的形式。在一个或更多个实施例中,可以将多于一个事件模板映射到游戏文本212的相同字符串或部分。在一个或更多个实施例中,每个事件模板可以对应于一个或更多个事件。
[0048]
如上所述,一个或更多个事件模板可以包括或指示与潜在事件相关联的一个或更多个参数字段和/或其值。例如,游戏文本212的文本“玩家使用锤子消灭了名为don的boss”可以被映射到具有参数字段:param(参数)1、param2和param3的事件模板。事件标识符118可以使用解析器116使用相应的事件模板从游戏文本212中提取参数字段216的值。例如,解
析器116可以确定事件模板的param1可以映射到描述符“boss”,param2可以映射到名字“don”,并且param3可以映射到物品“锤子”。作为另一示例,游戏文本212的文本“夺取蓝队旗子(blue team flag captured)”可以被映射到包括param1和param2的事件模板。事件模板可以至少基于将短语“队旗(team flag)”与事件模板相匹配的事件标识符118来选择。使用事件模板,param1可以被映射到团队记号(signifier)“蓝”,而param2可以被映射到旗子动作“夺取(captured)”。
[0049]
在一个或更多个实施例中,事件标识符118可以尝试至少基于至少一些文本被映射到事件模板(例如,使用指示符)将事件模板的一个或更多个参数字段映射到文本。此外,与指示符一样,参数字段的值不需要在事件模板的定义中显式或与其完全匹配,从而允许将更广泛的术语、短语、值和句子结构映射到相应的事件。在一个或更多个实施例中,事件模板可以识别用于映射的术语、短语、值和句子结构的类别或类型,例如但不限于语音标识符的各部分。同样在一个或更多个实施例中,事件模板中的文本可以至少基于确定游戏文本212包括一个或更多个同义词或文本变体而不是精确匹配而被映射到游戏文本212。
[0050]
在一个或更多个实施例中,事件标识符118可以至少基于将文本字符串映射到与事件相关联的事件模板来识别事件。在一个或更多个实施例中,为了使事件模板被用于识别事件,它必须既映射到游戏文本212的一个或更多个字符串,又具有映射到一个或更多个字符串的至少一个(例如,所有)其参数字段。例如,“玩家用锤子消灭了名为don的boss”,可以被映射到事件模板。如果事件标识符108确定它无法将事件模板的一个或更多个参数字段映射到文本(例如,param1),则事件标识符108可以使用事件模板来识别相应的事件。在其他示例中,一个或更多个事件模板可允许部分元素映射、可选元素映射和/或元素映射的变体。
[0051]
在一个或更多个实施例中,每个事件模板可以对应于一个或更多个事件或其部分。例如,如果事件标识符118能够成功地将“玩家使用锤子消灭了名为don的boss”映射到事件模板(例如,包括参数字段),则事件标识符118可以识别对应于该事件模板的事件。另外或替代地,一个或更多个事件可以对应于多个事件模板和/或使用多个事件模板进行识别。例如,事件标识符118可以至少基于将游戏文本212的一个或更多个部分映射到一个或更多个事件模板(例如,每个都通过多个消息、在多个文本字符串中和/或对应于多个时间戳来获得)来识别事件。在一个或更多个实施例中,事件标识符118生成表示和/或指示已识别或检测到的事件的数据,其可称为事件数据。
[0052]
事件的事件数据可以包括,作为示例而非限制,表示、指示或以其他方式与提取的参数216相关联的数据、游戏文本212的一个或更多个部分、时间戳、事件标识符、用于识别事件的一个或更多个事件模板标识符,和/或可与事件相关联的任何其他信息。例如,事件数据可以包括游戏信息、游戏会话标识符、玩家信息、或其他信息中的任何一个。生成的事件数据可以被组织和存储在一个或更多个事件文件220和/或其他数据结构中。例如,根据本公开的至少一些实施例,一个或更多个数据结构可以与亮点生成系统300相关联。在一个或更多个实施例中,一个或更多个事件的事件数据可以以xml、json、txt或任何其他文件或存储格式存储。
[0053]
在一个或更多个实施例中,事件标识符118分配时间戳和/或将时间戳与一个或更多个事件相关联,该时间戳可以包括在事件数据中。在一个或更多个实施例中,事件标识符
118使用解析器116从游戏文本212和/或一个或更多个消息208的一个或更多个其他部分(例如“ts”字段)中提取对应于一个或更多个时间戳的数据。例如,游戏文本212被示为包括由游戏实例130生成的时间戳,其可以用作或以其他方式对应于关联的事件时间戳。在一个或更多个实施例中,事件的时间戳可以对应于用于识别事件的消息208被接收或发送的顺序或时间(例如,例如,至少基于接收或发送消息208的系统、设备或组件的系统时间)。
[0054]
现在参见图3,图3是根据本公开的至少一些实施例的亮点生成系统300的示例系统图。应当理解,本文所述的这种和其他布置仅作为示例进行阐述。除了或代替所示的布置和元件,还可使用其他布置和元件(例如,机器、接口、功能、次序、功能分组等),并且可完全省略一些元件。进一步,本文描述的许多元件是可以被实现为分立或分布式组件或与其他组件结合,并且以任何合适的组合和位置的功能实体。本文描述为由实体执行的各个功能可由硬件、固件和/或软件执行。例如,各个功能可以通过处理器执行存储在存储器中的指令来实现。
[0055]
亮点生成系统300可以包括一个或更多个客户端设备102、一个或更多个服务器104和一个或更多个网络108。亮点生成系统300(及其组件和/或其特征)可以使用一个或更多个计算设备来实现,例如在下面更详细地描述的图9的计算设备900。
[0056]
客户端设备102可以包括显示器110、一个或更多个应用程序114、事件插件310、亮点生成器120、一个或更多个其他插件314以及一个或更多个数据存储320。服务器104可以包括游戏实例130、客户端界面126、游戏api 302、视频捕获器304和/或一个或更多个数据存储324。
[0057]
应用程序114(例如,服务器104的客户端应用程序)可以操作为促进器来启用游戏实例130的游戏玩法。例如,应用程序114可以但不限于显示经由网络108从客户端界面126接收的游戏流。在一些示例中,如本文所述,应用程序114可以包括亮点生成器120的一些特征或功能,例如那些与生成亮点、记录或快照相关的用于编程记录设置等的特征或功能。此外,在一些示例中,应用程序114可以导致亮点的生成、亮点的存储、用于确定何时应生成亮点的游戏流的分析、亮点的共享等。在一些实施例中,客户端设备102可以包括任意数量的应用程序114,其中亮点生成系统300的特征和功能被分配。
[0058]
在一个或更多个实施例中,客户端设备102包括事件插件310。事件插件310可以被配置成从与游戏会话相关联的一个或更多个消息中识别和提取事件信息。例如,事件插件可以包括图1的解析器116和/或事件标识符118。事件插件310可以从应用程序114接收包括至少一个文本字符串的消息(例如,消息208),然后该消息通过网络108从服务器104的客户端界面126传输。在一些实施例中,事件插件310另外可以包括图1的游戏数据分析器122。在一个或更多个实施例中,事件插件310的至少一些特征或功能可以被并入应用程序114中。
[0059]
一个或更多个其他插件314可以指客户端设备102上的若干其他插件中的任何一个。在一个或更多个实施例中,其他插件314可以代替事件插件310使用,或与事件插件310结合使用。在一个或更多个实施例中,其他插件314可以被配置成执行检测游戏事件的方法,这些方法替代由事件插件310执行的nlp方法。例如,事件插件310可用于执行nlp以检测游戏会话中的事件,而其他插件314可以同时或并行地执行ocr、计算机视觉、对象检测和/或用于检测同一游戏会话中的事件的基于非nlp的技术。在一个或更多个实施例中,事件标识符118可以使用其他插件314来检测和/或识别事件。例如,事件标识符118可以用非nlp
(例如,和/或计算机视觉)方法补充nlp(例如,和/或非计算机视觉)事件识别和/或在没有nlp或不使用解析器116的情况下识别一个或更多个事件。在一个或更多个实施例中,游戏数据分析器112可以采用计算机视觉功能从事件标识符118识别的事件中识别出重大事件。
[0060]
虽然事件插件310和其他插件314被示为位于客户端设备102上,但在一个或更多个实施例中,一个或更多个这些组件的至少某些特征或功能可以在一个或更多个服务器104上实现(例如,事件标识符118、解析器116、游戏数据分析器112、计算机视觉事件识别等)。类似地,亮点生成器120的至少一些特征或功能可以在服务器104上实现。
[0061]
在一个或更多个实施例中,服务器104可以渲染游戏的游戏实例130,并通过客户端界面126将游戏的游戏流传送给应用程序114。游戏api 302可以从游戏实例130接收api调用。在一些示例中,游戏api 302可以促进游戏实例130和客户端界面126之间的通信。在一些实施例中,游戏api可以作为游戏界面的一部分被包括在内,例如图1的游戏界面128。客户端界面126可以解释、转换由游戏实例130发出的api调用和/或将其传递到游戏api 302,并向应用程序114提供相应的消息,例如消息208。在一个或更多个实施例中,客户端界面126可以使用实时流协议(rtsp)来促进应用程序114和客户端界面126之间的一个或更多个通信(例如,消息208、游戏流、亮点流等)。
[0062]
视频捕获器304可以包括用于捕获游戏视频数据的一个或更多个组件。在至少一个实施例中,视频捕获器304可以包括图8的渲染捕获组件814的至少一些特征或功能。在一个或更多个实施例中,视频捕获器304可以解释在服务器104上捕获游戏实例130的亮点的请求。在一个或更多个实施例中,来自一个或更多个客户端设备102的请求可以被视频捕获器304接收,指示视频捕获器304记录与游戏亮点相关联的视频数据。例如,使用网络108,亮点生成器120可以请求对应于在游戏实例130的游戏会话中发生的亮点的一帧或更多帧视频数据。在一个或更多个实施例中,亮点可以至少基于使用事件标识符118(例如,时间戳和事件参数)识别的一个或更多个事件。视频捕获器304,可以从一个或更多个数据存储324中识别和检索一帧或更多帧视频数据。在一个或更多个实施例中,视频捕获器304可以在接收与生成亮点相关联的请求之前使用缓冲区336在数据存储324中记录数据以记录数据。在一个或更多个实施例中,事件插件310可以包括视频捕获器304的至少一些特征和功能。在这样的实施例中,事件插件310可以与视频捕获器304使用数据存储324和/或缓冲区336类似的方式来使用数据存储320和/或缓冲区322。
[0063]
现在参考图4,图4是根据本公开的至少一些实施例的来自图形用户界面400的用于生成、显示和/或记录游戏亮点的示例屏幕截图。图形用户界面400可以包括亮点选择控制区402、亮点标签404、亮点回放区410、亮点时间线420、和/或亮点信息显示区430。在一些示例中,图形用户界面400可以包括用于生成和记录游戏玩法亮点视频数据的控件。
[0064]
亮点选择控制区402可以包括与若干亮点中的任一个相关联的指示和关联控件,例如亮点408a、408b、408c和408e。亮点选择控制区402可以显示对应于一个或更多个游戏和/或游戏会话的亮点的指示。在一些示例中,亮点选择控制区402可以提供用于选择要在图形用户界面400的其他部分(例如亮点回放区410)中显示的一个或更多个亮点的控件。
[0065]
亮点回放区410可以显示亮点回放412,其使用亮点生成器120从游戏会话的一个或更多个事件生成。亮点在该亮点回放区410中可以显示为图像、视频或若干其他表示中的任意一种。亮点回放区410还可以包括用于操纵亮点回放区410中的亮点的控件和选择元
素。例如,这些控件可允许用户启动/暂停播放亮点视频剪辑,或更改亮点视频的播放速度或分辨率。
[0066]
亮点时间线420可以包括表示由游戏会话中的事件标识符118和/或游戏数据分析器112识别的事件的指示或图形元素。亮点时间线420可以包括亮点或事件指示,例如对应于亮点回放区410中活动的亮点的亮点指示422。在一些示例中,亮点时间线420可以包括用于使用相应的亮点指示来选择和显示其他亮点的控件。
[0067]
亮点信息显示区430可以包括与游戏亮点和/或相应事件相关联的图形和文本元素。例如,亮点信息显示区430可以提供包括与游戏会话相关联的信息的元素。例如,可以显示来自特定游戏会话的游戏分数或结果。在一个或更多个实施例中,亮点信息可以对应于一个或更多个事件、事件类型、参数字段和/或由事件标识符118从文本中提取的或与其相关联的值。类似地,在图形用户界面400中显示的亮点标签404和/或其他信息可以对应于一个或更多个事件、事件类型、参数字段和/或由事件标识符118从文本中提取的或与其相关联的值。作为示例,“得分(scored)”可以与用于生成亮点408c的事件的事件类型相关联。
[0068]
现在参见图5,方法500和本文描述的其他方法的每个框包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,各种功能可以通过处理器执行存储在存储器中的指令来执行。这些方法还可以体现为存储在计算机存储介质上的计算机可用指令。仅举几例,这些方法可以由独立应用、服务或托管服务(独立地或与其他托管服务组合地)或另一产品的插件来提供。此外,通过示例的方式,针对图1的系统100来描述这些方法。然而,这些方法可附加地或替代地由任何一个系统或系统的任何组合来执行,所述系统包含但不限于本文中所描述的那些系统。
[0069]
图5是根据本公开的至少一些实施例的示出了用于从自然语言处理形式的至少一个文本字符串确定事件的示例方法的流程图。在框b502处,方法500包括:接收包括自然语言形式的至少一个文本字符串的消息。例如,客户端设备102可以经由api接收至少一个消息208,该消息包括自然语言形式的自然语言字符串210,其中自然语言字符串210可以已经至少基于游戏会话中满足一个或更多个条件而由游戏实例130生成,该一个或更多个条件与游戏的游戏玩法相对应。
[0070]
在框b504处,方法500包括:至少基于识别出至少一个文本字符串中的事件的一个或更多个指示符来确定与游戏玩法相对应的事件。例如,事件标识符118可以至少基于使用自然语言处理识别出至少一个文本字符串中的事件的一个或更多个指示符来确定与游戏玩法相对应的事件。
[0071]
在框b506处,方法500包括:传送至少基于该事件引起生成游戏会话的一个或更多个亮点的数据。例如,事件标识符118可以将事件数据传送到亮点生成器120和/或游戏数据分析器122,以引起至少基于该事件生成游戏会话的一个或更多个亮点。
[0072]
图6是根据本公开的至少一些实施例的示出了用于使用事件模板从至少一个文本字符串确定事件的示例方法600的流程图。在框b602处,方法600包括:接收至少一个消息,该消息包括至少基于在游戏会话中满足一个或更多个条件而由游戏生成的至少一个文本字符串。例如,客户端设备102可以接收至少一个消息,该消息包括由游戏的游戏实例130至少基于在游戏会话中满足一个或更多个条件而生成的至少一个文本字符串,该一个或更多个条件对应于游戏的游戏玩法。
[0073]
在框b604处,方法600包括:将至少一个文本字符串映射到事件模板。例如,事件标识符118可以使用解析器116将至少一个文本字符串映射到事件模板,该事件模板定义与游戏玩法相对应的事件的一个或更多个参数。
[0074]
在框b606处,方法600包括:使用事件模板从文本字符串中提取一个或更多个参数。例如,事件标识符118可以使用事件模板从文本字符串中提取一个或更多个参数。
[0075]
在框b608处,方法600包括:传送引起在用户界面中显示的数据,该显示至少基于事件的一个或更多个参数。例如,亮点生成器120可以传送引起在图形用户界面400中显示的数据,该显示至少基于事件的一个或更多个参数。
[0076]
图7是根据本公开的至少一些实施例的示出了用于至少基于在至少一个文本字符串中识别出一个或更多个指示符来确定事件的示例方法700的流程图。在框b702处,方法700包括:接收至少一个消息,该消息包括由应用程序生成的至少一个文本字符串。例如,客户端设备102可以接收至少一个消息,该消息包括至少一个文本字符串,该至少一个文本字符串由应用程序(例如,游戏实例130)至少基于应用程序会话中满足一个或更多个条件来生成,该一个或更多个条件对应于应用程序的状态。
[0077]
在框b704处,方法700包括:至少基于识别出至少一个文本字符串中的事件的一个或更多个指示符来确定对应于应用程序的状态的事件。例如,事件标识符118可以至少基于使用自然语言处理识别出至少一个文本字符串中的一个或更多个事件指示符来确定对应于应用程序的状态的事件。
[0078]
在框b706处,方法700包括:传送引起至少基于该事件的用户界面中显示的数据。例如,亮点生成器120可以传送引起在图形用户界面400中显示的数据,该显示至少基于该事件的一个或更多个参数。
[0079]
示例内容流式传输系统
[0080]
现在参见图8,图8是根据本公开的至少一些实施例的用于内容流式传输系统800的示例系统图。图8包括一个或更多个应用服务器802(其可以包括与图9的示例计算设备900类似的组件、特征和/或功能)、一个或更多个客户端设备804(其可以包括与图9的示例计算设备900类似的组件、特征和/或功能)以及一个或更多个网络806(其可以类似于本文所描述的一个或更多个网络)。在本公开的一些实施例中,可以实现系统800。应用会话可以对应于游戏流式传输应用(例如,nvidia geforce now)、远程桌面应用、模拟应用(例如,自主或半自主车辆模拟)、计算机辅助设计(cad)应用、虚拟现实(vr)和/或增强现实(ar)流式传输应用、深度学习应用和/或其他应用类型。
[0081]
在系统800中,对于应用会话,一个或更多个客户端设备804可以响应于到一个或更多个输入设备的输入而仅接收输入数据,将输入数据传输到一个或更多个应用服务器802,从一个或更多个应用服务器802接收经编码的显示数据,并且在显示器824上显示显示数据。因此,计算上更密集的计算和处理被卸载到一个或更多个应用服务器802(例如,用于应用会话的图形输出的渲染——特别是光线或路径跟踪,由一个或更多个游戏服务器802的一个或更多个gpu执行)。换言之,应用会话从一个或更多个应用服务器802被流式传输到一个或更多个客户端设备804,由此降低一个或更多个客户端设备804对图形处理和渲染的要求。在一个或更多个实施例中,由客户端界面126提供的视频可以是应用程序会话(例如游戏会话)的视频,它可以被流式传输到游戏的一个或更多个观看者和/或玩家。例如,玩家
可以在呈现游戏流的游戏应用中接收该流,而观看者可以在呈现游戏的视频播放器应用中(例如,在web浏览器内)接收该流。在不同示例中,一个或更多个应用服务器802可以包括一个或更多个服务器104或者一个或更多个服务器104可以与一个或更多个应用服务器802分离。
[0082]
例如,关于应用会话的实例化,客户端设备804可以至少基于从一个或更多个应用服务器802接收显示数据而在显示器824上显示应用会话的帧。客户端设备804可以接收到一个或更多个输入设备中的一个的输入并且作为响应生成输入数据。客户端设备804可经由通信接口820且经由网络806(例如,互联网)将输入数据发送到应用服务器802,且应用服务器802可经由通信接口818接收输入数据。cpu可以接收输入数据,处理输入数据,并且向gpu传输数据,该数据使gpu生成应用会话的渲染。例如,输入数据可以表示用户在游戏应用的游戏会话中的角色的移动、发射武器、重新装载、传球、使车辆转向等。渲染组件812可以渲染应用会话(例如,表示输入数据的结果),并且渲染捕获组件814可以捕获应用会话的渲染作为显示数据(例如,作为捕获应用会话的渲染帧的图像数据)。应用会话的渲染可以包括使用(一个或更多个)应用服务器802的一个或更多个并行处理单元(诸如gpu)计算的光线或路径跟踪的照明和/或阴影效果,所述一个或更多个并行处理单元可以进一步使用一个或更多个专用硬件加速器或处理核来执行光线或路径跟踪技术。在一些实施例中,一个或更多个虚拟机(vm)-例如,包括一个或更多个虚拟组件,如vgpu、vcpu等-可由应用服务器802用于支持应用会话。编码器816可接着对显示数据进行编码以产生经编码的显示数据,且经编码的显示数据可经由通信接口818通过网络806发送到客户端设备804。客户端设备804可经由通信接口820接收经编码的显示数据,且解码器822可对经编码的显示数据进行解码以产生显示数据。客户端设备804可随后经由显示器824显示显示数据。
[0083]
示例计算设备
[0084]
图9是适合用于实现本公开的一些实施例的示例计算设备900的框图。计算设备900可包括直接或间接耦合以下设备的互连系统902:存储器904、一个或更多个中央处理单元(cpu)906、一个或更多个图形处理单元(gpu)908、通信接口910、输入/输出(i/o)端口912、输入/输出组件914、电源916、一个或更多个呈现组件918(例如,一个或更多个显示器)、以及一个或更多个逻辑单元920。在至少一个实施例中,一个或更多个计算设备900可以包括一个或更多个虚拟机(vm),和/或其任何组件可以包括虚拟组件(例如,虚拟硬件组件)。作为非限制性示例,gpu 908中的一个或更多个可以包括一个或更多个vgpu,cpu 906中的一个或更多个可以包括一个或更多个vcpu,和/或逻辑单元920中的一个或更多个可以包括一个或更多个虚拟逻辑单元。照此,一个或更多个计算设备900可以包括分立组件(例如,专用于计算设备900的全gpu)、虚拟组件(例如,专用于计算设备900的gpu的一部分)或其组合。
[0085]
尽管图9的各个框被示出为经由互连系统902与线路连接,但这并不旨在是限制性的,并且仅仅是为了清楚起见。例如,在一些实施例中,呈现组件718(诸如显示设备)可被认为是i/o组件914(例如,如果显示器是触摸屏)。作为另一示例,cpu 906和/或gpu 908可以包括存储器(例如,除了gpu 908、cpu 906和/或其他组件的存储器之外,存储器904还可以表示存储设备)。换言之,图9的计算设备仅仅是说明性的。在诸如“工作站”、“服务器”、“膝上型计算机”、“桌面型计算机”、“平板计算机”、“客户端设备”、“移动设备”、“手持式设备”、
908中的一个或更多个可以是一个或更多个cpu 906中的一个或更多个的协处理器。gpu 908可由计算设备900使用以渲染图形(例如,3d图形)或执行通用计算。例如,gpu 908可以用于gpu上的通用计算(gpgpu)。gpu 908可以包括能够同时处理成百上千个软件线程的成百上千个核。gpu 908可响应于渲染命令(例如,经由主机接口接收的来自cpu 906的渲染命令)产生用于输出图像的像素数据。gpu 908可包括图形存储器,例如显示存储器,用于存储像素数据或任何其他合适的数据,例如gpgpu数据。显示存储器可被包括作为存储器904的一部分。gpu 908可以包括并行操作(例如,经由链路)的两个或更多个gpu。该链路可以直接连接gpu(例如,使用nvlink)或者可以通过交换机连接gpu(例如,使用nvswitch)。当组合在一起时,每一gpu 708可针对输出的不同部分或针对不同输出(例如,用于第一图像的第一gpu和用于第二图像的第二gpu)产生像素数据或gpgpu数据。每个gpu可以包括其自身的存储器,或者可以与其他gpu共享存储器。
[0092]
除了或替代cpu 906和/或gpu 908,一个或更多个逻辑单元920可以被配置成执行计算机可读指令中的至少一些,以控制计算设备900的一个或更多个部件来执行在此描述的方法和/或过程中的一个或更多个。在实施例中,一个或更多个cpu 906、一个或更多个gpu 908和/或一个或更多个逻辑单元920可以分立地或联合地执行方法、过程和/或其部分的任何组合。逻辑单元920中的一个或更多个可以是cpu 906和/或gpu 908中的一个或更多个的一部分和/或集成在其中,和/或逻辑单元920中的一个或更多个可以是分立组件或者以其他方式在cpu 906和/或gpu 908的外部。在实施例中,逻辑单元920中的一个或更多个逻辑单元可以是一个或更多个cpu 906中的一个或更多个cpu和/或一个或更多个gpu 908中的一个或更多个gpu的协处理器。
[0093]
逻辑单元920的示例包括一个或更多个处理核和/或其组件,如张量核(tc)、张量处理单元(tpu)、像素视觉核(pvc)、视觉处理单元(vpu)、图形处理集群(gpc)、纹理处理集群(tpc)、流式多处理器(sm)、树遍历单元(ttu)、人工智能加速器(aia)、深度学习加速器(dla)、算术逻辑单元(alu)、专用集成电路(asic)、浮点单元(fpu)、输入/输出(i/o)元件、外围组件互连(pci)或外围组件互连快速(pcie)元件等。
[0094]
通信接口910可以包括一个或更多个接收器、发送器和/或收发器,其使计算设备900能够经由电子通信网络(包括有线和/或无线通信)与其他计算设备进行通信。通信接口910可以包括使得能够通过多个不同网络(例如,无线网络(例如,wi-fi、z-wave、蓝牙、蓝牙le、zigbee等)、有线网络(例如,通过以太网或无限带宽通信)、低功率广域网(例如,lorawan、sigfox等)和/或互联网)中的任何网络进行通信的组件和功能。
[0095]
i/o端口912可以使得计算设备900能够逻辑地耦合至包括i/o组件914、呈现组件918和/或其他组件的其他设备,这些组件中的一些组件可以内置于(例如,集成在)计算设备900中。说明性i/o组件914包括麦克风、鼠标、键盘、操纵杆、游戏手柄、游戏控制器、圆盘式卫星天线、扫描仪、打印机、无线设备等。i/o组件914可提供自然用户界面(nui),该自然用户界面处理空中姿态、语音或由用户生成的其他生理输入。在一些实例中,输入可被传送至适当的网络元件以供进一步处理。nui可实现语音识别、手写笔识别、面部识别、生物特征识别、屏幕上和屏幕附近的姿态识别、空中姿态、头部和眼睛跟踪、以及与计算设备900的显示器相关联的触摸识别(如下面更详细描述的)的任何组合。计算设备900可包含深度相机,例如立体相机系统、红外相机系统、rgb相机系统、触摸屏技术和这些的组合,以用于姿态检
测和识别。另外,计算设备900可以包括使得能够检测运动的加速度计或陀螺仪(例如,作为惯性测量单元(imu)的一部分)。在一些示例中,计算设备900可以使用加速度计或陀螺仪的输出来渲染沉浸式增强现实或虚拟现实。
[0096]
电源916可以包括硬连线电源、电池电源或其组合。电源916可以向计算设备900提供电力以使得计算设备900的组件能够操作。
[0097]
一个或更多个呈现组件918可以包括显示器(例如,监视器、触摸屏、电视屏幕、平视显示器(hud)、其他显示类型或其组合)、扬声器和/或其他呈现组件。呈现组件918可从其他组件(例如,gpu 908、cpu 906等)接收数据,并输出数据(例如,作为图像、视频、声音等)。
[0098]
示例数据中心
[0099]
图10示出了可以在本公开的至少一个实施例中使用的示例数据中心1000。数据中心1000可包括数据中心基础设施层1010、框架层1020、软件层1030和/或应用层1040。
[0100]
如图10所示,数据中心基础设施层1010可以包括资源协调器1012、分组的计算资源1014和节点计算资源(“节点c.r.”)1016(1)-1016(n),其中“n”表示任何整数、正整数。在至少一个实施例中,节点c.r.1016(1)-1016(n)可以包括但不限于任何数量的中央处理单元(“cpu”)或其他处理器(包括加速器、现场可编程门阵列(fpga)、图形处理器或图形处理单元(gpu)等)、存储器设备(例如,动态只读存储器)、存储设备(例如,固态或磁盘驱动器)、网络输入/输出(“nw i/o”)设备、网络交换机、虚拟机(“vm”)、功率模块和/或冷却模块等。在一些实施例中,节点c.r.1016(1)-1016(n)中的一个或更多个节点c.r.可对应于具有上述计算资源中的一个或更多个的服务器。此外,在一些实施例中,节点c.r.1016(1)-1016(n)可包括一个或更多个虚拟组件,诸如vgpu、vcpu等,和/或节点c.r.1016(1)-1016(n)中的一个或更多个可对应于虚拟机(vm)。
[0101]
在至少一个实施例中,分组的计算资源1014可以包括容纳在一个或更多个机架(未示出)内或容纳在不同地理位置处的数据中心(也未示出)中的许多机架内的节点c.r.1016的单独分组。分组的计算资源1014内的节点c.r.1016的单独分组可包括分组的计算、网络、存储器或存储资源,其可被配置或分配以支持一个或更多个工作负载。在至少一个实施例中,包括cpu、gpu和/或其他处理器的若干节点c.r.1016可以被分组在一个或更多个机架内以提供计算资源来支持一个或更多个工作负载。一个或更多个机架还可包括以任何组合的任何数量的功率模块、冷却模块和/或网络交换机。
[0102]
资源协调器1022可以配置或以其他方式控制一个或更多个节点c.r.1016(1)-1016(n)和/或分组的计算资源1014。在至少一个实施例中,资源协调器1022可包括用于数据中心1000的软件设计基础设施(“sdi”)管理实体。资源协调器1022可包括硬件、软件或其某种组合。
[0103]
在至少一个实施例中,如图10所示,框架层1020可以包括作业调度器1032、配置管理器1034、资源管理器1036和/或分布式文件系统1038。框架层1020可以包括支持软件层1030的软件1044和/或应用层1040的一个或更多个应用1042的框架。软件1044或应用1042可分别包括基于网络的服务软件或应用,例如由亚马逊网络服务、谷歌云和微软azure提供的那些。框架层1020可以是但不限于可以利用分布式文件系统1038进行大规模数据处理(例如,“大数据”)的一种免费开源软件web应用框架类型,诸如apache sparktm(以下称为“spark”)。在至少一个实施例中,作业调度器1032可以包括spark驱动器以促进由数据中心
1000的各层支持的工作负载的调度。配置管理器1034可以能够配置不同层,例如软件层1030和包括用于支持大规模数据处理的spark和分布式文件系统1038的框架层1020。资源管理器1036可能够管理映射到或分配用于支持分布式文件系统1038和作业调度器1032的集群或分组计算资源。在至少一个实施例中,集群或分组的计算资源可包括在数据中心基础设施层1010处的分组的计算资源1014。资源管理器1036可与资源协调器1012协调以管理这些映射或分配的计算资源。
[0104]
在至少一个实施例中,被包括在软件层1030中的软件1044可以包括由节点c.r.1016(1)-1016(n)、分组的计算资源1014和/或框架层1020的分布式文件系统1038中的至少多个部分使用的软件。一种或更多种类型的软件可以包括但不限于互联网网页搜索软件、电子邮件病毒扫描软件、数据库软件和流式视频内容软件。
[0105]
在至少一个实施例中,被包括在应用层1040中的应用1042可以包括由节点c.r.1016(1)-1016(n)、分组的计算资源1014和/或框架层1020的分布式文件系统1038中的至少多个部分使用的一种或更多种类型的应用。一种或更多种类型的应用可以包括但不限于任何数量的基因组学应用、认知计算和机器学习应用(包括训练或推理软件、机器学习框架软件(例如,pytorch、tensorflow、caffe等)和/或结合一个或更多个实施例使用的其他机器学习应用)。
[0106]
在至少一个实施例中,配置管理器1034、资源管理器1036和资源协调器1012中的任何一个可以至少基于以任何技术上可行的方式获取的任何数量和类型的数据来实施任何数量和类型的自修改动作。自修改动作可使数据中心1000的数据中心运营商免于做出可能不良的配置决策和可能避免数据中心的未充分利用和/或性能不佳的部分。
[0107]
根据在此描述的一个或更多个实施例,数据中心1000可以包括工具、服务、软件或其他资源,以便训练一个或更多个机器学习模型或使用一个或更多个机器学习模型来预测或推断信息。例如,一个或更多个机器学习模型可以通过使用上文相对于数据中心1000所描述的软件和/或计算资源,通过根据神经网络架构计算权重参数来训练。在至少一个实施例中,对应于一个或更多个神经网络的经训练的或所部署的机器学习模型可以用于通过使用通过一个或更多个训练技术(诸如但不限于本文中所描述的那些技术)计算的权重参数,来使用以上关于数据中心1000所描述的资源来推断或预测信息。
[0108]
在至少一个实施例中,数据中心1000可以使用cpu、专用集成电路(asic)、gpu、fpga、和/或其他硬件(或与其相对应的虚拟计算资源)来使用上述资源执行训练和/或推理。此外,上述一个或更多个软件和/或硬件资源可以被配置为允许用户训练或执行信息推理的服务,诸如图像辨识、语音辨识或其他人工智能服务。
[0109]
示例网络环境
[0110]
适合用于实现本公开的实施例的网络环境可以包括一个或更多个客户端设备、服务器、网络附接存储(nas)、其他后端设备和/或其他设备类型。客户端设备、服务器和/或其他设备类型(例如,每个设备)可在图9的计算设备900的一个或更多个实例上实现,例如,每个设备可包括计算设备900的类似组件、特征和/或功能。此外,在实现后端设备(例如,服务器、nas等)的情况下,后端设备可被包括作为数据中心1000的一部分,数据中心1000的示例在本文中相对于图10更详细地描述。
[0111]
网络环境的组件可以经由可以是有线的、无线的或两者的一个或更多个网络彼此
通信。网络可以包括多个网络或网络的网络。作为示例,网络可包括一个或更多个广域网(wan)、一个或更多个局域网(lan)、一个或更多个公共网络(诸如互联网和/或公共交换电话网(pstn))、和/或一个或更多个私有网络。在网络包括无线电信网络的情况下,诸如基站、通信塔或者甚至接入点(以及其他组件)的组件可以提供无线连接。
[0112]
兼容的网络环境可以包括一个或更多个对等网络环境——在这种情况下,网络环境中可以不包括服务器——和一个或更多个客户端-服务器网络环境——在这种情况下,网络环境中可以包括一个或更多个服务器。在对等网络环境中,本文关于一个或更多个服务器描述的功能可以在任何数量的客户端设备上实现。
[0113]
在至少一个实施例中,网络环境可以包括一个或更多个基于云的网络环境、分布式计算环境、其组合等。基于云的网络环境可以包括在服务器中的一个或更多个上实现的框架层、作业调度器、资源管理器和分布式文件系统,所述服务器可以包括一个或更多个核心网络服务器和/或边缘服务器。框架层可包括支持软件层的软件和/或应用层的一个或更多个应用的框架。软件或应用可以分别包括基于网络的服务软件或应用。在实施例中,客户端设备中的一个或更多个可以使用基于web的服务软件或应用(例如,通过经由一个或更多个应用编程接口(api)访问服务软件和/或应用)。框架层可以是但不限于免费和开源软件web应用框架的类型,诸如可以使用分布式文件系统进行大规模数据处理(例如,“大数据”)。
[0114]
基于云的网络环境可以提供执行在此描述的计算和/或数据存储功能(或其一个或更多个部分)的任何组合的云计算和/或云存储。这些不同功能中的任一者可从(例如,可跨州、地区、国家、全球等分布的一个或更多个数据中心的)中央或核心服务器分布在多个位置上。如果至用户(例如,客户端设备)的连接相对靠近边缘服务器,则核心服务器可以将功能的至少一部分指定给边缘服务器。基于云的网络环境可以是私有的(例如,限于单个组织)、可以是公共的(例如,对许多组织可用)和/或其组合(例如,混合云环境)。
[0115]
一个或更多个客户端设备可以包括在此关于图9所描述的一个或更多个示例计算设备900的组件、特征和功能中的至少一些。作为示例而非限制,客户端设备可被体现为个人计算机(pc)、膝上型计算机、移动设备、智能电话、平板计算机、智能手表,可穿戴计算机、个人数字助理(pda)、mp3播放器、虚拟现实耳机、全球定位系统(gps)或设备、视频播放器、摄像机、监视设备或系统,车辆、船只、飞船、虚拟机、无人机、机器人、手持式通信设备、医院设备、游戏设备或系统、娱乐系统、车辆计算机系统,嵌入式系统控制器、遥控器、电器、消费电子设备、工作站、边缘设备、这些所描绘的设备的任何组合、或任何其他合适的设备。
[0116]
可以在由计算机或其他机器(如个人数据助理或其他手持式设备)执行的计算机代码或机器可用指令(包括计算机可执行指令,如程序模块)的一般上下文中描述本公开。通常,包括例程、程序、对象、组件、数据结构等的程序模块指的是执行特定任务或实现特定抽象数据类型的代码。本公开可以在各种系统配置中实施,包括手持式设备、消费电子产品、通用计算机、更专业的计算设备等。本公开也可以在任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。
[0117]
如在此使用的,关于两个或更多个元件的“和/或”的叙述应当被解释为意指仅一个元件、或元件的组合。例如,“元素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中的至少一个。
[0118]
在此具体描述了本公开的主题以满足法定要求。然而,描述本身不旨在限制本公开的范围。相反,发明人已预期所要求保护的主题还可结合其他当前或未来技术以其他方式来体现,以包括不同步骤或类似于在本文档中描述的步骤的步骤的组合。此外,尽管术语“步骤”和/或“框”在本文中可以用于表示所采用的方法的不同元素,但是除非并且除了明确描述个别步骤的顺序,否则该术语不应被解释为暗示在本文中公开的各个步骤之中或之间的任何特定顺序。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献