Mathilda - et naturlig språk-grensesnitt for reformulering av spørringer

Størrelse: px
Begynne med side:

Download "Mathilda - et naturlig språk-grensesnitt for reformulering av spørringer"

Transkript

1 Mathilda - et naturlig språk-grensesnitt for reformulering av spørringer Prosjektoppgave i TDT4710 Informasjonforvaltning, fordypningsemne av Olaug Østhus Hovedveileder: Ingeborg T. Sølvberg Institutt for Datateknikk og Informasjonvitenskap, Norges Teknisk-Naturvitenskapelige Universitet, Høsten 2004

2

3 Sammendrag Sammendrag I dette prosjektet er det laget et naturlig språk-grensesnitt, Mathilda, som skal gjøre det enklere å bruke søkemotorer til å finne relevant informasjon på Internett. Dette blir gjort ved å lage et naturlig språk-grensesnitt over søkemotoren Google. I dette grensesnittet blir et spørsmål fra søkeren, formulert på vanlig engelsk, gjort om til en søkemotorspørring. Det blir brukt beregningslingvistikk og da spesielt syntaktisk analyse for å gjøre denne transformasjonen. Den syntaktiske analysen blir gjennomført ved hjelp av en online ordklassetagger. Etter at spørsmålet har vært gjennom denne analysefasen, blir spørsmålet gjort om til en spørring ved å prosessere et sett med fjorten heuristikker på spørsmålet. Spørringen som kommer ut av genereringen blir sendt til Google, som returnerer en resultatside med potensielle svardokumenter. Fokuset i oppgaven har vært på spørringsgenereringen. For å finne gode heuristikker som kan brukes er det studert et sett av spørsmålsbesvarelsessystemer (QA-systemer) som bruker syntaktiske og til dels semantiske teknikker for å lage et spørsmål om til en spørring. Det er også brukt en spørreundersøkelse som undersøker hvordan gode søkere velger ut søkeord når de skal prøve å finne svar på et spørsmål. Mathilda har blitt evaluert på de første 50 spørsmålene brukt i QA-evalueringen i TREC8- konferansen. Denne evalueringen viser at heuristikker kan brukes til å transformere et spørsmål om til en spørring. Mathilda viser at heuristikker som utnytter substantivnaboer og søkemotorens funksjonalitet, samt heuristikker beregnet på konkrete spørsmålstyper, fungerer i de fleste tilfeller. Samtidig ble en del problemer med de heuristikkene som er brukt identifisert. Disse problemene fører til at Mathilda i en del tilfeller gir tomme eller irrelevante resultater. Den samme evalueringen som blir gjort på Mathilda blir også gjort på Google. I sammenligningen av de to evalueringene sett under ett viser det seg at Google gjør det litt bedre enn Mathilda. Likevel ser man at heuristikkene fungerer svært bra når de virker etter hensikten, og ved å rette opp problemer avdekket i denne oppgaven vil man i framtiden forhåpentligvis kunne lage et system som konsistent gjør det bedre enn Google. I det videre arbeidet med dette systemet vil det derfor bli jobbet mot dette målet. Som en del av forarbeidet til utviklingen av Mathilda har de eksisterende QA-systemene Mulder, Tritus, AnswerBus, LASSO, QASM og BusTUC blitt studert. I tillegg har teoristoff som omhandler teknikker og prosesser innen fagområdet beregningslingvistikk, eller naturlig språk-prosessering, blitt undersøkt. Resultatet av dette forarbeidet inngår også i rapporten.

4

5 Takk til Takk til Denne rapporten er et resultat av høstprosjektet mitt i fordypningsemnet Informasjonsforvaltning ved Institutt for Datateknikk og Informasjonsvitenskap(IDI) ved NTNU. Jeg vil takke hovedveileder, professor Ingeborg Sølvberg, og hjelpeveilederne, Øyvind Vestavik og Jeanine Lilleng for veiledningen de har gitt meg underveis i prosjektet. Sølvberg har hjulpet til med den overordede strukturen, mens Vestavik har kommet med detaljkommentarer. Lilleng har hjulpet til med å gi oppgaven både bedre struktur og innhold. All veiledning har ført til at rapporten har blitt bedre. Jeg vil også takke Ottar Viken Valvåg for korrekturlesning av hele rapporten, moralsk støtte og teknisk hjelp ved implementasjon av systemet, Mathilda, samt søking etter TREC8- spørsmål som systemene ikke klarte å finne svar på. Tilslutt vil jeg takke alle som var med på å besvare spørreundersøkelsen; Nina Ingvaldsen, Nina Knutsen, Ellen Røyneberg, Berit Eleni Sirris, Olav Engelsåstrø, Norvald H. Ryeng, Eirik Eide og Andreas Grytting Furuseth.

6

7 Innholdsliste Innholdsliste 1 Innledning Beregningslingvistikk Leksikalsk analyse Syntaktisk analyse Semantisk analyse Pragmatisk analyse Oppsummering Søkemotorer Virkemåte Spørringsutforming Indeksering Rangering av dokumenter Evaluering i søkemotorer Spørsmålsbesvarelsessystemer Spørsmålsbesvarelsessystemer Søkemotorer versus QA-systemer Evaluering av spørsmålsbesvarelsessystemer Eksisterende QA-systemer Oppsummering Spørreundersøkelse Søkergruppe Undersøkelsen Resultater Diskusjon Oppsummering Mathilda - mitt system Mål Virkemåte Samling Språk Spørringsgenerering Mathilda vs andre systemer Teknisk implementasjon av Mathilda Valg Bestanddeloversikt Programsekvenser i Mathilda Evaluering av Mathilda Framgangsmåte Resultater Oppsummering Konklusjon og videre arbeid Videre arbeid Referanser...83 Vedlegg A Spørreundersøkelsen...87 Vedlegg B Koden til heuristikkene...89 Vedlegg C Spørsmål og svar fra TREC8...95

8 Figurliste Figurliste Figur 1 Avhengigheter mellom analysefasene...12 Figur 2 Eksempel på syntaktisk analyse av Søkeeksempel 8 [3]...14 Figur 3 Klosseksempel...16 Figur 4 Semantiske relasjoner i en tesaurus[10]...17 Figur 5 Virkemåten til en søkemotor...19 Figur 6 Precision og Recall for en gitt spørring [4]...24 Figur 7 Eksempel på arkitekturen til et QA-system...28 Figur 8 Eksempel på bruk av BusTUC...31 Figur 9 Eksempel på grammatikkregler [2]...32 Figur 10 TQL for Søkeeksempel 20 [2]...33 Figur 11 Oversikt over Mulder[22]...35 Figur 12 Evaluering av Tritus [20]...38 Figur 13 Oversikt over AnswerBus virkemåte[23]...39 Figur 14 Eksempel på operasjoner i QASM [33]...42 Figur 15 LASSO sin spørsmålsprosess [35]...43 Figur 16 Generell oversikt over mitt system...56 Figur 17 Teknisk oversikt over Mathilda...63 Figur 18 Brukergrensesnittet til Mathilda...64 Figur 19 Eksempel på ordklassetagging i Claws4[41]...64 Figur 20 Sekvensen for å få resultatsiden med relevante dokumenter...66 Figur 21 Sekvensen for å få visning av ordklassetagget spørsmål...67 Figur 22 Graf som viser antall spørsmål hvor riktig svar er å finne i resultatsida...73 Figur 23 Graf som viser antall spørsmål hvor riktig svar er å finne i resultatdokumentet...74 Figur 24 Graf som viser antall spørsmål besvart med relevante dokumenter...74 Tabelliste Tabell 1 Eksempel på affikser[3]...15 Tabell 2 Beskrivelse av ulike leksikalsk semantiske fenomener[2]...16 Tabell 3 Spørsmålstyper som ble brukt under evaluering av Tritus[30]...37 Tabell 4 Oversikt over behandlede QA-systemer...44 Tabell 5 Spørsmålene i spørreundersøkelsen...47 Tabell 6 Heuristikker utledet fra spørreundersøkelsen...54 Tabell 7 Oversikt over heuristikker som er brukt i Mathilda...59 Tabell 8 Utdrag av de 50 første TREC8-spørsmålene...72 Tabell 9 De 50 første TREC8-spørsmålene med svar...96

9 Innledning 1 Innledning Når man trenger informasjon om noe eller noen går man ofte til Internett for å finne denne informasjonen. På Internett bruker vi ofte kjente søkemotorer som Google, AltaVista og Yahoo for å gjenfinne informasjon. Søkemotorene fungerer slik at man må skrive inn søkeord som beskriver det man ønsker å finne av informasjon. Disse søkeordene, kalt en spørring, bruker søkemotorene til å gjenfinne dokumenter som ligger på Internett som inneholder søkeordene. Folk flest bruker to-tre ord for å spesifisere hva vi ønsker informasjon om. I gjennomsnitt bruker vi 2,4 ord for å forme en spørring.[1] Vi forventer at søkemotoren ut fra disse få ordene skal skjønne hva vi er ute etter. Dette er ikke alltid tilfellet. Dersom man for eksempel putter inn Søkeeksempel 1, vist under, i en søkemotor, vil man få mange lenker som viser hvor man kan finne MP3-filer. Dette er greit hvis det er det man er ute etter. Søkeeksempel 1 MP3 Music Søkeeksempel 2 Definition MP3 Søkeeksempel 3 MP3 Dersom man derimot er ute etter å finne ut hva en MP3-fil er for noe, kan det være mer gunstig å bruke Søkeeksempel 2. Da vil man ved å bruke Google få en definisjon av MP3. Det verste søket man kan gjøre av disse tre søkene er Søkeeksempel 3. Da får man alle dokumenter som inneholder ordet MP3, og resultatdokumentene kan være alt fra definisjoner av MP3, hvor man kan laste ned MP3, reklame for hvor man kan kjøpe MP3, og så videre. For å kunne få gode resultater må man være en god søker. En god søker er en person som er flink til å velge ut søkeord som gir ut resultater som inneholder informasjonen man er ute etter. Som god søker kjenner man også oftest til søkemotorens funksjoner og kan utnytte dem for å forbedre søkene. I Google kan man for eksempel bruke hermetegn for å markere at man ønsker at et sett med ord skal stå i en bestemt rekkefølge og samlet i resultatdokumentet. Resultatet av et søk inneholder ofte veldig mange dokumenter. Hvis man for eksempel kjører Søkeeksempel 1 i Google får man over 12 millioner dokumenter og visning av de ti første. Av alle disse vil man undersøke de to-tre første og kanskje de syv neste, men etter det orker vi ikke mer. Vi gir opp. Maskinen og menneskene snakker ikke samme språk. For at folk flest skal kunne forbedre sine søk hadde det vært lettere om de kunne skrive sitt eget språk, det vil si skrive spørsmål inn i naturlig språk. Søkeeksempel 4 og Søkeeksempel 5 er to spørsmål som er skrevet inn i naturlig språk. Om mennesker skal kunne skrive inn naturlig språk-spørsmål må søkemotorene kunne ta i mot dem. Dessverre kan ikke de fleste søkemotorer i dag gjøre det på en spesielt intelligent måte. Hvis man skriver inn naturlig språk-spørsmål vil søkemotoren lage en spørring bestående av alle ordene i spørsmålet. Noen fjerner i tillegg vanlige ord som What is a fordi de mener at disse ordene ikke er viktige for å spesifisere søket. For Søkeeksempel 5 vil man da stå igjen med bare ordet MP3-file, som gjør at søket blir veldig lite spesifikt. Informasjonsverdien av spørsmålet blir ikke utnyttet. Søkeeksempel 4 What is the definition of MP3? Søkeeksempel 5 What is a MP3-file? 9

