智能写作
一、自动写作
自动写作通常以海量素材为基础,按照应用需求线索(例如事件、人物等)筛选合适的内容,并基于对内容的分析抽取关注的信息,最后按照写作逻辑组织为篇章结果。
二、辅助写作
写什么?如何写?如何写好?推给合适的用户?
-
自动纠错
人工智能模型通过学习大量已知的错误拼写、搭配等语料,对于正在写作的文章提供实时的错误检测和修改建议。
-
写作联想
人工智能模型通过学习大量同类文章,可以从统计概率角度推测未完成的句子的后续部分,或已完成句子的下一个句子,这种写作联想在特定领域(例如法律文书)的写作中可以有效提升创作效率
-
写作素材推荐
在写作过程中,辅助写作可以根据人类正在写作的内容,推荐相关的热点、事件发展脉络等实用信息和素材,节省作者单独搜索整理素材的时间,提高写作体验的连贯性
-
标题推荐
标题对于创作非常重要,但构思一个具有吸引力的标题并非易事,算法可以在学习大量高质量标题的基础上,为写作者推荐具有吸引力的优质标题
三、智能写作核心技术
-
经典自然语言生成算法
三个核心步骤:篇章规划、微观规划和表层实现
-
篇章规划
这一步骤解决**“写什么”**的问题。篇章规划步骤需要决定最终写作结果的标题、段落布局,以及每个文章部分对应的输入素材。
-
微观规划
这一步骤解决**“如何写”**的问题。常用模板写作(Template-based Generation)完成这一步骤。
-
表层实现
解决**“如何形成符合人类习惯的自然语言”**的问题。其中比较典型的一个例子是指代生成(Referring Expression Generation),这类方法可以识别需要替换为代词的实体,从而更符合人类的写作习惯。
-
-
神经网络序列生成算法
-
智能写诗算法
智能写诗是机器创作的常用例子,也是序列生成算法的一个典型例子。
-
标题生成算法
标题生成是在辅助写作中有广泛的应用:完成写作之后,如果能够快速确定一个优质的标题,不仅节省作者的人力投入,也有利于写作结果的分发,让写作结果更好地触及有对应需求和兴趣的读者。
-
自动摘要算法
自动摘要是序列生成中较困难的问题,因为自动摘要算法通常需要处理长篇幅的输入,而输出也比上面提到的标题、诗句更长。
-
-
文本分析技术
智能写作素材的“输入”。
对于各类素材,需要利用 文本分析技术 抽取关键词、标签、情感倾向、摘要等用于智能写作的特征。
四、智能写作VS人工撰稿
误解:智能写作技术能够完全替代人类的写作工作。
写作是人类创造力和智能的集中体现,完全能够替代人类的智能写作技术距离实现仍有较大差距。因此在实践中,智能写作的意义并非替代人类的工作,而是作为一种人工智能赋能的新生产力工具,帮助人类提升媒体、文创等相关行业的生产效率。
五、智能写作展望
未来技术和应用探索的方向:
- 如何引入知识与常识
- 如何不依赖平行语料训练序列生成算法
- 如何高效评估智能写作算法效果
- 如何赋予智能写作技术人文关怀特性
- 如何建设智能写作伦理体系
智能写诗
一、基于传统方法的诗歌生成
机器诗歌生成的工作,始于 20 世纪 70 年代。传统的诗歌生成方法,主要有以下几种:
- **Word Salada(词语沙拉):**是最早期的诗歌生成模型,被称作只是简单将词语进行随机组合和堆砌而不考虑语义语法要求。
- **基于模板和模式的方法:**基于模板的方法类似于完形填空,将一首现有诗歌挖去一些词,作为模板,再用一些其他词进行替换,产生新的诗歌。这种方法生成的诗歌在语法上有所提升,但是灵活性太差。因此后来出现了基于模式的方法,通过对每个位置词的词性,韵律平仄进行限制,来进行诗歌生成。
- **基于遗传算法的方法:**周昌乐等提出并应用到宋词生成上。这里将诗歌生成看成状态空间搜索问题。先从随机诗句开始,然后借助人工定义的诗句评估函数,不断进行评估,进化的迭代,最终得到诗歌。这种方法在单句上有较好的结果,但是句子之间缺乏语义连贯性。
- **基于摘要生成的方法:**严睿等将诗歌生成看成给定写作意图的摘要生成问题,同时加入了诗歌相关的一些优化约束。
- **基于统计机器翻译的方法:**MSRA 的何晶和周明将诗歌生成看成一个机器翻译问题,将上一句看成源语言,下一句看成目标语言,用统计机器翻译模型进行翻译,并加上平仄押韵等约束,得到下一句。通过不断重复这个过程,得到一首完整的诗歌。
二、Chinese Poetry Generation with Recurrent Neural Networks
核心思想:
图解:
这篇论文 2014 年发表在 EMNLP。
这篇论文提出了一个基于 RNN 的中国古诗生成模型。
首先由用户给定的关键词生成第一句,然后由第一句话生成第二句话,由一,二句话生成第三句话,重复这个过程,直到诗歌生成完成。模型的模型由三部分组成:
- **Convolutional Sentence Model(CSM):**CNN 模型,用于获取一句话的向量表示。
- **Recurrent Context Model (RCM):**句子级别的 RNN,根据历史生成句子的向量,输出下一个要生成句子的 Context 向量。
- **Recurrent Generation Model (RGM):**字符级别 RNN,根据 RCM 输出的 Context 向量和该句之前已经生成的字符,输出下一个字符的概率分布。解码的时候根据 RGM 模型输出的概率和语言模型概率加权以后,生成下一句诗歌,由人工规则保证押韵。
模型结构如下图:
模型生成例子如下图:
https://zhuanlan.zhihu.com/p/26604113
https://www.cnblogs.com/naniJser/p/9029619.html
https://blog.csdn.net/wty__/article/details/52677834
七、Chinese Poetry Generation with Planning based Neural Network
模型不需要专家知识,是一个端到端的模型。它试图模仿人类开始写作前,先规划一个写作大纲的过程。整个诗歌生成框架由两部分组成:规划模型和生成模型。
**规划模型:**将代表用户写作意图的 Query 作为输入,生成一个写作大纲。写作大纲是一个由主题词组成的序列,第 i 个主题词代表第 i 句的主题。**使用 TextRank 算法结合 word2Vec 词向量对关键词重要性排列,取最重要的关键词。如果能提取的关键词过少,则使用 RNN 进行预测新的关键词。**如果用户输入的关键词不在词典中,使用 Knowledge-based method 进行关键词扩充(百度百科、wikepedia、WordNet)
**生成模型:**基于 encoder-decoder 框架。有两个 encoder, 其中一个 encoder 将主题词作为输入,另外一个 encoder 将历史生成的句子拼在一起作为输入,由 decoder 生成下一句话。decoder 生成的时候,利用 Attention 机制,对主题词和历史生成内容的向量一起做打分,由模型来决定生成的过程中各部分的重要性。
上个模型,用户的写作意图,基本只能反映在第一句,随着生成过程往后进行,后面句子和用户写作意图的关系越来越弱,就有可能发生主题漂移问题。而规划模型可以使用户的写作意图直接影响整首诗的生成,因此在一定程度上,避免了主题漂移问题,使整首诗的逻辑语义更为连贯。
总体框架图如下:
生成模型框架图如下:
**诗歌图灵测试:**给定一个题目,让机器和人分别做一首诗 ,由人来区分哪首诗是人写的。实验结果也很有意思,对普通人来说,已经无法区分诗是由机器生成的还是人生成的,下面是一组测试的例子:
现代概念诗歌生成例子:
https://www.h3399.cn/201804/571672.html
https://www.leiphone.com/news/201705/f76IMF23tRNKhpkW.html
https://www.cnblogs.com/naniJser/p/6059228.html
https://www.h3399.cn/201804/571672.html
https://www.leiphone.com/news/201705/f76IMF23tRNKhpkW.html
https://www.cnblogs.com/naniJser/p/6059228.html