基于句子长度的批量数据预处理流程图
该思维导图描述了数据处理流程,主要针对批次数据进行预处理。流程首先对句子按长度排序,找到最长句子长度,然后初始化输入、目标和掩码列表。之后遍历每个句子,计算需要填充的长度,并使用填充标记对输入句子和目标标签进行补齐,同时生成掩码张量,指示实际数据和填充部分。最后返回补齐后的输入张量、目标张量和掩码张量,用于后续模型训练或处理。整个流程确保了批次数据长度一致,方便模型处理。
源码
# 基于句子长度的批量数据预处理流程图
## 对批次数据进行排序
- 根据句子长度排序
- 升序排列
- 降序排列
## 得到最长句子长度
- 确定批次中最长句子的长度
- 找到所有句子的最大长度
- 记录最长句子的索引
## 初始化输入、目标和掩码列表
- 初始化三个空列表
- 补齐后的输入句子
- 存储处理后的句子
- 目标标签
- 存储与句子对应的标签
- 掩码信息
- 指示数据有效性
## 遍历批次中的每个句子
- 对每个句子进行处理
- 逐句操作
- 更新索引
## 计算补齐长度
- 长度 = 最长句子长度 - 当前句子的长度
- 确保补齐逻辑
- 考虑特殊情况
## 补齐输入句子
- 使用填充标记进行补齐
- 填充字符选择
- 在句子末尾添加填充
## 补齐目标标签
- 确保目标标签长度一致
- 同样应用填充逻辑
- 验证标签完整性
## 生成掩码
- 创建掩码张量
- 布尔值数组
- 真 = 实际数据
- 假 = 填充
- 掩码形状与输入一致
## 返回补齐后的张量
- 返回输入张量、目标张量和掩码张量
- 输出格式整理
- 准备后续处理
图片
