Datawhale AI 夏令营task2笔记

记录自己参加Datawhale AI 夏令营的学习心得,欢迎讨论!

机器翻译任务

1.配置环境

运行环境是基于魔塔平台进行模型训练。

详情可参考:‍​⁠‬​​​​​‍‬‌‬​​​‬​‍​⁠⁠​​​​⁠⁠‌​⁠​‍​​​⁠​⁠​‌​​‬从零入门NLP竞赛 - 飞书云文档 (feishu.cn)icon-default.png?t=N7T8https://datawhaler.feishu.cn/wiki/TObSwHZdFi2y0XktauWcolpcnyf

2.数据预处理

在预处理阶段,我们要保证数据的简洁、有效,这样有利于源语言到目标语言的映射。预处理阶段有多个步骤来处理数据:

清洗和规范化数据

        去除无关数据:删除一些非文本数据、无关数据等。

        统一格式:标准化数字、日期、时间等,将英文全部转换为小写。

        分局和分段:将长文本分割成短文本。

分词

        分词:将句子分成不同的单词或词素(什么是词素?词素是构成单词的基本组成,一个词素可以是一个完整的单词,也可以是单词的一部分,但每一个词素都至少携带一部分语义或语法信息)。可以使用spacy对英文分词,使用jieba对中文分词(记得在配置环境阶段安装对应的包)。

构建词汇表和词向量

       词汇表:从训练集数据中抽取所有出现过的词汇,构成词汇表,并为每一个词汇构造一个唯一的索引,可以通过这个唯一的索引找到对应的词汇,相当于字典的目录。

        如何为每一个词汇构造唯一的索引?

                排序法:为每一个词汇按照某种顺序(字典序或词频)排序,按照递增顺序添加索引。

                哈希函数:使用哈希函数将词汇映射到索引,注意哈希冲突。

                哈夫曼编码:按照词频,为每个词汇构造哈夫曼编码。

        词向量:将词汇表中的词映射到高维空间中的向量,以捕捉语义信息(当前大模型领域训练的 embedding 模型就是用来完成此任务的)。例如,“苹果”->(1,1,2),第一个维度可能代表"水果"的概念,第二个维度可能代表"颜色",第三个维度可能代表"大小"。

序列截断和填充

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

        序列填充:将所有序列填充到一个指定长度,便于批量处理。通常使用<PAD>标记填充。

添加特殊标记

        序列开始和结束标记:在序列两端添加<SOS>(Sequence Start)和<EOS>(Sequence End)标记,帮助模型识别序列的起始和结束。

        未知词标记:为不在词汇表中的词添加<UNK>(Unknown)标记,使模型能够处理未见过的词汇。

数据增强

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

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

数据分割

        划分数据集:将数据划分为训练集、验证集和测试集,分别用于模型训练、参数调整和最终性能评估。

3.模型训练 

图一

将本段内容写成了思维导图,如图一。

4.翻译质量评价

人们在使用机器翻译系统时需要评估系统输出结果的质量。这个过程也被称作机器翻译译文质量评价,简称为译文质量评价(Quality Evaluation of Translation)。翻译分为三个层次“信”、“达”、“雅”。“信”是忠诚度,“雅”是流畅度、“雅”则是翻译的优雅,目前机器还做不到,是未来的目标。译文质量评价有很多实现方式:

        人工评价:当需要对系统进行准确的评估时,往往采用人工评价。比如,对于机器翻译的一些互联网应用,在系统上线前都会采用人工评价对机器翻译系统性能进行测试。当然,这种方法的时间和人力成本是最高的。

        有参考答案的自动评价:由于机器翻译系统研发过程中需要频繁地对系统性能进行评价,这时可以让人标注一些正确的译文,之后把这些译文作为参考答案与机器翻译系统输出的结果进行比对。这种自动评价的结果获取成本低,可以多次重复,而且可以用于对系统结果的快速反馈,指导系统优化的方向。

        无参考答案的自动评价:在很多应用场景中,在系统输出译文时,使用者希望提前知道译文的质量,即使这时并没有可比对的参考答案。这样,系统使用者可以根据这个对质量的“估计”结果有选择地使用机器翻译译文。严格意义上说,这并不是一个传统的译文质量评价方法,而是一种对译文置信度和可能性的估计。

参考:

 ‍​⁠​​‬⁠​‌​​⁠​​​‬⁠​​​​​‬​​⁠​​​​‬​​​​​‌​​‍‍​Task2:从baseline代码详解入门深度学习 - 飞书云文档 (feishu.cn)

9.1. 门控循环单元(GRU) — 动手学深度学习 2.0.0 documentation (d2l.ai)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值