rpersen logo

Kapittel 3: Design og utvikling

Dette kapittelet vil gi en oversikt av AnnForum og hvordan det er bygd opp, fra selve utviklingsprosessen til designmessige valg som har blitt gjort underveis. Blant annet så inkluderer dette formelle krav til systemet, sentrale funksjoner, skjermbilder av viktige brukergrensesnitt, klassediagram, systemarkitektur, utviklingsverktøy, samt eksempelkode av de mest sentrale klassene og metodene.

Kort forklart så er AnnForum et system for semi-automatisk, semantisk annotering av innlegg i et diskusjonsforum hvor hovedmålet er å kunne gjenbruke innlegg fra tidligere semesters diskusjoner. Disse tidligere innleggene blir gjort tilgjengelige i diskusjonen for det nåværende semesteret som relevante/relaterte ressurser. Diskusjonsforumet som har blitt benyttet er FLE3 sin kunnskapsbyggingsmodul, og måten AnnForum fungerer på er at en konseptuell domenemodell blir brukt til å beskrive konseptene innenfor Kunstig Intelligens domenet, samt relasjonene mellom disse konseptene. Etter at domenemodellen har blitt opprettet så kan man lage annoteringer ved at læreren lenker stillingsressursene, altså innlegg fra tidligere semestres diskusjoner, opp til de relevante konseptene i domenemodellen. Med andre ord er det snakk om en klassifisering av innleggene. Denne klassifiseringen gjøres automatisk av systemet, men læreren har også mulighet til å gå inn i etterkant og redigere annoteringene, i tillegg til å endre selve domenemodellen ved å legge til og fjerne konsepter. Figur 3.1 illustrerer den konseptuelle oppbyggingen av systemet.

Forskjellige deler

Figur 3.1: De forskjellige delene i AnnForum

Grensesnittet for relevante innlegg er integrert i kunnskapsbyggingsmodulen til FLE3 og brukes kun av studenten. Klassifiseringsregelen er mer uavhengig og blir blant annet benyttet av FLE3 når et nytt innlegg legges til, eller når et helt diskusjonsforum fra et tidligere semester skal importeres og annoteres. Annoteringsverktøyet er helt adskilt fra FLE3 og brukes kun av læreren for å redigere domenemodellen og annoteringene for de klassifiserte innleggene. Det som skiller AnnForum fra systemene til Helic (2003) og Craven (1998), er at klassifiseringen av innleggene skjer i sanntid. Det vil si at i det øyeblikket studenten legger til innleggene, vil klassifiseringsalgoritmen i AnnForum automatisk klassifisere innlegget i henhold til de riktige konseptene. Dette har den fordelen at studenten slipper å bruke tid på å gjøre denne tilordningen manuelt.

3.1 Systemkrav

De formelle kravene er delt opp i «use cases», funksjonelle krav og ikke-funksjonelle krav og gir en oversikt over den overordnede funksjonaliteten for systemet. «Use cases» brukes som utgangspunkt for å finne funksjonelle krav og tar for seg interaksjonen mellom aktøren og systemet, i dette tilfellet studenten/læreren og AnnForum. Funksjonelle krav er de funksjonene som systemet må støtte, og er på mange måter systemets planlagte oppførsel. Disse blir som regel listet opp i formatet «systemet skal» eller «systemet må». Ikke-funksjonelle krav er sekundære funksjoner som støtter opp om de funksjonelle kravene, og som ikke er direkte kritiske for applikasjonen, men heller beskriver hvordan systemet fungerer, for eksempel med tanke på skalerbarhet, ytelse, kostnader og så videre.

Læringssystemer har ofte spesielle krav, og når man skal lage semantiske annoteringsverktøy for læringsmateriale, er det en del praktiske hensyn man må ta. Chen har identifisert og oppsummert noen av disse kravene på bakgrunn av eksisterende annoteringsverktøy (Chen, 2005). Disse kravene knytter seg til blant annet brukbarhet, delbarhet og brukervennlighet, mer spesifikt at man skal fokusere på selve læringskonteksten ved utviklingen av systemet, at de forskjellige aktørene skal kunne kommunisere gjennom å gjenbruke de semantiske annoteringene, samt at systemet skal være lettfattelig og enkelt å bruke. Den beste fremgangsmåten ifølge Chen er om «[...] verktøyet er automatisk, kognitivt og semantisk [...]», med andre ord at datamaskinen håndterer klassifiseringen av innleggene på vegne av brukeren. Fordelen med dette er at det fører til en minimal forstyrrelse av brukerens arbeidsflyt, og at det reduserer arbeidsmengden. Denne problemstillingen er veldig relevant i forbindelse med diskusjonsforumer, hvor brukerne som regel ikke er motiverte nok til å manuelt tilordne innleggene til konsepter i domenemodellen.

