随着AI这两年的快速发展,游戏厂商跃跃欲试如何让AI融入游戏。

半年前,我们也在游戏内嵌社区中,上线了一款以大措辞模型为核心打造的问答机器人,旨在知足玩家快速获取攻略的需求。

这篇文章,将以游戏行业产品经理的角度,分享这款问答机器人的实现事理,及其语料的制作履历。

一、为什么须要问答机器人

问答机器人所落地的游戏,是一款三国策略类游戏。
游戏中玩家被随机分到魏蜀吴中的一个国家,并通过一系列玩法攻城略地,扩展版图。
玩家可以招募各色三国英雄,并给英雄搭配不同装备、学习不同技能以提升战力,并可以组建不同的英雄阵容去寻衅别的玩家以及抢夺别国的城池。
因此,游辱弄法的自由度给予了玩家很多策略探索的可能。

AI赋能游戏问答机械人的设计与实现

起初,我们只是搭建了一个问答社区,供用户揭橥问题与分享攻略心得。
随着玩家人数增加及赛季的深入,玩家对攻略的需求日益明显。
官方发布的攻略,不一定能知足玩家快速获取攻略的需求。
有时候玩家只想找一个答案,却要看完一整篇攻略。
因此,我们想通过智能问答机器人的形式,知足玩家快问快答的痛点,以提升玩家的游戏体验。

我们的智能机器人名为“诸葛师长西席”,以H5的形式开展对话。
对用户来说没有繁芜的功能,只要提问,机器人就会回答。

(页面样式这里用原型图代替了哈)

二、机器人技能事理:大措辞模型RAG的运用

在先容问答机器人的事理前,先说一个条件,便是我们的大措辞模型的语料库中,有一种语料是QA形式的,即一问(question)一答(answer),与一样平常的段落形文章有所差异。
关于语料库的先容,下边章节会连续细说。
这里将连续讲机器人的运行事理。

如下图,在用户提出问题后,我们的机器人分有两个答案输出逻辑。
首先,用户提问的问题都会前辈行内容检索,通过检索模型检索出与用户提问干系的内容。
当检索到用户提问有匹配的QA时(即玩家提问匹配到语料库中预设的Question),则程序会直接输出Answer;另一种逻辑是,当检索模型没有检索到匹配的QA,那程序就会连续检索其他内容(如文章段落),并产出一条带内容的提示词(prompt)输入到大措辞模型中,由大措辞模型天生答案。

举个例子,假设用户提问了“赵云怎么培养”,则程序会通过检索模型,先检索是否存在与“赵云怎么培养”靠近的question,存在则输出对应answer,否则找出“赵云培养”干系的内容。
我们比拟程序找到的干系内容为AABB,此时给到大措辞模型的提示词(prompt)便是:“AABB,请根据上述内容回答:赵云怎么培养。
”大措辞模型则根据上述提示词天生答案。

为什么我们不直策应用大措辞模型,而是前置一步加入检索模型呢?

我们知道,大措辞模型基于神经网络模型,利用大量的语料库进行演习,比如互联网上的大量文本数据。
因此,大措辞模型能高效准确地回答通用知识类的问题。
而游戏属于专有领域,如何让大措辞模型直接回答专有领域知识,则它给出的答案必定会差强人意(答非所问或是回答不出)。
因此我们会先前置一步进行内容搜索,通过内容来约束大措辞模型的天生。
这样的技能逻辑也称为RAG(Retrieval-Augmented Generation,检索增强天生)。

RAG实在便是对大措辞模型的检索能力及遐想能力的外扩,让大措辞模型在可控范围内天生更准确高精的回答,尤实在用于专有领域的问答工具。
RAG的事理如下图:

RAG 系统的出发点一样平常是一个文本文档的语料库,大略看起来是这样的: 把文本分割成块,然后把这些分块嵌入到向量与transformer编码器模型,把所有这些向量建立索引,从而查询出与用户提问干系的高下文,末了创建一个带高下文的大措辞模型提示语,让模型回答用户的查询。

我们可以比拟有无检索模型对回答的差别:

大措辞模型同样是ChatGPT3.5,提问“赵云要怎么培养”,纯挚利用大措辞模型,而没有检索模型的约束时,回答的内容就和游戏不沾边(左图)。
而利用了检索模型,让大措辞模型的回答就完备贴合游戏了(右图)。

