Redian新闻
>
凉宫春日、李云龙等32个人物都能扮演,这个聊天机器人很懂剧情,代码可商用

凉宫春日、李云龙等32个人物都能扮演,这个聊天机器人很懂剧情,代码可商用

公众号新闻
机器之心报道
编辑:张倩、蛋酱

让 AI 模仿特定人物聊天是 ChatGPT 类大语言模型的一个常见玩法,有些公司还开发了专门的 APP,如 character.ai。在国内,一个名叫「Chat 凉宫春日」的项目充分地满足了这种需求。

凉宫春日是谷川流创作的《凉宫春日系列》轻小说及其衍生作品的女主角,设定为高中生。虽然项目名字里只有「凉宫春日」,但「Chat 凉宫春日」可以模仿的人物达到了 32 个,包括李云龙(《亮剑》男主角)、哈利・波特、张牧之(电影《让子弹飞》男主角)、Sheldon(美剧《生活大爆炸》男主角)等等。在聊天时,这个模型不仅可以模仿这些人物的语气、个性,还能充分结合剧情。


以下是生成效果:


「Chat凉宫春日」是由李鲁鲁、冷子昂、陈启源发起的Luotuo(骆驼)的子项目之一,在魔搭社区主办的Create@AI黑客马拉松大赛中获得二等奖(top3)。我们可以在B站上看到他们的项目介绍视频。

视频链接:https://www.bilibili.com/video/BV1Xh411A7kC/?vd_source=12c1d661b492e88e254fc63d0a861962

近期,项目作者还发布了系统的技术报告,这份报告介绍了他们打造「Chat 凉宫春日」的过程以及一个支持 32 个人物的 54k 对话数据集的制作过程。同时,他们也在 HuggingFace 上发布了他们的数据集。


  • 技术报告链接:https://arxiv.org/pdf/2308.09597.pdf
  • GitHub 链接:https://github.com/LC1332/Chat-Haruhi-Suzumiya
  • 数据集链接:https://huggingface.co/datasets/silk-road/ChatHaruhi-54K-Role-Playing-Dialogue

项目作者之一冷子昂表示,「除了项目本身之外,我们的贡献者除了我和鲁鲁都是从社区拉起来的队伍,是一个众人拾柴火焰高的事情,后面我们还会持续做更多的内容和尝试,希望社区的小伙伴可以一起支持我们。」

本项目采用 Apache 2.0 协议,也就是说,你可以利用项目中的代码进行商用。但是你仍然需要遵守以下事项:1. 角色本身的版权方的协议;2. 项目中使用的接口方,比如 OpenAI 的协议;3. 项目中使用的模型的协议(比如如果后期采用了 LlaMA 或者 GLM 的模型。)

以下是项目的大体内容。

让 AI 扮演特定角色有一定难度

用 AI 模型进行角色扮演在游戏、创意产业等许多领域具有潜在的应用前景。

在开源角色扮演的实现中,开发者或用户已经采用了类似的 Prompt,将它们持续输入到 ChatGPT 或者作为 system whisper 接入到语言模型中:


I want you to act like {character} from {series}. I want you to respond and answer like {character} using the tone, manner and vocabulary {character}  would use. Do not write any explanations. Only answer like {character}. You must know all of the knowledge of {character}. My first sentence is "Hi {character}." 


因为 ChatGPT 或 Claude 在训练的时候已经阅读过很多故事,再加上更大的语言模型所表现的「智能」行为。用户们发现模型往往能在这样的 prompt 下表现出一定的角色扮演能力。然而,这样的实现虽然简单,却有以下缺点: 

  1. 这样的 prompt 使用高度依赖大语言模型本来的记忆。如果大语言模型对于角色的记忆本身是模糊的,则无法模仿特定的角色。 
  2. 这里的「know all of the knowledge of {character} 」的定义也是模糊的,无法很好地防御大语言模型幻觉效应的产生。 
  3. 即使是使用这样的 prompt,聊天机器人的对话风格还是会很大程度受到语言模型的影响,调整 prompt 或许能够缓解这样的问题,但是每一个特定的角色都要非常精细地调整 prompt。 

