今天,被一篇《这大概就是娱乐圈所谓的千古绝对了吧》刷了屏,文章大概是这样的:
un
下面有评论点出了此联的特点:
上联是存在规律的三个名人的名字,第一个人名的后两字与第二个人名前两字相同,与第三个人名的倒序相同;其中前两个是真实人物,中间的是虚拟人物。那么是不是可以通过编程,筛选出一部分可能的答案,进而为对出下联提供参考呢?
基于以上设想,采用了以下思路进行尝试:
爬虫抓取名人姓名
将人名分为两字和三字
按照规律迭代人名,找出符合规律的组合
由于代码很简单,就不贴上来了,直接上结果:
不考虑谐音:
由于没有找到比较合适的虚拟人物数据源,所以,所有人名都是现实中的明星,数据量3000。数据集的不完整让我对结果有着一种不好的预感。果然,最后除了上联之外,程序没有找到其他符合规律的组合:
由于上联第二个人为虚拟人物,而本次的数据集没有虚拟人物,我把第二个人名的限制去掉,得到了以下结果:
可惜本人才疏学浅,实在想不出馨尹X,雪杨X,子珊X能找到哪些名字对应,而且明道可解释为明白道理,尹馨是没什么实际含义的呢,杨雪解释成扬起雪花还好,珊子....扇自己的孩子么,不合适。
考虑谐音:
上联的规律是不包括谐音的,考虑谐音其实已经降低下联的水平,但是不考虑谐音也着实没有找到合适的下联,所以还是对谐音的情况进行了一次筛选:
看着不少,仔细分析却发现这些“下联”与上联相比,完全不在一个层次,要么是缺少意义,要么是人名完全没听过。就不再多做分析。可见,对于这个程序而言,这个上联着实算得上“绝对”。
领取专属 10元无门槛券
私享最新 技术干货