1.了解NLP的最基本知识
Jurafsky和Martin的Speech and Language Processing是领域内的经典教材,对于NLP任务有基本认识,遇到问题知道在书的哪个地方还是非常有意义的。去做一个语言模型的问题,实现神经网络模型之前,第一步要去写一个 bigram 或者 trigram的语言模型。通过简单的N-gram模型实现,可以告诉你这个数据集的语言模型的下限,神经网络模型至少不应该比这个模型差。神经网络模型因为其超参数、梯度爆炸等问题,有时候我们不太容易决定是真的模型不行、参数没调好还是代码有bug。那么通过N-gram LM的给出的下限,我们就可以直观地知道神经网络是有bug还是没调好参数。补充:Chris Manning 的 introduction to information retrieval 电子书也是一本可以扫一下盲的书。
2. 了解早年经典的NLP模型以及论文
相比简单粗暴的神经网络模型,早年的NLP算法确实比较繁琐复杂,但里面有很多早年学者在硬件条件艰苦情况下的智慧结晶。熟悉了这些模型,可以在现在神经网络里面融会贯通。
3. 了解机器学习的基本模型
神经网络的简单暴力并且有效。但是从科研的角度讲,熟悉基本的机器学习算法是必修课。比如吴恩达的 machine learning课程。同时需要搞懂经常用到的算法的原理,比如dropout, batch, layer normalization等等。这样其实可以省去很多时间,磨刀不误砍柴工。推荐Pattern Recognition and Machine Learning电子书,其中部分章节数学要求很高,可以有选择性的把几个重要的chapter 过一遍。
4. 多看NLP其他子领域的论文
不同子领域所运用的模型不会相差太大。但是最开始看不熟悉领域的问题可能会有一点难,原因是对问题的形式不是很了解。这可能就需要多花一些时间,多找懂的同学去问。其实了解不同问题的形式也是对领域知识最好的扩充。
5. 了解 CV(计算机视觉)和数据挖掘领域的基本重大进展
NLP领域里面一些重要的文章其实或多或少借鉴了CV里面的思想,当然也同样出现CV借鉴NLP的情况。可以看看扫盲课的视频。