“天猫精灵”如何为你写诗?人机共创的秘密在这儿

简介:

今年七夕期间,由阿里巴巴人工智能实验室(A.I.Labs)AI创作团队研发的《天猫精灵为你写诗》(以下简称“为你写诗”),通过它,你可以用AI给心爱的人写一首藏头情诗,还可以进行人机共创的合作。

今天,我们对AI创作团队负责人进行了专访。该团队在A.I.Labs的认知实验室负责探索AI智能创作、深度学习、自然语言理解、智能对话等人工智能技术在智能音箱上的应用。

1054cc93d8cd84a385c567ffb1ee7a7e964f1180

识别上方二维码,可亲身体验~

如何实现古诗创作中的人机共创?

Q:为什么想到从AI写诗这个角度切入,去做人机共创?

A:在文艺创作这件事情上,我们认为最重要的不是智能,人机共创才能将“智能”与“情感”的结合推向一个更高的高度,让创作更具“心智”和“情感”才是更重要的。在人机共创的过程中,机器也可能会越来越多地了解“情感”的表达。为印证人机共创的价值,我们做了“天猫精灵为你写诗”的尝试。

4b1ace53422696e3b4a7d0b6b0539055c86615f9

Q:“为你写诗”人机共创的部分是如何实现的?

A:人机共创的模式是机器为人提供推荐,而不是让人独自去完成修改。例如,诗句生成模型在每一句诗的每一个字都可以提供候选集,还可以通过beam search固定一部分文字生成后序的文字等等。

但是,单句或者单字的修改其实是会影响整首诗的质量的,如果只修改一句,不能对后续诗句做相应的推荐则不能发挥人机共创的优势,针对这个问题我们给出了一个解决方案:

b7a1e70ebec8a884d8b72742c967b70c9c8c60aa

我们在绝句的生成过程中保一个位留了每置诗句的不同表达,然后再选择匹配句子,通过统一的评价模型来衡量不同的佳句组合的质量,从中选择最具品质的作为输出。

Q:如何构建人机共创的评价模型呢?

a6c48079282bb3e27debebc5e881177ca3cb3074

5bdfb1f97ffdae3d52302f8d89fcc3808c162fe3

前序诗句的bigram词袋经过嵌入层之后再经过全链接网络对后一句打分,这个分数可以看作是对每一边的评分,而整诗的评分就是所有边评分个乘积。评分模型可以通过在古诗训练集上学习,同时在使用过程中很容易通过对计算的缓存来加速。

cc0234e542c7b1b8c80dc1c01698a98b26e9d2ca

整个搜索的过程是一个求出最大K路径的问题,每一个路径的打分则通过评分模型完成。搜索过程中,通过剪枝来去除压韵和平仄不相符的路径,最终按照评分排序得到最佳绝句。

这个过程可以从任意一句诗开始,当其中一句诗被修改之后,就可以从它开始重新构建整棵树,然后根据评价模型的结果来推荐后续诗句。

让机器写诗变得更优秀

Q:在写诗这件事上,“为你写诗”如何做到人有我优?

A:从写一句诗到写两句诗的最大挑战在于如何让两句诗的语境相连,也就是说在写第二句诗的时候机器需要知道第一句诗在说些什么,并且承前启后。

语境的延续表现为选择合适的汉字组成合理的诗句,需要解决通顺和达意两个难点,前者可以通过RNN模型解决,后者则需要通过sequence-to-sequence模型来传递前句的意思。

d43f68138aacd73565f5cc9e381a7a1dc3315305

Sequence-to-sequence最早应用于机器翻译领域,而后应用场景拓展到了对话等语言生成任务中。Sequence-to-sequence的基本组成是两个RNN网络:LSTM Encoder网络和LSTM Decoder网络。

Encoder网络的目标是将第一句诗的不同元素都表征成一个实数向量,可以理解为将第一句诗所包含的语义encode到了这些向量中;Decoder网络则更像是一个RNN语言模型,只不过在选取汉字的时除考虑已经写出来的前半句还要考虑Encoder网络的输出。Encoder网络的输出时,通过注意力机制(Attention)来选取前句中的中心意思,以便在生成诗句的时候做到真正的达意。

8559745e1070009e488d96cc8625d37f02a80f0b

