提供内容的制作方法

文档序号:16505843发布日期:2019-01-05 09:01阅读:257来源:国知局
提供内容的制作方法

人工智能(ai)聊天机器人被设计用于模拟人类对话,并且可以通过文本、语音、图像等与人聊天。聊天机器人变得越来越流行,并且正在越来越多的场景中得到应用。在一些基于图像的电子游戏中,可以包含聊天机器人以回答玩家的问题或与玩家聊天。例如,增强现实(ar)游戏可以使用聊天机器人来协助玩家玩游戏。



技术实现要素:

提供本发明内容以便介绍一组概念,这组概念将在以下的具体实施方式中做进一步描述。本发明内容并非旨在标识所保护主题的关键特征或必要特征,也不旨在用于限制所保护主题的范围。

本公开的实施例可以将ai聊天机器人应用于基于图像的电子游戏中。聊天机器人可以在聊天流中向玩家提供与电子游戏相关联的内容。与电子游戏相关联的内容可以包括各种类型的信息,例如,对玩家输入的消息的响应、当前游戏图像的信息、推荐的游戏策略等。

应当注意,以上一个或多个方面包括以下详细描述以及权利要求中具体指出的特征。下面的说明书及附图详细提出了所述一个或多个方面的某些说明性特征。这些特征仅仅指示可以实施各个方面的原理的多种方式,并且本公开旨在包括所有这些方面和其等同变换。

附图说明

以下将结合附图描述所公开的多个方面,这些附图被提供用以说明而非限制所公开的多个方面。

图1示出了根据实施例的聊天机器人的示例性应用场景。

图2示出了根据实施例的应用聊天机器人的示例性系统。

图3a和图3b示出了根据实施例的游戏界面中的示例性显示。

图4示出了根据实施例的用于建立索引数据库的示例性过程。

图5示出了根据实施例的用于执行语义角色标注的示例性过程。

图6示出了根据实施例的用于提供响应的示例性方法的流程图。

图7示出了根据实施例的用于提供响应的示例性方法的流程图。

图8示出了根据实施例的用于提供当前游戏图像的信息的示例性方法的流程图。

图9示出了根据实施例的用于提供显式推荐游戏策略的示例性过程。

图10示出了根据实施例的用于提供内容的示例性方法的流程图。

图11示出了根据实施例的用于提供内容的示例性装置。

图12示出了根据实施例的用于提供内容的示例性装置。

具体实施方式

现在将参考多种示例性实施方式来讨论本公开。应当理解,这些实施方式的讨论仅仅用于使得本领域技术人员能够更好地理解并从而实施本公开的实施例,而并非教导对本公开的范围的任何限制。

电子游戏中的现有聊天机器人可以执行与玩家的简单交互,例如,通过文本回答玩家的问题。与电子游戏中的现有聊天机器人不同,根据本公开实施例的ai聊天机器人可以向玩家提供更有效的协助,并且可以改善玩家的体验。本公开的实施例可以将聊天机器人应用于基于图像的电子游戏中。聊天机器人可以在聊天流中向玩家提供与电子游戏相关联的内容。与电子游戏相关联的内容可以包括与电子游戏相关联的各种类型的信息,例如,对由玩家输入的消息的多媒体响应、当前游戏图像的信息、推荐的游戏策略等。在本文中,聊天流可以指包括来自玩家的消息和来自聊天机器人的响应的聊天过程。电子游戏可以具有包括游戏屏幕和聊天窗口的游戏界面。游戏屏幕可以用于显示游戏图像。聊天窗口可以由聊天机器人用于与玩家交互,例如,可以在聊天窗口中显示聊天流。

图1示出了根据实施例的聊天机器人的示例性应用场景100。

在图1中,网络110被应用于在终端设备120、游戏服务器130和聊天机器人服务器140之间进行互连。

网络110可以是能够对网络实体进行互连的任何类型的网络。网络110可以是单个网络或各种网络的组合。在覆盖范围方面,网络110可以是局域网(lan)、广域网(wan)等。在承载介质方面,网络110可以是有线网络、无线网络等。在数据交换技术方面,网络110可以是电路交换网络、分组交换网络等。

终端设备120可以是能够连接到网络110、访问网络110上的服务器或网站、处理数据或信号等的任何类型的电子计算设备。例如,终端设备120可以是台式计算机、笔记本电脑、平板电脑、智能电话等。尽管在图1中仅示出了一个终端设备120,但是应当理解,可以有不同数量的终端设备连接到网络110。

终端设备120可以运行电子游戏122。电子游戏122可以是安装在终端设备120上的游戏客户端,其可以通过网络110与游戏服务器130交互。游戏服务器130可以提供电子游戏122的运行所需的游戏参数或数据,并且还可以在一定程度上为电子游戏122提供游戏处理能力。

