nlp-getting-started

这次是用《动手学深度学习》15.1和15.2章节的内容应用于kaggle的nlp初步入门项目。

导入包

import numpy as np
import pandas as pd
import torch
from torch import nn
from d2l import torch as d2l

数据预处理

读取数据并选取前70%作为训练集,后面一部分作为测试集。制作训练集和测试集的词元,并将训练集中出现频率不足5的单词过滤。

df = pd.read_csv('train.csv')
df.head(5)

df1 = df.iloc[:round(len(df)/100*70)]
df2 = df.iloc[round(len(df)/100*70):]
train_tokens = d2l.tokenize(df1['text'],token='word')
test_tokens = d2l.tokenize(df2['text'],token='word')
vocab = d2l.Vocab(train_tokens,min_freq=5,reserved_tokens=['<pad>'])

绘制词元长度的直方图,从这个图中我们可以看出每句话的长度是不同的所以我们要做接下来的填充和截断,统一长度。

d2l.set_figsize()
d2l.plt.xlabel('# tokens per review')
d2l.plt.ylabel('count')
d2l.plt.hist([len(line) for line in train_tokens], bins=range(0, 50, 2));

在这里插入图片描述
长度我们选择25,这里书上的例子用的是500,稍大一些是偏向于填充。超过25的文本我们将其截断。

num_steps=25
train_features = torch.tensor([d2l
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值