/NLP_Learning_Way

这是我在学习NLP的学习计划列表

Primary LanguagePython

NLP_Learning_Way

这是我在学习NLP的学习计划列表

  • List item
  • List item

NLP是什么

自然语言处理(NLP,Natural Language Processing)是研究计算机处理人类语言的一门技术,目的是弥补人类交流(自然语言)和计算机理解(机器语言)之间的差距。NLP包含句法语义分析、信息抽取、文本挖掘、机器翻译、信息检索、问答系统和对话系统等领域。

2.课程推荐

CS224n 斯坦福深度自然语言处理课

17版中文字幕:

https://www.bilibili.com/video/av41393758/?p=1

课程笔记:

http://www.hankcs.com/?s=CS224n%E7%AC%94%E8%AE%B0

2019版课程主页:

http://web.stanford.edu/class/cs224n/

  • List item

自然语言处理 - Dan Jurafsky 和 Chris Manning

B站英文字幕版:

https://www.bilibili.com/video/av35805262/

学术激流网:

http://academictorrents.com/details/d2c8f8f1651740520b7dfab23438d89bc8c0c0ab

  • List item

3.书籍推荐

Python自然语言处理

入门读物,整本书不仅涉及了语料库的操作,也对传统的基于规则的方法有所涉及。全书包括了分词(tokenization)、词性标注(POS)、语块(Chunk)标注、句法剖析与语义剖析等方面,是nlp中不错的一本实用教程。

自然语言处理综论

By Daniel Jurafsky和James H. Martin

本书十分权威,是经典的NLP教科书,涵盖了经典自然语言处理、统计自然语言处理、语音识别和计算语言学等方面。

  • List item

统计自然语言处理基础

By Chris Manning和HinrichSchütze

更高级的统计NLP方法,在统计基本部分和n元语法部分介绍得都很不错。

  • List item

4.博客推荐

我爱自然语言处理

地址:http://www.52nlp.cn/

TFIDF、文档相似度等等在这个网站上都有通俗易懂的解释

  • List item

语言日志博客(Mark Liberman)

地址:http://languagelog.ldc.upenn.edu/nll/

  • List item

natural language processing blog

地址:https://nlpers.blogspot.com/

美国Hal Daumé III维护的一个natural language processing的 博客,经常评论最新学术动态,值得关注。有关于ACL、NAACL等学术会议的参会感想和对论文的点评

  • List item

5.项目推荐

基于LSTM的中文问答系统

https://github.com/S-H-Y-GitHub/QA

基于RNN的文本生成器

https://github.com/karpathy/char-rnn

基于char-rnn的汪峰歌词生成器

https://github.com/phunterlau/wangfeng-rnn

用RNN生成手写数字

https://github.com/skaae/lasagne-draw

  • List item

6.开源NLP工具包

中文NLP相关:

https://github.com/crownpku/Awesome-Chinese-NLP

  • List item

英文NLP相关:

NLTK: http://www.nltk.org/

TextBlob: http://textblob.readthedocs.org/en/dev/

Gensim: http://radimrehurek.com/gensim/

Pattern: http://www.clips.ua.ac.be/pattern

Spacy: http://spacy.io

Orange: http://orange.biolab.si/features/

Pineapple: https://github.com/proycon/pynlpl

  • List item

7.相关论文

100 Must-Read NLP Papers

https://github.com/mhagiwara/100-nlp-papers

  • List item

8.Papers with Code

Papers with Code(Browse state-of-the-art)

这个网站叫做 Browse state-of-the-art。它将 ArXiv 上的最新深度学习论文与 GitHub 上的开源代码联系起来。该项目目前包含了 651 个排行榜,1016 个深度学习任务,795 个数据集,以及重磅的 10257 个含复现代码的优秀论文。简直就是一个寻找论文和代码的利器。它将 1016 个深度学习任务分成了 16 大类,涉及了深度学习的各个方面。

主页地址:

https://paperswithcode.com/sota

Papers with Code(Sorted by stars)

这份资源收集了 AI 领域从 2013 - 2018 年所有的论文,并按照在 GitHub 上的标星数量进行排序。

GitHub 项目地址:

https://github.com/zziz/pwc

9.《AI 算法工程师手册》中文教程

http://www.huaxiaozhuan.com/

书籍整体包含了 5 大块内容,分别是:

数学基础

统计学习

深度学习

自然语言处理

工具

1. 数学基础

