Ordbanken – norsk bøying på ein lett måte
1. mai 2009 (oppdatert 7. juni 2009)
Kva er fleirtal av ordet «forum» på nynorsk? Kva heiter «å late» i presens, preteritum og imperativ? Heiter det offisielt «ei appelsin», «ein appelsin» eller «eit appelsin»? Når du er ferdig med å lesa nokre bøker, er bøkene då «leste», eller er dei «lesne»? Tilsvarande, når du ein varm sommarkveld sit og nyt ei korg ferske jordbær, kva vil du seia jordbæra er etterpå? «Nytne»? «Nautne»? «Nøtne»? «Nytte»?
Bøying på norsk er ikkje alltid like lett. Heldigvis har me Bokmålsordboka og Nynorskordboka på nett, men oppføringane der er ikkje alltid fullstendige nok til å vera til hjelp for oss ikkje-filologar. Dette er for eksempel det ordbøkene seier om «å lese» og «å nyte»:
- lese [kløyvd inf -a] les [leser], las, lese el. -i
- nyte nyt [nyter], naut, note el. -i
Her finn me verken «leste» eller «lesne», sidan ordboksoppføringane ikkje viser fullstendig bøying. Men eitt av alternativa er rett, og me kan finna fram til dette om me veit å lesa oppføringane og kjenner grundig til reglane for samsvarsbøying på norsk. Språkrådet har ei enkel men ufullstendig innføring i full samsvarsbøying, og i bladet Statsspråk nr. 4/97, finn me ei meir omfattande oversikt (med overskrifter som «Berre for spesialistar» og «Berre for professorar»).
Men det er tungt å læra og å hugsa alle desse reglane – finst det ikkje ei lettare løysing? Jo, no finst det endelig det! Eg lanserer Linux-programmet Ordbanken. Med dette er fullstendige bøyingar av alle orda på bokmål og nynorsk berre nokre tastetrykk unna. Syntaksen er veldig enkel:
ordbanken [VAL] grunnord [KRITERIUM1] [KRITERIUM2] …
Eksempel: ordbanken appelsin
| appelsin | appelsin | subst | mask | appell | eint | ub |
| appelsin | appelsinen | subst | mask | appell | eint | bu |
| appelsin | appelsinar | subst | mask | appell | fl | ub |
| appelsin | appelsinane | subst | mask | appell | fl | bu |
Her viser koden «mask» at ordet berre kan vera «hankjønn» på nynorsk, sjølv om mange dialektar har det som hokjønn eller inkjekjønn. (Det finst for øvrig ord som kan vera både han-, ho- og inkjekjønn på nynorsk, som for eksempel «greip».)
Koden «subst» viser at det er snakk om eit substantiv, mens «eint» og «fl» og «bu» og «ub» indikerer høvesvis eintal, fleirtal, bunden og ubunden form. Det finst òg mange andre kodar. Her er eit eksempel for ordet «hoppe»:
| hoppe | [hoppa] | subst | fem | appell | eint | ub | klammeform |
| hoppe | [hoppor] | subst | fem | appell | fl | ub | klammeform |
| hoppe | [hoppone] | subst | fem | appell | fl | bu | klammeform |
| hoppe | hoppa | adj | <perf-part> | bu | eint | ||
| hoppe | hoppa | adj | <perf-part> | fl | |||
| hoppe | hoppa | adj | <perf-part> | m/f | ub | eint | |
| hoppe | hoppa | adj | <perf-part> | nøyt | ub | eint | |
| hoppe | hoppande | adj | <pres-part> | ||||
| hoppe | hoppe | subst | fem | appell | eint | ub | |
| hoppe | hoppa | subst | fem | appell | eint | bu | |
| hoppe | hopper | subst | fem | appell | fl | ub | |
| hoppe | hoppene | subst | fem | appell | fl | bu | |
| hoppe | hopp | verb | imp | ||||
| hoppe | hoppe | verb | imp | ||||
| hoppe | hoppa | verb | imp | ||||
| hoppe | hoppe | verb | inf | ||||
| hoppe | hoppa | verb | inf | ||||
| hoppe | hoppast | verb | inf | pres | st-form | ||
| hoppe | hoppa | verb | perf-part | ||||
| hoppe | hoppar | verb | pres | ||||
| hoppe | hoppa | verb | pret |
Det kan altså vera snakk om både eit verb eller eit substantiv. Me kan òg filtrera etter dei ulike kodane, so viss me berre var interesserte i substantivet, kunne me skriva:
ordbanken hoppe subst.
Her er nokre andre brukseksempel. Merk at oppslagsordet må vera fullstendig, mens det held å bruka starten av eventuelle kodar.
Bøying av ordet «å lese»:
ordbanken lese
Berre perfektum partisipp-former:
ordbanken lese perf
Ordet «hoppe», men berre som substantiv:
ordbanken hoppe subst
Bøying av «å finnes» på bokmål:
ordbanken --sprak=nb finnes
Fleirtal av substantivet «hoppe» på bokmål:
ordbanken -snb hoppe su fl
Ordet «annan», med fargekoding (som er standard):
ordbanken --fargekod annan
Same, men no utan fargekoding, og utan klammeformer:
ordbanken --ikkje-fargekod --ikkje-klammer annan
Same som over, berre mindre å skriva:
ordbanken -FK annan
Lagra resultatet som HTML i fila «annan.html»:
ordbanken --html annan > annan.html
Programmet har fleire nyttige funksjonar. Me kan for eksempel få ut ordbokoppslaget i HTML-format. Her er oversikta over dei ulike funksjonane, som me får ut viss me skriv ordbanken:
Bruk: ordbanken [VAL] grunnord [KRITERIUM1] [KRITERIUM2] ... Slår opp ordet «grunnord» i fullformsordlista til Norsk ordbank, med eventuell filtrering etter eitt eller fleire kriterium. Verdiar for VAL: -s, --sprak=SPRÅKKODE Vel ordliste, der SPRÅKKODE er nn for nynorsk (standard) eller nb for bokmål. -e, --eksempel Vis eksempel på bruk, samt nokre tips. -f, --fargekod Fargekod resultatet (standard). -F, --ikkje-fargekod Ikkje fargekod resultatet. -k, --klammer Vis òg klammeformer (standard). -K, --ikkje-klammer Vis ikkje klammeformer. -p, --parentes Vis klammeparentesar rundt klammeformer (standard). -P, --ikkje-parentes Ikkje vis klammeparentesar rundt klammeformer. --tekst Vis resultatet som rein tekst (standard). --html Vis resultatet som HTML. -h, --hjelp Vis denne hjelpeteksten. -v, --versjon Vis programversjon og lisensinformasjon. Meld frå om feil til Karl Ove Hufthammer <karl@huftis.org>.
Programmet støttar òg autofullføring via bash completion. Viss du har installert og slått på bash completion, kan du bruka tabulator- tasten slik:
$ ordbanken [tab]
ordbanken –sprak
(Det «obligatoriske» valet «–sprak» vart automatisk lagt til.)
$ ordbanken --sprak [tab]
nb nn
ordbanken –sprak n
(Liste med vala «nb» og «nn» vart vist,
og bokstaven «n» vart lagd til, sidan begge alternativa startar med denne bokstaven.)
$ ordbanken -[tab]
-e --ikkje-fargekod --parentes --eksempel --ikkje-klammer -s -F --ikkje-parentes -snb -f -K -snn --fargekod -k --sprak -h --klammer --tekst --hjelp -P -v --html -p --versjon
(Liste over alle mulige argument vart vist.)
$ ordbanken --sprak nn ym[tab]
ym ymislig ymse ymsing ymis ymisskap ymsefinna ymt ymiskvar ymist ymsen ymte ymisleg ymje ymsesidig ymting
(Liste over alle nynorskord som startar med «ym» vart vist.)
$ ordbanken --sprak nn hoppe [tab]
adj fem klammeform pres ub appell fl m/f pret verb bu imp nøyt st-form eint inf perf-part subst
(Liste over alle filtreringskriteria me kan bruka for nynorskordet «hoppe».)
Orddatabasen som vert brukt er Norsk ordbank, som vert utvikla og vedlikehalden av Universitet i Oslo. Bokmålsordboka og Nynorskordboka på nett brukar for øvrig den same databasen.
Programmet er heilt gratis og fri programvare, og er tilgjengelig under den same lisensen som Norsk ordbank, GNU GPL versjon 3 eller seinare. Du kan lasta det ned frå den offisielle prosjektsida. Der kan du òg melda deg på e-postlista vår om du er spesielt interessert i prosjektet.
Til slutt, her er svara på spørsmåla i innleiingsteksten:
- Ordet «forum» heiter «forum» eller «fora» i ubunden form fleirtal, og «foruma», «fora» eller «foraa» i bunden form fleirtal.
- «Å late» vert «lèt», «lét» og «lat» i høvesvis presens, preteritum og imperativ.
- Bøkene er «lesne».
- Jordbæra er «notne» (alle svaralternativa var altso feil!).
Emne: Programvare, Språk
Kommentarar
-
-
Forresten, på Mac fungerer ikkje cp -t eller extended regexp i sed. Eg nyttar SuperSed (
sudo port install ssedom ein har MacPorts) i staden for sed, då må install-delen i Makefile sjå slik ut:install: @echo @echo "Installerer Ordbanken til mappa «$(PREFIX)»." @echo @mkdir -p $(PREFIX)/bin @cp -vf skript/ordbanken $(PREFIX)/bin @sed -i '' -e s%$(BUILT_IN_PREFIX)%$(PREFIX)% $(PREFIX)/bin/ordbanken @sed -i '' -e s%sed%ssed% $(PREFIX)/bin/ordbanken @chmod 755 $(PREFIX)/bin/ordbanken @mkdir -p $(DATA_PREFIX) @cp -v *.txt $(DATA_PREFIX) @mkdir -vp /etc/bash_completion.d @cp -vf skript/bash_completion_ordbanken /etc/bash_completion.d/ordbanken @sed -i '' -e s%sed%ssed% /etc/bash_completion.d/ordbanken @sed -i '' -e s%$(BUILT_IN_PREFIX)%$(PREFIX)% /etc/bash_completion.d/ordbanken @chmod 755 /etc/bash_completion.d/ordbanken @echo
(evt. kunne Makefile sjekka for sed-versjon og nytta ssed om det var tilgjengeleg. Det er vel ikkje verdt det å omskrive alle sed-uttrykk til vanleg regexp …)
-
Ja, eg har brukt GNU-utvidingane til
cpogsed. Eg har no endracp -tog ein del anna for å gjera Makefile-fila POSIX-kompatibel (denne versjonen ligg i SVN), men er usikker på nokre av endringane du foreslår. Korfor treng du''og-eised-kommandoane? Det skal ikkje vera nødvendig ifølgje POSIX.I prinsippet skal uansett no både Makefile-fila og ordbanken-skriptet vera POSIX-kompatible, men sistnemnte brukar GNU-utvidingane til sed. På sikt skal eg kanskje sjå om eg kan klara å unngå dette òg.
-
UNIX har
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if extension supplied)
medan Mac (BSD?) har:
-i extension
Edit files in-place, saving backups with the specified extension.
dvs. dei krev eit argument til -i. Det er heilt sikkert ikkje POSIX (den innebygde sed-en til Mac er ganske irriterande). -
OK. Eg har uansett fjerna
-ifrå koden, so iallfall Makefile-fila skal fungera på både POSIX-system og på Mac.Planane vidare er for øvrig å gjera nokre større endringar i filformatet for å gjera oppslag og autofullføring raskare.
-
[…] framtida reknar eg med eg heller vil skriva om ting eg har tatt ein del i sjølv. Eksempel er ordbankprogrammet, og kanskje ymse anna dataprogram eg har omsett til nynorsk. Og viss eg lar meg begeistra av eitt […]
-
[…] har no lagt ut versjon 2009-06-07 av ordbanken, eit program for kjapt og enkelt oppslag i fullformsordlistene til Norsk ordbank. Her er dei […]
-
[…] For nynorsk-amatørar som meg, må ein slå opp ord i ordlboka ein gong iblant. Eg hev tidligare nytta “Søk i elektroniske ordbøker” via sprakrad.no, men det var fram til unhammer tipsa meg om Ordbanken (blogginnlegg). […]
-
[...] har no lagt ut versjon 2009-07-05 av ordbanken, eit program for kjapt og enkelt oppslag i fullformsordlistene til Norsk ordbank. Denne gongen er [...]
-
Dette ser veldig bra ut! Hva med ordbankensøk online? Hadde vært gull for oss som ikke har lov til å installere ting på jobb-PCen
-
Etter endringa i fullform_nn.dat får eg ikkje noko treff med look på Mac OS X. Om eg køyrer
look hei ordbanken-for-to-versjonar-sidan/fullform_nn.dat
får eg masse treff, men ingenting med dei to nyaste versjonane. Eg reknar med det har å gjere med dei sorteringstala som no står først i fullform_nn.dat… skal dei vere der? T.d.
36118 heimeyrke heimeyrke subst nøyt appell fl ub klammeform 811 3
Eg kan skrive “look 36118 …” og få opp treffet. Veit du kva som er gale?
-
Forresten, trengst eigentleg «-W posix»? Eg måtte fjerne det på Mac (alternativt nytte gawk).
-
[...] veka, skreiv eg om den framifrå ordlista Ordbanken, som gjev oss båe nynorsk og bokmål ordliste direkte i terminalen. Det er veldig kjekt, men kva [...]
-
Slenger meg på oppfordringen om en nettjeneste, som jeg kunne brukt sammen med følgende:
Firefox-tips: Med nøkkelord for søkemotorer kan man sette opp «søkekommandoer» i adressefeltet til Firefox (pilen i søkefeltet, «Behandle søkemotorer», «Rediger nøkkelord»; Add to Search Bar for å legge til egne søk). Dersom jeg vil slå opp ordet «hjelpe» i Bokmålsordboka, trykker jeg
Alt + D(for å skifte til adressefeltet) og skrivero hjelpeog bam!, definisjonen kommer opp. (Flere eksempler:
dslår opp på Dictionary.com,ipå IMDb ogwpå Wikipedia.)Prøv selv – det sparer enormt med tid.
I hvert fall, dersom Ordbanken fantes som nettjeneste, kunne jeg omdirigert
o <ord>til denne og sluppet å forholde meg til kryptiske grammatikkoder. (En annen mulighet ville være å skrive en liten Firefox-utvidelse som dro nytte av--html-valget.) -
[...] har no lagt ut versjon 2010-05-11 av ordbanken, eit program for kjapt og enkelt oppslag i fullformsordlistene til Norsk ordbank. Det er ikkje so [...]
-
Ordbanken finst no i ei fin AUR-pakke for Arch Linux-brukarar:
http://aur.archlinux.org/packages.php?ID=40462Eg måtte ikkje gjere noko spesielt for å få laga pakka, utanom desse linjene:
sed -i 's%PREFIX=${DESTDIR}/usr/local%PREFIX=${DESTDIR}/usr%' Makefile
sed -i 's%mappe="/usr/local/share/ordbanken"%mappe="$(dirname $0)/../share/ordbanken"%' skript/ordbanken
sidan AUR-pakker først blir installert som vanleg brukar til ei midlertidig mappe, og så installert under /usr (ikkje /usr/local, sidan local berre skal ha ting ein installerer utan å gå vegen gjennom byggesystemet til distribusjonen)