一份不可多得的自然语言处理资源清单

简介: 一份关于自然语言处理NLP的资源清单,给出了相应的学习链接,方便学习。

1


自然语言处理(Natural Langauge Processing,NLP)是计算机系统理解人类语言的一种能力,它也是人工智能(AI)的子集。NLP在很多商业场景中都有所应用,比如推荐系统、对话机器人等。NLP相关的岗位薪资和前景在机器学习算法岗中也是具有很大的吸引力,很多人转行从事这方面的研究,大多数人是通过自学来提升自己的能力。目前,网络上也有很多多免费资源可以帮助自学者发展NLP方面的专业知识,但资源多且杂,没有很好的一条线将其串起来,那么在本文中,我们列出了针对初学者和中级学习者的学习资源。

针对初学者的NLP资源

2


对于初学者而言,可以采用两种方法,即传统的机器学习和深度学习来学习使用NLP,这两种方法差别很大的, 这里讲述了两者之间的区别。

传统的机器学习

传统的机器学习算法一般比较复杂,通常不易被人理解。以下是一些资源,可以帮助读者开始使用机器学习学习NLP:

深度学习

深度学习是机器学习领域中的一个子领域,由于人工神经网络的引入,其性能一般远远优于传统的机器学习方法。初学者可以从以下资源开始:

  • CS 224n:这是斯坦福大学的公开课,也是开始使用深度学习进行NLP的最佳课程;
  • Yoav Golberg出版的免费和付费书籍也是开始深度学习NLP的重要资源;
  • 所有算法的非常全面的报道都可以在Jacob Einsenstein的NLP课程笔记中找到,该课程几乎涉及所有NLP方法。

针对从业者的NLP资源

3


如果你是一名数据科学家,那么将需要以下三种类型的资源:
1.快速入门指南/了解热门和新的知识;
2.特定问题的方法调查;
3.定期关注博客;

快速入门指南/了解热门和新的知识

2.https://distill.pub/2016/augmented-rnns/

  • 卷积神经网络(Convnets)可用于理解自然语言,通过阅读此文可以帮助你想象在Convnets中处理NLP;
  • Convnets和RNNs之间的相互比较已经在此文中总结出,二者实现的pytorch代码也公开在此

特定问题的方法调查

从业者需要的另一类资源是对特定问题的回答:“我必须训练一个算法来完成某一项任务X,此时我能使用的最有利(也很容易获得)的东西是什么呢?”。
以下是你需要的内容:

文本分类

人们解决NLP的第一个问题是什么呢,主要是文本分类。文本分类可以将文本分类为不同的类别或检测文本中的情感。

  • ParallelDots 博客中描述了关于情感分析的不同调查,虽然该调查是针对情感分析技术的,但可以将其扩展到大多数文本分类问题中。
  • 另一项关于情感分析算法的调查(由Linked大学和UIUC的人员进行)可以通过在此阅读
  • 迁移学习在深入学习中变得非常热门,尤其是在图像处理任务中,只需要针对具体的分类任务进行模型微调就可以获得比较好的性能,同理,在维基百科上训练用于语言建模的NLP模型也可以在相对较少量的数据上迁移学习文本分类。以下是来自相关的资源链接:
    1.https://arxiv.org/abs/1801.06146

2.https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf

  • Fast.ai上有一个关于NLP的学习文档可供使用,链接在此
    如果你正在学习两个不同的任务,而没有使用迁移学习的话,在此处提到了使用Convnet的技巧。
  • 我们还发布了关于Zero Shot Text分类的工作,该工作在没有任何数据集培训的情况下获得了良好的准确性,并且正在开发下一代。我们构建了自定义文本分类API,读者可以在其中定义自己的类别。

序列标记

  • 序列标记是一种标记具有不同属性的单词的任务,这些任务包括词性标注、命名实体识别、关键字标记等,我们在这里为这些任务写了一个有趣的方法调查
  • 今年COLING的研究论文为这些问题提供了一个很好的资源,它为训练序列标记算法提供了最佳指导。

机器翻译

2.https://www.forbes.com/sites/tonybradley/2017/07/31/facebook-ai-creates-its-own-language-in-creepy-preview-of-our-potential-future/#1d1ca041292c

问答系统

市面上有许多不同类型的问答任务,比如从选项中选择、从段落或知识图表中选择答案并根据图像回答问题,并且有不同的数据集可以了解最新技术方法。
* SQuAD数据集是一个问答数据集,它测试算法阅读理解和回答问题的能力。微软在今年早些时候发表的一篇论文中声称,他们已经达到了人类级别的精度。另一个重要的算法是Allen AI的BIDAF及其改进版;

  • 另一个重要的算法是Visual Question Answering,它可以回答有关图像的问题。Teney等人的论文是一个很好的入门资源,可以在Github上找到实现代码;
  • 在现实生活中,提取问答对大型文件应答可使用迁移学习来完成,相关的论文可以在此访问

改述、句子相似或推理

NLP有三个不同的任务:句子相似性,释义检测和自然语言推理(NLI),每个都需要比上一个更多的语义理解。 MultiNLI及其子集Stanford NLI是NLI最有名的基准数据集,并且最近成为了研究的焦点;此外,还有MS复述语料库和Quora语料库用于释义检测,以及用于STS的SemEval数据集(语义文本相似性),可在这里找到此领域中对相关模型的调查综述。在临床领域应用NLI是非常重要的,比如了解正确的医疗程序、副作用和药物的交叉影响等,此教程是医学领域中应用NLI的一个好资源。
下面是这个领域推荐的论文列表:

  • 交互空间的自然语言推理——它采用了一种非常聪明的方法,使用DenseNet表示句子,你可以在这里阅读该论文;
  • 这篇来自Omar Levy小组的研究论文表明,即使是简单的算法也能完成任务;
  • BiMPM是预测释义的一个好模型,可以在这里访问
  • 我们还有一项关于释义检测的新工作,它将关系网络应用于句子表示之上,并已在今年的AINL会议上被接受。

其他领域

以下是一些更详细的综述性文章,阅读这些文章可以帮助你,获取在制作NLP系统时可能遇到的其他任务的研究信息。

  • 语言建模(LM)——语言建模是学习一个无监督语言表示的任务,这是通过给定前N个单词的句子来预测第(n + 1)个单词。这些模型具有两个重要的实际用途,即自动完成并用作文本分类的转移学习的基础模型。详细的综述文章在此,如果有兴趣了解如何根据搜索历史自动完成手机/搜索引擎中的LSTM工作, 可以阅读这篇论文
  • 关系提取——关系提取是提取句子中存在的实体之间关系的任务,给定的句子“A像r一样与B相关”,那么得到三元组(A,r,B)。详细的综述文章在此,它使用BIDAF进行零射击关系提取;
  • 对话系统—— 随着聊天机器人革命的开始,对话系统现在也风靡一时。许多人将对话系统看作成意图检测、关键字检测、问答等模型的组合,而其他人则尝试端到端地对其进行建模。详细的综述文章在此,在这里提下Facebook AI的Parl.ai框架;
  • 文本摘要——文本摘要用于从文档中获取精简文本(段落/新闻文章等)。有两种方法可以做到这一点:提取和抽象总结。虽然抽取摘要从文章中提供了具有最高信息内容的句子,但抽象概括的目的是像人类一样编写摘要。来自爱因斯坦AI的演示将抽象概括带入了主流研究中,详细的综述文章在此
  • 自然语言生成(NLG)—— 自然语言生成是计算机旨在像人类一样写作的研究,可能是写故事、诗歌、图像标题等。目前,在生成图像标题上已经做得很好了,其中将LSTM和注意机制相结合,使得输出可用于现实生活中,详细的综述文章在此

关注博客

以下是推荐关注的博客列表,对于NLP感兴趣的读者可以时常浏览:

作者信息