10 Innledning En annen utfordring som dukker opp når man skriver et spørsmål inn i en søkemotor er at ordene som spørsmålet består av ikke er de samme ordene som vil være representert i dokumentet som inneholder svaret til spørsmålet. Hvis et spørsmål for eksempel begynner med Why vil sannsynligvis svaret heller inneholde ordet because. Derfor kan det gi mer mening å la spørringen inneholde ordet because enn ordet why. Styrken ved bruk av naturlig språk-spørsmål er at de potensielt gir mer kontekst og dermed mer mening, i alle fall for mennesker. Det er enklere for en person å besvare et spørsmål gitt i Søkeeksempel 6 og Søkeeksempel 7 enn om man bare hadde sagt St. Olav. Som menneske forstår man ut fra setningskonteksten at i Søkeeksempel 6 er man ute etter en person og i Søkeeksempel 7 et sted. Dette kan vi se av spørreordene som er brukt og at vi for eksempel vet at street er et ord man bruker for å betegne et sted. Søkeeksempel 6 Who was St. Olav? Søkeeksempel 7 Where is the St. Olav street? Søkemotorer kan aldri bli like smarte som mennesker, men det er likevel mulig å føre mennesker og maskiner nærmere hverandre. I dette prosjektet er det blitt laget et system som gjør det enklere for personer, som nødvendigvis ikke kjenner til søkemotorenes funksjonalitet og som ikke er så flinke til å velge ut søkeord, til å få bedre søkeresultater. Fokuse i prosjektet har vært å finne gode heuristikker for å gjøre et spørsmål i naturlig språk om til en spørring som en søkemotor kan behandle. Naturlig språk-spørsmål kan behandles på ulike måter for at det skal bli mer forståelig for en søkemotor. Dette er nærmere forklart i kapittel 2, beregningslingvistikk. I kapittel 3 er virkemåten og evalueringsteknikker til søkemotorer forklart. Deretter blir spørsmålsbesvarelsessystemer (QA-systemer) forklart. Kapittel 4 representerer disse systemenes virkemåte og evaluering. Eksisterende QA-systemer og deres teknikker for å gjøre spørsmål om til spørringer blir også forklart i dette kapittelet. I kapittel 5 blir spørreundersøkelsen og dens resultater presentert. Etter at både QA-systemer og spørreundersøkelsen er blitt presentert blir mitt system, Mathilda, presentert i kapittel 6. Dette kapittelet forteller om systemets mål, virkemåte og hvilke teknikker systemet bruker for å gjøre spørsmål om til spørringer. Mens forklaringene i dette kapittelet er på et konseptuelt nivå, inneholder kapittel 7 en mer teknisk beskrivelse. I kapittel 8 blir evalueringen av Mathilda og Google beskrevet. Til slutt avrundes rapporten med konklusjon, videre arbeid og referanser. 10

11 Beregningslingvistikk 2 Beregningslingvistikk Når man skal kommunisere med datamaskinen ved hjelp av naturlig språk bruker man det man kaller beregningslingvistikk (computational linguistics) eller naturlig språk-prosessering. Prosesseringen gjør man for å gjøre naturlig språk om til et mer maskinforståelig språk. En mulig definisjon på beregningslingvistikk er:[2] Computational linguistics (CL) is a discipline between linguistics and computer science which is concerned with the computational aspects of the human language faculty. It belongs to the cognitive sciences and overlaps with the field of artificial intelligence (AI), a branch of computer science that is aiming at computational models of human cognition. There are two components of CL: applied and theoretical. [... ] The applied component of CL is more interested in the practical outcome of modelling human language use. The goal is to create software products that have some knowledge of human language. Such products are urgently needed for improving human-machine interaction since the main obstacle in the interaction between human and computer is one of communication. [... ] Natural language interfaces enable the user to communicate with the computer in German, English or another human language. Some applications of such interfaces are database queries, information retrieval from texts and so-called expert systems. Kort sagt kan man si at beregningslingvistikk i denne konteksten er et verktøy for å lage et grensesnitt mellom mennesker og maskiner. Grensesnittet gjør at det blir enklere for både maskiner og mennesker å snakke sitt eget språk. Når man får mulighet til det, blir det mye enklere å uttrykke hva man ønsker å formidle. Naturlig språk-grensesnitt som definert i definisjonen over gir mennesker mulighet til akkurat dette. Slike grensesnitt brukes i sammenheng med databasespørringer, informasjonsgjenfinning i tekst og i ekspertsystemer. Beregningslingvistikk kan deles inn i følgende faser: Leksikalsk analyse: Omforming av en strøm av bokstaver til en liste av ord.[3] Syntaktisk analyse: Studiet av formelle relasjoner mellom ord. Dette inkluderer studiet av hvordan ord er klynget sammen i klynger som blir kalt ordklasser, hvordan naboord blir gruppert til fraser og hvordan ord avhenger av andre ord i en setning.[3] Semantisk analyse: Studiet av meningen i et lingvistisk utsagn. Man prøver å forstå hva en setning betyr.[3] Pragmatisk analyse: Studiet av relasjonen mellom språk og brukssammenheng (context-of-use). Brukssammenheng inkluderer identiteten til personer og objekter, og pragmatisk analyse inkluderer studiet av hvordan man referer til objekter og personer.[3] Hvis man skal bruke beregningslingvistikk trenger man ikke gå gjennom alle disse fasene. Hvor mange analysefaser man velger å ta med kommer an på hva man skal bruke analysen til, hvilken framgangsmåte man bruker og hva målet med analysen er. Man kan også utelate deler av analysen. Figur 1 viser avhengighetene mellom de ulike fasene. Semantisk og pragmatisk analyse er avhengig av den syntaktiske analysen, mens alle tre er avhengig av den leksikalske. Etter den syntaktiske analysen kan man velge om man vil gjøre semantisk analyse eller om man vil gjøre den pragmatiske. Man kan også gjøre begge analysene om man ønsker det. 11

12 Beregningslingvistikk Leksikalsk analyse Syntaktisk analyse Semantisk analyse Pragmatisk analyse Figur 1 Avhengigheter mellom analysefasene 2.1 Leksikalsk analyse En leksikalsk analyse setter bokstavene sammen til ord. Etter den leksikalske analysen vil man ha en liste av ord som kan bety hva som helst. Denne listen kan brukes til å sammenligne ordene seg i mellom. Man kan også sammenligne listen med andre forhåndsbestemte lister. Sammenligningen kan brukes til å kategorisere en tekst som relevant eller ikke relevant i forhold til for eksempel en spørring. Den kan også brukes til å kategorisere tekst etter språk eller emne. Etter oppdeling i ord kan man telle opp antall forekomster man har av hvert enkelt ord og bruke ordene med høyest sum til å representere en kategori. I en søkemotor vil man ofte bruke prinsippet om at dokumenter som inneholder mange forekomster av ord fra søkestrenger er dokumenter som er relevante for et søk. En søkemotor bruker selvsagt flere metoder enn dette for å rangere dokumenter og velge ut hvilke som skal være med. En stoppordliste, der stoppord er ord som er frekvente i en dokumentsamling, kan man også lage etter man har gjennomført en leksikalsk analyse.[4] Stoppordlisten lager man ved å telle antall forekomster av alle ord i en samling. De ordene som er mest frekvente blir tatt med i stoppordlisten. Å lage selve stoppordlisten er ikke en leksikalsk analyse. Den leksikalske analysen kan bare identifisere at en tekst bestå av ord og hvor mange ord teksten består av. Et eksempel på den leksikalske analysen er å bruke en StringTokenizer i Java.[5] StringTokenizer-en deler en lang streng i tokens ved å se på mellomrommene i strengen. Etter at man har kjørt en leksikalsk analyse på Søkeeksempel 8 er det identifisert at setningen består av fem ord. Disse ordene er I, prefer, a, morning og flight. Søkeeksempel 8 I prefer a morning flight 2.2 Syntaktisk analyse Ordet syntaks kommer fra gresk og referer til måten ord er satt sammen på.[3] Når man legger til den syntaktiske analysen får man mer kjennskap om hvilken ordklasse, hvilken morfologi, eller hvilken frase et ord hører hjemme i. Disse begrepene vil bli forklart nærmere i kommende delkapitler. Kunnskapen man får fra en syntaktisk analyse fører til at man mer konstruktivt kan velge ut ord som man får fra naturlig språk-grensesnitt. Man kan lage heuristikker som sier at man skal ta ut alle verb og substantiv og sende dem videre som en spørring. Et annet eksempel er at man kan si at preposisjoner, konjunksjoner og pronomen er stoppord. Stoppord er forklart nærmere i delkapittel

13 Beregningslingvistikk Ordklasse En ordklasse er en gruppe av ord med like grammatiske egenskaper[6]. De ulike ordklassene har ulike egenskaper. Verb sier for eksempel hva som skjer i setningen, mens substantivene ofte er navn på personer, ting og steder. Adjektivene spesifiserer substantivene. I Søkeeksempel 9 spesifiserer for eksempel adjektivet at figuren skal være gul. Søkeeksempel 9 What is the name of the yellow character in the Teletubbies? I et naturlig språk-grensesnitt kan man bruke ordklassene til å lage heuristikker som spesifiserer hva man skal gjøre med forekomster av ord fra de ulike ordklasser som forekommer i en setning. I et grensesnitt over en søkemotor ville det være naturlig å lage heuristikker som bestemmer hvilke ordklasser som skal tas med i en spørring. Hvilke ordklasser man skal ta videre til en spørring er vanskelig å avgjøre ettersom setninger/spørsmål kan være svært forskjellige. Likevel velger de fleste systemer å ta vare på substantiv og da spesielt egennavn. Substantiv navngir steder, personer og ting som ofte er sentralt i en setning. I noen tilfeller kan det også være gunstig å ta med adjektivet til et substantiv fordi det spesifiserer substantivet slik som i Søkeeksempel 10. Søkeeksempel 10 Who was the first American man in space? I Søkeeksempel 10 kunne man beholdt både adjektivene first og American og substantivene man og space. I andre tilfeller kan det være gunstig å også beholde verbet i setningen, slik som i Søkeeksempel 11. Søkeeksempel 11 Who was the first man to drive around the whole world? Her er det gunstig å beholde verbet fordi det spesifiserer at man er ute etter mannen som først kjørte rundt hele jorden og ikke en som fløy eller gikk rundt jorden. Man kan velge de rette ordklassene i bestemte kontekster ved å se på fraser istedenfor å se på enkeltord. Fraser er nærmere forklart i neste delkapittel. For å finne ordklassen til et ord kan man bruke en ordklassetagger som merker ordene med en eller flere sannsynlige ordklasser. Det finnes mange ulike ordklassetaggere som merker ord med ulik granularitet. Noen ordklassetaggere finner bare ordklassen til ordet, for eksempel verb eller substantiv. Andre ser også på morfologien til ord og merker ordene med flere attributter, som for eksempel tiden til et verb og antall og kjønn til et substantiv. Det finnes ulike teknikker for å bestemme ordklassen til et ord. Eksempel på teknikker er statistiske og regelbaserte. Brills ordklassetagger[7] er et eksempel på en regelbasert tagger Fraser Fraser kan brukes til å løse problemet med hvilke ordklasser som skal benyttes i en spørring. En frase er en samling med etterfølgende ord som tilhører et sett av ordklasser. Eksempel på fraser er substantivfraser som består av et substantiv i sammenheng med andre ordklasser som determinanter, andre substantiv og adjektiv. I Søkeeksempel 10 ville man kunne tatt ut substantivfrasen first American man som gir mer kontekst enn enkeltord. For å dele en setning opp i fraser må man på forhånd bestemme hvilke ordklasser som sammen kan utgjøre en frase. Reglene for oppsett blir samlet i en grammatikk. Ved å bruke grammatikken fra Jurafsky og Martin sin bok om språk og språk-prosessering[3] på Søkeeksempel 8 får man en syntaktisk analyse som vist i Figur 2. Nederst i dette treet er 13

