當前位置:
首頁 > 新聞 > 這是一份專為程序員編寫的英語學習指南

這是一份專為程序員編寫的英語學習指南

雖然 PHP 是最好的語言,但所有程序員必須學會的只有英語。面對鋪天蓋地的英文文檔和教程,我們能做到的只有以最快的速度學會這門語言了。近日,一名程序員把自己學英語的心路歷程發布在 GitHub 上,並很快獲得了超過 1900 個 star。

雖然這名程序員此前並沒有很好的英語基礎,但卻曾面臨「必須學好」英語的挑戰。面對這樣的情況,他選擇使用程序員思維來解決這個問題。讓我們看看他是如何做到的。

項目鏈接:https://github.com/yujiangshui/An-English-Guide-for-Programmers

這是一份專為程序員編寫的英語學習指南

本指南的內容概要和目標人群

本人上一次正式英語考試大約是五年前大學四級考試,得分 442,大學每學期考試基本是 60 多分過線就好,純屬英語渣底子很差。但是由於一些特殊需求,雅思需要考到 6.5 分及以上,所以自 2018 年 6 月份開始一直在學習英語。在學習過程中,對語言學習從陌生到熟悉,從毫無頭緒到了解一些實用的訓練方法,從亂看經驗經常換方法到總結出自己的學習方法。

經過四個月斷續學習 + 接近兩個月的全職突擊備考,考了 PTE 考試(類似雅思的英語水平測試)並拿到 63 分,對應雅思 6.5 中上,滿足大部分學校留學要求以及出國技術移民的要求。備考過程十分艱苦,個人感覺遠超高考。雖然離十分流暢的跟 Native Speaker 交流還有一段距離,但是相比四級 442 的水平有了幾倍的提升。故此編寫教程進行階段性總結,一來方便自己制定下一步訓練計劃,二來希望可以對同等水平有需求的朋友有所幫助。

