发明内容
为了解决现有技术中存在的问题,本申请实施例提供了一种基于对话的游戏交互方法、装置、终端及游戏交互模型。
第一方面,本申请实施例提供了一种基于对话的游戏交互方法,包括:
根据游戏意图库,从用户的交互对话中挖掘开始游戏意图;
当挖掘到所述开始游戏意图时,创建游戏交互场景并记录游戏状态为未结束;
当所述游戏状态为未结束时,根据游戏名称概念库和游戏交互模式概念库,从用户的交互对话中挖掘游戏名称和游戏交互模式;
根据挖掘到的所述游戏名称和所述游戏交互模式,调用游戏接口在所述游戏交互场景中执行对应的游戏内容。
第二方面,本申请实施例提供了一种基于对话的游戏交互装置,包括:
第一挖掘单元,用于根据游戏意图库,从用户的交互对话中挖掘开始游戏意图;
场景创建单元,用于当挖掘到所述开始游戏意图时,创建游戏交互场景并记录游戏状态为未结束;
第二挖掘单元,用于当所述游戏状态为未结束时,根据游戏名称概念库和游戏交互模式概念库,从用户的交互对话中挖掘游戏名称和游戏交互模式;
接口调用单元,用于根据挖掘到的所述游戏名称和所述游戏交互模式,调用游戏接口在所述游戏交互场景中执行对应的游戏内容。
第三方面,本申请实施例提供了一种终端,包括:
音频收发模块、存储器和处理器;
所述音频收发模块用于接收用户的交互对话,以及,向用户发起交互对话;
所述存储器用于存储游戏交互模型和所述处理器可执行的程序;
所述处理器被配置为执行以下程序步骤:
根据游戏意图库,从用户的交互对话中挖掘开始游戏意图;
当挖掘到所述开始游戏意图时,创建游戏交互场景并记录游戏状态为未结束;
当所述游戏状态为未结束时,根据游戏名称概念库和游戏交互模式概念库,从用户的交互对话中挖掘游戏名称和游戏交互模式;
根据挖掘到的所述游戏名称和所述游戏交互模式,调用游戏接口在所述游戏交互场景中执行对应的游戏内容。
第四方面,本申请实施例提供了一种游戏交互模型,应用于本申请实施例提供的基于对话的游戏交互方法、装置,以及终端,所述游戏交互模型包括:
游戏意图库和游戏概念库;
其中,所述游戏意图库中包含开始游戏意图、退出游戏意图和继续游戏意图;每类游戏意图中包含多条能够表达游戏意图的知识语料;
其中,所述游戏概念库包含游戏名称概念库和游戏交互模式概念库;其中,所述游戏名称概念库中包含多款游戏的游戏名称概念,所述游戏交互模式概念库中包含每款游戏可用的交互模式概念,以及每种交互模式概念的同义概念。
由以上技术方案可知,本申请实施例提供了一种基于对话的游戏交互方法、装置、终端及游戏交互模型。在游戏交互过程中,能够理解用户的交互对话中包含的游戏意图;当用户的游戏意图为开始游戏意图时,能够顺应用户的开始游戏意图,创建游戏交互场景;然后,从用户的交互对话中挖掘用户要玩游戏的游戏名称和游戏交互模式;最后,根据挖掘到的游戏交互名称和游戏交互模式,调用游戏接口在游戏交互场景中执行对应的游戏内容;从而,本申请实施例提供的技术方案实现了:理解用户的游戏意图,在理解用户游戏意图的前提下,根据用户的游戏意图执行游戏内容,在交互逻辑上顺应了用户的意志,给用户带来一种仿佛在于人类进行游戏互动的感觉,为用户提供拟人化的游戏交互体验。
实施例二
图2为本申请实施例提供的一种基于对话的游戏交互方法的流程图。
如图2所示,本申请实施例提供了一种基于对话的游戏交互方法,包括以下步骤:
步骤S110,根据游戏意图库,从用户的交互对话中挖掘开始游戏意图。
游戏意图库中至少预设了用户在游戏中通常出现的三类游戏意图,分别为开始游戏意图、退出游戏意图和继续游戏意图,并且,为了实现从用户的交互对话中挖掘游戏意图,在每一类游戏意图中设置了多条能够表达游戏意图的知识语料,例如:
游戏意图 |
知识语料 |
开始游戏 |
1、我要玩游戏。2、开始游戏。3、我们做游戏吧。…… |
退出游戏 |
1、退出游戏。2、不玩了。3、关闭游戏。…… |
继续游戏 |
1、再玩一局。2、继续玩。…… |
在设置了游戏意图库之后,就可以利用游戏意图库中表达开始游戏意图的知识语料,从用户交互对话中挖掘出用户的开始游戏意图。例如当用户说“我要和你玩游戏”时,根据知识语料“我要玩游戏”就能够挖掘到用户的对话内容中包含开始游戏意图。从而实现了对用户意图的理解。
图3为本申请实施例示出的一种基于对话的游戏交互方法步骤S110的流程图。
如图3所示,在一种可选择的实施方式中,步骤S110可以包括以下步骤:
步骤S111,从用户的交互对话中获取对话文本的分词向量。
用户可以通过语音输入和文本输入的方式产生对话,当用户通过语音输入时,首先将用户的语音内容识别成对话文本。然后,根据对话文本的语言种类,使用对应语言的分词方法,将对话文本进行分词处理,并获取每个分词的分词向量,例如:DistributedRepresentation等。
步骤S112,计算所述对话文本与所述开始游戏意图中每个知识语料的相似度。
可使用与对话文本相同的分词方法,对知识语料进行分词,并获取每个知识语料的分词向量,并将知识语料的分词向量保存在游戏意图库中。
计算相似度可使用WMD(Word Mover Distance)算法来实现,WMD算法是一种基于词向量的文档相似度算法,利用NBOW(normalized bag-of-words即归一化的词袋模型)定义了词向量在向量空间内的分布,并根据词向量的权重和出现的次数等计算文档距离,用文档距离表示文档相似度。
步骤S113,如果所述相似度高于预设阈值,则用户的交互对话中包含所述开始游戏意图。
当用户的交互对话中包含开始游戏意图时,用户的交互对话与某一个表达开始游戏意图的知识语料会具有较高的相似度,本申请实施例中为了提供一个判断用户的交互对话中是否包含开始游戏意图的判断标准,设置了预设阈值,当相似度高于预设阈值时,则可以确定用户的交互对话中包含开始游戏意图。
步骤S114,如果所述相似度低于预设阈值,使用非游戏交互方法处理用户的交互对话。
当相似度低于预设阈值时,说明用户的交互对话中不包含开始游戏意图,用户只是想进行非游戏的普通交互对话,因此,本申请使用非游戏交互方法处理用户的交互对话。非游戏交互方法是指当用户的交互对话中不包含开始游戏意图时,本申请与用户在开放领域进行对话的方法,例如,与用户进行无主题的闲谈、生活服务类对话(询问天气、穿衣参考、交通状况等)、以及百科知识等方面的对话等。本申请可使用基于知识库检索和基于机器学习的问答模型等方式实现非游戏交互方法下的对话,如何实现非游戏交互方法的对话属于本领域的现有技术,本申请中不作详述和具体的限定。
可见,本申请能够从用户的交互对话中挖掘出开始游戏意图,从而理解用户是想要玩游戏还是想要进行普通的对话交流,从而,能够使本申请根据用户的游戏意图执行不同的交互方法。
步骤S120,当挖掘到所述开始游戏意图时,创建游戏交互场景并记录游戏状态为未结束。
创建游戏交互场景,使对话语境从非游戏语境中进入到游戏语境中。此时,可向用户发出“即将进入交互游戏场景”等语音信息,以提示用户准备开始游戏,同时,加载并播放游戏场景音效,以及加载游戏交互场景的画面资源到显示设备中。
进一步地,在创建游戏交互场景时,根据可提供的游戏内容,向用户发出问询语音,例如“你要玩以下哪款游戏:成语接龙、诗词上下句、头脑风暴”,以引导用户提供更多的游戏交互信息。
本申请中,默认游戏状态为结束状态,当挖掘到游戏开始意图时,将游戏状态更改为未结束状态。未结束状态声明了用户处在本申请提供的游戏交互场景中,即将或正在进行游戏,此时,当再次从用户的交互对话中挖掘到开始游戏意图时,由于游戏状态为未结束状态,本申请会忽略开始游戏意图,不会再次创建游戏交互场景,防止用户口误或外界语音干扰导致游戏意外重启。
步骤S130,当所述游戏状态为未结束时,根据游戏名称概念库和游戏交互模式概念库,从用户的交互对话中挖掘游戏名称和游戏交互模式。
根据可提供的多款游戏的游戏名称,游戏名称概念库中包含多款游戏的游戏名称概念,以及游戏名称的同义概念;根据可提供的每款游戏的拥有的游戏交互模式,游戏交互模式概念库中包含每款游戏可用的交互模式概念,以及每种交互模式的同义概念。
示例地,游戏名称概念库如下:
游戏名称概念 |
同义概念 |
诗词上下句 |
古诗词名句对接、诗句对接、诗词问答 |
头脑风暴 |
智力问答 |
猜歌名 |
听音识曲 |
示例地,游戏交互模式概念库如下:
本申请中,与用户进行游戏交互的内容要根据每款游戏拥有的游戏交互模式来确定,以使游戏交互的内容符合游戏的交逻辑,使用户的游戏体验更加自然。因此,在执行游戏内容之前,要从用户的交互对话中挖掘游戏名称和游戏交互模式。
图4为本申请实施例提供的一种基于对话的游戏交互方法步骤S130的流程图。
如图4所示,在一种可选择的实施方式中,步骤S130包括以下步骤:
步骤S131,根据所述游戏名称概念库和所述游戏交互模式概念库,从用户的交互对话中匹配游戏名称概念和交互模式概念。
用户可以通过语音输入和文本输入的方式产生对话,当用户通过语音输入时,首先将用户的语音内容识别成对话文本。然后,根据游戏名称概念库和游戏交互模式概念库对用户的对话文本进行内容匹配,从对话文本中匹配出游戏名称和用户期望的游戏交互模式。
例如,用户说“我要玩成语接龙”,根据游戏名称概念库,匹配到游戏名称为“成语接龙”;用户说“我要玩成语接龙,我先问你”,根据游戏名称概念库,匹配到游戏名称为“成语接龙”,根据游戏交互概念库,匹配到交互模式为“用户提问模式”。
步骤S132,当用户的交互对话中缺少所述游戏名称概念和\或所述交互模式概念时,向用户发起多轮对话请求。
在实际的游戏交互的对话场景中,通过一轮对话通常无法一次性地获取到游戏名称概念和交互模式概念,例如,在一轮对话中,
提问用户:“你要玩以下哪款游戏:成语接龙、诗词上下句、头脑风暴。”
用户回答:“我想玩头脑风暴。”
此时,用户的回答中缺少交互模式概念,在这种情况下,继续向用户发起多轮对话请求。例如,
提问用户:“头脑风暴有休闲模式和天梯模式,你想要玩哪一种模式?”
步骤S133,从用户对所述多轮对话请求的第一应答对话中匹配缺少的所述游戏名称概念和\或所述交互模式概念。
在向用户发起多轮对话请求以后,用户会对多轮对话请求回复第一应答对话,用户可以通过语音输入和文本输入的方式产生第一应答对话,当用户通过语音输入时,首先将用户的语音内容识别成对话文本。然后,根据游戏交互模式概念库对用户的对话文本进行内容匹配,从对话文本中匹配出用户期望的游戏交互模式。
例如,从用户回复的第一应答对话“我要玩天梯模式”中,匹配出用户期望的游戏交互模式为“天梯模式”。
可见,本申请在匹配游戏名称概念和交互模式概念的过程中,与用户实现了多轮对话,形成“我问你答”的互动交流,从而给用户一种拟人化的交互体验。
步骤S140,根据挖掘到的所述游戏名称和所述游戏交互模式,调用游戏接口在所述游戏交互场景中执行对应的游戏内容。
根据挖掘到的游戏名称调用对应游戏的游戏接口,加载对应的游戏内容到游戏交互场景中,并在游戏交互场景中按照用户期望的游戏交互模式执行游戏内容。本领域技术人员可基于本申请实施例提供的游戏交互方法对各类游戏设置统一的标准的游戏接口,只要游戏接口符合预设的标准,就能够与本申请实施例提供的游戏交互方法对接,被本申请实施例提供的游戏交互方法调用。从而,本领域技术人员在游戏开发的过程中不再需要为每款游戏专门去设计游戏交互方法,只需要设置标准的游戏接口与本申请实施例提供的游戏交互方法对接即可,从而,简化了游戏开发流程。
图5为本申请实施例提供的一种基于对话的游戏交互方法步骤S140的流程图。
如图5所示,在一种可选择的实施方式中,当游戏交互模式为用户应答模式时,步骤S140可以包括以下步骤:
步骤S141,当所述游戏交互模式为用户应答模式时,调用所述游戏接口向用户发起问题对话,并生成所述问题对话的正确应答。
游戏交互模式可分为用户应答模式和用户提问模式两种。当用户期望以用户应答模式进行游戏时,调用游戏接口首先向用户发起问题对话,并生成问题对话的正确应答,以用于分析用户的应答对话是否正确。
例如,用户以用户应答模式体验游戏“诗词上下句”时,本申请首先向用户发起问题对话“窗前明月光”,同时生成正确应答“疑是地上霜”。
步骤S142,根据所述正确应答,分析用户对所述问题对话的应答对话是否正确。
本申请在发起问题对话后,在一个预设的时间范围内监听用户的对话内容,并将用户的对话内容作为应答对话,在获取到应答对话之后,与正确应答进行匹配分析,从而确定应答对话是否正确。例如,用户说“疑是地上霜”,则正确;如果说“低头思故乡”,则不正确。
当用户在预设的时间范围内,没有给出应答对话时,视作用户的应答对话不正确。
步骤S1421,当所述应答对话正确时,继续执行游戏内容。
示例地,当用户说“疑是地上霜”,则用户的应答对话是正确的,继续调用游戏接口向用户发起新的问题对话,同时生成新的正确应答。
步骤S1422,当所述应答对话不正确时,游戏结束。
游戏结束指的是游戏中由于分出胜负而结束游戏的对局,此时游戏状态并未改变,当用户的应答对话不正确导致游戏结束时,游戏状态依然是未结束状态。
示例地,当用户对“床前明月光”给出的应答对话是“低头思故乡”时,“诗词上下句”的游戏对局结束,并向用户输出相应的对话内容,如:“回答错误,游戏结束,正确答案是:疑是地上霜。”
图6为本申请实施例提供的另一种基于对话的游戏交互方法步骤S140的流程图。
如图6所示,在一种可选择的实施方式中,当游戏交互模式为用户提问模式时,步骤S140可以包括以下步骤:
步骤S143,当所述游戏交互模式为用户提问模式时,根据用户的问题对话,调用所述游戏接口生成应答对话。
在用户提问模式下,当用户说出问题对话时,本申请可利用本地知识库或互联网资源检索问题答案,并根据检索的结果生成应答对话。
步骤S144,当所述游戏接口无法生成应答对话时,游戏结束。
图7为本申请实施例提供的一种基于对话的游戏交互方法继续游戏的流程图。
如图7所示,在一种可选择的实施方式中,继续游戏的步骤包括:
步骤S145,当游戏结束时,向用户发起继续游戏选择对话。
当用户在游戏交互过程中由于分出胜负而游戏结束时,本申请在输出错误提示的同时,向用户发起继续游戏选择对话。例如在“诗词上下句”游戏中,当用户对“床前明月光”给出的应答对话不正确时,本申请输出“你输了,正确答案为疑是地上霜,请问是否继续游戏”。
步骤S146,根据所述游戏意图库,从用户对所述继续游戏选择对话的第二应答对话中挖掘继续游戏意图。
当用户对继续游戏选择对话给出第二应答对话时,本申请根据游戏意图库,从第二应答对话中挖掘继续游戏意图。可将第二应答对话的对话文本进行分词处理,获取每个分词的分词向量;然后,使用WMD算法计算第二应答对话与挖掘游戏意图中每个知识语料的相似度,当相似度满足高于预设阈值时,则用户的第二应答对话中包含继续游戏意图。
步骤S147,当所述第二应答对话中包含所述继续游戏意图时,继续在所述游戏交互场景中执行所述游戏内容。
当第二应答对话中包含游戏意图时,说明用户还想继续游戏,因此,继续在游戏交互场景中执行游戏内容。例如,在“诗词上下句”中,对用户提出新的问题“大漠孤烟直”。
图8为本申请实施例提供的一种基于对话的游戏交互方法退出游戏的流程图。
如图8所示,在一种可选择的实施方式中,退出游戏的步骤包括:
步骤S148,当所述游戏状态为未结束时,根据所述游戏意图库,从用户的交互对话中挖掘退出游戏意图。
用户在游戏过程中随时会选择退出游戏,因此本申请在游戏状态为未结束时,根据游戏意图库,时刻从用户的交互对话中挖掘退出游戏意图,实现在用户希望退出游戏时,及时退出游戏。可使用WMD算法计算用户交互对话与退出游戏意图的知识语料的相似度,当相似度高于预设阈值时,则用户的交互对话中包含退出游戏意图。
步骤S149,当用户的交互对话中包含所述退出游戏意图时,记录所述游戏状态为结束,并退出所述游戏交互场景。
本申请中,从挖掘到开始游戏意图以后,到挖掘到退出游戏意图之前,游戏状态始终为未结束状态,在未结束状态下,本申请会与用户进行持续地游戏交互;此外,在未结束状态下,本申请会忽略开始游戏意图,不会再次创建游戏交互场景,防止用户口误或外界语音干扰导致游戏意外重启。当挖掘到退出游戏意图后,本申请设置游戏状态为结束,退出游戏交互场景,直到再次挖掘到开始游戏意图。
可见,本申请在基于对话的游戏交互过程中,能够及时理解用户的游戏意图,并遵循用户的游戏意图与用户继续互动游戏,或者退出游戏,从而,与用户的交互表现更加友好,能够为用户提供拟人化的游戏交互体验。
由以上技术方案可知,本申请实施例提供了一种基于对话的游戏交互方法。在游戏交互过程中,能够理解用户的交互对话中包含的游戏意图;当用户的游戏意图为开始游戏意图时,能够顺应用户的开始游戏意图,创建游戏交互场景;然后,从用户的交互对话中挖掘用户要玩游戏的游戏名称和游戏交互模式;最后,根据挖掘到的游戏交互名称和游戏交互模式,调用游戏接口在游戏交互场景中执行对应的游戏内容;从而,本申请实施例提供的基于对话的游戏交互方法实现了:理解用户的游戏意图,并在理解用户游戏意图的前提下,根据用户的游戏意图执行游戏内容,在交互逻辑上顺应了用户的意志,给用户带来一种仿佛在于人类进行游戏互动的感觉,为用户提供拟人化的游戏交互体验。