|||
“百家姓”童谣研究
―――机器文学新进展
杨义先
北京邮电大学信息安全中心主任
灵创团队带头人
(一) 背景介绍
计算机真的能独立撰写文章吗?您肯定不相信!虽然,俺正在朝这个目标努力,但是,至今还没有见到曙光,估计在可见的将来也难有重大突破。为此,两年前,我把目标降低为“计算机写微博”[1,3];一年前,再降目标为“计算机写小笑话”[2];如今,再降目标为“计算机撰写特型文章”[4]。终于,在多次降低目标的基础上,最近有了零的突破,比如,文献[4]中的“三言版棋盘格璇玑诗图”就是完全由计算机独立撰写的!特别是,还非常幸运地顺便“降了几个妖,打了几个怪”,比如,破解了“苏轼璇玑图”[5]、破解了“苏蕙璇玑图”[6]、推动了环形回文诗的机器创作[7]、把“百家姓”写活了[8]等。
本文在“计算机撰写特型文章”方面,再“捡一个漏”,虽然其技术含量不高,但是,至少它再一次用例子证明:在特定情况下,计算机确实是可以独立撰写文章的!
(二) 计算机独立创作“百家姓”童谣
世上文章千千万,妇孺皆知者却罕见!朗朗上口的百家姓童谣“赵钱孙李,周吴郑王;冯陈楮卫,蒋沈韩杨;朱秦尤许,何吕施张;……”该算得上是这样的“凤毛麟角”之文章吧。
可是,过去几年,俺始终“骑马找马”:像“百家姓”童谣这样的文章,对计算机来说,简直是小儿科而已,机器完全可以独立撰写!其实,此时,计算机只需要根据用户事先设定的韵律,把选定的姓氏汉字排列出来就行了,而根本不用去考虑被排汉字的“语义”!
下面,以《2011年中国最新姓氏排名》[9]中公布的人数最多的前100个姓氏汉字为例,根据不同韵律要求,请读者们体验一下,完全由计算机独立撰写出来的“文章”到底感觉如何。
(2.1)三言版“百家姓”
(2.1.1)连续韵
所谓连续韵,就是文中的内容是形如“XXA,…”这样的句子的重复排列,其中,“A”是韵字,“X”是其它姓氏字,当然,如果“X”也能够依韵,顺序排列的话,朗读起来更顺口。
三言版连续韵“百家姓”童谣的算法是:计算机根据每个姓氏汉字的音韵,把这100个字分成若干组;选出字数最多的那一个(或多个)组,然后,将这些组中的字依次排进韵字(即,每句三个字中的最后那个字)就行了。对每句中的非韵字,即第1或2个字,也可以如此排列(当然,也可随意排列),直到所有汉字排完为止。比如,下面图1就是完全由计算机独立撰写的三言版连续韵“百家姓”的一个例子:
宋郑杨,孔邓张;洪曾王,龚彭方;董程唐,龙蔡常;钟赖江,熊戴梁;
冯白康,孟史黄;赵施姜,廖石汪;萧李蒋,邵雷韩;姚秦谭,郝尹段;
曹金田,高林潘;毛陈严,刘沈范;侯任袁,周马阎;邱贾万,邹夏钱;
牛魏吴,徐崔武;于韦傅,许何陆;余贺胡,吕薛杜;卢叶苏,郭丁朱;
罗孙顾,谢[始][祖]。
图1:三言版连续韵“百家姓”童谣例子
注:图1中最后两个汉字“始祖”是人工补缺加上的,否则就不齐了。
(2.1.2)间隙韵
所谓间隙韵,就是文中的内容是形如“YYY,XXA;…”这样的句子的重复排列,其中,“A”是韵字,“X”和“Y”是其它姓氏字,当然,如果“X”,特别是每句中的第三个“Y”,也能够依韵,顺序排列的话,朗读起来更顺口。其实,大部分诗都是“间隙韵”的。
三言版间隙韵“百家姓”童谣的算法是:计算机根据每个姓氏汉字的音韵,把这100个字分成若干组;选出字数最多的那一个(或多个)组,然后,将这些组中的字依次排进韵字(即,每句六个字中的最后那个字)就行了。对每句中的非韵字,特别是第3个字,也可以如此排列,直到所有汉字排完为止。比如,下面图2就是完全由计算机独立撰写的三言版间隙韵“百家姓”的一个例子:
宋郑韩,吴高杨;龙毛范,杜邓梁;孔曾谭,武彭张;钟程袁,苏蔡江;
洪赖段,傅戴王;熊白阎,朱金唐;龚林田,胡尹方;冯秦万,顾石姜;
董史潘,陆施黄;孟李钱,卢雷汪;赵陈严,吕沈常;姚任邱,余孙蒋;
廖魏刘,许崔康;郝韦邹,于郭贾;萧罗侯,徐何夏;曹贺牛,薛叶马;
邵丁周,谢[大][家]。
图2:三言版间隙韵“百家姓”童谣例子
注1:图2中最后两个汉字“大家”是人工补缺加上的,否则就不齐了。
注2:与图1相比,图2读起来就显得“拗口”多了,这就提示了人对韵律感觉的一个共性,这也将是“计算机撰写百家姓童谣”的一个潜在应用(下节将特别叙述)。
注3:“诗”更适宜于“间隙韵”(而不是连续韵),但是,“百家姓”童谣却相反,其原因可能是:每句诗都是有语义的,而在韵律的限制下,“百家姓”的每句童谣都无语义,除非放弃韵律,否则不可能把“百家姓”写活[8]。
(2.2)四言版“百家姓”
(2.2.1)连续韵
为简捷计,我们直接给出完全由计算机独立撰写的四言版连续韵“百家姓”童谣例子(见图3),其算法与(2.1.1)节一样,不在此复述。
白吴宋杨,戴武孔张,赖傅洪王,蔡陆龚方,陈胡董唐,沈杜龙常,
任苏钟江,马朱熊梁,贾顾冯康,夏郑孟黄,金邓赵姜,林曾廖汪,
尹彭萧蒋,韦程邵韩,崔吕姚谭,魏卢郝段,何于曹田,贺许高潘,
叶余毛严,谢徐刘范,薛李侯袁,罗雷周阎,郭施邱万,孙史邹钱,
丁石牛秦。
图3:四言版连续韵“百家姓”童谣例子
(2.2.2)间隙韵
为简捷计,我们直接给出完全由计算机独立撰写的四言版间隙韵“百家姓”童谣例子(见图4),其算法与(2.1.2)节一样,不在此复述。
吴宋郑杨,赵刘史韩;陆董彭张,郝邱雷严;武孔邓王,廖侯施谭;
杜龙程蒋,曹邹石范;顾洪曾方,萧周李段;苏钟冯姜,高牛金袁;
傅龚孟唐,邵蔡尹田;朱熊马黄,毛戴林阎;胡陈贺常,姚赖罗潘;
卢孙何汪,于白郭万;吕薛崔江,徐沈贾钱;余谢韦康,叶任夏秦;
许丁魏梁。
图4:四言版间隙韵“百家姓”童谣例子
注1:将图4与众所周知的“百家姓”童谣(赵钱孙李,…)相比,图4的可读性显得无比低劣。仔细分析后,本人觉得,不是图4不好,而是后者的“先天优势”太强了,因为,每位中国人早已将它烂熟于胸,所以才朗朗上口。我相信,如果让外国人来阅读图4和间隙韵的古文“赵钱孙李,…”,那么,差别将完全消失。
注2:图3显然比图4“顺口”,其理由已在图2的注记中给出过了。
(2.3)五言版“百家姓”
(2.3.1)连续韵
为简捷计,我们直接给出完全由计算机独立撰写的五言版连续韵“百家姓”童谣例子(见图5),其算法与(2.1.1)节一样,不在此复述。
李郑赵韩杨,史邓廖谭张,施曾萧段王,石彭邵田方,谢程姚潘唐,
叶蔡郝严常,薛赖曹范江,马戴高袁梁,贾白毛阎康,夏熊刘万黄,
郭冯侯钱姜,罗孟周吴汪,魏沈邱傅蒋,雷任邹武宋,贺陈牛胡孔,
何金徐陆洪,韦林许杜龚,崔尹于苏董,卢秦吕朱龙,孙丁余顾钟。
图5:五言版连续韵“百家姓”童谣例子
注:五言版连续韵的“百家姓”童谣读起来还是勉强可以接受的,但是,经测试,六言版(或更多“言”)的“百家姓”童谣(无论是“连续韵”还是“间隙韵”)读起来就很难受了,除非读者有特殊的天分。
(2.3.2)间隙韵
为简捷计,我们直接给出完全由计算机独立撰写的五言版间隙韵“百家姓”童谣例子(见图6),其算法与(2.1.2)节一样,不在此复述。
吴宋刘史杨,赵郑秦何谭;武董邱施张,廖孟尹贺段;
傅孔侯李王,萧邓林叶田;胡龙邹雷方,邵彭金陈潘;
陆洪周石唐,姚曾蔡沈严;杜钟牛魏常,郝程赖任范;
苏龚徐孙江,曹冯戴夏袁;朱熊许丁梁,高贾白蒋万;
顾卢于薛康,毛阎姜崔钱;郭吕余谢黄,罗韦马汪韩。
图6:五言版间隙韵“百家姓”童谣例子
注:图6阅读起来已经比较费劲了。由此可见,古人用四言版来写“百家姓”还是很聪明的,不过,也许古人用四言版的“连续韵”,甚至用三言版的连续韵(或间隙韵),也许效果会更好。
(三) 潜在应用
完全由计算机来独立地撰写“百家姓”童谣,这件事情轻而易举,显然没有技术含量。如果这类“文章”再没有任何别的(潜在)应用,那么,就没有研究价值了。幸好,本人觉得,用计算机随心所欲写出来的“百家姓”童谣其实可用作“验韵器”!
为解释“验韵器”的概念,让我们先归纳一些流行事件:“鸟叔”的骑马舞为何风靡全球?为什么大家都喜欢《最炫中国风》这样的“神曲”?为什么有些经典名句(比如,“生存还是死亡,这是个问题”)能够引进所有人种的共鸣?虽然我们无法准确回答这些问题,但是,可以肯定的是:人类一定有某些共性的,而且至今无法精确描述的“愉悦感觉”。如果某位作曲者碰巧暗合了人在音乐方面的某种“愉悦感觉”,那么,一首神曲便诞生了!在韵律方面,人也应该有这样的“愉悦感觉”,而“验韵器”便是对某种韵律进行验证的“文章”,看看它是否暗合了“愉悦感觉”的韵律,就像一边作曲,一边用钢琴来验音一样。
各种韵律的“百家姓”童谣为什么就能够用作“验韵器”,或是“验韵器”的主体呢?最后我们就来试图回答这个问题。
汉字共有400多个“音”,经统计分析后发现,从绝大部分的“音”中都能够找到至少一个姓氏汉字,比如,Yang音对应于“杨”等,因此,各种韵律的姓氏“百家姓”童谣就能够很好地覆盖千变万化的“韵律谱”。其实,真应该有人以“百家姓”的姓氏为基础,建一个汉字音库(对姓氏未覆盖的音,要选一个汉字来补充),然后,用上述的“百家姓”童谣撰写算法,根据“作家”们的需要,计算机自动编写出一些韵谱,然后,“作家”再一一验证这些韵谱,从中找出能够激发自己“愉悦感觉”的韵谱来,从而产生某些“神文”。
当然,必须承认,经典名句不仅仅依赖于其“韵律”,更主要是因为其“意境”。但是,不可否认,如果“韵律”方面都让人读起来很难受的话,这样的句子成为“名句”的可能性是很小的!
(四) 参考文献
[1] 杨义先,技术文学初探(1),
http://blog.sciencenet.cn/blog-453322-620434.html
[2]杨义先,技术文学初探(2),
http://blog.sciencenet.cn/blog-453322-620437.html
[3] 杨义先,封笔微博正命题,
http://blog.sciencenet.cn/blog-453322-463538.html
[4]杨义先,棋盘格璇玑图研究(完整版),
http://blog.sciencenet.cn/blog-453322-666253.html
[5]杨义先,破解苏轼璇玑诗图,
http://blog.sciencenet.cn/blog-453322-660604.html
[6]杨义先,破解史上最难璇玑图,
http://blog.sciencenet.cn/blog-453322-667745.html
[7]杨义先,环形回文诗―――机器文学新进展,
http://blog.sciencenet.cn/blog-453322-658059.html
[8]杨义先,把“百家姓”写活,
http://blog.sciencenet.cn/blog-453322-661161.html
[9]2011年中国最新姓氏排名,http://www.douban.com/group/topic/22595209/
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-20 15:34
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社