BokmålNynorsk
sitemap

Du er her:

Forsiden Nyheter Faglig Ordfullføring og ordprediksjon
Ordfullføring og ordprediksjon

Av Torbjørn Nordgård

Flere skrivestøtteprogrammer har en funksjon som foreslår en eller flere fullføringer av et påbegynt ord. Dette kaller vi ordfullføring (word completion på engelsk). Hvis programmet foreslår neste ord rett etter man har avsluttet et ord, har vi å gjøre med ordprediksjon. Ofte brukes ordprediksjon om begge disse funksjonene, men vi skal i denne artikkelen bruke termene med betydningene ovenfor.

Eksempler

La oss se på noen eksempler på ordfullføring, og vi bruker forslagene fra to norske skrivestøtteprodukter som Lingit ikke har produsert. Teksten er hentet fra ingressen til en artikkel i VG Nett 8. september 2010: Statsminister Jens Stoltenberg sier at han er trygg på at alle gavene til statsrådene har kommet frem i lyset. Vi ser hva ordfullføring foreslår etter hvert som vi taster inn de fire første ordene. Når målordet (markert i kursiv) kommer først i listen, hopper vi til starten av neste ord. Forslagene fra de to programmene kommer ikke systematisk på samme posisjon, men de fem første forslagene fra hvert program er presentert samlet.

S

System A: Som, SÃ¥, Seg, Selv, Skal

System B: SÃ¥, Som, Sa, Siden, S

St

System A: Start, Strålende, Store, Stor, Står

System B: Store, Står, Stor, Sto, Større

Sta

System A: Start, Stadig, Stavanger, Statsminister, Startet

System B: Stadig, Staten, Stakk, Startet, Stanset

Stat

System A: Staten, Statens, Status, Stat, Statsminister

System B: Statsminister, Staten, Statoil, Statsministeren, Statlige

Stats

System A: Statsminister, Statsministeren, Statsråd,  Statsbudsjettet, Statssekretær

System B: Statsminister, Statsministeren, Statsråd, Statssekretær, Statsbudsjettet

Statsminister J

System A: Jeg, Jens, Jo, Jan, Januar

System B: John, Jeg, Jens, Jagland, Johan

Statsminister Je

System A: Jeg, Jens Jensen, Jentene, Jenter

System B: Jeg, Jens, Jenter, Jentene, Jenta

Statsminister Jen

System A: Jens, Jensen, Jentene, Jenter, Jente

System B: Jens, Jenter, Jentene, Jenta, Jente

Statsminister Jens S

System A: Stoltenberg, Som, Stoltenbergs, Skulle, Seg

System B: SÃ¥, Som, Sa, Siden, S

Statsminister Jens St

System A: < .. har funnet riktig ord .. >

System B: Stoltenberg, Stoltenbergs, Står, Store, Stor

Statsminister Jens Stolten

System A: < .. har funnet riktig ord .. >

System B: Stoltenberg, Stoltenbergs

Statsminister Jens Stoltenberg s

System A: så, som, sa, siden, s

System B: som, seg, skulle, så, støtte

Statsminister Jens Stoltenberg si

System A: siden, sier, sin, siste, sine

System B: sin, sier, siden, sine, si

Statsminister Jens Stoltenberg sie

System A: sier, sies, sien, siene, siende

System B: sier, sies, sierra, siemens, siegfried

Statsminister Jens Stoltenberg sier a

System A: at, av, a, arve, angelika

System B: at, av, ananas, andre, alle

Ordet Statsminister dukker opp når man har skrevet Sta, og Statsminister er først i begge forslagslistene når stats er tastet inn. Vi observerer at ordet at kommer opp med en gang etter sier.

Hvordan virker ordfullføring?

Nå som vi har sett eksempler på ordfullføring, kan vi gå inn på hvordan dette virker.

Språkmodeller

