NLP,也就是自然语言处理,不同的语言需要翻译才能实现交流的目的,而NLP就是在机器语言和人类语言之间的翻译,也可以看作是人机交流沟通的桥梁。

先介绍下我的个人背景,本人美本top 30统计学在读,即将进修哥伦比亚大学data science硕士学位。在大二那年决定往人工智能领域发展,便开始了我的学习之旅。作为一个转专业进入NLP领域的人来说,我当初花了四个月时间入门深度学习和机器学习。
人工智能这一领域内容繁琐复杂,单单几个月想达到多么高超的技术是不可能的,但是只要你能跟着下面我提到的学习方法和建议一步步的学习,保证你能用最短的时间,入门NLP!

一、 学习方法

根据我这些年在人工智能领域摸索的经验来说,NLP的学习可以分为两种。第一种是从理论知识入手,举例来说就是自然语言处理的入门者需要先了解NLP语言和一些基本算法,如分类、集成、降维等算法。此外,学习初期的代码量是必不可少的,python是一个很好的入门语言,相对来说也比较好上手,对于初学者也很友好。后期练习可以在Jupyter和github上找相关项目。这样的学习方法总的来说,耗时会比较久,但是相对的,它也能为日后学习打下一个坚实的基础。

第二种方法就是从实践case入手。真正进入了这个行业的人应该都有同一种感受,那就是实际操作比课本上的理论知识来的重要得多。走入工作岗位后,每天要处理的工作不是一个个知识点填空,而是要运用所学知识,解决一个又一个复杂的case。这种方法能让学生在多样的项目中遇到各种各样的问题并自己搜索查找答案。这不仅锻炼了大家查找资料的能力,还能让入门者在实践中学习,加深自己的印象,积攒更多的经验。这样的方法相对于前一种对于求职者会更加实用,但是知识点会比较零碎,需要自己归纳整理。

作为人工智能下的一个大分支,NLP涵盖的内容有很多,专业课程包括机器学习,数值分析,线性代数,高数,矩阵论等。主要训练的是代码工程能力和解决问题的算法分析能力。这样庞大的知识体系,想要系统的学习,需要花费的时间是很多的。个人推荐大家先下载一个NLTK(Natural Language Toolkit),然后尝试建立一些软件,比如:运行一些不同的POS标记器并试着描述其差异,看看它们更适合哪个领域或者犯了哪些类似的错误;建立情感分析系统,并找出如何让他变得更好。你应该使用什么功能来帮助它做的更好;写一个能检测网站垃圾评论的系统等。

二、学习建议

关于NLP学习,下面是我的一些具体建议:

· 先要拥有坚实的算法基础,这一步在开始NLP学习之前就应该掌握,任何语言的学习都可以,不过这里最推荐python。

· 学习正则表达。这一步很难入门,但是一旦开始学习,就很容易学习,并且还是遵循一定的逻辑。

· NLP包括很多概念,如pos标签、符号化、标记化等。而其中的重点就是标记化。根据所构建的项目内容不同,标记的内容也不同。在这一方面,python有很好的API能完成这些项目。

· ML的学习。ML基础知识可以从coursera课程中挑选,对于python这一语言来说,大多使用nltk。

· 评估指标学习。这一部分很重要但往往容易被人忽视。ROC曲线、F分数、精确度、偏差与方差等等都适用于此。

· 深度学习。在所有步骤之后,如果你的分类器仍旧有很高的偏差,或者需要更复杂的内容,这就需要deep learning的帮助。深度学习对于高度非线性特征空间的具体任务来说是非常有用的。

三、学习资源

除了找对学习方法,大家还需要结合适合自己的教材。网络上关于NLP学习的资源非常多,在选择时往往会觉得眼花缭乱。下面就给大家推荐几套我用过的课程作为参考。

一. 贪心科技AI课程

贪心学院这套课程,是面向泛AI、AI群体提供专业的系列课程,整套课程将以上提及的内容根据难易程度分为入门和进阶两个阶段。

