机器翻译
组件介绍
“机器翻译”(Translation) 控件主要用于训练机器翻译模型。
机器翻译是一种常见的 NLP 任务,机器翻译(machine translation, MT)是利用计算机将一种自然语言(源语言)转换为另一种自然语言(目标语言)的过程,输入为源语言句子,输出为相应的目标语言的句子。
- 输入:
- text: 文本数据集
- 输出:
- dpmod:深度学习模型
“机器翻译”(Translation) 控件读取机器翻译数据集,通过指定要训练的模型及相关的训练参数进行机器翻译模型的训练。 训练集目录结构如下:
|- train.txt
train.txt用于记录训练集数据信息,包括源语言和目标语言,其中第一列列名为英文的源语言名称,数据为源语言内容;第二列列名为英文的目标语言名称,数据为目标语言内容,两列之间以\t为分隔符,train.txt内容示例如下:
en fr
The Wanderer Le grand Meaulnes
Alain-Fournier Alain-Fournier
First Part PREMIÈRE PARTIE
I CHAPITRE PREMIER
THE BOARDER LE PENSIONNAIRE
测试集目录结构如下:
|- test.txt
test.txt用于记录测试集数据信息,test.txt内容示例如下:
en
Perhaps he's run away ...
And after each sentence she gave three barely perceptible little taps on the window-pane.
No one came to let in the unknown visitor.
页面介绍
点击 “机器翻译”(Translation) 控件查看参数配置页面,如下图所示:
参数选项
选项 | 说明 | 取值范围 | 样例值 | |
---|---|---|---|---|
模型名称 | 设置模型名称,用于在其他组件中区分不同的模型 | 非空字符串 | Translation | |
计算框架 | 选择模型训练采用的训练框架,控件支持如下计算框架: | PyTorch | PyTorch | |
模型选择 | PyTorch | 支持的用于机器翻译的深度学习模型 | Seq2Seq | Seq2Seq |
Tensorflow | Seq2Seq | Seq2Seq | ||
训练参数 | 迭代轮数 | 训练迭代轮数(epoch) | 1~100000 | 10 |
学习率 | learning rate | 0.00000001~1 | 0.001 | |
批大小 | 一个epoch训练的样本大小 | 1~840 | 8 |
使用案例
在下图所示的案例中,使用 “文本”(Text) 控件加载数据集,连接 “机器翻译”(Translation) 控件构建模型,再将 “机器翻译”(Translation) 控件与 “训练日志”(Train Log) 控件连接起来查看模型的训练日志。
案例中控件执行结果如下图所示: