让机器像人一样表达和创作是人工智能的重要愿景,实现这一愿景的核心技术领域之一便是智能写作。本篇文章将从智能写作的常见应用形态和样例入手,结合百度实践经验,详细介绍智能写作的核心技术。


让机器像人一样表达和创作是人工智能的重要愿景,实现这一愿景的核心技术领域之一是智能写作。智能写作近年来不仅在技术上发展迅速,在应用中也体现出愈发重要的价值。


百度的【智能写作】技术启动较早,在技术和应用方面都积累了一些经验。本篇文章从智能写作的常见应用形态和样例入手,结合百度实践经验,介绍智能写作的核心技术,并讨论人机协作方式和智能写作的未来发展方向。

 

1. 什么是智能写作?

写作是运用语言文字符号反映客观事物、表达思想感情、传递知识信息的创造性脑力劳动。与之对应,智能写作以人工智能技术为基础,帮助人类提升写作的效率和质量。

 

根据应用思路不同,智能写作可分为“自动写作”和“辅助写作”两类应用形态。其中,“自动写作”是指人工智能算法自主完成写作任务,在写作过程中不需要人工干预。“辅助写作”是指人工智能算法在人类写作的全流程中提供多种辅助功能,为人类提供协助,帮助人类完成写作任务。


后续两个小节通过实际样例,分别介绍自动写作和辅助写作。

 

2. 智能写作应用形态 —— 自动写作

自动写作技术能够让机器自主的完成文章写作。当前计算机已经能够自动的撰写新闻快讯、热点组稿、春联等类型的文章。下图给出了三种典型的自动写作样例。


 

上方左侧的样例是一篇百度自动写作的财经新闻,这类自动写作通常以结构化数据为输入,智能写作算法按照人类习惯的方式描述数据中蕴含的主要信息。由于机器对数据的处理速度远超人类,因此非常擅长完成时效性新闻的报道任务,这种自动写作的典型例子包括地震快讯、财经快讯、体育战报等。


上方中间的样例是一篇热点组稿写作,这类自动写作通常以海量素材为基础,按照应用需求线索(例如事件、人物等)筛选合适的内容,并基于对内容的分析抽取关注的信息,最后按照写作逻辑组织为篇章结果。由于机器能够快速处理海量数据,因此非常擅长挖掘大数据中蕴含的分布、关联等信息。这种自动写作的典型例子包括热点组稿、事件脉络、排行盘点等。


上方右侧的样例是百度NLP的智能春联,在这类自动写作任务中,机器基于充分的训练数据,训练模型并得到创作能力,可以根据人类的指令,产出符合特定格式要求的创作结果。模型产出的结果是无法事先预期的,因此其产出具备和人类文字创作类似的创造性。这种自动写作的典型例子包括智能写诗、智能对联等。

 

3. 智能写作应用形态 —— 辅助写作

辅助写作的目标是为人类的写作过程提供辅助。按照人的写作步骤,辅助写作主要从四个角度提供帮助:写什么、如何写、如何写好、如何更好地分发。


写作之前人类写作时面临的第一问题是“写什么”,算法可以通过分析当前热点事件和话题,推荐适合创作的热门话题。写作过程中,算法可以提供写作素材、写作风格、写作内容建议等多角度的辅助。写作完成后,算法可以从纠错、配图、排版等多个角度提供改进建议,帮助人类作者完善写作结果。写作完成并不是内容创作的终点,将内容提供给合适的用户,满足用户的需求是写作完成后的重要任务。算法可以为写作内容添加标签,以及通过个性化推荐将内容推送到感兴趣相关内容用户的眼前。


对于写作过程的辅助,是辅助写作的重要部分,此处略作展开,列举几个常见的写作过程辅助的算法实例:


     ●   自动纠错:人工智能模型通过学习大量已知的错误拼写、搭配等语料,对于正在写作的文章提供实时的错误检测和修改建议;

     ●   写作联想:人工智能模型通过学习大量同类文章,可以从统计概率角度推测未完成的句子的后续部分,或已完成句子的下一个句子,这种写作联想在特定领域(例如法律文书)的写作中可以有效提升创作效率;

     ●   写作素材推荐:在写作过程中,辅助写作可以根据人类正在写作的内容,推荐相关的热点、事件发展脉络等实用信息和素材,节省作者单独搜索整理素材的时间,提高写作体验的连贯性;

     ●   标题推荐:标题对于创作非常重要,但构思一个具有吸引力的标题并非易事,算法可以在学习大量高质量标题的基础上,为写作者推荐具有吸引力的优质标题。

 

4. 智能写作核心技术

