[神经机器翻译理论与实作] AI也会写故事?聊聊文本生成吧!

前言

近年来以谷歌的 Google Assistant 、苹果的 Siri 和微软的 Cortana 为首的聊天机器人能够如真人一般与人类进行日常聊天,成为大家所关注的焦点。而甚至有消息指出现在的 AI 技术也能自己写程序了,究竟 AI 是如何接收资讯并做出决策,产出人类可以识别的自然语言呢?在上回的探讨中,我们了解到机器翻译的第二阶段就是生成人类可阅读的文本,於是今天我们就来聊聊机器如何写文章。

图片来源:Medium

什麽是文本生成

文本生成( text generation )泛指所有根据输入资料进而写出人类可读的是语句或是文件的过程,又称为自然语言生成( natural-language generation, NLG )。输入的资料可以是文本资料、影像资料或声音讯号等等,而输出的语句本身因着单词的多寡与排列会有不同的意义,是一种带有次序性的资料( sequential data )。模型最终预测出序列出现的机率,因此文本生成是一类序列预测问题( sequence prediction problem )。
文本生成的应用相当广泛,从先前提过的翻译器、聊天机器人、能够根据使用者口语的提问进行精确回答的问答系统( question answering system ,更分为基於声音或是基於文字的系统)、看图说故事的图像描述( image captioning )到自动天气预报等等。

根据图像产生情境描述:
https://ithelp.ithome.com.tw/upload/images/20210926/20140744yTzaR9r1l7.jpg

图片来源:www.tensorflow.org

从文本到文本

在这一小节我们将关注的范围限缩在输入文字资料以产生文字资料的过程。一般而言,输入的文字资料为一个到多个句子,因此可视为文字序列。而输出的文本按照容易到困难又可以区分为生成一个单独的字符和生成单词。

字符级生成( Character-level Generation

当见到一段未完成的文句:「 It's winter and the roa 」,我们也许会猜测下一个出现的字母是 d
我们可以训练模型一个字母一个字母地预测,直到写出一个整个句子,被称为是 character-level text generation

图片来源:https://houbb.github.io/

单词级生成( Word-level Generation

当我们看见一段文字:「It's winter and the road is covered with 」,不难会联想到下一个出现的单词很可能为snow 。这种给定单词序列到生成单词的过程被称为 word-level text generation 。相较於只预测下一个字符的模型,训练的时间较久,但是精准度较高。

图片来源:iq.opengenus.org

结语

今天的介绍比较简短,也还没构着神经网络的核心,明日再接再厉!/images/emoticon/emoticon08.gif

阅读更多

  1. A.I. Can Now Write Its Own Computer Code. That’s Good News for Humans.
  2. Text generation with an RNN

<<:  Day 11 Implement audio wave generator

>>:  JS 11 - 原型链

Day30. 是结束,也能是开始 - Review

今天是铁人赛的最後一天,我们的内容已经在昨天全数告一段落。 我们今天来分结构回顾一下我们的 30天,...

18.移转 Aras PLM大小事-快速贴入ECR受影响物件

这篇一样是Excel复制了很多料号,然後贴入ECR受影响物件 左边一个输入框,右边是系统讯息,上面一...

Day26-JDK可视化监控工具:visualVM(二)

前言 上篇介绍了visualVM的安装,这篇就要来介绍如何使用 范例我们拿Day23-JDK可视化监...

Day26 - 用 Ruby on Rails 写分析股票的技术指标

前言 在做选股之前,可透过技术指标来分析,像是可以用 KD、均线、量价...等 说明 这边要申明下,...

第50天~

这个得上一篇:https://ithelp.ithome.com.tw/articles/10258...