本教程目標人群是想要花一些時間真正掌握英語的人,尤其適合英語渣。對於英語渣來說,網上雜七雜八的英語學習技巧和經驗不一定會有很多幫助,甚至會誤導。比如這篇回答(https://www.zhihu.com/question/22968875/answer/529514279)就說了,如果別人問答主如何學英語,她頂多給一句「多看美劇,培養語感」,好在這篇回答詳細說了答主的水平和長期的努力細節,否則會誤導一大片低水平英語渣去拚命的看美劇。所以在英語學習過程中,要注意查看符合自己水平的經驗和教程,否則可能會走彎路。

如果你在尋找《21 天掌握英語》、《10 天背會 1000 詞》、《10 天搞定英語寫作》之類的資料,這份指南並不適合你。尤其是語言學習,學習周期都是以月或者年來計的,你越早明白語言學習沒有技巧,就會越少浪費時間和金錢在各種資料和經驗上面,走越少的彎路。

由於網上各種英語學習技巧的效果跟學習者的水平相關,所以本指南會深挖語言學習的本質(主要用中文舉例)並用程序員易於理解的方式去思考,並提供自己根據本質推演出來的訓練方法和經驗做參考。重中之重是你要根據本質自己設計適合自己的訓練方法,同時可以甄別網上看到學習方法和資料,判斷是否適合自己使用。

需要補充的是,由於本人的水平有限而且也在持續學習,後續會經常完善、升級、更新本指南,強烈建議 Watch 並時而回來看看。因此如果轉載本指南,請保留出處避免信息過時。如有異議或者建議,也十分歡迎在 Issue 中討論。還需要注意的是,由於本文是文本形式,不好播放聲音,所以用中文來描述一些單詞的錯誤發音,在日常英語學習中應該使用音標而不能使用中文標註發音。


如何構建一個識別英語的程序

現在我們不討論你如何學英語,而是讓你構建一個可以識別、交流英語的程序,你會如何設計?


簡單的需求分析

以中文為例,當你聽到一個女人對一個男人說:「你是一個男人嗎?」時,你會收集到哪些信息?你需要哪些信息來明確這個女人想表達的確切意思?

首先是聽力輸入,你需要確保麥克風錄入了音頻,然後拿到的聲波內容是 U*#@&!&&*。之後我們需要將聲波內容輸入到一大堆分析器中進行分析,並得到比較精準的意圖。

第一個可能是性別分析器,通過一定的規則識別出這是一個男性的聲音還是女性的聲音。因為這句話是男的說出來還是女的說出來表達的意思是不一樣的。

第二個就是內容識別器,先是載入粵語匹配引擎和粵語語料庫發現聲波無法匹配解析,那麼換成普通話引擎和語料庫。此時如果你的語料庫里有「你」、「是」、「一個」、「男人」、「嗎」這些聲音素材,那麼就可以匹配解析出這句話:「你是一個男人嗎?」。換言之,如果你沒有粵語語料庫和解析引擎,即便是給你一段粵語錄音你也聽不懂。如果這句話有一個生僻單詞你語料庫里沒有,那麼也是無法識別出來。

之後還有更多識別器,比如年齡、情緒識別器、重音和疑問語氣識別句等,這些因素共同決定了這句話究竟想要傳達什麼意思。如果是一個女性的激動等感嘆語氣「你是一個男人嗎!」,那麼可以推測出這個女的跟男的有一定的關係,這個男的做出了一些傷天害理的事情導致這個女性在質問。如果是一個輕聲細語的疑問句「你是一個男人嗎?」,可能是一名女性想確認對方的性別。當然更準確表達這個意圖的句子應該是「你是男性嗎?」。


比較基礎的方案設計

上面需求分析只是簡單的介紹了 聲音 -> 聽力識別器 -> 意圖 的過程,實際上語言交流是聽說讀寫,其中包含兩個識別器(聽力識別器和視力識別器),一個核心理解器,兩個表達器(口語表達器和書寫表達器)。通過對應的實際場景,我們可以簡單的梳理出對應需要的功能。

# 聽力識別器

  • 聽力能力
  • 說明:要求可以輸入聲音並轉換成一種可分析的信號。
  • 訓練:買個好麥克風,對應人類是保護好耳朵和聽力。
  • 口音識別器
  • 說明:各類方言比如粵語,各種口音比如東北口音、廣東口音、英式發音和美式發音。
  • 語言特性識別器
  • 說明:語言之間會有不同特性,比如中文沒有略讀,都是一個一個字念出來,而英文會為了說話省勁而略讀或者連讀,比如「drink it」並不是單個蹦的「准克一特」,而是類似「准 kei 特」。中文的「喝它」就是「喝它」,不會有類似「赫特」之類的變化。
  • 訓練:擴充特殊語言引擎的匹配規則,擴充語料庫,當聽到「准 kei 特」可以識別出是「drink it」。
  • 音量調節和雜音處理器
  • 說明:可以通過演算法過濾無用雜音,並將小音量調大使其清晰。人類天然進化出這種能力,無需特殊訓練。
  • 語氣、性別、身份、語速識別器
  • 說明:人類天然進化出這種能力,無需特殊訓練。
  • 上下文緩存器
  • 說明:交流過程要有上下文內容緩存,結合輸入理解器。

# 視力識別器

  • 視力能力
  • 圖形識別器
  • 說明:不同字體、變形(英文大小寫、中文繁簡體等)都可以識別出來具體字元,同時需要識別標點符號等輸入理解器。
  • 訓練:識別能力、精準度和速度。比如一眼看出 message 和 massage 是不一樣的。
  • 上下文緩存器

# 理解器

理解器可以說是最重要的部分了,也是最難的部分

  • 語料庫
  • 說明:字母、單詞、發音、多重語境含義、歷史文化背景、不同形態,同義詞反義詞相近詞。
  • 訓練:需要長期積累和擴充,需要大量訓練。
  • 識別引擎
  • 說明:單詞拼裝起來的句型句式、語法、時態含義和規則、標點符號、單複數、慣用表達。
  • 訓練:單點突破,專項訓練,逐步體系化積累。
  • 思考和思維能力
  • 說明:針對意圖結合之前的記憶以及經驗得出自己想要表達的意圖。
  • 訓練:結構性表達,思維能力鍛煉,思考和總結能力。這個與語言無關。
  • 上下文緩存器

# 口語表達器

當理解器思考運算並得到想要表達的意圖之後,就需要開始表達傳遞出去。

  • 意圖語料組裝器
  • 說明:將意圖結合語料中的單詞、句型句式、慣用表達進行匹配組合,挑選出最符合你意圖的語句。
  • 發音器
  • 說明:根據組裝出來的內容,結合特殊的連讀、略讀等語言特性,轉換成發聲信號。對應人類的話是控制舌頭、聲帶和呼吸系統的肌肉使其變成對應形狀,讓氣流通過聲帶發出對應聲音。

# 書寫表達器

  • 意圖語料組裝器
  • 書寫表達器
  • 說明:將語料組裝結果以視覺的方式表達,對於人類是控制手部肌肉書寫出對應形狀。

從上面可以看出,口語聽力相對於閱讀寫作更加困難,主要因為實時性的要求。你必須迅速反饋不經過思考,這要求你要無意識的去用英語表達,所以語言學習沒有技巧,只有大量訓練。

這是一份專為程序員編寫的英語學習指南

圖片來自:toggl.com

英語能否速成?網上那些快速背單詞的方法是否有效果?

你越早明白語言學習沒有技巧,就會走越少的彎路、花越少的冤枉錢。

當然可能也有好的技巧,可以了解他們的方法,分析下是否能真正學到、練到,再決定用他們的方法。不過除非天才,速成基本上是不可能的事情,你也可以看到上面介紹,英語要學習的信息量太大,而且重點是訓練成無意識的輸入輸出。如果你依賴一些思考和技巧,那麼肯定會卡頓,導致無法正常交流。


如何使用這份指南?

  1. 先了解語言學習的本質,即語言學習到底是要學習什麼,訓練什麼。
  2. 了解本人的一些有效學習方法,查看我是如何通過本質推斷這個方法是否有效。
  3. 按照自己的需求定製學習方法,在日後看到某些學習方法時可以有效推斷該方法是否有效。

這裡舉一個反例:有什麼相見恨晚的背單詞方法?(https://www.zhihu.com/question/48040579/answer/521694493),大概思路就是 10 個隨機單詞一組,先大體一看,開始編故事串聯起來十個單詞,通過艾賓浩斯周期回顧這組單詞,回顧時遮住漢語意思開始回想,如果想不起來想想小故事,通過故事來回憶起這個單詞的意思。

這其實就是聯想的記憶技巧,你試一下絕對也好用。但這個過程中有很多問題:

  1. 詞義損失嚴重。一個單詞幾個簡單的中文釋義,而且還基於部分中文釋義來編造離奇小故事,會導致詞義理解偏差更嚴重。
  2. 語料庫內容不正確。語料庫你需要記憶的是 單詞 -> 諸多釋義、例句、聲音等等,但這種方法你記住的是 單詞 -> 幾個釋義,一個故事,故事關聯的其他單詞。
  3. 缺乏當前單詞聽力和發音的輸入、鍛煉。

所以知乎上找來的方法不推薦使用,因為投入的成本和收穫比比較低。試想:當一個老外對你說一個單詞,你會用故事去聯想這個單詞是什麼中文意思,然後再去做出反應嗎?而且這個中文意思可能並不是老外想表達的意思。其次,單詞你可能說起來磕磕碰碰甚至發音是錯的,因為在背的過程中,你並不知道它準確的發音,也沒有訓練。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

50種常用的matplotlib可視化,再也不用擔心模型背著我亂跑了
AlphaGo之後,DeepMind重磅推出AlphaFold:基因序列預測蛋白質結構

TAG:機器之心 |