Transformer实现文本预测任务、数据、代码、可以直接运行

 介绍:

任务描述:语言模型的任务就是给定一个文本序列,然后基于此序列去预测下一个词或一个序列。
数据集:为了方便演示,本教程所使用的数据集是 torchtext 中的 Wikitext-2 数据集
运行环境:代码的测试环境为python3.7,所需的第三方模块和版本如下:

pytorch = 1.40
matplotlib = 3.2.2
torchtext = 0.6.0
# 统一导入工具包
import math
import torch
import os
import torch.nn as nn
import torch.nn.functional as F
import torchtext
import time
import numpy as np
import random
import matplotlib.pyplot as plt
from torchtext.data.utils import get_tokenizer
from torch.nn import TransformerEncoder, TransformerEncoderLayer

文本数据准备:

Wikitext-2 数据集是从维基百科精选文章的集合,总计 2551102 个 token ,由于数据集由全文组成,因此非常适合可以利用长期依赖关系的模型。

数据集      训练集       验证集     测试集      总数

tokens      2086708    218177    246217    2551102

数据预处理

分词:

torchtext.data.Field 声明处理数据的方式
参数说明:
    tokenize 分词处理
    init_token

你可能感兴趣的:(深度学习-自然语言处理nlp,transformer,深度学习,人工智能,神经网络,自然语言处理)