在了解智能写作的各种应用形态之后,我们继续探讨智能写作背后的核心技术。需要说明的是,智能写作和自然语言生成、自然语言理解、知识图谱、多模算法等各类人工智能算法都有紧密的关联,在百度的智能写作实践中,常根据实际需求将多个相关算法集成为具体的解决方案。接下来介绍在各种智能写作中占有核心地位的几种核心算法:经典自然语言生成算法、神经网络序列生成算法和文本分析技术。


4.1 经典自然语言生成算法

在深度神经网络算法出现之前,经典自然语言生成(NLG,Natural Language Generation)算法[1]可以抽象为一个流水线,其中包括三个核心步骤:篇章规划、微观规划和表层实现。下面以一场百度自动写作撰写的中超足球比赛战报为例,描述经典NLG算法过程。



步骤1——篇章规划: 这一步骤解决“写什么”的问题,对于一场足球比赛,有大量的比赛数据、技术统计、文字直播等,其中只有最重要的部分需要在最终的写作结果中体现。因此,篇章规划步骤需要决定最终写作结果的标题、段落布局,以及每个文章部分对应的输入素材。在这个例子中,一个完整的战报可以分为四个段落:

     ●   综述:包括比赛时间、地点、轮次、对阵双方、比赛结果、历史战绩等

     ●   上半场:包括上半场的关键比赛事件

     ●   下半场:包括下半场的关键比赛事件

     ●   技术统计:包括双方的重要技术统计和对比


步骤2——微观规划:这一步骤解决“如何写”的问题,利用输入素材具体生成每个句子,在经典NLG算法中,常用模板写作(Template-based Generation)完成这一步骤。在缺乏训练数据,或对写作结果可控性有强要求的场景下,基于人工挖掘或定义的模板,结合数据即可得到写作结果。最简单的模板可以是句子+槽位的组合,但通常需要借助形式语言技术,基于完备的语法树定义对模板做规范化,以支持多样性和丰富的模板写作结果。


步骤3——表层实现:微观规划得到的结果通常不是自然语言,而是语法树等包含语法结构信息的结果。因此,“表层实现”步骤解决“如何形成符合人类习惯的自然语言”的问题。例如,将微观规划结果直接转换为自然语言,常会残存一些算法的痕迹,即不完全符合人类写作习惯的细节,例如:“特谢拉接到队友横传”、“特谢拉右脚推射破门”这两个句子都是由数据素材生成的正确句子,但是直接组合成一个长句就会存在问题。而在表层实现中,要将已生成的结果,按照符合人类表达习惯的方式进一步完善。表层实现步骤根据要处理的问题不同,会对应很多具体算法,其中比较典型的一个例子是指代生成(Referring Expression Generation),这类方法可以识别需要替换为代词的实体,从而更符合人类的写作习惯。


经典NLG算法在自动写作的几种应用形态中均有使用,特别在结构化数据写作中,经典NLG算法因其良好的可解释性和可控性,是当前实际工业生产环境中最常用的方法。

 

4.2 神经网络序列生成算法

深度神经网络技术为人工智能带来的技术变革,在智能写作技术中的集中体现是神经网络序列生成算法(以下简称:序列生成算法)。这种算法能够有效利用语料中包含的统计规律,按特定要求产出符合人类语言特性的文本结果。粗略来说,以文本、图片、视频等为输入,并且以文本为输出的场景,都可以尝试使用序列生成算法,因此它在智能写作中有多种实际应用形式。下面分别介绍三种智能写作中使用的序列生成算法:智能写诗算法、标题生成算法和自动摘要算法。


智能写诗是机器创作的常用例子,也是序列生成算法的一个典型例子,如下图所示:



该图取自百度NLP发表于学术会议COLING 2016的学术论文[2],从图中的流程可以看到:根据用户给定的query,算法在抽取和扩展出关键词集合后,根据关键词和已生成的诗句,逐句生成诗歌,其中每一句诗歌的生成过程,即对应序列生成算法的一次实际执行。


上图是序列生成模型的细节,在生成每一句诗歌时,关键词和上一句的信息会经过循环神经网络结构计算,作为生成诗歌中每一个字的依据。模型在学习过大量诗歌语料之后,能够具备概率统计意义上输出“像诗歌的字序列”的能力,这种能力即对应机器创作型智能写作,能够根据需求生成诗歌。虽然机器的创作“思路”和人类有本质的不同,但是机器生成的诗歌与人写的诗歌效果相当,因此能够帮助人类分担相应的工作量。


标题生成是在辅助写作中有广泛的应用:完成写作之后,如果能够快速确定一个优质的标题,不仅节省作者的人力投入,也有利于写作结果的分发,让写作结果更好地触及有对应需求和兴趣的读者。



