Skip to content
This repository has been archived by the owner on May 14, 2024. It is now read-only.

i3thuan5/MeuLidFa-FanId

Repository files navigation

MeuLidFa-FanId

苗栗話翻譯

苗栗話翻譯試做1021

遽遽做

安裝

{
    "default-runtime": "nvidia",
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
  • docker重開sudo systemctl restart docker

相關連結

下載專案

git clone [email protected]:i3thuan5/MeuLidFa-FanId.git

若係無權,愛用ssh key代替密碼

  1. 產生ssh key
  2. 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, ]

  1. job=hazoi-ngiliau: # 下載語料
  2. job=don-ngiliau: # 斷詞斷字語料
  3. job=zunpi-ngiliau: # 準備語料
  4. job=hiunlien: # 訓練

1. job=hazoi-ngiliau: # 下載語料

time dobi hazoi-ngiliau

結果

1-ngienbun-ngiliau/
├── fa.txt
└── meu.txt

2. job=don-ngiliau: # 斷詞斷字語料

time dobi don-ngiliau

結果

2-doncii-ngiliau/
├── fa.train
├── fa.valid
├── meu.train
└── meu.valid

3. job=zunpi-ngiliau: # 準備語料

time dobi zunpi-ngiliau

結果

3-opennmt-data/
├── meufa.vocab.src.fa
└── meufa.vocab.tgt.meu

4. job=hiunlien: # 訓練

time dobi hiunlien

結果

4-opennmt-model/
├── fameu_step_1000.pt
├── fameu_step_10000.pt
├── fameu_step_10500.pt
├── fameu_step_11000.pt
...

分析效果:BLEU

指令

time dobi bleu

評估訓練模型效果。

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

預設是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.19STEP=3000分數32.46好。

STEP=5000

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.60STEP=4000分數33.19好。

STEP=6000

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.98STEP=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)