Konverter OpenOffice-dokument til LyX / LaTeX utan å mista Zotero-referansar

Det finst allereie eit program som konverterer OpenOffice-dokument til LaTeX, Writer2LaTeX, dette kan ein igjen opne i LaTeX-redigeringsprogrammet LyX. Men viss du har Zotero-referansar i dette OpenOffice-dokumentet, vil dei bli konvertert til «rein tekst» slik at litteraturlista til slutt ikkje viser kva du har sitert i teksta.

Difor endra eg litt på Writer2LaTeX slik at Zotero-referansar blir gjort om til skikkelege BibTeX-siteringskommandoar, av typen \cite{nøkkel} kor nøkkel viser til eit verk i BibTeX-databasen din.

Men så må me jo au ha ein BibTeX-database som inneheld det nøklane refererer til. Zotero kan allereie eksportere til BibTeX, med nøklar som ser ut som forfattar_tittel_år (t.d. kierkegaard_sygdommen_2007). Dette ville vore heilt tilstrekkeleg i andre samanhengar, men siteringane i OpenOffice-dokumentet har dessverre ikkje nok informasjon i seg til å finna desse nøklane; det dei har i staden er ein ganske uleseleg Zotero-intern identifikator, t.d. ITMKBABS.

Difor endra eg litt på LyZ – Firefox-utvidinga som integrerer Zotero med LyX – slik at me kan få ut ei BibTeX-fil kor nøklane er i dette uleselege Zotero-format. Heldigvis viser LyX meir eller mindre korleis siteringane kjem til å sjå ut i den endelege PDF-en så det gjer ikkje så mykje at nøklane er så rare. (I tillegg trur eg LyZ kan konvertera alle nøklane i eit LyX dokument i ettertid, til noko meir leseleg, men det har eg ikkje prøvd.)

Viss du vil prøva dette kan du lasta ned1:

Du kan køyra writer2latex.jar slik:

$ java -jar writer2latex -latex -config=zotero.xml Dokument.odt Dokument.tex

Så kan du importera Dokument.tex som LaTeX frå LyX-filmenyen (evt. køyre kommandoen tex2lyx Dokument.tex).

Opna lyz.xpi i Firefox, dette installerer den endra LyZ-utvidinga. Så må du omstarta Firefox, og under LyZ-innstillingane skriv du writer2latex for «Cite Key» («LyXPipe» skal vera det same som i LyX-innstillingane). For å leggja alle Zotero-referansane inn i éi BibTeX-fil kan du merkja alt i Zotero, og så velje «Cite in LyX» frå LyZ-menyen. Denne siteringa kan du så sletta frå LyX, men du må gjera det minst ein gong for at alt skal komme inn i bib-fila. Om det er første gong du køyrer LyZ får du spørsmål om kva for bib-fil du vil nytta, denne må du sjølvsagt leggja til i LyX (Set inn->Ulike lister->BibTeX-litteratur).

Om du skal konvertera fleire dokument, og alle nyttar same bibliografi (bib-fil), kan du jo laga eit skript som du kan opna odt-filer med for å laga ei LyX-fil automatisk, med bibliografien lagt til.

Og heilt til slutt, BibTeX-eksporten frå Zotero/LyZ taklar ikkje bokstaven «ø» enno… på denne sida finn du ei fil som gir litt betre BibTeX-eksport.


Viss nokon er interessert i kjeldekoden til dette, så ligg alt på

Fotnoter:

1 Den siste er ei konfigurasjonsfil til Writer2LaTeX. Siteringskommandoane til denne utgåva av Writer2LaTeX krev nemleg LaTeX-pakka natbib (sidan eg ikkje veit korleis ein får alle siteringstypane utan dette), i tillegg har eg lagt dei opphavlege reintekst-siteringane i kommentarar for at ein lett skal kunne kontrollera at alt gjekk greit for seg, som krev pakka verbatim. Konfigurasjonsfila sørgjer for at desse pakkene blir lasta. (Det er ganske mykje anna ein kan fikse på i konfigurasjonsfilene til Writer2LaTeX, sjå handboka. Eg nyttar t.d. denne fila for å ignorera harde mellomrom og slikt.)

Motivasjon

apertium-sme-nob, januar 2010:

*– Bare tør mindre #tall fremme meninger #dette av sak , \@dat stund når \@eanas menneske av samfunn og #spesielt \@at , de tar \@vuostá muslimer med #åpen \@giehta . Jeg #bli også \@mo Tromsø av kommune kunne vi ser #dette sak slik med #lett \@miella når de gjør. \@Ii *jáhke dem #sann du forstår \@mii \@olu vanskelig *moskéa og \@eambbo #muslim kan #bringe til Norge , den #avrunde *Røyset. *Røyset den vraker pretensjon at *FMI organisasjon er #rasistisk .

 