14 Beregningslingvistikk setningen vist, mens de enkelte ordklassene er vist i linjen over. Alle frasene man deler setningen opp i blir tilslutt samlet i en setning, S, som er roten til treet. I Figur 2 er følgende notasjon brukt: Pro= Pronomen, Det= Determinant, Noun= Substantiv, Nom= nominal, NP= Substantivfrase, VP= verbfrase og S= setning. S NP VP NP Nom Pro Verb Det Noun Noun I prefer a morning flight Figur 2 Eksempel på syntaktisk analyse av Søkeeksempel 8 [3] En grammatisk framstilling som i Figur 2 kan videre brukes i en semantisk analyse, der man legger semantikk til hver frase. Å sette sammen ord i fraser og grammatikker gjør at man får mer mening ut av en setning enn om man bare ser på enkeltordene. Derfor strides man innen naturlig språk-miljøet og lingvistikkmiljøet om hvorvidt sammensetning av ord i fraser og grammatikker er en del av den syntaktiske eller semantiske analysen. Jeg har valgt å beskrive fraser og grammatikker under syntaktisk analyse fordi Jurafsky og Martin gjorde dette i sin bok om språk og språkprosessering[3]. Naturlig språk-grensesnitt som ikke bruker semantisk analyse bruker ikke oppdeling i fraser i forhold til grammatikk i sin syntaktiske analyse. De nøyer seg med ordklassetagging og eventuelt morfologisk parsing, som er forklart under Morfologi Morfologi er studiet av hvordan ord er bygget opp av mindre meningsbærende enheter, morfemer. Morfemer deles inn i to hovedklasser, stamme og affiks. Stammen er hovedordet, mens affiks er et tillegg som gir utvidet mening på ulike måter. Ordet foxes består av morfemene fox som er stammen og -es som er affiks.[3] Å bryte et ord ned fra overflateform (foxes) til morfem ( fox og -es ) kalles morfologisk parsing. Å redusere et ord til å bare bestå av stammen kalles stemming. En beskrivelse av stemming finnes i delkapittel Affikser kan deles inn i prefiks, suffiks, infiks og sirkelfiks. Tabell 1 viser et eksempel på de ulike typene affikser. Alle eksemplene er ikke engelske, fordi engelsk ikke bruker infiks og sirkelfiks i særlig grad. Et ord kan ha affikser av flere typer. 14

15 Beregningslingvistikk Affikstype Ord Stamme Affiks Suffiks (eng) eats Eat (no: spise) -s Prefiks (eng) unbuckle buckle (no: bøye seg ) -un Infiks (tysk) gesagt sagen (no: si) ge og t Sirkelfiks (tagalog) humingi hingi (no:låne) um Tabell 1 Eksempel på affikser[3] Grammatiske funksjoner Når man analyserer en setning kan man dele setningen inn i det man kaller grammatiske funksjoner som subjekt, verbal og objekt. I Søkeeksempel 12 er She subjektet, ate er verbal og alt etter ate er objektet.[3] Søkeeksempel 12 She ate a mammoth breakfast I et naturlig språk-grensesnitt kan man for eksempel bruke kunnskapen om grammatiske funksjoner til å bestemme hvilke ord i et spørsmål man skal bruke i en spørring. I spørsmål vil man ofte ta vare på objektet fordi det typisk forteller noe om hva det spørres etter. 2.3 Semantisk analyse Semantikk er studiet av meningen til lingvistiske ytringer.[3] Kjører man en semantisk analyse på teksten som kommer inn i et naturlig språk-grensesnitt kan man finne meningen til en setning eller et ord. Begrepet mening kan illustreres med et eksempel:[3] En person sitter på eksamen og skal svare på spørsmål, for å utføre denne oppgaven hjelper det ikke bare at man har morfologien eller ordklassen til ordene, man må også forstå hva det betyr å svare på et spørsmål. Man må ha kunnskap om spørsmålet og man må vite hva som er forventet av en for å svare på et slikt spørsmål. Med andre ord må man lenke sammen de lingvistiske elementene i den enkelte oppgave sammen med de ikke-lingvistiske som er kunnskap om verdenen man lever i. For å lage en semantisk representasjon av en setning må grammatikken bli utvidet med attributter i form av parametere som representerer det semantiske innholdet til hver komponent. Den semantiske representasjonen må bruke en eller annen formalisme for å representere mening. Forskjellige logiske notasjoner er mye brukt. For eksempel kan ordet on som er en preposisjon ha følgende semantikk:[2] preposition (sem) [on], {Y:X:on(X,Y)} Regelen sier at man har X on Y det vil si at preposisjonen on har den egenskapen at noe kan være på noe annet og at on kan ta inn to parametere. 15

16 Beregningslingvistikk B A Figur 3 Klosseksempel I Figur 3 står kloss B på A ( B on A ). Setter man dette eksempelet inn i den semantiske regelen som er nevnt over får man følgende: prepostion (sem) [on], {A:B:on(B,A)} Når man setter opp en grammatikk må man lage semantiske regler for alle ord og fraser som finnes i systemet. Systemet kan så resonnere seg fram til en semantisk representasjon av hele setningen Leksikalsk semantikk Man kan også gi et ord mening ved å sette det sammen med relaterte ord som for eksempel synonymer, hyponymer eller polysemer til ordet. Dette kalles leksikalsk semantikk. Fokuset i leksikalsk semantikk er å finne meningen til et enkelt ord istedenfor meningen til en hel setning. Hovedelementene i en leksikalsk semantisk analyse er leksemer, der et leksem er en bestemt sammensetning av ortografiske og fonologiske former av et ord som gir en bestemt mening.[3] Tabell 2 viser ulike fenomener innen leksikalsk semantikk. Fenomen Beskrivelse Eksempel på leksemer Synonym Synonymer er to eller flere ulike leksemer Car-automobil med samme mening. Et kriterium er at leksemene skal kunne være substitutter for hverandre uten å gi en ny mening. Homonym Homonymer er leksemer som har samme form men som har ulik og urelatert mening. Ball som i fotball og Ball som Askepott går på. Homofoner Homofoner er leksemer som skrives ulikt, Great grate men som har lik uttale. Homografi Homografi er leksemer som skrives likt, men som uttales på forskjellig måte. Bass /bæs/ ( = abbor), og Bass /beis/ ( = bass). Polysemi Hyponymi Polysemer er nesten som homonymer på den måten at de har like leksemer, og har forskjellig, men ikke nødvendigvis urelatert, mening. Hyponomi består av hypernymer som er en mer generell betydning av et leksem og hyponymer som er en spesifisering av et leksem. Tabell 2 Beskrivelse av ulike leksikalsk semantiske fenomener[2] Fly - Fly som i å bevege seg i luften og Fly som å bevege seg raskt. Bus-vehicle ( Bus er et hyponym av vehicle, som er et hypernym av bus.) Når man skal lage spørringer ut fra et naturlig språk-spørsmål kan det være gunstig å ta med meningen til et ord i form av forskjellige leksemer. Man kan bruke leksemene som 16

17 Beregningslingvistikk spørringsutvidelser og for eksempel legge til synonymer til enkelte substantiv, verb eller adjektiv. Dermed kan man få flere relevante dokumenter og man kan øke precision og recall. En grundig beskrivelse av disse begrepene er gitt i delkapittel 3.5. Spørringsutvidelse kan også føre til at presisjonen til et søk blir mindre, fordi man har supplert et ord med feil sett av leksemer. Slike feil kan skje fordi ord i sin natur er tvetydige. Homonymi er et typisk fenomen som fører til tvetydigheter. Søkeeksempel 13 sier at man ønsker informasjon om balls. Utfordringen blir her å velge om man skal utvide spørringen med synonymer som party, prom og dance eller om man skal utvide den med ordene football og baseball. Ordet ball er også et verb. For å finne hvilken betydning av ordet søkeren har ment kan man bruke en Word Sense Disambiguator[8], som bruker statistisk informasjon samt semantiske og syntaktiske begrensninger til å finne riktig betydning. Recallen til søket vil ikke bli svekket ved spørringsutvidelse fordi man vil gjenfinne begge former for ball. Søkeeksempel 13 I want some information about balls. Det er mange spørsmålsbesvarelsessystemer som i dag bruker WordNet[9] for å få tak i synonymer og hyponymer til ord. WordNet en leksikalsk database for engelsk. Den lenker engelske substantiv, verb, adjektiv og adverb til sett av synonymer som er lenket sammen til semantiske relasjoner som bestemmer et ord sin definisjon. De andre ordklassene har ikke semantiske relasjoner i WordNet Tesaurus For å lage bedre spørringer kan man også bruke en tesaurus. En tesaurus er et kontrollert vokabular hvor ekvivalente, hierarkiske og assosiative relasjoner er identifisert for å forbedre gjenfinning. Tesaurusen bygger på konstruksjon av enkle kontrollerte vokabular som modulerer disse tre fundamentale typene av semantiske relasjoner.[10] I Figur 4 er et ord vist som en foretrukket term, med semantiske relasjoner til termer som er mer generelle, mer spesifikke og som er en variant eller er beslektet til ordet. Mer generell term Hierarkisk relasjon Variant av termen Ekvivalent relasjon Foretrukket term Ekvivalent relasjon Variant av termen Assosiativ relasjon Hierarkisk relasjon Assosiativ relasjon Beslektet term Mer spesifikk term Beslektet term Figur 4 Semantiske relasjoner i en tesaurus[10] 17

