介绍

“NLP’s ImageNet moment has arrived.”

– Sebastian Ruder

想象一下我们有能力构建支持谷歌翻译的自然语言处理(NLP)模型,并且在Python中仅需几行代码来完成,这听起来是不是让人非常兴奋。

而现在我们就可以坐在自己的机器前实现这个了!借助于被HuggingFace称为PyTorch-Transformers目前最先进的NLP工具。

我们可以简单地用Python导入它并进行实验。

我对现在NLP的研发速度感到非常惊讶,每一篇新论文、每一个框架和库都在推动着这个不可思议的强大领域的发展。由于围绕人工智能的研究的开放文化和大量免费可用的文本数据,几乎没有什么是我们今天不能做的。

无论我再怎么强调PyTorch-Transformers对研究社区和NLP行业的影响也不为过。我相信这有可能彻底改变我们所知的自然语言处理领域。

揭开NLP的神秘面纱

本质上,自然语言处理是教计算机理解人类语言的复杂性。

在讨论PyTorch-Transformers的技术细节之前,让我们快速回顾一下该库构建的概念——NLP。我们还将理解最先进的(state-of-the-art)意味着什么。

在我们开始PyTorch-Transformers的讲解之前,这里有一些你需要了解的东西:

最先进的(state-of-the-art)是指目前对于某项任务“最好的”算法或技术。当我们说“最好的”时,我们的意思是这些算法是由像谷歌、Facebook、微软和亚马逊这样的巨头所倡导的。

NLP有许多定义明确的任务,研究人员正在研究创建智能技术来解决这些问题。一些最受欢迎的任务像机器翻译、文本摘要、问答系统等。

深度学习技术如Recurrent Neural Networks (RNNs), Sequence2Sequence, Attention,还有Word Embeddings(Glove, Word2Vec)对NLP任务来说曾是最先进的。

然而这些技术被一个叫Transformers的框架取代了,其背后是几乎所有的当前最先进的NLP模型。

注意 这篇文章将多处提及Transformers ,所以我强烈建议你阅读下面的指南,以对Transformers有个理解

PyTorch-Transformers是什么?

PyTorch-Transformers是一个最先进的自然语言处理预训练模型库。

我从PyTorch-Transformers的文档中选取了这一部分。这个库目前包含PyTorch实现、预训练的模型权重、使用脚本和用于以下模型的转换工具:

BERT(来自谷歌) 与论文BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 一起发布

GPT(来自OpenAI) 与论文 Improving Language Understanding by Generative Pre-Training 一起发布

GPT-2(来自OpenAI) 与论文 Language Models are Unsupervised Multitask Learners 一起发布

Transformer-XL(来自谷歌/CMU) 与论文 Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context 一起发布

XLNet (来自谷歌/CMU) 与论文 XLNet: Generalized Autoregressive Pretraining for Language Understanding 一起发布

XLM (来自Facebook) 与论文 Cross-lingual Language Model Pretraining一起发布

上述所有模型都是适用于各种NLP任务的最佳模型。

大多数最先进的模型需要大量的训练数据和花费数天时间在昂贵的GPU硬件上进行训练,而这些只有大型技术公司和研究实验室才能负担得起。但随着PyTorch-Transformers的推出,现在任何人都可以利用这些最先进的模型!

在你的机器上安装PyTorch-Transformers

在Python中 Pytorch-Transformers非常简单。你可以只使用pip安装:

pip install pytorch-transformers

或者在Colab上使用以下命令:

!pip in

