天天看點

[Literature]“東風何處是人間”:網友算出99個宋詞常用語 圓周率可填詞

你羨慕那些出口就會吟詩的文人嗎?現在可以不用再羨慕他們了!因為一位網友“yixuan”閑來無事,把《全宋詞》拿出來“搗鼓”,算出了其中的99個高頻詞彙。熟記這些高頻詞,你就可以随性所欲進行創作了!你還可以用“無序”的數字來創造一首“美妙絕倫”的宋詞,圓周率也可以哦!

簡化宋詞就是“東風何處在人間”  

署名為“yixuan”的網友在個人部落格裡寫道:“突然想看看宋詞裡面什麼樣的意象是最常見的,比如可以做個頻率分析什麼的。當然文本挖掘需要分詞,我沒法在其中花太多時間,于是想出了一個土辦法。宋詞的句子都很短,如果窮舉可能的字的組合的話并不是太多,況且最常見的詞語一般是兩三個字,這樣可能的組合就更少了。”比如“猶解嫁東風”這句話,可能的二字組合是“猶解”“解嫁”“嫁東”“東風”,三字組合是“猶解嫁”“解嫁東”“嫁東風”,詞的字數越多,可能的組合就越少。如果把每句話可能的字的組合都列舉出來,就可以整體統計頻率了。”大家一緻分析這位網友一定是個理科生。

随後, “yixuan”貼出了他算出來的高頻詞,排在前面的分别是:

1、1485 

2、東風(1382)

3、何處(1230)

4、人間(1202)

5、風流(857) 

6、歸去(812)

7、春風(802)

8、西風(779)

9、歸來(771)

10、江南(765)

……

至于為什麼第一名是數字,他解釋:“排在第一的是無效字元,這跟資料源有關。”

這個結果一出來,一位網友就一語道破了“玄機”,“原來,最流行的宋詞就是‘東風何處在人間’啊!” 

生日、手機号 随意組合都很美

還有更絕的呢!署名為“達芬奇的雞蛋”的果殼網友不知怎麼地,就想到了拿大家都會背一點的圓周率進行創作,兩個數字一斷,對照高頻詞表,一首“華麗麗”的詞就出來了!還附上了說明,特别像模像樣。

達芬奇的雞蛋 @ 果殼

清平樂·圓周率

回首明月(一看就是抒情詩)

14 15

悠悠心事空(果然,貌似失戀了)

92 65

西湖何事寂寞中(觸景生情)

35 89 79

風吹斜陽匆匆(回憶那天下午的豔遇)

32 38 46

芳草平生斜陽(平生見過最美的太陽和芳草,都是因為那裡有你的身影)

26 43 38

風吹寂寞今日(到現在就剩我自己)

32 79 50

一枝富貴年年(好花美麗年年開,好景宜人不常在)

28 84 19

斷腸長安不知(我的思念遠方的你可知道?)

71 69 39

如夢令·根号二

深處時節千裡(過了許多年,男豬腳來到了很遙遠的地方)

41 42 13

消息當年鴛鴦(這。。找老相好去了?)

56 23 73

歸來今日(妹子,我胡漢三回來啦)

09 50

一點無情多少(你還知道來看我啊!)

48 80 16

今夜,今夜(要出問題了。。。)

88 88

而今時節歸來(仿佛重回當年,男豬腳依然那麼堅挺)

72 42 09

看完這首詩,網友們一邊膜拜,一邊自己的創作靈感也被打開了。

“丘寒”留言道:“試着用某個号碼創作了一首:天上相思,芳草年年,昨夜江南,回首一笑多情。”

“零Ronnie”很有創作激情:“我的生日:年年江上,江南春風;我的手機号:明月芳草去年,江南闌幹歸去……還真挺上口的!我也能做詩人了哈哈!” 

理科生歡呼:消滅文科生的日子來了

可是這麼一來,文科生又不淡定了,一群文科生跳起來反擊。

“雯名霞迩”大叫:“統統拖出去,斬了!這讓學中文的人情何以堪啊!”

“Rockfish”代表理科生還擊:“理科宅男們消滅文科生的日子到來了!拿起你的電腦,消滅文藝青年吧!”

