当学习第二语言时,最困难的挑战之一可能是熟悉单词顺序。词序在机器翻译中也很重要,因为翻译大致上是一种处理目标语言词汇的过程,它与源语言是对等的。也许你已经做过一个把打乱的单词或字母放在原来顺序的游戏。我想看看神经网络是否能做到这一点。
到2017年,我使用的转换器是在机器翻译任务中最先进的模型,并已经被人们所熟知。这有一篇介绍转换器的文章,地址:https://arxiv.org/abs/1706.03762 然而,我不知道它是否适合这个任务。实际上,我认为一个更简单的架构可能会起作用。如下:
hyperparams.py
包括所有需要的超参数。data_load.py
包含关于加载和批处理数据的函数。modules.py
具有编码/解码网络的所有构建块。train.py
包含模型和训练代码。eval.py 用于
评估和推理。train.py
或者下载预训练文件。下载地址:https://www.dropbox.com/s/5axxz6f9g93ms72/logdir.zip?dl=0eval.py
.我们把WER(单词错误率)作为度量。单词错误率=编辑距离(Edit distance)÷单词数量。例:5530/23541=0.23
以下是一些评估结果。详细信息可以在results文件夹中找到。
输入: another this step development that is in 期望的结果: is this another step in that development 实际结果: that that another step in that development 单词错误率 : 2
输入: time we’re remember going a long to for this 期望的结果: we’re going to remember this for a long time 实际结果: we’re going to remember this for a long time 单词错误率: 0
输入: retail a at look concepts for ahead up-and-coming click spinoff 期望的结果: for a look at up-and-coming spinoff retail concepts click ahead 实际结果: the this retail at this concepts click click click ahead 单词错误率: 7
输入: comfort daughter his is -year-old 期望的结果: comfort is his -year-old daughter 实际结果: his is his -year-old daughter 单词错误率: 1
输入: solar are tumbling prices everywhere 期望的结果: everywhere solar prices are tumbling 实际结果: solar solar prices are about 单词错误率: 2