GiellaLT

GiellaLT provides an infrastructure for rule-based language technology aimed at minority and indigenous languages, and streamlines building anything from keyboards to speech technology. Read more about Why. See also How to get started and our Privacy document.

View GiellaLT on GitHub

MT-beaivvit cuoŋománus

Kursa 2016

Praktihkalaččat

bistá 5 beaivvi, mii álgit mánnodaga dii. 9

Prográmmaevttohus:

Trond, ML ja Lene leat hupman MT-vahku sisdoalu birra. Dát lea evttohus:

MÁNNODAGA

0 Bures boahtin

1 Evalueret sme-teavstta MT-jorgalusa

Jorgalit guokte oanehis teavstta: čáppagirjjálašvuođa teavstta ja čoahkkingirjji:

2 Buoridit jorgalanfeaillaid

Mo gávdnat jorgalanfeailla siva

Bargat ieš, oažžut bagadeami

Bargat násttiid ja hash

Missing (násti)

Ovdalgo sáhttá árvvoštallat cealkaga syntávssa dahje váilevaš genererema, de eai galgga leat missing-sánit cealkagis

Geahččat dan maid analysáhtor ii máhte genereret (hash):

echo 'cealkka' | apertium -d. sme-smn-dgen , omd.

#Pariisa<np><top><sg><loc>

usmn
Pariisa
Pariisa	Pariisa+N+Prop+Sem/Plc+Sg+Nom


dsmnNorm
Pariisa+N+Prop+Sem/Plc+Sg+Loc
Pariisa+N+Prop+Sem/Plc+Sg+Loc	Pariisa+N+Prop+Sem/Plc+Sg+Loc	+?

Ferte lasihit/divvut FST (omd. addit +Sg+Loc leksikonii masa Pariisa manná)

Nubbi ovdamearka:

usmn
lávluđ
lávluđ	lávluđ+V+Inf


dsmnNorm
lávluđ+V+Der/NomAg+N+Sg+Nom
lávluđ+V+Der/NomAg+N+Sg+Nom	lávluđ+V+Der/NomAg+N+Sg+Nom	+?

Ferte lasihit/divvut FST (addit +Der/NomAg leksikonii masa lávluđ manná)

Leago sme-input riekta?

Geahččat input:

Geahččat sme syntávssalaš analysa apertiumas:

echo 'cealkka' | apertium -d. sme-smn-disam

Geahččat sme syntávssalaš analysa olggobeal apertiuma:

Jus buot sánit eai leat mielde bidixis, de lea buoret geavahit dán gohččuma:

echo 'cealkka' | smedis

Manne transfer-njuolggadus ii doaimma?

Geahččat chunkema:

echo 'cealkka' | apertium -d. sme-smn-chunker

DISTTAGA

3 Giellatekno ja Apertiuma taggaformáhtat

echo 'cealkka' | apertium -d. sme-smn-biltrans

Dahje don sáhtát iskat eaŋkilsániid:

4 Testenbargu: python skriptat

Mis leat dákkár teaksta-máhpat:

  1. texts : fiillat dábálaš txt-formáhtas. _sme.txt ja _smX.txt
  2. tmx_data : sihke sme ja smX seammá fiillas, okta cealkka háválassii. tmx-formáhtain lea vejolaš genereret html-fiilla.
  3. fi.samediggi : sihke sme ja smn seammá fiillas, okta cealkka háválassii. tmx-formáhtain lea vejolaš genereret html-fiilla.
  4. pseudo_tmx_data : dušše sme, okta cealkka háválassii. tmx-formáhtain lea vejolaš genereret html-fiilla.
  5. otpt_dir/ : output-directory mas leat fiillat mat leat genererejuvvon python-skriptain.

Jorgalit teavstta mii lea juo jorgaluvvon, ja buohtastahttit jorgalusaid:

Jorgalit dihto fiilla, ja rahpat bohtosa:

  1. python wercheck_mt-otpt.py -f tmx_data/100writers_sme2smn.tmx
  2. open otpt_dir/ - de rahpasa finder-láse. Vállje fiilla maid háliidat rahpat.

Jorgalit olles máhpa, ja rahpat bohtosa:

  1. python wercheck_mt-otpt.py -d tmx_data/
  2. open otpt_dir/ - de rahpasa finder-láse. Vállje fiilla maid háliidat rahpat.

Jorgalit teavstta mii ii leat jorgaluvvon ovdal:

Jorgalit dihto fiilla, ja rahpat bohtosa:

  1. python check_mt-otpt.py -f mappe/file
  2. open otpt_dir/ - de rahpasa finder-láse. Vállje fiilla maid háliidat rahpat.

Jorgalit olles máhpa, ja rahpat bohtosa:

  1. python check_mt-otpt.py -d tmx_data/
  2. open otpt_dir/ - de rahpasa finder-láse. Vállje fiilla maid háliidat rahpat.

5 Buoridit jorgalanfeaillaid

Lexical selection

Jus lea eanet go okta vejolaš jorgalus, de sáhttá ráhkadit njuolggadusaid -lrx-fiillas. omd. sämikielâlâš + human vs sämikiel

Lasit bidixii

