此次数据使用的是LCQMC,它是做短文本匹配的一个数据,长这样

判断两个文本是否相似,如果相似标签为1,不相似为0
对于数据的处理在这里就不做研究了,无非就是分词,构建词表之类的,这里只说Dataset和DataLoader的用法。
我们首先构建一个类,并继承Dataset类
class DatasetIterater(Dataset):
def __init__(self,texta,textb,label):
self.texta = texta
self.textb = textb
self.label = label
def __getitem__(self, item):
return self.texta[item],self.textb[item],self.label[item]
def __len__(self):
return len(self.texta)
既然继承Dataset类,就要实现Dataset类的方法。
第一个方法就不用说了,初始化方法。
第二个是迭代方法,每次得到是一个数据,不是一个batch,我最初以为是一个batch的数据。
第三个就是返回数据的个数
但是,处理NLP的数据,通常情况下是需要对数据进行补齐,也就是在不够长度的数据后补0,所以需要自己实现一个collate_fn函数来进行对文本的补齐操作。
def collate_fn(batch_data,pad=0):
texta,tex

本文详细介绍了如何使用PyTorch的Dataset和DataLoader处理LCQMC数据集,实现短文本匹配任务。具体步骤包括构建自定义Dataset类、实现数据迭代方法、定义文本补齐函数collate_fn以及使用DataLoader批量加载数据。
最低0.47元/天 解锁文章
2220

被折叠的 条评论
为什么被折叠?