3.1.1 Use cases

De funksjonelle systemkravene kan kort oppsummeres ved hjelp av use case diagrammet nedenfor (figur 3.2: Scenarioer), som igjen er utformet på bakgrunn av problemstillingen. Diagrammet viser hvilke handlinger som må kunne utføres av studenten og hvilke handlinger som må kunne utføres av læreren. Tilsvarende diagrammer og use-cases for FLE3 finnes i dokumentasjonen.

Use cases

Figur 3.2: Use case scenarios

3.1.2 Funksjonelle krav - systemet skal

Funksjonene som systemet må støtte, er listet opp nedenfor og tar utgangspunkt i use-case-diagrammene i forrige del. Systemet må/skal oppfylle følgende krav:

  • Det skal være en domeneuavhengig tilleggsmodul utviklet i blant annet Java, Python og PHP. I første omgang vil det kun være beregnet på læringssystemet FLE3 sitt diskusjonsforum.
  • Det skal kunne annotere/klassifisere innlegg basert på en predefinert domenemodell. Denne domenemodellen inneholder de viktigste og mest brukte konseptene innenfor kunstig intelligens.
  • Det skal kunne klassifisere innlegg fra tidligere semesters diskusjoner. Dette innebærer blant annet en funksjon for å importere og annotere et helt diskusjonsforum. Klassifiseringsalgoritmen gjenkjenner konsepter i domenemodellen som går igjen i innleggene, og finner også relevansverdien for de enkelte innleggene.
  • Det skal kunne klassifisere nye innlegg for det nåværende semesteret. Dette innebærer blant annet at klassifiseringen må skje i det øyeblikket innlegg legges til. Selve klassifiseringen foregår på samme måte som i forrige punkt.
  • Det skal ikke forstyrre læringsprosessen for studentene. Dette innebærer at klassifiseringen må gjøres automatisk av systemet for ikke å ødelegge arbeidsflyten til aktørene.
  • Det skal kunne hente frem innlegg fra tidligere semester som er relevante for den nåværende diskusjonen, og vise frem disse til studentene. De relevante innleggene skal kunne hentes frem for både nye så vel som eksisterende innlegg. Innleggene skal rangeres etter relevansverdi når de listes opp.
  • Det skal la studentene kunne avgi stemme for om de synes et tidligere innlegg er relevant for den nåværende diskusjonen eller ikke. Når et innlegg har fått flere negative stemmer enn positive, vil det fjernes fra listen.
  • Det skal tilby et brukergrensesnitt som lar læreren opprette og redigere en domenemodell for kunstig intelligens. Dette inkluderer å kunne legge til og fjerne relevante innlegg for de enkelte konseptene innen domenemodellen.
  • Det skal tilby et brukergrensesnitt som lar læreren redigere annoteringene for de klassifiserte innleggene, både for tidligere og nåværende innlegg. Dette innebærer at man skal kunne legge til og fjerne hvilke konsepter som er relatert til de enkelte innleggene.
  • Det skal tilby et brukergrensesnitt som lar studenten se hele tråden som et relevant innlegg hører inn under. Studenten vil da kunne få en bedre oversikt over problemområdet.
  • Det skal tilby et brukergrensesnitt som lar studenten bla gjennom alle innlegg tilknyttet et spesifikt konsept. Dette vil gi studenten muligheten til å få en oversikt over ressurser gruppert etter tema.

3.1.3 Ikke-funksjonelle krav - systemet bør

Funksjoner som støtter opp om de funksjonelle kravene, er listet opp nedenfor. Systemet bør:

  • være så intuitivt og lettfattelig som mulig for ikke å forstyrre læringsprosessen til studenten. Dette innebærer blant annet et enkelt og oversiktlig brukergrensesnitt.

3.1.4 Scenarioer

De to mest typiske scenarioene for gjenbruk og klassifisering av innlegg i FLE3 er skissert opp nedenfor:

