字子序列中英翻译模型(五笔特征)

文章:Wei Zhang, etc. Subcharacter Chinese-English Neural Machine Translation with Wubi encoding

主要思想:将五笔作为中文字模型特征用于翻译模型

背景:有人使用了词子序列(sub-word)作为基本单位,用以规避典外词汇(Out Of Vocabulary, OOV)带来的问题,缩小了词表,并取得了良好的效果。五笔曾在其他文章中作为特征加入到翻译模型中,取得了优于字模型(character-level models)的效果。将二者思想结合起来,就有了这篇文章。

特征提取:在五笔输入法中,每个字或词映射为不超过5个(一般是4个)符号编码,比如“毫无理由”,逐字键入,应当映射为毫ypt无fq理gj由mh,如下图

毫yptypt

无fqfq
理gjgj
由mhmh
五笔的键位分布参考
https://www.52wubi.com/wbbmcx/search.php

但文章并没有将字的五笔输入序列直接作为特征,而是采用了基于共现符号对的压缩编码方式BPE(Byte-pair encoding)将之再编码。

BPE的基本思想是这样的,对于一些序列,比如字母序列-词,将最高频的连续共现对用新符号替代。比如对具有4个序列的语料:low, lowest, newer, wider进行替代合并的规则衍变过程为:
r * -> r*
l o -> lo
lo w -> low
e r * -> er*
其中*表示词尾,这样,合并的结果就是:
low(low, *)
lowest(low, e, s, t, *)
newer(n, e, w, er *)
wider(w, i, d, er *)

用该算法对“毫无理由”的五笔特征(ypt, fq, gj, mh)进行处理,得到:y@@,pt,fq,gj,mh,四个序列变成了5个序列,嗯,文章没有解释这两个@是怎么来的。

翻译模型的结构是经典的RNN+Attention:

经典神经翻译模型
评估指标采用了机器翻译普遍采用的BLEU。文章的方法(wubi)在测试集上取得了优于其他方法的结果,尽管在验证集(开发集dev)上的结果有时差于其他模型。

在这里插入图片描述

wubi右边的数字代表这次结果用的BPE次数。

文章选取了不同BPE处理次数的结果进行比较,当处理次数(也即图中的词表大小)在2000-3000时,结果是比较好的:

在这里插入图片描述
其他:
比较了不同切词算法对结果的影响,总的来说,以词为单位的模型,切词质量影响较大,质量越高,效果越好。

从训练时间上来看,全字模型时间最长,其次是字子序列(文章的模型),最快的是基于词的模型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Transformer是一种用于序列到序列(sequence-to-sequence)任务的模型架构,其中包括了编码器(Encoder)和解码器(Decoder)。它在机器翻译任务中取得了很好的效果。 下面是一个基于Transformer的中英翻译模型的简单介绍: 1. 数据预处理:首先,需要将中文数据转换为简体。可以使用langconv库中的Converter类来实现这一转换。具体的代码如下所示: ```python from langconv import Converter def cht_to_chs(sent): sent = Converter("zh-hans").convert(sent) sent.encode("utf-8") return sent ``` 2. 模型结构:Transformer的模型结构包括了嵌入层(Embedding)、位置编码(Position Encoding)、码器(Encoder)和解码器(Decoder)。 - 嵌入层:将输入的词汇转换为向量表示,可以使用预训练的词向量模型,如Word2Vec或GloVe。 - 位置编码:为了保留输入序列的位置信息,需要对输入序列中的每个位置进行编码。可以使用固定编码或动态训练编码。 - 编码器:将输入序列转换为一系列的隐藏状态表示,其中包括了自注意力(Self-Attention)和前馈神经网络(Feed Forward)。 -Head Attention)。 3. 模型训练:在训练过程中,可以使用交叉熵损失函数和优化算法(如Adam)来优化模型参数。此外,还可以使用标签平滑(Label Smoothing)技术来改善模型的泛化能力。 以上是基于Transformer的中英翻译模型的简要介绍。具体的实现细节和代码可以根据具体的任务需求进行调整和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值