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、拟合:
写在最后
时光如白驹过隙,世事如白云苍狗。转眼间,我们也迎来了继高考以来第二次决定命运的战斗——考研。
“考研是孤独的,孤独两个字拆开,有孩童,有瓜果,有小犬,有蚊蝇,足以撑起一个那年盛夏傍晚的巷子口,人情味十足。稚儿擎瓜柳蓬下,细犬逐蝶深巷中。人间繁华多笑语,唯我空余两鬓清风。孩童、水果、猫、狗、飞蝇当然热闹,可都与你无关,这就叫孤独,这就叫考研。”
我问了我考研同学的成绩了,只说了一句:“来,再开一局”……
用四个字形容考完研后的自己:“重在参与”。
我已经用了四年的时间证明了自己不是读书的这块料,但学校没有放弃我,给了我最后三天,让我证明了我自己,确实不是读书这块料。
考研就像参加超级女生,能坚持到最后的都是纯爷们!
考研英语,单词几乎是研考生心里永远的痛,今年又考倒了一大片,何必总是拿外国话来为难自己的同胞呢?
考研的都是勇士,考上去的是上士,考下去的是下士,还站着的是战士,考躺下的是烈士!
注:以上均为段子,希望每一位考研人本周六周日过过过!
作者:阿广,本文首发于个人公众号「视学算法」。「视学算法」是专注于大数据、人工智能和算法的学习平台,也是一个保送中科院软件研究所直博生的自留地。人生苦短,我愿做您最忠实的技术支持伙伴!一起用代码改变世界!
声明:本文为作者投稿,版权归作者所有。