作者:chen_h
微信号 & QQ:862251340
微信公众号:coderpai
有时候当我被一个问题问到两次的时候,我就觉得我应该把对这个问题的回答整理成一篇文章。基于这个原因和为了节约我未来的时间,今天我就对“如何入门NLP”这个话题,写成了一篇文章。
在你阅读下面的资料之前,我想说明一下。这个资料可能只是一个非常通用的入门材料(也可能不是很完整)。为了避免阅读大量的材料,我对每个资料都做了一个简单的描述和难度评估。编程语言,我推荐使用 Python 。
在线课程
Dan Jurafsky & Chris Manning: Natural Language Processing [一个很好的视频课程]
Stanford CS224d: Deep Learning for Natural Language Processing [该课程包含很多优秀的机器学习算法,深度学习和神经网络架构在NLP中的应用]
Coursera: Introduction to Natural Language Processing [NLP的入门课程 the University of Michigan]
各种开源库
Natural Language Toolkit (NLTK) (官网, 书籍) [Python; NLP的入门库,主要用于教学]
Stanford CoreNLP (官网) [Java, 高质量的分析工具]
比较活跃的博客
- natural language processing blog (Hal Daumé)
- Google Research blog
- Language Log (Mark Liberman)
书籍
Speech and Language Processing (Daniel Jurafsky and James H. Martin) [经典的NLP书籍,包含了所以的基础知识点,第三版也马上要出版了]
Foundations of Statistical Natural Language Processing (Chris Manning and Hinrich Schütze) [很多先进的统计NLP方法]
Introduction to Information Retrieval (Chris Manning, Prabhakar Raghavan and Hinrich Schütze) [在排序和搜索上面非常经典的书籍]
Neural Network Methods in Natural Language Processing (Yoav Goldberg) [深度学习在NLP中的应用, primer here]
杂记
Deep Learning for NLP resources [按照话题组织了一些高水平的深度学习资源]
Last Words: Computational Linguistics and Deep Learning — A look at the importance of Natural Language Processing. (Chris Manning) [文章]
Natural Language Understanding with Distributed Representation(Kyunghyun Cho) [关于NLU的ML/NN方法的独立讲解]
Bayesian Inference with Tears (Kevin Knight) [教程]
Association for Computational Linguistics (ACL) [期刊]
小项目和数据集
Nicolas Iderhoff 已经创建了一个公开的NLP数据集列表。除了这些,我还整理了一些小项目给任何想入门的小伙伴:
- Implement a part-of-speech (POS) tagger based on a hidden Markov model (HMM)
- Implement the CYK algorithm for parsing context-free grammars
- Implement semantic similarity between two given words in a collection of text, e.g. pointwise mutual information (PMI)
- Implement a Naive Bayes classifier to filter spam
- Implement a spell checker based on edit distances between words
- Implement a Markov chain text generator
- Implement a topic model using latent Dirichlet allocation (LDA)
- Use word2vec to generate word embeddings from a large text corpus, e.g. Wikipedia
一些社交媒体上面的专题
- Twitter: #nlproc, list of NLPers (by Jason Baldrige)
- Reddit: /r/LanguageTechnology
- Medium: Nlp
来源:Medium