这套教材符合我前面提及的第一种学习方法,属于踏踏实实打基础的一类。和其他同类型教材相比,贪心科技AI最吸引我的点就是其全面的知识框架和与理论课程相衔接的就业班项目。我在学习NLP时,感受最深的就是,不能将NLP或深度学习独立出来单独进行学习。人工智能领域的很多分支都是相互交叉的,组成了一张知识网。而市面上的很多教材,顶着NLP学习的标题,只教授与NLP相关很浅显的概念内容,这样完全无法做到系统性的学习。而贪心科技这套课程不仅涉及了深度学习、NLP,还有如机器学习等,很多人工智能下的分支。整套课程涵盖了很多基本算法如分类算法、集成算法、聚类算法、降维算法,还有NLP内比较重要的文本挖掘算法。此外,还有我前面建议中提及的一些深度学习算法,如BP、CNN、LSTM等。这样全面的内容,不仅利于大家知识掌握更牢固,利于理解,此外,也会在很多方面启蒙学员对于其他领域的兴趣。

课程设置

这套课程是线上上课,购买之后随时可以使用,还是比较适合时间不好分配的上班族或者像我这样的学生来使用。这种模式灵活性较高,也比较适合入门学习。内容是以幻灯片的形式一页页呈现,从实用性上来说,由于是近几年的课程,课程的内容比较新,讲解也很通俗易懂,展示也做到了图文并茂。比较适合进行系统性的学习。每节课程中还会配有一定的题目,帮助大家巩固知识点概念。我自己在做这些题目的时候,感受很好的是,这些题目的设定与每小节的课程内容结合的很好,能做到即时的巩固,也能为后面的学习做铺垫。

还记得我学习NLP时的第一课,就是抽象的神经网络,在弄懂其中的原理之后,能为之后的项目学习打好坚实的基础。而贪心科技AI入门课程主要教授的就是深度学习及相关AI基础理论,让人们对深度学习及各系统产生一定的认知。从python爬虫开始,到机器学习和商业数据分析,一步步地入门。这套课程还涵盖了机器学习、推荐系统、自然语言处理几大版块。面对打算从事AI岗位的职场人和在校学生,提供系统化的专业课程,如分类、回归、聚类、集成算法等,而高级课程则是围绕各种实例,进行高阶内容的学习与练习。主要面向已经从事AI行业的工程师、研究员、科学家以及深耕AI领域的硕士、博士生,帮助他们获得技术上的突破。在学习时我个人感觉这个部分的知识点会比较多,一些课程如对话系统、知识图谱、凸优化、贝叶斯深度学习、ML等的难度也比较大。

教研团队

课程的核心团队由海内外AI专家组建而成,多位合伙人及主讲老师都是业内资深工程。其教研人员包括前金融独角兽首席科学家、美国google科学家、ALBERT第一作者、美国微软AI总监等专家。我在学习这套课程时,主讲老师就是美国亚马逊的工程师,他的讲解中经常会拿很多自己以前处理的项目来举例。跟在这样经验丰富的老师后面学习,学习到的东西是阅读多少理论知识都无法比较的。

除此之外,他还经常会举一反三,举出同样类型的例子,加深我们的记忆。这套课程,我体验下来感觉很好的一点就是,课前课后都有老师和助教引导,老师的态度都很积极,助教对教学也都十分认真负责,每次我提出的问题都会及时解答,就算现在已经结课了,我们也会经常沟通一下最近遇到的问题。

课后练习

除了课程中包含的练习,课后还提供了专属学习系统及github使用权限,对于正在学习代码的人来说,github可以说是毫不陌生的了。上面很多大神的代码都可以当成是实践项目进行练习,如物体识别、人脸检测、深度学习框架等。这些资源都能为深度学习入门提供练习的平台。

除此之外还会有很多项目练习,如广告点击率预测、情感分析项目、信用卡欺诈预测、零售数据中的用户分层等。每一个项目都会涵盖一定的知识点,如分类、集成、降维等。我在学习的时候就经常使用jupyter的cell,自己进行代码的编写。除此之外,每一条撰写的程序也可以单独运行测试,提交结果后会有老师和助教进行批改和标注。这些实时的反馈对于我完成一些项目也起到了指导性的作用。

就业班

