首页 > 其他分享 >从零入门NLP竞赛Task1学习记录

从零入门NLP竞赛Task1学习记录

时间:2024-07-14 11:28:52浏览次数:10  
标签:BLEU NLP 入门 训练 Task1 机器翻译 学习 神经网络 方法

一、魔搭平台操作流程

首先,通过阅读文档,我按照相应步骤进入了魔搭平台,并在GPU环境下上传了数据和代码文件。在成功运行并跑通baseline后,我发现下载的压缩包和对应代码文件的具体用途目前还不甚明了,但我相信通过后续的学习,我会逐渐理解它们的作用。在等待过程中,我顺便了解了机器翻译的发展历程。

二、机器翻译的发展历程

2.1 概述

机器翻译(Machine Translation,简称MT)是自然语言处理领域的一个重要分支,其目标是将一种语言的文本自动转换为另一种语言的文本。机器翻译的发展可以追溯到20世纪50年代,经历了从基于规则的方法、统计方法到深度学习方法的演变过程。

2.2 基于规则的方法

早期的机器翻译系统主要采用基于规则的方法,即利用语言学家编写的语法规则和词典进行翻译。这种方法需要对源语言和目标语言的语法和词汇有深入的理解,但其灵活性和适应性较差,难以处理复杂的语言结构和多义词问题。

2.3 统计机器翻译

随着计算机性能的提升和大规模平行语料库的出现,统计机器翻译开始兴起。这种方法通过分析大量双语文本,自动学习源语言和目标语言之间的对应关系,从而实现翻译。统计机器翻译在处理多义词和语言变异方面表现出更好的效果,但由于其依赖于大量训练数据,对于资源匮乏的语言支持不足。

统计机器翻译中最主流的方法是基于词的统计机器翻译(Word-based MT)以及基于短语的统计机器翻译(Phrase-based SMT),总体上来看包含预处理、句子对齐、词对齐、短语抽取、短语特征准备、语言模型训练等步骤。

2.4 神经网络方法

神经网络方法在机器翻译任务上的应用可以追溯到上世纪八九十年代。但受限于当时的计算资源和数据规模的限制,神经网络方法的性能差强人意,故而其发展停滞了很多年。

近年来,深度学习技术的快速发展推动了神经网络机器翻译(Neural Machine Translation,简称NMT)的兴起。NMT使用深度神经网络模型,如长短期记忆网络(LSTM)和 Transformer,能够自动学习源语言和目标语言之间的复杂映射关系,无需人工设计特征或规则。NMT在翻译质量、速度和适应性方面取得了显著进步,成为当前机器翻译领域的主流方法。

三、数据划分

在机器学习和深度学习项目中,数据集通常被划分为三个部分:训练集(Training Set)、开发集(Development Set,也常被称为验证集,Validation Set)和测试集(Test Set)。这种划分的主要目的是为了评估模型的性能并防止过拟合,确保模型具有良好的泛化能力。

  • 训练集:用于训练模型的数据集。
  • 开发集:用于模型调优的数据集。
  • 测试集:用于评估模型最终性能的数据集。

四、评估指标

对于测试集翻译结果文件,采用自动评价指标 BLEU-4 进行评价。

4.1 BLEU-4 简介

BLEU,全称为Bilingual Evaluation Understudy(双语评估替换),是一种对生成语句进行评估的指标。BLEU 评分是由Kishore Papineni等人2002年的论文《BLEU: a Method for Automatic Evaluation of Machine Translation》中提出的。

BLEU(Bilingual Evaluation Understudy)是一种常用的自动评价指标,用于衡量计算机生成的翻译与一组参考译文之间的相似度。这个指标特别关注 n-grams(连续的n个词)的精确匹配。

4.2 BLEU-4 特点

  • 优点:计算速度快、计算成本低、容易理解、与具体语言无关、和人类给的评估高度相关。
  • 缺点:不考虑语言表达(语法)上的准确性;测评精度会受常用词的干扰;短译句的测评精度有时会较高;没有考虑同义词或相似表达的情况,可能会导致合理翻译被否定。

五、baseline 提升与思考

  • N:选择数据集的前N个样本进行训练。
  • N_EPOCHS:一次epoch是指将所有数据训练一遍的次数。

在文档中学习发现,上面两个参数会影响结果。以下是我在调整参数后的不同版本结果得分:

  • 用时:随着样本数目和训练次数的增加,用时见长,在一定范围内,效果显著变好。
  • 原始的N=1000,N_EPOCHS=10,     得分:0.0595

  • 修改的N=1500,N_EPOCHS=20,     得分:0.5034

  • 原始的N=2000,N_EPOCHS=50,     得分:0.7954

