发新帖

使用 TensorFlow NMT 训练中英文翻译

[复制链接]
776 2

快来加入 TensorFlowers 大家庭!

您需要 登录 才可以下载或查看,没有帐号?加入社区

x
本帖最后由 AngelZheng 于 2018-4-21 13:06 编辑

我在 TensorFlow 的 Github 中找到了 NMT 的项目,我按照上面的步骤完成了 越南语 和 英语 之间互转的训练,训练完成之后效果还可以。

后来我使用 WMT18 的 中文-英文 数据集的时候,训练的结果特别差,请问是什么原因呢?

我仿照 Vi-En 数据集的做法,用 TSU 的工具做了中文分词和词汇表,使用的 train、dev、tst 的语句数量为 3333。

我执行训练的程序如下:

python3 -m nmt.nmt \
    --attention=scaled_luong \
    --src=en --tgt=zh \
    --vocab_prefix=dataset/EN-ZH/vocab  \
    --train_prefix=dataset/EN-ZH/train \
    --dev_prefix=dataset/EN-ZH/dev    \
    --test_prefix=dataset/EN-ZH/tst   \
    --out_dir=output/EN-ZH \
    --num_train_steps=50000 \
    --steps_per_stats=100 \
    --num_layers=2 \
    --num_units=128 \
    --dropout=0.2 \
    --metrics=bleu,rouge,accuracy


从 Tensorboard 上看,当前的 Loss 是 20 左右,但是 accurate 始终是 0。

snipaste20180421_125304.jpg

snipaste20180421_130324.jpg

实际测试时,翻译的结果完全没有条理性。

snipaste20180421_130508.jpg

snipaste20180421_130517.jpg


我知道答案 回答被采纳将会获得10 金币 + 5 金币 已有2人回答
本楼点评(0) 收起

精彩评论2

舟3332  TF芽芽  发表于 2018-4-23 20:27:14 | 显示全部楼层
不太清楚。可能是数据集的问题?楼主要不把数据集怎么转换的或者数据集的样本发出来大家一起看看?
本楼点评(3) 收起
  • AngelZheng问题暂时解决啦,是中文分词的问题。我的数据集里的中文分词效果很差,如果改成中文分字虽然结果不太好但不会特别离谱。
    2018-4-26 16:03 回复
  • 舟3332回复 AngelZheng : 赞。楼主有在用什么分词的库吗?
    2018-5-2 18:13 回复
  • AngelZheng回复 舟3332 :之前用的是 TSU 的分词库,和大神交流了一下说效果不好,现在一直用分字,就是每个字之间用空格隔开啦。
    2018-5-15 17:42 回复
tensorfyx  TF豆豆  发表于 2018-7-3 17:38:00 | 显示全部楼层
感觉是转换的部分出了问题,详细可以看看代码。
本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

快速回复 返回顶部 返回列表