Karl Ove Hufthammer karl@huftis.org [2016-06-14 21:12 +0200]:
dfisk@mailbox.org skreiv 14. juni 2016 15:13:
Jeg vurderer å prøve å generere .dic- og -.aff-filer ut fra ordlistene fra Norsk ordbank (som etter det jeg kan se, ble oppdatert i april i år).
Her hadde eg tenkte å kommentera at dette måtte vera feil, men det stemmer faktisk! Før apriloppdateringa var ikkje fullformsordlistene blitt oppdatert sidan 2014, men dei vart faktisk oppdatert i april i år. Eg hadde gitt opp, og rekna ikkje med det kom nokon oppdateringar. (Eg har prøvd å senda e-post til kontaktadressa for fullformsordlistene, men har ikkje fått svar sidan 2014.)
Så vil jeg prøve å få hunspell til å godta sammensatte ord i henhold til regler som forhåpentligvis ikke vil være for kompliserte. (Jeg tenker på morfologisk riktig dannede sammensatte ord uten hensyn til hvor merkelige de måtte være.) Hvordan alt dette gjøres, må jeg først lære, og det blir nok mer omfattende en jeg tror. Men skulle det ikke være en grei plan for å lage en ny, enkel ordliste? Hva er det jeg overser?
At det er svært komplisert. :)
Problemet er ikkje å få aspell/myspell til å godta samansette ord; det er å få dei til å *ikkje* godta for mange «falske» samansette ord (og samtidig godta *ekte* samansette ord). Som ei kort og lettlest innføring vil eg anbefala artikkelen «An automatic analysis of Norwegian compounds»: https://www.duo.uio.no/handle/10852/43896 Sjå spesielt avsnitt 5.3.2 for eksempel på «overivrig» tolking av samansette ord.
Men eg er i utgangspunktet einig i at å ta utgangspunktet i fullformsordlistene til Norsk ordbank er ei mykje betre løysing. Eg starta på eit prosjekt for dette for nynorsk. Tanken var nøye og streng kontroll med kjeldene for orda og bøyingane som skulle inngå i stavekontrollen (i motsetning til dei eksisterande ordlistene, der det er heller tilfeldig om for eksempel ei bøying av eit ord er med sjølv om ordet i ei anna bøying er det, eller om eit samansett ord er med). Meininga var òg å supplera ordlista med andre relevante (fri kjelder), for eksempel viktige stadnamn frå Kartverket eller lister over frå Språkrådet (nyord og namn på språk og land), liste over moglege prefiks og suffiks osv. Men alt skulle gjerast systematisk, slik at ein alltid visste kjeldene til ord og ordsamsettingar som fanst i den ferdige stavekontrollen. Dette skulle òg gjelda unntak, som kom i eigne unntaksordlister (slik at for eksempel kunne innehalda ord som «sjefsredaktør», som språkleg sett er eit greitt samansett ord, men som i ~100 % av tilfella er ei feilskiring av «sjefredaktør»).
Første steg var å markera alle substantiv som kunne inngå i samansette ord og korleis dei kunne inngå (om dei hadde s-fuge, eks. informasjon + teknologi = informasjonsteknologi, e-fuge, eks. mus + felle = musefelle eller andre kombinasjonar). Starten på dette arbeidet ligg på: https://github.com/unhammer/fugeord Lista over moglege ord måtte naturlegvis til slutt kuttast ned, for eksempel ved å fjerna svært korte ord og markera ord som berre passar i starten, slutten eller (ev.) i midten av ord. Delar av arbeidet kunne vera basert på frekvensordlister basert på skriftkorpus.
Ein kan ha samansette ord for anna enn substantiv på norsk, men støtte for substantiv ville vera ein veldig god start.
Akkurat dette prosjektet har lege brakk nokre år no, hovudsakleg på grunn av mangel på tid (og for mykje anna interessant). Men eg meiner denne framgangsmåten er fornuftig.
Eg har forresten ei fin .aff-fil som kan vera nyttige viss nokon er interessert i ta opp att arbeidet og laga ein nynorsk stavekontroll. Ein del av denne er aktuell for bokmål òg, men noko gjeld spesielt for nynorsk, hovudsakleg for å få gode *forslag* ved feilstavingar. Dette siste er svært viktig (og nok undervurdert). Irrelevante staveforslag er svært irriterande. (Dei som vart utsett for stavekontrollen i Word 97, eller som leste «Harry Hurt»-spalta i PC World på den tida, forstår nok godt kva eg meiner.) Eg hadde for eksempel reglar som gjorde at ordet «renslighet» fekk førsteforslaget «reinsemd» på nynorsk (i staden for «råslaget» og «rettslig»).
Elles, når det gjeld samansette ord, har eg seinare fått veta at nokon i (dvs. inni) ordbankprosjektet faktisk har laga ei oversikt over korrekt orddeling av alle orda samansette orda som alt finst der (det er ganske mange). Det hadde vore eit *supert* utgangspunkt for å automatisk generera lister over kva ord som kunne inngå i samansette ord (forord, mellomord og/eller sluttord) og kva som var aktuell fugebokstav. Men dessverre er dei ikkje ein del av fullformsordlistene ein kan lasta ned, so me har ikkje tilgang til det. :(
Hvis dette stemmer og dette er mulig å få tak i under en fri lisens, så hadde jo det vært ypperlig! Jeg vil i hvert fall prøve å få tak i denne oversikten når (dersom) jeg kommer så langt med prosjektet mitt.
Når det gjelder sammensatte ord, så vil jeg i hvert fall prøve å finne en algoritme. Håpet er at reglene ikke er så fryktelig kompliserte. Hvis en for eksempel begynner med de lengste ordene i ordlisten og ordet/ordene som har flest like bokstaver fra begynnelsen av ordet og som sammen med et annet ord fra ordlisten – eventuelt med fuge – danner samme ord, så kan dette ordet gjelde som forord.
F.eks.: Vi tar for oss ordet "vinningskriminalitet". Det ordet som har flest like bokstaver fra begynnelsen av ordet er "vinning". Algoritmen vil da i utgangspunktet lete etter ord i ordlisten som er lik resten av ordet, med og uten fuge. Men så kan den være litt smart og vite at forord som slutter på "-ing", har s-fuge, slik at den begynner med en gang å lete i ordlisten etter sluttordet. Når den da finner "kriminalitet" så lagres "vinning" med s-fuge som forord ( = mellomord?) og kriminalitet som sluttord. Ordlisten som genereres vil da godta samtlige ord som har "vinnings" som for- eller mellomord og samtlige ord med "kriminalitet" som sluttord.
Så lenge ordene er av en viss lengde, skulle en få en fin liste med mulige for-, mellom- og sluttord, tenker jeg. Men jeg vet ikke om det går bra når ordene blir korte. Uansett må jeg først lære litt awk for å lage en fin liste med ordene i Ordbanken og bøyningsmønstrene. Det vil ta sin tid.
Men kanskje Norsk ordbank òg skal til UiB no, jf. teksten som er å lesa nedst på http://www.nob-ordbok.uio.no/ desse dagane? Me kan håpa, og på at dei tar tak i dette, slik at det vert arbeidd med Norsk ordbank (og fullformsordlisteeksporten) igjen. (Det er forresten ein del direkte *stavefeil* i Norsk ordbank som enno ikkje er retta; sjå https://savannah.nongnu.org/bugs/index.php?go_report=Apply&group=ordbank... for *nokre* av dei. Alle der er melde inn til Norsk ordbank på eit eller anna tidspunkt. Andre eg har funne i det siste (eks. cholesterolinnhald) har eg ikkje tatt meg bryet med å melda inn.)
OK, det var mykje informasjon. Men forhåpentlegvis til nytte for nokon? Kjekt om nokon tar tak i dette med stavekontrollane igjen. Eg kan prøva å hjelpa litt til, men har veldig lite tid å bruka på det. :/
-- Karl Ove Hufthammer
i18n-no mailing list i18n-no@lister.ping.uio.no https://lister.ping.uio.no/mailman/lister.ping.uio.no/listinfo/i18n-no