18 Beregningslingvistikk I informasjonsgjenfinningssystemer kan man bruke tesaurusen som et oppslagsverk der man prøver å finne ord som kan være substitutter eller tillegg til de ordene man allerede har i en spørring. For å lage god en tesaurus må man gjøre mye manuelt arbeid som tar lang tid. Hvor langt tid det tar avhenger av størrelsen på domenet man skal lage en tesaurus for og hvor mange tvetydigheter som finnes. Internett er et stort domene, som det ville ta mange år å lage tesaurus for, derfor finnes det ikke i dag en tesaurus for hele Internett. Man kan bruke enkelttesauruser for spesifikke områder på Internett, men da må man først gjenkjenne at man er i et bestemt område. 2.4 Pragmatisk analyse Den pragmatiske analysen kan hjelpe til med å løse referanseproblemer om man i et naturlig språk-grensesnitt har lov å skrive flere setninger eller dersom man bruker referanser innad i en setning. Følgende eksempel viser slike referanseproblemer som mennesker enkelt kan forstå, men som maskiner kan ha svært store problemer med:[2] Mary had given up on her fear of flying, and started to like it. John had no idea what she was talking about. He thought the woman was silly. I det første linjen referer man til flying ved å bruke it. I den andre linjen er she en referanse til Mary og he en referanse til John. Linje to referer også til Mary når den sier the woman. 2.5 Oppsummering Dette kapittelet har vist at beregningslingvistikk kan brukes på mange måter for å gjøre naturlig språk om til mer maskinforståelig språk. Det har også skissert hvordan beregningslingvistikk kan brukes til å finne ulike språklige egenskaper som kan utnyttes til å gjøre et naturlig språk-grensesnitt mer intelligent. I kapittel 6 er mitt naturlig språk-grensesnitt til søkemotoren Google beskrevet. Dette grensesnittet benytter seg av syntaktisk analyse. I kapittel 4 er en rekke spørsmålsbesvarelsessystemer som benytter seg av beregningslingvistikk for å løse naturlig språk-utfordringer beskrevet. Noen av disse systemene bruker semantisk og pragmatisk analyse i tillegg til syntaktisk analyse. 18

19 Søkemotorer 3 Søkemotorer En søkemotor er et informasjonsgjenfinningssystem som kan gjenfinne dokumenter basert på spørringer. Informasjonsgjenfinning(IR) er en del av datateknikken som studerer gjenfinning av informasjon (ikke data) fra en samling av skrevne dokumenter. De gjenfunne dokumentene skal tilfredsstille en brukers informasjonsbehov, som ofte er uttrykt i naturlig språk. Eksempel på søkemotorer er Google[11], AltaVista[12], Kvasir[13] og Yahoo[14]. Alle disse søkemotorene gjenfinner dokumenter på Internett. Resten av dette kapittelet vil ta for seg søkemotorer som kan gjenfinne informasjon som ligger på Internett. Informasjonen om søkemotorer er hentet fra kapittel 2, 7 og 13 i Baeza-Yates og Ribeiro-Neto sin bok[4]. 3.1 Virkemåte Før søkemotoren kan ta i mot søk må den ha noen dokumenter å gjenfinne. Dokumenter får den tak i ved å sende ut en spider på Internett som kan hente informasjon om tilgjengelige dokumenter. De innhentede dokumentene blir deretter indeksert og man får en liste av ord med lenker til dokumenter hvor ordene forekommer[15]. Indeksering er forklart nærmere i delkapittel 3.3. Figur 5 viser hvordan en bruker kan få informasjon fra en søkemotor. Først skriver brukerne inn sin spørring i søkefeltet til søkemotoren. Denne spørringen blir omformulert før den blir sendt til indeksen. Omformuleringen kan bestå av fjerning av stoppord eller stemming av søkeordene. Disse begrepene er forklart i delkapittel og Google er et eksempel på en søkemotor som fjerner stoppord fra spørringen. Spørringsomformuleringsboksen i Figur 5 består av stiplede kanter fordi omformuleringen ikke trenger å være en del av søkemotoren. Søkemotoren kan sende spørringen rett til oppslag i indeksen. Etter at man har funnet dokumenter som inneholder søkeordene blir dokumentene sendt til rangeringsprosessen. Her blir dokumentene rangert etter hvor godt de besvarer spørringen. Det finnes mange ulike algoritmer man kan bruke her. Resultatet av rangeringen blir sent til brukeren som en rangert liste av lenker til relevante dokumenter. En utvidet forklaring av rangering finnes i delkapittel 3.4. Søkemotor spørring Resultatliste søkeord Rangering av dokumenter Oppslag i indeksen Spørringsomforming Dokumentinformasjon Figur 5 Virkemåten til en søkemotor Stoppord Stoppord er ord som forekommer ofte jevnt over en samling av dokumenter. Eksempel på stoppord er artikler, preposisjoner og konjunksjoner. De fleste søkemotorer tilbyr i dag fulltekstindeksering av dokumenter, der fulltekstindeksering innebærer at man indekserer alle 19

20 Søkemotorer ord i en tekst. Stoppordene blir også indeksert. En utvidet forklaring av indeksering finnes i delkapittel 3.3. Selv om de fleste søkemotorer bruker fulltekstindeksering er det noen som tar bort stoppordene som en bruker har skrevet i en spørring. Google gjør eksempelvis dette for at søketiden skal bli kortere. Om man ønsker å søke på spesifikke stoppord er det mulig å sette stoppordet i en frase ved å bruke hermetegn, eller man kan sette en pluss foran stoppordet man eksplitt ønsker skal tas med som et søkeord. Søkeeksempel 14 illustrerer et tilfelle der det er gunstig å kunne søke på stoppord. Hvis man ikke kunne søke på stoppord her hadde søket vært meningsløst. Søkeeksempel 14 To be or not to be Google vil for Søkeeksempel 14 ignorere alle ord utenom not, og dermed gi ut meningsløse svar, mens AltaVista og Yahoo vil gi ut treff som inneholder hele frasen Stemming Stemming er en teknikk for å redusere ord til deres grammatiske stamme. Eksempel på stemming er om man gjør ordet cats om til cat eller walking om til walk. Når personer skriver en spørring bruker de bare en morfologisk form for hvert ord. Den morfologiske formen man velger kan ha innvirkning på søkeresultatet. For eksempel kan relevante dokumenter inneholde flertallsformen, genitivsformen eller fortidsformen av et ord som er formet i presens i spørringen. Dette kan føre til at man går glipp av disse relevante dokumentene. For å unngå dette problemet kan man bruke stemming, som går ut på å redusere alle ord til deres stamme. Dette innebærer å ta bort alle affikser slik at kun den morfologiske roten står igjen. Dermed søker man kun etter stammen til ordet, og man får tak i alle relevante dokumenter, såfremt indeksen også er satt opp etter stammer. Ulempen med å bruke stemming er at man ikke kan skille mellom ulike morfologiske former av ord. Søkeeksempel 15 ville ha vært meningsløst å sette opp i et system som stemmer. Søkeeksempel 15 Cats Cat Notasjon: -(minustegn) betegner den boolske operatoren NOT som er forklart nærmere i delkapittel Søket sier at man skal ha dokumenter som inneholder Cats, men som ikke inneholder Cat. Fordelen med stemming er at man får større recall, man gjenfinner alle dokumenter som inneholder en eller annen morfologisk form av ordet. Ulempen er at precision blir lavere, fordi man kan gjenfinne dokumenter som man ikke var interessert i, som indikert i Søkeeksempel 15. Begrepene recall og precision er nærmere forklart i delkapittel Spørringsutforming For at man skal få et bra søkeresultat må man velge ut gode søkeord til å spesifisere søket. Hvis man ikke har en god spørring kan man heller ikke få et godt resultat. Søkeordene bestemmer hvilke dokumenter som blir hentet ned fra indeksen. Når man velger søkeord må 20

21 Søkemotorer man finne ut hvilken morfologisk form som er best å søke på, med mindre søkemotoren tilbyr stemming. Man må også finne ut om søkemotoren tilbyr søking på stoppord. Søkemotorer kan også tilby utvidelser av spørringer ved hjelp av en tesaurus. Dette er eksempel på søkekompetanse et grensesnitt kan simulere, slik at brukere som ikke har denne kompetansen kan utnytte søkemotoren fullt ut. Mitt system, som er beskrevet i kapittel 6, lager et slikt grensesnitt. 3.3 Indeksering Når et IR-system skal gjenfinne dokumenter kan det ikke søke sekvensielt gjennom alle dokumenter som finnes i samlingen, med mindre man har en veldig liten samling. Grunnen er at søket vil ta veldig lang tid. Derfor innfører IR-systemene det man kaller en indeks eller ofte et sett av indekser. I websøk er indeksen ekstra viktig fordi slike søkemotorer vanligvis ikke har de faktiske dokumentene lett tilgjengelig. De fleste indekser er en variant av inverterte filer. En invertert fil er en liste av sorterte ord som hver har et sett av pekere til sidene hvor de forekommer. For at brukeren skal kunne velge ut relevante dokumenter blir også en kort beskrivelse lagret i indeksen. Denne inneholder for eksempel størrelse, tittel, noen linjer eller noen overskrifter fra dokumentet. De vanligst indekseringsteknikkene kan redusere en invertert fil til 30% av tekststørrelsen. Om søkemotoren bruker komprimering i tilegg kan man redusere den til 10%. Når søkemotoren skal besvare en spørring, gjør den søk i indeksen. Antall søk er bestemt av antall ord i spørringen. Spørringer som består av to eller flere ord må gjennom et flettesteg, der søkemotoren kombinerer de ulike søkeresultatene fra indeksen. Dette steget er effektivt om ordene ikke er for frekvente i sammenligningen. Hvis ordet er veldig frekvent, får man lange lister av referanser til dokumenter som skal kombineres og fletteprosessen vil ta lengre tid. Inverterte filer kan også peke til bestemte ord inni dokumentene, men dette kan være kostbart på Web. Søkemotoren må i slike sammenhenger ikke bare peke til siden som inneholder ordene, men også bestemte posisjoner. Google er et eksempel på en søkemotor som bruker denne indekseringen. Fordelen med et slikt oppsett er at man enkelt kan finne fraser ved å se på avstanden mellom ord. Mange søkemotorer, for eksempel Google og AltaVista, tilbyr frasesøk. Hvilke andre teknikker de bruker er til en viss grad ukjent eller hemmelig. Søkemotorene kan også tilby mer avanserte søk som tar høyde for stavefeil og søk på regulære uttrykk. Indekseringen har innvirking på hvilke dokumenter søkemotoren kan gjenfinne og hvor raskt søkemotoren kan gjenfinne dem. 3.4 Rangering av dokumenter Før brukeren blir vist resultatet av søket i indeksen, blir dokumentene rangerte. Det vil si at de får en eller annen verdi som bestemmer hvor godt dokumentet passer til spørringen. Dokumentet som har høyest verdi blir plassert øverst i resultatlisten. De fleste søkemotorer bruker varianter av den boolske modellen eller vektormodellen for å rangere dokumenter. Disse modellene er forklart under. På web er rangeringen av dokumentet vanligvis avhengig av indekseringen og ikke selve teksten i dokumentet. Det er vanskelig å 21

