词序:神经网络能按正确的顺序排列单词吗?

当学习第二语言时,最困难的挑战之一可能是熟悉单词顺序。词序在机器翻译中也很重要,因为翻译大致上是一种处理目标语言词汇的过程,它与源语言是对等的。也许你已经做过一个把打乱的单词或字母放在原来顺序的游戏。我想看看神经网络是否能做到这一点。

要求

  • NumPy > = 1.11.1
  • TensorFlow==1.2(可能使用1.3也可以运行,不过我没有测试过)
  • matplotlib
  • 距离
  • tqdm

模型架构

到2017年,我使用的转换器是在机器翻译任务中最先进的模型,并已经被人们所熟知。这有一篇介绍转换器的文章,地址:https://arxiv.org/abs/1706.03762 然而,我不知道它是否适合这个任务。实际上,我认为一个更简单的架构可能会起作用。如下:

文件说明

  • hyperparams.py 包括所有需要的超参数。
  • data_load.py 包含关于加载和批处理数据的函数。
  • modules.py 具有编码/解码网络的所有构建块。
  • train.py 包含模型和训练代码。
  • eval.py 用于评估和推理。

训练

  • 步骤一:下载并提取Leipzig English News 2015 1M Corpus。
  • 步骤二:必要时在hyperparams.py调整超参数。
  • 步骤三:运行train.py或者下载预训练文件。下载地址:https://www.dropbox.com/s/5axxz6f9g93ms72/logdir.zip?dl=0

训练损失和准确性

  • 训练损失
  • 训练准确性

评估

  • 运行eval.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

原文发布于微信公众号 - ATYUN订阅号(atyun_com)

原文发表时间:2017-09-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

Azure Machine Learning 上如何选择合适的机器学习算法

1506
来自专栏PaddlePaddle

【文本分类】基于DNN/CNN的情感分类

导语 PaddlePaddle提供了丰富的运算单元,帮助大家以模块化的方式构建起千变万化的深度学习模型来解决不同的应用问题。这里,我们针对常见的机器学习任务,提...

4954
来自专栏编程

关于反向传播在Python中应用的入门教程

我来这里的目的是为了测试我对于Karpathy的博客《骇客的神经网络指导》以及Python的理解,也是为了掌握最近精读的Derek Banas的文章《令人惊奇的...

2127
来自专栏CDA数据分析师

资源 | 一个Python特征选择工具,助力实现高效机器学习

项目地址:https://github.com/WillKoehrsen/feature-selector

1660
来自专栏码洞

人工不智能之sklearn聚类

线性回归是一种有监督算法,提供了输入数据x和参考目标值y,参考目标提供了一种纠错机制,是对预测结果y_的监督,如果y和y_相差过大,说明拟合的模型可能存在问题。...

661
来自专栏机器之心

资源 | GitHub新项目:轻松使用多种预训练卷积网络抽取图像特征

选自GitHub 机器之心整理 参与:思源 最近 GitHub 有一个非常有意思的项目,它可以使用多种预训练 TensorFLow 模型计算图像特征。对于每一个...

3286
来自专栏杂七杂八

神经网络训练细节part1(下)

学习率的选择通过先用少部分数据来进行测试,选择一个较好的学习速率。选择的方式可以为在某个范围内随机取值,观察样本的准确率

1102
来自专栏人工智能LeadAI

什么!卷积要旋转180度?!

一看这个标题就会想,这有什么大惊小怪的,可能好多人觉得这是个脑残话题,但我确实误解了两三年……

1731
来自专栏机器之心

资源 | 从VGG到ResNet,你想要的MXNet预训练模型轻松学

2644
来自专栏AI科技评论

深度丨机器学习零基础?手把手教你用TensorFlow搭建图像识别系统(三)

AI科技评论按:本文是介绍用TensorFlow构建图像识别系统的第三部分。 在前两部分中,我们构建了一个softmax分类器来标记来自CIFAR-10数据集的...

3796

扫码关注云+社区

领取腾讯云代金券