SCENARIO 1: STUDENTEN SKRIVER ET NYTT INNLEGG:

  1. Studenten er ferdig å skrive innlegget og trykker på «Submit».
  2. Innlegget legges til FLE3 sitt diskusjonsforum.
  3. Klassifiseringsmodulen som er integrert i FLE3, finner de relevante konseptene for innlegget.
  4. For hvert relevante konsept regnes det ut en relevansverdi. Denne relevansverdien regnes ut ved å se på antall forekomster av konseptet samt om konseptet forekommer i innleggets tittel eller i selve innholdet.
  5. Klassifiseringsresultatet, altså de relevante konseptene sammen med relevansverdiene, legges til i MySQL-databasen.
  6. Resultatet for det nye innlegget sendes tilbake til brukergrensesnittet for relevante innlegg. Dette inkluderer altså de relevante konseptene sammen med relevansverdiene.
  7. Forekomstene for de relevante konseptene, altså innleggene fra tidligere semester, hentes frem fra domenemodellen (Topic Map-filen) og vises til brukeren dersom ønsket. Innleggene er rangert etter relevansverdi i prosent.

SCENARIO 2: STUDENTEN LESER ET EKSISTERENDE INNLEGG I FLE3:

  1. Studenten leser et innlegg i FLE3.
  2. Studenten trykker på knappen som viser relevante innlegg.
  3. Brukergrensesnittet for relevante innlegg henter frem de relevante konseptene fra MySQL databasen for nåværende semester.
  4. Forekomstene for de relevante konseptene, altså innleggene fra tidligere semester, hentes frem fra domenemodellen (Topic Map-filen) og vises til brukeren. Innleggene er rangert etter relevansverdi i prosent.

Fremgangsmåten for å importere et tidligere diskusjonsforum følger de samme prinsippene når det kommer til klassifisering og lagring, men er litt mer komplisert. Det første som må gjøres, er å hente ut alle innleggene fra FLE3 sin database, og i dette tilfellet ble dette gjort ved å eksportere databasen til en XML-fil ved hjelp av grensesnittet i Zope. Deretter ble denne XML-filen lest og innleggene satt inn i MySQL-databasen ved hjelp av et Python-script.

3.2 Arkitektur og hovedkomponenter

Her beskrives utformingen og oppbyggingen av AnnForum i sin helhet, noe som blant annet inkluderer en oversikt over generelt design og systemarkitektur. Dette innebærer blant annet en oversikt over de forskjellige modulene, komponentene, brukergrensesnitt og data som er nødvendige for at systemkravene skal tilfredsstilles. Systemarkitekturen med tanke på den konseptuelle domenemodellen, MySQL-databasen, klassifiseringsalgoritmen og relasjonene mellom disse samt presentasjonen av de relevante innleggene gås også gjennom i detalj. Klassediagrammet i appendiks A gir en oversikt over de viktigste klassene.

3.2.1 Systemarkitektur

Systemet er ment å være en domeneuavhengig modul bestående av to undermoduler: en klassifiseringsmodul og en modul for relevante innlegg. Klassifiseringsmodulen har ansvar for å klassifisere innleggene i diskusjonsforumet etter konseptene i domenemodellen, noe som gjøres ved hjelp av en nøkkelordgjenkjenner som finner forekomstene av konseptene, samt en algoritme som bestemmer relevansverdien for et innlegg sammenlignet med disse konseptene.

Konseptuell oversikt

Figur 3.3: konseptuell oversikt over AnnForum

Modulen for relevante innlegg har ansvar for å hente frem relevante innlegg fra tidligere semesters diskusjoner som er relevante for den nåværende diskusjonen, vise disse til studenten ved hjelp av brukergrensesnittet for relevante innlegg samt ta imot tilbakemeldinger fra studenten angående de relevante innleggene.

Det har også blitt utviklet en applikasjon som lar læreren få en oversikt over diskusjonsforumene og administrere den konseptuelle domenemodellen, i tillegg til la å ham redigere annoteringene for de enkelte innleggene.

Hele systemet består av to hoveddeler som illustrert i figur 3.3. Disse to delene er et brukergrensesnitt for relevante innlegg som er integrert i FLE3, og annoteringsdelen som blant annet inneholder klassifiseringsalgoritmen som knytter de forskjellige innleggene opp mot riktige konsepter.