22 Søkemotorer finne informasjon om rangeringsalgoritmene dagens søkemotorer bruker, fordi de er i stadig endring, ofte er komplekse og fordi informasjonen er hemmelig. Både rangering og indekseringsteknikker er søkemotorens konkurransefortrinn foran de andre søkemotorene i kampen om brukene, derfor ønsker ingen bedrifter å fortelle omverdenen om hvordan de har implementert søkemotorene sine Den boolske modellen Den boolske modellen består av setteoretiske teknikker som prøver å uttrykke informasjonsspørringer som boolsk algebra. Man bruker boolske uttrykk som AND, OR og NOT. Hvis man for eksempel ønsker å søke på informasjon om katter og hunder, kan man formulere spørringen katter AND hunder. Denne spørringen vil gjenfinne dokumenter som inneholder begge ordene katter og hunder. Hadde det stått OR i søket ville man gjenfunnet dokumenter som inneholdt katter, hunder eller begge deler. Fordelen med den boolske modellen er at den er svært enkel og intuitiv. Ulempen er at alle dokumenter blir merket enten som fullstendig relevant eller som fullstendig irrelevant, samt at brukeren har problemer med å formulere gode boolske spørringer. AltaVista er et eksempel på en søkemotor som tilbyr søk med de boolske operatorene AND, OR, og NOT Vektormodellen Vektormodellen bruker algebraiske IR-teknikker. Denne teknikken representerer dokumenter og spørringer som vektorer. For å gjøre teknikken effektiv tar man ofte bort stoppord før man lager vektoren. Grunnen er at stoppord er så vanlige at de ikke kan forbedre søket. Verdiene til de ulike koordinatene i en vektor representerer vekten eller viktigheten til en gitt term. Likheten mellom dokumenter og spørringer blir beregnet ved å sammenligne deres n- dimensjonale vektorer. I dette tilfelle er n det totale antall termer i spørringen. Man kan også sammenligne retningen til vektorene. For å beregne vektorene til dokumentene teller man forekomster av ord, og beregner frekvens. Ut fra denne beregningen får man en term-av-dokument-matrise, hvor hver kolonne i matrisen representerer et dokument sine termer. For å normalisere vektene i matrisen bruker man frekvensen et ord har i hele dokumentsamlingen. Følgende skjema kan brukes for å beregne vektingen: W IDF i, j = TFi, j i Denne metoden heter tf idf-vekting. Wi,j er vekten til term i i vektorrepresentasjonen til dokument j. TFi,j er frekvensen til term i i dokument j og IDFi er lik (N/ni), der N er totalt antall dokumenter i samlingen, mens ni er antall dokumenter som inneholder term i. IDF står for invers dokumentfrekvens. Det dokumentet som får høyest vekt vil i denne modellen få høyest rangering. Beregningen av dokumentvektorer er gjerne en del av indekseringsprosessen. Både den boolske modellen og vektormodellen kan utvides med funksjonalitet som tar høyde for sider som pekes til av sider i svaret eller sider som peker til en side i svaret. Pekere og lenker er beskrevet nærmer i neste delkapittel Bruk av hyperlenker Noen rangeringsalgoritmer bruker hyperlenkeinformasjon for å rangere dokumentene. Denne form for rangering utgjør en av forskjellene mellom webbaserte søkemotorer og IR i vanlige 22

23 Søkemotorer databaser. Antall lenker som peker til en side angir hvor populær siden er og hvilken kvalitet innholdet har. Mange like lenker mellom sidene eller sidene som referer til siden indikerer en viss relasjon mellom dem. Et eksempel på en teknikk som bruker hyperlenkeinformasjon er WebQuery. Teknikken tar et sett av websider, for eksempel svaret til en spørring, og rangerer dem basert på hvor sammenbundet sidene er. Videre utvider den settet ved å finne websider som har en sterk tilknytning til settet. PageRank(PR) er et annet eksempel. Dette er en teknikk som er en del av rangeringsalgoritmen til Google. Teknikken simulerer en bruker som tilfeldig navigerer gjennom weben ved å hoppe til en tilfeldig side med sannsynlighet q eller følger en tilfeldig hyperlenke med sannsynlighet 1-q. Videre antar man at brukeren aldri går tilbake til sider han har besøkt før ved å følge de samme stiene. La C(a) være antall utgående lenker fra a og anta at sidene p1 til pn peker til a. PR kan da beregnes på følgende måte: n PR( a) = q + (1 q) PR( p ) / C( i p i i= 1 Verdien q må bli satt av systemet. Rangeringsvekten til andre sider blir normalisert etter hvor mange lenker det er i siden. Hvilken rangeringsalgoritme man velger å bruke vil ha innvirkning på hvor godt resultatet blir og hvor raskt et søk kan bli gjennomført. 3.5 Evaluering i søkemotorer Når man skal evaluere hvor bra en søkemotor må man først finne ut hva man skal evaluere. Man kan for eksempel evaluere hvor brukervennlig søkemotoren er eller hvor god søkemotoren er til å gjenfinne relevante dokumenter. Det sistnevnte målet er mest brukt. For å finne ut av dette må man bestemme hvordan man vil utføre evalueringen og i hvilket miljø. Man må bestemme om man skal gjøre en automatisk eller manuell evaluering og hva slags testsett man skal bruke. For å gjøre en automatisk evaluering trenger man typisk en samling spørringer som har relatert et gitt sett av dokumenter til seg. Når man gir en slik spørring til søkemotoren skal den ideelt sett gjenfinne et bestemt sett av dokumenter som er definert i testsettet. På slike testsamlinger kan man bruke det man på engelsk kaller precision og recall. Man kan også bruke relevans, altså hvorvidt et dokument er relevant i forhold til spørringen eller ikke. Denne variabelen er boolsk. Eksempel på en samling som støtter automatisk evaluering er TREC-samlingen som blir forklart nærmere i neste delkapittel. Fordelen med automatiske evalueringer er at man kan kjøre gjennom mye større testsett, enn om en enkelt person manuelt skulle sjekke resultatene. Figur 6 viser et eksempel på sammenhengen mellom recall og precision [4]. Anta at man har en spørring I og en samling. I denne samlingen finnes det et sett R av dokumenter som er relevante for I. Anta deretter at man kjører et søk med I og får et svarsett A. I Figur 6 er R vist som en blå sirkel og A er vist som en gul. Ra er snittet av dokumentmengdene R og A. Recall er andelen av relevante dokumenter som er gjenfunnet. Ut fra ovennevnte variabler kan man beregne recall som følger: ) Recall = Ra R 23

24 Søkemotorer Precision er andelen av de gjenfunnede dokumentene som er relevante, og kan beregnes på følgende måte: Precision= Ra A Samling Relevante dokumenter i svarsett Ra Relevante dokumenter R Svarsett A Figur 6 Precision og Recall for en gitt spørring [4] Om man bruker et testsett der spørringen ikke har bestemte sett av dokumenter relatert til seg, kan man ikke bruke recall og precision. Om man bruker Internett under testing kan man ikke på forhånd vite hvilke dokumenter som er relevante for en bestemt spørring. Med andre ord kan man ikke bregne recall. For å beregne precision kan man si at Ra er antall relevante dokumenter man gjenfant og at A er antall dokumenter man gjenfant. Bestemmelse av relevante dokumenter blir i denne sammenheng gjort manuelt med at en person ser igjennom dokumentene for å sjekke om de besvarer spørringen. Når man evaluerer en webbasert søkemotor kan man velge å evaluere den i sitt rette miljø, nemlig ved å bruke Internett som testsamling, eller man kan bruke en testsamling der spørringene har bestemte dokumenter de skal gjenfinne. Mange søkemotorer velger å bruke testsamlinger der man har et bestemt sett av dokumenter som skal gjenfinnes ved bruk av bestemte spørringer, fordi slike evalueringer er enkle å gjøre automatisk, og fordi man får precision- og recall-verdier som kan sammenlignes med andre søkemotorer. Eksempel på slike samlinger er TREC-samlingene TREC For å kunne beregne precision og recall må man ha en samling der man har testspørringer med bestemte sett av dokumenter som er relevante for hver spørring. Slike samlinger må man ofte lage manuelt og det tar mye tid. Samlingen må også ha en slik kvalitet at man kan stole på at resultatene fra en evaluering er sanne. Forsking på informasjonsgjenfinning har ofte blitt anklaget for at de ikke har robuste og konsistenet testbenker for IR-systemer. For å gjøre noe med dette problemet startet man Text REtrieval Conference(TREC) i TREC [16] er sponset av National Institute of Standards and Technlolgy(NIST) og U.S. Department of Defense, og er en del av TIPSTER tekst programmet. Hensikten med TREC er å støtte forsking på informasjonsgjenfinningssystemer ved å tilby en stor testsamling man kan bruke ved evaluering av slike systemer. De har som mål å fremme 24

Informasjonsgjenfinning

Informasjonsgjenfinning INF5820 H2008 Institutt for Informatikk Universitetet i Oslo 18. september Outline 1 Hva er IR? Tradisjonell evaluering Invertert indeks 2 Rangering Evaluering av rangering 3 Grunnleggende egenskaper Vektorer

Detaljer

Sammendrag. Sammendrag

Sammendrag. Sammendrag Sammendrag Sammendrag I dette prosjektet er det laget et norsk system for Question Answering(QA), Mathilda2, som kan besvare norske faktaspørsmål innen bestemte spørsmålstyper med et kort svar i form av

Detaljer

Søkesystemer og thesauri

Søkesystemer og thesauri Søkesystemer og thesauri Information Architecture Peter Morville & Louise Rosenfeld. Kapittel 8 og 9 1 Innhold Når trenger vi søkemuligheter? Kvalitetskriterier Søkesystemers anatomi Algoritmer Presentasjon

Detaljer

EKSAMENSOPPGAVE I FAG TDT4117 INFORMASJONSGJENFINNING (BOKMÅL) SENSURVEILEDNING

EKSAMENSOPPGAVE I FAG TDT4117 INFORMASJONSGJENFINNING (BOKMÅL) SENSURVEILEDNING Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap EKSAMENSOPPGAVE I FAG TDT4117 INFORMASJONSGJENFINNING (BOKMÅL) SENSURVEILEDNING Faglig kontakt under eksamen:

Detaljer

INF1820: Oppsummering

INF1820: Oppsummering Arne Skjærholt 8. mai Arne Skjærholt 8. mai Kurset gir en innføring i lingvistisk teori og relaterer denne til språkteknologiske problemområder, metoder og applikasjoner. Fokus er på å koble teori til

Detaljer

På oppdagelsesreise etter den tapte informasjonen. Søk og søkemotorer Teoretisk gjennomgang

På oppdagelsesreise etter den tapte informasjonen. Søk og søkemotorer Teoretisk gjennomgang På oppdagelsesreise etter den tapte informasjonen Søk og søkemotorer Teoretisk gjennomgang Å finne informasjon Å finne relevant informasjon er ikke alltid like lett det kan være du får altfor mange treff

Detaljer

EKSAMENSOPPGAVE I FAG TDT4117 INFORMASJONSGJENFINNING (SENSURVEILEDNING)

EKSAMENSOPPGAVE I FAG TDT4117 INFORMASJONSGJENFINNING (SENSURVEILEDNING) Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap EKSAMENSOPPGAVE I FAG TDT4117 INFORMASJONSGJENFINNING (SENSURVEILEDNING) Faglig kontakt under eksamen:

Detaljer

INF1820: Ordklasser 2014-02-13. INF1820: Ordklasser. Arne Skjærholt. 13. februar. INF1820: Ordklasser. Arne Skjærholt. 13. februar

INF1820: Ordklasser 2014-02-13. INF1820: Ordklasser. Arne Skjærholt. 13. februar. INF1820: Ordklasser. Arne Skjærholt. 13. februar Arne Skjærholt 13. februar Arne Skjærholt 13. februar Ordklasser Ordklasser Ordklassene er bindeleddet mellom ordet (det morfologiske nivået) og syntaksen (setningsstrukturen). Det kan bestemme hva slags