上图是百度百家号创作大脑中标题生成算法的示意,标题生成也是一个序列生成模型,但与写诗的序列生成模型有几点不同:

     ●   需要处理较长的输入:标题生成的输入是篇章,较长的输入序列长度对序列生成模型的循环神经网络结构提出了巨大的挑战。技术上可以通过内容选择、层次化等方式改造序列生成模型的输入端,提升对篇章输入的理解能力。图中示例的利用内容选择机制,对原文计算内容权重概率分布,帮助模型从长篇幅的内容中选择核心内容并体现在标题中。

     ●   需要确保标题相对原文的忠实度:序列生成的本质是概率模型,在不加控制的情况下,模型更倾向于生成概率意义上“安全”的结果,这可能导致生成的标题和原文关联性弱甚至偏离原文。为了解决这个问题,引入了图中示例的Copy机制,对于原文中最关键的信息,用复制代替基于词表概率预测的生成。


自动摘要是序列生成中较困难的问题,因为自动摘要算法通常需要处理长篇幅的输入,而输出也比上面提到的标题、诗句更长。因此,需要采用额外的技术手段解决这些难题,下图介绍了两种自动摘要算法,是百度NLP发表在EMNLP 2018会议上的探索工作[3][4]。



上方左图论文提出的方法,强化了摘要生成过程中的结构信息刻画。具体而言,首先将输入的篇章视为若干句子集合,设计了两种摘要生成的约束项:第一,摘要结果的每一个句子,应该能够对应原文的某一个句子集合;第二,摘要结果中不同的句子,应该覆盖到原文中不同的句子集合。在序列生成模型的编码器和解码器部分,均采用了层次化的方式建模。从模型中句子级别注意力(Attention)分布的情况可以看到,和基线方法相比,强化结构信息约束的方法预测的注意力分布更接近真实情况。


上方右图论文提出的方法,以摘要生成中的信息选择作为针对性建模对象。具体而言,可以从全局语义和局部语义两个层面优化信息选择:第一,全局语义层面上筛选掉不重要的信息;第二,在生成每一个摘要句的时候,增加了局部信息选择的网络层,利用注意力机制,计算所需信息应该关注的原文句子集合及其权重。


自动摘要算法按照核心思路可分为两种类型:抽取式摘要(Extractive Summarization)和生成式摘要(AbstractiveSummarization)。生成式摘要是指对原文建立模型后,利用语言生成模型逐词生成结果,优点是更接近人类的摘要思路,可以追求更好的整体效果,但生成的句子可能存在通顺性、语义改变等问题。这两篇论文提出的自动摘要算法代表了目前生成式摘要算法的前沿研究方向。与此同时,在实际应用中,经典的抽取式摘要算法凭借较可控的效果依然占有一席之地。下面的小节将结合文本分析技术介绍抽取式摘要的应用场景。 

 

4.3 文本分析技术

经典NLG算法和序列生成算法的关注点都是“输出”人类语言,然而智能写作技术并不只关注输出,也要关注作为智能写作素材的“输入”。对于各类素材,需要利用文本分析技术抽取关键词、标签、情感倾向、摘要等用于智能写作的特征。以热点事件组稿自动写作为例,我们可以设计这样一种写作逻辑:



以热点事件突发为触发条件,按照以下方式收集相关素材:

核心线索是事件“火箭锁定季后赛”

     ●   以核心线索,从内容库检索该事件相关的内容集合

     ●   利用事件分析、事件聚合技术,将内容集合构造为若干聚类簇,例如核心战报、主帅角度分析、历史回顾等不同维度

     ●   每个维度挑选最好的原文,用自动摘要算法提取核心信息,构成写作结果


以上流程的一个关键步骤是自动摘要,因为最终选择的内容素材,是现存的篇幅较长的图文篇章,无法直接用于组稿,因此需要自动摘要算法提取长篇章中的核心信息,作为最终写作结果的部件。


除上文已经介绍过的生成式摘要算法,另一类抽取式摘要算法从原文中选择合适的句子并且拼接为摘要结果,其重要优点是摘要结果中的语句直接来自原文,因此不会出现句子本身的通顺性问题,缺点是摘要结果受限于原文的句子集合,并且容易出现连贯性问题。抽取式摘要可以抽象为一个包括文档分析、句子排序、句子选择和摘要生成在内的流水线,达到理想效果的关键是如何对句子重要性做出精确预测。

 

5. 智能写作VS人工撰稿

在介绍了智能写作应用和技术之后,我们讨论一个常见的误解:智能写作技术能够完全替代人类的写作工作。


