python 对excel文件进行分词并进行词频统计_教你背单词 | 利用python分析考研英语阅读并生成词频降序表...
作為一名19考研er
距離我考研結束已經過去大半年
想和大家分享一下當初背單詞的騷操作
眾所周知
考研英語“得閱讀者得天下”
提升詞匯量又是提高閱讀的關鍵
那么問題來了?
大家都是怎么背單詞的呢
從A到Z拿起磚頭書就開干?
abandon?abandon?放棄... ...
又或是拿起《考研大綱詞匯5500》
背了前面忘了后面
也不能說不對...
只是考研時間爭分奪秒
這樣 太慢了!
還有一個問題
你背的單詞你確定它考嗎?
你考研大綱5500有多少零頻詞你知道嗎?
一個生詞死磕半天
卻發現他從來沒在真題中出現過
難受吧
既然要應試
就要有應試該有都樣子
考研閱讀如此重要
那最快得辦法就是直接背閱讀里的單詞
背閱讀里的中高頻詞
”啥?“
”我一篇閱讀都還沒做過現在直接拿起閱讀看”
“到時候做起真題豈不是被劇透一臉!”
不不不,還沒說完
下面就來教你怎么高效的背閱讀里的單詞
首先我設想的程序是這樣的
輸入:歷年的閱讀真題
輸出:考研真題詞頻降序表
啥是詞頻降序表我先解釋一下
如圖,左邊是歷年真題出現單詞
右邊是此單詞的頻數,也就是出現的次數
整張表對出現次數降序排列下來
就叫作詞頻降序表
程序的設計思路是這樣的
(看不懂就直接跳過這里吧,文末可直接獲取詞頻表)
先下載好歷年的真題
然后我挑選了其中的閱讀和完形部分
統一整理成一份txt格式的英文文本數據
數據準備好了
接下來開始編寫程序
我采用python常用的自然語言處理包
NTLK(Natural Language Toolkit)
在控制臺使用pip install nltk命令安裝NLTK庫
執行如下python語句下載語料庫
界面彈出包管理界面
選擇all然后Download就行
準備工作完畢就可以正式的編寫代碼
首先用正則表達式切分特殊字符
比如逗號、分號、冒號等
pat_letter = re.compile(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格式
就得到了我們想要的詞頻降序表
對詞頻表進行初步分析
我們可以發現
有2013個單詞
只出現一次!
而真正考研反復出現的單詞
僅僅只有兩千多個
我們只要按照頻率從高往低背
就可以率先解決閱讀中的大部分生詞
那么問題又來了
難道以后背單詞都要對著excel背嗎
沒有中文、沒有例句、沒有發音?
打死我也不會去用的
誤會了
到這里還沒結束
用過墨墨背單詞的一定知道
有一個功能是添加自定義詞庫
進去后的界面如下
復制詞匯表的第一列單詞
然后粘貼進來
保存后即可生成自定義的單詞本
墨墨背單詞提供了單詞的
發音、翻譯、例句、記憶方法等功能
并且能夠根據艾賓浩斯曲線安排復習計劃
將詞頻降序表與墨墨背單詞結合一起
從此考研詞匯就再也沒有看不懂的了
從最高頻的詞匯開始背起
搶先抓住閱讀的核心詞匯
背的每一個單詞你都知道他在文章中出現了N次
意味著每背一個單詞
將來你都少錯N次
視頻教程在這
完
公眾號發送考研單詞
即可獲得考研詞匯表
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的python 对excel文件进行分词并进行词频统计_教你背单词 | 利用python分析考研英语阅读并生成词频降序表...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux c 读写mbr_一文看懂Li
- 下一篇: element vue 获取select