最好的入门自然语言处理(NLP)的资源清单

最好的入门自然语言处理(NLP)的资源清单

Melanie Tosik目前就职于旅游搜索公司WayBlazer,她的工作内容是通过自然语言请求来生产个性化旅游推荐路线。回顾她的学习历程,她为期望入门自然语言处理的初学者列出了一份学习资源清单。
目录:
· 在线课程
· 图书馆和开放资源
· 活跃的博客
· 书籍
· 数据集
· NLP之社交媒体
· 其它

displaCy网站上的可视化依赖解析树
displaCy

记得我曾经读到过这样一段话,如果你觉得有必要回答两次同样的问题,那就把答案发到博客上,这可能是一个好主意。根据这一原则,也为了节省回答问题的时间,我在这里给出该问题的标准问法:“我的背景是研究**科学,我对学习NLP很有兴趣。应该从哪说起呢?”

在您一头扎进去阅读本文之前,请注意,下面列表只是提供了非常通用的入门清单(有可能不完整)。 为了帮助读者更好地阅读,我在括号内添加了简短的描述并对难度做了估计。最好具备基本的编程技能(例如Python)。

在线课程

1.Dan Jurafsky 和 Chris Manning:自然语言处理[非常棒的视频介绍系列] (YouTube)
Dan Jurafsky/Chris Manning 自然语言处理

2.斯坦福CS224d:自然语言处理的深度学习[更高级的机器学习算法、深度学习和NLP的神经网络架构]
斯坦福CS224d

3.Coursera:自然语言处理简介[由密西根大学提供的NLP课程]
Coursera 自然语言处理简介

图书馆和开放资源

1.spaCy(网站,博客)[Python; 新兴的开放源码库并自带炫酷的用法示例、API文档和演示应用程序]

https://spacy.io/
https://explosion.ai/blog/
https://spacy.io/docs/usage/showcase
2.自然语言工具包(NLTK)(网站,图书)[Python; NLP实用编程介绍,主要用于教学目的]
http://www.nltk.org
http://www.nltk.org/book/
3.斯坦福CoreNLP(网站)[由Java开发的高质量的自然语言分析工具包]
https://stanfordnlp.github.io/CoreNLP/
活跃的博客

1.自然语言处理博客(HalDaumé)
https://nlpers.blogspot.com/
2.Google研究博客
https://research.googleblog.com/
3.语言日志博客(Mark Liberman)
http://languagelog.ldc.upenn.edu/nll/
书籍

1.言语和语言处理(Daniel Jurafsky和James H. Martin)[经典的NLP教科书,涵盖了所有NLP的基础知识,第3版即将出版]
https://web.stanford.edu/~jurafsky/slp3/
2.统计自然语言处理的基础(Chris Manning和HinrichSchütze)[更高级的统计NLP方法]
https://nlp.stanford.edu/fsnlp/
3.信息检索简介(Chris Manning,Prabhakar Raghavan和HinrichSchütze)[关于排名/搜索的优秀参考书]
https://nlp.stanford.edu/IR-book/
4.自然语言处理中的神经网络方法(Yoav Goldberg)[深入介绍NLP的NN方法,和相对应的入门书籍]
https://www.amazon.com/Network-Methods-Natural-Language-Processing/dp/1627052984
http://u.cs.biu.ac.il/~yogo/nnlp.pdf
数据集

1.Nicolas Iderhoff已经创建了一份公开的、详尽的NLP数据集的列表。除了这些,这里还有一些项目,可以推荐给那些想要亲自动手实践的NLP新手们:
https://github.com/niderhoff/nlp-datasets
2.基于隐马尔可夫模型(HMM)实现词性标注(POS tagging).
https://en.wikipedia.org/wiki/Part-of-speech_tagging
https://en.wikipedia.org/wiki/Hidden_Markov_model
3.使用CYK算法执行上下文无关的语法解析
https://en.wikipedia.org/wiki/CYK_algorithm
https://en.wikipedia.org/wiki/Context-free_grammar
4.在文本集合中,计算给定两个单词之间的语义相似度,例如点互信息(PMI,Pointwise Mutual Information)
https://en.wikipedia.org/wiki/Semantic_similarity
https://en.wikipedia.org/wiki/Pointwise_mutual_information
5.使用朴素贝叶斯分类器来过滤垃圾邮件
https://en.wikipedia.org/wiki/Naive_Bayes_classifier
https://en.wikipedia.org/wiki/Naive_Bayes_spam_filtering
6.根据单词之间的编辑距离执行拼写检查
https://en.wikipedia.org/wiki/Spell_checker
https://en.wikipedia.org/wiki/Edit_distance
7.实现一个马尔科夫链文本生成器
https://en.wikipedia.org/wiki/Markov_chain
8.使用LDA实现主题模型
https://en.wikipedia.org/wiki/Topic_model
https://en.wikipedia.org/wiki/Latent_Dirichlet_allocation
9.使用word2vec从大型文本语料库,例如维基百科,生成单词嵌入。
https://code.google.com/archive/p/word2vec/
https://en.wikipedia.org/wiki/Wikipedia:Database_download
NLP之社交媒体

1.Twitter:#nlproc,NLPers上的文章列表(由Jason Baldrige提供)
https://twitter.com/hashtag/nlproc
https://twitter.com/jasonbaldridge/lists/nlpers
2.Reddit 社交新闻站点:/r/LanguageTechnology
https://www.reddit.com/r/LanguageTechnology
3.Medium发布平台:Nlp
https://medium.com/tag/nlp
其它

1.如何在TensorFlow中构建word2vec模型[学习指南]
https://www.tensorflow.org/versions/master/tutorials/word2vec/index.html
2.NLP深度学习的资源[按主题分类的关于深度学习的顶尖资源的概述]
https://github.com/andrewt3000/dl4nlp
3.最后一句话:计算语言学和深度学习——论自然语言处理的重要性。(Chris Manning)[文章]
http://mitp.nautil.us/article/170/last-words-computational-linguistics-and-deep-learning
4.对分布式表征的自然语言的理解(Kyunghyun Cho)[关于NLU的ML / NN方法的独立讲义]
https://github.com/nyu-dl/NLP_DL_Lecture_Note/blob/master/lecture_note.pdf
5.带泪水的贝叶斯推论(Kevin Knight)[教程工作簿]
http://www.isi.edu/natural-language/people/bayes-with-tears.pdf
6.国际计算语言学协会(ACL)[期刊选集]
http://aclanthology.info/
7.果壳问答网站(Quora):我是如何学习自然语言处理的?
https://www.quora.com/How-do-I-learn-Natural-Language-Processing

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值