deep learning in NLP—深度学习在自然语言处理中的应用—入门学习序列

时间:2022-12-14 17:49:37

deep learning in NLP—深度学习在自然语言处理中的应用—入门学习序列

部分链接需要*,文中有什么错误或需要补充的请大家在文章下面评论,互相学习。

1. 基础

         ml,graphical model,nlp及相关数学基础:analysis、statistics、linear algebra、optimization等等

2. 书籍

2.1. 《Machine Learning》 tom mitchell

         这本书的第四章是ANN。其论述十分清晰。

2.2. 《Neural Network Design》Martin T. Hagan(中译本:《神经网络设计》)

         这本书前面几章零基础讲解线性代数和一些常用的最优化方法,一步一步引入神经网络,非常适合入门者,同时,这本书的涉及的网络也挺多的,虽然现在很多网络已经不用了,但是很有意思。

2.3. 《Neural Networks: A Comprehensive Foundation》第二版,Simon Haykin (中译本:《神经网络原理》)

         这本书理论描述较多,适合有一定基础之后再看。本书作者是ee背景的,所以书中掺杂有硬件的味道。

2.4. 《Neural Networks and Learning Machines》第三版,Simon Haykin

         上面那本书的第三版,把名字换了,增加了一点新内容。

2.5. 《Deep Learning》Yoshua Bengio, Ian Goodfellow and Aaron Courville

         这本书还未出版,网上有draft版本链接

3. Tutorial

         UFLDL Tutorial  Andrew Ng ,Tutorial方面,入门的话我觉得这一个就足够了。这个教程写的非常好,大家需要认真研读,尽可能的把网站上的所有文章都读了(虽然它不是以nlp为对象,而是以cv为对象写的)。习题答案:Python版Octave版。这个教程的缺点是未包含RBM和DBN部分,下面的资料中会覆盖这部分。

4. Review paper

         Bengio的两篇文章:Learning Deep Architectures for AI ,Representation Learning: A Review and New Perspectives,这两篇文章是对于Deep learning的一个全景式论述,阅读起来有一定难度,遇到不懂的地方大家可以先跳过,以后再读。

5. Classical paper

5.1. A neural probabilistic language model, Bengio et al. 2003

         最经典的一篇文章,实际上这篇文章在2001年就发在NIPS上了,2003年又在JMLR上灌了一下。由此可见,2001年Bengio就在搞神经网络语言模型了!

5.2. A Unified Architecture for Natural Language Processing:Deep Neural Networks with Multitask Learning, Collobert,Weston et al. 2008

5.3. Natural Language Processing (Almost)from Scratch, Collobert, Weston et al. 2011

         用神经网络做各种自然语言处理任务(实际上是pos,chunking,ner,srl),从头做起,尽量不采用其他人工特征。这两篇论文的其他特色是:使用卷积来处理句子,nlp的multitask learning,使用无监督训练得到的word embedding初始化网络Lookup Table层权重,pairwise ranking based language model等等。

5.4. Three New Graphical Models for Statistical Language Modelling, Andriy Mnih, Geoffrey Hinton

         Hinton大师进军Language model,一次性整了三个。

5.5. Recurrent neural network based language model, Mikolov

5.6. Statistical Language Models based on Neural Networks, Mikolov

         Mikolov用Recurrent neural network进军nlp,他的博士论文写得非常详细、清晰。Recurrent nn做的language model形式优美且表达能力强。

5.7. Recursive Deep Learning for Natural Language Processing and computer vision, Socher

         Socher用Recursive neural network进军nlp,cv,这也是他的博士论文。在众多nn之中,Recurrent neural network和Recursive neural network是最有意思的几个。

6. Tools

         Bengio领导的LISA实验室开发的Theano是非常棒的python库。用官网上的话说:“If numpy is to be compared to MATLAB and sympy to Mathematica, Theano is a sort of hybrid of the two which tries to combine the best of both worlds.”即,Theano集matlab和mathematica之所长。另外,Theano很方便配置GPU。在学习Theano之前最好熟悉下numpy。Theano的两个教程分别为:

6.1. Theano basic tutorial

6.2. Theano Deep Learning tutorial

7. 下一步

7.1.Stanford DL NLP group 关注下他们的paper,教程Deep Learning for Natural Language Processing (without Magic)及其references。

7.2.follow 这一领域的著名学者:Bengio,Hinton,LeCun,Mikolov,Socher等;顶会:ICML, NIPS, ACL, Coling, EMNLP等.

 

如果想更快速的入门,则一个参考学习序列可以为:1->2.1->3->5.1->5.3->5.6