真实的情况是:写作是人类创造力和智能的集中体现,完全能够替代人类的智能写作技术距离实现仍有较大差距。因此在实践中,智能写作的意义并非替代人类的工作,而是作为一种人工智能赋能的新生产力工具,帮助人类提升媒体、文创等相关行业的生产效率。用一句话描述,智能写作与人类写作是互补关系,而非竞争或替代关系。



从写作任务的四个主要需求出发,进一步分析智能写作与人类写作的这种互补关系,图中蓝色字表示智能写作的优势,红色字表示人类写作的优势:

     ●   信:智能写作算法擅长处理海量信息,筛选合适的素材,但对信息的深入理解、对信息真实可靠性的把控是人类擅长的领域。

     ●   达:智能写作算法能够通过学习已有文本,生成符合人类语言习惯并具有一定生动性的结果,但是如果需要行文的感情、吸引力、价值观,通常仍然需要人类的干预。

     ●   快:虽然智能写作算法在一些应用场景(例如快讯文章)中具有明显的时效优势,但是写作逻辑依然需要人类分析和总结。

     ●   全:智能写作算法擅长覆盖人类精力不可达的长尾、冷门写作任务并且可以全天候值守,但真正热门和重要的内容依然需要人类完成精细的写作。

 

6. 智能写作展望

随着人工智能技术的推进和实践,智能写作已经在越来越多的应用场景中发挥其价值,但和人类数千年积累的创作能力相比,其智能水平和实用程度还有很大的发展潜力。这里列举一些典型的问题,它们同时也是未来技术和应用探索的方向:

     ●   如何引入知识与常识:当前智能写作通常需要人类事先准备好训练语料或写作逻辑,算法容易做到让写作结果符合语法,但很难做到让写作结果符合人类常识或特定知识。将常识或领域知识和智能写作算法深入结合,可能是提升智能写作实用性的关键。

     ●   如何不依赖平行语料训练序列生成算法:序列生成算法当前依然是最重要和最有潜力的模型思路,但常用的序列生成算法需要大量平行语料才能完成训练任务,这与智能写作面对的发散性的需求并不相符。如果能够少依赖甚至不依赖平行语料完成序列生成模型训练,将极大降低智能写作算法落地实际场景的成本。

     ●   如何高效评估智能写作算法效果:由于多数智能写作任务具有较强的主观性,算法效果通常需要人工评估,成本巨大。如果能探索出自动化的智能写作技术评估方法,将极大加速智能写作相关算法的迭代速度。

     ●   如何赋予智能写作技术人文关怀特性:写作的目标并不只是传达信息和知识,更是传达情感和感受。在模仿人类写作习惯以外,成为“有温度的技术”,照顾人类情感诉求,为相关的人类参与者带来正面影响,是智能写作的重要任务。

     ●   如何建设智能写作伦理体系:当智能写作帮助人类完成创作,甚至在特定问题(例如写诗)独立完成创作时,原有的知识产权、审查等机制也需要进行对应调整,避免智能写作技术被滥用甚至错误使用。 


作为一个快速发展迭代的技术领域,智能写作面临很多问题和挑战[5],同时也拥有巨大的市场需求。百度也会继续探索技术边界和应用途径,期待能够让复杂的写作和创作变得更简单。


为了使智能写作技术能够助力广泛的应用,百度自然语言处理和知识图谱团队即将联手推出一套技术领先、能力丰富且简单易用的智能写作平台,提供本文提到的各类自动写作和辅助写作能力,希望它能成为最懂你的智能写作助手。


参考文献

[1] Reiter, Ehud, and RobertDale. Building natural language generation systems. Cambridge universitypress, 2000.

[2] Wang, Zhe, et al."Chinese Poetry Generation with Planning based Neural Network." Proceedingsof COLING 2016, the 26th International Conference on Computational Linguistics:Technical Papers. 2016.

[3] Li, Wei, et al."Improving Neural Abstractive Document Summarization with StructuralRegularization." Proceedings of the 2018 Conference on EmpiricalMethods in Natural Language Processing. 2018.

[4] Li, Wei, et al."Improving Neural Abstractive Document Summarization with ExplicitInformation Selection Modeling." Proceedings of the 2018Conference on Empirical Methods in Natural Language Processing. 2018.

[5] Gatt, Albert, and EmielKrahmer. "Survey of the state of the art in natural language generation:Core tasks, applications and evaluation." Journal of ArtificialIntelligence Research 61 (2018): 65-170.



了解更多智能写作内容,请扫码关注百度NLP公众号:



同时,您还可进入AI开发者社区,进行沟通交流。