三、问答质量的打磨调优

为了提升机器人的回答准确率。
我们的调优有几个方面:

增强对用户提问的理解

对付用户的提问,除了分词切割,我们还有错字甄别、同义词剖断等逻辑,希望程序能只管即便清晰理解用户的意向。

增强检索模型的召回质量

在浩瀚语估中如何找到最匹配玩家的内容呢?我们的检索算法,会在对用户提问进行分词后,会先用BM25算法根据关键词对文档进行第一次评分,然后根据评分阈值提取top-k文档进行第二次评分,还有问题和文档稠密向量的干系性评分等。
每一步都可能影响检索的内容及LLM的回答结果。

选择更智能的措辞模型

机器人上线初期,利用的模型是海内的ChatGLM2.0。
但通过拉取用户的实际问答数据,我们创造答案质量并不理想,答案中存在较多答非所问、胡编乱造的问题。
并且在多次调优检索模型后(提高召回文档的干系性),答案质量仍旧不佳。

于是我们考虑改换大措辞模型。
我们找来了两款智能体做比拟,分别是ChatGPT3.5及Google旗下的Gemma。
三者比拟后我们创造,ChatGLM2.0的幻觉问题较其他两个模型会更为明显。
意思便是,如果检索模型召回的文档中不存在用户提问的干系内容(干系性低),则ChatGLM2.0会不苟言笑胡说八道。
即便是检索模型召回的文档中有用户所需的内容(干系性高),ChatGLM2.0也可能会回答失落准。

末了我们选择了ChatGPT3.5。
比拟下来,ChatGPT3.5在对话天生的流畅度、连贯性以及高下文理解方面的表现都更出色,能够天生更加精准和自然的回答,对付无法回答的问题,也会更直接地奉告用户它不清楚。

四、语料的构成

如果说模型是问答机器人的肉躯,那语料便是血液。
语料足够多,覆盖面足够广,问答机器人才会更具活力。

我们的语料有几个部分构成:

游戏内所有呈现给玩家的文案,包括道具名称、解释及玩法简介。
这类内容属于短内容,只有单个句子或单一段落。
发布于官网、论坛的游戏攻略。
这类内容属于长内容,由多个段落构成。
QA问答对。
一问一答的固定内容。

如前所述,我们机器人分了两个答案输出逻辑,如果检索模型命中QA,则会更快给玩家产出答案。
基于此,我们加大了QA问答对的产量,以提升问答效率。
QA来源于玩家的真实提问,我们提取了高频问题,以及部分刁钻的提问,做成了问答对。

制作问答比拟较费人工,由于answer都是人工写的,有时候还要玩一下贱戏验证写的answer是否精确。
为了节约工时,我们又借用了AI工具帮忙我们生产问答对。
这里AI工具的浸染不是帮我们快速天生答案,而是提前天生玩家可能问到的问题并产出答案。
我们给AI喂入上述语估中的2-攻略长内容,并让AI根据文章内容中天生QA。
不过,虽然生产速率提高了,但内容的实用性却并不高。
AI天生的问题并不像玩家的提问,更像是老师出的考题,须要再二次修正问答对的内容。
因此,目前的问答对掩护还是集中在人工生产。

五、问答机器人的未来创想

我们的问答机器人还有很多优化空间。
目前,虽然它在提升玩家体验方面已经取得一定成效,但仍存在一些须要改进的地方。
例如尚未开拓连续对话,玩家无法追问,造成对话交互不足自然流畅。
此外,随着游戏内容的不断更新,我们的语料库也须要持续地掩护和扩充,这也是须要不断花费人力的事情。

不过我相信,问答机器人将在未来的游戏天下中扮演更加主要的角色,为玩家带来更加精彩和便捷的游戏体验。

欢迎在评论区一起磋商问答机器人的更多可能~

作者:杨桃,游戏行业B端产品经理,爱用笔墨记录不雅观察及想法。

本文由 @杨桃 原创发布于大家都是产品经理,未经容许,禁止转载。

题图来自 Unsplash,基于CC0协议。

该文不雅观点仅代表作者本人,大家都是产品经理平台仅供应信息存储空间做事。