专栏首页ATYUN订阅号词序:神经网络能按正确的顺序排列单词吗?

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

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

要求

  • 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),作者:Yining

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 麻省理工学院CSAIL的AI会检测出可能被劫持的IP地址

    边界网关协议(BGP)是用于在不同主机网关之间传输数据和信息的路由协议,是internet设计的基础。然而,它却始终存在缺陷:

    AiTechYun
  • 【科技】谷歌将人工智能带入数据透视表 表单功能立刻升级!

    现在,谷歌的电子表格(Spreadsheet)应用获得了许多新功能,目的是让数据透视表(一种强大的数据分析工具)变得更容易访问。 ? 用户将能够从表格的“Ex...

    AiTechYun
  • Instagram使用AI自动检测发布的图片中的网络欺凌行为

    Instagram宣布开始使用AI检测其社交网络平台上发布的图片中的网络欺凌行为,突出了科技公司在其审核过程中使用自动化的努力。

    AiTechYun
  • JavaScript比较字符串大小

    如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。

    汐楓
  • [Go] 写文件和判断文件是否存在

    OpenFile得到一个File,然后调用它的Write,参数是字节切片 Stat看看返回错误没有

    陶士涵
  • Echartsjs图表的使用

    任我行RQ
  • 跟着Nature Communications 学画图~ggplot2画箱线图

    这篇论文数据分析和可视化的部分用到的数据和代码全部放到了github上 https://github.com/karkman/crassphage_projec...

    用户7010445
  • 懒人经济”新浪潮 【图观大数据16期】

    《“懒人经济”新机会》46页深度报告!历时一月时间,通过两轮调查和多方面深度采写,先后共有32011名用户参于到调查中,我们希望可以找到关于O2O创业的真正机会...

    小莹莹
  • “懒人经济”新浪潮

    《“懒人经济”新机会》46页深度报告!历时一月时间,通过两轮调查和多方面深度采写,先后共有32011名用户参于到调查中,我们希望可以找到关于O2O创业的真正机会...

    腾讯大讲堂
  • [780]python删除一个文件或文件夹

    os.remove() 方法用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError。这时需用用os.rmdir()来删除。

    周小董

扫码关注云+社区

领取腾讯云代金券