Task02
第二次训练使用了第二份代码来运行,训练了两次但效果不佳哈哈哈,分数现在还没有评出来。对于我这种只是大概知道要划分训练集测试集的崽来讲,具体训练的方法还是晓得哈哈哈,于是这份笔记补充了一些资料。
首先是需要额外安装的几个包
torchtext
PyTorch 的一个扩展库,专门用于自然语言处理 (NLP) 任务。提供了一组工具和数据处理流水线,用于处理文本数据,构建词汇表,加载预训练的词嵌入,以及创建和操作文本数据集。
数据加载和预处理:
-
提供了从常见的文本格式(如 CSV、JSON、TSV 等)加载数据的功能。
-
支持文本数据的分词、标记化、数字化等预处理操作。
词汇表:
-
允许创建和管理词汇表,包括计算词频、过滤低频词和创建词到索引的映射。
-
支持从预训练的嵌入(如 GloVe, FastText)中加载词向量。
嵌入表示:
-
方便地加载和使用预训练的词嵌入。
-
支持自定义词嵌入的训练和微调。
数据集和迭代器:
-
提供了常用 NLP 数据集的预定义加载器,如 IMDb, AG News, SQuAD 等。
-
提供了灵活的数据迭代器,支持批处理和动态填充,方便与 PyTorch 的数据加载器集成。
Jieba
是一个非常流行的中文分词工具库,它能够高效地将中文文本切分成词语。由于中文没有明显的词边界,分词是自然语言处理 (NLP) 中的一个重要步骤。Jieba 提供了以下主要功能:
-
精确模式:试图将句子最精确地切开,适合文本分析。
-
全模式:把句子中所有可能的词语都扫描出来,速度非常快,但是不能解决歧义。
-
搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
SacreBLEU 是一个标准化和便捷的 BLEU 分数计算工具,主要用于机器翻译评估。
我们该次大赛的评分规则似乎就是基于BLUE来的
随后就是数据的预处理,清洗工作,训练验证模型。这是之前照猫画虎的一个图像识别系统
对于数据量较大的模型(样本数量达到万级以上),对训练集,验证集,测试集的划分一般为为98:1:1,而万级以下数据的训练,最典型的划分比例是6:2:2。划分数据如下图所示。
循环神经网络、卷积神经网络、自注意力机制等都是模型常用的结构。