导语
图1. ChatGPT生成的关于智能写作的介绍
智能写作指使用自然语言处理技术来自动生成文本内容。这种技术通过分析给定语料库,学习文本的结构和语法,然后利用这些信息来生成新的文本。智能写作可以用来快速生成高质量的文本内容,并且可以用来完成诸如文章写作、报告生成和摘要提取等任务。
图1为我们介绍了智能写作的基本概念,而令人意想不到的是,这一段介绍的作者竟是AI本身!这一段AI自动生成的“自我介绍”既富有逻辑条理,又阐述了正确的知识,这便是当下最火热的AIGC技术的威力!
什么是AIGC?AIGC,即AI-generated Content,基于AI的内容生产,它是利用人工智能进行内容创作的方式,它被认为是继PGC(Professionally-generated Content)、UGC(User-generated Content)之后的新型内容创作方式。AIGC在文本、图像和音视频等多领域都正在高速发展,近年来诞生了许多主打AIGC的创作体验平台,用户可以输入一句话让AI合成一张与描述关联的图片,或者更为常见的是输入一句文章的描述,或仅仅是一句故事的开头,让AI替你完成文章的续写。智能写作在我们的日常办公中具有相当好的落地前景,例如新闻写作、诗歌春联、故事写作、广告文案、金融报告、行政文书等办公场景,这些场景都有相关智能写作产品得到应用,可以看到智能写作技术能够为包括资讯、金融、广告、政法等各行各业的从业者提供便捷且高质量的文本写作服务,帮助人们更快地理解和分析复杂的信息,从而帮助人们更好地做出决策,产生重要的价值。这一切生产力提高的愿景正在逐步成为现实,背后原因是技术的发展和提升,下图为笔者整理的AIGC用于智能写作的相关技术发展脉络。图2. 文本写作的相关重要技术
文本写作技术在很长一段时间里以RNN Seq2Seq为主,发展迟缓,而当Transformer模型结构问世后,这一领域的技术发展迅速爆发,围绕着Transformer的文本写作技术喷涌而出,包括微软亚洲研究院、谷歌AI、Facebook AI、OpenAI等诸多国际知名研究机构都纷纷投入,先后诞生了UniLM(2019)、MASS(2019)、T5(2020)、BART(2020)、GPT系列(2018-2022)等多个影响力显著的研究成果。本文将沿着这条技术发展脉络,从传统的智能写作到如今的前沿研究为读者做详细的阐述,并为大家介绍达观数据的智能写作产品实践。
智能写作相关技术背景
01任务定义
在深入了解相关技术之前,我们先对文本写作任务进行一个数学上的形式化定义。文本写作任务的核心是生成一个字符串组成的序列Y = (y1,…,yi,…,yn ),其中yi∈ν,ν是一个给定的词汇表。在大多数情况下,文本写作需要以输入作为条件进行生成,输入的数据可能是文章主题,或者是文章的开头句等等,我们用X表示输入。基于以上定义,文本写作任务建模可以表示为P(Y|X) = P(y1,…,yi,…,yn |X),其中P表示概率分布函数。
02数据集
写作任务公开的评测数据集,在英文上有CommenGen、ROCStories、WritingPrompts等若干数据集,而在中文上有Couplets、AdvertiseGen等若干数据集,数据集的概述见表1。表1. 文本写作任务相关评测数据集
03评测指标
文本写作任务需要量身定制的指标能够对技术的优劣进行评测,通常写作的好坏会从四个角度进行度量:
- 流畅度(fluency):生成文本的流畅程度;
- 真实性(factuality):生成文本在多大程度上反映了语境;
- 语法(grammar):生成文本的语法正确性;
- 多样性(diversity):生成的文本是否具有不同的类型或样式。
通常此类任务的评测最好的方式当属人工,然而人工评测的成本巨大,为此,业界设计了以下几种自动评测的量化指标,这些指标通常是量化生成文本和参考文本之间的相似度。比较常用的有基于词汇和基于语义的相似度度量。
3.1 基于词汇基于词汇的度量是衡量单词或短语单元的重合度,然后聚合到整体句子级相似度,包括:
- BLEU-n,计算生成文本和参考文本的n-gram单元的重合度,最为广泛使用的是BLEU和BLEU-2
- Self-BLEU,用来衡量生成文本的多样性,即在多条不同的生成文本之间计算BLEU值,Self-BLEU越小则多样性越强;
- ROUGE-n,同样是计算生成文本和参考文本的ngram单元的重合度,不同点在于BLEU是重合n-gram数/生成文本n-gram数,而ROUGE是重合n-gram数/参考文本n-gram数,因此可以看做召回版本的BLEU;
- Perplexity(PPL)和Reverse PPL,PPL是在参考文本上训练语言概率模型,然后用它计算生成文本的概率,概率越高则表示生成文本越流畅;而Reverse PPL则是在生成文本上训练语言概率模型,然后反过来计算参考文本的概率,概率越高则表示生成文本越多样。
3.2 基于语义相比基于词汇的方式,基于语义可以把字面不相似而语义相似的情况也纳入考量,是一种更贴近人工评测的方式,这其中包括:dssm,利用深层语义相似模型分别将生成文本和参考文本映射到一个低维语义表示空间,并计算生成文本向量和参考文本向量的距离;BERTscores、BERTr、YiSi等,近年来涌现的基于预训练模型的评测方法,利用BERT的embedding表示代替n-gram,计算生成文本和参考文本的相似性。
04重要技术脉络图3. 文本写作的相关重要技术图3列举了文本写作领域中部分影响力较大的相关技术。在很长一段时间里文本写作是以基于RNN的Seq2Seq模型为主流技术,如图4所示,其由两个RNN网络组成,第一个RNN是编码器,第二个RNN是解码器。模型先以循环单元将输入文本编码到隐向量,后再通过循环单元顺序逐字解码,顺序解码时将上一单元输出和上一单元隐向量同时作为解码器的输入。RNN Seq2Seq生成的文本质量通常欠佳,时常伴有语法错误或语意不明的问题,主要原因是其逐字顺序编码解码过程引起的误差传递和放大。
图4. RNN Seq2Seq模型示意图
图5. Transformer模型
随着2017年Transformer模型结构(见图5)的问世,世人惊叹于其强大的捕捉超长距离依赖的特征表示能力,并且由于Transformer可以并行处理序列的特性,训练效率相比RNN也大幅提升,于是文本写作算法研究投入也极速地向Transformer倾斜,随之孕育而生了一系列的预训练模型(见表2),时至今日已经成为文本写作技术的主流前沿代表。下文将为读者重点一一阐述。
表2. 文本写作的相关预训练模型概述
AE=自编码;AR=自回归;SLM=标准语言模型;CTR=受损文本重建;NSP=下一句预测;FTR=全文重建。
前沿技术介绍
当下文本写作的主流前沿技术是从不同类型、结构组件和预训练任务中衍化的若干种预训练模型。本节内容将为读者做重点介绍。
01UniLM
UniLM的全称是Unified Language Model,是2019年微软亚洲研究院提出的生成式BERT 模型,和传统的Seq2Seq不同的是,它只用了BERT,没有Decoder部分。它集合了L2R-LM(ELMo,GPT),R2L-LM(ELMo)、BI-LM(BERT)以及Seq2Seq-LM几个其他模型训练的方式,所以叫Unified模型。图6. UniLM模型概览
UniLM的预训练分为三个部分,Left-to-Right、Bidirectional以及Seq-to-Seq(见图6)。对于这三种方式,不同点只是Transformer的mask矩阵的改动而已:
- 对于Seq-to-Seq,前一句对后一句的Attention被mask,这样一来前一句只能关注到自身,但不能关注到后一句;后一句每个词向其之后的Attention被mask,只能关注到其之前的词;
- 对于Left-to-Right,Transformer的Attention只关注这个词本身以及前面的词,后面的词不做关注,所以mask矩阵是下三角矩阵;
- 对于Bidirectional,Transformer的Attention关注所有的词,并且包含NSP任务,和原本的BERT一样。
在UniLM的预训练过程中,三种方式各训练1/3的时间,相比原始BERT,其添加的单向LM预训练加强了文本表示能力,而其添加的Seq-to-Seq LM预训练也使UniLM能够很好地胜任文本生成/写作的任务。02T5T5的全称是Text-to-Text Transfer Transformer,是2020年谷歌提出的模型结构,其总体思路是用Seq2Seq文本生成来解决所有下游任务:如问答、摘要、分类、翻译、匹配、续写、指代消解等。这个方式能够使所有任务共享相同的模型,相同的损失函数和相同的超参数。
图7. T5思维框架
T5的模型结构是基于多层Transformer的Encoder-Decoder结构。与其他模型的主要区别是,GPT系列是仅包含Decoder结构的自回归语言模型(AutoRegressive LM),BERT是仅包含Encoder的自编码语言模型(AutoEncoder LM)。图8. T5预训练目标示例
T5的预训练分为无监督和有监督两个部分:
1.无监督部分
无监督部分是采用类似BERT的MLM方法,不同的是BERT是mask单个词,而T5是mask一段连续的词,也就是text span。被mask的text span只用单个mask字符替换,也就是说对于mask后的文本而言,mask的序列长度也是不可知的。而在Decoder部分,只输出被mask的text span,其它词统一用设定的<X>、<Y>、<Z>符号替换。这样做有三个好处,其一是加大了预训练难度,显然预测一个长度未知的连续text span是比预测单个词更难的任务,这也使得训练的语言模型的文本表示能力更有普适性,在质量较差的数据上的微调适应性更强;其二是对于生成任务而言输出的序列就是长度未知的,T5的预训练很好适配了这一特性;另一个好处是缩短了序列长度,使得预训练的成本得以降低。T5所采用的这种预训练任务也被称为CTR(Corrupted Text Reconstruction,受损文本重建)。
2.有监督部分
有监督部分采用GLUE和SuperGLUE中包含的机器翻译、问答、摘要、分类四大类任务。核心是Fine-tune时把这些数据集和任务合在一起作为一个任务,为了能够实现这一点它的思路是给每个任务设计了不同的prefix,与任务文本一同输入。举例说翻译任务,把英语的“That is good.”翻译为德语,那么训练时就输入“translate English to German: That is good. target: Das ist gut.”,而预测时则输入“translate English to German: That is good. target:”,模型输出预测“Das ist gut.”。其中“translate English to German:”便是为此项翻译任务添加的prefix。
03BART
BART的全称是Bidirectional and Auto-Regressive Transformers,是2020年Facebook提出的模型结构。正如其名,它是一种结合了双向编码和自回归解码结构的模型结构。
BART的模型结构吸收了BERT的Bidirectional Encoder和GPT的Left-to-Right Decoder各自的特点,建立在标准的Seq2Seq Transformer model的基础之上,这使得它比BERT更适合文本生成的场景;同时相比GPT,也多了双向上下文语境信息。
BART的预训练任务采用基本理念同样是还原文本中的[noise]。BART采用的[noise]具体有:
- Token Masking:和BERT一样,随机选择token用[MASK]代替;
- Token Deletion:随机删除token,模型必须确定哪些位置缺少输入;
- Text Infilling:和T5做法类似,mask一个text span,每个text span被一个[MASK]标记替换。在T5做法基础上,同时考虑了当text span长度为0,此时则插入一个[MASK]标记;
- Sentence Permutation:以句号作为分割符,将输入分成多个句子,并随机打乱;
- Document Rotation:随机均匀地选择一个token,以这个token为中心,旋转输入,选中的这个token作为新的开头,此任务训练模型以识别文档的开头。
可以发现相比起BERT或T5,BART在Encoder端尝试了多种[noise],其原因和目的也很简单:
- BERT的这种简单替换导致的是Encoder端的输入携带了有关序列结构的一些信息(比如序列的长度等信息),而这些信息在文本生成任务中一般是不会提供给模型的;
- BART采用更加多样的[noise],意图是破坏掉这些有关序列结构的信息,防止模型去“依赖”这样的信息。针对各种不同的输入[noise],BART在Decoder端采用了统一的还原形式,即输出正确的原始整句。BART所采用的这种预训练任务也被称为FTR(Full Text Reconstruction, 全文重建)
04GPTs
GPT的全称是Generative Pre-Training, 是OpenAI在自然语言处理领域的一项极为重要的研究。GPT是一个循序迭代的预训练模型,其家族主要成员包括初代GPT、GPT-2、GPT-3、InstructGPT和如今炙手可热的ChatGPT等。下面为大家逐一介绍。
4.1 GPT图11. 标准Transformer Decoder(左);GPT Decoder(右)
初代GPT是2018年OpenAI提出的一种预训练语言模型,它的诞生相比BERT更早,它的核心思想是基于大量无标注数据进行生成式预训练学习,然后在特定任务上进行微调。正因其专注于生成式预训练,GPT的模型结构只使用了Transformer的Decoder部分,其标准结构包含了Masked Multi-Head Attention和Encoder-Decoder Attention(图11左)。GPT的预训练任务是SLM(Standard Language Model,标准语言模型),即基于上文(窗口)预测当前位置的词,因此要保留Mask Multi-Head Attention对词的下文遮挡,防止信息泄露。因为没有使用Encoder,所以GPT的结构中去除了Encoder-Decoder Attention(图11右)。
4.2 GPT-2初代GPT的问题是微调下游任务不具备迁移能力,Fine-Tuning层是不共享的,为了解决这个问题,2019年OpenAI又推出了GPT家族新的成员:GPT-2。GPT-2的学习目标是使用无监督的预训练模型做有监督的任务,与初代GPT相比,GPT-2有如下改动:1)模型结构去除Fine-Tuning层,所有任务都通过设计成合理的语句给语言模型进行预训练,训练需保证每种任务的损失函数都收敛;2)Layer Normalization的位置移动到了每个sub-block输入的地方,在最后一个Self-Attention后面也加了一个Layer Normalization;3)采用了修正的初始化方法,在初始化时将残差层的权重缩放到1⁄√N倍,N为残差层的数量;4)Vocabulary规模扩展到了50257,输入的上文大小由512扩展到了1024,使用更大的batch_size训练。
GPT-2的多任务训练使其拥有更强的泛化能力,当然这同时也是得益于其用了多达40G的训练语料。GPT-2的最大贡献是验证了通过海量数据和大量参数训练出来的模型有迁移到其它类别任务中而不需要额外训练的能力。
4.3 GPT-32020年OpenAI在GPT-2的基础上又进一步推出了GPT-3。GPT-3的做法更加简单粗暴,模型整体结构和训练目标与GPT-2基本无异,但GPT-3把模型尺寸增大到了1750亿参数量(比GPT-2大115倍),并且使用45TB数据进行训练。得益于惊人庞大的参数量,GPT-3可以在不做梯度更新的情况下使用零样本、少样本进行学习预测。
4.4 InstructGPT超大模型的GPT-3在生成任务的效果上确实达到了空前的效果,特别是零样本和少样本场景下成为最佳,但GPT-3面临了一项新的挑战:模型的输出并不总是有用,它可能输出不真实、有害或者反映不良情绪的结果。这个现象是可以被理解的,因为预训练的任务是语言模型,预训练的目标是在输入的限定下使输出的结果为自然语言的可能性最大化,而这其中并没有“用户需要安全、有用”的要求。为了解决这个问题,2022年OpenAI基于GPT-3发表了一项重要研究:InstructGPT,引入从人类反馈中强化学习(RLHF,Reinforcement Learning from Human Feedback)的技术。
图12. InstructGPT操作过程
InstructGPT模型上基本和GPT-3没有太大变化,主要变化的是训练策略,总体思路是标注人员对调用示例提供示范回答,然后用这些数据在模型上进行微调,从而使模型能够做出更加合适的回答。
其训练步骤分为三步:
- 收集示范数据,用监督训练的方式训练一个模型。从prompt数据集中采样一部分进行人工标注,然后将其用于GPT-3的Fine-Tune;
- 收集对比数据,训练一个回报模型。采样一批数据输入第一步Fine-Tune之后的模型,标注人员对模型的输出按照优劣进行排序,然后用这些数据训练一个回报模型;
- 用强化学习来优化模型的输出。使用第二步得到的回报模型来对模型的输出进行打分,将得分作为强化学习的奖励,基于PPO(Proximal Policy Optimization)算法来微调生成模型。由此产生的 InstructGPT在遵循指令方面,远比GPT-3要好得多,同时InstructGPT也较少地凭空捏造事实,有害输出的产生呈现小幅下降趋势。
4.5 ChatGPT现在让我们回顾本文的开头,那个为我们准确并有条理地解答了“什么是智能写作”的AI模型——它就是ChatGPT,OpenAI于2022年11月30日正式发布了这一项最新研究。ChatGPT使用与InstructGPT相同的方法,使用来自人类反馈的强化学习(RLHF)来训练该模型,改进点在于数据收集的方法(未具体公开)。图13. ChatGPT操作过程
可以看到,ChatGPT的训练流程与InstructGPT是一致的,差异只在于InstructGPT是在GPT-3上做Fine-Tune,而ChatGPT是在GPT-3.5上做Fine-Tune(GPT3.5是OpenAI在2021年四季度训练的InstructGPT模型,在自动编写代码方面有较强的能力)。
纵观从初代GPT到ChatGPT的发展,OpenAI证明了用超海量数据训练超大模型,这样得到的预训练语言模型就足以应对自然语言理解和自然语言生成的各种下游任务,甚至不需要微调,零/少样本一样能够应对。而在输出的安全可控性上,OpenAI给出的答案是基于人力的强化学习:雇佣了40名标注人员全职工作近2年(标注时间官方未公开,笔者仅从GPT-3到ChatGPT大约两年半时间间隔推测,因为强化学习需要不断迭代),为模型的输出进行标注反馈,由这些数据方可进行强化学习,指导模型优化。Transformer+超海量数据+超大模型+庞大人力+强化学习,造就了如今现象级的ChatGPT。
达观数据的智能写作应用实践
写作一直是企事业单位的重要工作内容,是公司数据资产的主要载体,是建立企业知识中台的重要基石。基于此,达观数据以NLP技术综合业务需求,全力投入研发并打造了两款智能写作产品——达观智能写作助手和达观智能文档写作。
01达观智能写作助手
达观智能写作助手是一款AI写作工具,以AI技术综合写作场景需求,为内容创作和版式调整赋能,实现全场景的精彩表达,提升写作效率和质量,成为写作者的全能高效助手。取代传统格式刷:高自由度排版工具,批量操作效率翻倍快速扫描全文,分析文章结构,识别出段落的类型,点击即可一键应用统一样式。达观智能写作助手将依据文档及段落类型,推荐标准样式,用户也可以创建自定义的样式库。
图14.达观智能写作助手智能样式排版
灵感激发:启发创作灵感对于各类丰富场景的自由写作,当遇到写作思路瓶颈时,达观智能写作助手借助内置的大语言模型算法能力,将根据已有段落的理解,自动续写出若干种最贴合的下文,激发写作人创作的灵感。图15.达观智能写作助手根据上文段落自动续写
海量素材:AI据意查询达观智能写作助手内置30万+条素材,涵盖公文、名人名言、古诗词等类型。支持根据用户输入的想法、需求等描述性语句,通过智能分析搜索最适合的写作素材。图16.达观智能写作助手支持据意查询
全面校对:快速发现文章错误,保证文档质量达观智能写作助手通过拼写检查、语法检错和语法纠错,严格校验100多种常见错误,不放过任何差错,确保文章高品质。图17.达观智能写作助手全面校对中文常见错误
达观智能写作助手能够为各行各业的人员带来巨大的价值:新媒体运营:公众号、小红书、新闻稿等文案创作;办公室白领:政府、企事业单位员工等均可利用达观智能写作助手快速完成公文、报告、合同等文档书写;创意写作者:续写提示,激发创作灵感,完成优质创作。
02达观智能文档写作达观智能文档写作,是一款主要实现债券、基金、合同等各类业务文档的智能写作产品,实现从文档的智能审阅到智能写作的高度跨越。
开箱即用:内置多种成熟模板针对市面共性需求,达观智能文档写作产品已内置尽职调查报告、各板块招股说明书、各债券类型的债券募集说明书、发行公告、持续督导核查报告等数十种文档模板,并支持用户根据业务需求修正及自定义。图18.达观智能文档写作预制模板库
模板自定义:高度灵活的模板配置方式达观智能文档写作可支持用户自定义写作模板,特别针对一二级市场及其他常用合同文档写作的需求,独创了适用多数据、多表格的模板配置方式,支持模板中表格行数/列数自动判断,数据占比、变动等信息自动计算,多数据融合汇总等功能,以方便快捷地实现各类文档的便捷模板定义及写作。
数据来源:数据库、非结构化数据均可利用达观智能文本写作不仅支持接口对接、数据库对接的形式自动从外部数据源中获取数据进行自动填充。同时,得益于达观成熟的文本理解能力,支持从非结构化文本中提取结构化信息,包括实体字段、组合字段、元素字段(图、表、段落、标题等)进行自动录入。
以债承业务为例,系统可根据天眼查、企查查、WIND等第三方业务系统,及企业内部数据库,如各类合同、往期财务数据、专利证照等信息,根据用户自定义的模板信息完成文档写作任务,并根据NLP技术润色加工行文结构,生成适合行业写作风格及格式的文档。图20.达观智能文档写作支持丰富的数据来源
智能写作:AI辅助非模板文档写作针对非模板文档写作需求,达观智能写作利用行业最新算法技术实现摘要自动生成、自动续写、实时联想等功能。通过机器结合人工便捷实现各类文档写作。图21.达观智能文档写作AI辅助高度智能化
结果复核:多功能协同保障写作质量针对债承、股权、投研及法务财务等用户对数据精确性、文本准确性的需求,达观智能写作可与智能文档审核、智能文档比对功能协同。写作结果完成后可由AI对其数据逻辑性与一致性、语义标点规范性做审核。从细节入手,以人性化的交互设计降低用户人工复核成本,充分满足用户在线流畅编辑超长文档的需求。
图22.达观智能文档写作多功能协同,保障写作结果准确性
目前,达观智能文档写作产品已在头部券商、基金公司部署应用。未来产品将持续积累,为用户提供数字化智能转型、建立企业知识中台的便捷化、智能化利器。
挑战与展望
AIGC用于智能写作取得的进展确实令人惊叹,但是我们也不得不认识到当下依然存在许多挑战,包括:
- 缺乏创意:智能写作的主要挑战之一是AI算法很难生成真正原创和有创意的内容。虽然人工智能可以产生语法正确且连贯的高质量内容,但它可能缺乏真正创造性写作所必需的人情味和洞察力;
- 对上下文的理解有限:智能写作的另一个挑战是,AI算法可能很难完全理解给定情况的上下文细微差别。例如,人工智能可能无法准确解读书面内容中的语气、情感或文化差异;
- 偏见问题:AI算法的好坏取决于它们所训练的数据,如果训练数据有偏差,人工智能的输出也会有偏差。这可能会导致道德问题,例如刻板印象和歧视的长期存在;
- 高成本落地:开发和落地 AI 算法和系统非常昂贵,以目前取得不错进展的技术来说普遍需要庞大的数据、算力乃至人工支持,这将对面向工业的智能写作落地形成挑战
总体而言,智能写作AIGC仍有极大的潜力尚未充分发挥,未来的研究工作也会着重在如何克服上述的挑战。未来可能会在融入人工意见和强化学习的基础上,进一步通过设计相关维度的量化指标指导模型的优化。随着效果的日益增强,相信会有更多研究工作投入到智能写作的小样本学习和模型压缩技术上,降低落地成本,使得智能写作产品能够服务到每个人的日常工作中。
评论留言