终端设备120可以包括聊天机器人124,其可以在电子游戏122中向玩家提供与电子游戏122相关联的内容。在一些实施方式中,聊天机器人124可以被包含到电子游戏122中,因此可以是电子游戏122的一部分。在其它实施方式中,聊天机器人124可以是终端设备120上的独立应用程序,并且可以被配置用于与电子游戏124协作和交互。聊天机器人124可以与聊天机器人服务器140交互。例如,聊天机器人124可以将由玩家输入的消息发送到聊天机器人服务器140,并且从聊天机器人服务器140接收与消息相关联的响应。然而,应当理解,在一些实施方式中,聊天机器人124也可以本地生成对由玩家输入的消息的响应,而不是与聊天机器人服务器140进行交互。

应当理解,图1中所示的所有网络实体都是示例性的,根据具体的应用需求,应用场景100可以涉及任何其它网络实体。

图2示出了根据实施例的应用聊天机器人的示例性系统200。

系统200可以包括电子游戏的游戏界面210。游戏界面210是一种用于信息呈现的用户界面(ui)。游戏界面210可以包括用于显示游戏图像的游戏屏幕,以及用于由聊天机器人与玩家进行交互的聊天窗口。应当理解,聊天窗口可以由游戏或由聊天机器人提供。

系统200可以包括聊天机器人的核心处理模块220。核心处理模块220被配置用于通过与聊天机器人的其它模块的协作,在聊天机器人的运行期间提供处理能力。

核心处理模块220可以获得由玩家在游戏界面100的聊天窗口中输入的消息,并将消息存储在消息队列232中。消息可以采用各种多媒体形式,例如文本、语音、图像、视频等。

核心处理模块220可以用先进先出的方式处理消息队列232中的消息。核心处理模块220可以调用应用程序接口(api)模块250中的处理单元来处理各种形式的消息。api模块250可以包括文本处理单元252、语音处理单元254、图像处理单元256等。

对于文本消息,文本处理单元252可以对文本消息执行文本理解,并且核心处理模块220可以进一步确定文本响应。

对于语音消息,语音处理单元254可以对语音消息执行语音到文本转换以获得文本语句,文本处理单元252可以对所获得的文本语句执行文本理解,并且核心处理模块220可以进一步确定文本响应。如果确定以语音提供响应,则语音处理单元254可以对文本响应执行文本到语音转换以生成相应的语音响应。

对于图像消息,图像处理单元256可以对图像消息执行图像识别以生成相应的文本,并且核心处理模块220可以进一步确定文本响应。在一些情况下,图像处理单元256也可以用于基于文本响应来获得图像响应。

此外,尽管在图2中未示出,api模块250还可以包括任何其它处理单元。例如,api模块250可以包括视频处理单元,该视频处理单元用于与核心处理模块220协作以处理视频消息并确定响应。

核心处理模块220可以通过索引数据库260来确定响应。索引数据库260可以包括可由核心处理模块220提取作为响应的多个索引项。索引数据库260中的索引项可以被分类为问题-答案对索引集262和纯聊天索引集264。问题-答案对索引集262中的索引项采用问题-答案对的形式,问题-答案对索引集262可以包括与游戏相关联的问题-答案对。纯聊天索引集264中的索引项被准备用于玩家和聊天机器人之间的自由聊天,并且可以不采用问题-答案对的形式。

可以将由核心处理模块220确定的响应提供给响应队列或响应高速缓存234。例如,响应高速缓存234可以确保能够以预定义的时间流来显示响应序列。假设对于一个消息,由核心处理模块220确定了不少于两个响应,则对响应的时间延迟设置可能是必要的。例如,如果玩家输入的消息是“你吃早餐了吗?”,则可能确定出两个响应,例如,第一响应是“是的,我吃了面包”,第二响应是“你呢?还觉得饿吗?”。在这种情况下,通过响应高速缓存234,聊天机器人可以确保立即向玩家提供第一响应。此外,聊天机器人可以确保以例如1或2秒的时间延迟来提供第二响应,使得第二响应将在第一响应之后的1或2秒提供给玩家。由此,响应高速缓存234可以管理将要发送的响应以及针对每个响应的适当定时。

可以将响应队列或响应高速缓存234中的响应进一步传送到游戏界面210,以便可以将响应显示给玩家。

核心处理模块220可以从游戏界面210的游戏屏幕获得当前游戏图像236。核心处理模块220还可以从索引数据库260内的问题-答案对索引集262中提取与当前游戏图像相关联的问题-答案对。所提取的问题-答案对包含描述当前游戏图像或当前游戏图像中的实体的信息,其被表示为游戏图像信息238。可以将所提取的问题-答案对传送到游戏界面210,使得可以将游戏图像信息238显示给玩家。以此方式,随着游戏进行,聊天机器人可以及时地向玩家提供游戏信息。

在一些实施方式中,还可以由核心处理模块220将当前游戏图像236与消息队列232中的对应消息进行组合,并且可以将该组合用于确定对该消息的响应。