apertium-sme-nob, juli 2010:

– Bare mindretallet tør å fremme meninger på denne saken, mens de fleste folk på samfunnet og spesielt kristne, de tar mot muslimene med åpne hender. Jeg forundres også hvordan på Tromsøs kommune kan de se denne saken slik med et lett sinn da du gjorde. Jeg tror ikke dem sanne å forstå som de mange problemenes *moskéa og de #mer muslimene kan bringe til Norge, han avslutter #Røyset. #Røyset vraker pretensjonen at *FMI organisasjonen er #rasistisk.

 

Originaltekst:

– Dušše unnitlohku duostá ovddidit oaiviliid dán áššis, dan botta go eanas olbmot servvodagas ja erenoamážit risttalaččat, váldet muslimaid vuostá rabas gieđaiguin. Mun imaštalan maiddái mo Romssa gielddas sáhttet geahččat dán ášši nu gehppes mielain go dahket. In jáhke sin duođaid áddet man olu váttisvuođaid moskéa ja eambbo muslimat sáhttet buktit Norgii, loahpaha Røyset. Røyset hilgu čuoččuhusa ahte FMI organisašuvdna lea rasisttalaš.

 

*, # og @ er debug-symbol, og vil seia at ordet manglar frå samisk-, bokmåls- eller omsetjingsordboka, høvesvis.

Samisk på norsk

Eg har ein heilt fantastisk sommarjobb. Eg samarbeider for tida med folk frå Apertium og Sámi Giellatekno (det samiske språkteknologiprosjektet ved UiT) for å få til maskinomsetjing frå nordsamisk til bokmål.

Oppdatering: utviklingsversjonen kan no testast frå sidene til Giellatekno.

Dette er litt meir krevande enn nynorsk-bokmål1… viss me hadde teikna eit kart der språk som likna på kvarandre sto nær kvarandre, kunne me fått noko slikt:

NB: Kartet er ikkje i målestokk. MÅ IKKJE NYTTAST TIL NAVIGERING

Altså er det litt forskjell på språka. No finst det sjølvsagt ein del språklege lån mellom norsk og samisk, men dei har heilt forskjellige språkfamilier og historie. Eit par døme på forskjellar:

  • samiske substantiv har ikkje kjønn, greit nok…
  • samiske pronomen har ikkje kjønn – den er litt verre, skal me omsetja son til «han» eller «ho»?
  • samiske verb bøyer seg etter subjektet, så av og til sløyfar folk pronomenet – då må me setja inn eit nytt pronomen på norsk (med rett kjønn…)
  • dei samiske verba er i det heile teke fulle av hemmelege våpen til å uttrykka ulike tidspunkt, aktørar og haldningar til situasjonen. Verbet veahkehit tyder «å hjelpa», veahkehat blir «du hjelper», veahkeheaččan blir (litt avhengig av kontekst) «du kunne vel hjelpa», medan veahkehežžet blir «du kunne vel ha hjelpt»
  • og så har me alle avleiingane, som gjer verb om til substantiv, substantiv om til adjektiv, eller seier at noko skjedde i hast, eller ofte, eller berre ein gong, eller at nokon fekk nokon til å gjere noko, eller at nokon berre byrja å gjere noko… Me har mange av desse mekanismane på norsk au, t.d. kan me gjera «skikk» til eit adjektiv ved å leggje til «-eleg», men å driva og laga nye ord slik er alt for risikabelt til at me kan gjera det til ein generell regel (*«kjærleikeleg»?).

For å ha det sagt: eg kan ikkje samisk. Det har tydelegvis skjedd ein glipp i utdanninga mi. Men eg har god hjelp frå dei fantastiske tri binda med LÆREBOK I LAPPISK (SAMISK) frå 19262 (og ein litt nyare grammatikk), i tillegg til at språkteknologane ved UiT allereie har gjort størsteparten av det arbeidet som krev skikkeleg samiskkunnskap. Min jobb er hovudsakleg å laga reglar som gjer ferdig analysert samisk tekst om til forståeleg bokmål.

Omsetjing mellom så ulike språk gir svært mange utfordringar. Me har i første omgang berre satsa på samisk til bokmål, og ventar med andre retninga. Me vil at maskinomsetjinga skal vere nyttig og formålstenleg, og då er det best å byrja med samisk til bokmål. Dei to vanlegaste formåla med automatisk omsetjing er:

  1. assimilering: maskinomsetjinga skal vera god nok til at ein kan forstå omsetjinga sjølv om ein ikkje forstår originalspråket
  2. disseminering: maskinomsetjing skal vera god nok til at ein omsetjar (som altså forstår begge språk) heller vil rette på maskinomsetjinga enn å skriva omsetjinga frå botnen av