Inne i annoteringsdelen er MySQL-databasen som lagrer innleggene og de relevante konseptene for hvert innlegg. Den konseptuelle domenemodellen som inneholder alle konseptene for AI-domenet, og referanser til innlegg der konseptene forekommer, hører også til under annoteringsdelen.

3.2.2 Domenemodellen

Den konseptuelle domenemodellen som er brukt i forbindelse med AnnForum, er i form av et XML Topic Map (XTM). Et Topic Map er, som allerede nevnt i kapittel 2, en spesifikasjon som gjør det mulig definere ulike konsepter innenfor et utvalgt domene. Man kan også definere relasjonene mellom disse konseptene, i tillegg til å lenke hvert konsept opp til ulike ressurser. Et Topic Map er med andre ord basert på følgende tre konsepter:

  1. Topic - et emne i forbindelse med det utvalgte domenet. For kunstig intelligens kan for eksempel topic (baseName) være «Machine Learning». Emnet kan også ha ett eller flere synonymer (variantNames).
  2. Association - relasjonene mellom de forskjellige konseptene.
  3. Occurrences - forekomster av ressurser som er relevant i forhold til topic.

Syntaksen for domenemodellen til AnnForum ble noe forenklet i forhold til den offisielle XTM-spesifikasjonen. Grunnen til dette var at det forenklet utviklingen, samt at den fullstendige spesifikasjonen ikke var nødvendig for at systemet skulle fungere. Men for en fremtidig versjon av AnnForum, når standardisering blir mer viktig, bør man nok etterstrebe å følge XTM-spesifikasjonen. Nedenfor er et lite utdrag fra domenemodellen for kunstig intelligens med et par klassifiserte innlegg. Se forøvrig appendiks B for en oversikt over hele modellen uten occurrences.

<topicMap name="Artificial Intelligence">
   <topic id="147">
      <baseName>Turing Test</baseName>
      <association>
         <member name="Objections"/>
      </association>
      <occurrence id="15">
         <title>Think differently</title>
         <resourceRef href=""/>
      </occurrence>
   </topic>
</topicMap>

3.2.3 Databasen

De klassifiserte FLE3-innleggene for nåværende og tidligere semester blir lagret i en MySQL-database med en tabell for hvert semester. Innleggene blir lagret i sin helhet med tittel, innhold, kategori og så videre samt at det finnes et felt som sier hvilke konsepter innlegget er relatert til. Hvert konsept svarer til et konsept i den konseptuelle domenemodellen og har også en relevansverdi knyttet til seg. Skjemaet for tabellene ser da slik ut:

( id, title, content, category, keywords, path, user, reply_to_id, related_concepts )

Foreløpig er det kun to tabeller i databasen: en tabell for innlegg fra forrige semester og en tabell for innlegg fra det nåværende semesteret. Men ideen er at det skal være mulig å ha en tabell for hvert semester som kunstig intelligens har blitt undervist i. På den måten vil man da etter hvert få et stort antall relevante innlegg som kan brukes som relevante læringsressurser for det nåværende semesteret.

Et klassifisert FLE3-innlegg fra et tidligere semester kan da eksempelvis se slik ut:

id 15
title Think differently
content In my opinion, the Turing test is not a good criteria to determine artificial intelligence ...
category my_expl
keywords foreløpig ikke i bruk
path foreløpig ikke i bruk
user Arild
reply_to_id 14
related_concepts Reasoning:0,26;Turing Test:0,37;

Feltet «related_concepts» er en semikolon-separert liste med alle konseptene som innlegget er relatert til, i dette tilfellet «Reasoning» med relevansverdi 0,26 og «Turing Test» med relevansverdi 0,37. Feltene «keywords» og «path» er foreløpig ikke i bruk, men er tatt med da de finnes i objektdatabasen til FLE3. Relevansverdien brukes når de relevante innleggene skal rangeres, og blir i hovedsak benyttet av klassifiseringsalgoritmen.

3.2.4 Klassifiseringsalgoritmen

