我為何使用Anki
最近在準備GRE考試,試用了市面上大部分的軟件,效果都不甚理想。個人認為,學習,無論是背單詞還是其他,都講求一個循序漸進。以琦叔的《GRE核心詞匯考法精析》為例,一個單詞可能有多種釋義,每個釋義都有同反義和派生詞,釋義本身又分中英文,第一遍學習是不可能面面俱到的。一個合理的方案,第一遍學習,只記憶簡單的中英文釋義,例句、詞根、詞源等輔助理解和記憶;第二遍,將單詞抽象到所屬的意群,記憶單詞之間的關聯(lián),即同反義;第三遍,考察單詞的使用情景;第四遍,造句或翻譯,將被動詞匯(見到便能理解)轉(zhuǎn)變?yōu)橹鲃釉~匯(想到便能使用)。我相信,這是一切學習軟件應照顧的根本需求??墒忻嫔希^大多數(shù)軟件還停留在學習內(nèi)容不達標的水準上,哪里還有精力去優(yōu)化學習流程呢。舉幾個例子吧。
扇貝。網(wǎng)站的理念非常好。也有用戶上傳了《GRE核心詞匯考法精析》的詞表。但因為版權緣故,單詞的釋義和例句仍是扇貝自己的。有多爛,相信用過的人都懂。當然你可以購買COBUILD,但那個詞典并不適合GRE。雖然用戶錄入的內(nèi)容部分彌補了內(nèi)容的不足,但瀏覽筆記、找到高質(zhì)量的筆記、收藏筆記這一流程本身也是有成本的。核心詞匯四千多個單詞,如果每一個都要手動精煉內(nèi)容,成本不可想象。
考滿分網(wǎng)出品的APP再要你命三千。看上去很美好。書籍內(nèi)容完整錄入,排版湊合,區(qū)分了小三千和大三千,對應我之前提到的學習方案的第一遍和第二遍,還可以按List和Unit來自主學習。但是,用起來完全不是那么回事。第一,這個APP基本沒有安排單詞復習的算法,同直接背書本沒有差別。第二,所謂的大三千,只是把同反義的內(nèi)容簡單加在了釋義后面。而且沒有把同反義區(qū)別對待。以上說了兩個典型。
還有大量未涉及的應用,都是半斤八兩的水平。
如果沒有更好的替代,我也許會選擇忍受工具不成熟而產(chǎn)生的各種不便利。但Anki就在那里,冷傲的注視著這一票為了小白用戶開發(fā)的軟件,蔑視著它們的種種幼稚與不足。她的潛臺詞是,雖然我有些難以駕馭,可一旦你掌握了如何使用我的精髓后,我能滿足你的一切需求(然并卵的同學此時可離開了)。先給大家上一個圖。

