Python 分析 35 年的考研英语真题词汇,解读孤独的考研大军!
作者 | 阿广
责编 | 郭芮
我们渐渐长大,从一开始的初生牛犊不怕虎到渐渐惧怕孤独,从一开始的单打独斗到渐渐合群躲避孤独。不巧的是,考研就是一个孤单修炼的事情,没有任何人能够去帮你,于是二十出头的我们,从“牛*吊炸天,我要改变全世界”逐渐蜕变成“我要适应这个世界,我要适应孤单”。过去总是赶赴一场又一场热闹,在觥筹交错间,推杯换盏时,说一些违心的话,做一些违心的事,慢慢失去自我。但愿,酒阑人散后,剩下的只有空虚落寞;但愿,灯火阑珊处,留下是考研最美好的回忆。
数据介绍
本文统计的对象为1980年以来英语试卷所包含的词汇,并对其进行了分析和总结。
实现过程
1、加载基础词汇
bw = open('data/basic_words.txt')
basicwords = []
for eachLine in bw:
basicwords.append(sw.simplify_word(re.split("[^A-Za-z]", eachLine)[0].lower()))
#print re.split("[^A-Za-z]", eachLine)[0]
print(len(list(set(basicwords))))
basicwords = list(set(basicwords))
2、加载超纲词汇
notindagang = np.zeros(33)
chaogangword = {}
for j in range(33):
for k in wy.eywords[j]:
if k not in dw.dagangwords and k not in bw.basicwords:
#notindagang[j] += 1
if chaogangword.has_key(k):
chaogangword[k] += 1
else:
chaogangword[k] = 1
for j in range(33):
for k in wy.eywords[j]:
if k not in dw.dagangwords and k not in bw.basicwords:
if chaogangword[k] <= 2:
notindagang[j] += 1
chaogangword = sorted(chaogangword.iteritems(), key = lambda e:e[1], reverse = True)
print('Chaogangword =',chaogangword)
pnotindagang = [float(x) / len(wy.eywords[i]) for i,x in enumerate(notindagang)]
3、词汇分析
def simplify_word(a):
#如果已经可以判断是名词,动词,形容词,副词,连词
if enumerate.is_noun(a) or enumerate.is_verb(a) or enumerate.is_adjective(a) or enumerate.is_adverb(a) or enumerate.is_connective(a):
return a
try:#测试是否为动词,如果是则返回
enumerate.is_verb(enumerate.verb.present(a))
return enumerate.verb.present(a)
except:#否则继续检查
pass
#测试是否是名词
if enumerate.is_noun(enumerate.noun.singular(a)):
return enumerate.noun.singular(a)
otherwordlist.append(a)
#print a
return a
4、加载大纲词汇
dagang = open('data/5495大纲词汇.txt')
dagangwords = []
for eachLine in dagang:
dagangwords.append(sw.simplify_word(re.split("[^A-Za-z]", eachLine)[0].lower()))
#print re.split("[^A-Za-z]", eachLine)[0]
print(len(list(set(dagangwords))))
dagangwords = list(set(dagangwords))
5、考研英语真题单词数据可视化
x33 = 1980*np.ones(33)+range(33)
x32 = 1981*np.ones(32)+range(32)
plt.figure('wordeachyear')
plt.plot(x33,wy.eywords_volume,'r--o',alpha = 0.5)
plt.grid(True)
plt.show()
plt.figure('notindagang')
plt.plot(x33,cgw.notindagang,'o-', alpha = 0.5)
plt.grid(True)
plt.show()
plt.figure('wn')
plt.plot(wy.eywords_volume,cgw.pnotindagang,'bo')
plt.show()
plt.figure('pchaogang')
plt.plot(x33,cgw.pnotindagang,'o-', alpha = 0.5)
plt.grid(True)
plt.show()
plt.figure('notinpast')
plt.bar(x33,nip.words_not_in_the_past, color = 'green', alpha = 0.5)
plt.grid(True)
plt.show()
plt.figure('wordsAppearLastTime')
plt.plot(x32, walt.es, 'b--o', alpha = 0.5)
plt.grid(True)
plt.show()
plt.figure('pwordsAppearLastTime')
#plt.axes([1980, 2013 , 0.35 ,0.6])
plt.plot(x32, walt.esr1, 'r-o')
plt.plot(x32, walt.esr2, 'b--o', alpha = 0.4)
plt.plot(x32, walt.esr3, 'y--o', alpha = 0.4)
plt.grid(True)
plt.show()
考研英语真题词汇统计结果
1、第i+1年出现的从1980~i年间从未出现过的单词:
2、第一年真题中出现的单词数:
3、每一年都出现的单词:
and, have, other, most, last, all, year, way, hi, like, because, your, new, know, english, chinese, if, you, they, this, give, people, he, not, many, question, from, into, such, work, over, would, make, translation, up, in, no, then, an, will, some, section, we, with, these, it, there, which, by, so, one, when, do, those, can, four, be, that, must, of, say, should, than, a, become, at, write, who, on, the, only, to, but, about, or, for
4、相邻年份考研真题词汇重复数:
5、相邻年份考研真题词汇重复率:
6、计算35年来真题词汇超纲率:
7、拟合:
写在最后
时光如白驹过隙,世事如白云苍狗。转眼间,我们也迎来了继高考以来第二次决定命运的战斗——考研。
“考研是孤独的,孤独两个字拆开,有孩童,有瓜果,有小犬,有蚊蝇,足以撑起一个那年盛夏傍晚的巷子口,人情味十足。稚儿擎瓜柳蓬下,细犬逐蝶深巷中。人间繁华多笑语,唯我空余两鬓清风。孩童、水果、猫、狗、飞蝇当然热闹,可都与你无关,这就叫孤独,这就叫考研。”
我问了我考研同学的成绩了,只说了一句:“来,再开一局”……
用四个字形容考完研后的自己:“重在参与”。
我已经用了四年的时间证明了自己不是读书的这块料,但学校没有放弃我,给了我最后三天,让我证明了我自己,确实不是读书这块料。
考研就像参加超级女生,能坚持到最后的都是纯爷们!
考研英语,单词几乎是研考生心里永远的痛,今年又考倒了一大片,何必总是拿外国话来为难自己的同胞呢?
考研的都是勇士,考上去的是上士,考下去的是下士,还站着的是战士,考躺下的是烈士!
注:以上均为段子,希望每一位考研人本周六周日过过过!
作者:阿广,本文首发于个人公众号「视学算法」。「视学算法」是专注于大数据、人工智能和算法的学习平台,也是一个保送中科院软件研究所直博生的自留地。人生苦短,我愿做您最忠实的技术支持伙伴!一起用代码改变世界!
声明:本文为作者投稿,版权归作者所有。
热 文 推 荐
☞ 美团回应大规模裁员;ofo 戴威要为欠钱负责;高通要求禁售 iPhone X 系列 | 极客头条
☞ 惊了!AI 人才需求两年暴涨 35 倍,平均月薪 30K!
☞ 不止操作系统,智能手机才更需要开源!
☞ 刚发布!Python 一二线城市月薪 15K 起!12 月再夺语言榜首
print_r('点个赞吧!');
var_dump('点个赞吧!');
NSLog(@"点个赞吧!");
System.out.println("点个赞吧!");
console.log("点个赞吧!");
print("点个赞吧!");
printf("点个赞吧!\n");
cout << "点个赞吧!" << endl;
Console.WriteLine("点个赞吧!");
fmt.Println("点个赞吧!");
Response.Write("点个赞吧!");
alert("点个赞吧!")
echo "点个赞吧!"