Som allerede nevnt er det klassifiseringsalgoritmen som har ansvaret for å gruppere nye innlegg etter de aktuelle, relevante konseptene i den konseptuelle domenemodellen. Algoritmen har også ansvaret for å regne ut relevansverdien for hvert konsept tilknyttet et innlegg. Det har også blitt konstruert en nøkkelordgjenkjenner som tar «baseName» (hovednavnet) og «variantName» (synonym) for hvert konsept i domenemodellen, for deretter å søke etter forekomstene av disse ordene i FLE3-innlegget. Et treff som forekommer i tittelen på innlegget, vil gi en høyere rangering enn et treff i selve innholdet fordi dette gir en bedre indikasjon på hva innlegget handler om. Merk at denne beslutningen ble tatt på bakgrunn av at man i FLE3 er nødt til å skrive en beskrivende tittel for hvert nytt innlegg.

Pseudokoden nedenfor skisserer gangen i klassifiseringen av et nytt innlegg:

Gitt et nytt innlegg M (for nåværende semester)
For hvert konsept K i den konseptuelle domenemodellen
    Sett relevansverdi R1 = 0
    Sett relevaneverdi R2 = 0
    Hvis K forekommer i tittelen til M:
       R1 = hentRelevansVerdiFor(M)
    Hvis K forekommer i innholdet til M:
       R2 = hentRelevansVerdiFor(M)
    R = MAX(R1, R2)
    Hvis R er større enn grenseverdi (0,19)
       Sett konsept K til å ha relevansverdi R
    Legg til konsept K til innlegg M
Slutt

Dersom innlegget som klassifiseres er fra et tidligere semester, vil innlegget også bli lagt til som en forekomst (occurrence) i den konseptuelle domenemodellen. Se del 3.2.2 for eksempel av en forekomst. Måten klassifiseringen skjer på, kan også beskrives ved hjelp av scenarioene i del 3.1.4.

Selve klassifiseringsalgoritmen ble utviklet i Java, og for å finne relevansverdiene ble det brukt et Java-bibliotek som heter Classifier4J. Dette biblioteket inneholder en «vector space search»-algoritme, som blant annet passer veldig bra i forbindelse med klassifisering av tekst. Java-koden nedenfor viser hvordan Classifier4J bruker «vector space search»-algoritmen til å finne relevansverdien for tittelen til et aktuelt innlegg:

double result = 0; //relevanseverdien
vectorStorage = new HashMapTermVectorStorage();
vectorClassifier = new VectorClassifier(vectorStorage);
vectorClassifier.teachMatch("title", title);
result = vectorClassifier.classify("title", t.getBaseName());
// tilsvarende gjelder for variantNames - t.getVariantName()

Pseudokoden for koden over er som følger:

Gitt et innlegg I og et konsept K
Sett resultat = 0
Opprett et vektor-objekt V
resultat = k.klassifiser(I.tittel, K.baseName)
Gjenta for innleggets synonymer (variantNames) og innhold (content)

Samme fremgangsmåte gjelder også for å finne relevansverdien for selve innholdet i et innlegg og for å sjekke for forekomstene av synonymer («variantNames»).

3.2.5 Relevante innlegg og presentasjon

De relevante innleggene fra tidligere semester, tilknyttet det innlegget som studenten leser, presenteres i en rangert liste som vist i figur 3.6. Hvert av innleggene i listen kan ha ett eller flere relevante konsepter i tillegg til en relevansverdi tilknyttet hvert konsept. Det samme gjelder for konseptene til FLE3-innlegget for det nåværende semesteret. Relevansverdien for hvert av innleggene i figur 3.6 blir regnet ut som en vektlagt term (verdi) av forholdet mellom konseptene sine relevansverdier, og relevansverdiene for det nåværende innlegget sine konsepter.

For eksempel: Sett at det ene innlegget (som studenten leser) har to relevante konsepter, konsept A og konsept B, og hvor konsept A og konsept B har hver sin relevansverdi på for eksempel 0,7 og 0,3. I den konseptuelle domenemodellen, altså XML-filen, er det to innlegg for konsept A og fire innlegg for konsept B, for en total av seks relevante innlegg. Disse seks innleggene er som nevnt lagret i sin helhet i MySQL-databasen, sammen med relevante konsepter og relevansverdier. De seks innleggene er også relatert til konsept A og konsept B fordi de allerede ligger i domenemodellen.

For å utdype enda litt mer kan vi si at det i databasen er to relevante innlegg fra tidligere semester: innlegg M1 og innlegg M2. Relevansverdien vil da bli regnet ut på følgende måte, gitt kriteriene nedenfor:

  • M1 er relevant til konsept A med en verdi (Va, m1) på 0,7.
  • M1 er relevant til konsept B med en verdi (Vb, m1) på 0,3.
  • M2 er relevant til konsept A med en verdi (Va, m2) på 0,3.
  • M2 er relevant til konsept B med en verdi (Vb, m2) på 0,2.