Programmene har samlet kunnskap om regelmessigheter i språket fra en samling tekster, gjerne sakprosa. Regelmessighetene er opptellinger (frekvenser) i form av enkle ordtellinger (unigrammer), ordpar (bigrammer) og kanskje også ordtripler (trigrammer). Man kan i prinsippet også bruke firgrammer, femgrammer osv. De mest frekvente ordene (unigrammene) i norsk bokmål er i, og, er, det, på. Ordene i en, i Oslo, i dag, i Norge, i det er de mest frekvente bigrammene med i som første ord, mens i en pressemelding, i en ny, i en av, i en rekke, i en slik er trigrammer der i en er de to første ordene. Det er viktig å være klar over at kvaliteten på regelmessighetene, eller språkmodellene som man helst kaller dem, er direkte avhengig av tekstsamlingene som de er hentet fra. Hvis tekstsamlingen ikke inneholder ordet Stoltenberg, vil ikke språkmodellene ha referanse til dette ordet, og programmet vil ikke kunne foreslå det. Det er antakelig noe sånt som har skjedd i eksempelet ovenfor.

Når man begynner å skrive et ord, vil ordfullføringsprogrammet forsøke å finne den mest sannsynlige fullføringen av ordet ved hjelp av språkmodellen. Trigramfrekvenser gir normalt best resultat, og bigramfrekvenser er å foretrekke fremfor unigramfrekvenser. Man kan dessverre ikke bruke alle bigram- og trigramdataene i programmene. Hvis antall unike unigrammer hentet fra en tekstsamling er 100.000, vil antall potensielle bigrammer være 10 milliarder (100.0002). Antall unike observerte bigrammer er mindre, men det blir flere titalls millioner, mens vi vil få enda mange flere trigrammer. Og så videre for firgrammer, femgrammer etc. Modellene må reduseres til overkommelige størrelser, og da blir de ikke så nøyaktige som vi ønsker.

Virkemåte

Man kan nå se for seg hvordan ordfullføring virker. Etter første tegn foreslår programmet de ordene som har høyest unigramfrekvens og begynner med denne bokstaven. Eller bedre, de ordene som forekommer først i setninger og begynner med denne bokstaven. Resultatet etter tegnet S i tabellen ovenfor viser dette. Skriver man St får man ordforslag som begynner på St, osv. Har man skrevet Statsminister J bør programmet ved hjelp av bigramkunnskap kunne foreslå Jens, sammen med andre navn som Junichiro, John, José, Jan, Jean-Pierre, osv. Om programmene ikke kommer med forslag som dette, er de enten basert på for gamle språkdata eller modellene er "trimmet" eller redusert for hardhendt.

Ordfullføring virker best når man skriver på en måte som er i samsvar med språkmodellene. I en setning som Det er ikke så vanskelig å få opp riktig ord i menyen.  kommer nesten alle ordene øverst eller langt opp på listene i programmene som ble brukt ovenfor.

Men ordfullføring fungerer ikke godt dersom man vil skrive på en kreativ måte, eller hvis man bruker mange "ferske" ord som nylig har kommet inn i språket. Sjeldne egennavn vil alltid være problematiske. I forrige artikkel kom vi inn på produktivt sammensatte ord. Slike ord vil aldri kunne komme opp som forslag i statistisk baserte ordfullføringsprogrammer.

Ordprediksjon

Ordprediksjon (slik vi har brukt termen her) er nesten det samme som ordfullføring, men da foreslår programmet det mest sannsynlige neste ordet så snart et ord er skrevet ferdig og man har trykket på mellomromtasten, altså uten at man har påbegynt neste ord. Skriver man som første ord Finansminister, foreslår det ene systemet Sigbjørn, Kristin, Gunnar, Rolf, i, mens det andre foreslår i, og, det, som, er. Her ser vi at det ene programmet har en mer adekvat språkmodell enn det andre (men underlig nok var det motsatt i tilfellet Stoltenberg ovenfor ...).

Konklusjon

Vi har gitt en kort innføring i hva ordfullføring og ordprediksjon er. Programmene bruker enkle statistiske språkmodeller for å kunne foreslå neste ord eller ordet man har begynt å skrive. Konteksten kan være to, et eller ingen ord til venstre for der man befinner seg. Kvaliteten på slike programmer er avhengig av språkmodellenes beskaffenhet.

 
footer_stripe