![e6586d1b2378dacc9260222769c2016b.png](https://img-blog.csdnimg.cn/img_convert/e6586d1b2378dacc9260222769c2016b.png)
Pytorch学习记录-更深的TorchText学习01
简单实现torchtext之后,我希望能够进一步学习torchtext。找到两个教程
- 教程1practical-torchtext
- 教程2pytorch-sentiment-analysis
1. practical-torchtext简介
有效使用torchtext的教程,包括两个部分
- 文本分类
- 词级别的语言模型
1.1 目标
torchtext的文档仍然相对不完整,目前有效地使用torchtext需要阅读相当多的代码。这组教程旨在提供使用torchtext的工作示例,以使更多用户能够充分利用这个风扇库。
1.2 使用
torchtext的当前pip版本存在一些错误,这些错误会导致某些代码运行不正确。这些错误目前只在torchtext的github存储库的主分支上修复。因此,教程建议使用以下命令从github存储库安装torchtext:
pip install --upgrade git+https://github.com/pytorch/text
2. 基于torchtext处理的文本分析
我看了一下,第一课是基于这两天反复操作的那个教程,但是作者进行了丰富和解释,就放在这里再跑一次了
2.0 简介
前面都是一致的,加载数据,预处理之后生成dataset,输入模型。
使用的数据集还是之前的Kaggle垃圾信息数据。
import pandas as pdimport numpy as npimport torchfrom torch.nn import initfrom torchtext.data import Field
2.1 声明Fields
Field类用于确定数据是如何预处理并转化为数字格式。
很简单。标签的预处理更加容易,因为它们已经转换为二进制编码。我们需要做的就是告诉Field类标签已经处理完毕。我们通过将use_vocab = False关键字传递给构造函数来完成此操作
tokenize=lambda x: x.split()TEXT=Field(sequential=True, tokenize=tokenize, lower=True)LABEL=Field(sequential=False, use_vocab=False)
2.2 创建Dataset
我们将使用TabularDataset类来读取我们的数据,因为它是csv格式(截至目前,TabularDataset处理csv,tsv和json文件)
对于列车和验证数据,我们需要处理标签。我们传入的字段必须与列的顺序相同。对于我们不使用的字段,我们传入一个元组,其中第二个元素是None
%%timefrom torchtext.data import TabularDatasettv_datafields=[ ('id',None), ('comment_text',TEXT), ("toxic