這個記憶庫內(nèi),我整合了從Amazon購買的《GRE核心詞匯考法精析》、《GRE核心詞匯助記與精練》,以及從網(wǎng)上找到的“不擇手段背單詞”的txt文檔。我把單詞按照用法拆分,以逐個攻破。
在這張卡片中,從上到下,以水平線劃分了10個區(qū)域。區(qū)域1,單詞本身。區(qū)域2,詞性、音標,中英文釋義。這個區(qū)域內(nèi)的內(nèi)容是我要記憶的。區(qū)域3至區(qū)域9輔助記憶。區(qū)域3,屬于該釋義的例句及翻譯。區(qū)域4-區(qū)域7,《GRE核心詞匯助記與精練》中涉及到該單詞的內(nèi)容。區(qū)域8,不擇手段背單詞的內(nèi)容。區(qū)域9,在線詞典。區(qū)域10,單詞卡片的標簽,方便自定義學習。上面這張圖片,其實是一張flashcard的背面,正面的內(nèi)容同區(qū)域1相同,我就不貼圖片了。而這張flashcard本身的類別是usage。其他類別還有ants、syns、pronounce。每一個單詞,Anki都根據(jù)我設置的規(guī)則,自動生成了這四類flashcard。事實上,Anki可以讓我極其方便的統(tǒng)一修改卡片的排版與內(nèi)容,以定制個性化的學習流程。
以上,我詳細描述了一個使用情景,旨在表明為何一定要使用Anki。如果激發(fā)了你的興趣,歡迎閱讀下面的Anki簡介。至于使用Anki背GRE單詞的經(jīng)驗(卡片設計、內(nèi)容整合、流程優(yōu)化),我會在下一篇文章中詳細介紹。
Anki 簡介
其實,大部分記憶軟件(甚至是詞典軟件)都允許用戶錄入自己的內(nèi)容,只是錄入的效率、使用的靈活性千差萬別。Anki無疑是其中的佼佼者。這得益于Anki的設計理念——將內(nèi)容與形式分開對待。
一張flashcard,不過是對一個話題(Topic)衍生出的一個知識點的一種呈現(xiàn)方法。以背單詞為例。一個單詞即一個Topic,相關的知識點有拼寫、發(fā)音、釋義、例句、同義詞、反義詞、同義詞辨析等等。一張flashcard的問題與答案不過是各個知識點的排列組合,所以一個Topic可以衍生出許多張flashcard。比如,一張flashcard可以在正面呈現(xiàn)單詞的發(fā)音,反面要求你拼寫單詞;或者正面呈現(xiàn)單詞的拼寫,反面回答單詞的釋義。
在Anki中,知識點放在Fields(字段)里,一個Topic所含的所有知識點構成了一個Note(筆記),所衍生的所有flashcard叫作Cards(卡片),一張card正面反面分別放什么(知識點如何組合)、怎么放,由Template(模板)決定。Note本身又可以抽象出NoteTypes(筆記類別)的概念。比如,單詞與數(shù)學定理,其知識點的結構應該很不一樣。單詞可以有拼寫、發(fā)音、釋義,數(shù)學定理則有定理名稱、定理內(nèi)容、定理證明等。因此,應該設計兩種不同結構的Note,于是自然引申出Note Types的概念。
上面的描述既抽象也不甚準確,舉個例子大家就明白了,看下圖(為了方便描述,后面會一直使用Field的中文,即“字段”):

我設計了一個Notetype,名字叫GreWord。左側圖片展示了其結構(有哪些字段),右側展示了該Notetype的一個Note。其中,word是字段名,"abandon"是word字段的內(nèi)容。注意,在Anki中,一個note應該有一個屬于自己的唯一標識,概念上對應于“如何稱呼這個Topic”。在這里,我將這個唯一標識設定為字段word_uid。相信有編程基礎的人讀到這里一定為我感到著急:左和右不就是對象與實例的關系么!的確,只不過我不想引入任何編程術語。我希望電腦小白也能通過我的文章認識到Anki的魅力。下面再來看看這個Notetype可以生成哪些卡片。我一共設計了4類flashcard,這里只展示最簡單的一類:syns(同義詞)。