“可可”童鞋呼喚:“就讓科技小清新來得更猛烈些吧!”  

還有一群網友七嘴八舌讨論着。

“沌世界”淡定地說:“不知宋詞的粉絲看了是不是有一種偶像破滅的感覺。”

“家傑仕”童鞋也總結道:“文藝男女已經阻止不了技術宅作詩了!”

網友“Rakin”點評:“理科生文藝得真兇猛!”

“焰心Spring”呼籲:“想文藝一回的同學請轉!”

“ChanIm”表示:“當時學寫詩的時候超鄙視這些,現在淡定了,因為沒那麼多愁善感了。”

“思念的秋天”感慨:“穿越必備!”

“NetCharm”說:“背熟了,随便組合一下,寫出來的也不會太爛。”

“huahualipo”童鞋還提出了意見:“高人,能不能把平仄也加上……如果平仄太困難,至少考慮一下詞尾押韻如何?韻腳也就十來個,每個都配置設定一個數值,然後每隔一行,末尾的詞就隻從一個值下選。這樣會大大增加仿真度啊!” 

揚子晚報

以下是原帖:by  yixuan

再次神經短路,突然想看看宋詞裡面什麼樣的意象是最常見的,比如可以做個頻率分析什麼的。當然文本挖掘需要分詞,我沒法在其中花太多時間,于是想出了一個土辦法。宋詞的句子都很短,如果窮舉可能的字的組合的話并不是太多,況且最常見的詞語一般是兩三個字,這樣可能的組合就更少了。比如“猶解嫁東風”這句話,可能的二字組合是“猶解”“解嫁”“嫁東”“東風”,三字組合是“猶解嫁”“解嫁東”“嫁東風”,詞的字數越多,可能的組合就越少。如果把每句話可能的字的組合都列舉出來,就可以整體統計頻率了。

當然裡面會有很多無意義的字的組合,不過這類“詞語”本身的出現就是一個偶然,是以可以預期的是它們整體的頻數會很低,是入不了“大雅之堂”的。話不多說,直接上代碼和結果。

資料:《全宋詞》文本

代碼:

l=scan("Ci.txt","character",sep="\n");

l.len=nchar(l);

# 某些行是作者和标題,是以選取長度大于10的行;

# 另外這個文本檔案不太規整,有些網址什麼的,

# 是以也要排除那些長度太長的。

ci=l;

# 句子用标點符号分割。

sentences=strsplit(ci,",|。|!|?|、");

sentences=unlist(sentences);

sentences=sentences[sentences!=""];

s.len=nchar(sentences);

# 單句太長了說明有可能是錯誤的字元,去除掉。

sentences=sentences[s.len<=10];

s.len=nchar(sentences);

# 暴力挨個拆分,比如“猶解嫁東風”的所有二字組合為

# “猶解”“解嫁”“嫁東”“東風”,

# 無意義的詞其頻數自然就落在後面了。

splitwords=function(x,x.len) substring(x,1:(x.len-1),2:x.len);

words=mapply(splitwords,sentences,s.len,SIMPLIFY=TRUE,USE.NAMES=FALSE);

words=unlist(words);

words.freq=table(words);

words.freq=sort(words.freq,decreasing=TRUE);

data.frame(Word=names(words.freq[1:100]),Freq=as.integer(words.freq[1:100]));

結果(排在第一的是無效字元,這跟資料源有關):

Word Freq

1 1485  2 東風 1382  3 何處 1230  4 人間 1202

5 風流 857  6 歸去 812  7 春風 802  8 西風 779

9 歸來 771  10 江南 765  11 相思 753  12 梅花 732

13 千裡 676  14 回首 656  15 明月 651  16 多少 648

17 如今 642  18 闌幹 630  19 年年 613  20 萬裡 590

21 一笑 582  22 黃昏 550  23 當年 542  24 天涯 537

25 相逢 528  26 芳草 527  27 尊前 516  28 一枝 512

29 風雨 505  30 流水 472  31 依舊 472  32 風吹 471

33 風月 461  34 多情 457  35 故人 451  36 當時 450

37 無人 445  38 斜陽 438  39 不知 430  40 不見 429

41 深處 422  42 時節 403  43 平生 398  44 凄涼 398

