前言
最近,ChatGPT上线了根据文字描述作画的功能。我想请它帮助我画出那些我最喜欢的诗词呈现的意境,顺便测试一下它的能力。我没有使用复杂的prompt,只是给出诗句,然后请它创作一幅符合这首诗内容的画。在它的创作与原诗风格差异过大时,我会稍微加一些prompt,比如“宁静”、“静谧”、“山水画风格”等等。在这样简单的设置下,如果用一句话来总结ChatGPT的画作特点,那就是“计算诗歌”。它会下大力气去突出展示那些最明显的内容,去堆砌融合诗词中出现的实体,但是对于风格,诗歌的意境、背景,诗人的情绪等隐性内容的捕捉,就不是那么在行了。当然,这与我给的prompt相当少有很大关系。一幅充分表达作者意图的画,通常需要用精确的词汇组合来表达,Midjourney上已经有很多这样的例子。
无论如何,我挺满意ChatGPT的生成结果。下面分享一下它针对六首诗词生成的画作。这六首诗词分别是:
- 唐代诗人温庭筠的《商山早行》
- 近代儒学大师马一浮的《旷怡亭口占》
- 唐代诗人张继的《枫桥夜泊》
- 元代诗人唐珙的《题龙阳县青草湖》
- 南宋词人辛弃疾的《西江月·夜行黄沙道中》
- 南宋词人陆游的《临安春雨初霁》
商山早行
晨起动征铎,客行悲故乡。
鸡声茅店月,人迹板桥霜。
槲叶落山路,枳花明驿墙。
因思杜陵梦,凫雁满回塘。
本诗解读来自古诗文网1:
黎明起床,车马的铃铎已震动;踏上遥遥征途,游子悲思故乡。鸡声嘹亮,茅草店沐浴着晓月的余晖;板桥弥漫清霜,先行客人足迹行行。枯败的槲叶,落满了荒山的野路;枳花鲜艳地开放在驿站的泥墙边。回想昨夜梦见杜陵的美好情景,一群群鸭雁,正嬉戏在岸边的湖塘里。
下面是ChatGPT第一次生成的图画:
联系温庭筠的生平,并考虑到首句的一个“悲”字,我认为第一幅图并不能很好地表达诗情,于是对prompt稍作修改,得到了第二幅画:
旷怡亭口占
流转知何世,江山尚此亭。
登临皆旷士,丧乱有遗经。
已识乾坤大,犹怜草木青。
长空送鸟印,留幻与人灵。
本诗解读来自知乎问答2:
经历世事变迁到当今时代,山河之间依然还立有这个亭子。登上亭子的都是胸襟开阔之士,虽然经历了死亡祸乱,依旧存有古时留传下来的学识。虽然我们已经见识过天地时事的广阔,当看到草木青青之景依然心生喜爱。其实鸟飞过空中没有留下任何痕迹,但是人却看到并记住了飞过的景象。
同样,我也让ChatGPT为这首诗生成了两幅图画。第一幅其实已经“到位”了,但我觉得在表达上稍稍有点“过”:
第二幅少了一些东西,但是我也同样喜欢:
枫桥夜泊
月落乌啼霜满天,
江枫渔火对愁眠。
姑苏城外寒山寺,
夜半钟声到客船。
本诗解读来自古诗文网3:
月亮已落下,乌鸦啼叫,寒气满天,面对江边枫树与船上渔火,我忧愁难眠。姑苏城外那寒山古寺,半夜里敲响的钟声传到了我乘坐的客船。
第一幅画已经很棒了:
然而,“江枫”、“渔火”和“客船”似乎没有很好地表现出来,于是有了第二幅:
题龙阳县青草湖
西风吹老洞庭波,
一夜湘君白发多。
醉后不知天在水,
满船清梦压星河。
本诗解读来自古诗文网4:
秋风飒飒而起,广袤无垠的洞庭湖水,泛起层层白波,一夜愁思,湘君也多了白发。醉卧扁舟,只见一片星光璀璨的世界,似幻似真、缥缈迷离。不知道是天上的星辰倒映在水中,还是我身处梦境呢?
ChatGPT为这首诗作的画完全在我意料之外,别具一格。我想,人类研究AI打败李世石的那盘围棋比赛时的想法也差不多吧——意外但有效:
西江月·夜行黄沙道中
明月别枝惊鹊,清风半夜鸣蝉。稻花香里说丰年,听取蛙声一片。
七八个星天外,两三点雨山前。旧时茅店社林边,路转溪桥忽见。
本诗解读来自古诗文网5:
皎洁的月光从树枝间掠过,惊飞了枝头喜鹊,清凉的晚风吹来,仿佛听见了远处的蝉叫声。田里稻花飘香,蛙声阵阵,似乎在告诉人们今年是一个丰收年。天边几颗星星忽明忽暗,山前下起了淅淅沥沥的小雨。往日的小茅草屋还在土地庙的树林旁,道路转过溪水的源头,它便忽然出现在眼前。
这首诗的画作不错,风格是比较接近的,虽然还是有一些用力过猛的地方,比如月亮和星星(不足之处:电线杆):
临安春雨初霁
世味年来薄似纱,谁令骑马客京华。
小楼一夜听春雨,深巷明朝卖杏花。
矮纸斜行闲作草,晴窗细乳戏分茶。
素衣莫起风尘叹,犹及清明可到家。
本诗解读来自古诗文网6:
这些年世态人情淡薄得似纱,谁又让我乘马来到京都作客沾染繁华?住在小楼听尽了一夜的春雨淅沥滴答,明日一早,深幽的小巷便有人叫卖杏花。铺开小纸从容地斜写着草书,在小雨初晴的窗边细细地煮水、沏茶、撇沫,试品名茶。不要叹息那京都的尘土会弄脏洁白的衣衫,清明时节还来得及回到镜湖边的山阴故家。
意料之外,这一次ChatGPT选择生成了拼接起来的多幅图画,颇有意思(不足之处:背景中的高楼大厦):