datawhale AI夏令营 nlp语言处理

task2

一、环境配置

首先要先下载所需要的库,通过下列语句下载,

!pip install torchtext 
!pip install jieba 
!pip install sacrebleu

其中

torchtext :是一个用于自然语言处理任务的库,它可以做数据预处理、词汇构建、序列化和批处理等

jieba是一个中文分词库,用于将中文文本切分成有意义的词语

sacrebleu:用于评估机器翻译质量的工具,主要通过计算BLEU得分来衡量生成文本与参考译文之间的相似度。

但是其实可能会报错,如果使用下面的语句好像也可以顺利执行。

其次是spacy库,

spacy:是一个强大的自然语言处理库,支持70+语言的分词与训练,但是在下载上有点不同。需要先下载安装包后再移入dataset中,在移入之前记得先解压dataset压缩包(unzip dataset.zip)。

这个库的下载时间很长,下载之后发现其实有一个是不对的,图中的第二个才是正确的。至少运行没有问题。

二、数据预处理

数据预处理就是将数据处理成合适的训练模型的语言,比如去掉一些不必要的词和划分数据。

  • 清洗和规范化数据

    即去除无关信息统一格式分句和分段
  • 分词

    • 分词:将句子分解成单词或词素

  • 构建词汇表和词向量

    • 词汇表构建:从训练数据中收集所有出现过的词汇,构建词汇表,并为每个词分配一个唯一的索引

    • 词向量:使用预训练的词向量或自己训练词向量,将词汇表中的词映射到高维空间中的向量,以捕捉语义信息(当前大模型领域训练的 embedding 模型就是用来完成此任务的)。

  • 序列截断和填充

    • 序列截断:限制输入序列的长度,过长的序列可能增加计算成本,同时也可能包含冗余信息。

    • 序列填充:将所有序列填充至相同的长度,便于批量处理。通常使用<PAD>标记填充。

  • 添加特殊标记

    • 序列开始和结束标记:在序列两端添加起始和结束标志

    • 未知词标记:为不在词汇表中的词添加标志。

  • 数据增强

    • 随机替换或删除词:在训练数据中随机替换或删除一些词,增强模型的鲁棒性。

    • 同义词替换:使用同义词替换原文中的词,增加训练数据的多样性。

  • 数据分割

    • 划分数据集:将数据划分为训练集、验证集和测试集,分别用于模型训练、参数调整和最终性能评估(该赛题中已划分好,不需要自己进行划分)

三、模型训练

编码器-解码器模型感觉有点像以前电视上的电报密码破译,一方将信息设置为一串数字,破译方将数字再转化为信息的过程。

四、翻译质量评价

这就像是以前学过的古诗词翻译一样,讲究信达雅。

五、结果

再提交结果后发现了问题

它的结果测评失败了,检查了以下结果,发现实际上是结果文件的行数不符合条件导致的。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值