Når folk nyttar maskinomsetjing frå eit majoritetsspråk til eit minoritetsspråk innanfor eit samfunn (t.d. bokmål til samisk, bokmål til nynorsk), er det sjeldan sånn at dei som har minoritetsspråket som morsmål ikkje forstår majoritetsspråket og lurer på kva det står i originalteksta; maskinomsetjing frå bokmål til samisk blir først nyttig når omsetjinga er god nok til at ho med minimalt etterarbeid blir klar for utgjeving. Andre vegen, derimot, er det nyttig med ei omsetjing som berre gir eit oversyn over innhaldet i originalteksta, utan å vera så bra at ein profesjonell omsetjar ville nytta ho som grunnlag. Så målet for no er at viss du t.d. søkjer etter namnet ditt og finn ein blogg på samisk som snakkar om deg3, så skal du kunne køyra dette innlegget gjennom Apertium og finne ut om det dei sa om deg var bra eller dårleg😉

Men sjølv om me tillèt dårleg flyt i bokmålen, må me sjølvsagt ha noko å omsetja alle dei ulike verbformene og avleiingane til, og me må unngå å mista eller forvrenga viktig informasjon. Det er mange utfordringar i dette språkparet, men heldigvis har sjølve Apertium-plattforma fått ein del nye verktøy å takla utfordringane med. Men det får eg spara til eit seinare innlegg.

Fotnotar:

1 Ja, samisk til nynorsk hadde vore endå litt kulare, men me må jo spara noko til seinare🙂

2 Vel, i nytt, men uendra, opplag frå 1977. I forordet står det at namnet på boka blei fastslått i 1922, «da trykningen begynte», og lappisk enno var det mest kjende namnet (det tok fire år å få trykka boka… ting tok tid før).

3 For skuld argumentet kan me lata som om det skortar på litt grunnleggande danning og du ikkje kan lese samisk.

Ope brev til Tekna

Nyleg uttalte leiinga i fagforeninga Tekna at dei støtta innføring av datalagringsdirektivet i Noreg [PDF]. Eg kan ikkje hugsa å ha blitt spurt om mi meining i denne saka, og har heller ikkje høyrt at andre Tekna-medlem har fått høve til å uttala seg.

Datalagringsdirektivet inneber etter mi meining eit alvorleg overtramp av personvernet. Meir spesifikt kan det leia til svekking av kjelde-/varslarvernet (sjå m.a. Jon Wessel-Aas om dette) i tillegg til at innsamla data alltid kan misbrukast ulovleg; ingen system er perfekte. Sjølv medlemsbladet til Tekna kallar direktivet «farleg og ubrukeleg».

Eg kan ikkje vera medlem av ei fagforening som tek vedtak om ei såpass viktig sak utan ein meir demokratisk prosess. Om ikkje støtta blir trekt tilbake innan høringsfristen 12/4 2010 ser eg meg nøydt til å melda meg ut.

mvh,
Kevin Brubeck Unhammer

masterstudent i datalingvistikk og språkteknologi
Universitetet i Bergen

Mål forskinga di i brukarar og nedlastingar

I dei siste ti-tjue åra har det vore veldig populært med datadrivne statistiske metodar i maskinomsetjing, og Google spesielt har ytra ei sterk tru på at meir data alltid vil trumfe over betre kunnskap. Men i eit foredrag frå i fjor sommar kunne det sjå ut til at Franz Och, leiaren for maskinomsetjingsprosjektet til Google, vurderer å sprøyta inn litt kunnskap i omsetjinga.

Når det er snakk om korleis maskinomsetjinga kan bli betre, viser han eit døme på ein tysk langdistanseavhengnad, der hovudverbet er på slutten av setninga, og nemner at dei har byrja å sjå på korleis dei kan nytte grammatikkar for å flytta verbet fram og gjere setninga «meir engelsk» før omsetjinga:

Ideally we would want to learn that from data […] and in some sense it’s in the data and a computer should be able to do that too, but in the meantime we are looking into ways to just explicitly put that knowledge into the system. So far the automatic grammar induction work has been, eh, not…very…well working or so…

Eg har sjølv prøvd meg på induksjon av dependensgrammatikkar, og resultatet var ikkje akkurat oppløftande; men det kjem vel betre metodar med åra.

Men dette med langdistanseavhengnader er noko som lenge har vore eit kjent problem for reint datadrivne metodar, og ein kan få ganske god statistisk maskinomsetjing (SMT) trass slike problem; men eg blei meir overraska over det følgjande utsagnet:

rule-based system with proprietary access