Det nåværende innlegget som studenten leser, innlegg M3, har to relevante konsepter: konsept A og konsept B. Konsept A har to innlegg i databasen, M1 og M2, og relevansverdien blir da som følger:

  • Mellom M3 og M1: Va, m1 * 0,5 + Vb, m1 * 0.5 = 0,7 * 0,5 + 03 * 0,5 = 0,55.
  • Mellom M3 og M2: Va, m2 * 0,5 + Vb, m2 * 0.5 = 0,3 * 0,5 + 0,2 * 0,5 = 0,25.

Når brukeren har valgt et spesifikt relevant innlegg, som vist i figur 3.7, vil han også her ha muligheten til å avgi en stemme for om innlegget var nyttig eller ikke. For hver stemme vil relevansverdien for innlegget økes eller reduseres med femti prosent avhengig av om man stemmer positivt eller negativt. Brukergrensesnittet ble lagd ved hjelp av henholdsvis HTML og PHP som kalte på MySQL-databasen og den konseptuelle domenemodellen.

3.3 Integrasjon med FLE3

Prosessen med å integrere AnnForum med FLE3 var todelt. Det første som ble gjort, var å legge til en knapp i FLE3 sin kunnskapsbyggingsmodul (figur 3.5), slik at denne knappen åpnet et nytt popup-vindu til brukergrensesnittet for relevante innlegg. Dette ble gjort ved å legge til én enkel linje med DHTML-kode i /ui/Note/index_dhtml-filen.
Neste steg var å få til den dynamiske klassifiseringen, slik at nye FLE3-innlegg ble lagt til både i databasen og den konseptuelle domenemodellen etter at de var lagt til i FLE3 sin objektdatabase. Dette ble gjort ved å modifisere Python-koden som behandlet et nytt innlegg (Note.py), slik at innlegget ble sendt inn som parameter til AnnForum sin klassifiseringsmodul for videre behandling der.

Som det ble skissert, var prosessen med å integrere AnnForum i FLE3 ikke altfor omstendelig, og det å bruke samme fremgangsmåte for andre diskusjonsforumer bør ikke være stort vanskeligere. Så lenge man kan få utført følgende tre steg for det aktuelle diskusjonsforumet, så bør det ikke være vanskelig å gjenbruke innlegg:

  1. Man må få importert eksisterende innlegg som kan brukes som relevante ressurser. For FLE3 ble dette gjort ved å lese et XML-dokument med alle innleggene.
  2. Man må få vist brukergrensesnittet for relevante innlegg. Dette vil hovedsaklig gjøres ved å legge til en knapp der man ønsker å vise de relevante ressursene.
  3. Man kan få kalt på klassifiseringsmodulen til AnnForum, slik at modulen kan klassifisere nye innlegg dynamisk etter hvert som de legges til.

3.4 Gjennomgang av systemet

Denne delen gir en beskrivelse og gjennomgang av brukergrensesnittet for relevante innlegg. Lærerens annoteringsverktøy vil også bli gått gjennom i del 3.4.2.

3.4.1 Brukergrensesnittet for relevante innlegg

Brukergrensesnittet for relevante innlegg er den mest sentrale delen av AnnForum fordi det er den funksjonen som vil bli hyppigst brukt av studentene i løpet av et semester. Utgangspunktet for grensesnittet er gruppevaresystemet FLE3 sitt diskusjonsforum: «Knowledge Building». Dette er et helt vanlig trådbasert diskusjonsforum, som vist i figur 3.4.

Forumet er her satt opp for at studentene skal kunne diskutere temaer relatert til kunstig intelligens. Det eneste som skiller FLE3 sitt diskusjonsforum litt fra andre diskusjonsforumer, er at brukeren må tilordne et innlegg til en kunnskaps-kategori.

FLE3

Figur 3.4: Diskusjonsforumet til FLE3

Disse kategoriene er «Problem», «My Explanation», «Scientific Explanation» og «Evaluation of the process», og meningen med disse kategoriene er at det skal være enklere å se hva som er problemområdet for et innlegg.

FLE3

Figur 3.5: Vis relevante innlegg

