Interaktiv ordlista

Den svenska ordlista som används här skapades av Tom Westerberg. Den innehåller ett stort antal ord på grundform. Arbete pågår för att utöka ordlistan med mer detaljerad information, såsom exempelvis ordklass och böjning. Detta arbete utförs kollektivt av ordlistans användare. Närhelst något stycke information saknas i ordlistan, påtalas detta av sökprogrammet (se nedan), och användaren erbjuds en möjlighet att fylla i den saknade informationen. (För att kunna göra icke-trivala ändringar måste man skapa sig ett användarnamn och logga in.) All ny information som läggs in blir omedelbart tillgänglig för alla användare. På detta sätt kommer ordlistan undan för undan att förbättras och bli mer komplett. Ordlistan är öppen för alla att hämta information från, och alla är också varmt välkomna att lägga in saknad information och rätta eventuella fel i den.

Varför?

Ordlistan är till för att användas för datoriserat skrivstöd som rättstavning, grammatikkontroll och avstavning. Den används exempelvis av ordbehandlingsprogrammet OpenOffice.org och webbläsaren Firefox samt ett stort antal mobilappar.

Hur kan jag hjälpa till?

Om du upptäcker att ett program som använder någon version av ordlistan saknar något giltigt ord, så kan du lägga till det i ordlistan. För att ordet faktiskt ska komma med i nästa uppdatering måste man lägga in ordets grundform, ordklass och böjningsformer. Om man upptäcker ett ogiltigt ord, kan man söka upp det i ordlistan och ta bort den felaktiga böjningsformen. (Det är fullt möjligt att felet inte finns i DSSO. Detta kan bero på att det redan är rättat, eller att programmet som felet upptäcktes i använder en bearbetad version av ordlistan.)

Att förbättra ordlistan är enkelt. Mejla undertecknad och berätta hur du vill förbättra ordlistan och varför. Då får du ett användarnamn så att du kan logga in och genomföra ändringarna.

eXtensible Dictionary

Programmet som används för att lagra ordlistan kallas för "eXtensible Dictionary" (XD). Det är konstruerat för att möjliggöra samtidiga uppdateringar från olika källor med automatisk detektering av konflikter. Huvudfinessen med programmet är att ordlistan kan utökas med en liten detalj i taget. Ordlistan kan successivt utökas med mer information om orden - ordklass, böjning, definitioner, avstavning, klassificeringar, översättning till diverse språk etcetera - utan att man behöver lägga in all information på en gång. När det fattas information i ordlistan "vet" programmet detta och frågar efter kompletteringar. För att ge några exempel, om man söker efter ett visst ord som inte finns i databasen, så frågar programmet ifall man är säker på att det är ett korrekt stavat ord och ber användaren att i så fall klicka på en knapp för att infoga ordet i databasen. Om man sökt ett ord vars ordklass är okänd, visas en meny för användaren där ordklassen kan anges. Om ordklassen är känd men inte böjningsformerna, så ges en meny där böjningsformerna kan matas in.

Programmet är skrivet i Perl och kan hämtas här.

Hur informationen struktureras

Ordform

Med en ordform menar vi en följd av tecken som representerar ett giltigt ord i det språk som databasen är avsedd att täcka. Exempel på ordformer: "hästens", "lekte" och "vacker".

Huvudord

Med ett huvudord menar vi följd av tecken som representerar ett giltigt ord på grundform i det språk som databasen är avsedd att täcka. Exempel på huvudord: "häst", "leka" och "vacker".

Syntaktisk enhet

Den syntaktiska enheten är det centrala i XD:s datastruktur. En syntaktisk enhet är tänkt att representera ett "ord" tillsammans med alla dess syntaktiska (till skillnad från semantiska) egenskaper. Till en syntaktisk enhet hör bl.a. ett eller flera huvudord; en ordklass; noll eller flera böjningsformer i varje böjningsklass som förekommer i den ordklassen; avstavning; angivande av huruvida det är ett sammansatt ord och i så fall av vilka ord (dvs vilka syntaktiska enheter) det är sammansatt. T.ex. kan en syntaktisk enhet ha huvudordet "film", böjningsformerna film - films - filmen - filmens - filmer - filmers - filmerna - filmernas. En annan syntaktisk enhet har huvudorden "bror" och "broder", böjningsformer brors/broders - brodern - broderns osv. Huvudordet "bildrulle" förekommer i två olika syntaktiska enheter - "bil-drulle" respektive "bild-rulle".

