对于红楼梦后四十回是否是曹雪芹所作,各有各的说法,我一直以为,人会说谎,但数据不会.我分别统计
第一回到四十回,
第四十一回到第八十回,
第八十一回到第一百二十回,
的词频:
1~40回, 与41~80回,有4个词等位相同,分别是第 0,2,7,14行的’宝玉’,’一个’,’贾母’,’出来’
1~40回, 与81~120回,,有2个词等位相同,分别是第 0,3行的’宝玉’,’夫人’
41~80回 与81~120回,,有2个词等位相同,分别是第 0,1行的’宝玉’,’太太’
由此一个角度可见,后40回与前80回有很大的差异性,从一个方面证明后四十回与前80回不是一人所做
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Mon Apr 2 22:14:30 2018
@author: luogan
"""
import jieba
import pandas as pd
txt = open("hlm.txt", "r", encoding="gb18030").read()
def most(tt):
jieba.enable_parallel(2)
s1 = [x for x in jieba.cut_for_search(tt) if len(x) >= 2]
jieba.disable_parallel()
from collections import Counter
c = Counter(s1).most_common(20)
return c
kk=txt.index('第八十一回')
kk1=txt.index('第四十一回')
hui_1_80=txt[:kk]
hui_81_120=txt[kk:]
def se(pp):
return pd.Series(dict(most(pp))).sort_values(ascending=False)
a=se(hui_1_80)
b=se(hui_81_120)
hui_1_40=txt[:kk1]
hui_41_80=txt[kk1:kk]
c=se(hui_1_40)
d=se(hui_41_80)
merge=pd.DataFrame()
merge['1-40']=list(c.index)
merge['41-80']=list(d.index)
merge['81-120']=list(b.index)
1-40 41-80 81-120
0 宝玉 宝玉 宝玉
1 什么 太太 太太
2 一个 一个 什么
3 夫人 什么 夫人
4 凤姐 我们 那里
5 太太 姑娘 怎么
6 一面 你们 贾母
7 贾母 贾母 王夫人
8 说道 他们 老太
9 那里 夫人 老太太
10 王夫人 如今 一个
11 只见 丫头 姑娘
12 我们 众人 没有
13 怎么 奶奶 起来
14 出来 出来 凤姐
15 丫头 那里 说道
16 如今 起来 老爷
17 这个 平儿 知道
18 起来 两个 我们
19 不得 知道 这里e
对于红楼梦后四十回是否是曹雪芹所作,各有各的说法,我一直以为,人会说谎,但数据不会.我分别统计
第一回到四十回,
第四十一回到第八十回,
第八十一回到第一百二十回,
的词频:
1~40回, 与41~80回,有4个词等位相同,分别是第 0,2,7,14行的’宝玉’,’一个’,’贾母’,’出来’
1~40回, 与81~120回,,有2个词等位相同,分别是第 0,3行的’宝玉’,’夫人’
41~80回 与81~120回,,有2个词等位相同,分别是第 0,1行的’宝玉’,’太太’
由此一个角度可见,后40回与前80回有很大的差异性,从一个方面证明后四十回与前80回不是一人所做
下载