Geavat dán gohččuma vai oainnát taggaid

^Doppe<adv><sem_plc><@ADVL→>/Tobbeen<adv><sem_plc><@ADVL→>$
^leat<vblex><iv><indic><pres><p3><pl><@+FMAINV>/leđe<vblex><indic><pres><p3><pl><@+FMAINV>$
^ollu<adv><@←ADVL>/ennuv<adv><@←ADVL>$
^sámegielat<adj><sem_hum><attr><@→N>/sämikiel<adj><sem_hum><attr><@→N>/sämikielâlâš<adj><sem_hum><attr><@→N>$
^olmmoš<n><sem_hum><pl><nom><←ext→><@←SUBJ>/olmooš<n><sem_hum><pl><nom><←ext→><@←SUBJ>$
^.<sent>/.<sent>$^.<sent>/.<sent>$

Lasit -lrx-fiilii:

  <rule weight="1.0">
    <match lemma="sámegielat">
      <select lemma="sämikiel"/>
    </match>
  </rule>


  <rule weight="0.5">
    <match lemma="sámegielat">
      <select lemma="sämikielâlâš"/>
    </match>
  </rule>


  <rule weight="0.6">
   <match lemma="sámegielat" tags="adj.sem_hum.attr.*">  (sámegielat<adj><sem_hum><attr><@→N>)
      <select lemma="sämikielâlâš"/>
   </match>
<or>
   <match tags="n.sem_hum.*"/>     (omd. olmmoš<n><sem_hum><pl><nom>)
   <match tags="n.*.sem_hum.*"/>   (omd. oahpaheaddji<n><nomag><sem_hum><pl><nom>)
 </or>
  </rule>

Nubbi ovdamearka dás: Lexical selection

GASKAVAHKU

6 Hash-listtuiguin bargat

Hash-listu ráhkaduvvo teavsttaid jorgaleami vuođul, ja buot dábáleamos čuolmmat bohtet listtu bajimussii. Nu ahte čuolmmat sorterejuvvojit frekveanssa mielde.

Jus don háliidat ráhkadit ođđa hash-listtu ieš, dahje don háliidat ohcat ovdamearkkaid, de fertet genereret ođđa jorgalusaid: genereret jorgalusaid

Loga eanet hash-listtuid birra dás: hash-listtut

dev/hash-fi-report.fi

  27 #sosiaal<adj><cmp_sgnom><cmp_splitr>  sosiála-  sosiaal-	sosiaal+A+Cmp/Attr+Cmp/SplitR
  21 #sosiaal<adj><cmp_sgnom><cmp>syergi
  14 #jieškote<prn><ind><sg><gen>
  14 #Sosiaal<adj><cmp_sgnom><cmp_splitr>
  12 #vääri<n><cmp_sgnom><cmp>#ovdâsteijee<n><nomag><sg><loc><south>
   9 #Sosiaal<adj><cmp_sgnom><cmp>syergi
   7 #riehtiministeriö<n><sg><gen>  riehtiministeriö	riehti+N+Cmp/SgNom+Cmp#ministeriö+N+Sg+Acc
   6 #Ume<np><top><sg><loc>  Ume+N+Prop+Sem/Org+Sg+Loc

Ulbmil: Ipmirdit ja divvut feaillaid.

Gohččumat:

cat dev/hash-report.freq |egrep -v '(cmp|<np-d"#" -f2|cut -d"<" -f1|hfst-lookup smj-sme.automorf.hfst |see
cat dev/hash-report.freq |egrep -v '(cmp|<np>|<top>|der_)'|see

DUORASTAGA

7 Bidix-sanity

Bidix-sanity listu ráhkaduvvo bidix-listtu vuođul. Čuolmmat sorterejuvvojit alfabehtalaččat.

sh bidix-sanity.sh > sanityoutput

Lea vejolaš heivehit sanityoutput nu ahte oaččut listtu mas eai leat namat, ja mas smX-sánit leat sorterejuvvon sáni loahpa mielde. Dalle lea álkit árvvoštallat sániid (seammá sánit bohtet maŋŋálaga) ja maiddái kopieret sániid FST:i.

Go leat dev-máhpas:

sh sortedsanityoutput_withoutprop.txt

Loga eanet bidix-sanity birra.

BEARJADAGA

8 Testen

Regression tests

./t/regression-tests

Pending tests

./t/pending-tests

Loga eanet

9 Derivašuvnnat

Harmoniserte tagger som forteller funksjon:

Forslag om nye tagger som forteller funksjon:

Andre harmoniserte tagger:

Forslag om nye harmoniserte tagger:

Resten av sme-taggene - ikke diskutert, og mange av dem er ikke så viktige for MT

10 Missinglisttuiguin bargat

missinglisttut

11 Gávdnat meattáhusaid sme-inputas

12 Syntávssalaš áššit

13 Transfer-njuolggadusat

Bargat syntávssalaš áššiiguin

Bargu ovdal geassemánu MT-vahku.

FST

Buohkaide

Derivašuvnnat MT perspektiivvas

smn

Adjektiivvat, Px,

MT

Buohkaide

smj

bidix

smn

Teknihkalaš áššit

Boahtteáiggi fáttát