在一些实施方式中,聊天机器人可以将当前游戏图像236用于提供推荐游戏策略240。在本文中,推荐游戏策略可以指用于指导玩家以有效的且富有成果的方式进行游戏的建议或启发。推荐游戏策略可以是显式的或隐式的。显式推荐游戏策略可以明确地指示能够采取什么下一步动作以及可以获得哪些奖励。核心处理模块220可以使用通过机器学习预先建立的游戏策略模型270来确定对应于当前游戏图像236的显式推荐游戏策略。隐式推荐游戏策略可以包括其他玩家的实时游戏信息,所述其他玩家与该玩家具有匹配的游戏图像,例如与该玩家处于相同或相似的游戏图像中。核心处理模块220可以通过游戏图像的匹配来发现所述其他玩家,并进一步获得这些玩家的游戏信息。可以将推荐游戏策略240传送到游戏界面210,以便能够将推荐游戏策略240显示给玩家。

应当理解,图2中的系统200中所示的所有单元都是示例性的,并且根据具体的应用需求,在系统200中可以省略任何所示的单元并且可以涉及任何其它单元。

图3a和图3b示出了根据实施例的游戏界面中的示例性显示。在一些实施方式中,游戏界面可以包括游戏屏幕和聊天窗口。游戏屏幕和聊天窗口可以在游戏界面中交替地显示。例如,游戏屏幕和聊天窗口可以响应于玩家的操作而彼此切换。游戏屏幕和聊天窗口也可以以重叠方式来显示。例如,聊天窗口可以显示在游戏屏幕之上,并且可以覆盖游戏屏幕的全部或一部分。

图3a示出了游戏界面中的示例性显示300a。在该游戏界面中示出了游戏屏幕310。游戏屏幕310正在显示实体312和实体314。控制面板316也显示在游戏屏幕310中。控制面板316可以包括多个虚拟按钮,以用于玩家在游戏中执行动作或控制。图标302显示在游戏屏幕310的右上角。图标302可以是聊天机器人的标志。当玩家触摸图标302时,可以在游戏界面中显示聊天窗口。

图3b示出了游戏界面中的示例性显示300b。在该游戏界面中示出了聊天窗口320。可以响应于玩家在图3a中的图标302上的触摸操作而显示聊天窗口320。聊天窗口320可以包括呈现区域322、控制区域324和输入区域326。呈现区域322在聊天流中显示消息和响应,控制区域324包括多个虚拟按钮以用于玩家执行消息输入设置,输入区域326用于玩家输入消息。聊天窗口320还可以包括虚拟按钮328。如果玩家触摸虚拟按钮328,则游戏界面可以从聊天窗口320切换到游戏屏幕310。

应当注意,图3a和图3b中所示的所有单元及其布局都是示例性的。根据具体的应用需求,图3a和图3b中的游戏界面可以省略或添加任何单元,并且图3a和图3b的游戏界面中的单元的布局也可以以各种方式改变。

图4示出了根据实施例的用于建立索引数据库的示例性过程400。索引数据库可以由聊天机器人用于在电子游戏中提供内容。索引数据库可以包括问题-答案对索引集和纯聊天索引集。

用于建立问题-答案对索引集的数据资源可以是游戏网站40。游戏网站40可以包括至少两种类型的数据资源。一种类型的数据资源是游戏供应商的官方网站402。游戏的供应商可以发布游戏、修改游戏或者将新的特征添加到游戏中。供应商可以在官方网站402上公布与游戏相关的各种类型的信息,例如,简单的游戏介绍、游戏界面、游戏的现有或新特征、游戏的修改、游戏中的人物简档、常见问题和相应的官方答案等。另一种类型的数据源是由除游戏供应商之外的实体运营的非官方游戏相关网站404。非官方游戏相关网站404可以提供与各种游戏相关的各种类型的信息,并且可以提供用户发布他们的游戏相关经验、故事、意见等的平台。

在一些实施方式中,聊天机器人可以通过任何类型的数据抓取技术从官方网站402和非官方游戏相关网站404获得与游戏相关的网站数据。在其它实施方式中,官方网站402或非官方游戏相关网站404也可以主动地将网站数据提供给聊天机器人。网站数据可以分类为问题-答案对406和纯文本(plaintext)408。问题-答案对406采用问题-答案对的样式,其可以包括例如来自官方网站402的官方问题-答案对和来自非官方游戏相关网站404的由用户创建的问题-答案对。纯文本408采用知识数据的样式,其可以包括例如来自官方网站402和非官方游戏相关网站404的、除了问题-答案对以外的与游戏相关的各种类型的信息。

问题-答案对406可以被直接索引并添加到问题-答案对索引集416中。纯文本408可以用于生成问题-答案对,然后,所生成的问题-答案对可以被索引并添加到问题-答案对索引集416中。

在从纯文本408生成问题-答案对的过程中,可以采用语义角色标注(srl)技术412。srl可以用于识别句子中的各种语义角色,从而获得句子的语义结构。srl可以检测句子中的谓词(predicate),并找到每个谓词的论元(argument)。例如,srl可以识别句子中的主语论元、宾语论元、时间论元、位置论元等。

