CritiCS:智能协作下的创意长篇故事生成框架 | EMNLP'24
来源:晓飞的算法工程笔记 公众号,转载请注明出处
论文: Collective Critics for Creative Story Generation

创新点
- 提出了 \({\tt CritiCS}\) 的框架,旨在通过基于创造力标准的集体评议,创造性地增强故事计划和文本表现力。
- 通过实验表明, \({\tt CritiCS}\) 有效地创造了具有创造性和连贯性的故事,使用了多样化的标准、领导者和角色等关键组件。
- \({\tt CritiCS}\) 支持交互式写作,使人类用户能够介入评议并主动完善故事。
内容概述
使用大型语言模型(LLMs)生成几千字的叙事连贯的长篇故事一直是一项具有挑战性的任务。之前的研究通过提出不同的框架来解决这一挑战,这些框架创建了故事计划,并基于该计划生成长篇故事。然而,这些框架主要集中在维持故事的叙事连贯性上,往往忽视了故事计划中的创造力以及从这些计划中生成的故事的表现力,而这些都是吸引读者兴趣的理想特性。
论文提出了创意故事生成框架Collective Critics for Creative Story( \({\tt CritiCS}\) ),该框架由计划优化阶段( \({\tt CrPlan}\) )和故事生成阶段( \({\tt CrText}\) )组成,旨在将协同修订机制融入长篇故事生成过程中。
在每个阶段,多位LLM评审者评估草稿,并根据评估创造力的标准(例如,叙事流的独特性和生成文本的生动性)提供改进建议。然后,一位领导者选择最有帮助于优化草稿的评审意见。这个修订过程经过多轮迭代,最终生成一个完整的计划和故事
广泛的人类评估表明, \({\tt CritiCS}\) 显著提高了故事的创造力和读者的参与度,同时也保持了叙事的连贯性。此外,该框架的设计允许人类作者在整个评审过程中以任何角色积极参与,从而实现故事创作中的人机互动协作。
CritiCS

\({\tt CritiCS}\) 由两个阶段组成( \({\tt CrPlan}\) 和 \({\tt CrText}\) ),利用大语言模型(LLM)的能力来创作创意故事,并将基于创意标准的评论过程纳入其中。
CrPlan
在 \({\tt CrPlan}\) 中,三个评论者根据三个标准评估故事计划的创造力:原创的主题和背景设置、不寻常的故事结构和不寻常的结局。这种评估确保为故事注入多样化的元素,同时赋予其新颖感。

上表展示了一个优化计划的例子,其中主角的孤独感被拟人化,从而增强了叙事背景的独特性。
首先,三个评论者各自提供建议,以利用他们的独特专业知识来增强草稿计划。接下来,领导者对三个建议进行评估、排名,并选择其认为最佳的一个。然后,将所选择的建议应用于完善计划。
为了进行详细的评论,三个评论者被赋予与故事计划相关的专业角色。同时,领导者被具身为文学编辑或创意写作专家,负责调和任何冲突。
整个过程重复进行若干轮,之后,计划评估者审查每轮候选计划,以选出最终一个在创造力与连贯性之间有效平衡的计划。
CrText
在 \({\tt CrText}\) 中,两位评论者根据来自 \({\tt CrPlan}\) 的计划审查已创作的故事,使用两个关注创意文本表现力的标准:图像和声音。

上表展示了一个经过优化的文本示例,其中动词raised被替换为arched,使得短语更具独特性。
图像表示读者被生动的心理意象所激发的程度。这包括视觉图像、声音、气味、身体感觉和情感(例如,从月球发出的柔和光辉、阴郁的阴影)。声音则指作者在创造独特且易于识别的写作风格方面的成功程度(例如,以恐怖故事风格书写、俚语、像lol这样的非正式语言)。与 \({\tt CrPlan}\) 类似,领导者选择两个建议中的一个来完善表达。
与 \({\tt CrPlan}\) 不同,在此过程中评论者没有角色,因为图像和声音标准提供了明确的表达修改指示,消除了需要角色来固定故事主题的必要。同时,由于每轮中的句子都在不同程度上被修改,因此没有评估者。
人机交互写作

\({\tt CritiCS}\) 能够促进人类写作者在修订过程中的积极参与,从而实现人类与机器在创意写作中的互动协作。人类参与者能够修改系统生成的评论或撰写自己的评论,也可以担任领导者的角色,负责评估和选择评论。
主要实验


如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