45 春色 394  46 匆匆 383  47 功名 383  48 一點 378

49 無限 377  50 今日 369  51 天上 368  52 楊柳 362

53 西湖 356  54 桃花 354  55 扁舟 353  56 消息 351

57 憔悴 344  58 何事 339  59 芙蓉 338  60 神仙 334

61 一片 334  62 桃李 333  63 人生 332  64 十分 331

65 心事 329  66 黃花 328  67 一聲 325  68 佳人 324

69 長安 321  70 東君 319  71 斷腸 316  72 而今 315

73 鴛鴦 314  74 為誰 313  75 十年 310  76 去年 309

77 少年 308  78 海棠 307  79 寂寞 306  80 無情 306

81 不是 305  82 時候 304  83 腸斷 303  84 富貴 303

85 蓬萊 303  86 昨夜 303  87 行人 302  88 今夜 301

89 誰知 300  90 不似 299  91 江上 298  92 悠悠 296

93 幾度 295  94 青山 295  95 何時 294  96 天氣 293

97 惟有 293  98 一曲 291  99 月明 291  100 往事 290

不知各位看官看到上面這些既熟悉又悠遠的話語又将作何感想?或許,她們就是我們千百年來的精神寄托吧。

NetCharm @ 果殼

試了下在R下面執行此代碼, 不過在我機子上好像有問題. 于是按照這個思路用KNIME做了個簡單統計流程. (資料源相同)

流程如:

[Literature]“東風何處是人間”:網友算出99個宋詞常用語 圓周率可填詞

因為多處理了一點異常, 雙字詞頻順序基本一樣, 數量稍有差別, 不重複貼了. 不過可以貼出短句句頻:D

"到如今",50  "君知否",46  "誰知道",30  "功名事",28

"須信道",28  "最好是",27  "人間世",26  "從今去",26

"凝伫",25  "歸去",24  "不如歸去",23  "知否",23

"誰信道",23  "倚闌幹",21  "到而今",21  "又還是",21

"歸去來兮",21  "人不見",20  "當此際",20  "記當年",19

"東風裡",18  "怎奈向",18  "春去也",18  "須知道",18

"争知道",17  "更那堪",17  "留不住",17  "謾赢得",17

"那堪更",17  "一觞一詠",16  "休休",16  "君不見",16

"家山好",16  "歸來也",16  "思往事",16  "悠悠",16

"無緒",16  "還知否",16  "追往事",16  "人間天上",15

"最苦是",14  "疏影橫斜",14  "空怅望",14  "空惆怅",14

"記年時",14  "人間事",13  "又隻恐",13  "回首處",13

"夜沈沈",13  "斷人腸",13  "早歸來",13  "有多少",13

"空凝伫",13  "向尊前",12  "微雨過",12  "情脈脈",12

"斜陽外",12  "無語",12  "月明中",12  "朱顔綠鬓",12

"綠鬓朱顔",12  "誰念我",12  "還知麼",12  "問何如",12

"不堪回首",11  "東風惡",11  "人何處",11  "人正在",11

"今老矣",11  "從别後",11  "倚東風",11  "又何須",11

"多少事",11  "天長地久",11  "安陽好",11  "對東風",11

"對西風",11  "廣寒宮殿",11  "歸去也",11  "歸來晚",11

"願年年",11  "江南岸",11  "空回首",11  "終不似",11

"腸斷",11  "腸斷處",11  "落花飛絮",11  "西源好",11

"闌幹外",11  "風流",11  "飕飕",11  "與誰同",10

"五雲深處",10  "人間何處難忘酒",10  "人靜",10  "從此去",10

"倚西風",10  "分明是",10  "功名富貴",10  "南徐好",10

"歲歲年年",10  "思晴好",10  "想當年",10  "無限事",10

"朝朝暮暮",10  "歌窈窕",10  "獨自個",10  "竹籬茅舍",10

"綸巾羽扇",10  "良辰美景",10  "記當時",10  "詩曰",10

"醉歸來",10  "七十古來稀",9  "人如玉",9  "人盡道",9

"何處",9  "凝望處",9  "千古恨",9  "千秋歲",9