左側即控制卡片內(nèi)容與形式的規(guī)則,右側是卡片的預覽。左側有3個大區(qū)域。上部控制卡片正面,中間控制卡片的整體樣式,下部控制卡片背面。這套規(guī)則的語法主體是HTML和CSS。但你并不需要對這兩者有太多了解,也能很快上手。以正面為例:
{{#syns}}
<div style='font-size: 40px;'>{{word}}</div>
<b>synonyms</b>
<br><br> of meaning<br>'{{explanation_en}}'
{{/syns}}
-
{{#syns}}...{{/syns}}是一個條件判斷,Anki語法。如果字段syns的內(nèi)容不為空,那么展示{{#syns}}...{{/syns}}之間的內(nèi)容。(...代表之間的內(nèi)容,下同) -
<div ...>...</div>,HTML語法,只是為了控制樣式。其中,style='font-size: 40px,設置<div>...</div>之間的文本字體大小為40px。 -
{{word}},對應字段word的字段內(nèi)容。對于abandon這個詞來說,即"abandon"。 -
<b>...</b>,HTML語法。加粗之間的文本。這里即加粗"synonyms"。 -
<br>,HTML語法。表示換行。<br><br>表示連續(xù)換兩行。 -
{{explanation_en}},對應字段explanation_en的字段內(nèi)容。這里即"to give(oneself)over unrestrainedly"
剛才介紹的第一點語法,Anki稱為conditional replacement。其主要目的在于避免程序自動生成不合理卡片。比如,對于一個出現(xiàn)在卡片正面的字段(作為問題的字段),有些note該字段的內(nèi)容可能為空,那么自然不該生成一個問不出問題的卡片。類似的,如果一個字段作為答案但內(nèi)容為空,那相當于一個有問題卻沒答案的卡片,也不該生成。這里,由于問題的答案即字段syns的內(nèi)容,所以要預先判斷下該字段內(nèi)容是否為空。相較Note更高一層的概念是Deck。可以簡單理解為Deck是存放Note的地方。一個Deck里,可以存放屬于不同NoteType的Note。Note與Deck的關系相當于筆記與筆記本。比Deck再高一級的是Profile。即Anki允許多用戶同時使用。一個用戶可以有多個Deck(筆記本)。所有的數(shù)據(jù)在用戶間是彼此獨立的。Profile與Deck的關系可類比為張三的筆記本與李四的筆記本。
寫到這里,相信讀者不難發(fā)現(xiàn),Anki雖然不是零基礎即可上手的小白軟件,但學習曲線并不陡峭。只需要掌握一點HTML的語法,即可隨心所欲的設計卡片。但工具終歸是工具。工具本身并不能解決問題。如果你是個懶人,Anki并不適合你,因為如果你不經(jīng)常使用它,那么所謂的卡片制作和管理效率的提升其實不值一提。而如果你是個有毅力而且喜歡自己動手豐衣足食的人,或者你把自己定義為一個終身學習者,那么Anki無疑是你的最佳選擇。最后一個章節(jié),我統(tǒng)一回答下有關Anki的常見問題。
Anki-常見問題
Anki是免費的么?
部分是。Windows、Mac、Linux/BSD以及Android版本都免費。IOS賣24.99刀。另外,Anki還有個免費的網(wǎng)頁版,Ankiweb。不過,還是用桌面版,功能最齊全。所有版本的下載鏈接都可在官網(wǎng)找到。Anki的IOS版為什么賣那么貴?
Anki的開發(fā)者全職開發(fā)Anki。程序員需要養(yǎng)家糊口。而且Anki提供的多平臺服務需要租用服務器,成本不可忽視。既然其他版本都免費了,那么只有在IOS版征收重稅來補貼開支嘍。Anki會一直免費么?
個人認為,桌面版和安卓版也會一直免費。作者說,如果未來Ankiweb的開支過大,那么會考慮引入類似Evernote的付費機制。即對于使用多平臺同步服務的免費用戶,每月限定同步流量。對于會員,提高流量上限,并提供一些高級功能。Anki可以本地離線使用么?
可以。只有涉及到多平臺同步時,才需要聯(lián)網(wǎng)。Anki需要注冊么?
如果想使用多平臺同步服務,你需要注冊一個Ankiweb賬號。否則,不需要。Anki的同步服務好用么?
肯定不如Evernote那么靠譜。而且國內(nèi)的同步速度一般。不過好在很多時候,你只是同步學習進度,所以流量只有幾kb。綜合來看,速度可以接受。另外,Anki是開源的,基于python開發(fā)。如果有一天官方宣布停止維護Anki了,原則上你可以自己架設同步服務器。而且我相信,真到了那個時候,民間會有大神接過這把神圣的火炬,讓Anki越走越遠的。Anki內(nèi)可以添加音頻、視頻、圖片、數(shù)學公式么?
都可以。步驟很簡單。比如添加圖片xxx.png。你只需要把圖片放在Anki的collection.media文件夾下,然后在相關字段引用即可。引用語法可以在Anki的在線手冊中查到。不過,目前Anki借助Latex來渲染數(shù)學公式,所以公式的編輯、預覽和同步都不太方便。開發(fā)者說,未來也許會遷移到Mathjax上。Anki的使用手冊有中文版本么?
有。但翻譯的很爛。還是去讀英文版吧。有沒有現(xiàn)成的Deck可以學習?
有很多。比如,Anki官方提供的shared decks。有沒有比較好的Anki中文使用教程?
有。隨便一搜,排名靠前的都不錯。但大部分止于技術性的介紹。其實我覺得,Anki的技術只是允許你更自由的設計卡片,本身沒太多值得說道的。關鍵是怎么設計卡片。我所寫的Anki系列,會從一個個具體的使用情景出發(fā),來分享我設計卡片的心得,而非小白向的科普。所以,后續(xù)文章的跳躍幅度會比較大。如果你覺得我表達還算清晰,希望我能多寫些小白向的文章幫助讀者入門,那么請留下你的評論。如果這篇文章下,求助入門教程的評論超過一百,我會單開一個入門系列。就醬。(唉,舊坑未填,又開新坑)
最后,如果你覺得這篇文章不錯,請點擊下方的喜歡按鈕,謝謝支持!