Begreppsverktyg för M&S-portalen - Institutionen för datavetenskap ...
Begreppsverktyg för M&S-portalen - Institutionen för datavetenskap ...
Begreppsverktyg för M&S-portalen - Institutionen för datavetenskap ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Begreppsverktyg</strong>et <strong>för</strong><br />
M&S-<strong>portalen</strong><br />
Jon Larsson<br />
11 juni 2007<br />
Examensarbete i <strong>datavetenskap</strong>, 20 poäng<br />
Handledare på CS-UmU: Jan-Erik Moström<br />
Examinator: Per Lindström<br />
Umeå Universitet<br />
<strong>Institutionen</strong> <strong>för</strong> <strong>datavetenskap</strong><br />
SE-901 87 UMEÅ<br />
SWEDEN
Sammanfattning<br />
För att lösa kommunikationsproblem på grund av att termer tolkas olika har en webbapplikation<br />
skapats. Applikationen, kallad <strong>Begreppsverktyg</strong>et, kan hantera terminologier där<br />
termer inom ett fackområde kopplas till definitioner av begrepp. Inom en terminologi kan<br />
flera termer kopplas till ny definition av ett begrepp, eller en existerande. Termer kan ges<br />
prioritetsordning <strong>för</strong> användning med en skala från rekommenderad till <strong>för</strong>bjuden. Webbapplikationen<br />
kartlägger när en term med en viss användning börjar användas, och när<br />
denna användning slutar att gälla. Begrepp kan definieras genom textuella beskrivningar<br />
och genom relationer till andra begrepp. Definitioner av begrepp kan hittas genom att<br />
söka efter termer och egenskaperna <strong>för</strong> hur termer används i terminologier. Syftet med<br />
denna funktionalitet är att tillåta folk att använda termer som de är vana vid, och ge<br />
andra möjligheten att <strong>för</strong>stå vad man menar med dem. Resource Description Framework<br />
(RDF) och en speciell vokabulär används <strong>för</strong> lagring av data.<br />
Abstract<br />
In an effort to solve problems with natural language communication due to different<br />
interpretations of terms, a prototype of a web based application was developed. The<br />
application called <strong>Begreppsverktyg</strong>et is capable of handling terminologies where usage<br />
of terms in a special area of interest is mapped against definitions of concepts. In a<br />
terminology several terms can be mapped to a new definition of a concept, or an existing<br />
one. Terms can be prioritized in a range representing recommended for use to forbidden<br />
for use. The application keeps track of when a certain term with a certain priority<br />
starts being used in a terminology, and when this usage becomes deprecated. Concepts<br />
can be described using textual descriptions and relations to other concepts. Definitions<br />
of concepts can then be found by searching for terms and properties of their usage in<br />
terminologies. The purpose of this functionality is to allow people to use terms as they<br />
are used to, and giving others the possibility to understand their intended meaning.<br />
Triplets in Resource Description Framework (RDF) are used for storage of the data<br />
organized by a custom vocabulary.
Innehåll<br />
1 Introduktion 1<br />
1.1 Försvarets materielverk . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />
1.2 SMART-lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />
1.3 Begrepp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />
1.4 Homonymer och synonymer . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />
1.5 Terminologi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />
2 Problembeskrivning 5<br />
2.1 Syfte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />
2.2 Målsättning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />
2.3 Relaterat arbete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />
3 Den semantiska webben och begrepp 7<br />
3.1 Inledning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />
3.2 Språk <strong>för</strong> den semantiska webben . . . . . . . . . . . . . . . . . . . . . . 9<br />
3.3 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />
4 Genom<strong>för</strong>ande 17<br />
4.1 Behovsanalys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />
4.2 Informationsmodell <strong>för</strong> begrepp . . . . . . . . . . . . . . . . . . . . . . . 19<br />
4.3 Datamodellen <strong>för</strong> begreppsverktyget . . . . . . . . . . . . . . . . . . . . 20<br />
4.4 Webbapplikationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />
5 Resultat 29<br />
5.1 Sökning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />
5.2 Terminologier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />
5.3 Nyheter och kommentarer . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />
5.4 Visa begrepp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />
6 Slutsatser 37<br />
6.1 Begränsningar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />
6.2 Fortsatt arbete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />
iii
iv INNEHÅLL<br />
7 Erkännanden 39<br />
Referenser 41<br />
A Frågor <strong>för</strong> användarundersökning 43
Figurer<br />
1.1 Ogdens och Richards triangel . . . . . . . . . . . . . . . . . . . . . . . . 2<br />
1.2 Begreppstetraeder, Ogdens och Richards triangel utökad med en begreppsbeskrivning<br />
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />
3.1 Exempel på ett semantiskt nät . . . . . . . . . . . . . . . . . . . . . . . 9<br />
3.2 Exempel på en RDF-graf . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />
3.3 Exempel på användning av blanka noder . . . . . . . . . . . . . . . . . 10<br />
3.4 Klasser och instanser i RDF Schema . . . . . . . . . . . . . . . . . . . . 12<br />
3.5 Klasser och instanser i OWL . . . . . . . . . . . . . . . . . . . . . . . . 14<br />
3.6 Exempel på möjligheter med vokabulären SKOS . . . . . . . . . . . . . 15<br />
4.1 Informationsmodell <strong>för</strong> begrepp på FMV . . . . . . . . . . . . . . . . . 19<br />
4.2 Vokabulär <strong>för</strong> informationsmodellen i RDF . . . . . . . . . . . . . . . . 22<br />
4.3 Uppdelning av programmet i lager . . . . . . . . . . . . . . . . . . . . . 24<br />
4.4 Abstrakt struktur <strong>för</strong> användning av begreppsverktyget . . . . . . . . . 25<br />
4.5 Klassdiagram <strong>för</strong> lagret logik <strong>för</strong> gränssnitt . . . . . . . . . . . . . . . . 26<br />
5.1 Enkel sökning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />
5.2 Utökad sökning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />
5.3 Listning av terminologier . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />
5.4 Skapa ny terminologi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />
5.5 Termanvändning <strong>för</strong> terminologi . . . . . . . . . . . . . . . . . . . . . . 32<br />
5.6 Termanvändning <strong>för</strong> terminologi . . . . . . . . . . . . . . . . . . . . . . 33<br />
5.7 Redigera termanvändning . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />
5.8 Nyheter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />
5.9 Kommentarssystemet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />
5.10 Information om ett begrepp . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />
v
vi FIGURER
Kapitel 1<br />
Introduktion<br />
Detta examensarbete har syftet att skapa en prototyp <strong>för</strong> en webbapplikation <strong>för</strong> begreppshantering,<br />
ett begreppsverktyg. Tanken med webbapplikationen är att utöka funktionaliteten<br />
hos en normal ordlista.<br />
Detta kapitel, introduktion, presenterar kort <strong>för</strong>svarets materielverk och SMART-lab.<br />
Därefter presenteras grundläggande kommunikationsteori relevant <strong>för</strong> examensarbetet,<br />
samt några problem som termanvändning i naturligt språk ger upphov till.<br />
I kapitel 2, problembeskrivning, beskrivs de grundläggande problemen som finns<br />
med begreppshantering och målet <strong>för</strong> examensarbetet. I detta kapitel ges även syfte och<br />
målsättning <strong>för</strong> webbapplikationen en ut<strong>för</strong>ligare beskrivning.<br />
Kapitel 3, den semantiska webben och begrepp, är en <strong>för</strong>djupning i hur teknik <strong>för</strong><br />
den semantiska webben kan användas <strong>för</strong> att modellera och hantera begrepp.<br />
I kapitel 4, genom<strong>för</strong>ande, demonstreras hur jag har gått till väga <strong>för</strong> att nå målen<br />
med webbapplikationen. Följande kapitel, resultat, visar upp begreppsverktyget och<br />
vilken funktionalitet det har.<br />
I kapitel 6, slutsatser, diskuteras lösningens <strong>för</strong>tjänster, begränsningar och omedelbara<br />
<strong>för</strong>bättringar som bör, eller kan göras.<br />
1.1 Försvarets materielverk<br />
Försvarets materielverk är en central <strong>för</strong>valtningsmyndighet med uppgift att anskaffa,<br />
vidmakthålla och avveckla materiel och <strong>för</strong>nödenheter på uppdrag av Försvarsmakten,<br />
samt att inom detta område stödja Försvarsmaktens verksamhet. Myndigheten biträder<br />
Försvarsmakten i fråga om långsiktig materiel<strong>för</strong>sörjningsplanering samt materielsystemkunskap.[2]<br />
Försvarets materielverk och är en civil myndighet och <strong>för</strong>kortas ofta<br />
FMV.<br />
1.2 SMART-lab<br />
SMART-lab[8] är en avdelning på FMV:s huvudkontor i Stockholm som primärt erbjuder<br />
tjänster inom verksamhetsanalys. På SMART-lab finns även lokaler <strong>för</strong> ledningsövningar<br />
och tekniska demonstrationer. Ett av SMART-lab:s uppdrag är att skapa en webbaserad<br />
portal[7] <strong>för</strong> samverkan inom området modellering och simulering (M&S) inom Försvarsmakten.<br />
Portalen ska ge ett dagligt stöd <strong>för</strong> dess användare och inte bara agera som en<br />
1
2 Kapitel 1. Introduktion<br />
samling med information.<br />
1.3 Begrepp<br />
Ett begrepp kan ses som den mentala bild som en person har skapat genom tolkning<br />
av en <strong>för</strong>eteelse. För att kommunicera ett begrepp används benämningar, t.ex. ord,<br />
där mottagaren <strong>för</strong>hoppningsvis uppfattar de begrepp som avsändaren avsåg. Eftersom<br />
vi inte klarar av tankeöver<strong>för</strong>ing kan vi dock aldrig sägas kommunicera exakt samma<br />
begrepp, vi får acceptera skillnader upp till en viss nivå.<br />
Inom semiotiken finns en modell (figur 1.1) presenterad av Ogden och Richards<br />
(1923) som stämmer in på denna syn på begrepp. Modellen kan visualiseras som en<br />
triangel där begrepp motsvaras av referens, <strong>för</strong>eteelse av referent och benämning av<br />
symbol. Triangelns kanter symboliserar två kausala relationer mellan referens och symbol<br />
respektive referens och referent samt en tillskriven relation mellan symbol och referent.<br />
Figur 1.1: Ogdens och Richards triangel<br />
För att länka en benämning till rätt begrepp kan en begreppsbeskrivning användas.<br />
Om Ogden och Richards triangel utökas med begreppsbeskrivning får den formen av<br />
en tetraeder (figur 1.2). Beskrivningen, benämningen och <strong>för</strong>eteelsen får kausala (mer<br />
direkta) relationer till begrepp, och får tillskrivna (indirekta) relationer inbördes.<br />
Figur 1.2: Begreppstetraeder, Ogdens och Richards triangel utökad med en begreppsbeskrivning<br />
Begrepp, benämning och <strong>för</strong>eteelse i figur 1.2 har några ofta använda synonymer i<br />
sammanhanget, dessa redovisas nedan. Fram<strong>för</strong> allt används ofta term i denna rapport<br />
i stället <strong>för</strong> benämning.
1.4. Homonymer och synonymer 3<br />
benämning symbol, term<br />
begrepp referens<br />
<strong>för</strong>eteelse referent<br />
1.4 Homonymer och synonymer<br />
Benämningar som kan betyda flera saker, det vill säga att de länkar till mer än ett<br />
begrepp, kallas homonymer. Exempelvis kan träd benämna både växten träd som man<br />
sågar plankor från, och de träd som används inom matematiken och består av mängder<br />
av noder och kanter. Sådana tvetydigheter kan ofta redas ut med hjälp av sammanhanget<br />
i vilket benämningen används, men det finns mindre självklara fall än det givna exemplet.<br />
Om flera benämningar länkar till samma begrepp är de synonymer.<br />
1.5 Terminologi<br />
I denna rapport används ordet terminologi <strong>för</strong> en samling termer (benämningar) och<br />
information om deras användning inom ett fackområde.
4 Kapitel 1. Introduktion
Kapitel 2<br />
Problembeskrivning<br />
Kostnaden <strong>för</strong> dåligt definierade termer kan inte enkelt skattas, men en fingervisning<br />
ges av Björn Nilsson som har över två decenniers erfarenhet inom området. Han ställde<br />
en fråga under en lunch med ett antal andra personer som också hade god inblick i<br />
problemen med dåligt definierade termer:<br />
Den fråga jag ställde kring bordet var kostnaden <strong>för</strong> <strong>för</strong>svarsmakten att nyttja två<br />
termer, där de underliggande begreppen inte var väl definierade. Tidsperioden avsåg de<br />
senaste fem åren <strong>för</strong> <strong>för</strong>måga och tio år <strong>för</strong> funktion. De svar jag fick hade viss varians,<br />
men vi enades omkring 200 MSEK i kostnad <strong>för</strong> ett icke väldefinierat <strong>för</strong>mågebegrepp.<br />
Det stämmer rätt väl med min egen skattning sedan tidigare. Kostnaden <strong>för</strong> att ha c:a<br />
tretton olika definitioner eller begrepp <strong>för</strong> termen funktion, skattades till över det dubbla,<br />
dvs. minst 400MSEK.<br />
De skattade kostnaderna inbegriper <strong>för</strong>lorad arbetstid i olika analyser och utvecklingskostnader,<br />
men inte indirekta kostnader.<br />
Försvarsmakten är FMV:s överlägset största kund, vilket gör att sådana problem<br />
även får genomslag på FMV. Exemplet ger också ett mått på värdet i att använda väl<br />
definierade termer.<br />
En annan sida av kommunikationsproblemet vid användning av termer är <strong>för</strong>ekomsten<br />
av synonymer och homonymer. Även om en term har fått en beskrivning som klart<br />
definierar ett begrepp, kan samma term användas <strong>för</strong> andra begrepp — homonym —<br />
eller så kan andra personer <strong>för</strong>edra att använda andra termer <strong>för</strong> begreppet - synonymer.<br />
Ofta blir problematiken med synonymer och homonymer tydlig när personer från<br />
olika organisationer eller delar av organisationer ska kommunicera. Inom FMV finns<br />
en uppdelning i olika verksamhetsområden och projekt. Sådana uppdelningar kan vara<br />
orsak till att skilda kulturer <strong>för</strong> användning av termer växer fram internt. FMV måste<br />
också kunna kommunicera med bland annat <strong>för</strong>svarsmakten och <strong>för</strong>svarsindustri vilket<br />
ger ännu fler källor till homonymer och synonymer.<br />
2.1 Syfte<br />
Behovet av ett system <strong>för</strong> hantering av begrepp inom FMV är tydligt, och ett sådant<br />
system kan främjas av ett IT-stöd som <strong>för</strong>enklar hanteringen.<br />
För SMART-lab:s del är behovet av ett IT-stöd <strong>för</strong> begreppshantering mer specifikt;<br />
i M&S-<strong>portalen</strong> ska finnas ett stöd, ett begreppsverktyg, <strong>för</strong> <strong>för</strong>ståelse och korrekt<br />
användning av benämningar.<br />
5
6 Kapitel 2. Problembeskrivning<br />
Detta examensarbete har syftet att ta fram en prototyp <strong>för</strong> ett begreppsverktyg <strong>för</strong><br />
M&S-<strong>portalen</strong>. Prototypen ska också kunna användas <strong>för</strong> utvärdering i FMV:s uppdrag<br />
<strong>för</strong> begreppshantering.<br />
I examensarbetet ingår också att delta i arbetet med att undersöka vilka krav på och<br />
behov av det finns <strong>för</strong> ett IT-stöd <strong>för</strong> begreppshantering.<br />
2.2 Målsättning<br />
<strong>Begreppsverktyg</strong>et ska kunna presentera definierade begrepp, samt vilka termer som<br />
används <strong>för</strong> dessa. För att lösa delproblemet med homonymer och synonymer är information<br />
om termanvändning <strong>för</strong> begrepp centralt. <strong>Begreppsverktyg</strong>et ska kunna svara på<br />
frågor som t.ex.:<br />
Anfallsvinkel används i ett dokument skapat inom projektet nytt flygplan 2007-03-15,<br />
vad menade man när man skrev det?<br />
<strong>Begreppsverktyg</strong>et ska alltså vara en kartläggning av hur termer används <strong>för</strong> att<br />
benämna begrepp över fackområden och tid.<br />
Datamängden <strong>för</strong> begreppsverktyget ska inte vara statisk eller centralt administrerad,<br />
normala användare ska kunna lägga in nya begrepp och termanvändningar. På grund av<br />
detta är inte ett fullskaligt begreppsmodelleringsverktyg en målsättning.<br />
Det ska vara möjligt att ta del av datamängden från andra program än genom<br />
begreppsverktyget, t.ex. <strong>för</strong> integrering i Microsoft Office och övriga delar på M&S<strong>portalen</strong>.<br />
2.3 Relaterat arbete<br />
Uppdraget begreppshantering är ett projekt som ut<strong>för</strong>s på FMV. Det har målet att<br />
undersöka hur begreppshantering ska ske inom FMV. Uppdraget arbetar bland annat<br />
med <strong>för</strong>slag på organisation, processer och informationsmodell <strong>för</strong> begreppshantering.<br />
Resultat från detta arbete är värdefullt som utgångspunkt vid utformningen av begreppsverktyget.
Kapitel 3<br />
Den semantiska webben och<br />
begrepp<br />
3.1 Inledning<br />
Det är svårt att finna en kort och bra definition på begreppet den semantiska webben.<br />
Den nuvarande webben är i mångt och mycket ett nät av dokument som spänns upp<br />
av länkar dokumenten i mellan. Uttrycket den semantiska webben användes av Tim<br />
Berner-Lee, direktör <strong>för</strong> W3C[14], <strong>för</strong> en vision där den nuvarande webben av dokument<br />
utökas till att vara ett nät av data uppspänt av relationer mellan data, en webb av data.<br />
I denna del av rapporten presenteras visionen den semantiska webben och några språk<br />
som har syftet att realisera den. Här beskrivs också viss teori <strong>för</strong> kunskapsrepresentation,<br />
och metoder <strong>för</strong> begreppsmodellering. Syftet är att undersöka vilka möjligheter den<br />
semantiska webben ger <strong>för</strong> begreppsmodellering och begreppshantering.<br />
3.1.1 Den semantiska webben<br />
En typisk hyperlänk på dagens webb ligger i ett HTML-dokument och pekar på ett<br />
annat. Ett HTML-dokument har syftet att definiera en <strong>för</strong> människor läsbar webbsida,<br />
medan det <strong>för</strong> ett program inte är mycket mer än mängd godtycklig text med viss struktur.<br />
Strukturen innebär att programmet får information om hur texten ska presenteras,<br />
t.ex. vad som är en rubrik, vad som är ett textstycke och vad som är en hyperlänk och<br />
vad den ska peka på.<br />
Vad som inte är uppenbart <strong>för</strong> ett program är vilken typ av information texten innehåller<br />
eller var<strong>för</strong> dokumentet innehåller en viss hyperlänk. Som exempel kan man<br />
tänka sig recensioner av restauranger. En sådan recension kan tänkas bestå av en recensionstext,<br />
ett betyg på skalan 1 till 5, och en referens till restaurangens hemsida. Denna<br />
information kan lätt publiceras på webben i ett HTML-dokument, och en läsare kan ta<br />
del av recensionstexten och betyget samt följa en hyperlänk från detta dokument till<br />
restaurangens hemsida.<br />
Ett program kan inte direkt se vad som är ett betyg, vad som är en recensionstext<br />
och vad som är en referens till en restaurang. I visionen <strong>för</strong> den semantiska webben är<br />
sådan data direkt tillgänglig <strong>för</strong> ett program och dess betydelse är specificerad.<br />
När data och dess betydelse är tillgängligt <strong>för</strong> datorprogram och inte bara människor<br />
finns möjlighet att ut<strong>för</strong>a uppgifter mer automatiserat. I det tidigare exemplet med<br />
7
8 Kapitel 3. Den semantiska webben och begrepp<br />
recensioner blir det möjligt att kombinera recensioner på restauranger med adresser <strong>för</strong><br />
restauranger, <strong>för</strong> att t.ex. hitta restauranger i en viss stad som har fått ett snittbetyg<br />
över 4.<br />
För att det ska gå att kombinera information på detta sätt måste ett program veta att<br />
både en adress och en recension faktiskt gäller <strong>för</strong> samma restaurang. Detta görs genom<br />
att använda en URI som en globalt unik identifierare. URL-adressen <strong>för</strong> en restaurangs<br />
hemsida kan vara ett lämpligt val.<br />
På detta sätt blir den semantiska webben som en enda kollektiv relationsdatabas<br />
med URI-identifierare som nycklar.<br />
3.1.2 Kunskapsrepresentation<br />
Att ordna objekt i kategorier är en vital del av kunskapsrepresentation [6]. En kategori är<br />
en samling objekt eller medlemmar, som har vissa egenskaper gemensamt. Kategorier kan<br />
ordnas hierarkiskt i en taxonomi, där underkategorier ärver de <strong>för</strong> objekten utmärkande<br />
egenskaperna från respektive överkategori. Detta är ett kraftfullt sätt att <strong>för</strong>enkla och<br />
organisera en kunskapsbas.<br />
Förutom arv kan man vilja beskriva andra <strong>för</strong>hållanden kategorier emellan. Sådana<br />
<strong>för</strong>hållanden kan vara att två kategorier inte delar några medlemmar (disjunkta) eller<br />
att alla medlemmar <strong>för</strong> en kategori också finns i unionen av ett antal underkategorier<br />
(uttömmande komposition). Om underkategorierna i en uttömmande komposition också<br />
är disjunkta kallas det <strong>för</strong> en partition.<br />
När det gäller egenskaper <strong>för</strong> objekt kan man t.ex. prata om mått av olika slag som<br />
längd och vikt. En annan egenskap kan vara fysisk sammansättning, att ett objekt är<br />
en del av ett annat.<br />
Inom kunskapsrepresentation används ofta termen ontologi. Det finns olika definitioner<br />
<strong>för</strong> ontologi men i denna rapport används termen med följande definition:<br />
En ontologi definierar de vanliga ord och begrepp som används <strong>för</strong> att beskriva och<br />
representera ett kunskapsområde[1]<br />
Ett semantiskt nät kan representera kategorier, objekt och relationer mellan dessa.<br />
En typisk grafisk representation visar objekt och kategorier som ovaler eller rutor och<br />
relationer som märkta pilar[6].<br />
Figur 3.1 visar ett exempel på ett semantiskt nät. Detta semantiska nät innehåller<br />
kategorierna Hund, Katt och Fyrfotadjur, samt objekten Misse och Fido. Relationerna<br />
är delmängd av som anger att en kategori är en delmängd av en annan, medlem i som<br />
visar att ett objekt tillhör en kategori, samt ben som anger hur många ben som något<br />
har.<br />
Med tesaur menas i denna rapport en typ av ordlista där termer ges en definition<br />
och relaterade termer samt termer med bredare och smalare betydelse anges. Termer<br />
kan alltså ges en svagare typ av semantiska kopplingar mellan varandra. I en tesaur kan<br />
även synonyma termer listas, där en term är den som rekommenderas <strong>för</strong> användning.<br />
3.1.3 Begreppsmodellering<br />
Rapporten Metoder och principer i terminologiarbetet[4] beskriver ett sätt att strukturera<br />
upp arbetet vid begreppsmodellering. Arbetet baseras på att identifiera kännetecken<br />
<strong>för</strong> <strong>för</strong>eteelser som kan användas <strong>för</strong> att beskriva ett begrepp. Mycket av den tidigare<br />
beskrivna teorin <strong>för</strong> kunskapsrepresentation kan kännas igen i de beskrivna metoderna.<br />
Ett begrepp kan svara mot både en enstaka <strong>för</strong>eteelse och en kategori av <strong>för</strong>eteelser.
3.2. Språk <strong>för</strong> den semantiska webben 9<br />
Figur 3.1: Exempel på ett semantiskt nät<br />
Ett kännetecken <strong>för</strong> ett begrepp är oundvikligen ett annat begrepp — vi skulle omöjligen<br />
kunna uppfatta det annars — alltså kan vi beskriva ett begrepp genom hur det<br />
relaterar till andra begrepp.<br />
Rapporten Metoder och principer i terminologiarbetet[4] tar upp tre relationer mellan<br />
begrepp: associativ, generisk och partitiv. En generisk relation motsvarar arv mellan<br />
kategorier, t.ex. en hund är ett djur. En partitiv relation motsvarar fysisk sammansättning,<br />
t.ex. en bil består av 4 hjul och en motor.<br />
Begrepp som är associativt relaterade till varandra hör samman av ett eller annat<br />
semantiskt skäl. Dessa samband kan t.ex. vara orsak — verkan, ex. temperaturstegring<br />
— utvidgning eller verktyg — funktion, ex. hammare — spika.<br />
Att modellera samtliga kännetecken enligt modellen med begreppsrelationer är inte<br />
rimligt, eftersom man i sådana fall måste modellera hela världen. Antalet kännetecken<br />
måste begränsas och vid någon gräns måste man falla tillbaks till att ange kännetecken<br />
med benämningar <strong>för</strong> begrepp.<br />
3.2 Språk <strong>för</strong> den semantiska webben<br />
W3C, World Wide Web Consortium, som utvecklar standarder <strong>för</strong> webben, upprätthåller<br />
ett antal standarder som är intressanta <strong>för</strong> den semantiska webben. En färdig standard<br />
kallas <strong>för</strong> en W3C-rekommendation, ett arbetsutkast är grunden <strong>för</strong> en eventuell framtida<br />
rekommendation. I denna del <strong>för</strong>klaras överskådligt några rekommendationer och<br />
arbetsutkast som är intressanta med avseende på begreppshantering från W3C.<br />
3.2.1 RDF - Resource Description Framework<br />
RDF[12] är en W3C-rekommendation.<br />
I sin enklaste form är RDF ett sätt att beskriva egenskaper <strong>för</strong> någon resurs, t.ex.<br />
vem som var fotograf <strong>för</strong> en bild, alltså en form av metadata.<br />
Ett sätt att visualisera RDF-data är genom en riktad graf, med märkta noder och<br />
kanter (exempel, se figur 3.2).<br />
Formellt är en RDF-graf en samling satser med tre komponenter: subjekt, predikat<br />
och objekt.
10 Kapitel 3. Den semantiska webben och begrepp<br />
Figur 3.2: Exempel på en RDF-graf<br />
Ett subjekt är en URI-referens elller en blank nod. I exemplet är http://www.<br />
exempel.se/enBild.jpg en URI-referens som används som subjekt. En blank nod är<br />
användbar när man vill beskriva en egenskap med flera olika värden, i figur 3.3 beskrivs<br />
storleken <strong>för</strong> en bild med en blanknod som i sin tur har egenskaperna bredd och höjd.<br />
Ett predikat är en URI-referens. I exemplet används predikaten http://purl.org/<br />
dc/elements/1.1/type och http://purl.org/dc/elements/1.1/creator. Dessa kommer<br />
från en vanligt <strong>för</strong>ekommande vokabulär <strong>för</strong> att beskriva metadata, Dublin Core,<br />
och refereras med prefixnotation som ger mer läsbara URI-referenser. Notationen innebär<br />
att http://purl.org/dc/elements/1.1/creator kan <strong>för</strong>kortas till dc:creator<br />
eftersom prefixet dc är definierat som http://purl.org/dc/elements/1.1/.<br />
Ett objekt kan vara en URI-referens, en blank nod eller ett värde kallat literal. Ett<br />
sådant värde består av en sträng som kan vara märkt med språkinformation eller en URIreferens<br />
till en datatyp. I exemplet är URI-referensen http://www.exempel.se/pelle<br />
och textsträngen porträtt objekt.<br />
Reification - satser om satser<br />
Figur 3.3: Exempel på användning av blanka noder<br />
RDF definierar ett sätt att använda en hel sats som subjekt eller objekt. Detta kan<br />
vara användbart t.ex. <strong>för</strong> att kommentera givna fakta. Att skapa en sådan sats kallas<br />
reification.<br />
Exempel<br />
Det finns ett antal serialiseringsformat <strong>för</strong> RDF, nedan beskrivs grafen i figur 3.2 i N3<br />
och XML som är två vanliga notationer <strong>för</strong> att lagra en RDF-graf i en textfil.<br />
N3-notation:
3.2. Språk <strong>för</strong> den semantiska webben 11<br />
@prefix dc: .<br />
@prefix ex: .<br />
ex:enBild.jpg dc:type "porträtt" .<br />
ex:enBild dc:creator ex:pelle .<br />
XML-notation:<br />
<br />
<br />
porträtt<br />
<br />
<br />
<br />
3.2.2 RDF’s vocabulary description language: RDF Schema<br />
RDF Schema[11], ofta <strong>för</strong>kortat RDFS, är ett språk <strong>för</strong> att beskriva vokabulärer <strong>för</strong><br />
användning i RDF. Ofta används benämningen RDF Schema tvetydigt, dels <strong>för</strong> själva<br />
språket och dels <strong>för</strong> de vokabulärbeskrivningar det används <strong>för</strong>. I denna rapport benämner<br />
RDF Schema själva språket. En vokabulär i RDF Schema definieras i sig med RDF.<br />
RDF Schema är en W3C-Rekommendation.<br />
I RDF Schema talar man om klasser och instanser. En klass är en mängd med<br />
instanser, detta <strong>för</strong>hållande liknar det mellan kategorier och objekt som är vanligt inom<br />
teori <strong>för</strong> kunskapsrepresentation.<br />
RDF används <strong>för</strong> att ange egenskaper <strong>för</strong> instanser, emellertid är själva egenskaperna<br />
godtyckliga — från en dators perspektiv betyder de ingenting. RDF Schema är ett<br />
verktyg <strong>för</strong> att kunna beskriva egenskaper och de klasser av instanser som egenskaperna<br />
beskriver.<br />
Klasser och instanser<br />
I RDF Schema finns en generös syn på klasser och instanser, en klass kan vara en instans<br />
av sig själv. RDF Schema ger möjlighet att definiera att en klass är en underklass till<br />
en annan. Då gäller att om C är en underklass till C’ så är alla instanser av C också<br />
instanser av C’. Figur 3.4 visar klasserna Hund och Katt som underklasser till Fyrbenta<br />
djur som i sin tur är underklass till Djur.<br />
Egenskaper<br />
Egenskaper kan tilldelas klasser som definitionsmängd och värdemängd. Definitionsmängden<br />
anger de instanser kan ha egenskapen och värdemängden anger de instanser<br />
som kan utgöra värdet på egenskapen. I praktiken innebär detta att en RDF-sats<br />
som anger en egenskap har ett subjekt från definitionsmängden och ett objekt från<br />
värdemängden. Predikatet anger vilken egenskap det är.<br />
Egenskaper kan även vara underegenskaper, om P är en underegenskap till P’ så är<br />
alla resurser som är relaterade av P också relaterade av P’.
12 Kapitel 3. Den semantiska webben och begrepp<br />
Figur 3.4: Klasser och instanser i RDF Schema
3.2. Språk <strong>för</strong> den semantiska webben 13<br />
3.2.3 OWL - Web Ontology Language<br />
OWL [10] är ett språk <strong>för</strong> att skapa ontologier baserat på forskningsområdet description<br />
logic. Det är indelat i tre varianter, OWL Lite, OWL DL och OWL Full. Skillnaden<br />
den emellan är i stort att OWL Lite har färre konstruktioner än OWL DL och OWL<br />
Full, samt att OWL Full tillåter konstruktioner som inte ger garanterat beräkningsbara<br />
slutledningar.<br />
Klasser och instanser<br />
Det går att definiera en klass genom att begränsa dess instanser utifrån instansernas<br />
egenskaper. Det går att begränsa utifrån antal egenskaper av en viss typ, värdet på en<br />
egenskap och att alla eller minst en egenskap ska ha ett värde av en viss typ.<br />
Figur 3.5 visar hur en begränsning kan användas <strong>för</strong> att ange att något är ett fyrbent<br />
djur. Djur är en klass med samtliga djur. Begränsning är en klass med två alternativa<br />
begränsningar <strong>för</strong> egenskaper. Det ena alternativet <strong>för</strong>utsätter att det finns en egenskap<br />
harBen som anger att något har ett visst ben. Begränsningen kan därmed sättas genom<br />
att säga att alla instanser måste ha fyra värden <strong>för</strong> harBen. Det andra alternativet<br />
<strong>för</strong>utsätter att det finns en egenskap antalBen som anger hur många ben något har.<br />
Begränsningen blir då att alla instanser måste ha värdet 4 <strong>för</strong> egenskapen antalBen, och<br />
kan <strong>för</strong>utom olika djur tänkas innehålla sådant som bord och stolar.<br />
På detta vis kan man t.ex. ange att en hund är ett djur och har fyra ben, genom<br />
att låta klassen Hund vara en underklass till denna begränsning, samt en underklass till<br />
klassen Djur.<br />
Klasser kan också definieras med mängdoperationerna snitt, union och komplement.<br />
För att ytterligare beskriva en klass kan man ange att en klass är disjunkt med en annan<br />
d.v.s. att inga instanser ingår i båda klasserna (se Katt och Hund i figur 3.5).<br />
Egenskaper<br />
Egenskaper kan utöver värdemängd och definitionsmängd, som går att bestämma i RDF<br />
Schema, ges egenskaper som ger större möjlighet till slutledningar. Egenskaper kan vara<br />
transitiva, symmetriska, funktioner, inverser av andra egenskaper och inverterade funktioner.<br />
3.2.4 SKOS - Simple Knowledge Organisation Systems<br />
SKOS är en vokabulär <strong>för</strong> att skapa något som närmast kan sägas vara tesaurer. På en<br />
ganska enkel nivå tillåter SKOS begreppsmodellering och hantering av termer.<br />
Den viktigaste klassen i SKOS är Concept, begrepp modellerade i SKOS är alla<br />
instanser av denna klass. SKOS ger möjlighet att modellera begrepp genom att sätta<br />
relationerna bredare, smalare och relaterad. Dessa relationer är ganska lösa, t.ex.<br />
bredare-relationen kan — men behöver inte — betyda att något är en generalisering av<br />
något annat. SKOS är ett W3C arbetsutkast.<br />
Vidare kan man märka upp ett begrepp med en rekommenderad term, och alternativa<br />
termer. Man kan också ge begreppet en formell definition i samma stil som i en vanlig<br />
ordlista.<br />
Figur 3.6 visualiserar en stor del av de möjligheter som SKOS ger. Figuren innehåller<br />
begreppen hund, katt samt fyrfotadjur. Relationerna är märkta enligt prefixnotation <strong>för</strong><br />
RDF, och är <strong>för</strong>klarade i figuren.
14 Kapitel 3. Den semantiska webben och begrepp<br />
Figur 3.5: Klasser och instanser i OWL<br />
SKOS definierar något som kallas ett Concept-scheme, vilket är en samling av begrepp.<br />
För att sätta ett begrepp i en sådan samling ger man begreppet egenskapen<br />
skos:inScheme med samlingen som värde. I en hierarki av begrepp med bredare/smalare<br />
relationer kan man i begreppssamlingen länka in toppnoden <strong>för</strong> att ge datorprogram ett<br />
effektivt sätt att hitta dessa.<br />
I SKOS finns möjligheter att länka mellan dokument och begrepp, t.ex. att ett dokument<br />
har ett begrepp som huvudämne. Vokabulären ger också möjlighet att länka till<br />
ett dokument som ger en beskrivning av själva begreppet.<br />
3.2.5 Slutledning i RDF<br />
Givet en RDF-graf, som använder vokabulärer definierade i OWL eller RDFS, med ett<br />
antal givna satser, kan det finnas satser som är sanna men som inte är direkt uttryckta.<br />
Till exempel om klassen Hund är definierad som en underklass till Djur, och en resurs är<br />
en instans av Hund. Satsen som anger att resursen också är en instans av Djur behöver<br />
inte vara direkt uttryckt utan kan slutledas utifrån den ontologi som definierar de båda<br />
klasserna.<br />
En ontologi beskriven i OWL kan ge fler möjligheter till slutledningar.<br />
3.2.6 Sökning i RDF-grafer — SPARQL och RDQL<br />
W3C har skapat två språk <strong>för</strong> att söka i rdf-grafer, SPARQL[13] och dess <strong>för</strong>egångare<br />
RDQL[9]. Båda dessa språk ger möjlighet att matcha mönster i rdf-grafer, men SPARQL<br />
ger ytterligare möjligheter <strong>för</strong> denna matchning och möjligheter att jäm<strong>för</strong>a diverse
3.2. Språk <strong>för</strong> den semantiska webben 15<br />
Figur 3.6: Exempel på möjligheter med vokabulären SKOS
16 Kapitel 3. Den semantiska webben och begrepp<br />
datatyper. En implementation av SPARQL behöver inte ansvara <strong>för</strong> slutledningar utifrån<br />
ontologier, utan kan <strong>för</strong>lita sig på att det system som tillhandahåller satserna också ut<strong>för</strong><br />
slutledningar i de fall det är önskvärt.<br />
3.3 Diskussion<br />
Eftersom RDFS och OWL ger konstruktioner som verkar passa <strong>för</strong> begreppsmodellering<br />
kan det vara rimligt att använda dessa språk direkt som vokabulär. Alternativet är att<br />
utveckla en ny vokabulär <strong>för</strong> viktiga relationer mellan begrepp.<br />
3.3.1 RDFS och OWL som vokabulär <strong>för</strong> begreppsmodellering<br />
För modellering av vår kategorisering av <strong>för</strong>eteelser kan man se ett användningsområde<br />
<strong>för</strong> klasser och instanser som används i RDFS och OWL. Den generiska begreppsrelationen<br />
skulle kunna beskrivas i RDFS och OWL som en underklassrelation mellan två<br />
klasser.<br />
Om man vill beskriva begrepp som klasser går det inte genom konstruktioner i RDFS<br />
att uttrycka en partitiv begreppsrelation. Om man skapar någon egenskap bestårAv som<br />
anger att något är en del av något annat kan man i OWL använda begränsningar <strong>för</strong><br />
egenskaper <strong>för</strong> att uttrycka en partitiv begreppsrelation.<br />
Assoiciativa begreppsrelationer som gäller <strong>för</strong> klasser bör gå att modellera enligt<br />
samma mönster.<br />
Kännetecken som inte kan anges med begreppsrelationer kan annoteras enligt något<br />
passande mönster i klartext.<br />
Om begrepp modelleras i så stor omfattning som möjligt i OWL ges möjligheter till<br />
maskinell slutledning. Jag tror att den störsa vinsten med detta är att man får ett stöd<br />
under begreppsmodelleringen. Slutledda fakta måste vara rimliga, annars har man gjort<br />
något fel i modelleringen. Användbarheten <strong>för</strong> detta är något som skulle vara intressant<br />
att undersöka.<br />
3.3.2 Speciell vokabulär <strong>för</strong> begreppsmodellering<br />
Ett alternativ som inte ger samma möjligheter till slutledningar är att skapa en vokabulär<br />
där man ser begrepp som instanser i RDF och relationer som egenskaper mellan<br />
dessa instanser. Detta tillvägagångssätt används i SKOS, och det går att ha mindre<br />
fokus på maskinell <strong>för</strong>ståelse och mer på läsbarhet <strong>för</strong> människor.
Kapitel 4<br />
Genom<strong>för</strong>ande<br />
4.1 Behovsanalys<br />
I denna del av rapporten redovisas några viktiga faktorer som inverkat på uformningen av<br />
begreppsverktyget. En sådan faktor är en liten användarundersökning som genom<strong>för</strong>des.<br />
Uppdraget bereppshantering på FMV har också haft stor betydelse tillsammans med<br />
M&S-<strong>portalen</strong> där begreppsverktyget ska finnas.<br />
4.1.1 Användarundersökning<br />
Syftet med användarundersökningen var att skaffa värden att utgå från <strong>för</strong> vad de tänkta<br />
användarna kunde ha <strong>för</strong> problem relaterade till begreppshantering, och hur de ansåg<br />
att detta kunde lösas.<br />
Metod<br />
Användarundersökningen ut<strong>för</strong>des som löst strukturerade intervjuer med <strong>för</strong>beredda<br />
frågor, <strong>för</strong> att få ingående svar angående vad ett begreppsverktyg ska användas till.<br />
Enligt Preece et al[5] är intervjuer ett bra sätt att få deltagare att utveckla sina svar.<br />
Utformningen av frågorna var inte självklar och svår att göra utan att frågorna skulle<br />
bli ledande. Frågorna finns som bilaga till rapporten.<br />
Resultat<br />
Sex personer deltog i intervjuer, vilket får sägas vara i underkant <strong>för</strong> att dra klara<br />
slutsatser. Några grundläggande utgångspunkter kunde ändå identifieras. De som deltog<br />
i intervjuerna var från FMV (anställda eller konsulter), total<strong>för</strong>svarets forskningsinstitut<br />
och <strong>för</strong>svarsmakten.<br />
– Deltagarna använde alla någon sorts intranät eller webbsidor på Internet och epost.<br />
– Man upplevde att skilda uppfattningar av ords betydelse var ett verkligt och betydande<br />
problem.<br />
– Det finns några olika ordlistor och motsvarande <strong>för</strong> en del fackområden, men deltagarna<br />
var missnöjda med kvalitén och tillgängligheten på dessa.<br />
17
18 Kapitel 4. Genom<strong>för</strong>ande<br />
– För att hitta begrepp med <strong>för</strong>klaring ville man <strong>för</strong>st och främst söka genom fritext.<br />
Man ville även kunna hitta relaterade begrepp.<br />
– För ett IT-system <strong>för</strong> hantering av begrepp fanns önskemål om wiki-funktionalitet<br />
— att alla ska kunna delta i och komma med <strong>för</strong>slag i terminologiarbetet. Man<br />
vill även ha hjälp med synonymer och homonymer, samt stöd <strong>för</strong> olika språk —<br />
främst engelska. För att få en överblick över begreppets betydelse <strong>för</strong>eslogs en<br />
grafisk presentation över dess relationer till andra begrepp.<br />
– Ett projekt bör kunna skapa en egen katalog över de begrepp man vill använda. I<br />
denna katalog ska man kunna definiera egna begrepp.<br />
– Man vill ha möjligheten att kommentera begreppsdefinitioner, men ändringar av<br />
dessa bör genom<strong>för</strong>as med någon sorts kvalitetskontroll.<br />
– Begrepssamlingen måste vara aktuell och levande <strong>för</strong> att man ska använda den och<br />
engagera sig i arbetet med att <strong>för</strong>bättra den.<br />
– Man är positivt inställd till att ha en integration av begreppshantering i Officeprogram<br />
och liknande. Denna integration får inte vara påträngande utan måste<br />
vara valbar.<br />
4.1.2 Uppdraget begreppshantering<br />
Uppdraget <strong>för</strong>eslår en uppdelning av FMV i en hierarki av fackområden, där varje fackområde<br />
har och ansvarar <strong>för</strong> en terminologi. För begreppsverktygets del innebär detta<br />
att det ska klara av att hantera flera terminologier, och hierarkisk ordning av terminologier.<br />
En informationsmodell <strong>för</strong> begrepp var under arbetet med begreppsverktyget hela<br />
tiden under utveckling, men dess grundläggande principer har varit utgångspunkten vid<br />
utformningen av informationsmodellen <strong>för</strong> begreppsverktyget.<br />
4.1.3 M&S-<strong>portalen</strong><br />
<strong>Begreppsverktyg</strong>et ska tillhöra och vara integrerat med M&S-<strong>portalen</strong>, och därmed passa<br />
till det syfte <strong>portalen</strong> är gjord <strong>för</strong>. Portalen ska vara en samlingsplats <strong>för</strong> information<br />
och resurser inom området modellering och simulering. <strong>Begreppsverktyg</strong>et ska vara ett<br />
stöd <strong>för</strong> projekt att bygga upp en egen terminologi.<br />
4.1.4 Slutsatser<br />
Utifrån behovsanalysen identifierades några önskvärda funktioner <strong>för</strong> begreppsverktyget:<br />
– Sökning efter begreppsbeskrivningar. Det absolut viktigaste är att det är möjligt<br />
söka efter begreppsbeskrivningar kopplade till en viss term.<br />
– Hantering av terminologier. Det är vettigt att säga att varje projekt kan ha en<br />
egen terminologi. För att ett projekt självständigt ska kunna bygga upp sin egen<br />
terminologi i begreppsverktyget blir hantering av terminologier centralt.<br />
– Nyhteter. Det bör gå att se vilka nya terminologier och begrepp som senast skapats<br />
och de <strong>för</strong>ändringar av terminologier som senast skett.
4.2. Informationsmodell <strong>för</strong> begrepp 19<br />
Figur 4.1: Informationsmodell <strong>för</strong> begrepp på FMV<br />
– Kommentarer. Det ska vara möjligt att kommentera olika detaljer i begreppsdatamängden.<br />
– Möjlighet att länka till begrepp och terminologier. För att begreppsverktyget ska<br />
kunna integreras med M&S-<strong>portalen</strong> måste det gå att skapa URL-länkar som direkt<br />
visar upp ett visst begrepp eller en viss terminologi i begreppsverktyget.<br />
4.2 Informationsmodell <strong>för</strong> begrepp<br />
Informationsmodellen som uppdraget <strong>för</strong> begreppshantering tagit fram baseras på en<br />
separation mellan å ena sidan begrepp och beskrivningar av begrepp, och å andra sidan<br />
termer, och var och när de används.<br />
4.2.1 Klasser<br />
I informationsmodellen finns ett antal klasser (se också figur 4.1), de viktigaste är<br />
beskrivna nedan.<br />
– Terminologi En terminologi definierar en samling termer och deras användning<br />
inom ett visst fackområde. En terminologi kan vara inordnad i en hierarkisk struktur.<br />
– Terminologipost En terminologipost är kopplad till ett beslut om att använda noll<br />
eller fler termer <strong>för</strong> en viss beskrivning av ett begrepp inom en terminologi.
20 Kapitel 4. Genom<strong>för</strong>ande<br />
– Term En term har ett strängvärde och en språkkod och en eventuell <strong>för</strong>kortning.<br />
– Begreppsversion En begreppsversion har ett antal definitionstexter och kommentarstexter<br />
som ger en ordlistelik beskrivning av ett begrepp.<br />
– Begrepp Ett begrepp eller referens enligt Ogdens triangel. Begreppet måste ha en<br />
unik identifierare.<br />
– Begreppsrelation En begreppsrelation anger något <strong>för</strong>hållande mellan två eller fler<br />
begrepp. Underklasser till denna ger information om hur begreppen är relaterade.<br />
Instanser av klassen Terminologipost är enhter som ger information om termanvändning<br />
med avseende på både fackområde och tidpunkt, då dessa är kopplade till en<br />
terminologi som annoterar fackområde och de har giltighetsdatum. Detta är en central<br />
klass <strong>för</strong> hanteringen av problemet med synonymer och homonymer, eftersom den ger<br />
en spårbarhet — om en term kan kopplas till ett datum och ett fackområde kan antalet<br />
möjliga terminologiposter och därigenom möjliga betydelser begränsas.<br />
Samtliga termer som är kopplade till en terminologipost kommer att vara synonymer<br />
eftersom de följaktligen är kopplade till samma begrepp. Klassen Termanvändning är<br />
ett medel <strong>för</strong> att särskilja eller rangordna sådana synonymer. Denna rangordning ska<br />
också kunna användas <strong>för</strong> homonymer inom en terminologi — det är <strong>för</strong>modligen en bra<br />
regel att undvika att skapa sådana, åtminstone homonymer som inte kan rangordnas<br />
efter prioritet.<br />
Begrepp kan beskrivas med texter och relationer. En begreppsbeskrivning har målet<br />
att få läsaren att <strong>för</strong>stå vilket begrepp som faktiskt menas. Rent textuella beskrivningar<br />
av ett begrepp är viktiga och något som vi är vana att läsa i ordlistor och liknande. Relationer<br />
är på en grundläggande nivå inte heller speciellt svåra att <strong>för</strong>stå i den meningen<br />
att ett begrepp är relaterat till ett annat på något sätt.<br />
Tidigare i denna rapport under Begreppsmodellering tas olika typer av begreppsrelationer<br />
upp: associativ, generisk och partitiv. Dessa relationer finns med i informationsmodellen<br />
som specialiseringar av klassen Begreppsrelation.<br />
4.3 Datamodellen <strong>för</strong> begreppsverktyget<br />
Informationsmodellen från uppdraget begreppshantering har stått som grund till datamodellen<br />
<strong>för</strong> begreppsverktyget.<br />
Jag valde att endast hantera en delmängd av den information som informationsmodellen<br />
<strong>för</strong> begrepp (figur 4.1) anger <strong>för</strong> att snabba upp utvecklingen av applikationen,<br />
samt <strong>för</strong> att inte göra den <strong>för</strong> komplex.<br />
Fördelen med att följa informationsmodellen i så stor utsträckning som möjligt är att<br />
begreppsverktyget ska kunna använda en tänkt framtida begreppsdatabas med ut<strong>för</strong>ligt<br />
och noggrant modellerade begrepp, och väl utformade terminologier som skapas i en <strong>för</strong><br />
FMV bestämd process.
4.3. Datamodellen <strong>för</strong> begreppsverktyget 21<br />
4.3.1 Informationsmodell <strong>för</strong> begreppsverktyget<br />
Instans av klass Egenskap <strong>för</strong> instans Värde på egenskapen<br />
Terminologi benämning sträng<br />
ansvarig sträng<br />
beskrivning sträng<br />
överordnad Terminologi<br />
terminologipost Terminologipost<br />
Terminologipost startdatum datum<br />
slutdatum datum<br />
termanvändning Termanvändning<br />
begreppsversion Begreppsversion<br />
<strong>för</strong>egående version Terminologipost<br />
nästa version Terminologipost<br />
Termanvändning prioritet sträng<br />
term Term<br />
Term etikett sträng<br />
språkkod sträng<br />
<strong>för</strong>kortning sträng<br />
Begreppsversion kommentarstext Text<br />
definitionstext Text<br />
Text text sträng<br />
språkkod sträng<br />
<strong>för</strong>fattare sträng<br />
Begrepp begreppsversion Begreppsversion<br />
Begreppsrelation subjekt Begrepp<br />
objekt Begrepp<br />
kommentar sträng<br />
sträng är en serie tecken och datum är en representation av ett datum. Jäm<strong>för</strong>t med<br />
uppdragets <strong>för</strong> begreppshantering informationsmodell är fram<strong>för</strong> allt de specialiserade<br />
begreppsrelationerna borttagna, samt paketet <strong>för</strong> källhantering.<br />
4.3.2 Lagring av begreppsdata<br />
<strong>Begreppsverktyg</strong>et ska vara tillgängligt som en webbapplikation. Detta innebär att flera<br />
användare samtidigt behöver tillgång till datamängden och den ska vara tillgänglig över<br />
tid, så det är nödvändigt att lagra denna i en databas.<br />
Detta examensarbete skulle inte handla om att designa databasen, och även om<br />
det finns flera att välja bland, t.ex. MySQL och PostgreSQL som båda går att använda<br />
gratis, lade jag inte ner mycket tid på att fundera. Det blev i slutändan MySQL eftersom<br />
det var enkelt att installera på utvecklingsmaskinerna.<br />
4.3.3 Implementation av informationsmodellen<br />
En viktig del av M&S-<strong>portalen</strong>, en katalog över resurser och information, ska vara tillgänglig<br />
som RDF och gå att koppla mot informationen i begreppsverktyget. Det var<br />
där<strong>för</strong> naturligt att använda RDF <strong>för</strong> att lagra begreppsdata. Att använda RDF gjorde<br />
också att det gick att undvika att lägga tid på design av en relationsdatabas.
22 Kapitel 4. Genom<strong>för</strong>ande<br />
4.3.4 RDF vokabulär<br />
Figur 4.2: Vokabulär <strong>för</strong> informationsmodellen i RDF<br />
Jag skapade en vokabulär <strong>för</strong> att lagra begreppsdata i RDF. Vokabulären är skriven i<br />
OWL men den använder få konstruktioner som inte finns tillgängliga i RDF Schema.<br />
Utöver denna vokabulär används egenskaper från vokabulärerna <strong>för</strong> RDF, RDF Schema,<br />
SKOS och Dublin Core. Se figur 4.2.<br />
Vokabulären är mer eller mindre än översättning från svenska till engelska av de<br />
klasser och egenskaper som togs med i informationsmodellen <strong>för</strong> begreppsverktyget. Det<br />
främsta skälet till detta var att undvika URL-strängar med å, ä och ö.<br />
4.3.5 Kommentarer och nyheter<br />
Den inledande användaranalysen antydde att användare kommer att vilja kommentera<br />
olika detaljer i begreppssamlingen. Reification är kanske det mest kraftfulla sättet att<br />
kommentera en RDF-graf, men i detta fall var inte en sådan uttrycksfullhet nödvändig.
4.4. Webbapplikationen 23<br />
Jag valde att skapa en klass Comment, och använda denna tillsammans med några<br />
egenskaper från Dublin Core-vokabulären <strong>för</strong> att länka en kommentarstext till en valbar<br />
resurs med en unik URL. Denna kommentarstext är inte samma som egenskapen <strong>för</strong><br />
ConceptVersion.<br />
Resonemanget var detsamma när det gällde att hantera händelser i datamängden,<br />
en klass Event används tillsammans med ett datum <strong>för</strong> att notera att något hänt i<br />
datamängden.<br />
4.4 Webbapplikationen<br />
4.4.1 Teknisk plattform<br />
Webbapplikationen är skriven i Java och använder två externa bibliotek, Jena och Wicket.<br />
Den färdiga applikationen kan köras i en applikationsserver <strong>för</strong> Java servlets, t.ex.<br />
Apache Tomcat eller den lättviktiga Jetty.<br />
Jena<br />
Jena[3] är ett ramverk <strong>för</strong> hantering av RDF-data som baseras på öppen källkod. Jena,<br />
som baseras på Java, innehåller en mängd verktyg <strong>för</strong> att programmatiskt skapa<br />
och navigera i RDF-grafer. Ramverket ger möjlighet att jobba med RDF-grafer i ramminnet<br />
eller i en databas, samt att kunna skriva och läsa grafer till och från filer i ett<br />
antal serialiseringsformat. Jena innehåller också en moduler <strong>för</strong> slutledning och att göra<br />
SPARQL-sökningar.<br />
Wicket<br />
Wicket[15] är ett ramverk <strong>för</strong> utveckling av webbapplikationer i Java. Wicket använder<br />
vanliga HTML-dokument <strong>för</strong> att definiera gränssnittet, och normala Java-klasser <strong>för</strong><br />
logik. Det som krävs i HTML-dokumentet är en identifierare <strong>för</strong> de HTML-taggar med<br />
innehåll som ska styras av programlogiken. I praktiken består en webbsida som ska<br />
genereras av en Java-klass och en HTML-fil.<br />
Detta innebär att ändringar rent utseendemässigt på en HTML-sida kan göras helt<br />
fristående, så länge de identifierare som refereras av logiken finns kvar, och har samma<br />
inbördes hierarki.<br />
För mer dynamiska webbsidor finns ett inbyggt stöd <strong>för</strong> AJAX, det går att på ett<br />
enkelt sätt få AJAX-funktionalitet utan att själv behöva skriva JavaScript <strong>för</strong> klientsidan.<br />
4.4.2 Programstruktur<br />
Webbapplikationen kan i en abstrakt vy delas upp i några lager, se figur 4.3. Översta<br />
lagret, gränssnittet i webbläsaren, är enbart byggt i HTML och utseendet modifierat<br />
med CSS. Samtliga HTML-filer som används <strong>för</strong> gränssnittet har som filnamn [klassnamn].html<br />
där [klassnamn] är namnet på en Javaklass som innehåller logiken <strong>för</strong> presentationen<br />
och hantering av indata från användaren. Dessa klasser ligger i ett lager som<br />
hanterar logiken <strong>för</strong> gränssnittet.<br />
Lagret under logiklagret är ansvarigt <strong>för</strong> läsning och skrivning till begreppsdatamängden.<br />
Detta lager använder Jena via ett API <strong>för</strong> att manipulera den RDF-graf som rep-
24 Kapitel 4. Genom<strong>för</strong>ande<br />
Figur 4.3: Uppdelning av programmet i lager<br />
resenterar datamodellen <strong>för</strong> begreppsdatamängden. Jena lagrar i sin tur RDF-grafen i<br />
en SQL-databas.<br />
4.4.3 Gränssnitt i webbläsare<br />
Det gick till att börja med att identifiera fyra olika funktioner <strong>för</strong> begreppsverktyget,<br />
vilka fick varsin sektion och en länk i en meny som finns på alla sidor. Dessa sektioner<br />
döptes till Sök, Terminologier, Nyheter och Kommentarer.<br />
Sök-sektionen delades upp i två undersektioner: Enkel sökning och Utökad sökning.<br />
Enkel sökning är en sökning enbart utifrån en sträng som matchas mot de termer som<br />
används av terminologierna. Utökad sökning ger möjlighet att ange fler parametrar, det<br />
går att välja att endast söka bland vissa terminologier, ange ett datum <strong>för</strong> vilket termen<br />
ska ha en giltig användning samt ange med vilken prioritet som termen ska användas.<br />
I sektionen Terminologier finns alla funktioner som har med terminologihantering att<br />
göra. Här kan man se en lista över tillgängliga terminologier, och skapa en ny terminologi.<br />
I den listningen går det att välja att redigera en viss terminologi. Redigera terminologi<br />
är en undersektion till Terminologier och har i sin tur fyra undersektioner. Sektionerna<br />
som ligger under Redigera Terminologi är<br />
– Lista termanvändningar. Här finns en överblick över termanvändningar i terminologin.<br />
Härifrån går dett att ändra användningen av ett visst begrepp.<br />
– Använd nytt begrepp. Denna sida ger möjlighet att skapa ett nytt begrepp och<br />
ange dess termanvändning <strong>för</strong> gällande terminologi.
4.4. Webbapplikationen 25<br />
Figur 4.4: Abstrakt struktur <strong>för</strong> användning av begreppsverktyget<br />
– Använd befintligt begrepp. Här finns möjlighet att välja ut befintliga begrepp <strong>för</strong><br />
användning i terminologin.<br />
– Redigera teminologiinfo. Här går det att ändra information om terminologin.<br />
Sektionerna Nyheter och kommentarer är listningar över nyhteter och kommentarer,<br />
där den senare också ger möjlighet att lägga till nya kommentarer. Se figur 4.4 <strong>för</strong> en<br />
översikt över uppdelningen i sektioner.<br />
Grafisk utformning<br />
Jag använde enkla skisser på papper <strong>för</strong> att komma fram till en grafisk utformning på<br />
gränssnittet. På grund av tidsbrist är inte denna utformning fullständigt genom<strong>för</strong>d.<br />
Utformningen baseras på en kolumn och horisontella menyer. Designen använder<br />
samma grafiska stomme som M&S-<strong>portalen</strong> i övrigt, och typsättning av text och liknande<br />
är taget från denna.<br />
Jag <strong>för</strong>sökte att använda HTML <strong>för</strong> struktur och CSS <strong>för</strong> utseende i så stor utsträckning<br />
som möjligt.<br />
4.4.4 Logik <strong>för</strong> gränssnitt<br />
Javaklasserna <strong>för</strong> detta lager ligger i paketet se.smartlab.concept.webtool.<br />
Logiken <strong>för</strong> gränssnittet använder ramverket Wicket. En webbsida skapas i Wicket<br />
genom att utöka klassen WebPage, och skapa en HTML-fil som fungerar som mall <strong>för</strong> hur<br />
webbsidan ska renderas. Dessa klasser kan i sin tur utökas, och därigenom återanvända<br />
återkommande HTML-kod och logik. Denna metod används i begreppsverktyget genom<br />
att klasser <strong>för</strong> undersektioner utökar de sektioner de tillhör.<br />
Wicket har också klassen Panel som kan utökas. Klasser som utökar Panel måste<br />
också ha en tillhörande HTML-fil, och instanser av dessa blir paneler som kan placeras<br />
i en webbsida. Denna metod används också av begreppsverktyget <strong>för</strong> några delar av<br />
webbsidor som används av flera webbsidor.<br />
Figur 4.5 demonstrerar hur arv och paneler används i begreppsverktyget.
26 Kapitel 4. Genom<strong>för</strong>ande<br />
Figur 4.5: Klassdiagram <strong>för</strong> lagret logik <strong>för</strong> gränssnitt<br />
4.4.5 Läsning och skrivning mot datamodell<br />
Javaklasserna <strong>för</strong> detta lager ligger i paketet se.smartlab.concept.io.<br />
Den viktigaste klassen <strong>för</strong> detta lager är ConceptDB. När denna klass instansieras<br />
öppnas en modell av begreppsdatamängden i databasen via Jenas API. ConceptDB ger<br />
ett antal metoder <strong>för</strong> att:<br />
– Skapa nya RDF-resurser utifrån de klasser som är specifierade i vokabulären.<br />
– Hämta resurser utifrån deras URI.<br />
– Lista resurser baserat på olika kriterier, t.ex. söka terminologiposter som använder<br />
en viss term.<br />
För att abstrahera bort RDF-hanteringen från logiken <strong>för</strong> gränssnittet finns ett antal<br />
klasser som representerar datamodellen samt de operationer som måste kunna göras.<br />
Denna abstraktion använder ett mönster med klasser som kapslar in de RDF-klasser<br />
som används i informationsmodellen. Till många av dessa inkaslingsklasser finns en<br />
prototypklass som används <strong>för</strong> att utbyta den information egenskaperna <strong>för</strong> varje RDFklass<br />
ger. Ett exempel på detta mönster är inkapplingsklassen TerminologyNode och<br />
TerminologyPrototype. TerminologyNode har en metod getPrototype som returnerar ett<br />
objekt av typen TerminologyPrototype och en metod set som tar ett objekt av typen<br />
TerminologyPrototype. TerminologyPrototype har fyra strängvärden, description, owner,<br />
label och parent, med get- och set-metoder enligt Javas standardmönster.<br />
Metoden getPrototype hämtar från den RDF-grafen de egenskaper som hör till den<br />
terminologi som kapslas in av TerminologyNode och lägger dem i den TerminologyPrototype<br />
som ska returneras. Metoden set sätter egenskaperna <strong>för</strong> inkapslad terminologi.<br />
Konventionen är att egenskaper som inte existerar vid getPrototype och de egenskaper<br />
som inte ska sättas av set representeras i ett prototypobjekt som null. Egenskaper som<br />
innebär en referens till en annan resurs i RDF-grafen representeras i en del fall som en<br />
sträng med resursens URI. I andra fall ges <strong>för</strong> bekvämlighetens skull en prototyp av den<br />
andra resursen.
4.4. Webbapplikationen 27<br />
4.4.6 Åtkomst till begreppsdatamängden från andra program<br />
Eftersom datamängden är i RDF, går det på ett enkelt sätt att skapa en webbtjänst<br />
som ut<strong>för</strong> och returnerar resultatet från SPARQL-sökningar. Detta ger frihet <strong>för</strong> t.ex.<br />
att skapa ett program <strong>för</strong> referensinformation i Microsoft Office där man kan söka i<br />
begreppsdatamängden från alla möjliga perspektiv.
28 Kapitel 4. Genom<strong>för</strong>ande
Kapitel 5<br />
Resultat<br />
<strong>Begreppsverktyg</strong>et är designat <strong>för</strong> att integreras i M&S-<strong>portalen</strong>, och har där<strong>för</strong> utvecklats<br />
med en bassida som Curalia, webbyrån som utvecklar <strong>portalen</strong>, tillhandahöll.<br />
5.1 Sökning<br />
Sökning efter begrepp görs fram<strong>för</strong> allt genom att matcha termer och deras användningar<br />
utifrån olika kriterier. Sökningen ut<strong>för</strong>s enligt konventionen att när en sökparameter inte<br />
angetts så utgör den ingen begränsning <strong>för</strong> resultatet.<br />
5.1.1 Enkel sökning<br />
Under avdelningen enkel sökning (se figur 5.1) går det bara att söka efter termer<br />
som matchar den söksträng man skriver in. De begreppsversioner som är kopplade till<br />
matchande termer letas fram och representeras med en definitionstext. Samtliga termer<br />
som är kopplade till begreppsversionen listas till vänster. Länken Välj går till en sida<br />
som visar mer ut<strong>för</strong>lig information om begreppsversionen.<br />
Om ingen sökstränganges kommer samtliga begreppsversioner att listas.<br />
5.1.2 Utökad sökning<br />
Avdelningen utökad sökning (se figur 5.2) ger möjlighet till att ange fler parametrar.<br />
Det går att välja inom vilka terminologier som termen ska användas, och ett datum <strong>för</strong><br />
när termen ska ha en giltig användning. Utöver detta går det att ange vilken prioritet<br />
termen ska användas med.<br />
5.2 Terminologier<br />
Figur 5.3 visar hur terminologier listas. I denna vy kan man välja att redigera eller<br />
kommentera en terminologi. Det går också att skapa en ny terminologi.<br />
5.2.1 Ny terminologi<br />
En ny terminologi skapas genom att man ger den ett namn, en ägare och en beskrivning.<br />
Det går även att ange att en terminologi är en underterminologi till en annan genom<br />
29
30 Kapitel 5. Resultat<br />
Figur 5.1: Enkel sökning<br />
Figur 5.2: Utökad sökning
5.2. Terminologier 31<br />
Figur 5.3: Listning av terminologier<br />
Figur 5.4: Skapa ny terminologi
32 Kapitel 5. Resultat<br />
att välja Ange <strong>för</strong>älder, se figur 5.4.<br />
5.2.2 Redigera terminologi<br />
Figur 5.5: Termanvändning <strong>för</strong> terminologi<br />
Figur 5.5 visar den vy som kommer upp när man väljer att redigera en terminologi. Här<br />
listas de termanvändningar som utgör terminologin. Terminologins namn och beskrivning<br />
visas i alla vyer som används <strong>för</strong> att redigera en viss terminologi.<br />
Vyn <strong>för</strong> att skapa ett nytt begrepp <strong>för</strong> användning i en terminologi (figur 5.6) kräver<br />
vissa omstruktureringar i användargränssnittet <strong>för</strong> att vara lättanvänd. Här kan man<br />
skriva in en definitionstext och kommentarstext och man kan lägga till relaterade begrepp<br />
och termer som ska benämna begreppet.<br />
För att använda ett befintligt begrepp finns en vy som är likadan som utökad sökning.<br />
Här kan man välja ett begrepp, och komma till en vy (figur 5.7) där man bestämmer<br />
vilka termer som ska användas <strong>för</strong> detta. Denna vy används också <strong>för</strong> att ändra termanvändningar<br />
som redan lagts till i en terminologi.<br />
Redigera terminologiinformation görs i ett gränssnitt som liknar det <strong>för</strong> att lägga till<br />
en ny terminologi.<br />
5.3 Nyheter och kommentarer<br />
Nyheter är en listning på viktiga händelser i begreppsdatamängden, i figur 5.8 kan man<br />
se att en ny terminologi samt en ny begreppsversion skapats.<br />
Figur 5.9 visar upp kommentarssystemet. Detta är av en enkel typ, antagligen är<br />
det bättre att integrera kommentarerna i det forum som kommer att finnas på M&S<strong>portalen</strong>.
5.3. Nyheter och kommentarer 33<br />
Figur 5.6: Termanvändning <strong>för</strong> terminologi<br />
Figur 5.7: Redigera termanvändning
34 Kapitel 5. Resultat<br />
Figur 5.8: Nyheter<br />
Figur 5.9: Kommentarssystemet
5.4. Visa begrepp 35<br />
5.4 Visa begrepp<br />
Figur 5.10: Information om ett begrepp<br />
För en ut<strong>för</strong>ligare <strong>för</strong>klaring av ett begrepp finns en vy som visar den mesta information<br />
som rör ett begrepp. Se figur 5.10. Denna visning går också att lägga till som bokmärke,<br />
eller skapa direkta länkar till.
36 Kapitel 5. Resultat
Kapitel 6<br />
Slutsatser<br />
Det främsta värdet med den prototyp som utvecklats är <strong>för</strong>modligen möjligheten att<br />
testa modellen med separation mellan begrepp och information om var när och hur<br />
termer används <strong>för</strong> att benämna begrepp. Prototypen ger också möjlighet att se om det<br />
kan vara användbart <strong>för</strong> ett projekt att ha en samarbetsyta <strong>för</strong> hantering av begrepp.<br />
Arbetet med OWL-vokabulären är också ett exempel på hur informationsmodellen<br />
<strong>för</strong> FMV:s begreppshantering skulle kunna realiseras i RDF.<br />
6.1 Begränsningar<br />
Funktionen på begreppsverktyget är inte testat <strong>för</strong> stora datamängder eller många användare.<br />
Målsättningen har dock inte varit ett system som ska kunna användas i produktion.<br />
6.1.1 Samtidig användning<br />
Den mesta datamängden är o<strong>för</strong>änderlig, <strong>för</strong> det mesta handlar det om att lägga till<br />
nya RDF-satser. I några fall kan det hända att en RDF-sats tas bort och ersätts med<br />
en ny. Detta är till exempel fallet när information <strong>för</strong> en terminologi så som namn och<br />
beskrivning ändras. Om flera användare samtidigt ändrar denna information är utfallet<br />
ovisst. Det är upp till Jena och databasen som Jena använder vad som kommer att<br />
hända.<br />
6.1.2 Läs- och skrivrättigheter<br />
Det finns ingen funktionalitet i begreppsverktyget <strong>för</strong> att begränsa läs- och skrivrättigheter.<br />
Fram<strong>för</strong> allt är begränsade skrivrättigheter viktigt, vem som helst ska inte<br />
kunna gå in och ändra t.ex. termanvändning i en terminologi. Hantering av rättigheter<br />
bör integreras med resten av <strong>portalen</strong>, och detta var inte möjligt att rymma innan<strong>för</strong><br />
ramen <strong>för</strong> examensarbetet.<br />
6.2 Fortsatt arbete<br />
Gränssnittet tillåter inte att ange vilket språk som gäller <strong>för</strong> en viss term eller definitionstext.<br />
Funktionaliteten finns i implementationen av informationsmodellen, men språket<br />
37
38 Kapitel 6. Slutsatser<br />
anges alltid till svenska genom hårdkodning i logiklagret <strong>för</strong> gränssnittet. Jag bedömer<br />
att det vore relativt enkelt att lägga till en sådan funktionalitet.<br />
Det går inte i de sökfunktioner som är implementerade <strong>för</strong> informationsmodellen att<br />
ange språk som sökparameter, detta bör kanske vara möjligt. För att göra detta krävs<br />
en viss <strong>för</strong>ändring i lagret läsning och skrivning mot datamodell (figur 4.3).<br />
Det finns många utseendemässiga detaljer som skulle behöva en putsning, och mycket<br />
av sådant arbete kan ut<strong>för</strong>as i CSS och HTML. Utseendet måste även testas i de<br />
vanligaste webbläsarna.<br />
Kontroll av indata görs till viss del, men det bästa vore att gå igenom alla möjliga<br />
punkter där användare kan mata in information och specificera exakt vad som är tillåtet.<br />
Ur ett användbarhetsperspektiv är det också viktigt att lägga till funktionalitet <strong>för</strong> att<br />
ge feedback om inmatad information inte är tillåten.
Kapitel 7<br />
Erkännanden<br />
För detta examensarbetes slut<strong>för</strong>ande har jag ett antal personer att tacka. Anna Fundin,<br />
min externa handledare på FMV <strong>för</strong> hjälp med stort och smått under hela arbetet. Jan-<br />
Erik Moström, min interna handledare på institutionen <strong>för</strong> <strong>datavetenskap</strong>. Tyko Brising<br />
och Mats Nilsson <strong>för</strong> bland annat informationsmodellen och diskussioner kring denna.<br />
Martin Björkman på Curalia <strong>för</strong> tips på tekniska lösningar och ett startprojekt <strong>för</strong><br />
Wicket med grunddesignen på M&S-<strong>portalen</strong>.<br />
Tack!<br />
39
40 Kapitel 7. Erkännanden
Referenser<br />
[1] Michael C. Daconta, Leo J. Obrst, and Kevin T. Smith. The Semantic Web: A<br />
Guide to the Future of XML, Web Services, and Knowledge Management. Wiley<br />
Publishing, 2003.<br />
[2] Försvarsdepartementet. Förordning (1996:103) med instruktion <strong>för</strong> <strong>för</strong>svarets materielverk,<br />
1996.<br />
[3] Jena. Jena - a semantic web framework for java, 2007. http://jena.sourceforge.<br />
net/, besökt 2007-04-30.<br />
[4] Hälso och sjukvårdens forskningsinstitut. Metoder och principer i terminologiarbetet.<br />
Technical report, 1999.<br />
[5] Jennifer Preece, Yvonne Rogers, and Helen Sharp. Interaction Design. John Wiley<br />
Sons, 2002.<br />
[6] Stuart Russel and Peter Norvig. Artificial Intelligence a Modern Approach. Pearson<br />
Education, 2003.<br />
[7] SMART-lab. Portalen <strong>för</strong> modellering och simulering, 2007. http://<strong>portalen</strong>.<br />
smart-lab.se, besökt 2007-05-04.<br />
[8] SMART-lab. Smart-lab webb, 2007. http://www.smart-lab.se, besökt 2007-02-<br />
05.<br />
[9] W3C. Rdql - a query language for rdf, 2004. http://www.w3.org/Submission/<br />
RDQL/, besökt 2007-04-30.<br />
[10] W3C. Web ontology language (owl), 2004. http://www.w3.org/2004/OWL/, besökt<br />
2007-04-30.<br />
[11] W3C. Rdf vocabulary description language 1.0: Rdf schema, 2007. http://www.<br />
w3.org/TR/rdf-schema/, besökt 2007-02-13.<br />
[12] W3C. Resource description framework (rdf), 2007. http://www.w3.org/RDF/,<br />
besökt 2007-02-13.<br />
[13] W3C. Sparql query language for rdf, 2007. http://www.w3.org/TR/<br />
rdf-sparql-query/, besökt 2007-04-30.<br />
[14] W3C. World wide web consortium (rdf), 2007. http://www.w3.org, besökt 2007-<br />
05-20.<br />
[15] Wicket. Wicket, 2007. http://wicket.sourceforge.net/, besökt 2007-05-04.<br />
41
42 REFERENSER
Bilaga A<br />
Frågor <strong>för</strong> användarundersökning<br />
1. Kort beskrivning av dina arbetsuppgifter?<br />
2. Hur ofta använder du Intranät eller webbsidor i ditt arbete?<br />
3. Hur ofta använder du e-post i ditt arbete?<br />
4. Hur ofta använder du andra Internettjänster så som Messenger, forum och liknande?<br />
5. Har du någon gång märkt att andra haft skiljda uppfattningar om vissa ords<br />
betydelse?<br />
6. Har du någon gång fått problem på grund av miss<strong>för</strong>stådda ord?<br />
7. Orsak?<br />
8. Hur ofta konsulterar du en områdesspecifik ordlista eller liknande?<br />
9. Anser du att du gör det i tillräckligt hög grad?<br />
10. Brukar du hitta de begrepp som du är ute efter?<br />
11. Hur skulle du vilja söka efter en begreppsbeskrivning?<br />
12. Söka genom ontologi, t.ex. gå från Plan"eller "Underhålltill "Underhållsplan"?<br />
13. Vad skulle du vilja att ett IT-stöd <strong>för</strong> att hantera begrepp hjälper till med?<br />
14. Hur skulle du vilja samla ihop begreppsdefinitioner <strong>för</strong> att använda i ett särskilt<br />
projekt eller verksamhetsområde?<br />
15. Skulle du vilja ha möjlighet att begränsa läsrättigheter <strong>för</strong> en sådan samling så<br />
att alla inte kan läsa denna?<br />
16. Skulle du vilja ha möjligheten att lägga till egna begreppsdefinitioner eller <strong>för</strong>eslå<br />
<strong>för</strong>ändringar de existerande?<br />
17. Vilket stöd skulle du vilja ha av ett IT-system <strong>för</strong> begreppshantering vid <strong>för</strong>fattande<br />
av text?<br />
43
44 Kapitel A. Frågor <strong>för</strong> användarundersökning<br />
(a) Exempel 1: ord där begreppsdefinitioner finns markeras, och på något vis går<br />
det att länka en begreppsdefinition till dessa. Om det finns flera definitioner<br />
går det att välja vilken man menar.<br />
(b) Exempel 2: ord byts ut automatiskt om de har synonymer som hör till det<br />
område som mottagaren verkar i (<strong>för</strong> att öka sannolikheten att mottagaren<br />
uttolkar det begrepp som åsyftas).<br />
18. Vad skulle få dig att ta tid <strong>för</strong> att lägga in nya begrepp, med begrepps<strong>för</strong>klaringar<br />
och benämningar?