首页 关于我们 产品介绍 新闻中心 联系方式 系统登录 手机群控系统
QQ联系
电话联系
手机联系
QQ联系
电话联系
手机联系

想快速入门NLP?我们测评了15门最火课程,帮你找

发布时间:1970-01-01 08:00
发布者:[db:作者]
浏览次数:
数年前,当小编刚踏足NLP领域时,还没有太多相关课程,找学习资料就颇费功夫;如今,当网上充斥着各种良莠不齐公开课时,从中挑选一门适合自己的又成了另一种颇费功夫,特别对于选择困难综合症患者。 该篇作者根据自己多年的实践经验,对网上诸多NLP公开课进行了评分与评论,很有参考价值。此外,作为涉足NLP也有数年的小编,也推荐不妨先挑一门Code-first课,强推Fast.AI,之后再用大学公开课继续深入,比如伯克利的Info256 以及斯坦福有名的cs224n,之后想再深入理论可以试试CMU的cs11-747. 接下来,我们就来看看作者对15节NLP课程的测评~ 如果你的标准很高,那么选择一门符合你需求的网课就会变成了一件很困难的事。因为大部分网课都不全面,并不值得花太多时间在上面。 那么如果有人给你提供了一个关键的学习路径,并告诉你每个模块讲了什么,你该按照什么样的顺序去学习、进阶,你会怎么想?那一定是 完美! 这就是为什么我会写这篇NLP选课指南,利用了我8年的机器学习实践经验作为参考。我个人一共完成或浏览了15个最有名的课。在下面这份严格的评论中,我将重点放在它们提供的实践以及商业知识上。 无论你是刚开始接触NLP还是想在业务中实现一个最新算法,这篇文章都将为你提供巨大价值。下面就来看一下这条学习路径,并挑你最感兴趣的课程吧! 我理想中的NLP课程是这样的: 围绕着实践问题展开的;只涵盖对实践有用的信息,夹杂一些更深入的理论知识作为补充资料;内容是与时俱进的,至少每次业界有重大新闻,它都能及时更新相应内容;由一群业界经验丰富的专家编写的;包含能解决业务实际问题的真实代码。 但理想很丰满,现实 很骨感。 代码至上的网课们 A Code-First Introduction to NLP course 课程链接: https://github.com/fastai/course-nlp 授课人:Fast AI 专业评分:8/10 工具和库:IPython notebooks, PyTorch, Fast.AI, spacy, sklearn, nltk 我的建议: 我个人很享受这种由上而下的学习方式。这门课内容非常扎实(毫无疑问,这是Jeremy Howard本人创建的课程),它很实用且内容在新算法的更新上很及时(最近更新到2019年夏天)。 缺点: 它缺少一些业界的实操案例,只关心算法的实际用法。 强推这门课! SpaCy Tutorial 课程链接: https://github.com/yuibi/spacy_tutorial 授课人:Yuibi Fujimoto 专业评分:7/10 工具和库:spacy,prodigy,sklearn 我的建议: 很完整、实用的指南。它只涉及到了spacy,而这也是很多人的真实需求。这门课对内容细节的把握非常到位。 Natural Language Processing 课程链接: https://github.com/yandexdataschool/nlp_course/tree/master 授课人:Yandex 专业评分:7/10 工具和库:keras,nltk,gensim,sklearn,bokeh,matplotlib 我的建议: 这是一门很新的实战课程,它涉及到了最重要的一些领域。但同样地,它也没有涉及到现实任务的实战,只是专注于算法原理和它们直接的应用。 Natural Language Processing 课程链接: https://www.coursera.org/learn/language-processing 授课人:俄罗斯国立高等经济大学计算机系(HSE Faculty of Computer Science) / Yandex 专业评分:3/10 工具和库: nltk, sklearn, tensorflow, genism,starspace 我的建议: 这是一门很简洁、基础的课程,它只涉及到一些很基础的理论。 缺点: 这门课不是很全面,也缺乏关于最新算法和实际业务案例内容。而且,它只使用tensorflow,没有涉及到keras,对于学习深度学习来说,这并不是一个很好的方式。 Advanced NLP with spaCy 课程链接: https://course.spacy.io/en/ 授课人:Explosion AI 专业评分:8/10 工具和库:spacy 我的建议: 这门课也只涉及到spacy,但是范围更广。它简单友好的操作界面深得我心。简短,但强推的一门课!在评分项目中,也有涉及到业界实操的内容! Coursera-Natural Language Processing Certification in TensorFlow 课程链接: https://www.coursera.org/learn/natural-language-processing-tensorflow 授课人:Laurence Moroney 专业评分:2/10 工具和库:Tensorflow 我的建议: 这门简短的课程介绍了一些基础知识,比如:分词、一些基础的词嵌入方法和序列模型。授课方式是理论+小测验。对新手来说,我并不推荐这门课程,因为它缺少太多内容。 Edx-Natural Language Processing Course 课程链接: http://www.edx.org/course/natural-language-processing-nlp-2 授课方:微软 专业评分:7/10 我的建议: 这门课程介绍了机器学习和NLP领域中可使用的各种方法,你不光能学到经典算法、深度学习算法,还能了解到深度情感相似模型以及在现实工作中如何使用它们。每个模块都有自己的测验和代码作业,可以很好地帮助你理解学到的内容。 Codecademy-Natural Language Processing 课程链接: https://www.codecademy.com/learn/natural-language-processing 专业评分:5/10 工具和库:nltk, re 我的建议: 这门课时长约10小时,算是NLP入门级别的课程,内容包含:正则表达式、文本处理、词向量、tf-idf。是一门更适合完全没有NLP基础的人的课程。 DataCamp-Natural Language Processing Fundamentals in Python 课程链接: https://www.datacamp.com/courses/natural-language-processing-fundamentals-in-python 授课人:Katharine Jarmul 专业评分:7/10 工具和库:nltk, re, genism, polyglot, spacy, sklearn 我的建议: 这门课主要讲的是如何解决一些小问题。它介绍了一些生成词向量和预处理的技巧,像tf-idf和spacy。我认为这也是一门比较适合刚入门、需要一些实战经验的新手课程。因此我们决定在最后的对比中不把它加入比较。 大学公开课 伯克利 - Applied Natural Language Processing 课程链接: http://people.ischool.berkeley.edu/~dbamman/info256.html 授课人:David Bamman 专业评分:8/10 我的建议: 这门课比较适合有python编程经验,但不了解nlp的人。在这门课中,你会用到目前流行的python库,如:sklearn、keras、spacy,去解决分类、回归问题。我认为,这种强制性的学期制课程比较适合学生党学习。 华盛顿大学(UW) - Natural Language Processing 课程链接: https://courses.cs.washington.edu/courses/cse517/17wi/ 授课人:Yejin Choi 专业评分:6/10 我的建议: 这门课面向的是想学习nlp基础方法理论的新手。这门网课是在2017年录制的,所以你无法从里面找到任何现在最新的内容。它涉及到的当时(2017)最新的内容有:序列、语义和深度学习相关内容。但我认为,学这门课的人需要在课后有自己的探索和研究,去巩固学到的知识。 牛津 - Deep Learning for Natural Language Processing 课程链接: https://www.cs.ox.ac.uk/teaching/courses/2016-2017/dl/ 授课人:Phil Blunsom 专业评分:8/10 我的建议: 这门课需要你有机器学习方面的经验,以及很强的数学背景(包括:概率、线性代数和连续数学)。你将会学到从RNN、BPTT到针对神经网络优化GPU的很多知识和技能。我建议学完这门课的学生再去学习一下最新的模型和理论,因为它并没有实时更新相关内容。 以色列特拉维夫大学 - Advanced Methods in Natural Language Processing 课程链接: https://www.cs.tau.ac.il/~joberant/teaching/nlp_spring_2019/index.html 授课人:Jonathan Berant 专业评分:7/10 我的建议: 这门课教授的是NLP领域中最新的一些方法。它只需要你有一定的机器学习背景,nlp背景并不是必须的。而且,授课方准备了很多值得阅读的报告,这也非常有助于学习。 斯坦福 - From Languages to Information 课程链接: https://web.stanford.edu/class/cs124/ 授课人:Dan Jurafsky 专业评分:6/10 我的建议: 虽然这是门NLP课程,但它也涉及到很多机器学习方面的内容。其中,关于社交网络的内容在其他网课中并没有很好地展开,可以算是这门课的一个亮点。通过这门课,你可以收获很广的知识面,但对于只钻研nlp的人来说,我并不是很推荐这门课。 斯坦福cs224n - Natural Language Processing with Deep Learning 课程链接: http://web.stanford.edu/class/cs224n/ 授课人:Chris Manning, Matthew Lamm 专业评分:8/10 我的建议: 这是面向项目的最新课程,包括这个领域的最新进展。要上这门课,你需要有数学和编程的基础(Python或强大的C++能力)。我只会推荐有一定经验的人去上这门课,你会从中学到更深入的知识。 总结 在分析完所有课程后,我得出的结论是:在最新的算法和企业项目实例方面,没有任何一门课是足够全面的。它们大部分都缺少实战练习,而这大大地阻碍了知识的吸收。 现在,让我们来总结一下工程师在学习一门NLP课程时遇到的主要挑战: 课程内容很快就会过时,我希望它始终包含最新(不一定是复杂的)知识;没有或过少的实践练习来增强在课程中学到的理论知识;如果卡住,没有人能帮助你进行练习;课程以算法原理为重点,而不是如何解决实际问题。 许多不合标准的课程甚至都已不再更新。人们掉入了坑中并为此付出代价,却没有从中收获太多实际价值。