NLP、KG相关学习资源汇总 您所在的位置:网站首页 cs224d NLP、KG相关学习资源汇总

NLP、KG相关学习资源汇总

#NLP、KG相关学习资源汇总| 来源: 网络整理| 查看: 265

NLP相关资源书籍

目前市面上关于自然语言处理的书也不少了,尤其是近两年,越来越多人“入坑”,各种书籍、课程也都冒了出来。说实话,很多新出的书籍我也没看过,质量不了解,所以也就不一一推荐。个人觉得,一本书要保证质量,从手稿到成书上市,时间怎么都不会短。然而,目前技术发展很快,书可能一上市,就已经过时了。因此,建议通过一些经典书籍(比如自然语言处理综论,搭配两位巨佬Dan Jurafsky & Chris Manning的视频课程Natural Language Processing更佳),了解NLP的相关任务,传统方法,应用;再参考一本工具书(比如O’REILLY出版的《Python自然语言处理》)上手练习;接着通过《基于深度学习的自然语言处理》了解深度学习怎么搞定NLP任务;选择一个合适的框架,找一些优秀的tutorial自己照着实现一遍(数据处理的pipeline,模型搭建,训练的技巧等等)。剩下的就多看看近两年比较经典的论文(通用的模型架构)。最后根据自己研究方向,或者工作需求找对应的材料深耕。

在这里就推荐下面几本书(偷个懒,介绍我就直接抄电商文案了),大家根据需求挑几本就行,也不用都买来放家里盖泡面。除了下面罗列的这些,我还收集了十几本NLP相关的英文电子版书籍,需要的朋友可以关注我的公众号(尘世美小茶馆,simmer_teahouse),菜单->“书单”查看相关介绍和下载链接(通过公众号菜单“也聊技术”还可获取我整理收集的数据集和研究与开发的框架工具)。