在这里值得一提的是,针对有理工科及编程背景并渴望在NLP行业成为出类拔萃的佼佼者的人们,贪心AI还推出了相应的线下就业班项目。这个项目可以看作是与前面的理论课程相衔接,做到理论与实践相结合。就业班的课程会以就业为导向,且课程设置更加偏重于案例分析。就业班的课程会分为多个阶段,从基础学习到企业项目。通过将各个知识点放进不同的项目中分析,就业班的各个项目为学员展示了不同情况下NLP语言及相关技能的具体应用。在参与过理论及案例分析后,第二阶段大家还有机会参加一系列不同的、真实的企业项目,并且有机会跟随公司一线工程师全程参与并及时得到反馈。

练习中涵盖的实例包括运用到python语言的知乎数据分析、与机器算法相关的金融风险评估、涉及倒排表、BERT等算法的智能客服回答系统、Beam Search改进相结合的智能营销文案等很多多样化项目。而实习的企业项目,则会更实用也更具挑战性,如搭建一个舆情监测系统、创建在线教育中AI对话系统、建立企业智能问答机器人、智能写作等。每个项目都会很多涵盖不同的知识点,做到全方面的训练。

二、fast.ai

在接触贪心科技AI教程之前,我一直选择的是fast.ai这套课程,对前几年新出的吴恩达deeplearnig.ai也有所了解。fast.ai这门课是由Jeremy Howard和Rachel Thomas教授设计,相信也是机器学习行业内,最多人使用过的课程。总体来说,fast.ai最大的特点就是先教技巧,让学生在广泛的应用场景中学习。这种学习方法,在很大程度上能节省学员阅读参透各种理论知识的时间,方便快捷地帮助他们在更短的时间内积累经验。我个人认为在计算机科学和数据科学,相对于纯粹的理论科学,更注重实践,更适合用fast.ai这种开箱即用的模式去学习。fast.ai存在封装过于完善的情况,但如果只是想开箱即用,我还是比较推荐它的。这套教材比较符合第二种学习方法,属于从实践中学习。这套教材关于NLP的内容讲解的还是比较细的,提供的几个项目也比较具有代表性。不足的是,整体课程的设置不太利于知识点的梳理,更偏重于上手操作。

三、Michael Collins on Cousera

目前NLP的大部分研究都是为了提出更好的机器学习算法,利用优化、贝叶斯统计学等技术解决NLP中的问题。而这节课就很好的概括了这些内容。

在哥大读研期间,我曾有幸上过Collins教授的一节CS课。他是一位很出色的老师,在NLP领域也参与过很多规模很大的项目。他的讲座很有条理,也很清晰,一切都是从NLP基础问题出发,他还会在课程中拓展一些用于解决问题的最先进的机器学习算法。在coursera的网页上,他还为他所教授的课程提供了很多笔记可以下载参考。这节课能帮助大家建立很好的对NLP这一领域的直觉,并将理论与实践联系起来。

小结

这个领域的学习很广,内容也很多。总的来说,如果希望能系统性地学习NLP语言,我个人比较推荐贪心科技AI课程,大家还可以搭配Michael Collins的课程一起,作为课下的补充拓展。如果想要先学习上手技能,fast.ai这套教材是一个不错的选择,对于技能的训练实用性比较强。希望以上的内容能让大家对于NLP有个系统性的认知,找到适合自己的材料,掌握更多技能!

