python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表...

作为一名19考研er

距离我考研结束已经过去大半年

想和大家分享一下当初背单词的骚操作

众所周知

考研英语“得阅读者得天下”

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第1张图片

提升词汇量又是提高阅读的关键

那么问题来了?

大家都是怎么背单词的呢

从A到Z拿起砖头书就开干 

abandon abandon 放弃... ...

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第2张图片

又或是拿起《考研大纲词汇5500》

背了前面忘了后面

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第3张图片

也不能说不对...

只是考研时间争分夺秒

这样 太慢了!

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第4张图片

还有一个问题

你背的单词你确定它考吗?

你考研大纲5500有多少零频词你知道吗?

一个生词死磕半天

却发现他从来没在真题中出现过

难受吧

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第5张图片

既然要应试

就要有应试该有都样子

考研阅读如此重要

那最快得办法就是直接背阅读里的单词

背阅读里的中高频词

”啥?“

”我一篇阅读都还没做过现在直接拿起阅读看”

“到时候做起真题岂不是被剧透一脸!”

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第6张图片

不不不,还没说完

下面就来教你怎么高效的背阅读里的单词

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第7张图片

首先我设想的程序是这样的

输入:历年的阅读真题

输出:考研真题词频降序表

啥是词频降序表我先解释一下

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第8张图片

如图,左边是历年真题出现单词

右边是此单词的频数,也就是出现的次数

整张表对出现次数降序排列下来

就叫作词频降序表

程序的设计思路是这样的

(看不懂就直接跳过这里吧,文末可直接获取词频表)

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第9张图片

先下载好历年的真题

然后我挑选了其中的阅读和完形部分

统一整理成一份txt格式的英文文本数据

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第10张图片

数据准备好了

接下来开始编写程序

我采用python常用的自然语言处理包

NTLK(Natural Language Toolkit)

在控制台使用pip install nltk命令安装NLTK库

执行如下python语句下载语料库

640856d91ef9142a8ecfadffa67d154c.png

界面弹出包管理界面

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第11张图片

选择all然后Download就行

准备工作完毕就可以正式的编写代码

首先用正则表达式切分特殊字符

比如逗号、分号、冒号等

pat_letter = re.compile(r'[^a-zA-Z \']+')

还有特殊的缩写单词

比如

can't ---> can not

I've--->I have

...

同样编写它们的正则规则

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第12张图片

紧接着对文本进行分词操作

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第13张图片

# 分词处理words = nltk.word_tokenize(text)

再对无意义的停用词和初级词汇进行过滤

停用词可以理解为无实意的虚词,如of、is等

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第14张图片

(NLTK英文停用词库)

初级词汇就是apple、hello这种,都是需要剔除的

剔除的依据采用BNC采用词汇

我们从中进行挑选出部分初级词汇进行过滤

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第15张图片

(BNC常用词汇表)

将停用词表和初级词汇表整合成一个过滤词表

用if语句将属于过滤词表的单词通通过滤掉

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第16张图片

下一步,词形还原

gril,grils这种同一个词只是形式不同

我们都需要在保持词性不变的前提下对这些词进行还原

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第17张图片

阅读的词汇处理干净后

就要对词语进行词频的统计和排序

直接使用python提供的collections.Counter()模块

对集合元素进行统计

 # 返回单词和词频 并排序collections.Counter(words).most_common()

最后导出成CSV格式

就得到了我们想要的词频降序表

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第18张图片

对词频表进行初步分析

我们可以发现

有2013个单词

只出现一次!

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第19张图片

而真正考研反复出现的单词

仅仅只有两千多个

我们只要按照频率从高往低背

就可以率先解决阅读中的大部分生词

那么问题又来了

难道以后背单词都要对着excel背吗

没有中文、没有例句、没有发音?

打死我也不会去用的

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第20张图片

误会了

到这里还没结束

用过墨墨背单词的一定知道

有一个功能是添加自定义词库

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第21张图片

进去后的界面如下

复制词汇表的第一列单词

然后粘贴进来

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第22张图片

保存后即可生成自定义的单词本

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第23张图片

墨墨背单词提供了单词的

发音、翻译、例句、记忆方法等功能

并且能够根据艾宾浩斯曲线安排复习计划

将词频降序表与墨墨背单词结合一起

从此考研词汇就再也没有看不懂的了

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第24张图片

从最高频的词汇开始背起

抢先抓住阅读的核心词汇

背的每一个单词你都知道他在文章中出现了N次

意味着每背一个单词

将来你都少错N次

视频教程在这

公众号发送考研单词

即可获得考研词汇表

python 词表里的词不符合_教你背单词 | 利用python分析考研英语阅读并生成词频降序表..._第25张图片

你可能感兴趣的:(python,词表里的词不符合,python英语词频)