在从纯文本408生成问题-答案对的过程中,可以从问题-答案对406中生成或得出问题模式410。在本文中,问题模式可以指问题的句子结构和提问词语,其可以指示在问题中能够使用哪种提问词语、该问题能够针对哪个论元提问等。对于包括问题“谁打破了窗户?”和答案“彼得打破了窗户”的示例性问题-答案对,可以得出问题模式“谁做……?”。在这个问题模式中,提问词语是“谁”,被提问的论元是主语论元,例如“彼得”。对于包括问题“彼得什么时候打破了窗户?”和答案“彼得昨天打破了窗户”的另一个示例性问题-答案对,可以得出问题模式“什么时候做……?”。在这个问题模式中,提问词语是“什么时候”,被提问的论元是时间论元,例如“昨天”。

在414处,可以基于问题模式410和执行了srl412的纯文本来生成问题-答案对。如上所述,srl412可以识别纯文本中的各种论元,并且问题模式可以指示可将什么句子结构和提问词语用于针对纯文本中的论元进行提问。例如,假设纯文本“罗伯特驾驶一辆红色汽车”,可以生成“谁驾驶红色汽车?”和“罗伯特”的问题-答案对,以对主语论元“罗伯特”进行提问,可以生成“罗伯特驾驶什么?”和“红色汽车”的问题-答案对,以对宾语论元“红色汽车”进行提问,等等。

应当理解,现有的srl技术只能对一个句子执行srl分析,而本公开的实施例可以对一组句子执行srl分析,从而可以从纯文本里的一组句子中生成问题-答案对。这在该组句子处于同一个话题的情况下是有益的。

图5示出了根据实施例的用于执行srl的示例性过程500。过程500可以对段落中的一组句子执行srl分析。

在块510中示出了一组句子,其包括三个句子:第一句“麦克是老师”,第二句“他教生物学”,第三句“麦克在abc高中”。

在520、530和540处,分别对三个句子执行srl分析。通过srl确定每个句子中的论元,从而也可以确定句子的语义结构。

在一种实施方式中,可以连接句子之间的相似或相关的论元。例如,在550处,可以确定第二句中的代词“他”指代第一句中的“麦克”,因此将第二句视为是对第一句的进一步描述。在560处,可以确定第三句中的“麦克”指代第一句中的“麦克”,因此也可以将第三句视为是对第一句的进一步描述。

基于在520、530和540处的srl分析以及在550和560处确定的三个句子之间的关系,可以相应地获得该段落的完整语义结构。

返回到图4,通过图5确定的段落的语义结构可以与问题模式410一起用于在414处生成问题-答案对。例如,如果要针对第三句中的位置论元“abc高中”进行提问,则可以生成“麦克在哪教生物学?”和“abc高中”的问题-答案对,如果要针对第二句中的宾语论元“生物学”进行提问,则可以生成“麦克在abc高中教什么?”和“生物学”的问题-答案对,等等。

除了如上所述通过srl分析从一组句子生成问题-答案对外,本公开的一些实施方式还可以通过从一组句子中辨别出主要句子而从该组句子生成问题-答案对。主要句子可以是该组句子中的代表性句子,其可以包含该组句子的最关键信息。可以采用各种方式来确定该组句子中的主要句子。例如,通过应用现有的奇异值分解(svd)技术并结合词频统计,可以将一组句子中包含最多实词或最多高频词的句子确定为主要句子。可以仅基于该组句子中的主要句子来生成问题-答案对中的问题,并且可以基于主要句子、该组句子中除主要句子之外的其它句子、或者这两者来生成问题-答案对中的答案。

在414处生成的问题-答案对可以被索引并添加到问题-答案对索引集416中。

用于建立纯聊天索引集418的数据资源可以包括例如社交网络网站420。本公开的实施例可以通过任何现有的抓取技术从社交网络网站抓取数据,然后通过任何现有的用于创建索引的技术来将所抓取的数据作为索引项而索引到纯聊天索引集418中。根据一种实施方式,纯聊天索引集418中的索引项可以被分类为与游戏相关联的游戏相关子集,以及与游戏不相关联的非游戏相关子集。当聊天机器人提取对由玩家输入的消息的响应时,可以对游戏相关子集给予比非游戏相关子集更高的优先级或权重。因此,聊天机器人可以以更高优先级提供游戏相关响应,这可以满足游戏供应商的期望,其中,游戏供应商可能期望聊天机器人尽可能多地提供与游戏相关的响应。

问题-答案对索引集416和纯聊天索引集418可以被一起包括在索引数据库430中。应当理解,索引数据库430可以被动态地更新。例如,官方网站402上的数据可能被经常更新,从而,一旦获得任何更新数据,就可以动态地执行过程400。

在一些实施方式中,可以进一步将与问题-答案对索引集中的问题-答案对相关联的图像添加到索引数据库中。为此,可以训练图像-文本相似性模型。图像-文本相似性模型可以是,例如,卷积神经网络-递归神经网络(cnn-rnn)相似性模型。