这些缺点明显限制了这种角色扮演聊天机器人的使用。

另一种简单的思路是将角色对话微调到模型中,作者发现不少开发者进行了这样的尝试。在拥有足够多的语料下,语言模型确实有能力掌握一个特定角色的语气,但是这样也会带来新的问题。在一个初步的实验中,他们发现微调后的 ChatBot 会产生更多的幻觉效果。并且对于大量的非主角角色,很难形成如此多的语料对模型进行微调。综上所述,让语言模型更好地进行角色扮演,模仿输出角色的经典台词是个非琐碎的问题。

模拟特定角色的大体思路

「Chat 凉宫春日」项目的主要目标是研究自然语言模型能否在对话中扮演来自动漫、影视作品的真实角色。在这个过程中,作者认为一个虚拟角色由三个核心部分构成:

第一,知识与背景:每个虚拟人物都有自己所处在的背景,比如凉宫春日处在一个日本的高中里。所以 ChatBot 需要了解对应故事的设定。这对于大型语言模型的记忆能力是较大的考验,需要通过外部知识库的引入去解决。

第二,人格或性格:人格和性格的设定在整部作品中需要是一致的,所以作者希望 ChatBot 所反应的人格和性格,与作品原来的设定也是一致的。

第三,语言习惯:这一点是最容易进行模仿的,只要在大型语言模型上下文中给出合适的例子,语言模型往往会进行模仿输出。作者希望这样的文学影视作品的爱好者与 ChatBot 互动时,能够「复现」文学影视作品的经典桥段,这样会让这些作品的爱好者获得更好的体验。

「Chat 凉宫春日」项目的关键想法,是抽取尽可能多的原剧本,形成角色的记忆数据库。在用户给出新的提问时,系统会搜索相关的经典剧情,并且结合人物设定的 prompt,去组合控制语言模型,争取对角色形成更精确的模仿。同时,受到 CAMEL 和 Baize 项目的启发,作者设计了一套自动对话语料生成的系统,对于性格鲜明,但是原本对话较少的角色,他们可以进一步生成符合角色性格设定的语料。这样就可以生成充分的语料使得微调一个本地的模型成为可能。

完整的开发计划如下图所示:


项目的主要贡献可以概括为以下几点:

1、基于大型的语言模型,作者提出了一套完整的角色扮演的算法系统。这套算法可以有效地组织角色的过往记忆,使得语言模型能够模仿特定影视、动漫角色的语气和知识进行对话。这套系统可以使用 OpenAI 的 ChatGPT 或者 Claude 这样的预训练大模型,也可以使用较小的 7B 规模的本地模型。

作者提出的算法在扮演凉宫春日,注意用户的提问和原来的剧情相关但不是完全一致,而「Chat 凉宫春日」的回答基本可以引用原剧情。

2、作者提出了一个角色扮演的数据集,这个数据集包括了超过 30 个不同的中文 / 英文影视角色。通过收集电影、小说、剧本的语料,并进行结构化的抽取,他们收集了超过 23000 条以上的对话信息。这些对话数据可以用来训练和检验角色扮演的语言模型。同时,使用作者提出的算法,借助 GPT3 和 GPT4,他们为这些角色额外模拟生成了超过 27000 条以上的对话。合并形成了 ChatHaruhi-54k 数据集。


3、为了检验和比较不同方式形成的角色扮演 ChatBot 的性能,他们使用自动测评和人工测评两个方式对角色扮演机器人进行了测评(部分测评结果还未公布)。在自动测评中,他们测试角色是否能够对剧本中的经典的剧情进行响应,给出和原剧本近似的回答。在人工测评中,他们提出了两个不同的指标,让被试去评估两个不同的指标:吻合度:机器人的回答是否符合角色的原来设定;回答质量:机器人的回答的语言质量是否较好。结果发现,在使用同样的基础语言模型的情况下,他们的算法可以给出更好的角色扮演的性能。