Detaljer

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen INF2820 Datalingvistikk V2011 Jan Tore Lønning & Stephan Oepen FORMELLE OG NATURLIGE SPRÅK KONTEKSTFRIE GRAMMATIKKER 7. februar 2011 2 Naturlige språk som formelle språk Et formelt språk består av: En

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Tirsdag 12. juni 2012 Tid for eksamen: 9:00 15:00 Oppgavesettet er

Detaljer

Eksamensoppgave i TDT4117 Informasjonsgjenfinning. LØSNINGFORSLAG/Sensurveiledning

Eksamensoppgave i TDT4117 Informasjonsgjenfinning. LØSNINGFORSLAG/Sensurveiledning Institutt for datateknikk og informasjonsvitenskap Side 1 av 5 Eksamensoppgave i TDT4117 Informasjonsgjenfinning LØSNINGFORSLAG/Sensurveiledning Faglig kontakt under eksamen: Heri Ramampiaro Tlf.: 73591459

Detaljer

. Grammatiske problem med å beskrive ordklassen adverb og setningsleddet adverbial i norsk. Sverre Stausland Johnsen Universitetet i Oslo

. Grammatiske problem med å beskrive ordklassen adverb og setningsleddet adverbial i norsk. Sverre Stausland Johnsen Universitetet i Oslo .. Grammatiske problem med å beskrive ordklassen adverb og setningsleddet adverbial i norsk Sverre Stausland Johnsen Universitetet i Oslo stausland.johnsen@iln.uio.no Universitetet i Stavanger 15. januar

Detaljer

TDT4117 Information Retrieval - Autumn 2014

TDT4117 Information Retrieval - Autumn 2014 TDT4117 Information Retrieval - Autumn 2014 Assignment 1 Task 1 : Basic Definitions Explain the main differences between: Information Retrieval vs Data Retrieval En samling av data er en godt strukturert

Detaljer

HUIN100 Essay nr. 3. Søket. Antall ord: 991

HUIN100 Essay nr. 3. Søket. Antall ord: 991 HUIN100 Essay nr. 3 Antall ord: 991 Søking på internett kan være en utfordring, og kan lett avstedkomme en større mengde resultater enn man ønsker. For å avhjelpe denne situasjonen har de fleste søkemotorer

Detaljer

DIAGNOSERAPPORT. for. Dato:05.12.2012 Utført av: Jon P Hellesvik

DIAGNOSERAPPORT. for. Dato:05.12.2012 Utført av: Jon P Hellesvik DIAGNOSERAPPORT for Dato:05.12.2012 Utført av: Jon P Hellesvik Generell synlighet (pagerank) En god start er å sjekke den generelle synligheten på siden. Dette er en test som rangerer med utgangspunkt

Detaljer

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning INF2820 Datalingvistikk V2016 Jan Tore Lønning INF2820 Datalingvistikk 20. januar 2016 2 I dag: 1. Time: Datalingvistikk: motivasjon og eksempler Praktisk informasjon 2. Time: Regulære språk OBS: Lov å

Detaljer

Søkemotorer. - en guide for en bedre rangering. Søkemotorer en guide for bedre rangering. InBusiness AS 2006 1

Søkemotorer. - en guide for en bedre rangering. Søkemotorer en guide for bedre rangering. InBusiness AS 2006 1 Søkemotorer - en guide for en bedre rangering Søkemotorer en guide for bedre rangering. InBusiness AS 2006 1 Innledning Har du endelig fått deg et nettsted med bra design og oppdatert innhold MEN så oppdager

Detaljer

INF2820 Datalingvistikk V2014. Jan Tore Lønning

INF2820 Datalingvistikk V2014. Jan Tore Lønning INF2820 Datalingvistikk V2014 Jan Tore Lønning INF2820 Datalingvistikk 19. januar 2014 2 I dag: 1. Time: Datalingvistikk: motivasjon og eksempler Praktisk informasjon 2. Time: Endelige tilstandsteknikker

Detaljer

DIAGNOSERAPPORT. for. Dato:19122012 Utført av: Tommy Svendsen

DIAGNOSERAPPORT. for. Dato:19122012 Utført av: Tommy Svendsen DIAGNOSERAPPORT for Dato:19122012 Utført av: Tommy Svendsen Generell synlighet (pagerank) En god start er å sjekke den generelle synligheten på siden. Dette er en test som rangerer med utgangspunkt i hvor

Detaljer

Avansert Søk Må Dø. Laura Arlov laura@wordfixers.no

Avansert Søk Må Dø. Laura Arlov laura@wordfixers.no Avansert Søk Må Dø Laura Arlov laura@wordfixers.no Overblikk Hvilke søk snakker vi om? Hvem lager vi søk for? Hva er avansert søk? Avansert søk må dø Alternativer Virker / Virker ikke Hvilke søk snakker

Detaljer

3rd Nordic Conference of Computational Linguistics NODALIDA 1981 175

3rd Nordic Conference of Computational Linguistics NODALIDA 1981 175 175 T o v e F j e l d v i g I n s t i t u t t for p r i v a t r e t t s a v d e l i n g f o r E D B - s p 0 r s m A l N i e l s d u e l s g a t e 16 - O s l o 2 U T V I K L I N G A V E N K L E M E T O

Detaljer

Tekstanalyse for Geografisk informasjonsgjenfinning

Tekstanalyse for Geografisk informasjonsgjenfinning Tekstanalyse for Geografisk informasjonsgjenfinning Høstprosjekt TDT4710 Informasjonsforvaltning fordypningsemne av Ellen Røyneberg Hovedveileder: Ingeborg Sølvberg Institutt for datateknikk og informasjonsvitenskap,

Detaljer

Kanter, kanter, mange mangekanter

Kanter, kanter, mange mangekanter Kanter, kanter, mange mangekanter Nybegynner Processing PDF Introduksjon: Her skal vi se på litt mer avansert opptegning og bevegelse. Vi skal ta utgangspunkt i oppgaven om den sprettende ballen, men bytte

Detaljer

Test of English as a Foreign Language (TOEFL)

Test of English as a Foreign Language (TOEFL) Test of English as a Foreign Language (TOEFL) TOEFL er en standardisert test som måler hvor godt du kan bruke og forstå engelsk på universitets- og høyskolenivå. Hvor godt må du snake engelsk? TOEFL-testen

Detaljer

Enkle generiske klasser i Java

Enkle generiske klasser i Java Enkle generiske klasser i Java Oslo, 7/1-13 Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Del 1: Enkle pekere Før vi tar fatt på det som er nytt i dette notatet, skal vi repetere litt

Detaljer

INF2820 Datalingvistikk V2017 Forelesning 1.1, 16.1 Jan Tore Lønning

INF2820 Datalingvistikk V2017 Forelesning 1.1, 16.1 Jan Tore Lønning INF2820 Datalingvistikk V2017 Forelesning 1.1, 16.1 Jan Tore Lønning INF2820 Datalingvistikk 16. januar 2017 2 I dag: 1. Time: Datalingvistikk: motivasjon og eksempler Praktisk informasjon 2. Time: Regulære

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Forelesning 33: Repetisjon Dag Normann Matematisk Institutt, Universitetet i Oslo 26. mai 2008 Innledning Onsdag 21/5 gjorde vi oss ferdige med det meste av den systematiske

Detaljer

Innledning. MAT1030 Diskret matematikk. Kapittel 11. Kapittel 11. Forelesning 33: Repetisjon

Innledning. MAT1030 Diskret matematikk. Kapittel 11. Kapittel 11. Forelesning 33: Repetisjon Innledning MAT1030 Diskret matematikk Forelesning 33: Repetisjon Dag Normann Matematisk Institutt, Universitetet i Oslo 26. mai 2008 Onsdag 21/5 gjorde vi oss ferdige med det meste av den systematiske

Detaljer

Forelesning 33. Repetisjon. Dag Normann mai Innledning. Kapittel 11

Forelesning 33. Repetisjon. Dag Normann mai Innledning. Kapittel 11 Forelesning 33 Repetisjon Dag Normann - 26. mai 2008 Innledning Onsdag 21/5 gjorde vi oss ferdige med det meste av den systematiske repetisjonen av MAT1030. Det som gjensto var kapitlene 11 om trær og

Detaljer

Øving 4: Brukergrensesnitt

Øving 4: Brukergrensesnitt Øving 4: Brukergrensesnitt 1. Fleksibelt billettbestillingssystem for fly Systemet mitt vil fungerer mye som for eksempel Google. Jeg vil ha et søkefelt, hvor du kan skrive inn hva du vil, og ut ifra hva

Detaljer

En grunnleggende innføring i bruk av ASK

En grunnleggende innføring i bruk av ASK En grunnleggende innføring i bruk av ASK Liten ordliste: Korrektkorpuset: Grammatisk korrekte utgaver av innlærertekstene generert på grunnlag av korreksjoner som er foreslått under feilkodingen. Kontrollkorpuset:

Detaljer

LF - Eksamen i INF1820

LF - Eksamen i INF1820 LF - Eksamen i INF820 INF820 Eksamen vår 207 Hjelpemidler Ingen. Flervalgsoppgaver I oppgave og 6 får man 5 poeng for riktig svar og 0 poeng for galt svar. I oppgave 0 får du 2 poeng for hvert riktig svar

Detaljer

INF2820 Datalingvistikk V2015. Jan Tore Lønning

INF2820 Datalingvistikk V2015. Jan Tore Lønning INF2820 Datalingvistikk V2015 Jan Tore Lønning INF2820 Datalingvistikk 21. januar 2015 2 I dag: 1. Time: Datalingvistikk: motivasjon og eksempler Praktisk informasjon 2. Time: Endelige tilstandsteknikker

Detaljer

Eksamensoppgave i TDT4117 Informasjonsgjenfinning

Eksamensoppgave i TDT4117 Informasjonsgjenfinning Institutt for datateknikk og informasjonsvitenskap (IDI) Eksamensoppgave i TDT4117 Informasjonsgjenfinning Faglig kontakt under eksamen: Heri Ramampiaro Tlf.: 73591459 Eksamensdato: 07.12.2016 Eksamenstid

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UIVERSITETET I OSLO et matematisk-naturvitskapelige fakultet Eksam i: IF1820 Introduksjon til språk- og kommunikasjonsteknologi Eksamsdag: 17. juni 2016 Tid for eksam: 14.30 18.30 Oppgavesettet er på 6

Detaljer

Skanning del I. Kapittel 2 INF 3110/ INF

Skanning del I. Kapittel 2 INF 3110/ INF Skanning del I Kapittel 2 18.01.2013 1 Skanning: innhold (begge forelesningene) Hva gjør en skanner? Input: programteksten. Output: Ett og ett token fra programteksten (sekvensielt). Regulære uttrykk/definisjoner.

Detaljer

INF INF1820. Arne Skjærholt. Negende les INF1820. Arne Skjærholt. Negende les

INF INF1820. Arne Skjærholt. Negende les INF1820. Arne Skjærholt. Negende les Arne Skjærholt egende les Arne Skjærholt egende les σύνταξις Syntaks, fra gresk for oppstilling, er studiet av hvordan vi bygger opp setninger fra ord. Pāṇini (ca. 400 år f.kr.) er den første som formulerer

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Forelesning 27: Trær Dag Normann Matematisk Institutt, Universitetet i Oslo 30. april 2008 Oppsummering Mandag så vi på hvordan vi kan finne uttrykk og termer på infiks form,

Detaljer