为了获得训练数据,首先,可以采用各种现有的语言处理技术以用于根据问题-答案对索引集中的问题-答案对来确定关键词。然后,可以通过图像搜索引擎,例如bing图像搜索,来获得与关键词相关联的图像。可以使用一列<问题-答案对,图像>作为训练数据。可以基于训练数据来训练cnn-rnn相似性模型。根据所建立的cnn-rnn相似性模型,模型中的cnn部分可以将图像转换为空间向量,模型中的rnn部分可以将一个或多个句子,例如问题-答案对,转换为空间向量。可以基于对应于问题-答案对的向量和对应于图像的向量来计算问题-答案对与图像之间的相似性。

在cnn-rnn相似性模型的训练期间,可能发现与相应的问题-答案对具有高于预定阈值的相似性的多个图像,可以将这些图像与相应的问题-答案对相关联地添加到索引数据库中。因此,当确定对消息的响应时,可以将问题-答案对和与该问题-答案对相关联的图像中的两者或其中任意一个确定为响应。

图6示出了根据实施例的用于提供响应的示例性方法600的流程图。通过方法600,可以基于消息来确定和提供响应。

在610处,可以从游戏界面的聊天窗口获得消息。消息可以由游戏玩家在聊天窗口中输入。消息可以包括例如问候、查询、评论、对聊天机器人的问题或响应的回复等。

在620处,可以基于消息从索引数据库确定响应。如上所述,索引数据库可以包括索引项。可以计算消息和索引项之间的相似性,并且可以选择与消息具有最高相似性的索引项作为对消息的响应。

在一种实施方式中,优选的是从索引数据库里的问题-答案对索引集中找到响应。例如,可以将梯度提升决策树(gbdt)分类器用于计算消息和问题-答案对索引集中的问题之间的相似性。gbdt分类器的特征可以包括以下至少之一:在消息和问题之间的词级别的编辑距离;在消息和问题之间的字符级别的编辑距离;在消息和问题之间的word2vec相似性;在消息和问题之间的bm25分数;等等。在获得问题-答案对索引集中的问题的相似性分数后,可以将与排名最高的问题相对应的答案确定为响应。如果问题-答案对索引集中的问题的相似性分数都低于预定阈值,即,所有问题与消息都没有足够的相似性,则可以将索引数据库中的纯聊天索引集用于进一步查找响应。可以采用任何现有的基于关联性的搜索技术来从纯聊天索引集中确定响应。

在另一种实施方式中,可以在索引数据库中建立高频消息和相应候选响应的列表。在本文中,高频消息可以指在各种聊天场景中以高概率出现的消息,例如问候。当确定响应时,可以首先在610处获得的消息与列表中的高频消息之间执行匹配。如果在列表中找到匹配的高频消息,则可以将与该匹配的高频消息相对应的候选响应确定为对消息的响应。如果没有找到匹配的高频消息,则可以如上所述从问题-答案对索引集和/或纯聊天索引集中确定响应。

在另一种实施方式中,如上所述,可以对纯聊天索引集中的游戏相关子集给予比纯聊天索引集中的非游戏相关子集更高的优先级或权重。因此,当尝试从纯聊天索引集中确定响应时,可以以较高优先级确定出游戏相关响应。

在630处,可以在聊天流中向玩家提供所确定的响应。例如,可以将响应显示在游戏界面的聊天窗口中。

应当理解,如果响应是从问题-答案对索引集中确定的,或者是从纯聊天索引集里的游戏相关子集中确定的,则该响应也可以是与游戏相关联的响应。

此外,应当理解,由玩家输入的消息不限于文本,消息也可以采用语音、图像等形式。对于语音消息,方法600还可以包括对语音消息执行语音到文本转换以获得相应的文本消息。然后,可以基于文本消息来确定响应。对于图像消息,方法600可以如上所述使用cnn-rnn相似性模型来确定响应。例如,可以将cnn-rnn相似性模型用于确定图像消息和索引数据库中的索引项之间的相似性,并且可以选择与图像消息具有最高相似性的索引项作为响应。

此外,应当理解,聊天机器人的响应不限于文本,响应也可以采用语音、图像等形式。在提供语音响应的情况下,方法600可以对文本响应执行文本到语音转换以获得对应的语音响应,并向玩家提供语音响应。在提供图像响应的情况下,方法600可以首先将索引数据库中的一个索引项确定为对消息的响应,然后,如果存在,则从索引数据库中获得与该索引项,例如问题-答案对,相关联的对应图像。可以将该索引项和与该索引项相关联的图像中的两者或其中任意一个提供作为响应。可替换地,方法600可以直接使用cnn-rnn相似性模型来确定消息与索引数据库中的图像之间的相似性,并且可以选择与消息具有最高相似性的图像作为响应。

图7示出了根据实施例的用于提供响应的示例性方法700的流程图。方法700是基于图6中的方法600的进一步实施方式。通过方法700,可以基于消息和当前游戏图像的组合来确定和提供响应。