提升 AI 内功心法离不开扎实的数学基础。本书数学基础这部分,作者主要介绍了最重要的 4 点:

  1. 线性代数基础

  2. 概率论基础

  3. 数值计算基础

  4. 蒙特卡洛方法与 MCMC 采样

2. 统计学习

这部分内容作者花了比较大的篇幅,主要介绍的是机器学习中一些常见的算法,包括线性回归、感知机、支持向量机、决策树、集成学习等。同时还包括模型评估、特征选择、降维等。具体内容如下:

  1. 机器学习简介

  2. 线性代数基础

  3. 支持向量机

  4. 朴素贝叶斯

  5. 决策树

  6. knn

  7. 集成学习

  8. 梯度提升树

  9. 特征工程

  10. 模型评估

  11. 降维

  12. 聚类

  13. 半监督学习

  14. EM算法

  15. 最大熵算法

  16. 隐马尔可夫模型

  17. 概率图与条件随机场

  18. 边际概率推断

3. 深度学习

这部分主要介绍深度学习神经网络的基本知识和模型,包括前馈神经网络、卷积神经网络、循环神经网络等。具体内容如下:

  1. 深度学习简介

  2. 反向传播算法

  3. 正则化

  4. 最优化基础

  5. 卷积神经网络

  6. 循环神经网络

  7. 工程实践指导原则

这部分详细介绍了神经网络模型的基本结构和训练方法,例如列举了经典 CNN 结构:LeNet、AlexNet、VGG-Net、Inception、ResNet、ResNet 变种、SENet、DenseNet。

4. 自然语言处理

这部分作者主要介绍了自然语言处理领域的 2 个方面:

  1. 主题模型

    Unigram Model

    pLSA Model

    LDA Model

    型讨论

  2. 词向量

    向量空间模型 VSM

    LSA

    Word2Vec

    GloVe

5. 工具

这部分主要介绍了 AI 常用工具和函数库,具体内容如下:

  1. CRF

  2. lightgbm

  3. xgboost

  4. scikit-learn

  5. spark

  6. numpy

  7. scipy

  8. matplotlib

  9. pandas

这部分的内容更加侧重于 AI 实战,包含很多具体函数库的使用教程和代码。例如 lightbgm 是一个快速的,分布式的,高性能的基于决策树算法的梯度提升框架。可用于排序,分类,回归以及很多其他的机器学习任务中。本书对 lightbgm 的安装、各参数含义、调参、使用等都作了详细的介绍,宛如一份优秀的中文文档!

10.自然语言处理(NLP) 专知荟萃

http://www.zhuanzhi.ai/topic/2001604244625713/awesome

11.其他学习资料

一、15本NLP领域经典书籍(电子书):

百度云链接:

https://pan.baidu.com/s/1VrtAF5VzP5CpFTvDNz4g5g

密码:i71s

二、41个NLP领域经典论文:

百度云链接:

https://pan.baidu.com/s/1ZkdMVQIXarU0Pij1V8eHSA

密码:p59a

三、自然语言处理相关数据集汇总

(一)情感/观点/评论 倾向性分析

1、ChnSentiCorp_htl_all 数据集

数据概览:7000 多条酒店评论数据,5000 多条正向评论,2000 多条负向评论

下载地址:

https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/ChnSentiCorp_htl_all/intro.ipynb

2、waimai_10k数据集

数据概览:某外卖平台收集的用户评价,正向 4000 条,负向 约 8000 条

下载地址:

https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/waimai_10k/intro.ipynb

3、online_shopping_10_cats 数据集

数据概览:10 个类别,共 6 万多条评论数据,正、负向评论各约 3 万条, 包括书籍、平板、手机、水果、洗发水、热水器、蒙牛、衣服、计算机、酒店

下载地址:

https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/online_shopping_10_cats/intro.ipynb

4、weibo_senti_100k数据集

数据概览:10 万多条,带情感标注新浪微博,正负向评论约各 5 万条

下载地址:

https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/weibo_senti_100k/intro.ipynb

5、simplifyweibo_4_moods数据集

数据概览:36 万多条,带情感标注 新浪微博,包含 4 种情感, 其中喜悦约 20 万条,愤怒、厌恶、低落各约 5 万条

下载地址:

https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/simplifyweibo_4_moods/intro.ipynb

6、dmsc_v2数据集

数据概览:28 部电影,超 70 万 用户,超 200 万条 评分/评论 数据

下载地址:

https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/dmsc_v2/intro.ipynb

7、yf_dianping 数据集

数据概览:24 万家餐馆,54 万用户,440 万条评论/评分数据

下载地址:

https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/yf_dianping/intro.ipynb

