為師大學畢業後,從事英語教培居然達八年之久,遠至株洲電力機車廠(今上市公司中國南車)的全廠骨幹大培訓,近到初三小同學的中考前突擊,也算英語教培業的老兵。我有一個感受就是——中國學子學英語,用詞非常貧乏,I think過來,I think回去,翻來覆去都是一些很「low」的表達。
於是當年我想,能不能做一個「詞彙豐富度」評價的小軟體。
思路是:
1,首先統計自己的作文一共有多少個單詞——total words;
2,然後統計自己的作文有多少個「不重複」的單詞——words;
3,將兩者相除,算個百分比,就大概能反應出文章的用詞豐富度——words / total words。
嗯嗯,這裡請你思考300秒,如果是你,你會怎麼寫代碼?
其實,思路是非常簡單的:
1,讀取並處理文件
2,統計單詞詞頻
3,統計全文單詞
4,計算結果
看過去好像有點複雜,但一共只需要8行代碼。
import re # 導入正則表達式庫
org = open('file/news.txt','r',encoding='utf-8').read() # 讀取新聞內容
text = org.lower() # 全部處理為小寫
text = re.sub('[^a-zA-Z\'\-]+',' ',text) # 只保留單詞、空格和一些必須的符號
words = text.split(' ') # 用split方法切分字符串,建立詞表
from collections import Counter # 導入統計工具庫
frelist = Counter(words).most_common() # 統計詞頻
print(len(frelist),len(words),len(frelist)/len(words)) # 計算豐富度
左右滑動即可查看全部代碼
我拿ChinaDaily(每日中國)上一篇文章做了測試,全文360個單詞,不重複的單詞高達223個,也就是61.9%的單詞,全文只出現過一次。可怕的豐富度。
那麼你要如何獲得自己的作文呢?把寫好的作文在電腦上打一遍,可能對你來說比較費勁。
其實,有一個簡單的方法。手機上打開微信,長按輸入法的話筒按鈕,就可以切換到語音輸入的功能。注意選擇語言為英語,然後你把自己的作文讀一遍就可以了,輸入法會自動幫你提取英文。這麼做,還能順便練習一下口語和發音。
快來試試看,統計一下自己作文的用詞豐富度吧。然後,試試看用意思相近或者更好的詞,替換掉那些你重複使用的low詞。很快,你的寫作成績就會提高啦!
在未來的數位化世界裡
數字能力將是每個人的基本能力
好奇心編程將舉辦一系列科技研學活動
帶大家一起看未來世界
預約編程與人工智慧體驗課
預約更多科技研學活動
請添加奇奇老師微信號