在一些情况下,游戏界面的游戏屏幕中的当前游戏图像可以为来自玩家的消息提供附加信息,因此,除了消息以外,聊天机器人还可以基于当前游戏图像来更好地理解玩家的意图,并提供更相关的响应。例如,如果玩家输入消息“这是什么动物?”,则仅基于消息可能难以找到适合的响应,因为该消息没有包含足以使聊天机器人获知该“动物”的任何属性的信息。然而,假定在游戏屏幕中现在正显示作为实体的一条狗,则聊天机器人可以根据当前游戏图像识别出消息中的“动物”可能指在游戏屏幕中显示的狗,因此可以确定出与狗相关的响应,例如对狗的描述,并将响应提供给玩家。

在710处,可以从游戏界面的聊天窗口获得消息。

在720处,可以获得当前游戏图像。当前游戏图像可以是,例如,游戏屏幕的截图,并且可以包含游戏屏幕中当前显示的一个或多个实体。

在730处,可以基于消息和当前游戏图像从索引数据库中确定响应。例如,可以将消息和当前游戏图像组合在一起,并且可以将该组合用于确定响应。

可以采用各种方式来组合消息和当前游戏图像。在一种实施方式中,可以在向量空间中执行组合。通过如上所述的cnn-rnn相似性模型的cnn部分,可以将当前游戏图像转换为对应于当前游戏图像的向量,并且也可以将消息转换成对应于消息的向量。可以将对应于当前游戏图像的向量和对应于消息的向量进行组合,例如,连结或累加在一起,以便获得组合向量。组合向量可以进一步用于从索引数据库中确定响应。

在740处,可以在聊天流中将所确定的响应提供给玩家。

图8示出了根据实施例的用于提供当前游戏图像的信息的示例性方法800的流程图。在一些情况下,游戏玩家可能希望获得关于游戏屏幕中正在显示的游戏图像的描述信息,例如角色简介、场景介绍等。这种信息将有助于玩家更好地理解游戏、决定下一动作等。随着游戏的进行,聊天机器人可以主动地或响应于请求地提供当前游戏图像的信息,从而玩家可以及时获得关于他在游戏屏幕中看到的内容的描述信息。

在810处,可以从游戏界面获得当前游戏图像。当前游戏图像可以是,例如,游戏界面的游戏屏幕的截图,并且可以包含游戏屏幕中当前显示的一个或多个实体。

在820处,可以确定当前游戏图像和索引数据库中的问题-答案对之间的相似性。

在一种实施方式中,可以如上所述采用cnn-rnn相似性模型来确定相似性。例如,通过cnn-rnn相似性模型,可以针对索引数据库里的问-答对索引集中的问题-答案对来计算相似性分数。

在830处,可以基于相似性来选择问题-答案对以作为当前游戏图像的信息。所选择的问题-答案对可以是索引数据库里的问题-答案对中排名最高的问题-答案对,例如,具有最高相似性分数的问题-答案对。应当理解,可以将完整的所选择的问题-答案对,或者所选择的问题-答案对的一部分,例如答案部分,作为当前游戏图像的信息。

在840处,可以在聊天流中向玩家提供当前游戏图像的信息。例如,可以将当前游戏图像的信息显示在游戏界面的聊天窗口中。

图9示出了根据实施例的用于提供显式推荐游戏策略的示例性过程900。过程900可以应用于ar游戏中,以用于通过推送显式推荐游戏策略来为玩家提供协助。

虽然可以从网络上的网站找到游戏的一些明确的策略,但是这些游戏策略的详细程度可能不足以指导玩家基于游戏图像来进行,并且可能不适于游戏的最新版本。本公开的实施例可以从游戏的多个玩家处收集历史数据,并利用历史数据来训练游戏策略模型,然后应用游戏策略模型以提供显式推荐游戏策略。

如图9所示,可以训练和应用游戏策略模型910。在一种实施方式中,游戏策略模型910可以基于对现有深度强化学习(drl)模型的改进。drl模型是用于游戏的经历重放技术。玩家在时间t处的经历被表示为et=(st,at,rt,st+1),其中,st是当前状态,at是玩家基于st的动作,rt是将at应用于st而导致的奖励,st+1是下一状态。

根据该实施方式的用于ar游戏的游戏策略模型910为在时间t处的玩家经历et定义了以下特征:当前游戏图像it,现实世界中的当前时间tt,现实世界中的当前位置lt,玩家基于it的动作at,将at应用于it而导致的奖励rt,以及下一游戏图像it+1。由此,可以将来自玩家的ar游戏的一列特征(it,tt,lt,at,rt,it+1)用作游戏策略模型910的一条训练数据。

在图9中示出了训练数据集820,其可以包括来自多个玩家的历史数据。训练数据集820可以用于通过机器学习来训练游戏策略模型910。

在一种实施方式中,可以动态地更新训练数据集820,从而可以动态地执行游戏策略模型910的训练。例如,一旦获得了新的训练数据,就可以触发游戏策略模型910的训练,从而可以相应地更新游戏策略模型910。

