苗栗話翻譯
- 安裝Ubuntu Linux 20.04 LTS作業系統
- 安裝docker
- 安裝docker-compose
- 設定docker權限
sudo usermod -aG docker $USER
- 安裝dobi
- 安裝Nvidia cuda driver
- 安裝Setting up NVIDIA Container Toolkit
/etc/docker/daemon.json
內設定default-runtime
係nvidia
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}
docker
重開sudo systemctl restart docker
git clone git@github.com:i3thuan5/MeuLidFa-FanId.git
- 產生ssh key
- rsa_id.pub傳去github
time dobi qionpu
docker-compose up --build
curl -i -X POST -H "Content-Type: application/json" \
-d '[
{"src": "我 打 籃 球 時 手 扭 傷 , 醫 生 說 要 打 石 膏 。 ", "id": 1},
{"src": "黃 槿 樹 的 葉 子 , 一 片 差 不 多 手 掌 一 般 大 。 ", "id": 1}
]' \
"http://localhost:5000/translate"
HTTP/1.1 200 OK
Content-Length: 620
Content-Type: application/json
Date: Fri, 10 Sep 2021 08:30:26 GMT
Server: waitress
[[{"n_best":1,"pred_score":-5.343369007110596,"src":"\u6211 \u6253 \u7c43 \u7403 \u6642 \u624b \u626d \u50b7 \uff0c \u91ab \u751f \u8aaa \u8981 \u6253 \u77f3 \u818f \u3002 ","tgt":"\ud840\ude8e \u6309 \u7c43 \u7403 \u6642 \u624b \uff0c \u5148 \u751f \u8b1b \u611b \u6253 \u77f3 \u81a0 \u3002 "},{"n_best":1,"pred_score":-10.280594825744629,"src":"\u9ec3 \u69ff \u6a39 \u7684 \u8449 \u5b50 \uff0c \u4e00 \u7247 \u5dee \u4e0d \u591a \u624b \u638c \u4e00 \u822c \u5927 \u3002 ","tgt":"\u9ec3 \u790e \u6a39 \u4ed4 \uff0c \u4e00 \u3f13 \u4ed4 \uff0c \u4e00 \u3f13 \u4ed4 \u8f03 \u6bcb \u591a \u624b \u5df4 \u4ed4 \u3002 "}]]
係UTF-16,到Unicode Converter做得看著
[[{"n_best":1,"pred_score":-5.343369007110596,"src":"我 打 籃 球 時 手 扭 傷 , 醫 生 說 要 打 石 膏 。 ","tgt":"𠊎 按 籃 球 時 手 , 先 生 講 愛 打 石 膠 。 "},{"n_best":1,"pred_score":-10.280594825744629,"src":"黃 槿 樹 的 葉 子 , 一 片 差 不 多 手 掌 一 般 大 。 ","tgt":"黃 礎 樹 仔 , 一 㼓 仔 , 一 㼓 仔 較 毋 多 手 巴 仔 。 "}]]
dobi.yaml
:
alias=qionpu: # 全部
tasks: [hazoi-ngiliau, don-ngiliau, zunpi-ngiliau, hiunlien, ]
有
job=hazoi-ngiliau: # 下載語料
job=don-ngiliau: # 斷詞斷字語料
job=zunpi-ngiliau: # 準備語料
job=hiunlien: # 訓練
time dobi hazoi-ngiliau
1-ngienbun-ngiliau/
├── fa.txt
└── meu.txt
time dobi don-ngiliau
2-doncii-ngiliau/
├── fa.train
├── fa.valid
├── meu.train
└── meu.valid
time dobi zunpi-ngiliau
3-opennmt-data/
├── meufa.vocab.src.fa
└── meufa.vocab.tgt.meu
time dobi hiunlien
4-opennmt-model/
├── fameu_step_1000.pt
├── fameu_step_10000.pt
├── fameu_step_10500.pt
├── fameu_step_11000.pt
...
- Bilingual Evaluation Understudy(雙語評估),學術界摎工業界有用。
- 機器翻譯評價指標BLEU介紹
time dobi bleu
評估訓練模型效果。
BLEU = 32.46, 67.3/43.3/29.5/20.0 (BP=0.896, ratio=0.901, hyp_len=8058, ref_len=8940)
預設是STEP=3000
,評估訓練3000 STEP个模型效果分數係32.46
,滿分100.0
,分數範圍0.0~100.0
。
預設是STEP=3000
,做得看評估別个STEP
个模型效果。
STEP=4000 time dobi bleu
BLEU = 33.19, 65.3/41.8/28.4/19.4 (BP=0.948, ratio=0.949, hyp_len=8486, ref_len=8940)
STEP=4000
分數33.19
比STEP=3000
分數32.46
好。
STEP=5000 time dobi bleu
BLEU = 33.60, 66.8/43.4/29.8/20.6 (BP=0.921, ratio=0.924, hyp_len=8260, ref_len=
8940)
STEP=5000
分數33.60
比STEP=4000
分數33.19
好。
STEP=6000 time dobi bleu
BLEU = 32.98, 66.2/42.2/28.7/19.6 (BP=0.931, ratio=0.933, hyp_len=8341, ref_len=
8940)
STEP=6000
分數32.98
比STEP=5000
分數33.60
差。
STEP=5000
分數33.60
盡高,故所上線模型選STEP=5000
个。上線設定server-docker/tin.json
就愛改"model": "fameu_step_5000.pt",
,正docker-compose up -d --build
time dobi bleu-dict
BLEU = 34.42, 65.0/41.2/28.0/18.7 (BP=1.000, ratio=1.070, hyp_len=9567, ref_len=8940)