程序员的英语学习指南

对程序员来说,“渣英语”可是限制自己更上一层楼的重要阻碍。不仅阅读最新英文研究与教程困难,去国际顶会与别人开口交流也成了问题。

怎么办/span>

截至量子位发稿时,GitHub已经5000多Star了。篇幅较长,建议先码后看。

640x_fmt=png

GitHub原文链接:

https://github.com/yujiangshui/An-English-Guide-for-Programmers


专为程序员编写的英语学习指南。

预警:本指南可能会花费你大量时间阅读,建议通过周六上午整块的时间一次性读完,并在下午制定自己的学习策略,然后在周日开始实践一下。

目录

  • 本指南的内容概要和目标人群

  • 语言学习的本质浅析

  • 如何构建一个识别英语的程序

  • 我的训练方法

  • 常见问题 QA

  • 资料、工具推荐和扩展阅读

  • 总结

本指南的内容概要和目标人群

本人上一次正式英语考试大约是五年前大学四级考试,得分 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 并时而回来看看。

语言学习的本质浅析

语言的本质功能是人与人或物体之间的意识、知识的交换,它是几种方法中最高效和具备扩展性的方法,但并不是唯一方法。举几个例子:

  1. 在国外旅行,当地语言可能不会,但不会饿死。点餐的时候可以用 this 大法或者手指指菜,当然也可以打开大众点评之类的,给服务员展示图片下单。

  2. 看一本俄语、韩语、日本语的 JavaScript 书籍时,你可能不懂上下文是什么意思,但你看到中间的 JavaScript 示例代码,就明白上面可能讲的是什么东西。

  3. 一个外国人表情愤怒、语速飞快、声音大声,即便你听不懂他在说什么,但你可以明白他现在很愤怒,可能在骂人。

从上面的案例你可以看到,即便你不懂语言,也可以交换意见,只是掌握语言之后,你可以更精准、更快、更容易的交流、交换、表达。

通过语言的本质,我们可以知道:

  • 语言只是一种表达方式,作为媒介将人的意识意念传递给其他人或物体,因此可以推导出:

    • 脑子好使但语言表达不行,在别人看来等于脑子不行

    • 语言受限于表达能力,对意识、知识的传递是有损的,尤其是翻译,损失更大(所以翻译的最高要求 信达雅 其实对翻译者要求非常高,要先理解转换为自己意识,再用另一门语言精准表达意识)

基于上面我们可以进一步推导出:

  • 语言的学习,是学习双方都能理解的表达方式和表达思维。 比如:apple 对于你是苹果,对于对方也是苹果;英文的思维习惯是从细节到具体(地址先说门牌 最后是国家,日期先说天最后是年份)而中文思维习惯是从大到小。

  • 语言的表达不能通过转换为自己熟悉的语言再转换。 比如:在实际交流中,你不能将一段英语翻译成中文,理解了意思再想出中文,再翻译成英文表达出去。

一是信息有损,二是思考的过程太慢影响交流的时效性。 实际上有些英文句子只可意会不可翻译,所以很多熟悉两门语言的人会常常混用表达。

如何构建一个识别英语的程序

现在我们不讨论你如何学英语,而是让你构建一个可以识别、交流英语的程序,你会如何设计/p>

简单的需求分析

以中文为例,当你听到一个女人对一个男人说:“你是一个男人吗时,你会收集到哪些信息需要哪些信息来明确这个女人想表达的确切意思/p>

首先是听力输入,你需要确保麦克风录入了音频,然后拿到的声波内容是 U#@&!&&。之后我们需要将声波内容输入到一大堆分析器中进行分析,并得到比较精准的意图。

第一个可能是性别分析器,通过一定的规则识别出这是一个男性的声音还是女性的声音。因为这句话是男的说出来还是女的说出来表达的意思是不一样的。

第二个就是内容识别器,先是加载粤语匹配引擎和粤语语料库发现声波无法匹配解析,那么换成普通话引擎和语料库。此时如果你的语料库里有 “你”、“是”、“一个”、“男人”、“吗” 这些声音素材,那么就可以匹配解析出这句话:“你是一个男人吗。

换言之,如果你没有粤语语料库和解析引擎,即便是给你一段粤语录音你也听不懂。如果这句话有一个生僻单词你语料库里没有,那么也是无法识别出来。

之后还有更多识别器,比如年龄、情绪识别器、重音和疑问语气识别句等,这些因素共同决定了这句话究竟想要传达什么意思。

如果是一个女性的激动等感叹语气“你是一个男人吗!”,那么可以推测出这个女的跟男的有一定的关系,这个男的做出了一些伤天害理的事情导致这个女性在质问。

如果是一个轻声细语的疑问句“你是一个男人吗,可能是一名女性想确认对方的性别。当然更准确表达这个意图的句子应该是“你是男性吗。

比较基础的方案设计

上面需求分析只是简单的介绍了 声音 -> 听力识别器 -> 意图 的过程,实际上语言交流是听说读写,其中包含两个识别器(听力识别器和视力识别器),一个核心理解器,两个表达器(口语表达器和书写表达器)。

通过对应的实际场景,我们可以简单的梳理出对应需要的功能。

听力识别器

听力能力

  • 说明:要求可以输入声音并转换成一种可分析的信 。

  • 训练:买个好麦克风,对应人类是保护好耳朵和听力。

口音识别器

说明:各类方言比如粤语,各种口音比如东北口音、广东口音、英式发音和美式发音。

语言特性识别器

  • 说明:语言之间会有不同特性,比如中文没有略读,都是一个一个字念出来,而英文会为了说话省劲而略读或者连读,比如 “drink it” 并不是单个蹦的 “准克一特”,而是类似 “准kei特”。中文的 “喝它” 就是 “喝它”,不会有类似 “赫特” 之类的变化。

  • 训练:扩充特殊语言引擎的匹配规则,扩充语料库,当听到 “准kei特” 可以识别出是 “drink it”。

音量调节和杂音处理器

说明:可以通过算法过滤无用杂音,并将小音量调大使其清晰。人类天然进化出这种能力,无需特殊训练。

语气、性别、身份、语速识别器

说明:人类天然进化出这种能力,无需特殊训练。

上下文缓存器

说明:交流过程要有上下文内容缓存,结合输入理解器。

视力识别器

视力能力

图形识别器

  • 说明:不同字体、变形(英文大小写、中文繁简体等)都可以识别出来具体字符,同时需要识别标点符 等输入理解器。

  • 训练:识别能力、精准度和速度。比如一眼看出 message 和 massage 是不一样的。

上下文缓存器

理解器

理解器可以说是最重要的部分了,也是最难的部分。

语料库

说明:字母、单词、发音、多重语境含义、历史文化背景、不同形态,同义词反义词相近词。

训练:需要长期积累和扩充,需要大量训练。

识别引擎

说明:单词拼装起来的句型句式、语法、时态含义和规则、标点符 、单复数、惯用表达。

训练:单点突破,专项训练,逐步体系化积累。

思考和思维能力

说明:针对意图结合之前的记忆以及经验得出自己想要表达的意图。

训练:结构性表达,思维能力锻炼,思考和总结能力。这个与语言无关。
上下文缓存器

口语表达器

当理解器思考运算并得到想要表达的意图之后,就需要开始表达传递出去。

意图语料组装器

说明:将意图结合语料中的单词、句型句式、惯用表达进行匹配组合,挑选出最符合你意图的语句。

发音器

说明:根据组装出来的内容,结合特殊的连读、略读等语言特性,转换成发声信 。对应人类的话是控制舌头、声带和呼吸系统的肌肉使其变成对应形状,让气流通过声带发出对应声音。

书写表达器

意图语料组装器

书写表达器

说明:将语料组装结果以视觉的方式表达,对于人类是控制手部肌肉书写出对应形状。

从上面可以看出,口语听力相对于阅读写作更加困难,主要因为实时性的要求。你必须迅速反馈不经过思考,这要求你要无意识的去用英语表达,所以语言学习没有技巧,只有大量训练。

我的训练方法

受限于篇幅,这里我只提供部分我觉得比较重要、有效的方法,并在 QA 部分会对常见能力的误区做一些解答。

在训练之前

做好 Benchmark 并设置目标

无论是做性能优化还是做什么事情,第一件事肯定是先做当前状态的记录,并设置一个目标和期限。

对于英语,你可以测试当前词汇量,并对词汇量有一个目标;也可以设置目标为流畅的看技术大会视频,能听懂 90% 的内容。 我更建议通过雅思、托福或者 PTE 这种专业英语水平考试来做目标。

一方面这种专业考试是听说读写全方位测试你的英语能力,相比其他测试更加客观一些而且能体现你的短板。另一方面就是如果出国留学或者工作,也可以作为你英语能力的证明。

当然缺点就是要备考,然后考一次差不多 2000 块钱。相比其他考试,我更推荐 PTE,因为它题型设置更合理,考试模式更简单,详情请点击这里查看。

(链接地址:https://github.com/yujiangshui/An-English-Guide-for-Programmers/blob/master/WhyPTE.md)

没做 Benchmark 是我备考期间最后悔的一件事情。

上一次测试还是大学四级,由于程序员必须掌握一定的英语,所以在日常工作中我非常注重英语训练:

手机和电脑系统设置全英文、搜索问题用英文、英文技术视频能看懂一半、经常阅读英文技术文档、时间日记用英文、commit messages 全部英文、刷完多邻国的英语教程、刷完赖世雄的《发音从头学》以及坚持了一段时间流利说的懂你英语课程。

这些操作都给了我主观的自信,所以刚开始我认为只要给我一个半月就可以搞定雅思了,结果闭关学了一个半月,连真题的题目要求都看不懂。

再搜搜 上经验,连留学生都得复习 2-4 个月。才慢慢的意识到前面的尝试,就像用 Dreamweaver 或者乱七八糟的代码拼凑做 页一样,倒也可以满足一些需求,但在专业前端工程师(专业英语考试)面前,都是渣渣。

抱着怀疑、认真严谨的态度

这并不只是学习英语需要的态度,但是在学习英语的过程中,我感受颇深。看到一个老师说的或者 上的知识,第一反应要去质疑跟自己的知识进行对比,确定无误后再吸收。

曾经上过沪江 校的单词课,授课老师是专业英语培训又留过学考试成绩也好,但还是有个别单词读错了,比如 resident 的 s 读了 s 的音,但其实是 z 的音,所以就反馈给助教了。

通常来说国外英语老师犯错的概率肯定比国内英语老师的低,但也不能保证全对,比如之前我发现了 Magoosh 一个卡片的奇怪单词,反馈之后的确是拼错了。

还有 Youtube 上一个高赞的音标发音示范教程(地址:https://www.youtube.com/watch=n4NVPg2kHv4),又是美女还有嘴形视频非常好了,但是到了清辅音这里,在 p、t 和 的发音明显听到了有个呃的声音,喉咙明显震动了。。。果断弃之。

扩充语料库的训练方法

经过上面分析,可以得出英语学习最关键的内容就是语料库,其次就是语法(识别引擎)。

语料库并不只是词汇,训练学习方法也并非简单的背单词。

如果通过听力识别器输入语料,首先我们要能区分口音,比如当前语料的英式发音、美式发音、澳洲发音、印度发音是什么样。之后就是一些连读、弱读和重音变化规则。

通过口音、连读和重音等规则正确解析得到词句短语之后,开始进入解析器流程。我们需要知道其中每个单词的多重含义,将其含义一个个的匹配放入上下文语境结合重音等得到最准确的含义。

这时还可能遇到一些词典里没有的新词或者老词新意,比如 “给力”、“呵呵” 或者各种歪曲解释的 “不可描述” 的成语等,这些都是人们新造或者赋予了新意思的词,这些词意词典并不一定会收录但广泛在一个圈子里使用和交流,这就涉及到文化、俚语、流行语等。

此外还需要用语法进行下一步解析,比如时态、标点、语气、句型句式等。

经过上面流程才可以解析出比较准确的意思,做出回应还要逆向再来一遍。

首先你要按照一定逻辑和结构梳理好你想表达的意图。这一步其实跟语言无关,中文阅读理解能力好的人,英文只要看懂了阅读理解能力也会很强,有条理的人不只是说话有条理,做事情也会很有条理和逻辑性。

想好表达之后你就要开始从语料库抽取最符合你意图的词句,并按照合适的语法进行组装,这时候就可以看出一个人语料库大小和水平。

比如:表达我喜欢一个梳妆台,只有最基础语料库的我只能说出:我喜欢这个桌子上有镜子的东西。

这时,看到这句话的人可能知道你想表达喜爱一张桌子和镜子的东西,但不知道具体是什么。如果语料库里有更庞大的名词库和程度形容词,就可以说出:这就是我梦寐以求的带有地中海风格雕刻、椭圆梳妆镜的梳妆台。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年1月19日
下一篇 2019年1月19日

相关推荐