Moses phrase-based statistical machine translation (Moses PBSMT) er kerfi til þess að þróa og keyra tölfræðilegar vélþýðingar. Í þessu skjali er lýst hvernig hægt er að nota (forþjálfað) Moses þýðingarkerfi og leiðbeiningar fyrir frekari þróun.
Verkefninu er skipt í nokkra hluta:
- Moses kerfið uppsett. Dreift með Docker á DockerHub
haukurp/moses-smt:1.1.0
. - Föll til þess að þjálfa og dreifa Moses kerfi.
Forþjálfuðum kerfum er dreift með með Docker á DockerHub
haukurp/moses-smt:en-is
oghaukurp/moses-smt:is-en
. - Framendi fyrir þýðingarvél og forvinnsluföll.
Dreift sem Python pakka og Docker á DockerHub
haukurp/moses-lvl:3.2.0
. - Aukalega fylgja reiknirit sem eru notuð til þess að forvinna og samhæfa gögn,
preprocessing
,scripts
ognotebooks
.
Þar sem verkefninu er deilt með docker
þarf einungis að setja upp docker
Til þess að keyra þýðingu á staka setningu, án þess að setja upp kerfið til lengdar er hægt að gera:
echo "Hæ, ég er Moses." | docker run -i haukurp/moses-lvl:3.2.0 ./main.py preprocess - - "is" | docker run -i haukurp/moses-smt:is-en /opt/moses/bin/moses -f /work/moses.ini | docker run -i haukurp/moses-lvl:3.2.0 ./main.py postprocess - - "en" > test
Þetta forvinnur setninguna, þýðir hana og lagfærir hana svo og skrifar niðurstöðurnar í skjalið test
.
Til þess að keyra kerfið í heild sem þýðingarþjón er best að vera með docker-compose
uppsett.
docker-compose up -d
# Þýða is-en
curl -d '{"contents":["Hæ, ég er Moses."],"sourceLanguageCode":"is","targetLanguageCode":"en","model":"moses"}' -H "Content-Type: application/json" http://localhost:5000/translateText -v
# Þýða en-is
curl -d '{"contents":["Hi, Im Moses"],"sourceLanguageCode":"en","targetLanguageCode":"is","model":"moses"}' -H "Content-Type: application/json" http://localhost:5000/translateText -v
# stöðva
docker-compose down
MIT leyfi License
Háskólinn í Reykjavík
Haukur Páll Jónsson [email protected]
Aðrir sem komu að verkefninu eru:
- Hrafn Loftsson (HR)
- Steinþór Steingrímsson (HR/Árnastofnun)
- Haukur Barri Símonarson (Miðeind)
- Vésteinn Snæbjarnarson (Miðeind)
Þetta verkefni var unnið sem hluti af Máltækni áætlun fyrir íslensku 2019-2023. Verkefninu er stýrt af Almannarómi með styrk frá Menntamálaráðuneytinu.
Kerfið sem er ræst hér er í þremur hlutum sem eru skilgreindir í docker-compose.yml
.
- Forþjálfað Moses kerfi fyrir
en-is
- Forþjálfað Moses kerfi fyrir
is-en
- Framendi sem forvinnur setningar sem koma inn.
Fyrir neðan eru leiðbeiningar fyrir frekari þróun á kerfinu.
data
inniheldur gögn fyrir þjálfun. Sjá nánari lýsingu í data/README.md.model
inniheldur þjálfun líkön og niðurstöður.moses
inniheldur pökkun og leiðbeiningar fyrirmoses
, kerfið. Sjá nánari lýsingu í moses/README.md. Hluti af skjöluninni er á ensku þar sem henni er dreift annars staðar.notebooks
inniheldur rannsóknir á gögnum og er síst vel skjalað.preprocessing
inniheldur Python forrit fyrir forvinnslu þjálfunargagn og framenda. Sjá nánar í preprocessing/README.md.scripts
innihalda forvinnslu þjálfunargagna. Sjá nánar í scripts/README.md.
Gögnum fyrir þjálfun er ekki deilt með kerfunum (sökum stærðar) en hægt er að nálgast samhliða málheild (is-en) og einmála málheild fyrir íslensku á malfong.is. Sjá frekari leiðbeiningar fyrir gagnafyrirkomulag í data/README.md
Það eru skilgreinar nokkrar sjálfvirkarprófanir fyrir Python forrit
cd preprocessing
pytest
en-is þýðingarvél ætti að ná u.þ.b. 48 BLEU stigum is-en þýðingarvél ætti að ná u.þ.b. 57 BLEU stigum
Ein grein verður gefin út fyrir ráðstefnuna TSD-2020 í tenslum við Moses og íslenskar vélþýðingar. Enn á eftir að gefa hana út.