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

作为一名19考研er

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

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

众所周知

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

d8032e2826fc4cb1e1f7c211b43e03eb.png

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

那么问题来了?

大家都是怎么背单词的呢

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

abandon abandon 放弃... ...

499dca92999b364c59d11895578b80e0.png

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

背了前面忘了后面

1b22994a268680a465baf11584811c18.png

也不能说不对...

只是考研时间争分夺秒

这样 太慢了!

1108b66347346e1e8342aec010308ee0.png

还有一个问题

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

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

一个生词死磕半天

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

难受吧

62c633d4b45d5f46d63d3fbe4db0e34d.png

既然要应试

就要有应试该有都样子

考研阅读如此重要

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

背阅读里的中高频词

”啥?“

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

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

c697620fec24cfeda9d9b3fade491c05.png

不不不,还没说完

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

f1c15e74d83cf43fdc2b85a95c748308.png

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

输入:历年的阅读真题

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

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

6aa882e369255bb7c3ae6a617fcede77.png

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

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

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

就叫作词频降序表

程序的设计思路是这样的

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

96d43eda163f13c658b62c2311cc7d2c.png

先下载好历年的真题

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

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

2375fb26875b086812473fbe44fef858.png

数据准备好了

接下来开始编写程序

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

NTLK(Natural Language Toolkit)

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

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

640856d91ef9142a8ecfadffa67d154c.png

界面弹出包管理界面

ab08b38e23f564994af3ffee3c931346.png

选择all然后Download就行

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

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

比如逗号、分号、冒号等

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

还有特殊的缩写单词

比如

can't ---> can not

I've--->I have

...

同样编写它们的正则规则

2235a58ddf43d5a729f7384f230f439f.png

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

b694d5ad5e74e4b8f768e4120a4afca2.png

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

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

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

25c5305f45f79c671818d8e5d3efa841.png

(NLTK英文停用词库)

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

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

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

64b86184b010da8ea0920206dee80745.png

(BNC常用词汇表)

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

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

6d3a3d04b0b4bc3c68a6c9f46622b1e1.png

下一步,词形还原

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

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

1c2820905b9339b544ffef774759efa6.png

阅读的词汇处理干净后

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

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

对集合元素进行统计

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

最后导出成CSV格式

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

23e1a498b285adb71b842e927bce2c14.png

对词频表进行初步分析

我们可以发现

有2013个单词

只出现一次!

8c63faa96ad8cbca021e4ed80b772156.png

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

仅仅只有两千多个

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

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

那么问题又来了

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

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

打死我也不会去用的

c7a4fbb6bf4c647eae011279c5f30f0c.png

误会了

到这里还没结束

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

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

95827819969accf6d02d782abf485b81.png

进去后的界面如下

复制词汇表的第一列单词

然后粘贴进来

8a8f83a0063b84ab7695f08e529bd751.png

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

43d6b0374fe17bfb54c51ee30d08a17a.png

墨墨背单词提供了单词的

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

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

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

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

6cae40e14056ae8d8779d5a6a34bd59f.png

从最高频的词汇开始背起

抢先抓住阅读的核心词汇

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

意味着每背一个单词

将来你都少错N次

视频教程在这

公众号发送考研单词

即可获得考研词汇表

5921aa5905d1a3994b3f6529e8c992ac.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值