Muktabh Mayank,数据科学家、企业家、社会学家
个人主页:https://twitter.com/muktabh
文章原标题《Free resources to learn Natural Language Processing》,译者:Uncle_LLD。
文章为简译,更为详细的内容,请查看原文。

目录
相关文章
|
7月前
|
机器学习/深度学习 自然语言处理 算法
自然语言处理算法与文档管理软件:提升搜索与分类效率的未来
如果想要让你的文档管理软件更智能、更易用,那就让我们聊一聊如何巧妙地应用自然语言处理(NLP)算法吧!这绝对是提升用户体验和工作效率的“绝佳利器”!下面是一些能帮你通过自然语言处理算法提升文档管理软件的搜索和分类效率的方法——
105 1
|
1月前
|
文字识别 API 开发工具
文字识别OCR常见问题之本地化部署如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
31 2
|
2月前
|
人工智能 文字识别 Java
AI工具【OCR 01】Java可使用的OCR工具Tess4J使用举例(身份证信息识别核心代码及信息提取方法分享)
【2月更文挑战第1天】Lept4J和Tess4J都是基于Tesseract OCR引擎的Java接口,可以用来识别图像中的文本,本次介绍Tess4J
96 0
|
10月前
|
编译器 C++
【C++】你想要的——印刷模板儿(上)
【C++】你想要的——印刷模板儿
57 0
|
10月前
|
编译器 C++
【C++】你想要的——印刷模板儿(下)
【C++】你想要的——印刷模板儿
58 0
|
11月前
|
搜索推荐
如何用ChatGPT做品牌项目的二手信息搜集?
品牌案例、竞品、信息来源、项目分析、官方渠道、品类、品牌、节日节庆、明星、国家、奖项、代理商、项目名称、项目描述、品牌介绍、竞争情况、运营数据、财务信息、交易信息、法律问题、网络平台、行业人士、品牌拥有者、报纸杂志、研究报告
77 0
|
11月前
|
机器学习/深度学习 数据采集 自然语言处理
自然语言处理概述及流程
自然语言处理概述及流程
|
机器学习/深度学习 人工智能 自然语言处理
超精准!AI 结合邮件内容与附件的意图理解与分类!⛵
借助AI进行邮件正文与附件内容的识别,可以极大提高工作效率。本文讲解如何设计一个AI系统,完成邮件内容意图检测:架构初揽、邮件正文&附件的理解与处理、搭建多数据源混合网络、训练&评估。
994 2
超精准!AI 结合邮件内容与附件的意图理解与分类!⛵
|
自然语言处理 机器人 Java
自然语言处理预训练模型招中标公告类型分类服务 Quick Start
自然语言处理(Natural Language Processing,简称NLP),是为各类企业及开发者提供的用于文本分析及挖掘的核心工具,旨在帮助用户高效的处理文本,已经广泛应用在电商、文娱、司法、公安、金融、医疗、电力等行业客户的多项业务中,取得了良好效果。可用于搭建内容搜索、内容推荐、舆情识别分析、对话机器人等智能产品。NLP自学习平台提供了一些预训练的特定领域模型服务。服务无需自主标注训练,直接调用API即可使用。招中标公告类型分类服务适用于作为招标解析服务(高级版)、中标解析服务(高级版)的前处理步骤。本文将使用Java SDK演示招中标公告类型分类服务的快速调用,以供参考。
193 0
|
自然语言处理 算法 测试技术
基于阿里云自然语言处理自学习平台实现商品评价解析功能
面向算法小白用户的NLP行业自适应标注、训练和服务平台。该产品支持文本实体抽取、文本分类、关键短语抽取、情感分析、关系抽取、短文本匹配、商品评价解析等 NLP 定制化算法能力,用户无需拥有丰富的算法背景,仅需标注或上传适量文档数据,即可通过平台获得优质的 NLP 算法模型。此篇文章将简单介绍自学习平台的操作流程以及实现商品评价解析功能
306 0
基于阿里云自然语言处理自学习平台实现商品评价解析功能