作为一名19考研er
距离我考研结束已经过去大半年
想和大家分享一下当初背单词的骚操作
众所周知
考研英语“得阅读者得天下”
提升词汇量又是提高阅读的关键
那么问题来了?
大家都是怎么背单词的呢
从A到Z拿起砖头书就开干
abandonabandon放弃... ...
又或是拿起《考研大纲词汇5500》
背了前面忘了后面
也不能说不对...
只是考研时间争分夺秒
这样 太慢了!
还有一个问题
你背的单词你确定它考吗?
你考研大纲5500有多少零频词你知道吗?
一个生词死磕半天
却发现他从来没在真题中出现过
难受吧
既然要应试
就要有应试该有都样子
考研阅读如此重要
那最快得办法就是直接背阅读里的单词
背阅读里的中高频词
”啥?“
”我一篇阅读都还没做过现在直接拿起阅读看”
“到时候做起真题岂不是被剧透一脸!”
不不不,还没说完
下面就来教你怎么高效的背阅读里的单词
首先我设想的程序是这样的
输入:历年的阅读真题
输出:考研真题词频降序表
啥是词频降序表我先解释一下
如图,左边是历年真题出现单词
右边是此单词的频数,也就是出现的次数
整张表对出现次数降序排列下来
就叫作词频降序表
程序的设计思路是这样的
(看不懂就直接跳过这里吧,文末可直接获取词频表)
先下载好历年的真题
然后我挑选了其中的阅读和完形部分
统一整理成一份txt格式的英文文本数据
数据准备好了
接下来开始编写程序
我采用python常用的自然语言处理包
NTLK(Natural Language Toolkit)
在控制台使用pip install nltk
命令安装NLTK库
执行如下python语句下载语料库
界面弹出包管理界面
选择all然后Download就行
准备工作完毕就可以正式的编写代码
首先用正则表达式切分特殊字符
比如逗号、分号、冒号等
pat_letter = pile(r'[^a-zA-Z \']+')
还有特殊的缩写单词
比如
can't ---> can not
I've--->I have
...
同样编写它们的正则规则
紧接着对文本进行分词操作
#分词处理words=nltk.word_tokenize(text)
再对无意义的停用词和初级词汇进行过滤
停用词可以理解为无实意的虚词,如of、is等
(NLTK英文停用词库)
初级词汇就是apple、hello这种,都是需要剔除的
剔除的依据采用BNC采用词汇
我们从中进行挑选出部分初级词汇进行过滤
(BNC常用词汇表)
将停用词表和初级词汇表整合成一个过滤词表
用if语句将属于过滤词表的单词通通过滤掉
下一步,词形还原
gril,grils这种同一个词只是形式不同
我们都需要在保持词性不变的前提下对这些词进行还原
阅读的词汇处理干净后
就要对词语进行词频的统计和排序
直接使用python提供的collections.Counter()模块
对集合元素进行统计
#返回单词和词频并排序collections.Counter(words).most_common()
最后导出成CSV格式
就得到了我们想要的词频降序表
对词频表进行初步分析
我们可以发现
有个单词
只出现一次!
而真正考研反复出现的单词
仅仅只有两千多个
我们只要按照频率从高往低背
就可以率先解决阅读中的大部分生词
那么问题又来了
难道以后背单词都要对着excel背吗
没有中文、没有例句、没有发音?
打死我也不会去用的
误会了
到这里还没结束
用过墨墨背单词的一定知道
有一个功能是添加自定义词库
进去后的界面如下
复制词汇表的第一列单词
然后粘贴进来
保存后即可生成自定义的单词本
墨墨背单词提供了单词的
发音、翻译、例句、记忆方法等功能
并且能够根据艾宾浩斯曲线安排复习计划
将词频降序表与墨墨背单词结合一起
从此考研词汇就再也没有看不懂的了
从最高频的词汇开始背起
抢先抓住阅读的核心词汇
背的每一个单词你都知道他在文章中出现了N次
意味着每背一个单词
将来你都少错N次
视频教程在这
完
公众号发送考研单词
即可获得考研词汇表
python 对excel文件进行分词并进行词频统计_教你背单词 | 利用python分析考研英语阅读并生成词频降序表...