pytorch对text数据的预处理
我们需要把文本数据转化为向量从而可以被神经网络处理。在被喂给神经网络之前,我们需要对text文本数据进行预处理。
关于这一块的预处理,其实有一个很高度抽象化的接口torchtext可以很高效的解决问题,但是有些时候不清楚里面怎么运作的心理总是没谱,所以我一般在写代码的时候都是使用人工自己处理代码。
这个人工手动处理流程代码其实各式各样,我大概是写两个版本,之后如果看到不错的,可能还会整理,比如如何处理大数据,不过核心思想是一样的。
大致流程是这样的:
首先:对原始数据(一般是训练数据)进行预处理,进行分词,繁体字转化,半角符号转化
随后:记录各个词汇的词频,过滤低词频词汇,简历Word2index的映射表保存起来,需要注意pad和unk符号
随后:把数据(训练/测试/dev,使用参数进行控制)转化为对应的index,按照最大长度进行补全,并转化为tensor
其次:制造自己的数据集类,改写关键部位,一般是get_item这里,以便被dataloder处理。