分享

这是我见过最好的入门自然语言处理(NLP)的资源清单了

 爱因思念l5j0t8 2017-07-05

Melanie Tosik目前就职于旅游搜索公司WayBlazer,她的工作内容是通过自然语言请求来生产个性化旅游推荐路线。回顾她的学习历程,她为期望入门自然语言处理的初学者列出了一份学习资源清单。



目录:

·  在线课程

·  图书馆和开放资源

·  活跃的博客

·  书籍

·  数据集

·  NLP之社交媒体

·  其它



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

https://demos./displacy/?text=Great%2C%20this%20is%20just%20what%20I%20needed!&model=en&cpu=1&cph=0

 

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


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

 



在线课程


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

https://www./watch?v=nfoudtpBV68&list=PL6397E4B26D00A269

 

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

http://cs224d./syllabus.html

 

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

https://www./learn/natural-language-processing

 



图书馆和开放资源


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

https:///

https:///blog/

https:///docs/usage/showcase

 

2.自然语言工具包(NLTK)(网站,图书)[Python; NLP实用编程介绍,主要用于教学目的]

http://www.

http://www./book/

 

3.斯坦福CoreNLP(网站)[由Java开发的高质量的自然语言分析工具包]

https://stanfordnlp./CoreNLP/

 



活跃的博客


1.自然语言处理博客(HalDaumé)

https://nlpers./

 

2.Google研究博客

https://research./

 

3.语言日志博客(Mark Liberman)

http://languagelog.ldc./nll/

 



书籍


1.言语和语言处理(Daniel Jurafsky和James H. Martin)[经典的NLP教科书,涵盖了所有NLP的基础知识,第3版即将出版]

https://web./~jurafsky/slp3/

 

2.统计自然语言处理的基础(Chris Manning和HinrichSchütze)[更高级的统计NLP方法]

https://nlp./fsnlp/

 

3.信息检索简介(Chris Manning,Prabhakar Raghavan和HinrichSchütze)[关于排名/搜索的优秀参考书]

https://nlp./IR-book/

 

4.自然语言处理中的神经网络方法(Yoav Goldberg)[深入介绍NLP的NN方法,和相对应的入门书籍]

https://www.amazon.com/Network-Methods-Natural-Language-Processing/dp/1627052984

http://u.cs./~yogo/nnlp.pdf 




数据集


1.Nicolas Iderhoff已经创建了一份公开的、详尽的NLP数据集的列表。除了这些,这里还有一些项目,可以推荐给那些想要亲自动手实践的NLP新手们:

https://github.com/niderhoff/nlp-datasets

 

2.基于隐马尔可夫模型(HMM)实现词性标注(POS tagging).

https://en./wiki/Part-of-speech_tagging

https://en./wiki/Hidden_Markov_model

 

3.使用CYK算法执行上下文无关的语法解析

https://en./wiki/CYK_algorithm

https://en./wiki/Context-free_grammar

 

4.在文本集合中,计算给定两个单词之间的语义相似度,例如点互信息(PMI,Pointwise Mutual Information)

https://en./wiki/Semantic_similarity

https://en./wiki/Pointwise_mutual_information

 

5.使用朴素贝叶斯分类器来过滤垃圾邮件

https://en./wiki/Naive_Bayes_classifier

https://en./wiki/Naive_Bayes_spam_filtering

 

6.根据单词之间的编辑距离执行拼写检查

https://en./wiki/Spell_checker

https://en./wiki/Edit_distance

 

7.实现一个马尔科夫链文本生成器

https://en./wiki/Markov_chain

 

8.使用LDA实现主题模型

https://en./wiki/Topic_model

https://en./wiki/Latent_Dirichlet_allocation

 

9.使用word2vec从大型文本语料库,例如维基百科,生成单词嵌入。

https://code.google.com/archive/p/word2vec/

https://en./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./r/LanguageTechnology

 

3.Medium发布平台:Nlp

https:///tag/nlp





其它


1.如何在TensorFlow中构建word2vec模型[学习指南]

https://www./versions/master/tutorials/word2vec/index.html

 

2.NLP深度学习的资源[按主题分类的关于深度学习的顶尖资源的概述]

https://github.com/andrewt3000/dl4nlp

 

3.最后一句话:计算语言学和深度学习——论自然语言处理的重要性。(Chris Manning)[文章]

http://mitp./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./natural-language/people/bayes-with-tears.pdf

 

6.国际计算语言学协会(ACL)[期刊选集]

http:///

 

7.果壳问答网站(Quora):我是如何学习自然语言处理的?

https://www./How-do-I-learn-Natural-Language-Processing







    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多