Github 项目推荐 | PyTorch 文本工具库/数据集

2018 年 4 月 11 日 AI研习社 孔令双

PyTorch-NLP,简称 torchnlp,是一个神经网络层、文本处理模块和数据集库,旨在加速自然语言处理的研究。

有兴趣加入该社区的开发者可以在 Gitter(https://gitter.im/PyTorch-NLP/Lobby) 和 Google Group(https://groups.google.com/forum/#!forum/pytorch-nlp) 上跟作者交流。

Github 地址:

https://github.com/PetrochukM/PyTorch-NLP

  安装

先确保你已经安装好了 Python 3.5+ 、PyTorch 0.2.0 或者更新的版本,你可以通过 pip 来安装 pytorch-nlp

pip install pytorch-nlp

  文档

完整文档地址如下:

https://pytorchnlp.readthedocs.io/

  加载数据集

(http://pytorchnlp.readthedocs.io/en/latest/source/torchnlp.datasets.html)

举例,加载 IMDB 数据集:

from torchnlp.datasets import imdb_dataset

# Load the imdb training dataset
train = imdb_dataset(train=True)
train[0]  # RETURNS: {'text': 'For a movie that gets..', 'sentiment': 'pos'}

  应用神经网络层:

(http://pytorchnlp.readthedocs.io/en/latest/source/torchnlp.nn.html)

例如,从神经网络包中,应用一个简单循环单元(SRU):

from torchnlp.nn import SRU
import torch

input_ = torch.autograd.Variable(torch.randn(6, 3, 10))
sru = SRU(10, 20)

#
Apply a Simple Recurrent Unit to `input_`
sru(input_)
# RETURNS: (
#   output [torch.FloatTensor (6x3x20)],
#   hidden_state [torch.FloatTensor (2x3x20)]
# )

  Encode Text

(http://pytorchnlp.readthedocs.io/en/latest/source/torchnlp.text_encoders.html)

WhitespaceEncoder 在遇到空白字符时将文本分解为条目:

from torchnlp.text_encoders import WhitespaceEncoder

# Create a `WhitespaceEncoder` with a corpus of text
encoder = WhitespaceEncoder(["now this ain't funny", "so don't you dare laugh"])

# Encode and decode phrases
encoder.encode("this ain't funny.") # RETURNS: torch.LongTensor([6, 7, 1])
encoder.decode(encoder.encode("This ain't funny.")) # RETURNS: "this ain't funny."

  加载 Word Vectors

(http://pytorchnlp.readthedocs.io/en/latest/source/torchnlp.word_to_vector.html)

加载 FastText

from torchnlp.word_to_vector import FastText

vectors = FastText()
# Load vectors for any word as a `torch.FloatTensor`
vectors['hello']  # RETURNS: [torch.FloatTensor of size 100]

  计算度量

http://pytorchnlp.readthedocs.io/en/latest/source/torchnlp.metrics.html

最后,计算通用指标,如 BLEU 分数。

from torchnlp.metrics import get_moses_multi_bleu

hypotheses = ["The brown fox jumps over the dog 笑"]
references = ["The quick brown fox jumps over the lazy dog 笑"]

# Compute BLEU score with the official BLEU perl script
get_moses_multi_bleu(hypotheses, references, lowercase=True)  # RETURNS: 47.9

4 月 AI 求职季

8 大明星企业

10 场分享盛宴

20 小时独门秘籍

4.10-4.19,我们准时相约!



新人福利



关注 AI 研习社(okweiwu),回复  1  领取

【超过 1000G 神经网络 / AI / 大数据资料】



新加坡国立大学霍华德:NLP 都有哪些有意思的事儿?

登录查看更多
2

相关内容

【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
212+阅读 · 2020年2月21日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
NLP基础任务:文本分类近年发展汇总,68页超详细解析
专知会员服务
57+阅读 · 2020年1月3日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【电子书推荐】Data Science with Python and Dask
专知会员服务
43+阅读 · 2019年6月1日
Github 项目推荐 | PyTorch 实现的 GAN 文本生成框架
AI研习社
35+阅读 · 2019年6月10日
Github项目推荐 | PyTorch文本分类教程
AI研习社
7+阅读 · 2019年6月7日
Github项目推荐 | Pytorch TVM 扩展
AI研习社
11+阅读 · 2019年5月5日
基于PyTorch/TorchText的自然语言处理库
专知
28+阅读 · 2019年4月22日
Github 项目推荐 | 用 Pytorch 实现的 Capsule Network
AI研习社
22+阅读 · 2018年3月7日
【推荐】Kaggle机器学习数据集推荐
机器学习研究会
8+阅读 · 2017年11月19日
Arxiv
10+阅读 · 2018年3月22日
Arxiv
27+阅读 · 2017年12月6日
VIP会员
相关VIP内容
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
212+阅读 · 2020年2月21日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
NLP基础任务:文本分类近年发展汇总,68页超详细解析
专知会员服务
57+阅读 · 2020年1月3日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【电子书推荐】Data Science with Python and Dask
专知会员服务
43+阅读 · 2019年6月1日
相关资讯
Github 项目推荐 | PyTorch 实现的 GAN 文本生成框架
AI研习社
35+阅读 · 2019年6月10日
Github项目推荐 | PyTorch文本分类教程
AI研习社
7+阅读 · 2019年6月7日
Github项目推荐 | Pytorch TVM 扩展
AI研习社
11+阅读 · 2019年5月5日
基于PyTorch/TorchText的自然语言处理库
专知
28+阅读 · 2019年4月22日
Github 项目推荐 | 用 Pytorch 实现的 Capsule Network
AI研习社
22+阅读 · 2018年3月7日
【推荐】Kaggle机器学习数据集推荐
机器学习研究会
8+阅读 · 2017年11月19日
Top
微信扫码咨询专知VIP会员