转专业入门NLP,这样学就对了相关推荐

  1. 【入门须知】学DIV CSS技术如何入门?

    [入门须知]学DIV CSS技术如何入门? 引言: 引用一本书中的一段文字:"当我第一次开始学习汉语时,我的家庭老师老王给了我一本汉英字典.一本汉语语法书和一本初级教程.但是,他将这些书放 ...

  2. 两周!从入门到第15到第3!小白和你一起入门NLP

    两周!从入门到第15到第3!小白和你一起入门NLP 本文致力于通过还原我在TAIL CAMP学习NLP两周的学习经历,用最通俗易懂的方式给大家讲述训练营两个任务:文本相似度.作文自动评分中应用到的NL ...

  3. 女生最容易就业的5个专业,有没有你学的?

    女生最容易就业的专业有哪些? 哪些专业女生最吃香? 北大青鸟重庆大学城校区今天来和你聊一聊女生最容易就业的5大专业, 快看看有没有你的? 女生最容易就业的5个专业,有没有你学的? 一.计算机科学与技术 ...

  4. Python培训入门基础知识学什么?

    Python培训基础知识主要是针对一些零基础的同学安排的,虽说Python是相对比较简单的一门编程语言,但是没有基础的同学还是要进行系统的学习,那么Python培训入门基础知识学什么呢?来看看下面小编 ...

  5. Task01——零基础入门NLP - 新闻文本分类之赛题理解

    本篇目标 首先本篇文章会对赛题进行介绍以及个人对赛题的理解,带大家接触NLP的预处理.模型构建和模型训练等知识点. 赛题介绍 赛题名称:零基础入门NLP - 新闻文本分类 赛题任务:赛题以自然语言处理 ...

  6. 零基础入门NLP - 新闻文本分类

    本文是对阿里云新人竞赛中的"零基础入门NLP - 新闻文本分类"解体过程进行的记录,目前仅使用了textCNN模型进行预测,后续还会考虑使用LSTM进行对比. 赛题数据 赛题以新闻 ...

  7. 使用NeMo快速入门NLP、实现机器翻译任务,英伟达专家实战讲解,内附代码

    对话式AI是当前AI领域最火热的细分领域之一,其中自然语言处理(NLP)是最为困难的问题之一. 那么,零基础.对会话式AI感兴趣的小伙伴们如何快速入门 NLP领域? 近日,英伟达x量子位发起的NLP公 ...

  8. python去哪里学-杭州python编程入门去哪学?

    如今,人工智能诸多领域,都有涉及Python语言,它可以堪称火爆全球.据不完全统计,Python使用人数超过千万,30%IT新人入门都学Python技术.让很多人转行想加入Python编程语言的学习. ...

  9. Python入门基础知识学什么?

    Python基础知识主要是针对一些零基础的同学安排的,虽说Python是相对比较简单的一门编程语言,但是没有基础的同学还是要进行系统的学习,那么Python入门基础知识学什么呢?来看看下面小编的详细介 ...

最新文章

  1. java 线程池 源码_java线程池源码分析
  2. 苹果ios鸿蒙,苹果iOS界面一直都很美,鸿蒙系统在这方面,让人担心
  3. A first successfully deployed Java application in HCP
  4. 机器学习回归算法—岭回归及案例分析
  5. Datawhale 三月组队学习计划
  6. asp.net怎么实现按条件查询_Display Posts : 按条件显示WordPress文章的最强插件
  7. 剑指offer面试题14- I. 剪绳子(数学推导)
  8. 多元函数的极值、微分
  9. JavaScript(二)基本概念
  10. 通州区机器人比赛活动总结_机器人社团活动课总结
  11. 信创项目基础软件都包括哪些?你要了解
  12. 缩减Centos7xfs磁盘空间
  13. 第二届翼支付杯大数据建模大赛-信用风险用户识别Baseline 线上0.65+稳进复赛
  14. 一个新手RHCE的酸甜苦辣
  15. 直击网易人工智能事业部:闷声发大财的新面孔
  16. C#大恒相机采集图片时图片上下对称折叠了
  17. mvn上传pom/jar至Nexus私服
  18. 呼叫中心的中继线路知识点总结
  19. MP4视频太大怎么在线压缩
  20. 【Angular】Angular开发组件

热门文章

  1. 服务器修改跳转接口,vue-element登录切换到服务器api后 有返回 但是跳转路由报错...
  2. dart和python混编,Flutter与iOS混编(一)
  3. Android之ExpandableListView的各种效果(默认展开不合闭,自定义父栏目及箭头控制)
  4. 【模板】 全排列 有重复元素的全排列
  5. SQL中的撤销索引、表以及数据库
  6. leetcode 之Median of Two Sorted Arrays(五)
  7. spring中加入log4j
  8. java取主机的网卡物理地址
  9. C专家编程-Chapter6 运行时数据结构(转)
  10. mysql获取用户名_mysql-LEFT JOIN 3列获取用户名