ACL 2024 | 新一代艺术媒介:探索基于大语言模型的互动戏剧
ACL 2024 | 新一代艺术媒介:探索基于大语言模型的互动戏剧
近日,来自上海交通大学的团队提出使用大语言模型(Large Language Model, LLM)实现互动戏剧(Interactive Drama),这是一个结合传统戏剧元素和现代人工智能技术的全新艺术形态。作者对戏剧六要素的重新定义与创新应用,将完整的戏剧叙事通过语言模型呈现,实现观众与剧情的即时互动。观众通过直接与戏剧中的角色进行互动,探索剧情甚至影响剧情的发展,拥有更加丰富和深入的体验。
这种基于大型语言模型的互动戏剧技术,不仅在艺术表现形式上提供了新的可能,也为个性化娱乐和教育提供了新的途径。该论文已被 ACL 2024 Findings 接收。
论文标题: From Role-Play to Drama-Interaction: An LLM Solution 论文链接: https://arxiv.org/abs/2405.14231 Demo链接: https://www.bilibili.com/video/BV1sZ421x7oU
概述
什么是互动戏剧?
互动戏剧突破戏剧本身与观众之间的界限,实现了观众与剧情的直接互动。与传统戏剧相比,观众的选择和反应可以影响剧情的走向,从而能够更加沉浸地体验戏剧内容。
大语言模型如何实现互动戏剧?
上图呈现了由动画《名侦探柯南》(图书馆谋杀案)改编的交互戏剧中的两个场景。玩家扮演柯南,与其他四个角色——步美、光彦、元太和图书管理员互动。玩家可以选择与角色对话或采取行动推进剧情。大型语言模型需要解析用户的输入,并生成合适的剧情响应。
在模型训练中,作者采用了大量的戏剧文本作为数据源,这使得模型能够理解并生成戏剧中的人物对话和行动,从而支持多样化的角色互动和剧情发展。
任务构建
互动戏剧六要素
为了构建基于大语言模型的互动戏剧,作者重新定义了亚里士多德提出的戏剧六要素,包括:
- 情节(Plot): 故事的主要结构和发展线索,可根据观众互动进行动态发展。
- 角色(Character): 戏剧中的各个角色,每个角色会有自己的个性特征。模型要能够根据人物肖像,扮演戏剧中的所有人物。
- 思想(Thought): 角色在每个场景的行为动机。
- 对话(Dialogue): 包括角色间的交流以及角色与观众的互动对话,应当符合角色的性格特征及其思想。
- 布景(Spectacle): 当前场景信息的文字描述,包括时间、地点、物品等背景。
- 互动(Interaction): 观众与剧情的直接互动是互动戏剧的核心,主要包括和戏剧内的角色对话和执行动作。观众的交互可能会引发新的剧情进展,甚至改变整个结局。
剧本设计
基于以上六要素,作者设计了一种剧本原型(drama prototype),用于指导大模型实现互动戏剧。总体上看,戏剧剧本是一个个场景构成的网络,共同形成一个线性或非线性展开的故事线。作者同样使用六个要素构成一个场景:
- 布景(Spectacle):对当前场景的一个背景描述。每当转换到新场景时,模型会向观众呈现新的布景。
- 角色(Character):定义场景中的角色设定。
- 主线(Plotline):每个场景都有一个主要目标,引导角色避免与观众进行无关讨论,确保剧情围绕主线发展。
- 情节(Plot):情节部分列出了场景中的预设对话和叙述。
- 互动(Interaction):定义玩家可以进行的互动方式。在作者的剧本设计中主要有两种:进行对话和行为动作。
- 触发(Trigger): 定义玩家的行为如何影响剧情,例如场景转换、发现新线索、与某个角色建立新的关系等。大模型应学会成为完美的触发器,以推动剧情展开。
在每轮交互中,模型的输入包括剧本和多轮用户输入。如上图右侧所示,大模型首先生成了场景的环境描述和情节,并向玩家呈现可选的互动方式。随后的用户输入可以是与场景中角色的对话,或是采取的某个行动。戏剧大模型随后处理这些输入,扮演角色回复用户输入,或根据触发器产生相应的剧情更新。
情节链:引导戏剧故事发展
交互式戏剧在平衡玩家的自主性与作者设计的情节之间提出了一个关键挑战。虽然玩家通过对话和行动影响情节的发展,但仍需要引导他们去探索预先设计的情节,在玩家自由交互的同时有效地维护情节的发展,而这一任务应由大模型承担。
如下图所示,任何情节都有其开始和结束,可以视为空间中的两个点。维持情节的进展需要玩家从起点到达终点,否则玩家可能会迷失,后续故事无法正确进展(如蓝色曲线所示)。一种直接的方法是通过互动干预玩家的行为,如反复要求玩家采取与情节相关的行动,以确保情节向终点进展。然而,这种方法过于粗暴,严重损害了玩家体验(如粉色曲线所示)。
因此,作者提出了一个名为情节链(Narrative Chain)的新概念,定义了戏剧大模型如何平滑且连贯地引导故事进展。
戏剧通过故事弧(Story Arc)展开,即通过连接所有情节点形成的轨迹。在每个场景中,故事弧可以被分割成较小的情节段。通过引导玩家经历每一个小情节段,近似于在每两个相邻的子情节点之间建立一条直线,由这些直线逼近整个故事弧。
例如,为了引导玩家完成情节“探索阅读室并发现纸箱”(开始探索是起点,发现纸箱是终点),可以将其进一步细分为“与光彦一起寻找书籍→步美想写读书报告→元太提议抄作业→步美想在桌子旁做作业→步美在桌子下发现一个纸箱”。随着剧情一步步深入,玩家能够对故事有了更深的理解,再顺其自然地完成剧本预定义的任务。
与此同时,戏剧大模型负责评估目前的剧情正处于情节链的哪个阶段,并提供与特定情节相关的准确引导,以确保每个情节点都被彻底探索和完成。此外,模型还需要决定何时引入下一个情节,最终促成场景内的情节顺利进行。在训练时,作者特意构造了这样的数据,让模型学会分割剧情引导玩家的能力。
模型训练
数据生成
利用大型语言模型驱动交互戏剧,需要在大量交互戏剧的剧本数据上进行监督微调。为了自动生成足够高质量的剧本用于训练,作者提出了剧本数据生成框架 Auto-Drama,利用 GPT3.5 由互联网上的公开故事集自动生成剧本,确保满足交互式剧本的六大元素。
- 故事收集(Story Collection):爬取 80+ 篇安徒生童话用于生成每个故事对应的剧本。
- 场景提取(Scene Extraction):给定一个故事,使用 GPT3.5 将其分解成主角视角下的一系列场景,并生成地点、时间、基调、物品等场景细节,并生成包含丰富个性肖像的场景角色。
- 剧情生成(Plot Production):给定一个场景,使用 GPT3.5 生成这个场景中可能发生的剧情,包括用于指导故事发展的主线、由对话和叙述构成的具体情节、以及玩家可能的对话和行为互动。
- 触发想象(Trigger Imagination):最后,作者使用 GPT3.5 生成用户交互可能触发的结果,例如一些对话或者行为可能会影响戏剧角色的行为,进一步影响故事的发展。同时,要求至少有一个交互能够触发场景之间的跳转。
作者通过 Auto-Drama 获取了足够的剧本,接下来需要获取剧本中的训练样本(即玩家与语言模型之间可能的互动)。借助 GPT3.5,作者专注于生成对话和叙事内容,并指导 GPT-3.5 根据玩家主动发言的触发条件来创造对话,还额外生成所有角色与玩家之间的闲聊对话。
稀疏指令微调
基于作者设计的剧本,模型将学习遵循包含多个子任务的复杂指令。例如,除了一般语言理解与生成外,还涵盖了如场景过渡、情景细化、角色扮演、剧情引导及语义捕捉等子任务;同时,模型在一次推理中可能只涉及其中小一部分子任务(定义该类指令为稀疏指令),使得模型微调比较困难且低效。
为此,作者提出一种稀疏指令微调(Sparse Instruction Tuning)的方法,包括两个阶段:首先,将一条稀疏指令的样本按照子任务分解为多条样本,每条样本只包含一个子任务,首先在分解后的数据上微调模型;其次,模型在完整的指令数据上进行微调,为加强模型与子任务之间的联系,额外引入了注释标记,标注涉及的子任务信息。这种方法有效地为模型提供了更加精细化的训练目标,从而能够更精确地确保模型按照指令执行,提高了模型对稀疏指令遵循的准确性。
实验
作者在 LLaMA3-8B-Instruct 和 Qwen1.5-14B-Chat 上使用 Auto-Drama 生成的数据训练,并在人工撰写的三个剧本上进行测试。互动戏剧模型的评测较为困难,因此,作者提出了五个维度来评测基于大语言模型的互动戏剧,通过 GPT-4 使用 7 分制里克特量表进行打分:
- 场面(Scenery):评估戏剧大模型对布景的呈现,看其与提供的细节及预期基调的匹配程度。
- 叙述(Narration):评估情节叙述与场景预期基调和氛围的一致性。
- 跳转(Transition):检查戏剧大模型在管理场景切换时的效果,确保在玩家触发时场景能够适当改变。
- 引导(Guidance):评估戏剧大模型在维持玩家与情节线的互动中的表现,确保玩家与情节保持连结,并顺畅展开情节。
- 一致(Coherency):评估戏剧大模型在表现角色方面的熟练度,及角色的回应是否与其既定人物形象和内心思维一致。
实验结果表明,基于 Auto-Drama 数据并通过稀疏指令进行微调的 8B 模型在各个方面取得了卓越的成绩。该模型在与玩家互动对话、根据剧情生成流畅丰富的叙述以及准确处理剧情进展方面表现出色。特别是在引导方面,该模型能有效地通过生成的回应引导玩家回到主线剧情,并确保在各种过渡中正确推进剧情。
作者比较了分别使用 100% 和 10% Auto-Drama 数据进行训练得到的戏剧大模型,发现使用更丰富的数据集能显著提升场景描述和对话引导的能力,验证了 Auto-Drama 的有效性。除此之外,尽管在使用 Auto-Drama 数据训练剧情 LLM 的准确性在复杂子任务中仍然较低,但 SIT 训练方法显著提高了遵循复杂指令的能力,是一种非常有效的针对复杂指令的训练方法。
总结与展望
本文介绍了基于大语言模型的互动戏剧,并提出了一种训练该类模型的范式,以实现这种创新的故事叙述形式。文中定义了基于语言模型的互动戏剧的六大要素,提出了一个剧本原型作为全局指令。为了促进训练过程,提出了自动剧本生成 Auto-Drama 以及稀疏指令微调的技术,帮助大语言模型遵循由多个子任务构成的复杂指令。
作者相信戏剧大模型为沉浸式互动提供了激动人心的可能性,但也存在一些限制需要进一步探索:
(1)目前的互动戏剧主要支持基于文本的互动。引入图像、声音或视频等其他模态可以丰富沉浸式体验,但这种扩展也带来了技术和设计上的新挑战。
(2)在当前的设置中,玩家与场景之间的动作互动存在显著限制。一个可能的探索方向是整合物理模型,以模拟玩家与场景之间更具沉浸感的物理互动。
(3)作者认为,尽管使用 GPT-4 进行评估,但为了推动基于大语言模型的交互式戏剧发展,一种更为鲁棒的评估方法是至关重要的。在未来的工作中,可以开展大规模的用户调查,收集对交互戏剧的真实反馈。
本文原文来自PaperWeekly