如何利用 Coursera 給的 [字幕txt文件] 解決生詞問題?
例如我的水平是:coursera 字幕有10%的單詞不認識,都是核心詞啊。正常速的話20%句子需要重播。
但可以提前獲得字幕的txt文件,請問有什麼學習方法和工具可以解決這個問題?比如把單詞按級別(四六級,托福,Gre等)區分出來。
嘿,怒答,這個我擅長啊!
------怎麼感覺自己就是每天琢磨這些奇奇怪怪沒什麼用的事情
------有段時間我讀外文書,在讀書之前喜歡做一件事,就是把裡面的生詞找出來背誦一下,所以稍微積累了一點經驗。不正之處、或有更好的方法請指出。
你可能需要三個工具:- 粗通一門編程語言(推薦Python為佳),要有良好的字元串處理能力(我的意思是別用C)以及良好的正則表達式支持(我的意思是,別用C),可能還需要能夠方便的處理網路連接問題(我再說一遍,我的意思是別用C)。
- 字典,你需要為你的生詞加註釋。
- 詞庫,用來篩選生詞
先說詞庫的問題:
之前也有人提到需要一個可信任的詞庫,可以選擇四級 4000、六級 6000、TOEFL 10000,之類的均可,如果這裡面也可能有生詞的話,高中辭彙也不錯。高級一點的還有 Collins 分級辭彙。當然,最好的話還是自己手動積累信任單詞。方法就是說,找一個絕對、完全認識的詞庫(四級總該有吧),在此基礎上不斷添加自己認識的單詞。你可能需要寫一個小的程序來處理這個問題。這個詞庫最好隨著你的能力增長動態維護,用途廣大啊。
再說字典:
雖然你可以從網上找到各種字典,什麼牛津朗文不在話下,神奇的mdict和stardict、colorddict為我們貢獻了大量的優質詞庫。
但是,如果你選擇使用上面幾種的話,就不得不自己再進行parse了,大部分都是壓縮過的,你可能得自己解碼。
更好的選擇是使用網路詞庫API啦,我嘗試過DOM解析 http://dict.cn 海詞頁面(直接get獲取十分贊),金山詞霸API(我找不到網址了……),牛津朗文也有各自的網路詞典可用。
獲取中文英文解釋以後直接加入就可以了。
最後是關於文本處理解析的問題:
我覺得這個工作必須的依靠一本高級語言才能搞定了吧,正則表達式最好要支持,不然的話可能需要手寫分詞什麼的。
關於分詞:如果有正則,可以使用 r"[w]+" 之類的命令將所有的字母單詞解析出來(格式太奇怪的話可以自行調整……),比如python,直接一句 words = re.findall(r"[w]+",text)就可以了。如果沒有正則表達式支持,則可以手工判斷了,空格、句讀、換行符感嘆號問號波浪號圓括弧中括弧,下劃線中劃線等等以及組合情況。
然後,你就要面臨英語NLP中最最噁心的問題了——Formula(Lemmatize)。我當時在這上面困惑了十分久,後來稍微了解了一些NLP才搞定這個問題。
舉個從stackoverflow上找來的例子:cats running ran cactus cactuses cacti community communities
你在詞庫里加入了cat,表示你認識這個單詞,可是一parse,一filte,發現你不認識cats這個單詞啊~好,查!插!擦!結果你發現滿屏都是不認識的單詞了,什麼apples啊went啊going啊goes啊doing啊does啊bulabulabula~~~
所以你可能還行需要一個叫做Lemmatizer的東西,常用的有SnowBall的開源工具,Python NLP ToolKits裡面有一個lemmatizer效果也很不錯。
好,所有工作基本完成,重新梳理一下流程啊:- 建立一個詞庫文件,可以在已有的詞庫上自定義擴充
- 找一個在線詞典API調用,或者parse好自己喜歡的詞典
- 把你需要的字幕文件、書籍文件用你選擇的編程語言做分詞
- 對單詞做lemmatize
- 調用字典API獲取解釋插入,按需求調整字幕格式(可以上漂,也可就在後面括弧解釋嗎)
- 掛載,enjoin it
以上,很簡單是不是,如果題主沒有任何技術背景,可能需要稍微學那麼一點點東西(或者找個有技術背景的 基友/姬友/男/女朋友):
- Python語法入門(推薦)
- urllib使用(網路)
- BeautifulSoup(DOM解析)
- Regular Expression(分詞)
- Python NLP Toolkits(words lemmatization)
- STR文件格式
快謝謝我!
為什麼都這麼複雜呢......
我是Mac系統,Chrome的有道劃詞插件總出幺蛾子,所以用了Sleipnir。我想,Chrome之外的瀏覽器應該也有很多支持有道的自帶即指即譯功能吧。視頻中的字幕是獨立的,所以一指就行了啊...
連Mac都有的便捷功能,斗膽猜測Windows下應該更容易實現吧?因為Mac版有道還沒有單詞本功能,我記得Win下的有道輕鬆一鍵加入單詞本呀。
如果只求明白詞義不求背誦和複習,上述方法就足夠了。
如果要背單詞,Windows的方法也說過了。
如果在Mac系統的話,我一般在旁邊開著個iPad(iPhone一個道理),打開有道,調到系統英文鍵盤,開語音,講師講哪個詞就跟讀那個詞,瞬間查到,放到單詞本。不僅加了生詞,還通過跟讀加深了記憶呢。
沒iPad的時候,我開著自己的安卓機,調出谷歌原生鍵盤語音查詞。(會翻牆去PLAY下原生鍵盤還是很好用的),拗口的詞還可以用滑動手勢輸入,效率不比語音低。
然後按著有道詞典給你的安排背就好了咯。
————————————————————————————————寫完發現跑題了。我想說的是,用字幕txt解決生詞問題這個想法本身的意義就不大,好好的聲情並茂的課就被你這麼搞枯燥了。你到底是要聽課學知識呢還是背單詞呢?提供一個思路,大概方法是修改字幕文件,把其中的難詞生詞自動加上釋義,然後保存為新的字幕文件,然後在播放的時候載入修改過的字幕文件
步驟如下:
1、比如你認為自己一般來說GRE單詞和TOEFL單詞都有困難,那麼就去某個地方下載GRE/TOEFL詞表,包含釋義2、掃描SRT字幕文件,然後對於其中的每一行的每一個單詞,判斷它是不是包含在GRE/TOEFL詞表裡面。
3、如果是的話,就把SRT文件中該行的該詞替換成 「原詞(釋義)」的形式。
4、保存為新的SRT文件,然後在播放的時候載入該新文件,就會看到帶難詞釋義的字母啦
直接上鏈接,Vocabulary Analyzer高階辭彙提取工具http://tools.eflclub.me/VocabularyAnalyzer
利用有道智能翻譯註釋(先需要安裝有道智能翻譯瀏覽器的插件)
Chrome Web Storehttp://ie.sogou.com/app/app_2396.html但是這個插件不能注釋txt文件,先把txt文件複製到你的博客上,點擊預覽(不必發布),然後在預覽頁點擊有道智能翻譯插件,有三個選項,一般選GRE托福選專家級別,四六級選擇進階,然後一個注釋版本的講稿,提前預習一下這個講稿裡面注釋的關鍵生詞,把重要核心注釋單詞記到紙上或者單詞本。最浪費和分散精力就是查單詞,擾亂了連貫的思維,在大致不影響理解的情況下,不要去頻繁暫停查單詞。提前用這種方法預先定位到難詞,就會提高效率,而且只需點擊幾個網頁的時間。
上面是比較簡單的解決方法,如果技術流,可以考慮有人把卡片記憶軟體anki和有道智能翻譯結合,用Python寫的一個程序:洛克生詞本,可以把注釋的生詞連同原文中的句子導入ankihttp://i.youku.com/u/UMTE3ODg3NDky/videoshttp://pan.baidu.com/share/home?uk=687894212#category/type=0
當然還有人給出了程序員的方法,建立自己的詞庫,畢竟利用有道智能翻譯的三個等級去找生詞還是和自己的掌握有一定的差異。不會技術上的方法,所以只說一點自己常用的方法,不知道能不能通用到計算機類課程中。我是學經濟的課程的時候發現很多生詞,一些是經濟領域的,一些是口語上的,自己本身單詞量其實也不多,所以經常需要查詞。
1. 對應課程內容找相應的外文教材,通常這些教材後面都有辭彙表,比如我找到的是微觀經濟學什麼的,後面都有中英術語對照。如果能找到老師推薦或者使用的教材匹配度會更高一些。(好像跟題主說的txt字幕沒什麼關係……不好意思扯遠了。)用這種方法的優點是網不用撒很大,可以拓展相關詞。2. 課前預習txt文件,尋找高頻難懂辭彙,就是大致瞄一下內容,發現不會的似乎又看起來比較重要的詞(影響句子核心意思)用字典查一下什麼意思,然後自己在筆記中進行標註。再聽內容的時候就可以直接看到對應解釋,多聽幾遍就會記住。3. 直接用txt內容谷歌翻譯……但是這是下下策了。你可以考慮去弄一份托福或,Gre的單詞表。然後用Java把txt讀進去。用匹配的方法,把詞語找出來。加入高亮,區分,粗體等辦法得到你想要的詞語,然後背誦即可。
推薦閱讀:
※寫代碼時大括弧該不該換行?
※學習計算機圖形學,有哪些相關資料與書籍值得推薦?
※有哪些需要計算機技術,又和音樂相關的職業?
※如何評價2016年數學建模國賽?
※有哪些比較基礎的計算機書籍?