用Python分析了1980~2015年考研英语真题词汇,原来考研英语应该这样考!_爬虫分析历年专八真题词汇(1)

  • 前言
  • 数据介绍
  • 实现过程
  • 考研英语词汇统计分析

前言

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

数据介绍

本文统计的对象为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')


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210511152217670.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaWd1aWd1,size_16,color_FFFFFF,t_70)

**感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:**



① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值