python transformers_PyTorch-Transformers:最先进的自然语言处理库(附带python代码)
介绍
“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代码)相关推荐
- python sip模块(为C和C++库创建Python绑定)
Python的一个特性是,它具有强大的功能,它能够使用C或C++编写的现有库,并使它们成为Python扩展模块.这种扩展模块通常被称为库的绑定. SIP是一种工具,它可以很容易地为C和C++库创建Py ...
- python创建虚拟环境打包_用虚拟环境保存库文件--Python打包-阿里云开发者社区
用虚拟环境保存库文件 如果你同时负责多个 Python 项目,或者想要轻松打包某个项目及其关联的库文件,再 或者你担心已安装的库之间可能有冲突,那么你可以安装一个 Python 虚拟环境来分而 治之. ...
- python用turtle画彩虹_Python利用turtle库绘制彩虹代码示例
语言:Python IDE:Python.IDE 需求 做出彩虹效果 颜色空间 RGB模型:光的三原色,共同决定色相 HSB/HSV模型:H色彩,S深浅,B饱和度,H决定色相 需要将HSB模型转换为R ...
- python中turtle画老虎_通过Turtle库在Python中绘制一个鼠年福鼠
turtle库是一个很经典的绘图库,其最初来自于1967年创造的logo编程语言,之后被Python编写放到了Python的内置模块中.网络上有很多借助于turtle绘制精美图像的案例.比如小猪佩奇. ...
- python单元测试的应用_单元测试使用请求库的python应用程序
如果你使用具体请求尝试 httmock.它的奇妙简单和优雅: from httmock import urlmatch, HTTMock import requests # define matche ...
- python标准库pygame_用python基础百行之内以pygame为库的俄罗斯方块代码
俄罗斯方块准备好久了,之前很多内容学的不太好,在网上找了找教程,结果都是用面向对象的方法,我要很仔细的看才能看懂,然而看懂了我自己还是不会写,于是我写了个仅仅用基础语法写明白的俄罗斯方块(if-eli ...
- python自然语言处理库_Python自然语言处理工具库(含中文处理)
自然语言处理(Natural Language Processing,简称 NLP),是研究计算机处理人类语言的一门技术.随着深度学习在图像识别.语音识别领域的大放异彩,人们对深度学习在 NLP 的价 ...
- python自然语言处理库_Python 自然语言处理(NLP)工具库汇总
最近正在用nltk 对中文网络商品评论进行褒贬情感分类,计算评论的信息熵(entropy).互信息(point mutual information)和困惑值(perplexity)等(不过这些概念我 ...
- python第三方库排行-Python模块汇总(常用第三方库)
模块 定义 计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代码,我们会把函数进行分组,放在不同的文件里.在python里,一个.py文件就是一个模块 优点: 提高代码的可维护性 ...
最新文章
- 转:45 Useful JavaScript Tips, Tricks and Best Practices
- PHP fsockopen函数说明:
- Vue计算属性和监听属性
- 洛谷乐多赛 yyy loves Maths VI (mode)
- 零基础python从入门到精通 pdf-PYTHON从入门到精通 PDF 下载
- Spring JPA 开启原生sql打印
- IPhone 设备状态、闪光灯状态
- Eclipse分栏显示同一个代码文件的设置
- 海龟交易代码java_海龟交易算法,实现量化交易(1)数据获取
- flask框架中勾子函数的使用
- 【.NET Core项目实战-统一认证平台】第十三章 授权篇-如何强制有效令牌过期
- HTTP 数据包头解析
- 虚拟机全知道_12个使用技巧
- vue踩坑--TypeError: __WEBPACK_IMPORTED_MODULE_1_vuex__.a.store is not a constructor
- SylixOS的I/O系统结构类型(ORIG型和NEW_1型)
- Java笔记16 网络编程
- 专业商标设计、logo免费在线设计
- 社会管理网格化 源码_全县首家镇域网格妇联——“和大王”社会治理网格化服务管理中心妇联正式成立!...
- 用Keras解决机器学习问题!
- 帝国cms html广告,帝国后台管理-广告系统插件 - 搜外设计社
热门文章
- Interested Transaction List(ITL)
- what is ITL( Interested Transaction list)
- html中的textarea属性,textarea属性设置详解
- A child container failed during start之解决方法
- SpringBoot + MyBatis + Thymeleaf开发的个人博客。集成了:博客前台,后台管理。
- 【原创】深度学习第5弹:以其人之道还治其人之身
- 目录和文件管理相关命令
- 【MATLAB问题解决】解决Matlab编译后的.exe文件在另一台电脑上无法运行的问题
- EJB到底是什么,真的那么神秘吗
- 适用于小零件直接标记(DPM)的二维码 Dot Code