Den 12. sep. 2007 kl. 19.44 skrev Petter Reinholdtsen:
For å teste om stavekontrollen gjør jobben sin trenger vi å teste den. Til testingen trenger vi korrekt stavede ord, og ord som er feilstavet.
For å gi alle mulighet til å bidra med slike ord har jeg opprettet to wikisider, en for korrekt stavede ord som har vist seg å være vanskelig for stavekontrollen å få korrekt, og en for ord som er feilstaved og som stavekontrollen har latt være å markere som feil (eller andre som vi synes er gode eksempler på vanlige feilstavede ord).
Nå trengs det hjelp til å fylle inn ord. Kan du legge inn de ordene du har oppdaget at stavekontrollen har problemer med? Wikisidenen finner du på
http://wiki.debian.org/SpellNorwegian/TestsSucceed http://wiki.debian.org/SpellNorwegian/TestsFailing
Sidene er ein god start, men for å testa kvaliteten på ein stavekontroll, trengst det meir. I Divvun-prosjektet har vi no ein testbenk som kan testa desse parametra dersom ein testar med relevante inndata:
• Presisjon [precision] (kor mange av dei markerte feila er i eit dokument reelle feil) • gjenfinning [recall] (kor mange av feila i eit dokument klarar stavekontorllen å finna) • nøyaktigheit [accuracy] (kor stor del av alle orda i eit dokument er det stavekontrollen klarer å diagnostisera rett)
Dette er klassiske kvalitetsmål på ein stavekontroll, men langt i frå dei einaste. Testbenken vår kan i tillegg måla desse storleikane:
• kor mange av dei korrekt identifiserte feila er det som får eit relevant forslag • kor mange skrivefeil pr ord klarar stavekokntrollen å korrigera * kor mange av dei korrekte forslaga er av dei 5 første (dvs lette å finna for brukaren)
Vi har òg samla data som gjer at vi kan sjekka oppførselen i høve til kjende skrivefeil (dvs feil vi har funne i korpus - dette er vel det nærmaste vi kjem Wiki-sidene), og akkurat no samlar vi i hop data over feil som stavekontrollen har gjort tidlegare for å hindra at feila dukkar opp på nytt (dvs eit sett med regresjonstestar). I tillegg har vi ein test som sjekkar at alle grunnformene vi har i leksikona våre faktisk blir gjenkjende av stavekontrollen (vi har ein relativt lang og komplisert veg frå kjeldekode til ferdig stavekontroll, så denne testen har vist seg svært viktig for oss - han er kanskje mindre relevant for dykk).
Alle testresultata blir lagde ut på heimesidene våre: resultata frå dei siste kvalitetstestane finst på [1], dei siste resultata frå kjende skrivefeil på [2], og for grunnformstestane på [3]. Resultat for regresjonstestar har vi ikkje - den delen av testbenken er ikkje ferdig enno, men blir det denne veka. Alle lenkene er til nordsamisk, men vi har tilsvarande resultat for lulesamisk.
Alt vi gjer i Divvun-prosjektet er tilgjengeleg med ein vanleg GPL- lisens, så dersom de er interesserte i å bruka noko av dette, er det fritt fram.
Til no er det berre MS Word vi testar, og testbenken vår speglar sjølvsagt det. Men han er modulært bygt opp, og det burde vera enkelt å tilpassa han til andre program (og vi er sjølve interesserte i ei slik utviding litt seinare på hausten, då vi etter planen skal byrja å testa stavekontrollen vår i OOo).
Vi har to ulike testprogram, eitt som er levert av underleverandøren vår (og som *ikkje* er tilgjengeleg for andre enn Divvun-prosjektet), og eitt der vi skriptar MS Word med AppleScript, og altså er uavhengig av underleverandøren (men vi er i staden avhengig av ein installasjon av MS Office 2004, og at vi er lokalt innlogga på maskina vi vil testa, dvs logga inn via det grafiske grensesnittet i MacOS X; AppleScript-skriptet er ei tekstfil, og open kjeldekode som alt anna Divvun-prosjektet har utvikla).
Desse to testprogramma er relativt isolerte frå resten av testbenken (og kan bli det endå meir - det er neste punkt på programmet), så det å byta ut eitt av dei med eit tredje burde ikkje vera vanskeleg.
Postprosesseringa av testresultata skjer med eit perlskript som leverer XML, som deretter blir transformert til eit presentasjonsformat for Forrest [4]. Resultata er som de ser i [1][2] [3] (det er enkelt å bytta ut transformeringa til Forrest-formatet til eit anna presentasjonsformat; Forrest er open kjeldekode).
Inndata er av to typar: anten ei enkel to-kolonners tekstfil (leif<TAB>feil), eller ei XML-fil som fylgjer ein DTD vi sjølve har utvikla. XML-filene er dei som gjev mest omfattande kvalitetsdata, men ein kjem langt med den andre typen.
Vi er sjølve godt nøgde med infrastrukturen vår, og har lagt mykje tid ned i å utvikla han. Viss vi med dette kan få andre til å ta det i bruk, og dermed få tilgang til erfaringar med utvikling av testing for t.d. OOo, er vi glade for det.
Verktya er dessverre ikkje dokumenterte enno, men vil vonaleg bli det den nærmaste tida. Mykje av koden er ikkje så veldig vanskeleg, så det finst jo ein del dokumentasjon der;)
Gå til heimesida vår[5], og sjekk ut frå cvs (sjå lenke til "anonym cvs" på framsida). Deretter er det berre å ta for seg:)
[1] http://www.divvun.no/doc/proof/spelling/testing/spelltest-pl- forrest-Markansluska-20070903.html [2] http://www.divvun.no/doc/proof/spelling/testing/spelltest-typos- pl-forrest-sme_20070907.html [3] http://www.divvun.no/doc/proof/spelling/testing/selftest-pl- forrest-sme-20070910.html [4] http://forrest.apache.org/ [5] http://www.divvun.no/
Beste helsing Sjur N. Moshagen Samediggi · Sametinget Prosjektleiar for Divvun-prosjektet http://www.divvun.no/ http://www.samediggi.no/ +358-9-49 75 29 (a) +358-505 634 319 (m)