語(yǔ)言模型寫(xiě)長(zhǎng)篇故事不靠譜,模型設(shè)計(jì)還得靠「作家仿生學(xué)」!
OpenAI 發(fā)布的聊天機(jī)器人 ChatGPT 著實(shí)是火出圈了,上知天文、下知地理,不僅理性、也有感性,寫(xiě)一篇 800 字的作文都不用打草稿的。
但 ChatGPT 的「故事續(xù)寫(xiě)」遵循逐詞生成的線性邏輯,跟人類的寫(xiě)作方式相去甚遠(yuǎn),注定了 ChatGPT 只能是一個(gè)寫(xiě)作助手,無(wú)法成為真正的 AI 作家。
最近田淵棟博士團(tuán)隊(duì)在 EMNLP'22 上發(fā)布了一個(gè)基于大規(guī)模語(yǔ)言模型的故事生成器 Re3(Recursive Reprompting and Revision)框架,通過(guò)設(shè)計(jì) prompt 讓模型生成一致性強(qiáng)的故事,完全不需要微調(diào)大模型。
論文鏈接:https://arxiv.org/ pdf / 2210.06774.pdf
代碼鏈接:https://github.com/ yangkevin2 / emnlp22-re3-story-generation
Re3 框架沒(méi)有采用語(yǔ)言模型的逐詞生成的線性邏輯,而是改用層次化生成方式:先在 Plan 階段生成故事角色,角色的各種屬性和大綱,然后在 Draft 階段給定故事大綱和角色,反復(fù)生成具體的段落,這些具體段落由 Rewrite 階段篩選,挑出與前一段落高度相關(guān)的生成段落,而丟棄關(guān)系不大的(需要訓(xùn)練一個(gè)小模型),最后在 Edit 階段修正一些明顯的事實(shí)錯(cuò)誤。
作者表示,相比語(yǔ)言模型毫無(wú)道理的逐詞生成,迭代修改的思路更符合人類作家寫(xiě)作的一般方式。
從最后的效果來(lái)看,與當(dāng)前其它的文本生成算法比較,Re3 寫(xiě)出來(lái)的故事長(zhǎng)很多,最長(zhǎng)的故事有 7500 個(gè)詞,人來(lái)看的話需要看半小時(shí)左右。不夸張的說(shuō),比其它的方案要長(zhǎng) 10 倍以上。
最關(guān)鍵的是,Re3 生成的文本相當(dāng)自洽,至少不會(huì)出現(xiàn)主要角色突然換人,或者文風(fēng)突變這種情況,前后的線索也能對(duì)上一些,也沒(méi)有其它方案經(jīng)常出現(xiàn)的陷入無(wú)限文字循環(huán)的情況。
與直接從同一基本模型生成的類似長(zhǎng)度的故事相比,人類評(píng)估人員判斷 Re3 的故事中有更多的故事具有連貫的總體情節(jié)(增加 14%),并且與給定的初始前提相關(guān)(增加 20%)。
盡管如此,Re3 目前相比人類作家仍然差得很多,主要問(wèn)題在于人物沒(méi)有動(dòng)機(jī),情節(jié)安排毫無(wú)規(guī)律,細(xì)節(jié)雜亂無(wú)章,更不用談行文的步調(diào)、節(jié)奏或是主旨,讀起來(lái)會(huì)比較累。
作家一般講究「草蛇灰線,伏筆千里」,人物的重要細(xì)節(jié)和舉動(dòng),場(chǎng)景中帶有情緒色彩的描繪,都有可能成為下一步故事發(fā)展的決定性因素,更不用說(shuō)人物間錯(cuò)綜復(fù)雜的關(guān)系和出乎意料的情節(jié)展開(kāi)。這些高階寫(xiě)作能力,AI 現(xiàn)在還遠(yuǎn)遠(yuǎn)無(wú)法做到。
文章的第一作者 Kevin Yang 是加州大學(xué)伯克利分校的四年級(jí)博士生,主要研究興趣為結(jié)構(gòu)化設(shè)置下的可控自然語(yǔ)言文本生成,如利用可控生成的結(jié)構(gòu)化方法來(lái)改善長(zhǎng)篇文本的一致性。
第二作者田淵棟博士是 Meta 人工智能研究院研究員、高級(jí)經(jīng)理,其研究方向?yàn)樯疃仍鰪?qiáng)學(xué)習(xí)及其在游戲中的應(yīng)用,以及深度學(xué)習(xí)模型的理論分析。先后于 2005 年及 2008 年獲得上海交通大學(xué)本碩學(xué)位,2013 年獲得美國(guó)卡耐基梅隆大學(xué)機(jī)器人研究所博士學(xué)位。
Re3 框架
生成長(zhǎng)篇且連貫的故事是人工智能領(lǐng)域的一個(gè)難題,模型需要全面掌握語(yǔ)言、世界和常識(shí)知識(shí)才能完成。
之前工作中自動(dòng)生成故事的長(zhǎng)度少則幾句話,多則也只有一兩個(gè)段落,雖然這樣長(zhǎng)度的短故事可以作為文本生成的一個(gè)很好的測(cè)試平臺(tái),但它們?nèi)匀槐纫话愕亩唐≌f(shuō)要短得多。
Re3 框架的設(shè)計(jì)初衷旨在通過(guò)生成更長(zhǎng)的「短」故事來(lái)彌補(bǔ)目前的故事自動(dòng)生成模型的缺陷。
與短篇小說(shuō)相比,長(zhǎng)篇?jiǎng)∏榈倪B貫性和相關(guān)性是更重要的問(wèn)題,Re3 框架的研究人員也是首個(gè)做自動(dòng)生成如此長(zhǎng)的連貫情節(jié)故事模型的人,而進(jìn)一步增加長(zhǎng)度主要受限于評(píng)估而不是技術(shù)問(wèn)題。
該系統(tǒng)必須在數(shù)千字的范圍內(nèi)保持一個(gè)連貫的總體情節(jié)。比如用戶會(huì)給定一個(gè)初始前提(premise),模型需要在數(shù)千字的文本中保持與前提的相關(guān)性。
其他的難點(diǎn)還包括在很長(zhǎng)的范圍內(nèi)保持?jǐn)⑹嘛L(fēng)格一致以及避免事實(shí)的矛盾。
研究人員觀察到,人類作家并不是直接一次性寫(xiě)完一個(gè)長(zhǎng)篇,而是有一個(gè)迭代過(guò)程,首先會(huì)(a)建立一個(gè)詳細(xì)的計(jì)劃;(b)根據(jù)計(jì)劃對(duì)每個(gè)段落打草稿;(c)修改或者對(duì)整個(gè)文章進(jìn)行重寫(xiě);(d)繼續(xù)編輯優(yōu)化細(xì)節(jié)。
受此啟發(fā),Re3 框架也采用類似的方法來(lái)生成長(zhǎng)故事。
計(jì)劃(Plan)模塊
利用 GPT3-Instruct-175B(針對(duì)人類指令微調(diào)后的 GPT-3)的結(jié)構(gòu)化 prompting,將初始化的前提(premise)轉(zhuǎn)化為更詳細(xì)的故事設(shè)置來(lái)模擬高水平的人類計(jì)劃,包括背景、人物 + 描述和故事大綱。
這些計(jì)劃組件本身是由 prompting 生成的,并且會(huì)被反復(fù)使用以在 Draft 模塊中生成故事段落的 prommpts,即 recursive reprompting
草稿(Draft)模塊
為了生成連貫的故事,Draft 模塊將會(huì)選擇 plan 中和之前生成的故事最相關(guān)的部分,然后將它們重新組合成一個(gè)單獨(dú)的 prompt,供 GPT3-175B 生成下一個(gè)段落。
與現(xiàn)有的思維鏈方法相比,這個(gè)故事 Draft 模塊可以被認(rèn)為是更進(jìn)一步:動(dòng)態(tài)地選擇先前語(yǔ)言模型輸出中與當(dāng)前步驟相關(guān)的部分,并在需要時(shí)運(yùn)行一些額外的處理(例如摘要)。
重寫(xiě)(Rewrite)模塊
重寫(xiě)模塊通過(guò)相關(guān)性評(píng)分、連貫性評(píng)分和簡(jiǎn)單的啟發(fā)式過(guò)濾器的混合對(duì)連續(xù)性進(jìn)行重新排序?qū)θ祟愔貙?xiě)進(jìn)行模仿。
訓(xùn)練 rerankers 是 Re3 框架中「唯一」使用已存在的故事數(shù)據(jù)的地方,其他所有的生成模塊都是通過(guò) prompting 的方式 zero-shot 設(shè)置下完成的。
編輯(Edit)模塊
最后編輯模塊解決了檢測(cè)(detecting)和糾正(correcting)長(zhǎng)距離事實(shí)不一致的問(wèn)題。
為了使該任務(wù)更具可操作性,研究人員把重點(diǎn)放在人物屬性(如年齡、職業(yè)、與其他人物的關(guān)系)的事實(shí)不一致上。
在高層次上,檢測(cè)系統(tǒng)以「屬性字典」的形式為每個(gè)角色維護(hù)一個(gè)緊湊的知識(shí)庫(kù)。
對(duì)于每個(gè)新的故事段落,只對(duì)照這些屬性值字典來(lái)檢查事實(shí)沖突,然后為新的段落更新字典,當(dāng)檢測(cè)到新的字符時(shí)創(chuàng)建新的字典。
具體來(lái)說(shuō),編輯模塊的檢測(cè)系統(tǒng)是一個(gè)受 OpenIE 啟發(fā)的概念驗(yàn)證系統(tǒng),將過(guò)程分解為簡(jiǎn)單的 GPT3 查詢,糾正系統(tǒng)使用 GPT3 的編輯 API,后續(xù)還有較大的提升空間。
實(shí)驗(yàn)部分
研究人員主要從趣味性(Interesting, 是否吸引讀者)、連貫性、相關(guān)性(忠實(shí)于初始前提)、類人(Humanlike,和人類作家相比)對(duì)生成的文字進(jìn)行評(píng)估。
每個(gè)標(biāo)注人員可以看到一個(gè)前提和兩個(gè)相應(yīng)的故事(由 RE3 和另一個(gè)隨機(jī) baseline 生成),并對(duì)兩個(gè)生成的故事在四個(gè)指標(biāo)上進(jìn)行二元打分。
從結(jié)果來(lái)看,RE3 能夠按照預(yù)期的前提寫(xiě)一個(gè)較長(zhǎng)的故事,同時(shí)保持一個(gè)連貫的總體情節(jié),這也驗(yàn)證了受人類寫(xiě)作過(guò)程啟發(fā)的設(shè)計(jì)選擇以及遞歸 reprompting 的生成方法。
與兩個(gè)基線對(duì)比,RE3 在連貫性和相關(guān)性方面都有明顯的大幅提高,標(biāo)注人員還將 RE3 的故事標(biāo)記為具有明顯較少的寫(xiě)作問(wèn)題。
參考資料:
https://arxiv.org/abs/2210.06774
https://github.com/yangkevin2/emnlp22-re3-story-generation
https://twitter.com/KevinYa33964384/status/1582149319032852480
https://zhuanlan.zhihu.com/p/578638528
本文來(lái)自微信公眾號(hào):新智元 (ID:AI_era),編輯:LRS
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。