如何成为一名自然语言处理工程师

本文作者分享了成为一名自然语言处理(NLP)工程师的学习路线,强调了数学基础、概率论、信息论、数据结构与算法、语言学和深度学习的重要性。同时,提到了NLP的现状,指出语义理解仍是挑战,而深度学习框架的应用有待加强。作者还分享了个人经验,建议跟随项目实践,关注行业进展,并给出了相关学习资源。

作者 | 兰红云
责编 | 何永灿

自然语言处理和大部分的机器学习或者人工智能领域的技术一样,是一个涉及到多个技能、技术和领域的综合体。

所以自然语言处理工程师会有各种各样的背景,大部分都是在工作中自学或者是跟着项目一起学习的,这其中也不乏很多有科班背景的专业人才,因为技术的发展实在是日新月异,所以时刻要保持着一种强烈的学习欲望,让自己跟上时代和技术发展的步伐。本文作者从个人学习经历出发,介绍相关经验。

一些研究者将自然语言处理(NLP,Natural Language Processing)和自然语言理解(NLU,Natural Language Understanding)区分开,在文章中我们说的NLP是包含两者的,并没有将两者严格分开。

图片描述
图1 自然语言处理工程师技能树

自然语言处理学习路线

数学基础

数学对于自然语言处理的重要性不言而喻。当然数学的各个分支在自然语言处理的不同阶段也会扮演不同的角色,这里介绍几个重要的分支。

  • 代数

代数作为计算数学里面很重要的一个分支,在自然语言处理中也有举足轻重的作用。这一部分需要重点关注矩阵处理相关的一些知识,比如矩阵的SVD、QR分解,矩阵逆的求解,正定矩阵、稀疏矩阵等特殊矩阵的一些处理方法和性质等等。

对于这一部分的学习,既可以跟着大学的代数书一起学习,也可以跟着网上的各种公开课一起学习,这里既可以从国内的一些开放学习平台上学,也可以从国外的一些开放学习平台上学。这里放一个学习的链接,网易公开课的链接:https://c.open.163.com/search/search.htm?query=线性代数#/search/all。(其他的资料或者平台也都OK)。

  • 概率论

在很多的自然语言处理场景中,我们都是算一个事件发生的概率。这其中既有特定场景的原因,比如要推断一个拼音可能的汉字,因为同音字的存在,我们能计算的只能是这个拼音到各个相同发音的汉字的条件概率。也有对问题的抽象处理,比如词性标注的问题,这个是因为我们没有很好的工具或者说能力去精准地判断各个词的词性,所以就构造了一个概率解决的办法。

对于概率论的学习,既要学习经典的概率统计理论,也要学习贝叶斯概率统计。相对来说,贝叶斯概率统计可能更重要一些,这个和贝叶斯统计的特性是相关的,因其提供了一种描述先验知识的方法。使得历史的经验使用成为了可能,而历史在现实生活中,也确实是很有用的。比如朴素贝叶斯模型、隐马尔卡模型、最大熵模型,这些我们在自然语言处理中耳熟能详的一些算法,都是贝叶斯模型的一种延伸和实例。

这一部分的学习资料,也非常丰富,这里也照例对两种概率学习各放一个链接,统计学导论

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值