下图是「Chat 凉宫春日」的核心对话系统示意图,包含 system prompt、为用户查询 q 检索到的角色记忆 D (q, R) 以及规划历史 H。


下图是项目数据集中涉及的角色数据列表:


在实验中,作者定性比较了 5 个方案。可以看到,在加入经典对话以及修正 system prompt 之后,使用 ChatGPT 等模型可以有效的使聊天机器人体现特定人物的对话风格。同时,经过微调的 7B 模型也可以有效的将整个系统的 prompt 学习到。


更多细节请参见原报告:https://github.com/LC1332/Chat-Haruhi-Suzumiya/blob/main/notebook/arxiv_paper.md


© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:[email protected]

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
李云龙、谢耳朵专业陪聊!角色扮演系统ChatHaruhi爆火:支持32个中外角色,开源5.4万条对话数据王小川大模型25天再升级!13B版本开源免费可商用,3090即可部署飞到旧金山在水上降落对机器学习感兴趣?不如先来实践一下!|《ChatGPT聊天机器人语义情绪波动检测》B型房车出行更加方便,六座横床可旅居可商用,高性价比小房车首个可商用的32k上下文开源大模型「长颈鹿」来了,两万词长文不在话下ChatGPT不再局限于2021年之前的数据;Meta发布AI聊天机器人;李嘉诚捐6000万港元发展AI医疗教学丨AIGC日报Meta解散蛋白质大模型团队,转向商业化AI,聊天机器人或9月推出650亿参数大模型预训练方案开源可商用!LLaMA训练加速38%,来自明星开源项目聊天机器人ChatGPT升级:会听 会说 能处理图像刘能扮演者赵明远去世!4天前胡吃海喝,知情人透露具体死亡原因李云龙:平台流量,早在暗中标上了价格从“六月节”看弱势的华裔群体聊天机器人时代到来时,搜索领域的前景将如何发展?人形机器人成新风口!探馆世界机器人大会:"机器人+制造业"国产替代加速AIGC日报丨Meta向创作者支付数百万美元打造AI聊天机器人;强化学习之父萨顿加入传奇程序员卡马克AI创企邂逅香格里拉公路骑车的安全性或危险性苹果被曝研发聊天机器人;传抖音社交负责人转做大模型;斯坦福研究发现GPT-4“变笨”丨AIGC大事日报GPT-4写代码不如ChatGPT,误用率高达62%!加州大学两位华人开源代码可靠性基准RobustAPI谷歌的医疗AI聊天机器人已在医院进行测试谷歌正在像训练人工智能聊天机器人一样训练机器人快手AI对话开放安卓版内测,抖音的聊天机器人也已上线测试双林奇案录第三部之川黔连环案: 第三十三节传简讯给主!门徒聊天机器人问世让 新旧约人物虚拟分身提供信仰指引《亮剑》里李云龙和赵刚,谁级别高?为工作6小时的名人支付500万美元报酬!Meta 为做AI聊天机器人下“血本”了为工作 6 小时的名人支付 500 万美元报酬!Meta 为做 AI 聊天机器人下“血本”了Meta“搞大事”了:发布GPT“平替”Llama 2,开源、免费、还可商用!Anthropic推出新版人工智能聊天机器人ClaudeRoblox的新AI聊天机器人将帮助您构建虚拟世界GitHub 的人工智能编码聊天机器人现已可供个人使用32k上下文可商用!羊驼进化成长颈鹿,“开源大模型之最”纽约市长会讲中文?市府推AI聊天机器人后挨批……传小米获电动汽车生产资质,B站内测播放分钟数,视觉中国回应争议事件,OpenAI推出专属聊天机器人,这就是今天的其他大新闻!
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。