Grensesnittet er integrert i FLE3, og måten det fungerer på, er at brukeren vil få muligheten til å se relevante ressurser når har valgt et innlegg (figur 3.5). Hensikten er at brukeren selv skal kunne velge om de relevante ressursene skal vises. Når brukeren trykker på «Show related notes»-knappen, vil innlegg fra tidligere semesters diskusjoner, som er relevante for den nåværende FLE3-diskusjonen, hentes frem og vises i et nytt vindu, som vist i figur 3.6. Innleggene rangeres etter relevansverdi i prosent og gir informasjon om blant annet hvem som er forfatter av innlegget, en tittel som er en lenke til hele innlegget, samt hvilken FLE3-kategori det hører til under.

FLE3

Figur 3.6: Brukergrensesnittet for relevante innlegg

I tillegg kan brukeren se hvilke konsepter/emner som innleggene er hentet ifra, i dette tilfellet Computational Modeling, Human Interaction og Machine Learning. Grensesnittet er skrevet i HTML og PHP og kaller på MySQL-databasen og den konseptuelle domenemodellen for å hente ut relevante innlegg, konsepter og relevansverdier.

Brukergrensesnittet for relevante innlegg er tilgjengelig ikke bare for eksisterende innlegg i FLE3, men også etter at brukeren har skrevet og lagt til et nytt innlegg. Rangeringen av innleggene er basert på en vektlagt term mellom to innlegg som beskrevet i del 3.3.2.4, hvor det ene innlegget er fra nåværende semester, mens det andre innlegget er fra et tidligere semester.

Figur 3.7 viser et utvalgt, relevant innlegg. Innlegget vises i sin helhet med tittel, innhold, forfatter og FLE3-kategori. Brukeren har også muligheten til å avgi en stemme for om innlegget er relevant eller ikke ved å trykke på tommel-opp- eller tommel-ned-ikonene. Når en stemme avgis, vil relevansverdien for innlegget økes/reduseres med 50 %. I tillegg var det meningen at brukerne skulle kunne se hele tråden som innlegget hørte til under («View thread»). Men på grunn av tidsmangel ble ikke denne funksjonen implementert. En slik funksjon, når den blir ferdigstilt, vil gi en oversikt over konteksten som det relevante innlegget befinner seg i.

FLE3

Figur 3.7 viser et utvalgt, relevant innlegg

3.4.2 Lærerens annoteringsverktøy

Det har også blitt utviklet et verktøy som gir læreren muligheten til å redigere den konseptuelle domenemodellen i tillegg til å endre på annoteringene for de enkelte innleggene. Nedenfor beskrives de mest sentrale brukergrensesnittene, mer spesifikt Forum View og Topic View.

AnnForum

Figur 3.8: Forum View

Figur 3.8 viser «Forum View», som er grensesnittet der læreren kan få en oversikt over alle innleggene i et valgt diskusjonsforum. Det valgte diskusjonsforumet kan enten være for det nåværende semesteret eller et tidligere semester. Læreren har her muligheten til å bla gjennom alle innleggene ved hjelp av en trebasert struktur, i tillegg til å se innlegget i sin helhet. For hvert innlegg er det også mulig å se de relevante konseptene med relevansverdi, samt at man kan legge til og fjerne konsepter.

Figur 3.9 viser «Topic View», som er det grensesnittet hvor læreren kan redigere den konseptuelle domenemodellen.

AnnForum

Figur 3.9: Topic View

AnnForum

Figur 3.10: Et valgt innlegg i Topic View

Som for Forum View er det også her mulig å bla gjennom domenemodellen ved hjelp av en trestruktur. Trestrukturen representerer konsepter og eventuelle relaterte konsepter, som for eksempel «Algorithm Types» som er relatert til «Machine Learning». Til høyre i grensesnittet ser man detaljene for konseptet: navn, relaterte konsepter og eventuelle alias («variantNames»). Andre funksjoner for Topic View inkluderer muligheten til å legge til og fjerne et synonym for et valgt konsept, samt å legge til og fjerne forekomster/innlegg for et konsept. Det er også mulig å se et innlegg som forekommer under et valgt konsept (figur 3.10), med andre ord et innlegg som har blitt klassifisert under konseptet som et «occurrence».

Videre til kapittel 4: Metode og evaluering >>

Last updated Tue December 16 on 10:19:55

About the site | Contact