在另一种实施方式中,在训练游戏策略模型910期间,训练数据集820中由玩家主动分享的那些训练数据可以被给予比其它训练数据更高的权重。例如,一些玩家可能希望分享其在某个时间处的经历,例如,在该时间处他们获得了奖励或在游戏中取得了进展。当这些玩家命令聊天机器人以分享他们的经历时,聊天机器人可以从这些玩家获得训练数据。来自这些玩家的所分享的经历的训练数据可能比其它训练数据更重要或更具代表性,因此可以在训练游戏策略模型910期间给予更高的权重。例如,权重可以是基于奖励排名来给出的。

在建立了ar游戏的游戏策略模型910之后,可以将游戏策略模型910进一步应用于向玩家提供显式推荐游戏策略。例如,当玩家正在玩ar游戏时,对游戏策略模型910的输入930可以包括当前游戏图像、现实世界中的当前时间以及现实世界中的当前位置。基于输入930,游戏策略模型910可以生成显式推荐游戏策略940。显式推荐游戏策略940可以包括推荐动作,该推荐动作是对玩家可以采取的下一动作的建议。显式推荐游戏策略940还可以包括推荐动作和与该推荐动作相对应的奖励两者,其中,如果玩家在当前游戏图像处采取了该推荐动作,则可以导致该奖励。

可以将显式推荐游戏策略940传送到游戏界面,使得可以在游戏界面的聊天窗口中向玩家显示显式推荐游戏策略940。

除了如图9所示提供显式推荐游戏策略之外,本公开的实施例还可以实时提供隐式推荐游戏策略。

通常,游戏的玩家,以下称为“第一玩家”,不能获得其他玩家的游戏信息或者其他游戏组中的其他玩家的游戏信息。例如,当第一玩家和所述其他玩家是在相同的游戏场景中时,游戏本身没有提供用于使第一玩家获知所述其他玩家的实时游戏信息的机制。在本文中,游戏信息可以指在一个游戏图像处采取的动作和/或对应于该动作的奖励。根据本公开的实施例,聊天机器人可以实时地向游戏的第一玩家提供这样的信息,以协助第一玩家对下一动作做出决定。聊天机器人可以在第一玩家的当前游戏图像和其他玩家的当前或最近游戏图像之间执行实时匹配。第一玩家和所述其他玩家可能具有相同的游戏目标或经历游戏中的相同的一系列奖励。如果发现了所述其他玩家中第二玩家的匹配的游戏图像,则聊天机器人可以确定第一玩家和第二玩家处于相同的游戏场景下,因此聊天机器人可以提取第二玩家的实时游戏信息,例如,第二玩家在该匹配的游戏图像上采取的动作和/或第二玩家获得的与该动作相对应的奖励,并将第二玩家的实时游戏信息作为隐式推荐游戏策略提供给第一玩家。可以将隐式推荐游戏策略传送到游戏界面,使得可以在游戏界面的聊天窗口中向第一玩家显示隐式推荐游戏策略。在实时获得了隐式推荐游戏策略后,通过参考处于相同游戏场景下的第二玩家的经历,第一玩家可以决定应当采取什么样的下一行动,并且可以获知能够预期得到什么样的奖励。

图10示出了根据实施例的用于提供内容的示例性方法1000的流程图。

在1010处,可以获得电子游戏的当前界面信息。当前界面信息可以指正在游戏界面中显示的信息,诸如在游戏界面的游戏屏幕中的当前游戏图像、在游戏界面的聊天窗口中的当前消息等。

在1020处,可以至少基于当前界面信息,在聊天流中提供与电子游戏相关联的内容。

在一种实施方式中,当前界面信息可以包括当前游戏图像。内容可以包括当前游戏图像的信息。可以从索引数据库中确定当前游戏图像的信息。索引数据库可以包括多个问题-答案对,并且当前游戏图像的信息可以基于多个问题-答案对中与当前游戏图像具有最高相似性的一个问题-答案对。

在一种实施方式中,当前界面信息可以包括当前游戏图像。内容可以包括显式推荐游戏策略。显式推荐游戏策略可以包括推荐动作,或者推荐动作和与推荐动作相对应的奖励两者。

电子游戏可以是ar游戏,方法1000还可以包括:获得现实世界中的当前时间和当前位置;以及至少基于当前游戏图像、当前时间和当前位置,通过游戏策略模型来获得显式推荐游戏策略。可以基于多个玩家的历史数据通过机器学习来建立游戏策略模型,历史数据包括游戏图像、时间、位置、动作、奖励和下一游戏图像中的至少一个。

在一种实施方式中,当前界面信息可以包括当前游戏图像。内容可以包括隐式推荐游戏策略。隐式推荐游戏策略可以包括具有与当前游戏图像相匹配的游戏图像的其他玩家的实时游戏信息。

在一种实施方式中,当前界面信息可以包括聊天流中的消息。内容可以包括对所述消息的响应。响应可以包括与电子游戏相关联的文本、与电子游戏相关联的语音和与电子游戏相关联的图像中的至少一个。

当前界面信息可以包括当前游戏图像,可以至少基于当前游戏图像和所述消息来确定响应。所述响应可以是通过以下操作确定的:在向量空间中获得当前游戏图像和所述消息的组合;获得所述组合与索引数据库中的问题之间的相似性,索引数据库包括多个问题-答案对;以及选择索引数据库中的答案以作为所述响应,该答案对应于与所述组合具有最高相似性的问题。

