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 ...
随机推荐
- 【爬虫实战】——利用bs4和正则表达式,简单实现爬取数据
前言 好久没有写博客了,由于一直比较忙,感觉快荒废了学习的步伐,最近由于需要利用爬虫爬取数据,总结一下,以便以后查阅. 目录 一.bs4的安装 二.bs4解析器 三.定位查找标签 四.转换格式 五.提 ...
- C语言中的数据类型及其转换
目录 计算机中的数据类型 整型数据之间的转换 相同字长之间的转换 小字长转大字长 大字长转小字长 int.float.double之间的转换 float->double double->f ...
- anaconda-navigator 卡在 loading applications
其实上学期开学就已经这样了,我又不用,再者我上课对这些依赖不大,就没管. 这几天想彻底搞定吧.现状了opencv,最后搞了半天,还是通过安装相应版本的.whl文件搞定了,无法conda install ...
- C# SAPX调用用户控件方法
//获得用户控件 Type pageType = ucMoneyList1.GetType(); //用户控件方法名 MethodI ...
- C# – class, filed, property, const, readonly, get, set, init, required 使用基础
前言 心血来潮,这篇讲点基础的东西. Field 比起 Property,Field 很不起眼,你若问 JavaScript,它甚至都没有 Field. 但在 C#,class 里头真正装 value ...
- Yarn 3.0 Plug'n'Play (PnP) 安装和迁移
前言 以前用 npm, 后来 yarn 火了就用 yarn. 后来 yarn 2.0 大改版, Angular 不支持就一直没用. 一直到去年的 Angular 13 才开始支持. 最近又开始写 An ...
- 全面掌握 Jest:从零开始的测试指南(上篇)
随着JavaScript在前后端开发中的广泛应用,测试已成为保证代码质量的关键环节. 为什么需要单元测试 在我们的开发过程中,经常需要定义一些算法函数,例如将接口返回的数据转换成UI组件所需的格式.为 ...
- eclipse安装及配置jdk、tomcat
一.安装eclipse: (安装之前一定要确认jdk是否安装,没安装的一定要安装) 官网下载:Eclipse Downloads | The Eclipse Foundation 下载好如图安装程序: ...
- 一款超级给力的弱网测试神器—Qnet(附视频)
一.APP弱网测试背景 App在使用的过程中,难免会遇到不同的弱网络环境,像在公车上.在地铁.地下车库等.在这种情况下,手机常常会出现网络抖动.上行或下行超时,导致APP应用中出现丢包延迟,从而影响用 ...
- codeforces 1931E
题目链接 简介:对一些数字,余念安可以反转一个数字,齐夏将两个数字首尾相连变为一个数字.每个人都采取最优策略. 名单上只剩下一个号码.如果该整数不小于 10的m次方 ,则齐夏获胜.否则余念安就赢了. ...