"去年今日",9  "向此際",9  "坐中客",9  "天賦與",9

"好天良夜",9  "年年今日",9  "待歸來",9  "愁絕",9

"故人何處",9  "明月清風",9  "暗香浮動",9  "曲水流觞",9

"渾不似",9  "清絕",9  "盈盈",9  "空腸斷",9

"空赢得",9  "算人間",9  "算隻有",9  "緣底事",9

"記當日",9  "還又是",9  "道骨仙風",9  "都付與",9

"都休問",9  "酒醒時",9  "問人間",9  "問何時",9

"風不定",9  "一聲聲",8  "不見",8  "二十年",8

"人散後",8  "人易老",8  "從今後",8  "休去",8

"休辭醉",8  "依然是",8  "幾時休",8  "憑闌久",8

"去天尺五",8  "又誰知",8  "君且住",8  "吾老矣",8

"回首",8  "堪羨",8  "多少恨",8  "夜來風雨",8

"天下事",8  "天如水",8  "如何得",8  "嫣然一笑",8

"寂寞",8  "山居好",8  "歸去來",8  "心下事",8

"怎知道",8  "思悠悠",8  "恁時節",8  "悄無人",8

"願歲歲",8  "文章太守",8  "無個事",8  "最關情",8

"最好處",8  "有誰知",8  "浮世事",8  "滿城風雨",8

"玉骨冰肌",8  "畫堂深",8  "登臨處",8  "看不足",8

"真個是",8  "知何處",8  "知音少",8  "稱壽處",8

"空相憶",8  "笑人間",8  "紗窗外",8  "落花流水",8

"長安道",8  "問當年",8  "雨初晴",8  "頻回首",8

"風又雨",8  "風流雲散",8  "一杯酒",7  "一蓑煙雨",7

"三千歲",7  "東風外",7  "人去後",7  "人未老",7

"人道是",7  "今夜裡",7  "但怅望",7  "佳人何處",7

"再相逢",7  "冰肌玉骨",7  "淨幾明窗",7  "凄涼",7

"淩波微步",7  "凝望久",7  "千山萬水",7  "卷珠簾",7

"又何妨",7  "又過了",7  "歎人生",7  "君看取",7

"吳頭楚尾",7  "地久天長",7  "堪恨處",7  "堪愛處",7

"多應是",7  "夜将闌",7  "天付與",7  "天寒日暮",7

"如今憔悴",7  "山無數",7  "簾栊靜",7  "廣寒宮裡",7

"待明朝",7  "憶當年",7  "急管繁弦",7  "恨悠悠",7

"憔悴",7  "攜手處",7  "無一事",7  "暗香疏影",7

"最難忘",7  "月明風細",7  "有個人人",7  "水悠悠",7

"江南春早",7  "深院宇",7  "深院靜",7  "清風明月",7

"畫圖中",7  "留戀",7  "留春不住",7  "相逢",7

"相逢處",7  "看明年",7  "算惟有",7  "經行處",7

"绮羅叢裡",7  "緩帶輕裘",7  "腸欲斷",7  "自别後",7

"莫匆匆",7  "行樂處",7  "許多愁",7  "試與問",7

"試屈指",7  "談笑裡",7  "謾回首",7  "還知道",7

"送君南浦",7  "都不管",7  "都莫問",7  "酒巡未止",7

"采菱拾翠",7  "長亭路",7  "問誰是",7  "難忘處",7

"非煙非霧",7  "風前月下",7  "黯銷魂",7  "一葉扁舟",6

"一年一度",6  "一杯相屬",6  "一枝枝",6  "一輪明月",6

"下缺",6  "不知今夕何夕",6  "東風起",6  "舉杯相屬",6

"之句",6  "人似玉",6  "人别後",6  "人生行樂",6

"人都道",6  "人間",6  "今夕何夕",6  "仙風道骨",6

"似當年",6  "但回首",6  "但赢得",6  "佳麗地",6

"依前是",6  "依然",6  "便從今",6  "便直饒",6

"凝眸",6  "幾番風雨",6  "憑誰說",6  "憑闌處",6

"憑闌幹",6  "分付與",6  "分攜處",6  "别離情緒",6

繼續閱讀