我们认为整诗的质量应该是能够通过人机协作共同创作的方式提高的,这和之前的写诗程序有很大的不同。机器的模型再丰富,历史的诗词再高雅,其实都及不上一颗参与其中的真挚的心,所以我们在设计上鼓励用户参与推敲,提供了自由修改诗句的能力。

Q:人机共创的技术应用前景如何?

A:对于语言的理解和生成可以被应用到更广泛的创作场景里。为机器装上“心”,与人协同创作,将为我们人工智能的高峰“文学艺术创作”打开全新的出路,就像AlphaGo的出现,给了职业棋手学习更开天辟地的棋路打开新的空间一样。

567836959049f27f4f1a5d6b156a295b4ce81320

或许不久将来,天猫精灵能成为一个超级输入法,不用你输入每一个想写的字,而是输入一个梗概或者主题,天猫精灵就可以生成一篇对应的文章,再交互式的修改一下就完成了。

AI的价值在于帮助人,不是替代人,人机共创、共赢或许才是未来打开AI的正确方式。


原文发布时间为:2018-08-29

本文作者:人工智能实验室

本文来自云栖社区合作伙伴“阿里技术”,了解相关信息可以关注“阿里技术”。

相关文章
|
1月前
|
人工智能 自然语言处理 搜索推荐
AI时代的新引擎:Geo专家于磊老师深度解析Geo优化中的技术要点
在AI时代,传统SEO正被Geo优化(GEO)重塑。于磊老师提出“人性化Geo”理念,强调E-E-A-T、结构化数据与语义适配,助力企业提升AI引用率,实现获客提效,引领数字营销新变革。
376 159
AI时代的新引擎:Geo专家于磊老师深度解析Geo优化中的技术要点
|
小程序
新闻电影资讯类小程序模板源码
新闻电影资讯类小程序模板源码
2387 5
|
消息中间件 负载均衡 Kafka
【Kafka消费秘籍】深入了解消费者组与独立模式,掌握消息消费的两种超能力!
【8月更文挑战第24天】Apache Kafka是一款高性能的分布式消息系统,支持灵活多样的消费模型以适应不同的应用场景。消息按主题组织,每个主题可划分为多个分区,确保消息顺序性。本文深入探讨了Kafka中的两大核心消费模式:消费者组(Consumer Group)和独立消费者(Standalone Consumer)。消费者组允许多个消费者协同工作,实现负载均衡及故障恢复,是最常用的消费模式。独立消费者模式则适用于需要高度定制化处理逻辑的场景,如消息重放等。通过对比这两种模式的特点和提供的示例代码,开发者可以根据具体需求选择最合适的消费策略,从而更好地利用Kafka构建高效的数据流应用程序。
653 3
|
设计模式 数据可视化 程序员
不会画uml?推荐使用代码画图的工具PlantUml
不会画uml?推荐使用代码画图的工具PlantUml
1229 1
|
NoSQL Java API
SpringBoot项目中防止表单重复提交的两种方法(自定义注解解决API接口幂等设计和重定向)
SpringBoot项目中防止表单重复提交的两种方法(自定义注解解决API接口幂等设计和重定向)
1712 0
|
5G Shell 流计算
【无线网络】下载速度:2G、3G、4G和5G到底意味着什么?
【无线网络】下载速度:2G、3G、4G和5G到底意味着什么?
|
SQL 存储 人工智能
一次中稿10篇EMNLP22,达摩院对话智能团队在研究什么
一次中稿10篇EMNLP22,达摩院对话智能团队在研究什么
一次中稿10篇EMNLP22,达摩院对话智能团队在研究什么
|
机器学习/深度学习 人工智能 达摩院
达摩院技术创新全景|懂你的语音AI
过去十年,语音AI从实验室走向应用,语音搜索、交互早已融入日常。本文将带你一览达摩院语音AI技术创新全景,一起感受能听、会说、懂你的语音AI。
达摩院技术创新全景|懂你的语音AI
|
机器学习/深度学习 存储 自然语言处理
用于构建聊天机器人的灵活实用的 NLU 意图匹配服务器
请注意,此 NLU 引擎仍处于 alpha 阶段。所以,非常适合学习和玩耍。尚未准备好用于任何类型的生产用途。还请记住,该项目正在快速发展,这包括其公共 API。在第一个稳定版本出现之前,任何时候都可能发生重大变化。
433 0