Listord

Ett listord är en "koppling" mellan en viss syntaktisk enhet och ett huvudord. Kopplingen betyder att huvudordet är en grundform av det ord som den syntaktiska enheten representerar. Ett och samma huvudord kan vara kopplat till flera olika syntaktiska enheter; dessa kopplingar numreras 0,1,2 osv. Ett listord kan alltså betraktas som ett huvudord och ett heltal, vilka tillsammans refererar en unik syntaktisk enhet. Exempelvis förekommer huvudordet "sticka" i tre olika syntaktiska enheter - ett substantiv och två olika verb. Dessa förekomnster numreras och blir listorden
sticka(0) - refererar till den syntaktiska enhet som representerar substantivet sticka, stickan, stickor,...
sticka(1) - verbet sticka, stack, stuckit,...
sticka(2) - verbet sticka, stickade, stickat,...
Observera att numreringen är av tillfällig karaktär och kan ändras mellan olika utgåvor av ordlistan; numreringen är alltså bara giltig inom en viss utgåva. Icke desto mindre kommer vi att tala om "den syntaktiska enheten sticka (1)", där vi alltså identifierar ett listord med den unika syntaktiska enhet den refererar till. Faktum är att listorden rätt och slätt är till för att identifiera syntaktiska enheter, som ju är tämligen abstrakta företeelser.

Böjningsform

En böjningsform är en "koppling" mellan en viss syntaktisk enhet och en ordform. Exempelvis råder en sådan koppling mellan den syntaktiska enheten sticka (1) och ordformen "stuckit". Till varje böjningsform kan man ange information såsom exempelvis dess avstavning.

Semantisk enhet

Det viktigaste begreppet, efter "syntaktisk enhet", är den semantiska enheten. En semantisk enhet representerar en viss "betydelse" av en syntaktisk enhet. Varje syntaktisk enhet kan ha flera olika betydelser. Omvänt kan en viss semantisk enhet vara en betydelse av flera olika syntaktiska enheter (som då är synonymer). Varje semantisk enhet har exakt en definition som förklarar dess innebörd. Till en semantisk enhet kan man ange översättningar till andra språk, diverse klassificeringar (exempelvis får att ange i vilken mån ordet är ålderdomligt eller vardagligt), godtyckligt många språkprov (dvs exempel på meningar där den specifika betydelsen av ordet ifråga förekommer) osv.

Ordlistor för andra språk

Programmet XD är inte knutet till något visst språk, utan kan hantera även andra språk än svenska. För att stödja ett nytt språk måste man skapa en "grammatik" för detta språk. Det lämpliga är att börja med att lista vilka ordklasser man vill ha med, och för varje ordklass ange vilka böjningsklasser som tillåts. "Ordklasserna" får, om man så vill, bilda en hierarki (ett "träd"). T.ex. kan ordklassträdet se ut så här för svenska:
lexikonord
-->substantiv
-->verb
-->adjektiv
-->pronomen
-->interjektion
-->preposition
-->adverb
-->räkneord
-->konjunktion
-->subjunktion
-->particip
-->-->presens particip
-->-->perfekt particip
-->infinitivmärke
egennamn


Klasserna "lexikonord" och "particip" är abstrakta och saknar böjningsklasser. Böjningsklasserna för substantiv är:
obestämd form singularis
obestämd form singularis, genitiv
bestämd form singularis
bestämd form singularis, genitiv
obestämd form pluralis
obestämd form pluralis, genitiv
bestämd form pluralis
bestämd form pluralis, genitiv

Böjningsklasserna för verb är:
infinitiv
preteritum
supinum
presens
imperativ
infinitiv, passiv form
preteritum, passiv form
supinum, passiv form
presens, passiv form

Böjningsklasserna för adjektiv är:
positiv utrum
positiv neutrum
bestämd form
pluralis
komparativ
superlativ
superlativ, bestämd form
maskulin

Böjningsklasserna för perfekt particip är utrum, neutrum och plural. Övriga klasser har exakt en böjningsklass var (dvs de representerar de oböjliga ordklasserna).


Göran Andersson <goran@init.se>