自然语言处理综论(Speech and Language Processing, 第三版手稿http://web.stanford.edu/~jurafsky/slp3/),作者Daniel Jurafsky与James H. Martin。本书共分五个部分。第一部分“词汇的计算机处理”,讲述单词的计算机处理,包括单词切分、单词的形态学、最小编辑距离、词类,以及单词计算机处理的各种算法,包括正则表达式、有限状态自动机、有限状态转录机、N元语法模型、隐马尔可夫模型、最大熵模型等。第二部分“语音的计算机处理”,介绍语音学、语音合成、语音自动识别以及计算音系学。第三部分“句法的计算机处理”,介绍英语的形式语法,讲述句法剖析的主要算法,包括CKY剖析算法、Earley剖析算法、统计剖析,并介绍合一与类型特征结构、Chomsky层级分类、抽吸引理等分析工具。第四部分“语义和语用的计算机处理”,介绍语义的各种表示方法、计算语义学、词汇语义学、计算词汇语义学,并介绍同指、连贯等计算机话语分析问题。第五部分“应用”,讲述信息抽取、问答系统、自动文摘、对话和会话智能代理、机器翻译等自然语言处理的应用技术。

统计自然语言处理基础(Foundations of statistical natural language processing,https://nlp.stanford.edu/fsnlp/),作者Chris Manning和Hinrich Schütze。其涵盖的内容十分广泛,分为四个部分,共16章,包括了构建自然语言处理软件工具将用到的几乎所有理论和算法。全书的论述过程由浅入深,从数学基础到精确的理论算法,从简单的词法分析到复杂的语法分析,适合不同水平的读者群的需求。

统计自然语言处理,作者宗成庆。其全面介绍了统计自然语言处理的基本概念、理论方法和新研究进展,内容包括形式语言与自动机及其在自然语言处理中的应用、语言模型、隐马尔可夫模型、语料库技术、汉语自动分词与词性标注、句法分析、词义消歧、篇章分析、统计机器翻译、语音翻译、文本分类、信息检索与问答系统、自动文摘和信息抽取、口语信息处理与人机对话系统等,既有对基础知识和理论模型的介绍,也有对相关问题的研究背景、实现方法和技术现状的详细阐述。

基于深度学习的自然语言处理,作者Yoav Goldberg。本书系统阐述将深度学习技术应用于自然语言处理的方法和技术,深入浅出地介绍了深度学习的基本知识及各种常用的网络结构,并重点介绍了如何使用这些技术处理自然语言。

Python自然语言处理,作者Steven Bird等。这是一本实用入门指南,旨在帮助读者学习如何编写程序来分析书面语言。其基于Python编程语言以及一个名为NLTK的自然语言工具包的开源库,但并不要求读者有Python编程的经验。全书共11章,按照难易程度顺序编排。第1章到第3章介绍了语言处理的基础,讲述如何使用小的Python程序分析感兴趣的文本信息。第4章讨论结构化程序设计,以巩固前面几章中介绍的编程要点。第5章到第7章介绍语言处理的基本原理,包括标注、分类和信息提取等。第8章到第10章介绍了句子解析、句法结构识别和句意表达方法。第11章介绍了如何有效管理语言数据。后记部分简要讨论了NLP领域的过去和未来。

视频课程

coursera自然语言处理专项课程 :吴恩达deeplearning.ai推出的NLP课程,分为四个部分(和我上面提到的学习路径相似,从传统到neural-based):

分类和向量空间模型:如何利用逻辑回归和朴素贝叶斯来解决tweet情感分析问题;利用向量空间模型探索词汇之间的关系,PCA降维对关系进行可视化;利用预训练的词向量实现一个简单的翻译模型。概率模型:学习如何用动态规划(最小编辑距离)实现一个纠错算法;学习用维特比算法来解决词性标注问题;如何用N-gram语言模型实现自动补全;手把手教你用CBOW训练词向量。序列模型:用Glove词向量训练tweet情感分析神经网络模型;用GRU语言模型生成莎士比亚风格的文本;LSTM解决NER任务;孪生网络预测两个问题是否是语义相关的(参考quora的那个比赛)。注意力机制:训练端到端注意力模型完成英法翻译;基于transformer的文本摘要;基于T5和Bert训练问答模型;基于Reformer实现一个对话机器人。

Dan Jurafsky和Chris Manning两位巨佬的课程。爱可可老师在B站分享了熟肉资源。 了解传统的NLP,他们的两本书加这个视频也差不多了。当然,针对咋们中文特有的问题,可以参考宗成庆老师的书。

斯坦福的NLP课程:CS224n, CS224d, CS224u。 为啥有三个?CS224n和CS224d在2017年以前是两门课程,n表示NLP,d表示NLP with DL,后面直接合为CS224n一个课程,主要focus词汇、句子、语法结构;u表示NLU,即自然语言理解,主要focus语义这个层面。现在这两门课程都基于Pytorch进行讲解,具体的schedule就去课程网站看吧。B站有全套视频,关键词cs224n/cs224u就可以搜到对应的课程。

A Code-First Introduction to Natural Language Processing:fastai家的NLP课程。他们的教学哲学是先动手做,然后再深入了解细节。适合很排斥一上来就是各种概念讲解的朋友进行学习。先让你有完成一个task的成就感,你有兴趣了,自然就会想去了解细节。课程内容主要包括:主题建模、情感分类、语言建模、翻译。从传统的正则、SVD、朴素贝叶斯到RNN、seq2seq、attention、transformer都有讲解。代码是基于Pytorch和fastai。

牛津大学和deepmind出的NLP课程,B站也有全套视频。 这个视频就不带字幕。

视频也就介绍这么多了。书籍和视频主要是让我们能够对NLP有一个系统的认识。选一些经典学习就足够了。乱花渐欲迷人眼,不要忘了学习的目的是什么,并不是为了学而学。收集一大堆资料,和你暑假带一箱书回家没有任何区别。我个人觉得,列的学习资料越多,会给刚入门的朋友带来更大的压力。当你比较熟练后,再倒回来挑一些自己感兴趣的内容学习也不会迟。那个时候你也能更好地区分哪些是你真正想了解的,哪些是你已经了解过的。这样至少不会让你困在“学”字上,为没有刷完一个学习资源而焦虑。

博客、社交媒体等其他信息渠道

如果说书籍和视频是贪多嚼不烂,那么优秀的博客资源则是多多益善了。说实话,工作中有不少实用技巧都是受到别人总结的博客内容的inspiring(不仅仅是博客,包含微博、推特、知乎各种信息渠道)。看博客,有点像同行交流。我个人理解我们通过书籍和视频课程是来建立对某个领域的系统认知,然后通过博客来深化对某写细节的理解。这个划分肯定不是这么绝对,这只是对我自己学习过程的一个抽象总结。不一定对所有人有用,仅做一个参考罢了。

下面列一些我觉得不错的博客和信息源:

Sebastian Ruder: NLP社区的名人,博士期间主要研究NLP迁移学习。http://nlpprogress.com/也是他发起的。他的每一篇博客都很推荐一读。另外,他每两周会总结一下近期NLP的进展、相关新闻和工具等等,可以订阅一下。

http://nlp.seas.harvard.edu/2018/04/03/attention.html, transformer手撸教程,带你一步步拆解transformer结构。

https://jalammar.github.io/illustrated-transformer/, transformer可视化,搭配上面一篇享用更佳。

https://jalammar.github.io/illustrated-gpt2/, gpt2可视化,和上面的博客是同一个老哥的作品。

https://spaces.ac.cn/, 苏神的博客,很多文章很inspring。

https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html, Attention这一篇真的就够了。

Awesome NLP Paper Discussions: Hugging Face例行的内部论文分享,相当于帮你人肉筛过一些论文了,可以当做一个trend看。

NLPers, Twitter上的一个group,聚集了一批NLP、计算语言学和文本分析领域的个人和组织,可以看看他们在关注什么工作,分享了什么经验等等。

NLP Stories,一个转发NLP相关新闻的账号,或者你可以自己搜#NLProc标签,查看相关的推特。

medium,一个高质量写作平台,不仅限于NLP。用关键词进行搜索,说不定有让你惊喜的内容。

本来还想列一些paperlist。后面觉得NLP涉及的方向还是很多,每个人的兴趣点、研究方向不一样。全部都罗列在这里,未免有一些主题分散。所以大家按照各自需求去阅读Paper吧。分享一些常见的论文搜索、阅读技巧,选中某个方向,搜索关键词 + "survery" 或者 “review”,比如“text classification survey”。了解这个方向的技术发展、变革路线,脑中形成一个框架。或者搜索"awesome xxx (paper list)",找到一些经典的论文进行有针对性的阅读。还可以通过“http://dailyarxiv.com/” 这个网站,选中“computer science -> computation and language”来关注新出炉的论文,不过这个就比较考验论文筛选的能力了。还有就是通过关注上面提到的一些信息渠道,了解近期比较有影响力的相关工作。

KG书籍

这两年(18-20)出版了不少中文的知识图谱书籍,KG的火爆可见一斑。比如赵军的《知识图谱》,王昊奋、漆桂林和陈华钧的《知识图谱:方法、实践与应用》,刘知远、韩旭和孙茂松的《知识图谱与深度学习》以及肖仰华的《知识图谱:概念与技术》。大家可以去各电商网站查看相关的内容介绍,这里就不一一列举了。我整理了一些知识图谱相关书籍的电子资源,需要的朋友可以关注我的公众号,菜单->“书单”查看相关介绍和下载链接。

视频课程

斯坦福 CS520《知识图谱》课程(2020) :该门课程共十讲,每节课两小时左右。B站上有全部视频。

复旦大学的《知识图谱:概念与技术》课程:同名书籍的配套课程。B站有部分视频,github有PPT资源。

王昊奋和漆桂林老师的《知识图谱》课程: 需要付费学习。

博客、社交媒体等其他信息渠道

Semantic University介绍语义网的一些基础知识。个人觉得挺不错,他们提供的文章和教程能够帮助我们系统地了解语义网。

复旦大学“知识工厂”公众号(fudankw):知识工场依托复旦大学等研究机构专注于各类知识图谱构建、管理与应用理论及关键技术研究。知识工场以构建能够满足机器语言认知需要的大规模、高质量知识图谱为基本目标,并以推进知识图谱在文本理解、智慧搜索以及机器智脑等领域中的深入应用为主要使命。该公众号会不定期地分享一些知识图谱相关的文章。

近两年(2018-2020)各大顶会KG相关论文。 其他论文请参考上面提到的论文阅读、搜索技巧。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有