在一种实施方式中,索引数据库中的多个问题-答案对可以包括以下之一:来自电子游戏的官方网站的问题-答案对;来自非官方游戏相关网站的问题-答案对;以及由来自官方网站和非官方游戏相关网站的纯文本生成的问题-答案对。可以基于纯文本中的一组句子来确定所述生成的问题-答案对中的至少一个。

在一种实施方式中,索引数据库还可以包括与多个问题-答案对中的至少一个相关联的图像。

图11示出了根据实施例的用于提供内容的示例性装置1100。

装置1100可以包括获得模块1110和提供模块1120。获得模块1110用于获得电子游戏的当前界面信息。提供模块1120用于至少基于当前界面信息,在聊天流中提供与电子游戏相关联的内容。

在一种实施方式中,当前界面信息可以包括当前游戏图像。内容可以包括当前游戏图像的信息。可以从索引数据库中确定当前游戏图像的信息。索引数据库可以包括多个问题-答案对。当前游戏图像的信息可以基于多个问题-答案对中与当前游戏图像具有最高相似性的一个问题-答案对。

在一种实施方式中,当前界面信息可以包括当前游戏图像。内容可以包括显式推荐游戏策略。显式推荐游戏策略可以包括推荐动作,或者推荐动作和与推荐动作相对应的奖励两者。

电子游戏可以是ar游戏。装置1100还可以包括:用于获得现实世界中的当前时间和当前位置的模块;以及用于至少基于当前游戏图像、当前时间和当前位置,通过游戏策略模型来获得显式推荐游戏策略的模块。可以基于多个玩家的历史数据通过机器学习来建立游戏策略模型。历史数据可以包括游戏图像、时间、位置、动作、奖励和下一游戏图像中的至少一个。

在一种实施方式中,当前界面信息可以包括聊天流中的消息。内容可以包括对所述消息的响应。响应可以包括与电子游戏相关联的文本、与电子游戏相关联的语音和与电子游戏相关联的图像中的至少一个。

在一种实施方式中,当前界面信息可以包括当前游戏图像。可以至少基于当前游戏图像和所述消息来确定响应。

此外,装置1100还可以包括被配置用于执行根据上述本公开实施例的用于提供内容的方法的任何操作的任何其它模块。

图12示出了根据实施例的用于提供内容的示例性装置1200。

装置1200可以包括一个或多个处理器1210。装置1200还可以包括与一个或多个处理器1210连接的存储器1220。存储器1220可以存储计算机可执行指令,当所述计算机可执行指令被执行时,使得一个或多个处理器1210执行根据上述本公开实施例的用于提供内容的方法的任何操作。

本公开的实施例可以实施在非暂时性计算机可读介质中。该非暂时性计算机可读介质可以包括指令,当所述指令被执行时,使得一个或多个处理器执行根据上述本公开实施例的用于提供内容的方法的任何操作。

应当理解,以上描述的方法中的所有操作都仅仅是示例性的,本公开并不限制于方法中的任何操作或这些操作的顺序,而是应当涵盖在相同或相似构思下的所有其它等同变换。

还应当理解,以上描述的装置中的所有模块都可以通过各种方式来实施。这些模块可以被实施为硬件、软件、或其组合。此外,这些模块中的任何模块可以在功能上被进一步划分成子模块或组合在一起。

已经结合各种装置和方法描述了处理器。这些处理器可以使用电子硬件、计算机软件或其任意组合来实施。这些处理器是实施为硬件还是软件将取决于具体的应用以及施加在系统上的总体设计约束。作为示例,本公开中给出的处理器、处理器的任意部分、或者处理器的任意组合可以实施为微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、状态机、门逻辑、分立硬件电路、以及配置用于执行在本公开中描述的各种功能的其它适合的处理部件。本公开给出的处理器、处理器的任意部分、或者处理器的任意组合的功能可以实施为由微处理器、微控制器、dsp或其它适合的平台所执行的软件。

软件应当被广泛地视为表示指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、运行线程、过程、函数等。软件可以驻留在计算机可读介质中。计算机可读介质可以包括例如存储器,存储器可以例如为磁性存储设备(如,硬盘、软盘、磁条)、光盘、智能卡、闪存设备、随机存取存储器(ram)、只读存储器(rom)、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、寄存器或者可移动盘。尽管在本公开给出的多个方面中将存储器示出为是与处理器分离的,但是存储器也可以位于处理器内部(如,缓存或寄存器)。

以上描述被提供用于使得本领域任何技术人员可以实施本文所描述的各个方面。这些方面的各种修改对于本领域技术人员是显而易见的,本文限定的一般性原理可以应用于其它方面。因此,权利要求并非旨在被局限于本文示出的方面。关于本领域技术人员已知或即将获知的、对本公开所描述各个方面的元素的所有结构和功能上的等同变换,都将通过引用而明确地包含到本文中,并且旨在由权利要求所覆盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1