CritiCS:智能协作下的创意长篇故事生成框架 | EMNLP'24的更多相关文章
- K2 BPM_K2受邀出席SAP研讨会:共话“智能+”时代下的赋能与转型_全业务流程管理专家
3月5日,第十三届全国人大二次会议在北京召开.政府工作报告首次出现“智能+”,并明确指出2019年,要打造工业互联网平台,拓展“智能+”,为制造业转型升级赋能.从政府工作报告中不难看出,“智能+” ...
- 个基于TensorFlow的简单故事生成案例:带你了解LSTM
https://medium.com/towards-data-science/lstm-by-example-using-tensorflow-feb0c1968537 在深度学习中,循环神经网络( ...
- Fur 是 .NET 5 平台下企业应用开发最佳实践框架。
Fur 是 .NET 5 平台下企业应用开发最佳实践框架. 立即尝鲜 Fur 是基于最新的 .NET 5 RC2 构建,目的是为了尽早体验新功能,对即将到来的 .NET 5 正式版做出最快的响应. 所 ...
- 脚本工具(获取某个文件夹下的所有图片属性批量生成css样式)
问题描述: 由于有一次工作原因,就是将某个文件夹下的所有图片,通过CSS描述他们的属性,用的时候就可以直接引用.但是我觉得那个文件夹下的图片太多,而且CSS文件的格式又有一定的规律,所有想通过脚本来生 ...
- Android studio 下JNI编程实例并生成so库
Android studio 下JNI编程实例并生成so库 因为公司需要为Android相机做美颜等图像后期处理,需要使用JNI编程,最近学了下JNI,并且在Android Studio下实现了一个小 ...
- [置顶] LOAD语句:利用MSSQL中的xp_cmdshell功能,将指定文件夹下的指定文件,生成mysql的LOAD语句
LOAD语句:利用MSSQL中的xp_cmdshell功能,将指定文件夹下的指定文件,生成mysql的LOAD语句 declare @sql varchar(4000), @dirpath varch ...
- ubuntu下整合eclipse和javah生成jni头文件开发android的native程序
0:前言: 这两天一直在研究用android的jni调用第三方库,上网搜方法,但是都是泛泛而谈,没有demo,经过我几番折磨,写了n多的helloword工程,总是不成功,工程名字也就由helloow ...
- Django是Python下的一款网络服务器框架
被解放的姜戈01 初试天涯 Django是Python下的一款网络服务器框架.Python下有许多款不同的框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django ...
- 03、NetCore2.0下Web应用之搭建最小框架
03.NetCore2.0下Web应用之搭建最小框架 这里我们不使用VS2017或者CLI命令的方式创建Asp.Net Core 2.0网页应用程序,而是完全手工的一点点搭建一个Web框架,以便更好的 ...
- spring boot下使用logback或log4j生成符合Logstash标准的JSON格式
spring boot下使用logback或log4j生成符合Logstash标准的JSON格式 一.依赖 由于配置中使用了json格式的日志输出,所以需要引入如下依赖 "net.logst ...
随机推荐
- Docker 导出容器 / 镜像
有时由于镜像大小.网络限制等原因,我们不能将本地制作的容器 / 镜像上传到公共容器注册表.此时我们可以选择将镜像以本地文件的形式导出. 导入 / 导出容器 docker export "CO ...
- Spring框架之IOC介绍
Spring之IOC 简介 首先,官网中有这样一句话:Spring Framework implementation of the Inversion of Control (IoC) princip ...
- Python 在PDF中添加条形码、二维码
在PDF中添加条码是一个常见需求,特别是在需要自动化处理.跟踪或检索PDF文件时.作为一种机器可读的标识符,PDF中的条码可以包含各种类型的信息,如文档的唯一标识.版本号.日期等.以下是一篇关于如何使 ...
- LeetCode题集-1- 两数之和
这个题目是什么意思呢?简单来说就是在一个数组中找出两个元素,使其和为我们设定的值,并且每个元素只能用一次. 如下图具体示例: 到这里不知道你是否已经有解题思路了呢? 解法一:双层循环 我第一反应就是双 ...
- CSS – z-index
介绍 z-index 是用来设置 element 层次高低的 (当 element 重叠的时候) 参考: 4 reasons your z-index isn't working (and how t ...
- JavaScript习题之判断题
1. JavaScript是Java语言的脚本形式.( ) 2. JavaScript中的方法名不区分大小写.( ) 3. JavaScript语句结束时的分号可以省略.( ) 4. 通过外链式引入J ...
- Servlet——xml配置Servlet
XML配置方式编写 Servlet 步骤: 1.编写 Servlet 类 2.在 web.xml 中配置该Servlet
- 向量法求 T3 这个若智 r^2
int sqr_vector_dis(node a){ return a.x*a.x+a.y*a.y; } frac vector_multi(node a,node b){ return frac( ...
- 《Vue.js 设计与实现》读书笔记 - 第8章、挂载与更新
第8章.挂载与更新 8.1 挂载子节点和元素的属性 扩展子元素的类型可以为数组,并判断如果是数组的话,就先依次挂载所有的子元素. 同时新增节点属性.属性可以通过 el.setAttribute 添加到 ...
- HTTP三次握手
转载:http://blog.163.com/wangzhenbo85@126/blog/static/1013632822013423502833/?suggestedreading&wum ...