如何系统性地学习NLP 自然语言处理?

作者:到处挖坑蒋玉成 (深度赋智 信息检索算法研究员)

系统性地学NLP本来就既不可能也没必要,这么大个领域,而且一直在飞速发展,等你学完了黄花菜都凉了。

NLP的方法可以分成基于规则的方法和基于统计的方法。由于自然语言具备歧义性、递归性和创新性等特点,基于规则的方法局限性非常大, 因此主流的是基于统计的方法——机器学习/深度学习方法可以视作基于统计的方法的延伸。

到2020年的今天,数据驱动的监督式学习方法(包括传统机器学习和深度学习)基本上成了NLP的主流——所以你只需要首先从机器学习/深度学习方法入手就可以了,其他的可以随用随学。

我自己把目前的监督式学习方法分成了三类,把这三类方法都掌握了基本上你就可以拥有一个比较系统的知识框架了,足够解决绝大多数问题,其他的随用随学就行:

(1)基于统计特征的传统机器学习方法:直接用常见的SVM、决策树等模型加上针对文本的特征工程(例如TF-IDF),对于小数据集和计算资源紧张的情况依然有很大用处——基本上如果要执行文本分类任务的话用SVM跑个baseline是必须的

(2)基于非上下文相关的词向量的传统深度学习方法:使用word2vec,GloVe和FastText等工具,将文本转化为嵌入式词向量,然后输入到神经网络中,这里使用的神经网络也基本上是跟深度学习其他方向通用的,比如全连接网络,CNN、RNN,图神经网络和Self-Attention等(注意单独的Transformer编码器和BERT不是一个东西),一般适用于计算资源比(1)充裕一点,但还是比较紧张的情况。

(3)基于上下文相关预训练语言模型(Pretrain LM)的方法:大名鼎鼎的BERT和各种各样的衍生模型,它几乎改变了NLP领域的游戏规则,对于绝大多数任务来说几乎就是万灵药一样的存在,但因为计算代价太大,目前还没有到包打天下的程度。

基本上你从这三个方面入手,差不多就可以建立一个比较完整的NLP知识体系了,做大部分任务都可以从这个体系出发,查漏补缺地学一些其他的知识就可以上手了。至于具体怎么学,非常简单,直接斯坦福CS229+CS224n全家桶就可以了,最多加一个CS276补一下文本统计特征提取。

文章转载自知乎:

https://www.zhihu.com/people/CommanderYCJiangS117

仅作为学术分享,著作权归属作者,如有侵权请联系删除。

推荐阅读

图解机器学习—算法原理与Python语言实现(文末留言送书)

「它将改变一切」,DeepMind AI解决生物学50年来重大挑战,破解蛋白质分子折叠问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值