Du skal ikkje stole på lukka forsking
22 september, 2009
Eg har tenkt mykje i det siste på fri programvare og forsking. Slik det er no, får gjerne eit forskingsprosjekt offentleg stønad sjølv om forskingsresultat ikkje kan testast utan å
- kjøpe tilgang til ein lukka platform (programvare), og
- kjøpe lisens for forskingsmaterialet.
Og ofte er det ikkje mogleg å få testa resultatet sjølv om ein har kjøpt desse lisensane. Dette er gale av fleire grunnar.
For det første: om me skal kunne stole på eit empirisk forskingsresultat må me kunne gjendrive dette («falsifying», å sjekke om eit eksperiment kan gjentakast). Før i tida var det gjerne slik at eit forskingsresultat kunne skildrast så detaljert i ein artikkel at det faktisk var mogleg å gjenskape eit eksperiment utan meir informasjon enn det som sto i artikkelen. Dette gjeld ikkje lenger – forsking no involverer gjerne tusenvis av databaseoppslag, tekster eller liknande (dvs. materialet som blei henta inn), og spesialisert programvare til å handsame dette materialet. I tillegg til å gje ut ein artikkel som skildrar metoden og resultata, må sjølve materialet og eventuell programvare som blei utvikla i forskinga vere tilgjengeleggjort – elles har me ingen grunn til å stole på forskinga.
Dette gjeld ikkje berre for andre forskarar som vil gjendrive resultat, men au for dei som sjølv gjorde forskinga. Ted Pedersen har ein fantastisk artikkel (pdf) kor han fortel om professor Zigglebottom som publiserer ein artikkel om ein ny og betre parser (dvs. eit program som finn ulike strukturar i tekst); problemet er berre at programmet var skrive og testa av ein doktorgradsstudent og er totalt udokumentert, og nokre år seinare får ikkje ei gong Zigglebottom sjølv til å køyre programmet. Eg veit sjølv om nok av akademisk arbeid som, uansett kor innovativt og elegant det ei gong var, ikkje kan brukast eller testast fordi det er udokumentert, lukka, eller avhengig av ein gamal platform som ikkje blir oppdatert lenger fordi selskapet som lagte han ikkje tener nok penger på å oppdatere denne platformen. Slike prosjekt døyr med forskarane sine. Om ein frå byrjinga av har eit ope prosjekt, kan det vekse seg langt større enn det lille instituttet der det byrja. Eit godt døme på dette er R-prosjektet, som byrja som eit lite akademisk program med ein fri lisens, men no har blitt eit av dei leiande systema for statistisk analyse.
For det andre er det eit etisk problem at me gir stønad til utvikling av lukka informasjon. For å seie det litt enkelt, kvifor skal du betale skatt for fleire professorårslønner om ikkje du sjølv – i prinsippet – kan få noko ut av forskinga? Dette er ikkje berre hypotetisk. Om data og programvare som blir utvikla får ein fri og open lisens, kan me faktisk tene på det fordi andre har tilgang til det. Me hadde t.d. aldri klart å få til såpass god dekning og presisjon i maskinomsetjing mellom nynorsk og bokmål i Apertium om ikkje det var for at Norsk Ordbank (ei slags ordbok) og Oslo-Bergen-taggaren (ein slags parser, heldigvis ikkje utvikla av professor Zigglebottom) hadde frie lisensar. Det same gjeld den norske stavekontrollen i OpenOffice. Du treng ikkje vere datalingvist for å tene på at datalingvistisk forsking er open.
Men eg trur det må ei haldningsendring til. Eg opplevde nyleg ein forelesar fortelje om korleis dei hadde funne feil i materialet til ei anna gruppe – og korleis det var «flaut» for denne andre gruppa. Og dei rapporterte ikkje ei gong feilane til dei andre.
Eg blei heilt satt ut.
Hadde dei båe brukt ein fri programvare-modell i forskinga si, så hadde ikkje denne feilen vore eit tema ei gong: grunntanken må alltid vere at ingen er feilfrie, og om du som brukar av eit prosjekt finn ein feil, så rapporterer du denne til dei som har ansvar for prosjektet. Enkelt og greit, og alle tener på det. Når det er snakk om forsking er dette faktisk endå viktigare, sidan slike feil kan gå ut over tidlegare publiserte resultat.
Manifestet blir altså sånn:
Ein må alltid ta spørsmålet om fri tilgang til materiale og programvare med i totalvurderinga når det er snakk om offentleg prosjektstønad til forskingsprosjekt.
Om deler av midlane skal gå til utvikling av spesialisert programvare (kanskje utført av innleigde programmerarar) må denne programvaren frigjerast. Det burde vere sjølvsagt.
Søknader som er avhengige av lukka platformar skal nedprioriterast.
Om det skal samlast inn materiale, t.d. som grunnlag til statistisk eller anna maskinell analyse, må dette materialet (der det ikkje går ut over personvernet) vere tilgjengeleggjort; helst under ein fri og open lisens slik at skattebetalarane kan få nytte av det, og slik at det fritt kan kommersialiserast.
(Dette innlegget blei delvis framprovosert av eit spørsmål på friprog.no.)
(Vil du heller lese dette innlegget på bokmål?)
I april 2009 søkte eg på Google Summer of Code, og fekk eit stipend for å jobbe i Apertium-prosjektet saman med åtte andre studentar. Apertium er ei mengd program og språkdata som m.a. blir nytta til automatisk omsetjing, og båe språkdata og programvaren er fritt og ope. Mitt prosjekt var apertium-nn-nb – maskinomsetjing mellom nynorsk og bokmål, og eg har vel jobba omtrent kvart ledige minutt på dette i sommar. Tirilensin og Baldur har vore svært tolmodige…
Eg har no gitt ut versjon 0.6.01 av apertium-nn-nb. Dette er altså eit språkpar for Apertium som gjer at du kan omsetje tekst mellom bokmål og nynorsk. Språkparet har ca. 46000 oppslagsord for kvart språk og ca. 88% dekning på Wikipedia-artiklar (meir statistikk her); det vil seie at litt meir enn kvart tiande ord ikkje blir analysert (dei siste ti prosentpoenga er svært vanskelege, sidan jo nærare du kjem 100% dekning, jo fleire ord treng du per prosentpoeng).
Kvifor Apertium?
Eg studerer datalingvistikk og språkteknologi, så maskinomsetjing er jo ideelt for meg. Og i tillegg til at dei har fantastiske mentorar så har Apertium funne seg ein interessant nisje i maskinomsetjingsmarkedet, dei konsenterer seg om minoritetsspråk og lågressursspråk, t.d. Baskisk, Bretonsk, Galisisk og Katalansk, og då spesielt omsetjing mellom majoritetsspråket og minoritetsspråket innanfor eitt område. Dei har au ein svært pragmatisk haldning til maskinomsetjing – formålet er å få eit godt resultat2. Eit svært godt maskinomsetjingsresultat kan føre til at eit minoritetsspråk får meir tilgjengeleg tekst og dimed høgare status i samfunnet som skriftspråk. Eit middels godt resultat er au eit gode sidan dei som berre les majoritetsspråket mistar eit argument for å krevje at minoriteten er nøydt til å lese og skrive majoritetsspråket.
Sidan Apertium ofte har å gjere med språk som har lite ferdig omsett og fritt tilgjengeleg tekst (parallellkorpora), er det vanskeleg å nytte slike reint statistiske metodar som Google eller Asia Online nyttar3, i staden kodar dei inn eksplisitt språkkunnskap. Det du treng av ressursar for å leggje til eit nytt språk er altså berre ein grammatikk og ei ordbok, og litt tid og ork. Nokre av dei involverte er lingvistar som kanskje har eit språk dei vil bidra med ressursar til, andre er heller programmerarar som jobbar meir med sjølve verktøya.
Så kor kan eg prøve dette vedunderet?
Sidan Apertium er fritt og ope, kan du gjerne køyre det på din eigen maskin. Apertium og nn-nb-paret kan installerast på GNU/Linux via t.d. apt (for t.d. Debian eller Ubuntu-brukarar) ved å skrive sudo apt-get install apertium lttoolbox apertium-nn-nb. På andre system må ein nok kompilere sjølv (sjå installasjonssidene på wikien).
Men det går au an å prøve nn-nb på http://apertium.org, du kan skrive inn tekst og trykkje «omsett» eller laste opp filer i ulike format (HTML, ODF, RTF, osb.).
I tillegg går det an å få Apertium-omsetjingar inn i XChat, WordPress, Pidgin, OpenOffice ved hjelp av ulike tilleggsprogram. Nokre av desse kan hente omsetjingar over nettet (vha. eit anna sommarkodeprosjekt) så ein treng ikkje å ha installert Apertium sjølv. Eg har ikkje prøvd desse sjølv, så spør andre om hjelp til det
Korleis fungerer apertium-nn-nb då? (Den tekniske biten)
(Dette er basert på ein presentasjon (pdf, manus her) eg heldt for workshopen om føringsgrammatikk i Odense på Nodalida 2009.)
Apertium er eit hovudsakleg regelbasert system, med lite syntaktisk informasjon. Kvart språkpar består av ulike modular, der kvar modul tek inn tekst, gjer noko med denne og spyttar ut igjen meir tekst. For å lage eit språkpar treng du minimum tri ting:
- ei bøyingsordbok for det eine språket
- ei bøyingsordbok for det andre språket
- ei omsetjingsordbok mellom dei to språka
Den vanlegaste måten å lage Apertium-ordbøker er ved å skrive dei i XML-formatet til lttoolbox. Desse ordbøkene gir informasjon som at ordet kvalp er eit substantiv, og har eit visst bøyingsparadigme (endinga -en står for bunden form eintal, osb.), og i omsetjingsordbøkene at substantivet kvalp i språk 1 kan omsetjast til substantivet valp i språk 2; XML-en blir kompilert til svært raske endelege tilstandsmaskinar som kan lese ordet kvalpen og spytte ut teksta
kvalp_substantiv_hankjønn_eintal_bunden
som altså er bøyingsanalysen av ordforma, eller lese denne analysen og spytte ut
valp_substantiv_hankjønn_eintal_bunden
Ordbøkene kan au nyttast til generering, så
valp_substantiv_hankjønn_eintal_bunden
sendt til bokmålsordboka gir valpen.
Men det kan jo hende at du jobbar med eit språk der lttoolbox-formatet ikkje passar så bra, t.d. Georgisk. Då kan du, om du vil, skrive dei einspråklege ordbøkene i det meir uttrykksfulle, men treigare, SFST-formatet – eller eigentleg kva som helst, så lenge du kan få det formatert slik som døma over.
Det som er kjekt med å basere seg på denne typen data er at det ofte finst slikt tilgjengeleg allereie. Det er nemleg ofte slik informasjon som går inn i stavekontrollar og liknande; i mitt tilfelle konverterte eg fullformsordlistene til Norsk Ordbank (med litt hjelp av ordbokprogrammet Ordbanken) til Apertium-formatet. Norsk Ordbank har svært mange oppslag og svært god informasjon, og er i tillegg fri programvare så eg kunne nytte den informasjonen med godt samvit. Konverteringa var ein del arbeid; i tillegg måtte eg ha ei omsetjingsordbok. Denne var først lagt automatisk ved å omsetje alle ord som fantest i båe ordbøker. For å utvide desse nytta eg au det statistiske verktøyet Giza++ saman med ReTraTos for å hente ut omsetjingar frå http://noreg.no og bokmåls- og nynorskomsetjingane av KDE4 (her køyrte eg au poterminology og poswap for å hente ut omsetjingar av «terminologi»). Men eg har nok fått mest ut av halvmanuelle metodar når det gjeld denne ordboka (skripting, emacs-makroar, …), sidan statistiske metodar ikkje gir så gode resultat på så små parallellkorpora.
Men du kjem ikkje så langt med ordbøker åleine. Det er (minst) to andre hovudproblem i maskinomsetjing:
- ordformer kan ha ulike tydingar
- ulike språk har ulik ordfølgje og bøying
For å handsame det første problemet treng me i det minste ein taggar. apertium-nn-nb har to, faktisk. Først ein føringsgrammatikk, dette er ei stor mengd reglar av typen «viss ordboka seier at dette kan vere anten partisipp eller fortidsverb, og det kjem rett etter bli, ha eller vere, så er det ikkje eit fortidsverb» (med eit par andre atterhald…). Heldigvis for meg fantest det allereie ein fritt tilgjengeleg føringsgrammatikk i form av Oslo-Bergen-taggaren, denne måtte konverterast ein del for å passe inn i Apertium, men kvaliteten på systemet er svært mykje høgare enn det hadde vore om eg måtte skrive alle reglane sjølv. Eg har i tillegg utvida denne til å takle problem som han ikkje takla frå før av, slik at dei som jobbar med Oslo-Bergen-taggaren au får eit betre produkt. Etter føringsgrammatikken kjem ein statistisk taggar som tek det endelege valet etter at føringsgrammatikken har fjerna det han kan.
Problem nummer to blir løyst i transfer-modulen. Her finst reglane som sørgjer for at adjektiv og substantiv har same kjønn og tal (t.d. om me vil at «en liten jente» på bokmål skal bli «ei lita jente» på nynorsk), og meir kompliserte reglar som sørgjer for at «mannens røde bil» blir til «den raude bilen til mannen», eller at «bøker skrives» blir til «bøker blir skrivne» medan «bøker kan skrives» blir til «bøker kan skrivast». Desse reglane måtte eg skrive heilt for hand (au i XML), og dei er nok enno langt frå ferdige (prøv t.d. «bøker leses ikke»).
Det finst enno store utfordringar, t.d. har me ingen anaforoppløysing og så godt som ingen orddisambiguering (t.d. forskjellen mellom bokmålsordet ville i tydinga ha lyst til versus tydinga forville); i tillegg bør ordbøkene utvidast og det finst jo nok av ting ein kan pusse på i dei andre modulane…
Om det er andre som er interessert i å bidra til prosjektet vil eg rå dei til å sjå på http://wiki.apertium.org/wiki/Norsk, og ta kontakt med meg eller dei andre i Apertium, miljøet der er svært venleg mot nye bidragsytarar
Fotnotar:
1 Dette er visst det tradisjonelle førsteversjonsnummeret i Apertium…
2 Alternativet er å prøve å først oppnå den mest korrekte lingvistiske skildringa, og så sjå kor gode maskinomsetjingsresultat det kan gi.
3 Men, litt statistikk kan involverast likevel, det er ofte lett å få tak i einspråkleg tekst.
Sneaking out of the walled garden
17 august, 2009
I was about to write a comment on this ReadWriteWeb article on distributed social networking, but it got too long, so instead I’m posting it here. These are some of the free and open source social networks which exist as replacements for Twitter, Facebook, Tr.im and the many other new walled gardens1 that have taken over the role of AOL and Compuserve:
Sick of Twitter downtime?
- Laconica is a distributed Open Microblogging Platform, developed by status.net . There is a very popular install going at http://identi.ca if you want to try it out. It lets you update your Twitter account through your Laconica if you want to, and there are quite a few Laconica clients already. XMPP/Jabber support is very good too, so you can update through eg. Google Talk, and it already does hash tags, replies, groups, threads/context… highly recommended.
- OpenMicroblogger is another competitor which has gained a lot of press.
- Also, Jaiku seems like it will be released as open source although I don’t know if it supports the Open Microblogging protocol.
Denied too many friend requests? Don’t want to give away all your intellectual property to Facebook?
- Elgg lets you run your own social network, there is an install at gNewBook.org if you want to try it out.
- Noserub is a decentralised social networking platform and software, there is an install going at http://identoo.com if you want to try it out. It has a pretty cool lifestream feature, and makes it very easy to hook your profile up to your blogs, scrobbling, microblogs, photo stream, etc. There seem to be quite a few installs running at various places already, worth checking out.
- Daisychain is a distributed, free and open source social networking project by the people who made http://libre.fm, but is so far just in a planning phase.
- http://identi.ca/group/facebookfree has a lot of discussions around this…
Did Last.fm/CBS sell your scrobbles to the RIAA?
- http://libre.fm Libre.fm runs the software GNUkebox which lets you scrobble your music using a Last.fm-compatible API. The Nixtape web front end currently lets you listen to free music, played using the free OGG Vorbis format.
Are your Tr.im URLs gone forever?
EDIT: No they’re not! Tr.im is opening up their code and becoming community owned. Fabulous. If you still want alternatives, check out:
- http://lilurl.sourceforge.net/ lilURL is currently running at http://ur1.ca if you want to try it, or you could install your own, although it doesn’t have many fancy features. Simple URL shortener.
- http://www.tighturl.com/ TightURL (also http://2tu.us) is another simple Free and Open Source URL shortener, which seems to be the choice of Laconica now.
-
http://www.youbundle.com/b/start-your-own-url-shortening-service has
some more alternatives.
1Walled Gardens: Like “The Truman Show”, only everyone’s a Truman.
Søndagsdilling
8 mars, 2009
Søndag. Eg har hatt ein verkeleg nerdete søndag. La meg sjå…
- Eg lappa saman eit lite Ubiquity-skript (kode her, eller abonner her) for å hente originalstorleiken av eit flickr-bilete (sidan vennensin driv og hentar ned ørten teksturar til dagen), og i prosessen lærte eg meg å nytte jQuery.ajax med callbacks. Minte meg litt om Scheme-kurset eg tok for nokre år sidan.
- Når me er inne på Scheme, så oppdaga eg at Gimp ikkje ser ut til å ha noko menyval for å lage eit utval som dekkjer same område som eit lag. Vips, så var det gjort.
- Også har eg omsett meir på Audacity (bokmål) og NoseRub (nynorsk).
Men no er det på tide å lese litt. Siste Granny-boka.
Grunnen til at såkalla «løgndetektorar» enno er i bruk.
27 februar, 2009
For to-tre hundre år sidan var det alment kjent at ein kunne sjå om nokon var kriminelle ved å undersøkje beinstrukturen til hovuda deira. Eg er ganske sikker på at dei fleste ikkje lenger trur på dette (eg vonar iallfall at dei som har makt til å dømme folk ikkje lenger trur på dette). Likevel, det er noko forførande med tanken på å kunne «oppdage» kriminelle med objektive og eintydige måleinstrument. Kanskje er dette grunnen til at folk enno trur at polygrafen kan avdekkje løgner.
For ikkje lenge sidan skreiv forskarane Eriksson og Lacerda artikkelen «Charlatanry in forensic speech science: A problem to be taken seriously» kor dei undersøkte to typar stemmebaserte «stressdetektorar» utvikla av Nemesysco, meint for å gi svar på om den mistenkte lyg eller ikkje. Resultatet:
these machines perform at chance level when tested for reliability. Given such results and the absence of scientific support for the underlying principles it is justified to view the use of these machines as charlatanry and we argue that there are serious ethical and security reasons to demand that responsible authorities and institutions should not get involved in such practices.
Merk: chance level. Altså, du kunne like godt kasta for kron eller mynt. Eller fikla rundt på hovudbunnen til din mistenkte.
Men dette er eigentleg greitt nok, me reknar med at vitskapen skal kunne gi svar på om slike ting eigentleg fungerer som me trur dei gjør.
Problemet kom når Nemesysco trua forskarane med søksmål: «the researchers may be sued for libel if they continue to write on this subject in the future», og forlaget blei tvunget til å fjerne artikkelen frå publikasjonen og nettsidene. Kvalmande, rett og slett.
Men, om me ser på den lyse sida synest det som at Streisand-verknaden speler inn, og at alt oppstyret rundt skremselstaktikkane til Nemesysco gjer at fleire faktisk blir opplyst om det faktum at «løgndetektoren» ikkje finst.
For interesserte, her er Eriksson & Lacerda-artikkelen på scribd, du finn au ein torrent med pdf-en.
Nokre skuggar
3 februar, 2009
Eg har våre oppteke i det siste med å flikke på den nye[1] bloggen til vennen sin, nemleg http://skuggar.blogg.no/. På nynorsk, og greier. Anbefales[2].
<nerding>
Eg har i prossessen oppdaga at Opera Dragonfly er eit heilt fantastisk lite verktøy for webutvikling; det er så lett å berre opne DOM-treet og t.d. legge til ein pixel i CSS-en her eller fjerne ei node der, eller debugge JS om du skulle ha bruk for det.
Før i tida (dvs. rundt år Web 1.0) kunne ein oftast sjå korleis ei anna sida var laga med «Vis kjeldekode». Med dei nye, samansette webteknologiane blei det vanskelegare å lese kjeldekoden til ei side som nokon andre hadde laga, sjølvsagt au pga. tjenersideskripting, men au sidan skriptinga fjerna nodar og la til i hytt og pine. Vel, «if you use DOM Scripting to alter the DOM [...] Opera Dragonfly allows you to inspect the updated DOM and all its properties.» Tracing for nettsider, rett og slett. Dette ser veldig lovande ut, og enno er det berre i ein alfaversjon.
</nerding>
Jeg fant en gammel nyhet om en gal sjonglør som herjet Bergen for noen
år siden. Han blir beskrevet som en ganske gjennomsnittlig sjonglør
(bor alene i et telt, tror at maskerte menn kontrollerer kroppsdelene hans
osv.), men altså, å stå utenfor en urmaker og sjonglere – man har da
tettere befolkede steder hvor man kan tjene penger / angripe
mennesker (via news://rec.juggling).
Ellers har jeg funnet en sjongleringstrening, på Vitalitetssenteret på
onsdager (kart), det er jo alltid greit å kunne lære av andre
sjonglører. Bare synd at innetreningen ikke kom et halvt år tidligere,
da vi hadde, hva, 90 regndager på rad?
Den obligatoriske nerdedelen:
Vel, sjonglering er kanskje nerdete nok (Google gir 710′000 treff hvis
du søker på juggling LISP, og over en million på juggling programming osv.), men sjonglering foregår iallfall som oftest i
friluft, involverer menneskelig kontakt (som ved passing) og mer
fysisk aktivitet enn tifingermaratonet.
Som om jeg ikke var nerd nok fra før av har jeg begynt å skrive
LiveJournal-postene mine i emacs – “the thermonuclear word processor”
– det føles liksom mer hjemmekjært å skrive ting i et
program som du kan omprogrammere (i LISP!) når enn du har behov for
det… Jeg bruker en genial utvidelse som heter org-mode til å skrive
enkle dokumenter som skal publiseres i HTML (org-mode takler også
LaTeX-eksport! i tillegg til å ha fine todo-lister med avanserte
tags/emneord og en kalender – men jeg bruker fortsatt 30boxes.com som
kalender da). Selv om jeg bruker org-mode både hjemme og på skolen er
det en enkel sak å holde dokumenter synkronisert vha. en slik
.emacs-funksjon:
(defun org-backup-to-uib () "Backup org-files to uib" (interactive) (shell-command "scp -r ~/org brukernavn@login.uib.no:~/org"))
som selvsagt kan få sin egen hurtigtast (også har man en funksjon som
tar det andre veien for å hente ting hjem).
Vel, nå har jeg brukt alt for lang tid på å skrive om tull, og
stakkars T er forkjølet og ser ut som hun trenger påpassing…
snooguhns
29 november, 2004
Ah, endelig funker internett-oppkoblingen hjemme. Og det første jeg gjør er selvsagt å legge ut epost-adressen min til ulvene.
«By clicking on this link, you will permanently delete the address pair, k@blah.net and k@blahblah.net, from Return Path. You will not be able to re-register this email address pair to the Return Path system at any time.»
«Permanently delete» og «not be able to re-register»?? Litt av en selvmotsigelse, de må jo holde på adressene – altså ikke slette – for å vite at en ikke kan omregistrere dem. Lurifaksene.


