另:清朝有壹位進士,名叫孫洙,此人為官才華有限,最高做到知縣壹級(七品),便止步不前。不過,與多數考取功名之後的讀書人壹樣,壹旦解決衣食問題,就希望做點兒能夠流芳百世、光宗耀祖的事情。
問題在於,文人在清朝本身就不太有地位(巨匠曹雪芹也難逃窮困潦倒而逝的命運),所以即使在鄉野間有著“書循歐陽詢,詩追杜工部”的美名,孫洙的舞文弄墨,也沒有造成多大影響。
但是,孫洙“流芳百世”的願望,最後還是實現了,因為對盛唐詩詞極為推崇的他,和自己的夫人壹起,編制了壹本摘錄和註釋唐詩的家塾課本,這部課本,就是流傳至今的《唐詩三百首》。
孫洙的選詩標準是“因專就唐詩中膾炙人口之作,擇其尤要者”,後世還以《唐詩三百首》為內容出現過許多註釋本,時至今日,仍是啟蒙唐詩文化的重要作品。
而在《唐詩三百首》的序中,孫洙如此描述這部作品的意義:“熟讀唐詩三百首,不會作詩也會吟”。
了解私塾教育的人可能也都有同樣的感受,那些可能根本沒有人生經歷的兒童,只要每天搖頭晃腦的背誦各種唐詩,壹段時間之後,讓他們獨立作詩,有些佼佼者也能出口成章個八九不離十。為什麽經歷反復的閱讀和背誦,就能夠給人賦予“不會作詩也會吟”能力,而這是否有違文學藝術所重視的靈性?所謂“詩人”,是否可以加以系統的訓練出來?
北京郵電大學信息安全中心(沒錯,這就是方校長所在的那所大學,其“信息安全中心”大概也難逃罪責,此時讓我們暫且就事論事,不去計較這所學府的齷蹉往事)有壹名教授,名叫楊義先,他公開了壹篇題為《出詩表——機器文學新進展》的科研報告,既用計算機的能力,揭開了“熟讀唐詩三百首,不會作詩也會吟”的秘密。
下面是這篇報告的全文:
摘要
借力“大數據”,我們雖不能讓啞巴說話,但確實可以讓文盲寫詩,而且,只需壹分鐘!不信?請讀此文!(當然,為了讓文、理、工、農、醫等各科讀者都能夠讀懂,我們只在此敘述原理和實例)
(壹)前言
機器文學的最終目標是:用機器創作文學作品!初聽起來,好像不靠譜,但是,到目前為止,機器已經可以進行(或輔助)壹些特殊的文學創作,比如,撰寫史上最牛的千字文[1],破解史上最難璇璣圖[2],撰寫同音文[3],研究“影文”[4]和語言動力學[5]等。
事實證明,規矩越多的文學體裁,就越適合於計算機發揮其特長。對“平仄”和“押韻”有嚴格要求的五言和七言詩,也許要算“規矩很多”的文體了吧,因此,本文就來研究如何用機器創作律詩。(註:本文的研究思路和方法完全適用於“機器撰寫各種詞牌名的詞”,但是,由於詞牌名太多,超過壹千個,而且每首詞的字數也不少,對我這個“詩盲”來說,要想建設相關的“意境庫”就太難了,所以,本文不考慮這些“詞”)
(二) 五言絕詩“出詩表”
2.1)仄起五絕首韻“出詩表”實例
仄起五絕首韻出詩表的結構如下表1.1所示:
表1.1 (仄起)五絕(首韻)出詩表
基於上述的表1.1,任何傻瓜都可以按如下兩步輕松寫詩:
第壹步,任意選取壹個八位數,比如,毛澤東的生日18931226,然後,把該數代替表1.1中的X1X2X3X4X5X6X7X8,於是,獲得了如下的表格1.2:
表1.2 “毛澤東生日”所對應的出詩表
第二步,從表1.1的第Xi列中,選取第i組文字串(“2字串”或“3字串”),並把這些“字串”串接起來就行了。比如,在表1.2中,就應該從第1、2、3、4、5、6、7、8列裏,分別取出第1、8、9、3、1、2、2、6個“字串”(見表1.2中的紅字部分),最後,串接起來的文字便是如下五言絕詩:羞玉竟不還,西湖哀苦寒;鳳樓留不住,夜郎醉不眠。
讀者可以自行用本人的生日數字來輕松寫詩。為了增加趣味性,我們再舉幾個例子:
數字π=3.1415926,從表1.1所對應的詩是:窈窕未曾看,梅花水月牽;水晶凝望久,夜郎醉不眠。
根號2=1.4142135,從表1.1所對應的詩是:羞玉水生煙,燕然覺夜寒;故情人不見,多苦老紅顏。
***和國的生日19491001,從表1.1所對應的詩是:羞玉貴鄉還,梅花不可攀;鳳樓都莫問,遠憶晚妝殘。
八寶山的電話號碼88259666,從表1.1所對應的詩是:傷別竟不還,芙蓉嬉笑牽;相思腸斷處,無限醉不眠。
黃金分割數0.6180339,從表1.1所對應的詩是:回首暗無邊,燕然流淚泉;當年追往事,多苦涕衣沾。
遞增數列12345678,從表1.1所對應的詩是:羞玉斬樓蘭,鴛鴦覺夜寒;水晶腸斷處,寂寞蔽青天。
關於五言絕詩,除了表1.1所述的“仄起五絕首韻”之外,還有其它的壹些格律,比如,下壹小節2.1)所述的“平起五絕首韻”、“仄起五絕首句不入韻”和“平起五絕首句不入韻”等四種情況。為了節省篇幅,我們僅再述壹個“平起五絕首韻”的出詩表例子。
2.2)平起五絕首韻出詩表實例
平起五絕首韻出詩表的結構如下表1.3所示:
表1.3 (平起)五絕(首韻)出詩表
若借助表1.3,那麽,仿照前面的方法,我們可以得到
毛澤東的生日18931226對應的詩是:炎涼指波瀾,不似通人煙;桃李君知否,天涯繡木蘭。
數字π=3.1415926對應的詩是:多情水月牽,依舊若浮煙;蕭颯天長久,天涯繡木蘭。
根號2=1.4142135對應的詩是:炎涼樂世間,遙看亂紫煙;杳渺人間世,微茫豈敢安。
***和國的生日19491001對應的詩是:炎涼流雪山,依舊跳白猿;桃李空回首,蒼生羞長安。
黃金分割數0.6180339對應的詩是:嫦娥醉上山,遙看去不還;半落誰知道,微茫傷別年。
八寶山的電話號碼88259666:淒淒指波瀾,風雨同交歡;何事斜陽處,香爐繡木蘭。
遞增數列12345678對應的詩是:炎涼夢日邊,流水亂紫煙;蕭颯斜陽處,無花怒上天。
(三)五言律詩“出詩表”
與“五絕”類似,“五律”格律詩也有四類:“仄起五律首韻”、“平起五律首韻”、“仄起五律首句不入韻”、“平起五絕首句不入韻”等四種情況。為節省篇幅,我們也僅僅敘述壹個例子,即“仄起五律首韻”出詩表,見下表1.4所示:
表1.4 (仄起)五律(首韻)出詩表
與前面的表1.1類似,此處的表1.4也可以讓任何傻瓜按如下兩步輕松寫詩了:
第壹步,任意選取兩個八位數(或者壹個16位數),然後,把它們分別代替表1.4中的X1X2X3X4X5X6X7X8和Y1Y2Y3Y4Y5Y6Y7Y8;
第二步,從表1.4上半部分的第Xi列中,選取第i組文字串(“2字串”或“3字串”),並把這些“字串”串接起來就得到了五律詩的前面四句;從表1.4下半部分的第Yi列中,選取第i組文字串(“2字串”或“3字串”),並把這些“字串”串接起來就得到了五律詩的後面四句,於是,五律的全詩就完成了。
比如,毛澤東和江青的生日分別是18931226、19140317,那麽,將它們放入表1.4中,就應該從上半部分的第1、2、3、4、5、6、7、8列裏,分別取出第1、8、9、3、1、2、2、6個“字串”,將它們串接起來的文字便是如下五言律詩的前四句(雨落待明年,孤房清且安;花落空悵望,久坐難追攀),然後,從下半部分的第1、2、3、4、5、6、7、8列裏,分別取出第1、9、1、4、0、3、1、7個“字串”,將它們串接起來的文字便是如下五言律詩的後四句(罷笑孤帆影,思君亂紫煙;紅妝留不住,忽憶侍軒轅)。將這前面各四句串起來,就完成了全詩:雨落待明年,孤房清且安;花落空悵望,久坐難追攀;罷笑孤帆影,思君亂紫煙;紅妝留不住,忽憶侍軒轅。
數字π=3.1415926 53589793對應的詩是:買醉指長天,玲瓏豈敢安;從君不得意,久坐難追攀;百草怎知道,飄零萬事閑;沈吟如兩忘,美酒卷珠簾。
根號2=1.4142135 62373095對應的詩是:雨落願年年,松鳴羞玉顏;采薇遙相望,素手送君還;黃鳥須知道,珠璣了不閑;隱然空相待,美酒奉瓊筵。
黨和***和國的生日19210701、19491001對應的詩是:雨落照當年,幽哀豈敢安;長歌凝望處,流水亦不還;罷笑孤帆影,腰肢長空閑;幾何空相待,邀我落興酣。
黃金分割數0.6180339 88749894對應的詩是:今古想當年,松鳴盡欲言;長歌離別處,素手好廬山;淺畫星芒盡,千春亂紫煙;從君君不見,美酒笑折旋。
鏡像數列12345678 87654321對應的詩是:雨落掃青天,君情羞玉顏;從君回首處,遙寄空登攀;淺畫啼不盡,天涯寫遠川;長歌留不住,莫洗落興酣。
八寶山的電話號碼88259666、88259777:香袖待明年,幽哀多苦顏;織錦回首處,眷我難追攀;淺畫星芒盡,霜衣寫遠川;從君如兩忘,醉後侍軒轅。
(四)七絕“出詩表”
與五言類似,七言格律詩也分為“七言絕詩”和“七言律詩”,它們又可再細分為“仄起首韻”、“平起首韻”、“仄起首句不入韻”和“平起首句不入韻”等情況。但是,從基於大數據的“出詩表”角度來看,它們的原理都是壹樣的,因此,為了節省篇幅,我們僅給出如下表1.5中的(仄起)七絕(首韻)“出詩表”:
表1.5 仄起七絕首韻“出詩表”
與前面的表1.1類似,此處的表1.5也可以讓任何傻瓜按如下兩步輕松寫詩了:
第壹步,任意選取兩個六位數(或者壹個12位數),然後,把它們分別代替表1.5中的X1X2X3X4X5X6和Y1Y2Y3Y4Y5Y6;
第二步,從表1.5上半部分的第Xi列中,選取第i組文字串(“2字串”或“3字串”),並把這些“字串”串接起來就得到了七絕詩的前面兩句;從表1.5下半部分的第Yi列中,選取第i組文字串(“2字串”或“3字串”),並把這些“字串”串接起來就得到了七絕詩的後面兩句,於是,七絕的全詩就完成了。比如,
數字π=3.14159 265358對應的詩是:窈窕愁絕方未還,綠煙風雨兩相歡;故情楊柳空惆悵,梅梢瀑布傷別年。
鏡像數列123456 654321對應的詩是:羞玉池花夜已殘,玉階風雨話孤眠;畫屏春色落花絮,梅梢悲鳥愁空山。
黃金分割數0.61803 398874對應的詩是:美酒瑤泉落九天,浣紗白兔拜龍顏;染香芳樹難忘酒,絕艷風景望遠山。
根號2=1.41421 356237對應的詩是:羞玉嫦娥落九天,玉階憔悴似真仙;染香春色傷心碧,鶯羽幾度入遠山。
(五)原理淺析
古人早就發現了這樣壹個“事實”:熟讀唐詩三百首,不會吟詩也會吟!但是,古人並不知道,這個“事實”的基礎就是現在風靡全球的“大數據”。通過熟讀眾多詩詞,人們便在頭腦中無意識地建立起了針對各種意境的“字串庫”,然後,在需要時,觸境生情把庫中現成的“字串”取出來,就拼接成詩了。
借助“大數據”的各種整理和挖掘技術,針對相關的意境,遵守事先約定的各種平仄格律等要求,完全可以為每個用戶獨立地建設和維護壹個專用的“意境庫”。比如,若選取“愛情”為“意境”,那麽,利用“大數據”就可以收集人類在愛情的各種情況下(熱戀中、失戀中、暗戀中……)都會有什麽話語,至少可以收集詩人們的同類現成詩詞,對這些“話語”經過機械加工,即按平仄音韻等條條框框來改造,於是,基礎“意境庫”就完成了。當然,在每個人的使用過程中,“大數據”還可以根據用戶的愛好和習慣和“意境庫”進行精細化處理,使得每個人,以傻瓜方式“寫”出來的詩,也具有個性特點。其實,本文中的表1.1至1.5中每列的內容就是各種“意境庫”,我們把它們以“死的方式”(不是以軟件程序方式)表現出來的目的是:讓讀者可以更加直觀地了解“傻瓜寫詩”的原理。所以,“出詩表”軟件真正面市後,它的操作就只需要用戶隨機輸入相關的數串就行了。
“機器能夠寫詩”的另壹個原因是:人其實是很容易被“騙”的,當妳先申明某個字串是詩時(即,把相關的心理暗示傳遞給了讀者),人們就會努力去想像這些字串中的“詩意”,那怕這些字串其實是“狗屁不通”。這種“主動受騙”的現象很少出現在閱讀散文、小說等其它文章的過程中。
“大數據”的神威其實早就被廣泛利用了,比如,大家熟知的“搜狗輸入法”,就采用了搜索引擎技術,從網絡的“大數據”中迅速找到“熱詞”或用戶自己個性化常用詞,於是,機器好像就能夠預知妳的心思,提前把妳要的詞展現出現,使得輸入速度、詞庫廣度、詞語準確度等方面都有了實質性的提高。又比如,谷歌公司最近推出壹種嶄新的機譯方法:將語言翻譯變成向量空間數學問題,利用數據挖掘技術建模壹種語言的結構,然後與另壹種語言的結構進行對比,從而擴充和完善現有的雙語語料庫,於是,徹底顛覆了語言翻譯的基本思路。
甚至有人預言,隨著“大數據”的迅速發展,今後,妳不必學醫就能夠診病並開處方了(當然,外科手術還得由專門的醫生來實施)。
總之,用“大數據”來寫詩,特別是寫那些清規戒律很多的“格律詩”,其實應該是意料之中的事情。歡迎各位網友八仙過海,研究出更多的“機器寫詩系統”,由於本人是“詩盲”,因此,相關的“意境庫”肯定粗制濫造,希望不要誤導大家。