There’s a lot of interest [in SMT], and one reason is that it’s relatively simple for a small team to build a decent MT system by taking off-the-shelf resources, and there’s open-source software, parallell corpora and standard evaluation sets. […] This was not possible ten years ago with the rule-based systems, it was a complicated system with proprietary access [for] some companies and it was very hard to do the relevant research.

Det hjalp sjølvsagt at det på nittitalet blei mogleg å handtera store mengder data komputasjonelt; men likevel er det tankevekkande at tilgang til fri programvare og open data blir nemnt som ein hovudgrunn til at det skjer så mykje forsking på SMT. Ted Pedersen skriv at du burde «Measure Your Career in Downloads and Users». Det statistiske maskinomsetjingsverktøyet giza-pp1 har i følgje heimesida blitt lasta ned 9379 gonger, ikkje inkludert andre nettsider og utgåver. Med tanke på kor komplekst2 dette verktøyet er, vil eg tru at ein stor del av desse brukarane er doktorgradsstudentar…

Situasjonen til regelbasert maskinomsetjing er heldigvis i ferd med å betra seg her; dei siste åra har det komme fleire regelbaserte system med open data og open kjeldekode (FOSMT.org har ei god oversikt), der ein del system direkte erstattar kjende proprietære system som Xerox-verktøya, medan andre, som Apertium og Matxin, er uavhengige innovasjonar. Kanskje kjem dette til å gi den historiske pendelen eit lite dytt mot meir kunnskapsbaserte metodar igjen…

Fotnoter:

1 Som faktisk er basert på eit verktøy av Franz Och igjen.

2 Det var altså ein eufemisme.

Photoshopping i Gimp (ei omtale)

Eg kom just over ein svært detaljert og lærerik gjennomgang av Gimp 2.6.4 i Ars Technica; det som er litt kult med denne er at forfattaren, Dave Girard, har jobba mange år i design- og trykkebransjen. Artikkelen er frå januar 2009, Gimp 2.8 kjem jo snart ut (med nytt brukargrensesnitt, laggrupper, mm.) så det er kanskje noko der som er utdatert, men det er interessant å sjå samanlikninga mellom Gimp og Photoshop. Det er sjølvsagt ikkje ei helt rettferdig samanlikning sidan Gimp ikkje er meint å vera ein Photoshop-klone, men på visse punkt (t.d. spesifikke funksjonar, filter og tillegg) går det an å stilla det eine opp mot det andre.

På den positive sida skryt Ars Technica veldig av støyfjerningstillegget GREYCstoration (no innlemma i tilleggspakken GMIC), som er på linje med Noise Ninja; «and hopefully Adobe will take notice that a free program destroys their rather useless Reduce Noise plug-in». Bokeh-uskjerping i Gimp krev at ein lastar ned Focus Blur, men Uskarp-maske er «a capable, professional-quality tool». Fjerning av raude auge, kurver/fargenivå, kanalmiksing og selektivt gaussisk blur fekk bra kritikk, det same gjeld verktøy for 3D-teksturar.

Det er sjølvsagt ein del negative punkt au. Endringar i pikselbaserte penslar blir ikkje lagra (så ein må gjere same endring ved kvar oppstart…). Fargeprofilar er som i Photoshop og fungerer bra, men det er ingen automatisk konvertering når du limer inn frå eit bilete med ein annan fargeprofil, så du må sjølv konvertere kjeldebiletet først (dette er noko det frie teikneprogrammet Krita har hatt ein stund). Biletkart for nettsider er au ganske tungvint i Gimp. Hårmasking – dvs. å lage eit utval som inneheld berre håret til ein person – krev mykje meir arbeid enn å køyre pluginen Fluid Mask i Photoshop, men sidan Gimp kan køyra Photoshop-plugins burde vel det gå an der au? I tillegg er brukargrensesnittet til Gimp svært dårleg ikkje 100% integrert i Mac OS X (men sjå Gimp on OS X) i forhold til på GNU/Linux-system (til gjengjeld er ikkje Photoshop heilt knirkefritt på GNU/Linux…).

Derimot var forfattaren svært imponert over rasterisering av vektorgrafikk frå t.d. Illustrator og InDesign i Gimp. Han nemner au UFRaw, eit «mørkeromsprogram» for å endra på fotografi i råformat som er integrert med Gimp.

Eit par punkt har blitt retta på etter at artikkelen blei skriven. T.d. kjem penslar til å få ein god del nye funksjonar i 2.8; i tillegg kan ein no laga HDR-bilete i Gimp med Qtpfsgui (om ein overlever namnet på programmet =P), og der ein før var nøydt til å køyra Krita eller CinePaint (ein fjern slektning av Gimp) er Gimp no på god veg til å fullt ut takle 16- og 32-bitsbilete, HDR og CMYK.

http://bloggurat.net/minblogg/registrere/83e65dc2ef535820d49271e5877d45afc45f1956