科大讯飞之基于术语词典干预的机器翻译挑战赛baseline及改进(Datawhale AI 夏令营)

比赛背景

        目前,神经机器翻译(NMT)技术在翻译质量和速度方面已经取得了显著进展。然而,在特定领域或行业中,NMT仍面临一些挑战,尤其是在术语一致性方面。对于术语名词、人名地名等特定词汇,机器翻译经常会出现不准确的结果,这会导致翻译的混淆或歧义。通过引入术语词典,可以纠正这些错误,从而提高翻译质量。

赛事任务

        本次比赛的任务是基于术语词典干预的英文到中文的机器翻译。大赛提供了以下数据:

  • 训练集:中英双语数据,共计14万余对句子。
  • 开发集:英中双语数据,共计1000对句子。
  • 测试集:英中双语数据,共计1000对句子。
  • 术语词典:包含英中对照的2226条术语。

        参赛队伍需要使用提供的训练数据,构建并训练多语言机器翻译模型,并基于测试集和术语词典,提供最终的翻译结果。

数据说明

        所有文件均为UTF-8编码,训练集、开发集、测试集和术语词典的格式如下:

  • 训练集:每行为一个句对样本,格式如图1所示。

    示例:

图1 训练集格式

术语词典格式如图2所示。

图2 术语词典格式

评估指标

对于参赛队伍提交的测试集翻译结果文件,采用自动评价指标BLUE-4进行评价,具体工具使用sacrebleu开源版本。

Baseline

  • 加载和预处理训练数据和术语词典。
  • 定义序列到序列的神经网络模型,包括编码器和解码器。
  • 使用训练数据训练模型,并保存训练好的模型参数。
  • 在测试集上进行推理,并利用术语词典干预翻译结果,确保术语的一致性。
# 安装torchtext
!pip install torchtext

import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import Dataset, DataLoader
from torchtext.data.utils import get_tokenizer
from collections import Counter
import random
from torch.utils.data import Subset, DataLoader
import time

# 定义数据集类,处理术语词典
class TranslationDataset(Dataset):
    def __init__(self, filename, terminology):
        self.data = []
        with open(filename, 'r', encoding='utf-8') as f:
            for line in f:
                en, zh = line.strip().split('\t')
                self.data.append((en, zh))
        
        self.terminology = terminology
        
        # 创建词汇表,确保术语词典中的词也被包含在词汇表中
        self.en_tokenizer = get_tokenizer('basic_english')
        self.zh_tokenizer = list  # 使用字符级分词
        
        en_vocab = Counter(self.terminology.keys()) 
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会飞的Anthony

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值