8、yf_amazon 数据集

数据概览:52万件商品,1100 多个类目,142 万用户,720 万条评论/评分数据

下载地址:

https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/yf_amazon/intro.ipynb

(二)中文命名实体识别

dh_msra 数据集

数据概览:5 万多条中文命名实体识别标注数据(包括地点、机构、人物)

下载地址:

https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/dh_msra/intro.ipynb

(三)推荐系统

1、ez_douban 数据集

数据概览:5 万多部电影(3 万多有电影名称,2 万多没有电影名称),2.8 万 用户,280 万条评分数据

下载地址:

https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/ez_douban/intro.ipynb

2、dmsc_v2 数据集

数据概览:28部电影,超70万用户,超200万条评分/评论 数据

下载地址:

https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/dmsc_v2/intro.ipynb

3、yf_dianping 数据集

数据概览:24 万家餐馆,54 万用户,440 万条评论/评分数据

下载地址:

https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/yf_dianping/intro.ipynb

4、yf_amazon 数据集

数据概览:52 万件商品,1100 多个类目,142 万用户,720 万条评论/评分数据

下载地址:

https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/yf_amazon/intro.ipynb

四、自然语言处理开源项目汇总:

1、增强的人工智能得分引擎

项目链接:

https://github.com/edx/ease

2、自动语音识别

项目链接:

https://github.com/mozilla/DeepSpeech

3、语法错误校正

项目链接:

https://github.com/atpaino/deep-text-corrector

4、字素转换到音素

项目链接:

https://github.com/cmusphinx/g2p-seq2seq

5、唇语辨别

项目链接:

https://github.com/astorfi/lip-reading-deeplearning

6、命名实体识别

项目链接:

https://github.com/aritter/twitter_nlp

7、释义检测

项目链接:

http://knowitall.cs.washington.edu/paralex/

8、语音合成

项目链接:

http://www.festvox.org/index.html

9、文本蕴涵

项目链接:

https://github.com/Steven-Hewitt/Entailment-with-Tensorflow

10、音译

项目链接:

https://github.com/Kyubyong/neural_japanese_transliterator

11、词嵌入

项目链接:

https://github.com/Kyubyong/wordvectors

12、词汇预测

项目链接:

https://github.com/Kyubyong/word_prediction

13、词分割

项目链接:

https://github.com/chqiwang/convseg

14、指代消解

项目链接:

https://github.com/Kyubyong/nlp_tasks#coreference-resolution

五、kaggle挑战赛完整源码

1、论文自动评分系统:

https://www.kaggle.com/c/asap-aes

2、CHiME语音的分离和识别挑战:

http://spandh.dcs.shef.ac.uk/chime_challenge/

3、2015语言识别评估挑战赛:

https://www.nist.gov/itl/iad/mig/2015-language-recognition-evaluation

4、 UMICH SI650 – 情绪分类:

https://www.kaggle.com/c/si650winter11#description

六、自然语言处理实用工具包大汇总

1、KenLM语言模型工具包

http://kheafield.com/code/kenlm/

2、WordNet Lemmatizer:

http://www.nltk.org/api/nltk.stem.html#nltk.stem.wordnet.WordNetLemmatizer.lemmatize

3、A statistical parser:

https://nlp.stanford.edu/software/lex-parser.shtml

4、spaCyparser:

https://spacy.io/docs/usage/dependency-parse

5、nltk.tag package:

http://www.nltk.org/api/nltk.tag.html

6、Illinois Semantic Role Labeler(SRL):

http://cogcomp.org/page/software_view/SRL

7、NLTK Tokenizers:

http://www.nltk.org/_modules/nltk/tokenize.html

8、Merlin:基于神经网络的语音合成系统:

https://github.com/CSTR-Edinburgh/merlin

9、 NLTK Stemmers:

http://www.nltk.org/howto/stem.html

10、Gensim: word2vec:

https://radimrehurek.com/gensim/models/word2vec.html

11、fastText:

https://github.com/facebookresearch/fastText

12、GloVe:Global Vectors for Word Representation:

https://nlp.stanford.edu/projects/glove/

13、Stanford Word Segmenter:

https://nlp.stanford.edu/software/segmenter.html

14、NLTK Tokenizers:

http://www.nltk.org/_modules/nltk/tokenize.html


其他:

完成:

NLP第1课:中文自然语言处理的完整机器处理流程 https://www.jianshu.com/p/b87e01374a65

https://www.jianshu.com/u/ba83fba00eef

  • 完成

参考:完备的 AI 学习路线,最详细的资源整理!