标签:BLEU,NLP,入门,训练,Task1,机器翻译,学习,神经网络,方法
From: https://blog.csdn.net/D__PX/article/details/140413395

相关文章

  • 二十个基于 Python 的 NetworkX 图论算法库入门应用实例
    前言大家好,最近我在美丽的重庆度过了一段美好的学习时光。重庆以其独特的山城地貌和美食闻名,而在火锅和享受美食之余,这里的项目学习激发了我对图论的兴趣。图论是一门既古老又新兴的学科,它在计算机科学、网络分析、社会网络、物流优化等领域有着广泛的应用。而Python的......
  • flask+mysql入门案例
    在Flask中集成MySQL数据库进行用户管理是一个常见的项目需求。下面将提供一个基础的步骤和代码示例来理解如何从零开始搭建这样一个系统。1.环境准备首先确保你已经安装了Python和必要的包。你需要安装Flask和用于连接MySQL的包Flask-SQLAlchemy或者Flask-M......
  • 尚硅谷MySQL数据库入门到大牛_宋红康--学习建议
    【MySQL上篇:基础篇】【第1子篇:数据库概述与MySQL安装篇】p01-p11学习建议:零基础同学必看,涉及理解和Windows系统下MySQL安装【第2子篇:SQL之SELECT使用篇】p12-p48学习建议:学习SQL的重点,必须重点掌握,建议课后练习多写【第3子篇:SQL之DDL、DML、DCL使用篇】p49-p73学习建议:学习SQL的......
  • C语言常见概念(划掉)我的C语言入门笔记(√)上
    本人菜鸟一枚,下述内容如有误差望各位斧正。1.什么是C语言C语言是一种计算机语言,就像汉语是一种人类语言一样。人们可以使用计算机语言给计算机下达指令,计算机会根据所接收到的指令进行工作(或者报错)。当然人类的语言不只汉语一种,计算机语言同样同样也有很多,例如Python/C++/C......
  • Datawhale AI 夏令营 从零入门CV图像竞赛(Deepfake攻防)
    DatawhaleAI夏令营从零入门CV图像竞赛(Deepfake攻防)Step0:注册Kaggle如果有Kaggle账户,直接登录即可,无需处理此步骤使用Edge浏览器安装HeaderEditor插件(点击即可跳转)链接:https://microsoftedge.microsoft.com/addons/detail/header-editor/afopnekiinpekooejpchnkg......
  • C++ 入门基础:开启编程之旅
    引言C++是一种高效、灵活且功能强大的编程语言,广泛应用于系统软件、游戏开发、嵌入式系统、科学计算等多个领域。作为C语言的扩展,C++不仅继承了C语言的过程化编程特性,还增加了面向对象编程(OOP)的支持,使得代码更加模块化、易于管理和复用。本文将带你走进C++的世界,从......
  • 网络安全——网络渗透测试入门
     ⼀、行业术语介绍渗透测试(PenetrationTesting):模拟黑客攻击手段对目标系统进行安全评估的过程。APT(AdvancedPersistentThreat):高级持续性威胁,指有组织的、长期针对性的网络攻击。PTES(PenetrationTestingExecutionStandard):渗透测试执行标准,指导渗透测试的行业标准。......
  • 【快速入门大模型应用开发,这本书帮你轻松实现!】
    文末有福利!快速入门大模型应用开发,这本书帮你轻松实现!前言书籍简介蛇尾书特色蛇尾书思维导图作译者简介业内专家书评前言如果问个问题:有哪些产品曾经创造了伟大的奇迹?ChatGPT应该会当之无愧入选。仅仅发布5天,ChatGPT就吸引了100万用户——当然,数据不是关键,关键是......
  • 微信小程序开发入门指南
    微信小程序自发布以来,因其便捷的使用体验和庞大的用户基数,吸引了众多开发者和企业投入其中。本篇技术博客将带你从零开始,逐步了解并掌握微信小程序的开发流程,包括环境搭建、创建项目、基础组件与API的使用以及调试与发布等关键步骤。小程序源码见最下方一、开发环境搭建1.......
  • 全网最适合入门的面向对象编程教程:16 类和对象的Python实现-多态、方法重写与开闭原则
    全网最适合入门的面向对象编程教程:16类和对象的Python实现-多态、方法重写与开闭原则摘要:本文主要介绍了Python中创建自定义类时子类如何实现对父类方法的重写、方法重写的定义和多态的基本概念,并对开闭原则进行介绍。原文链接:FreakStudio的博客往期推荐:学嵌入式的你,......