山人何处君不见?东风一花倚阑干! ——《全唐诗》、《全宋词》统计分析报告

山人何处君不见?东风一花倚阑干!

——《全唐诗》、《全宋词》统计分析报告

一、源起

前两天看到了邱怡轩写的统计词话(一)。受其启发,决定利用自己的编程及统计分析能力,对《全唐诗》和《全宋词》进行一个较为全面的统计分析与比较。于是便有了你现在看到的这篇文章。
此处使用到的原始数据、程序脚本及结果图表等均可以在文末找到下载链接。

二、数据

《全唐诗》及《全宋词》的原始数据均来自于网络。
通过基本的编码转换以及“简单”的过滤筛选之后,就得到了用于后续统计分析的数据。

三、工具

系统平台:Linux(Ubuntu 10.10,AMD64)。
Shell命令行:转换编码(iconv)与换行符(fromdos)。
Perl(v5.10.1):用来过滤、筛选原始数据,得到可以用于后续分析的格式化数据。
R(v2.12.2):统计分析及图表绘制。
其他:Vim(v7.2.330),TimeForScience

四、结果

1.基本信息

general_info
补充:只考虑诗或词的主体内容的话,《全唐诗》共使用了7513种(个)汉字,而《全宋词》则使用了5750种(个)汉字。
此处的统计数据仅为约数,与其他的数据有一定的出入。主要原因在于原始数据的质量以及数据处理过程中的过滤筛选等。
相关的参考数据:
百度百科:《全唐诗》共收录唐代诗人2529人,诗作42863首。
玄烨为《全唐诗》所作的序中的说法:诗48900余首,2200余人。
日本学者平冈武夫的统计结果:《全唐诗》共收诗49403首,句1555条,作者2873人。
维基百科:《全宋词》收录宋代词人1330家,词作21116首。

2.诗人、词人与词牌

qts_author_freq qsc_author_freq qsc_music_freq
《全唐诗》中以白乐天的作品最多,诗圣与诗仙分获亚、季军。但乐天一个人的作品就比子美和太白两个人的作品总和还多!
《全宋词》中荣获桂冠的则是辛稼轩,紧随其后的则是苏东坡和刘会孟。稼轩的作品数几乎是东坡的两倍!
《全宋词》中以使用《水调歌头》词牌的最多,其次是《浣溪沙》和《满江红》。

3.单句的字数

qts_words_per_sentence qsc_words_per_sentence qts_qsc_words_commpare
《全唐诗》中每句的字数高度集中在5和7,这也和常识相符;毕竟除了极少数的杂言体以外,绝大部分的唐诗都是五言和七言的(绝句、律师)。图中的3、4、6处的峰值,大部分很可能是五言、七言缺字所导致的。
与《全唐诗》相比,《全宋词》每句的字数则相对离散一些,这也正符合了“长短句”的称谓。
注:此处字数最多为15,是因为我在程序中设置了这个上限。唐诗宋词中超过15个字的单句,即使有也是非常稀少的吧。

4.词频统计

qts_words_freq_one qts_words_freq_two qts_words_freq_three
qsc_words_freq_one qsc_words_freq_two qsc_words_freq_three
唐朝诗人似乎偏爱对别人感慨“君不见”,而宋代词人则更加喜欢一个人“倚阑干”。
补充:“风花雪月”四个字在《全唐诗》和《全宋词》中的使用频率排名比较有意思。“风”字的使用频率排名在《全唐诗》和《全宋词》中分别为5、2;“花”的排名分别为15、3;“雪”的排名分别为113、110;“月”的排名分别为19、11。为何“风”、“花“、”月“均位列前20,而独独“雪”字排名100之后呢?如果你听过张打油那首经典的《咏雪》打油诗,你就知道原因(之一)为何了。
补充:从使用频率来看,在《全唐诗》中,“长安”和“洛阳”分别排名20、55;“长安道”和“洛阳城”分别排名38、15。可见“长安”和“洛阳”这两个军事政治、经济文化中心在唐人的心目中是何等的地位!而在《全宋词》中,“长安”排名65;“长安道”排名32;“洛阳”则消失无踪(至少前500名中没有)。岁月无情。经过时光的洗礼,后人只记得前朝的首都“长安”而忘却了繁荣一时的“洛阳”。

5.词频比较

对于使用频率最高的500个单字、双字、三字,《全唐诗》与《全宋词》的交集:

intersection_one1 intersection_two1 intersection_three1

:上面的Venn图是由Venn Diagrams绘制所得。

compare_one_ts compare_two_ts compare_three_ts
与宋人相比,唐人更敢于说“不”;更加喜欢天上的“白云”,更偏重于“惆怅”;更爱说“君不见”与“三千里”。
compare_one_st compare_two_st compare_three_st
与唐人相比,宋人则更喜欢“风”、“花”、“春”、“香”、“东风”、“西风”、“相思”、“倚阑干”等婉转抒情的词汇。

五、结论

仁者见仁,智者见智。
自己慢慢琢磨去吧……

六、扩展

统计词话(一)(邱怡轩)
常用词牌的统计分析
诗人词人别称汇总
古典诗歌的分类
丰富多彩的诗体
诗词书籍推荐

七、牢骚

单单是修正《全宋词》的格式就用了半天多的时间;难道就没有整理的格式比较正规标准的《全唐诗》、《全宋词》吗?
作为唐诗宋词汇总的书籍,难道没有必要用标准的编码(UTF-8)与标准的格式来统一整理一下吗?
如果你知道有高质量的《全唐诗》与《全宋词》,请发邮件至yixfblog@gmail.com;也可通过回复告知。

八、下载

所有数据(原始数据、程序脚本、结果图表,等)打包下载

  1. 赞一下.看过你的结果,貌似唐诗用词分布的比较散,而宋词用得都比较集中?可否认为唐诗比宋词词语更丰富?

    • 个人感觉,这么说的理由不充分。我的观点:
      与宋词相比,唐诗的格式、格律都要严格一些,换言之,规则多了自然限制了作者“随意”发挥的范围。
      举个例子来说,绝大多数唐诗除了五言就是七言,字数最多的也不多56个字(七言律诗),还要考虑律诗的对仗,用词时自然要字斟句酌,可谓“一字千金”,很多时候能用一个字表达的绝不用两个字、三个字。典型的如:鸡声茅店月,人迹板桥霜。要是改用宋词来写,10个字肯定不够用。
      当然,也可能和时代背景有关,貌似唐朝比宋朝的对外交流更多一些(猜测,不确定),比如:文化交流、贸易、战争等。

  2. 全宋词中“风花雪月”的词频分析“雪”的词频出奇的低的原因其实答案很简单:雪只有北方能看到,南方很少见;而风花月是南北都能看到了……婉约词派貌似以南方人居多,再加上南宋那点事……“雪”这个本来很美的意向,就这样被埋没了……

  3. 呃……好吧……关键问题是当时没有发现任何关于评论发送成功的反馈……而且当时我检查了一下下面黄色背景的字,也没有发现关于初次评论需要审核的任何提示……在加上网络一直不稳定……当时一直捉摸不透评论是不是被网速给吃了……