智能写作-智能写作能代替人工写作吗
编辑:pitaya02 日期:2020-08-28
使机器像人一样表达和创造是人工智能的一个重要远景,实现这一远景的一个核心技术领域就是智能写作。近几年来,智能写作不仅在技术上得到了快速的发展,而且在应用中越来越重要。
百度创始较早,在技术和应用上积累了一定的经验。本文从智能写作的常见应用形式及实例出发,结合百度的实践经验,介绍智能写作的核心技术,并对人机协作模式及智能写作的发展方向进行了探讨。
1
智慧写作是什么?
写字是一种创造性的脑力劳动,用语言和符号反映客观事物,表达思想情感,传递知识信息。
相应地,智能写作也是基于人工智能技术,帮助人们提高写作的效率和质量。
按照不同的应用思路,可以将智能写作分为“自动写”和“辅助写”两种应用形式。“自动写作”是指人工智能算法自动完成写作任务,写作过程不需要人工干预。协助写作是指人工智能算法在人类写作的整个过程中,为人类提供各种辅助功能,帮助人类完成写作任务。
接下来的两节通过实例分别介绍了自动写作和辅助写作。
2人
应用形式--自动化写作的智能写作
自动化写作技术允许机器自动完成文章的写作。目前电脑已能自动撰写新闻快讯,热点组稿,春联等类文章。下面的图表提供了三个自动写作的典型例子。
上面左边的例子是一个百度财经新闻自动写作的例子,这种自动写作一般都是以结构化数据作为输入,而智能写作算法则是用人类惯用的方式来描述包含在数据中的主要信息。因为机器处理数据的速度远远超过人类,所以它很善于完成即时新闻的报道任务,这种自动撰写的典型例子有地震快讯,财经快讯,体育战报等等。
上面这个例子是一个组稿写作的热点案例,这种类型的自动化写作通常基于大量的材料,根据应用需要的线索(如事件、人物等等)筛选出合适的内容,然后根据内容的分析提取出所关注的信息,最后根据写作逻辑组织成篇章结果。因为机器能快速地处理海量数据,所以很擅长挖掘包含在大数据中的分布、关联等信息。这类自动化写作的典型例子有热点组稿、事件脉络、顺序盘点等。
上面右边的例子是百度 NLP的智能春联,在这种类型的自动写作任务中,机器基于足够的训练数据,训练模型并获得创作能力,能够按照人的指令,输出符合特定格式要求的创作结果。模式输出的结果超出了人们的预期,所以它的输出具有与人类文字创作相似的创造性。这类自动化写作的典型例子有智能诗,智能对联,等等。
3
应用形式-辅助写作的智能写作
协助写作的目的是为了帮助人类写作过程。辅助写作主要从四个方面来帮助人们完成写作:写什么,怎么写,怎样写好,以及如何更好地传播。
人类写作前面临的第一个问题是“写什么”,算法可以通过对当前热点事件和话题的分析,推荐出适合写作的热点话题。在写作过程中,算法能提供多角度的帮助,如提供写作材料、写作风格、写作内容建议等。写完后,算法能从多个角度提供修改意见,如纠错,配图,排版等,帮助作者完善写出的结果。写完了并不意味着内容创作的结束,写完了要把内容提供给合适的使用者,满足使用者的需求。通过个性化推荐,算法可以标记出写作内容,并将内容推送到有兴趣的相关内容用户面前。
对写作过程辅助来说,这是辅助写作的一个重要部分,这里略加展开,列举一些常见的写作过程辅助算法的例子:
自纠正:人工智能模型通过学习大量已知的错别字、错别字搭配等语料,为写作中的文章提供实时错误检测和修改建议;
书写联想:人工智能模型通过学习大量的类似文章,可以从统计概率的角度推测出未完成句的后续部分,或者是已完成句的下一句,这样的书写联想能够在特定领域(如法律文书)的写作中有效提高创造效率;
文字材料推荐:在写作过程中,辅助写作可根据人在写什么,推荐与之相关的实用信息和材料,如热点、事件发展脉络等,节约作者搜寻整理材料的时间,提高写作经验的一致性;
题目推荐:题目对于写作很重要,但是构思一个吸引人的题目并不容易,算法可以在大量学习高质量题目的基础上,为作者推荐吸引人的优质题目。
4人
智慧书写的核心技术
理解了智能写作的各种应用形式后,我们继续探索智能写作背后的核心技术。智能写作与自然语言生成、自然语言理解、知识图谱、多模式算法等各种人工智能算法有着密切的联系,百度在智能写作的实践中,往往根据实际需求,将多种相关算法集合成具体的解决方案。接着,本文介绍了几种在各种智能写作中占据核心地位的核心算法:经典自然语言生成算法,神经网络序列生成算法,文本分析技术。
经典的自然语言生成算法
传统的自然语言生成(NLG, Natural Language Generation)算法[1]可以在深度神经网络算法出现之前被抽象成一条流水线,它包括三个核心步骤:篇章规划、微观规划和表面实现。以下是一个百度自动写的关于中超足球比赛战报的例子,描述了 NLG的经典算法过程。
第一步-篇章规划:这一步解决了“写什么”的问题,对于一场足球比赛来说,有大量的比赛数据,技术统计,文字实况等等,只有最重要的部分才能体现在最终的写作结果中。
所以,段落规划步骤需要确定标题,段落布局,以及每一段文章所对应的输入素材。就本例而言,一份完整的战报可分成四段:
评述:包括比赛时间,地点,轮数,对战双方,结果,历史战绩等。
半场:包括半场重要比赛
半场:包括下半场重要比赛
技术统计:包括重要技术统计和双方的对比
第二步-微观计划:这个步骤解决了“如何书写”的问题,使用输入材料来具体地生成句子,在经典 NLG算法中,通常是使用模板书写(Template-based Generation)来完成这个步骤。当训练数据不足,或者对写作结果的可控性要求很高时,可以根据人工挖掘的模板或定义的模板,结合数据获得写作结果。虽然最简单的模板可能是句子+空格的组合,但是通常需要在形式语言技术的帮助下,根据完全语法树的定义对模板进行标准化,以支持模板写作的多种多样和丰富的结果。
第3步-表面实现:微计划的结果通常不是自然语言,而是语法树等包含语法结构信息的结果。“表面实现”步骤就是要解决“如何形成符合人类习惯的自然语言”的问题。举例来说,将微观计划结果直接转化为自然语言,往往会留下一些算法痕迹,即不完全符合人类写作习惯的细节,如:“特谢拉接到队友传球”、“特谢拉用右脚推射破门”等,这些都是由数据材料生成的正确句子,但如果把它们直接组合成一个长句,就会出现问题。
并且在表层实现上,要根据人类表达习惯,把已经产生的结果进一步完善。根据要处理的问题,表层实现步骤对应着许多具体的算法,其中比较典型的一个例子就是指代生成(Referring Expression Generation),这种方法可以识别需要被代词取代的实体,从而更符合人们的写作习惯。
传统的 NLG算法用于自动书写的几种应用形式,尤其是结构化数据书写,由于它具有良好的可解释性和可控性,是目前工业生产环境下最常用的自动书写方法。
2.神经网络序列生成算法
深度学习技术给人工智能带来了技术上的变革,智能写作技术集中体现为神经网络序列生成算法(以下简称:神经网络序列生成算法)。该算法能有效地利用包含在语料中的统计规律,根据具体要求输出符合人类语言特征的文本结果。简单地说,以文字、图片、视频等作为输入,以文字作为输出的场景,都可以使用序列生成算法进行尝试,因此它在智能写作中的实际应用形式很多。以下介绍了三种智能写作中所用的顺序生成算法:智能诗歌生成算法,标题自动生成算法,摘要自动生成算法。
智慧诗歌是一种常用的机器创作方式,也是一种序列生成算法的典型例子,如下图:
该图表取自发表于学术会议 COLING 2016的百度 NLP学术论文[2],从图中的流程可以看出:算法在提取并扩展了一组关键字之后,根据关键字和所生成的句子逐句生成诗歌,其中每个句子的生成过程,即相应序列生成算法的一个实际执行。
上面的详细说明是序列生成模型,在生成诗歌的过程中,对关键词和前句的信息进行循环神经网络结构计算,作为诗歌生成的依据。通过对大量诗歌语料的学习,模型具有概率统计意义上的输出“像诗的字序列”的能力,这就是对应机器创作的智能写作,可以根据需要生成诗歌。尽管机器的创作“思想”与人类有着本质上的区别,但机器产生的诗歌却相当于人类所写的诗,因而可以帮助人类分担相应的工作量。
在辅助写作中,标题生成有着广泛的应用:写作完成后,如果能迅速确定一个高质量的标题,不仅省去了作者的人力投入,而且还有利于结果的分配,使结果更能触碰到有相应需求和兴趣的读者。
以上为百度百家号创作大脑中“标题生成算法”的示意图,标题生成也是一种序列生成模型,但与诗歌的序列生成模型有几点不同:
要处理更长的输入:产生标题的输入是一篇文章,更长的输入序列长度给序列生成模型的循环神经网络结构带来很大的挑战。从技术上说,可以通过内容选择、层次结构等方式改变输入端的序列生成模型,提高文本输入的理解能力。通过使用内容选择机制图中的示例,对原文计算内容的权重概率分布,帮助模型从长篇大论的内容中选择核心内容并体现在标题中。
有必要保证标题与原文相关性:序列生成的本质是一种不受控制的概率模型,该模型会产生概率意义上“安全”的结果,从而导致生成的标题与原文相关性弱,甚至偏离原文。针对这一问题,本文引入了图中例子的 Copy机制,利用复制替代了原始文本中最关键的基于词表概率预测的生成。
在序列生成中,自动摘要是一个比较困难的问题,因为自动摘要算法通常需要处理长篇大论的输入,而且输出要比上面提到的标题和诗句要长。这就需要更多的技术手段来解决这些问题,下图介绍了百度 NLP发布在 EMNLP 2018大会上的两个自动摘要算法探索[3][4]。
以上左图论文提出的方法,加强了摘要生成过程中结构信息的刻画。具体地说,首先将输入的篇章看作是一组句子的集合,并设计了两种摘要生成的约束条件:一是每个摘要结果的句子,应能与原文本的某个句子集合相对应;二是摘要结果的不同句子,应覆盖原文本的不同句子集合。对于编码器和解码器的序列生成模型,采用了分层建模方法。通过对模型中句子层次注意力分布的分析可以看出,与基线分析相比,强化结构信息约束的方法预测的注意力分布更接近实际情况。
上面的方法是右图论文所介绍的,在摘要生成中选择信息作为目标模型。具体地说,可从全局语义和局部语义两个层次对信息选择进行优化:一是在全局语义层次筛选出不重要的信息;二是在生成每个摘要句时,增加了局部信息选择的网络层,利用注意力机制计算出需要信息应注意的原句集合及其权重。
根据其核心思想,自动摘要算法可以分为两类:抽取式摘要(Extractive Summarization)和生成式摘要(AbstractiveSummarization)。生成性摘要是指在对原始文本进行建模之后,通过语言生成模型逐字生成结果,其优点是更接近于人的摘要思路,能追求更好的整体效果,但所生成的句子可能会有通顺、语义变化等问题。本文所提出的自动摘要算法代表了生成式摘要算法的前沿研究方向。同时,在实际应用中,经典的抽取文摘算法仍能取得较好的可控制效果。以下各节将结合文本分析技术介绍抽取式摘要的应用场景。
3.文本分析法
传统的 NLG算法和序列生成算法都把焦点放在人类语言的“输出”上,但是智能写作技术不仅把焦点放在了输出,而且把焦点放在了作为素材的“输入”上。对各种材料来说,都需要使用文本分析技术来提取关键字、标签、情感倾向、摘要等写作信息。作为一个例子,对于热点事件的组稿自动化编写,我们可以设计这样的编写逻辑:
将突发的热点事件作为触发条件,按照以下方法收集相关材料:
关键线索是事件“火箭锁定季后赛”
针对核心线索,从内容库中获取与事件相关的内容
运用事件分析、事件聚集技术,将内容聚集成多个聚类簇,如核心战报、主帅角度分析、历史回顾等
每一维选取最佳原文,使用自动摘要算法提取核心信息,构成写作结果
上述过程中的关键一步是自动摘要,由于最后选取的内容素材是存在较长文本的文本段,不能直接用于组稿,所以需要使用自动摘要算法来提取长文本中的核心信息,作为最终撰写结果的组成部分。
另一种抽取式摘要算法是从原文中选择适当的句子并拼接成摘要结果,其主要优点是摘要结果中的语句直接来源于原文,不存在句子本身的通顺性问题,缺点是摘要结果受原文句子集合的限制,容易产生一致性问题。抽象性摘要可以抽象成一条流水线,包含文档分析,句子排序,句子选择,摘要生成,实现理想效果的关键是如何准确地预测句子的重要性。
火龙果智能写作是全球第一款中英双语语法检查校对产品,运用火龙果智能写作技术进行错别字文本校对,除错别字校对以外,还可以对语法、标点等进行校对。
火龙果智能写作官网https://www.mypitaya.com
积极拥抱变化,才能更好的应对这个时代