查看原文
其他

Python 分析 35 年的考研英语真题词汇,解读孤独的考研大军!

调皮的阿广 CSDN 2019-02-15

作者 | 阿广

责编 | 郭芮

我们渐渐长大,从一开始的初生牛犊不怕虎到渐渐惧怕孤独,从一开始的单打独斗到渐渐合群躲避孤独。不巧的是,考研就是一个孤单修炼的事情,没有任何人能够去帮你,于是二十出头的我们,从“牛*吊炸天,我要改变全世界”逐渐蜕变成“我要适应这个世界,我要适应孤单”。过去总是赶赴一场又一场热闹,在觥筹交错间,推杯换盏时,说一些违心的话,做一些违心的事,慢慢失去自我。但愿,酒阑人散后,剩下的只有空虚落寞;但愿,灯火阑珊处,留下是考研最美好的回忆。


数据介绍


本文统计的对象为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 月再夺语言榜首

☞ 程序员真的都不爱炫富吗?

☞ Elastic:Beyond Search!

 会玩! 比特币诈骗手法升级, 从要钱到要命!

☞ 特斯拉加速“国产化”,上海工厂一期建设曝光

print_r('点个赞吧!');
var_dump('点个赞吧!');
NSLog(@"点个赞吧!");
System.out.println("点个赞吧!");
console.log("点个赞吧!");
print("点个赞吧!");
printf("点个赞吧!\n");
cout << "点个赞吧!" << endl;
Console.WriteLine("点个赞吧!");
fmt.Println("点个赞吧!");
Response.Write("点个赞吧!");
alert("点个赞吧!")
echo "点个赞吧!"

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存