【技术】Python 分析 35 年的考研英语真题词汇,解读孤独的考研大军!
我们渐渐长大,从一开始的初生牛犊不怕虎到渐渐惧怕孤独,从一开始的单打独斗到渐渐合群躲避孤独。不巧的是,考研就是一个孤单修炼的事情,没有任何人能够去帮你,于是二十出头的我们,从“牛*吊炸天,我要改变全世界”逐渐蜕变成“我要适应这个世界,我要适应孤单”。过去总是赶赴一场又一场热闹,在觥筹交错间,推杯换盏时,说一些违心的话,做一些违心的事,慢慢失去自我。但愿,酒阑人散后,剩下的只有空虚落寞;但愿,灯火阑珊处,留下是考研最美好的回忆。
数据介绍
本文统计的对象为1980年以来英语试卷所包含的词汇,并对其进行了分析和总结。
实现过程
1、加载基础词汇
bw=open(’data/basic_words.txt’)
basicwords = []
foreachLine inbw:
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 = {}
forjinrange(33):
forkinwy.eywords[j]:
ifknotindw.dagangwordsandknotinbw.basicwords:
#notindagang[j] += 1
ifchaogangword.has_key(k):
chaogangword[k] +=1
else:
chaogangword[k] =1
forjinrange(33):
forkinwy.eywords[j]:
ifknotindw.dagangwordsandknotinbw.basicwords:
ifchaogangword[k] <=2:
notindagang[j] +=1
chaogangword = sorted(chaogangword.iteritems(), key =lambdae:e[1], reverse =True)
print(’Chaogangword =’,chaogangword)
pnotindagang = [float(x) / len(wy.eywords[i])fori,xinenumerate(notindagang)]
3、词汇分析
defsimplify_word(a):
#如果已经可以判断是名词,动词,形容词,副词,连词
ifenumerate.is_noun(a)orenumerate.is_verb(a)orenumerate.is_adjective(a)orenumerate.is_adverb(a)orenumerate.is_connective(a):
returna
try:#测试是否为动词,如果是则返回
enumerate.is_verb(enumerate.verb.present(a))
returnenumerate.verb.present(a)
except:#否则继续检查
pass
#测试是否是名词
ifenumerate.is_noun(enumerate.noun.singular(a)):
returnenumerate.noun.singular(a)
otherwordlist.append(a)
#print a
returna
4、加载大纲词汇
dagang =open(’data/5495大纲词汇.txt’)
dagangwords = []
foreachLine 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、拟合:
写在最后
时光如白驹过隙,世事如白云苍狗。转眼间,我们也迎来了继高考以来第二次决定命运的战斗——考研。
“考研是孤独的,孤独两个字拆开,有孩童,有瓜果,有小犬,有蚊蝇,足以撑起一个那年盛夏傍晚的巷子口,人情味十足。稚儿擎瓜柳蓬下,细犬逐蝶深巷中。人间繁华多笑语,唯我空余两鬓清风。孩童、水果、猫、狗、飞蝇当然热闹,可都与你无关,这就叫孤独,这就叫考研。”
我问了我考研同学的成绩了,只说了一句:“来,再开一局”……
用四个字形容考完研后的自己:“重在参与”。
我已经用了四年的时间证明了自己不是读书的这块料,但学校没有放弃我,给了我最后三天,让我证明了我自己,确实不是读书这块料。
考研就像参加超级女生,能坚持到最后的都是纯爷们!
考研英语,单词几乎是研考生心里永远的痛,今年又考倒了一大片,何必总是拿外国话来为难自己的同胞呢?
考研的都是勇士,考上去的是上士,考下去的是下士,还站着的是战士,考躺下的是烈士!
注:以上均为段子,希望每一位考研人本周六周日过过过!
作者:阿广,本文首发于个人公众号「视学算法」。「视学算法」是专注于大数据、人工智能和算法的学习平台,也是一个保送中科院软件研究所直博生的自留地。人生苦短,我愿做您最忠实的技术支持伙伴!一起用代码改变世界!
已对原文重新排版,阅读原文
以下推文采用自研智能关联、组合专题技术…: