[discovery] 微软亚洲研究院 电脑对联

以下摘自官网说明:

微软对联是由微软亚洲研究院自然语言计算组研发的计算机自动对联系统。当用户给定上联,它能够自动提供若干下联供用户选择; 并且当用户确定一副对联后,它还能够生成若干四字横批供用户参考。

网页链接戳这里:微软亚洲研究院 电脑对联

目前新增有绝句功能:微软亚洲研究院 律诗绝句

(PS: 绝句功能的原理其实和对联功能区别不大,仍然是根据对应位置字义来的。无非是给一个上联对出三句下联罢了)

 

记得很多年前在《科幻世界》上看到过一篇小说,说的是有人用写诗机器生成了一首诗,并且参加文学比赛得了奖。在最后的颁奖典礼上,当他朗诵这首诗歌时,台下观众纷纷表示赞赏。而当他说出“这首诗其实是用机器生成的”时候,愤怒的观众马上把这首诗贬得一文不值。

而现在,微软真的给出了一个电脑对联系统。

关于此对联系统的文学水平,豆瓣上有人给出了两篇很有意思的测试:

微软vs黄庭坚

第二弹:微软vs李商隐

(作者豆瓣ID: @是猎心孤独手的)

 

我是外行人,关于此对联系统的算法,大概猜测是录入海量古诗词,然后在给出上联之后,将其拆分成多个block,然后寻找与每个block最匹配的词(即在样本库的相对位置出现最多的词语)。接下来将这些词语进行组合,筛选出语义通顺的组合作为最终结果展现给用户。、

举个例子:

上联:七八个星天外。

1) 系统拆分成“七八” + “个 + 星”+“天 + 外”。其中:七八->数字 个->量词 星->名词 天->名词 外->副词;“七八个”是修饰“星”的,“外”是修饰“天”的。

2)对每一部分寻找匹配的对应词语。比如“七八”可以对“两三”,“万千”;“个 + 星”可以对出 “杯 + 酒”, “轮 + 月”; “天 + 外”可以对“江 + 南”,“水 + 中”;等等。

3)词语组合成句,并按通顺程度(作者个人猜测)排序给出结果。

 

这个对联系统的缺点也十分明显:只能对出漂亮工整的对子,而无法给出有思想有内涵的下句。对联内容也十分具象,无法给出新颖的类比。并且无法领会句子中不同位置的词的呼应关系。比如上联给“国破山河在”,系统的下联会给“风穿岁月生”,“春来神州存”等等,就缺乏了一份厚重感。而对于“七八个星天外”这种浅显清晰的句子,可以对出“两三杯酒江南”这样流畅的下联。

另外,系统经常会直接给出原作者的下联。比如我给“草枯鹰眼疾”,系统返回的第一结果就是“雪尽马蹄轻”。总觉得算法应该过滤掉原作。。

 

彩蛋:

由于是“对联系统”,所以对古诗词中的“非对仗句子”,它是不会给出原作者的下句的。于是就有了。。。

两岸猿声啼不住,一枝红杏出墙来。

 

毫无违和感!

发表评论

电子邮件地址不会被公开。 必填项已用*标注