我在 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。
AngelZheng 于 2018-4-21 13:06