Uke 10: Jakten på de forsvunnede subjektet: Om barns tidlige subjektsløse setninger.

Uke 10: Jakten på de forsvunnede subjektet: Om barns tidlige subjektsløse setninger. Uke 10: Jakten på de forsvunnede subjektet: Om barns tidlige subjektsløse setninger. I 2-3-årsalderen produserer barn ofte setninger som mangler subjektet: Tickles me. Adam 3;6 killer meg Mange du pain.

Detaljer

Fagerjord sier følgende:

Fagerjord sier følgende: Arbeidskrav 2A I denne oppgaven skal jeg utføre en analyse av hjemmesiden til Tattoo Temple (http://www.tattootemple.hk) basert på lenker. Analysen er noe basert på et tidligere gruppearbeid. Hjemmesiden

Detaljer

INF1820 2013-04-12 INF1820. Arne Skjærholt INF1820. Dagens språk: Russisk. dyes yataya l yektsiya. Arne Skjærholt. десятая лекция

INF1820 2013-04-12 INF1820. Arne Skjærholt INF1820. Dagens språk: Russisk. dyes yataya l yektsiya. Arne Skjærholt. десятая лекция Arne Skjærholt десятая лекция Dagens språk: Russisk. dyes yataya l yektsiya Arne Skjærholt десятая лекция N,Σ,R,S Nå er vi tilbake i de formelle, regelbaserte modellene igjen, og en kontekstfri grammatikk

Detaljer

Scanning - I Kap. 2. Hva scanneren gjør

Scanning - I Kap. 2. Hva scanneren gjør Scanning - I Kap. 2!! Hovedmål! Gå ut fra en beskrivelse av de enkelte tokens, og hvordan de skal deles opp i klasser! Lage et program (funksjon, prosedyre, metode) som leverer ett og ett token, med all

Detaljer

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi, NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Faglig kontakt under eksamen: Institutt

Detaljer

Oppsummering. Thomas Lohne Aanes Thomas Amble

Oppsummering. Thomas Lohne Aanes Thomas Amble Oppsummering Thomas Lohne Aanes Thomas Amble 14.11.04 Kapittel 2: Data Modell Mål: Data som skal brukes av applikasjonen blir spesifisert på en formell og likevel intuitiv måte. Resultat: Vi får et konseptuelt

Detaljer

VURDERINGER AV EKSEMPELSVAR TIL NORSKPRØVE, DELPRØVE I SKRIFTLIG FRAMSTILLING NIVÅ A1 A2

VURDERINGER AV EKSEMPELSVAR TIL NORSKPRØVE, DELPRØVE I SKRIFTLIG FRAMSTILLING NIVÅ A1 A2 1 NIVÅ A1 A2 Eksempeltekst 1 Oppgave 1, Skrive melding: Kandidaten svarer på oppgaven og skriver ved hjelp av enkle setninger og fraser en kort og enkel e-post om hva han/hun skal gjøre i helgen. Oppgave

Detaljer

AlgDat 12. Forelesning 2. Gunnar Misund

AlgDat 12. Forelesning 2. Gunnar Misund AlgDat 12 Forelesning 2 Forrige forelesning Følg med på hiof.no/algdat, ikke minst beskjedsida! Algdat: Fundamentalt, klassisk, morsomt,...krevende :) Pensum: Forelesningene, oppgavene (pluss deler av

Detaljer

SOSI standard - versjon 4.0 1 Del 1: Regler for navning av geografiske elementer. DEL 1: Regler for navning av geografiske elementer

SOSI standard - versjon 4.0 1 Del 1: Regler for navning av geografiske elementer. DEL 1: Regler for navning av geografiske elementer SOSI standard - versjon 4.0 1 DEL 1: Regler for navning av geografiske elementer SOSI standard - versjon 4.0 2 INNHOLDSFORTEGNELSE DEL 1: Regler for navning av geografiske elementer 1 0 Orientering og

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 27: Trær Dag Normann Matematisk Institutt, Universitetet i Oslo 4. mai 2010 (Sist oppdatert: 2010-05-04 14:11) Forelesning 27 MAT1030 Diskret Matematikk 4. mai 2010

Detaljer

Sprettball Erfaren ComputerCraft PDF

Sprettball Erfaren ComputerCraft PDF Sprettball Erfaren ComputerCraft PDF Introduksjon Nå skal vi lære hvordan vi kan koble en skjerm til datamaskinen. Med en ekstra skjerm kan vi bruke datamaskinen til å kommunisere med verden rundt oss.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 6. juni 2013 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:

Detaljer

APPENDIKS D Geminittisk språk/grammatikk

APPENDIKS D Geminittisk språk/grammatikk 1 APPENDIKS D Geminittisk språk/grammatikk Jeg har latt overskriften på dette appendikset bli sående i sin opprinnelige form, selv om jeg kun har maktet å gi et nokså usystematisk og mangelfullt innblikk

Detaljer

Typisk: Kan det være både nøkkelord og navn, så skal det ansees som nøkkelord

Typisk: Kan det være både nøkkelord og navn, så skal det ansees som nøkkelord Scanning-I Kap. 2 Hovedmål Gå ut fra en beskrivelse av de enkelte leksemer (tokens), og hvordan de skal deles opp i klasser Lage et program (funksjon, prosedyre, metode) som leverer ett og ett token, med

Detaljer

Hurtigstart guide. Searchdaimon ES (Enterprise Server)

Hurtigstart guide. Searchdaimon ES (Enterprise Server) Hurtigstart guide Searchdaimon ES (Enterprise Server) Innholdsfortegnelse Informasjon før oppsett... 2 Koble til strøm og nettverk... 3 Oppsett av system... 3 Konfigurasjonsveiviser... 4 Sette fast IP

Detaljer

INF2820 Datalingvistikk V2018 Forelesning 1 del 1, 15. jan. Jan Tore Lønning

INF2820 Datalingvistikk V2018 Forelesning 1 del 1, 15. jan. Jan Tore Lønning INF2820 Datalingvistikk V2018 Forelesning 1 del 1, 15. jan. Jan Tore Lønning INF2820 Datalingvistikk 14. januar 2018 2 I dag: 1. Time: Datalingvistikk: motivasjon og eksempler Praktisk informasjon 2. Time:

Detaljer

Typisk: Kan det være både nøkkelord og navn, så skal det ansees som nøkkelord

Typisk: Kan det være både nøkkelord og navn, så skal det ansees som nøkkelord Scanning - I Kap. 2 Hovedmål Gå ut fra en beskrivelse av de enkelte tokens, og hvordan de skal deles opp i klasser Lage et program (funksjon, prosedyre, metode) som leverer ett og ett token, med all nødvendig

Detaljer

Skanning del I INF /01/15 1

Skanning del I INF /01/15 1 Skanning del I INF 5110-2015 21/01/15 1 Skanning: innhold (begge forelesningene) Hva gjør en skanner? Input: Programteksten. Output: Ett og ett token fra programteksten (sekvensielt). Regulære uttrykk/definisjoner.

Detaljer

Obligatorisk oppgavesett 1 MAT1120 H16

Obligatorisk oppgavesett 1 MAT1120 H16 Obligatorisk oppgavesett MAT0 H6 Innleveringsfrist: torsdag /09 06, innen kl 4.30. Besvarelsen leveres på Matematisk institutt, 7. etasje i N.H. Abels hus. Husk å bruke forsiden som du finner via hjemmesiden.

Detaljer

3. Generell presentasjon av MT-programmet

3. Generell presentasjon av MT-programmet 3. Generell presentasjon av MT-programmet Innhold: 3.1. Innledning 3.2. Grensesnitt 3.3. Oversettelsesmodell og paradigmetype 3.3.1. Oversettelsesmodell 3.3.2. Paradigmetype 3.4. Målgruppe/ anvendelsesområder

Detaljer

EKSAMENSOPPGAVE I FAG TDT4117 INFORMASJONSGJENFINNING

EKSAMENSOPPGAVE I FAG TDT4117 INFORMASJONSGJENFINNING Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap EKSAMENSOPPGAVE I FAG TDT4117 INFORMASJONSGJENFINNING Faglig kontakt under eksamen: Heri Ramampiaro Tlf.:

Detaljer

IN2110 Obligatorisk innlevering 1a

IN2110 Obligatorisk innlevering 1a IN2110 Obligatorisk innlevering 1a Oppsett Leveres innen fredag 15. februar kl. 23.59 i Devilry. For IN2110 har vi laget et utviklingsmiljø for Python som inneholder programvare og data for de obligatoriske

Detaljer

Velkommen. Benedicte Raae @raae bgraphic.no

Velkommen. Benedicte Raae @raae bgraphic.no Velkommen Benedicte Raae @raae bgraphic.no Hvor kan vi søke? Søk med Google Søk med andre enn Google Kjært barn har mange navn Steg for steg Dagens agenda Hvor kan vi søke? Hvor kan vi søke? Generelle

Detaljer

Grunnleggende ferdigheter/momenter fra lokal læreplan

Grunnleggende ferdigheter/momenter fra lokal læreplan Årsplan engelsk Uke Tema fra Stairs Kompetansemål fra kunnskapsløftet Grunnleggende ferdigheter/momenter fra lokal læreplan Innhold/arbeidsmåter/evt praktiske aktiviteter/vfl/to 33 34 35 36 37 38 39 40

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF2820 Datalingvistikk Eksamensdag: 6. juni 2014 Tid for eksamen: 1430-1830 Oppgavesettet er på 5 side(r) Vedlegg: 0

Detaljer

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen Kanter, kanter, mange mangekanter Skrevet av: Sigmund Hansen Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole

Detaljer

MAT 1120: Obligatorisk oppgave 1, H-09

MAT 1120: Obligatorisk oppgave 1, H-09 MAT 110: Obligatorisk oppgave 1, H-09 Innlevering: Senest fredag 5. september, 009, kl.14.30, på Ekspedisjonskontoret til Matematisk institutt (7. etasje NHA). Du kan skrive for hånd eller med datamaskin,

Detaljer

Definisjonene og forklaringene i denne presentasjonen er hentet fra eller basert på kap. 1 (Kristoffersen: «Hva er språk?

Definisjonene og forklaringene i denne presentasjonen er hentet fra eller basert på kap. 1 (Kristoffersen: «Hva er språk? Definisjonene og forklaringene i denne presentasjonen er hentet fra eller basert på kap. 1 (Kristoffersen: «Hva er språk?») og 13 (Ryen: «Fremmedspråksinnlæring») i pensumboka SPRÅK. EN GRUNNBOK, Universitetsforlaget

Detaljer

Forelesning 27. MAT1030 Diskret Matematikk. Bevistrær. Bevistrær. Forelesning 27: Trær. Roger Antonsen. 6. mai 2009 (Sist oppdatert: :28)

Forelesning 27. MAT1030 Diskret Matematikk. Bevistrær. Bevistrær. Forelesning 27: Trær. Roger Antonsen. 6. mai 2009 (Sist oppdatert: :28) MAT1030 Diskret Matematikk Forelesning 27: Trær Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 27 6. mai 2009 (Sist oppdatert: 2009-05-06 22:28) MAT1030 Diskret Matematikk 6.

Detaljer

Lokal læreplan engelsk 4.klasse Lærebok: Stairs 4

Lokal læreplan engelsk 4.klasse Lærebok: Stairs 4 Lokal læreplan engelsk 4.klasse Lærebok: Stairs 4 Antall uker 8 Back to school Snake (alfabet og tall) Framføring av dikt Stairs 4 WB 4 CD Slip on one and two Bildekort 2a) bruke enkle lytte- og talestrategier

Detaljer

FutureLab - Søking på nett

FutureLab - Søking på nett Oppgavehefte FutureLab - Søking på nett 3 timer kurs i søkemetodikk og -verktøy 18. oktober 2012 Kursholdere: Nora MacLaren STAR, Avdeling for IT, Universitetet i Tromsø Vibeke Bårnes KS-biblioteket, Universitetsbiblioteket,

Detaljer

BAAN IVc. BAAN Data Navigator - Brukerhåndbok

BAAN IVc. BAAN Data Navigator - Brukerhåndbok BAAN IVc BAAN Data Navigator - Brukerhåndbok Utgitt av: Baan Development B.V. P.O.Box 143 3770 AC Barneveld The Netherlands Trykt i Nederland Baan Development B.V. 1997. Med enerett. Informasjonen i dette

Detaljer

INF5830, H2009, Obigatorisk innlevering 2. 1 Oppgave: Unære produksjoner i CKY

INF5830, H2009, Obigatorisk innlevering 2. 1 Oppgave: Unære produksjoner i CKY INF5830, H2009, Obigatorisk innlevering 2 Innleveringsfrist 4.11 1 Oppgave: Unære produksjoner i CKY For bottom-up parsere, som CKY, har vi forutsatt at grammatikken er på CNF. For de ikke-leksikalske

Detaljer

INF1820 INF1820 2013-02-14. Arne Skjærholt INF1820. Arne Skjærholt

INF1820 INF1820 2013-02-14. Arne Skjærholt INF1820. Arne Skjærholt Arne Skjærholt Quatrième leçon Arne Skjærholt Quatrième leçon µορφή - form λόγος - lære Morfologi er det laveste meningsbærende nivået i språk. Fonologi og fonetikk er lavere nivåer, men de er ikke meningsbærende

Detaljer

Snake Expert Scratch PDF

Snake Expert Scratch PDF Snake Expert Scratch PDF Introduksjon En eller annen variant av Snake har eksistert på nesten alle personlige datamaskiner helt siden slutten av 1970-tallet. Ekstra populært ble spillet da det dukket opp

Detaljer

INF120: Oblig 3. Yngve Mardal Moe

INF120: Oblig 3. Yngve Mardal Moe Yngve Mardal Moe Mar 28, 2019 Contents 1 Hva trenger dere for denne oppgaven 3 2 Hvordan skal dere arbeide med denne oppgaven 5 3 En søkeindeks 7 4 Å slå opp i en søkeindeks 9 5 Å utvide en søkeindeks

Detaljer

BESTEMT ELLER UBESTEMT FORM?

BESTEMT ELLER UBESTEMT FORM? BESTEMT ELLER UBESTEMT FORM? Substantivene kan være i bestemt eller ubestemt form på norsk. Vi har noen absolutte regler for hvilken form vi skal bruke, men tre viktige distinksjoner hjelper oss også når

Detaljer

OBLIG 2 WEBUTVIKLING

OBLIG 2 WEBUTVIKLING OBLIG 2 WEBUTVIKLING Oppgave 1 Design ved hjelp av skisser eller wireframes et nettsted med et "avansert" design. Lag spesifikke design for ulike skjermstørrelser og utskrift. Fokuser spesielt på å få

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer

Databaser fra et logikkperspektiv

Databaser fra et logikkperspektiv Databaser fra et logikkperspektiv Evgenij Thorstensen IFI, UiO Høst 2013 Evgenij Thorstensen (IFI, UiO) Databaser fra et logikkperspektiv Høst 2013 1 / 31 Outline 1 Logikk som verktøy 2 Relasjonsdatabaser

Detaljer

Hvordan komme i gang med MUSITs applikasjoner

Hvordan komme i gang med MUSITs applikasjoner Hvordan komme i gang med MUSITs applikasjoner Versjon av 21.1.2010 Innledning Før man kan få tilgang til MUSITs samlingsdatabaser, må man få tildelt et brukernavn og passord. Dette får man ved å henvende

Detaljer

INF1820 INF Arne Skjærholt INF1820. Arne Skjærholt

INF1820 INF Arne Skjærholt INF1820. Arne Skjærholt Arne Skjærholt Quatrième leçon Arne Skjærholt Quatrième leçon Previously... Alle rare ordene Alle rare morfene Previously... Coming up... Morfologi med datamaskin (computational morphology) Hvordan analysere

Detaljer

Opplæring i informasjonskompetanse

Opplæring i informasjonskompetanse Kurs 1: Å søke informasjon Ekholt 1-10-skole, ungdomstrinnet LÆRINGSMÅL Jeg kan effektivt søke etter hensiktsmessig informasjon. Jeg kan definere presise og hensiktsmessige søkeord 1 FØR DU SØKER Hva kan

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 10 Frist: 2014-04-11 Mål for denne øvinga:

Detaljer

Testrapport for Sir Jerky Leap

Testrapport for Sir Jerky Leap Jasmine Garry (s135600) Line Sørensen (s135590) Fredrik Hoem Grelland (s135595) Tor Anders Gustavsen (s127668) 1 1. Forord Dette dokumentet inneholder informasjon og redegjøring av tester foretatt i forbindelse

Detaljer

Brukermanual for administrasjonsverktøy Gruppe: 08-03

Brukermanual for administrasjonsverktøy Gruppe: 08-03 Brukermanual for administrasjonsverktøy Forord Denne manualen dekker administrasjonsgrensesnittet til applikasjonen. Den er tiltenkt personene som skal legge inn data, men kan også være til hjelp for de

Detaljer

Argumenter fra kommandolinjen

Argumenter fra kommandolinjen Argumenter fra kommandolinjen Denne veiledningen er laget for å vise hvordan man kan overføre argumenter fra kommandolinjen til et program. Hvordan transportere data fra en kommandolinje slik at dataene

Detaljer

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi INF1820: Introduksjon til språk-og kommunikasjonsteknologi Sjette forelesning Arne Skjærholt 25 januar, 2012 SIST GANG Forrige gang: Alle rare ordene Alle rare morfene Nå: Morfologi med datamaskin (computational

Detaljer

Ordklasser Inndelingen ORDKLASSEINNDELINGEN

Ordklasser Inndelingen ORDKLASSEINNDELINGEN Ordklasser Inndelingen ORDKLASSEINNDELINGEN Hvorfor lære om ordklasser? Viktig del av den grammatiske språkbeskrivelsen Forstå bøyningsmåter skrive korrekt Innsikt i hvordan norsk skiller seg fra andre

Detaljer

Testrapport Prosjekt nr. 2011-22 Det Norske Veritas

Testrapport Prosjekt nr. 2011-22 Det Norske Veritas Prosjekt nr. 2011 22 Testrapport Hovedprosjektets tittel Implementering av plugin og utvikling av wizard for Det Norske Veritas Prosjektdeltakere Magnus Strand Nekstad s156159 Jørgen Rønbeck s135779 Dato

Detaljer

INF 2820 V2015: Obligatorisk innleveringsoppgave 3

INF 2820 V2015: Obligatorisk innleveringsoppgave 3 INF 2820 V2015: Obligatorisk innleveringsoppgave 3 Besvarelsene skal leveres i devilry innen fredag 17.4 kl 18.00 Filene det vises til finner du i o /projects/nlp/inf2820/cfg Del 1 RD Parsing Oppgave 1:

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 26: Trær Roger Antonsen Institutt for informatikk, Universitetet i Oslo 5. mai 2009 (Sist oppdatert: 2009-05-06 22:27) Forelesning 26 MAT1030 Diskret Matematikk 5.

Detaljer

Veiledningen bygger i hovedtrekk på en veiledning utarbeidet v/medisinsk bibliotek, Ullevål universitetssykehus

Veiledningen bygger i hovedtrekk på en veiledning utarbeidet v/medisinsk bibliotek, Ullevål universitetssykehus Gratis på Internett SveMed+ - en søkeveiledning Høgskolen i Gjøvik, Biblioteket Mars 2006 Veiledningen bygger i hovedtrekk på en veiledning utarbeidet v/medisinsk bibliotek, Ullevål universitetssykehus

Detaljer

Verden. Steg 1: Vinduet. Introduksjon

Verden. Steg 1: Vinduet. Introduksjon Verden Introduksjon Processing Introduksjon Velkommen til verdensspillet! Her skal vi lage begynnelsen av et spill hvor man skal gjette hvilke verdensdeler som er hvor. Så kan du utvide oppgava til å heller

Detaljer

Oppgave 1 (samlet 15%)

Oppgave 1 (samlet 15%) 2 Du kan svare på norsk, dansk, svensk eller engelsk. Du skal svare på alle spørsmålene. Vekten på de ulike spørsmålene er oppgitt. Du bør lese gjennom hele settet slik at du kan stille spørsmål til faglærerne

Detaljer

1. Explain the language model, what are the weaknesses and strengths of this model?

1. Explain the language model, what are the weaknesses and strengths of this model? Øving 2 Task 1 Language Model 1. Explain the language model, what are the weaknesses and strengths of this model? En language model er en model som brukes til å forenkle spørringer etter ord i dokumenter.

Detaljer

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett. Norgestur Introduksjon Bli med på en rundreise i Norge! Vi skal lage et spill hvor du styrer et helikopter rundt omkring et kart over Norge, mens du prøver å raskest mulig finne steder og byer du blir

Detaljer

Synlighet for brukeren optimalisering av søk

Synlighet for brukeren optimalisering av søk Synlighet for brukeren optimalisering av søk Optimalisering handler om å gjøre opplevelsen best mulig for brukeren. Når vi snakker om søk: Den best mulige opplevelsen er at det er enkelt å finne det vi

Detaljer

Administrering av SafariSøk

Administrering av SafariSøk Administrering av SafariSøk Administrering av SafariSøk Revisjonshistorie Revisjon $Revision: 1.6 $ $Date: 2003/08/05 12:44:02 $ Innholdsfortegnelse 1. Om programmet... 1 Generelt... 1 2. Fremgangsmåter...

Detaljer

Lineære likningssystemer og matriser

Lineære likningssystemer og matriser Kapittel 3 Lineære likningssystemer og matriser I dette kapittelet skal vi sette sammen Kapittel 1 og 2. 3.1 Den utvidede matrisen til et likningssystem Vi starter med et lineært likningssystem med m likninger

Detaljer

DIAGNOSERAPPORT. B&W Caravan DA www.bwcaravan.no. Utført av: Jan Erik Iversen

DIAGNOSERAPPORT. B&W Caravan DA www.bwcaravan.no. Utført av: Jan Erik Iversen DIAGNOSERAPPORT B&W Caravan DA www.bwcaravan.no Utført av: Jan Erik Iversen Generell synlighet (pagerank) En god start er å sjekke den generelle synligheten på siden. Dette er en test som rangerer med

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Mer om strenger. - 3rd edition: Kapittel 8. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Tema: Mer om strenger. - 3rd edition: Kapittel 8. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Mer om strenger - 3rd edition: Kapittel 8 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære om Pensum Grunnleggende operasjoner på strenger Å skive/slice

Detaljer