python transformers_PyTorch-Transformers:最先进的自然语言处理库(附带python代码)相关推荐

  1. python sip模块(为C和C++库创建Python绑定)

    Python的一个特性是,它具有强大的功能,它能够使用C或C++编写的现有库,并使它们成为Python扩展模块.这种扩展模块通常被称为库的绑定. SIP是一种工具,它可以很容易地为C和C++库创建Py ...

  2. python创建虚拟环境打包_用虚拟环境保存库文件--Python打包-阿里云开发者社区

    用虚拟环境保存库文件 如果你同时负责多个 Python 项目,或者想要轻松打包某个项目及其关联的库文件,再 或者你担心已安装的库之间可能有冲突,那么你可以安装一个 Python 虚拟环境来分而 治之. ...

  3. python用turtle画彩虹_Python利用turtle库绘制彩虹代码示例

    语言:Python IDE:Python.IDE 需求 做出彩虹效果 颜色空间 RGB模型:光的三原色,共同决定色相 HSB/HSV模型:H色彩,S深浅,B饱和度,H决定色相 需要将HSB模型转换为R ...

  4. python中turtle画老虎_通过Turtle库在Python中绘制一个鼠年福鼠

    turtle库是一个很经典的绘图库,其最初来自于1967年创造的logo编程语言,之后被Python编写放到了Python的内置模块中.网络上有很多借助于turtle绘制精美图像的案例.比如小猪佩奇. ...

  5. python单元测试的应用_单元测试使用请求库的python应用程序

    如果你使用具体请求尝试 httmock.它的奇妙简单和优雅: from httmock import urlmatch, HTTMock import requests # define matche ...

  6. python标准库pygame_用python基础百行之内以pygame为库的俄罗斯方块代码

    俄罗斯方块准备好久了,之前很多内容学的不太好,在网上找了找教程,结果都是用面向对象的方法,我要很仔细的看才能看懂,然而看懂了我自己还是不会写,于是我写了个仅仅用基础语法写明白的俄罗斯方块(if-eli ...

  7. python自然语言处理库_Python自然语言处理工具库(含中文处理)

    自然语言处理(Natural Language Processing,简称 NLP),是研究计算机处理人类语言的一门技术.随着深度学习在图像识别.语音识别领域的大放异彩,人们对深度学习在 NLP 的价 ...

  8. python自然语言处理库_Python 自然语言处理(NLP)工具库汇总

    最近正在用nltk 对中文网络商品评论进行褒贬情感分类,计算评论的信息熵(entropy).互信息(point mutual information)和困惑值(perplexity)等(不过这些概念我 ...

  9. python第三方库排行-Python模块汇总(常用第三方库)

    模块 定义 计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代码,我们会把函数进行分组,放在不同的文件里.在python里,一个.py文件就是一个模块 优点: 提高代码的可维护性 ...

最新文章

  1. 转:45 Useful JavaScript Tips, Tricks and Best Practices
  2. PHP fsockopen函数说明:
  3. Vue计算属性和监听属性
  4. 洛谷乐多赛 yyy loves Maths VI (mode)
  5. 零基础python从入门到精通 pdf-PYTHON从入门到精通 PDF 下载
  6. Spring JPA 开启原生sql打印
  7. IPhone 设备状态、闪光灯状态
  8. Eclipse分栏显示同一个代码文件的设置
  9. 海龟交易代码java_海龟交易算法,实现量化交易(1)数据获取
  10. flask框架中勾子函数的使用
  11. 【.NET Core项目实战-统一认证平台】第十三章 授权篇-如何强制有效令牌过期
  12. HTTP 数据包头解析
  13. 虚拟机全知道_12个使用技巧
  14. vue踩坑--TypeError: __WEBPACK_IMPORTED_MODULE_1_vuex__.a.store is not a constructor
  15. SylixOS的I/O系统结构类型(ORIG型和NEW_1型)
  16. Java笔记16 网络编程
  17. 专业商标设计、logo免费在线设计
  18. 社会管理网格化 源码_全县首家镇域网格妇联——“和大王”社会治理网格化服务管理中心妇联正式成立!...
  19. 用Keras解决机器学习问题!
  20. 帝国cms html广告,帝国后台管理-广告系统插件 - 搜外设计社

热门文章

  1. Interested Transaction List(ITL)
  2. what is ITL( Interested Transaction list)
  3. html中的textarea属性,textarea属性设置详解
  4. A child container failed during start之解决方法
  5. SpringBoot + MyBatis + Thymeleaf开发的个人博客。集成了:博客前台,后台管理。
  6. 【原创】深度学习第5弹:以其人之道还治其人之身
  7. 目录和文件管理相关命令
  8. 【MATLAB问题解决】解决Matlab编译后的.exe文件在另一台电脑上无法运行的问题
  9. EJB到底是什么,真的那么神秘吗
  10. 适用于小零件直接标记(DPM)的二维码 Dot Code