李白杜甫诗词分析
Primary Practice h55
用计算机来证明:为什么说李白是浪漫主义诗人、杜甫是现实主义诗人?
分析不同诗人使用一些汉字时候的特点。
- 分析:不同诗人使用一个汉字的时候,将这些汉字组成什么词汇使用在诗句里面;
- 按这些词汇出现的频率高低排序;
- 只要是两个汉字连起来就视为一个词。
上一次 分析比较了红楼梦的前八十回和后四十回,这一次分析比较李白和杜甫的诗词。
主体代码几乎和 h13 相同。
借用了 h13 的 getTopNWords
方法,属性有:
1 | private String[] verses = new String[0]; |
改写 getTopNWords
方法:
- 返回值改为
List<Map.Entry<String, Integer>>
便于得到频率值; - 对切割后子串的判断条件改为
!charSet.contains(str.substring(0, 1)) && !charSet.contains(str.substring(1))
,即两个字都不在要判断的字集里时跳过。
1 | public List<Map.Entry<String, Integer>> getTopNWords(int n){ |
最终 analysis
方法只需处理文件读入和判断的字并打印结果:
1 | public void analysis(String pathFilename, String chars) { |
最后分析不同词汇(不完整)。
“春;夏;秋;冬;暑;寒;风;雨;雪;霜;露”
李白 | 杜甫 |
---|---|
春风 72 风吹 51 秋月 40 清风 28 秋风 25 东风 24 白雪 21 长风 21 秋浦 21 秋霜 20 |
风尘 48 秋风 30 风吹 28 天寒 27 清秋 25 春色 20 春风 19 风雨 17 高秋 16 云雨 16 |
这些是几个和季节有关的词汇,李白和杜甫在高频词上有所不同,李白喜欢“春风”、“风吹”、“秋月”,杜甫喜欢“风尘”、“秋风”。
“醉;酒;饮;杯”
李白 | 杜甫 |
---|---|
美酒 27 一杯 21 杯酒 14 对酒 13 三杯 11 斗酒 11 杯中 8 饮酒 8 置酒 8 衔杯 7 |
酒酣 10 杯酒 7 醉眠 6 嗜酒 6 痛饮 6 酒杯 5 对酒 5 杯中 5 酒肉 5 春酒 5 |
李白喝酒比杜甫多,而且酒量也比杜甫大。
“东;西;南;北”
李白 | 杜甫 |
---|---|
东风 24 东海 23 东山 20 东流 19 南山 19 西来 16 东南 12 北斗 12 西施 10 北海 10 |
西南 15 北风 14 北斗 14 东西 13 东流 12 南国 12 西江 11 南征 11 西戎 9 瀼西 9 |
李白更喜欢东风,杜甫总是想到北风。
“云;日;月;山;河”
李白 | 杜甫 |
---|---|
白日 62 明月 59 青云 46 浮云 44 秋月 40 白云 34 落日 32 今日 28 五月 26 黄河 26 |
今日 33 落日 29 白日 27 浮云 23 江山 22 巫山 20 日月 20 终日 18 他日 18 日暮 18 |
除去“白日”、“今日”等与自然景色无关的词汇,李白更喜欢“明月”,而杜甫更喜欢“落日”。
“水;天;玉;心”
李白 | 杜甫 |
---|---|
青天 54 天地 53 流水 34 天上 31 天子 28 白玉 27 绿水 26 天下 22 海水 17 汉水 16 |
天下 35 天地 32 天子 29 天寒 27 江水 16 寸心 13 白水 13 秋水 12 天意 12 水中 11 |
可见杜甫更加挂念天下苍生,忧国忧民。
“歌;愁”
李白 | 杜甫 |
---|---|
歌舞 9 愁不 9 人愁 9 吴歌 9 行歌 8 歌白 8 长歌 8 愁杀 7 歌钟 7 棹歌 7 |
愁思 13 穷愁 11 客愁 10 长歌 9 高歌 8 歌兮 7 悲歌 6 兮歌 6 狂歌 5 愁绝 5 |
可以看出李白更加浪漫,喜欢歌舞;而杜甫则悲怆多愁,连“歌”都是“悲歌”。
总结
由于不同的出身、经历,李白和杜甫两人的诗歌创作风格有所不同。李白和杜甫彼此深情凝望,又相互辉映。一个浪漫豪放,一个忧国忧民;一个富有激情,一个臻于深刻。李白的创作尚意韵,是神来之笔;杜甫的创作尚法度,是典范圭臬。李白和杜甫代表两种精神人格、两种风格境界。二者并立,成为两座高峰、两座丰碑,他们风格不同,却伟大相通。
李富于才,杜深于学。富于才者豪于情,深于学者笃于性。
诗原本性情。以性情为诗,所以凌驾一代,妙绝千古。