Tekstanalyse for Geografisk informasjonsgjenfinning



Like dokumenter
INF INF1820. Arne Skjærholt INF1820. Dagens språk: Russisk. dyes yataya l yektsiya. Arne Skjærholt. десятая лекция

INF1820: Ordklasser INF1820: Ordklasser. Arne Skjærholt. 13. februar. INF1820: Ordklasser. Arne Skjærholt. 13. februar

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

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

INF1820: Oppsummering

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

INF 2820 V2016: Innleveringsoppgave 3 del 1

Slides til 12.1 Formelt språk og formell grammatikk

MAT1030 Diskret matematikk

Fagerjord sier følgende:

Ordklasser Inndelingen ORDKLASSEINNDELINGEN

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

Fasit til oppgaver i Språk i skolen, kapittel 4. Versjon: 15. mai 2015

"Det er fort gjort og skrive feil." En presentasjon av en automatisk grammatikkontroll for bokmål

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

MAT1030 Diskret Matematikk

LF - Eksamen i INF1820

Bjarte Furnes Førsteamanuensis, Institutt for pedagogikk, Universitetet i Bergen

Sandefjordskolen BREIDABLIKK UNGDOMSSKOLE ÅRSPLAN I SPANSK 10. TRINN SKOLEÅR

Norsk minigrammatikk bokmål

INF1820 INF Arne Skjærholt INF1820. dairoku: del 6, kougi: forelesning. Arne Skjærholt

Enkle generiske klasser i Java

INF2820 V2017 Oppgavesett 5 Gruppe 21.2

Mangelen på Internett adresser.

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

APPENDIKS D Geminittisk språk/grammatikk

uke Kapittel Språkbok Lesebok KL 06: Elvenene skal -

Sandefjordskolen BREIDABLIKK UNGDOMSSKOLE ÅRSPLAN I SPANSK 10. TRINN SKOLEÅR Periode 1: UKE Kompetansemål:

Grammatikk Adverb. Forteller oss noe nytt om ord eller setninger

Forelesning 25. MAT1030 Diskret Matematikk. Litt repetisjon. Litt repetisjon. Forelesning 25: Trær. Dag Normann

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

Language descriptors in Norwegian Norwegian listening Beskrivelser for lytting i historie/samfunnsfag og matematikk

MAT1030 Diskret Matematikk

INF2820 V2017 Oppgavesett 5 arbeidsoppgaver

På spor av forfatteren Læringsstrategier. Zeppelin SB kap.1 «Lær å lære» s Tankekart BISON Nøkkelord Sammendrag Samskjema

Bachelorprosjekt 2015

Kanter, kanter, mange mangekanter

"IQ-spilldesign" lærerveiledning detektivspill

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

Oppgaver til kapittel 4

Vedlegg Brukertester INNHOLDFORTEGNELSE

Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2)

norsk grammatikk bok C2FFB2EE7079E5C7671E474DBC1B7657 Norsk Grammatikk Bok

Litt om kompilering og interpretering. Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2) Syntaks og semantikk

Hvordan grafisk løsning av visittkort og brosjyrer vil framhevet Tøtta UB?

HR analysen. Ny versjon Brukermal. Administratorer

INF2820 Datalingvistikk V Gang Jan Tore Lønning

Setningsledd. Norsk som fremmedspråk Side 131

INF 2820 V2015: Obligatorisk innleveringsoppgave 3

UNIVERSITETET I OSLO

Språk Skriving Læringsmål Vurdering

Velkommen til kurset Norsk i barnehagerelatert dagligtale! 1. Samling november 2013

UNIVERSITETET I OSLO

Om å bruke Opp og fram!

Test of English as a Foreign Language (TOEFL)

Enalyzer Norge. Nice to know - ESS

Sandefjord 20. september Førstelektor Vigdis Alver

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

MAT1030 Forelesning 25

Snake Expert Scratch PDF

Testrapport Prosjekt nr Det Norske Veritas

Sjekkliste B2-nivå. 1 Har du brukt stor/liten forbokstav, punktum (.), komma (,) og spørsmålstegn (?) riktig?

Mer om WSD Ordlikhet. Ordlikhet INF5820 H2008. Jan Tore Lønning. Institutt for Informatikk Universitetet i Oslo. 17. september

3. Generell presentasjon av MT-programmet

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

PROEX.NO. En webbasert samhandlingsløsning. Utviklet av Eskaler as. Rogaland Kunnskapspark Postboks 8034 Postterminalen 4068 Stavanger

Hva ønsker jeg å utrykke?

2/6/2012. Begrensninger ved regulære språk. INF2820 Datalingvistikk V2012. Formelle språk som ikke er regulære KONTEKSTFRIE GRAMMATIKKER.

NIO 1. runde eksempeloppgaver

KURS FOR SPRÅKHJELPERE. Innhold og gjennomføring

OVERFLATE FRA A TIL Å

En enkel lærerveiledning

LESEVERKSTEDET Damm forlag. Ærfugl. Det er vår. Oversatt til Bliss symbolspråk. Leseverkstedet En serie på 18 lettlesbøker fra Damm forlag

ÅRSPLAN I NORSK FOR 3. TRINN, SKOLEÅRET

Informasjonsorganisering. Information Architecture Peter Morville & Jorge Arango Kapittel 4, 5 & 6

INF2820 Datalingvistikk V2012. Jan Tore Lønning

LESEVERKSTEDET Damm forlag. Tina på tur. Tina er på tur i. Oversatt til Bliss symbolspråk. Leseverkstedet En serie på 18 lettlesbøker fra Damm forlag

KANDIDATUNDERSØKELSE

Norsyg en syntaksbasert dyp parser for norsk

Datamodellering 101 En tenkt høgskoledatabase

8. KLASSE Læreverk: Amigos Uno Lærer: David Romero

Hvorfor får elevene problemer med tekstoppgaver? Hva kan vi gjøre for at elevene skal mestre tekstoppgaver bedre?

LESEVERKSTEDET Damm forlag

Årsplan i norsk for 5. klasse Kriterier markert med gult er fra lokal læreplan. Kriterier (eleven kan når )

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

Dokumentasjon av XML strukturer for ByggSøk

Memo - Notat. Oppsummering - status etablering av Smak av kysten. Kopi til: Dato: Referanse:

Spørsmål 1.1 (10%) Lag en ikke-deterministisk endelig tilstandsautomat (NFA) som beskriver dette språket.

Årsplan engelsk fordypning 2014/2015

INF 2820 V2016: Obligatorisk innleveringsoppgave 3

RENDALEN KOMMUNE Fagertun skole. Årsplan i norsk 5.-7.trinn fra høst 2018

Verden. Steg 1: Vinduet. Introduksjon

Spørsmålskompilering del 1

Fagplan i norsk 6. trinn

Utplukk og sortering. Innhold

INF2820 Datalingvistikk V Gang 13.4 Jan Tore Lønning

BESTEMT ELLER UBESTEMT FORM?

Repetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon

En grunnleggende innføring i bruk av ASK

FAGPLAN I NORSK FOR 7. TRINN HØSTEN 2016

Transkript:

Tekstanalyse for Geografisk informasjonsgjenfinning Høstprosjekt TDT4710 Informasjonsforvaltning fordypningsemne av Ellen Røyneberg Hovedveileder: Ingeborg Sølvberg Institutt for datateknikk og informasjonsvitenskap, Norges teknisk- naturvitenskaplige universitet, Høsten 2004

Sammendrag Sammendrag I geografiske informasjonsgjenfinningssystem vektlegges ord og fraser som angir en geografisk lokasjon på jordens overflate. Det er derfor nyttig å kunne identifisere stedsnavn, slik at de kan være med på å danne grunnlaget for indekseringen av dokumenter. Oppgaven presenterer en løsningsmetode for å identifisere stedsnavn i norske tekster. Metoden er utarbeidet ved å se på problem som oppstår når man skal designe system som gjenkjenner og klassifiserer egennavn. Løsningen er basert på en undersøkelse av eksisterende system og særnorske egenskaper ved egennavn. Løsningsmetoden består av tre steg: 1. Finne egennavn 2. Finne egennavn som er første ord i setning 3. Klassifisere egennavn Man finner egennavn som forekommer midt i en setning ved å lete etter ord eller sekvenser av ord med stor forbokstav. Deretter undersøkes det om første ord i en setning er et egennavn ved hjelp av en enkel men effektiv algoritme. Algoritmen ser på ordet som et egennavn hvis det forekommer med stor forbokstav et annet sted i teksten. Ulempen med algoritmen er at man kan miste egennavn hvis det kun forekommer som første ord i en setning. I slike tilfeller kan man derimot anta at egennavnet ikke har stor betydning for teksten i sin helet. Til slutt blir egennavne klassifisert. Dette gjøres ved hjelp av heuristikker. Heuristikkene tar ikke utgangspunkt i lister med stedsnavn. Hver forekomst av et egennavn blir klassifisert individuelt. På denne måten kan løsningsmodulen gjenkjenne ukjente stedsnavn, i tillegg til at den håndterer at et egennavn kan ha forskjellig betydning i forskjellige sammenhenger. Når alle egennavnene er klassifisert, gir løsningsmetoden ut en liste med stedsnavn og antall ganger hvert navn forekommer i teksten. På denne måten er det mulig å bruke resultatet til indeksering i et geografisk informasjonsgjenfinningssystem. Løsningsmetoden er basert på en undersøkelse av følgende system for det engelske språket og et prosjekt for de skandinaviske språkene: Nominator Oki Information Extraction System MUlti Source Entity Finder Nomen Nescio Project De tre systemene for det engelske språket og systemene som er utviklet i forbindelse Nomen Nescio Project er beregnet på ulike domener. De har derfor ulike løsningsmetoder på noen av problemene. På denne måten er de eksisterende systemene med å kartlegge mulige løsningsmetoder på typiske problem. Sammen med en kort introduksjon til forskningsnettverkene Message Understanding Conference og Automatic Content Extraction gir oversikten en god introduksjon for andre som står overfor en lignende oppgave.

Forord Forord Rapporten er et resultat av et prosjektarbeid i forbindelse med faget TDT 4710 Informasjonsforvaltning fordypningsemne. Jeg vil gjerne takke hovedveileder Ingeborg Sølvberg og hjelpeveileder Øyvind Vestavik for deres veiledning gjennom prosjektet. Sølvberg har vært til god hjelp i organiseringen av oppgaven min mens Vestavik har bidratt med generelle kommentarer på innholdet. På denne måten har deres veiledning vært med å øke kvaliteten på rapporten. Jeg vil også takke Kristin Hagen og Janne Bondi Johannessen ved Tekstlaboratoriet, Universitet i Oslo for informasjon om Nomen Nescio Project og Diana Maynard ved Universitet i Sheffield for informasjon om MUlti Source Entity Finder. Til slutt vil jeg takke Anders Hustoft, Jeanine Lilleng og min far, Inge Røyneberg, for korrekturlesing av rapporten og ikke minst mine medstudenter Olaug Østhus og Helge Thomas Hellerud for interessante diskusjoner gjennom semesteret.

Innhold Innhold 1 Innledning...- 11-2 Grunnleggende teori...- 12-2.1 Naturlig språk -prosessering...- 12-2.2 Informasjonsekstraksjon...- 16-2.3 Tekst mining...- 17-2.4 Evalueringsmål...- 18-3 Forskningsnettverk...- 20-3.1 Message Understanding Conference...- 20-3.2 Automatic Content Extraction...- 21-4 Løsningsstrategier...- 23-4.1 Eksisterende system...- 23-4.2 Problem og eksempel på løsninger...- 27-4.3 Publisert evaluering...- 37-4.4 Oppsummering...- 43-5 Egennavn i det norske språket...- 45-5.1 Retningslinjer...- 45-5.2 Avgrensninger...- 48-6 Min løsningsmetode...- 50-6.1 Moduler...- 50-6.2 Scenario...- 50-6.3 Oppsummering...- 57-7 Konklusjon...- 58-8 Veien videre...- 60-9 Referanser...- 62 -

Figur- og tabelliste Figurliste Figur 1 Syntaksdrevet semantisk analyse [2]...- 12 - Figur 2 Et analysetre av setningen The cat sat on the mat [3]...- 15 - Figur 3 Informasjonsgjenfinning (IR) [7]...- 17 - Figur 4 Informasjonsekstraksjon (IE) [7]...- 17 - Figur 5 Precision og recall for en informasjonsforespørsel [12]...- 18 - Figur 6 Resultat fra alle oppgavene i MUC-7. [15]...- 21 - Figur 7 Oversikt over Nominator...- 24 - Figur 8 Oversikt over Oki IE [19]...- 25 - Figur 9 Oversikt over MUSE [16]...- 26 - Figur 10 Oversikt over moduler i systemet...- 50 - Tabelliste Tabell 1 Antall navn i de forskjellige gazetteers [25]...- 37 - Tabell 2 Evalueringsresultatet til Nominator...- 38 - Tabell 3 Utdrag av evalueringsresultatet til Oki IE [27]...- 38 - Tabell 4 Utdrag av evalueringsresultatet til BNC skriftlig samling [16]...- 39 - Tabell 5 Utdrag av evalueringsresultatet til BNC muntlig samling [16]...- 39 - Tabell 6 Utdrag av evalueringsresultatet til e-post samlingen [16]...- 40 - Tabell 7 Utdrag av evalueringsresultatet til nyhetssamlingen [16]...- 40 - Tabell 8 Utdrag av evalueringsresultatet til det sve nske FS systemet med gazetteers [25]...- 41 - Tabell 9 Utdrag av evalueringsresultatet til det danske CG systemet med gazetteers [25]...- 41 - Tabell 10 Utdrag av evalueringsresultatet til det danske FS systemet med gazetteers [25]...- 41 - Tabell 11 Utdrag av evalueringsresultatet til det norske MBL systemet med gazetteers [25]...- 41 - Tabell 12 Utdrag av evalueringsresultatet til det norske ME systemet med gazetteers [25]...- 41 - Tabell 13 Utdrag av evalueringsresultatet til det norske CG systemet med gazetteers [25]...- 42 - Tabell 14 Individuelle evalueringsresultat til systemene i NNP [25]...- 42 - Tabell 15 Utdrag av evalueringsresultatet til ARNER [11]....- 42 - Tabell 16 Sammenligning av evalueringsresultat....- 43 - Tabell 17 Oversikt over setningene...- 51 - Tabell 18 Regler for å finne ord med stor forbokstav....- 51 - Tabell 19 Liste med egennavn fr a midt i en setning...- 52 - Tabell 20 Liste med første ord i en setning...- 52 - Tabell 21 Liste med egennavn i teksten...- 53 - Tabell 22 Regler for å undersøke første ord i setning....- 53 - Tabell 23 Oversikt over mulige heuristikker...- 55 - Tabell 24 Liste med egennavn og tilhørende type...- 56 - Tabell 25 Endelig liste med stedsnavn....- 57 -

1 Innledning 1 Innledning Helt siden 1980-tallet er det forsket mye på hvordan man kan gjenkjenne og klassifisere egennavn i tekster. Egennavn er en benevnelse for en person, et sted, en organisasjon eller lignende og kan ikke behandles på samme måte som andre ord [1]: Names require special processing by most text applications: they cannot be translated, checked for spelling or interchanged with synonyms in the same way common words can. På slutten av 1990-tallet førte forskingen til at flere system utviklet for det engelske språket fikk svært gode resultat. Etter hvert gikk man over til å lage system for andre språk som for eksempel japansk. I nyere tid har man også begynt å utvikle norske system som gjenkjenner egennavn, men det gjenstår enda en del forskning før man oppnår like gode resultat som man har i system for det engelske språket. Å kunne forstå og identifisere egennavn kan ses på som en viktig del av applikasjoner som driver med naturlig språk-prosessering. System som gjenkjenner egennavn er et viktig verktøy som kan brukes i forbindelse med blant annet informasjonsgjenfinning og maskinoversetting. Oppgaven fokuserer på å gjenkjenne geografiske lokasjoner i forbindelse med geografisk informasjonsgjenfinning. I slike system vektlegges ord og fraser som angir en geografisk lokasjon på jordens overflate. Det er derfor nyttig å kunne identifisere stedsnavn, slik at de kan være med på å danne grunnlaget for indekseringen av dokumenter. Mer konkret går oppgaven ut på å utvikle en løsningsmetode som kan identifisere stedsnavn i norske tekster. Dette innebærer å utvikle regler eller heuristikker som igjen kan brukes i forbindelse med indeksering av geografiske dokumenter. Oppgaven er rettet mot å løse typiske problem som oppstår i forbindelse med gjenkjenning og klassifisering av egennavn. Det er løsningen på disse problemene som danner grunnlaget for løsningsmetoden. Det finnes flere metoder for gjenkjenning og klassifisering av egennavn som har gitt gode resultat i system for det engelske språket. Ved å se på hvordan metodene fungerer, kan man se om det er mulig å bruke de samme på norsk. For å løse problemene er det derfor viktig å se på hvordan andre har gått frem for å løse dem. Sammen med retningslinjer for egennavn på norsk kan man på denne måten bestemme hvilken løsning som best egner seg til oppgaven. - 11 -

2 Grunnleggende teori 2 Grunnleggende teori Dette kapittelet gir en kort introduksjon til naturlig språk-prosessering, informasjonsekstraksjon og tekst mining. Noen evalueringsmål som blir brukt senere i dokumentet blir også presentert. 2.1 Naturlig språk-prosessering Naturlig språkprosessering [2], [3], [4] er en prosess hvor en tekst i naturlig språk blir analysert og tillagt en mening automatisk. En slik prosessering kan bestå av fire steg: 1. Leksikalsk analyse Setter sammen bokstaver til ord, ved hjelp av en ordbok. 2. Syntaktisk analyse Finner gyldige analysetrær for teksten. 3. Semantisk analyse Finner hvilken mening teksten har. 4. Pragmatisk analyse Finner referanser til personer og ting i språket, for eksempel: Lisa måtte gå på butikken, hun hadde glemt å kjøpe melk. Den pragmatiske analysen finner relasjonen mellom Lisa og hun. Figur 1 viser en syntaksdrevet semantisk analyse. Prosesseringen består kun av to steg, syntaktisk og semantisk analyse. Den syntaktiske analysen bruker en parser for å finne gyldig analysetrær for setninger. Det vil si at den syntaktiske analysen finner alle mulige lingvistiske strukturer for setningen. Den semantiske analysen tar inn analysetrærne og prøver å finne hvilken mening setningen har. Mening av setningen vil være avhengig av ordene i setningen, hvordan de er ordnet, gruppert og relasjonene mellom dem. Kapittel 2.1.1 og 2.1.2 beskriver nærmere hva som skjer i de to prosessene. Inndata Syntaktisk analyse Semantisk analyse Semantisk representasjon Figur 1 Syntaksdrevet semantisk analyse [2] 2.1.1 Syntaktisk analyse Syntaktisk analyse er en metode som finner formelle relasjoner mellom ord. Kapittelet går nærmere inn på hva som skjer med inndataene for å generere et analysetre for setningene. Ordklasser Alle ord har en grammatisk funksjon som ofte blir kalt Part-Of-Speech (POS). POS er en engelsk betegnelse for ordklasser, som for eksempel substantiv, verb, adjektiv, adverb, artikler, pronomen, preposisjoner og konjunksjoner. Den viktigste grunnen til at man deler ord inn i ordklasser er at man da får nyttig informasjon om ordet og ordene rundt. Inndeling av ord i ordklasser kalles ofte ordklassetagging og er - 12 -

2 Grunnleggende teori prosessen hvor alle ord i en samling blir tildelt en ordklasse eller en annen leksikalsk klasse. Slike ordklassetaggere spiller en viktig rolle i språkgjenkjenning, naturlig språk analysering og informasjonsgjenfinning. Inndataen til en ordklassetagger er en streng av ord, mens utdataen gir den mest sannsynlige ordklassen til hvert enkelt ord. Dessverre er det ikke alltid enkelt å automatisk tilegne et ord en ordklasse. Dette ser man for eksempel i denne setningen: The can will rust. [3] I dette tilfellet er det tre ord som er tvetydige, can, will og rust, det vil si at disse ordene kan tilhøre mer enn en ordklasse. Can og will kan være et hjelpeverb, et vanlig verb eller et substantiv. På samme måte kan rust være et verb eller et substantiv. Slike tvetydigheter har man også på norsk, for eksempel kan ordet huske enten være et substantiv eller et verb. Problemet til en ordklassetagger er å bestemme hvilken ordklasse ordet skal ha i den rette sammenhengen. Mange ordklassetaggere er avhengig av en ordbok for å bestemme ordklassen til et ord. Et problem som da oppstår er hvordan man skal tildele ukjente ord, det vil si ord som ikke er i ordboken, en ordklasse. Egennavn er eksempel på en ordklasse som er i stadig utvikling. For å kunne lage en ordklassetagger som også kan ta høyde for slike ord, er det nødvendig å ha en prosess som kan gjette hvilken ordklasse et ukjent ord har. En av de beste algoritmene for å håndtere ukjente ord er å se på hvordan et ord er stavet. Eksempel på dette er ord som har endelsen s på engelsk og ene på norsk, slike ord er ofte substantiv i flertallsform. Ord som starter med store forbokstaver er vanligvis substantiv eller egennavn hvis de ikke er første ord i en setning. De fleste taggealgoritmene kan deles inn i to kategorier, regelbasert ordklassetagger eller stokastisk ordklassetagger. En regelbasert ordklassetagger har en database med regler som spesifiserer i hvilke tilfeller et tvetydig ord skal ha en bestemt ordklasse. Stokastiske ordklassetaggere løser tvetydigheter ved hjelp av et treningskorpus for å finne hvor stor sannsynligheten er for at et ord skal ha en bestemt ordklasse. Relasjoner mellom ord I norsktimene i grunnskolen lærte man hvordan man skal analysere en setning. Det man gjorde da var å finne subjekt, verbal, direkte objekt, indirekte objekt, predikativ og adverbial. Ved å analysere en setning på denne måten finner man relasjoner mellom ordene i setningen. Line ga snømannen et skjerf. [5] I eksempelet over er Line et subjekt siden det er hun som utfører en handling i setningen. For at en setning skal være fullstendig, må den også inneholde et verbal, i dette tilfellet er det ga. Verbalet forteller hva noen gjør i en setning. Vi har altså allerede nå knyttet en relasjon mellom Line og ga, det var Line som ga. I neste omgang finner vi direkte objekt ved å stille dette spørsmålet: Hva ga Line? Svaret er et skjerf, det vil at et skjerf er det direkte objektet. Helt til slutt finner man det indirekte objektet, som forteller hvem handlingen blir gjort for. I dette tilfellet ble handlingen gjort for snømannen, og snømannen er derfor et indirekte objekt. - 13 -

2 Grunnleggende teori Grammatikker I språkteknologiportalen [6] defineres syntaks slik: Syntaks er et system av regler som beskriver hvordan setninger kan formes fra basiselementer i et språk, for eksempel morfemer, ord og ordklasser. Dette vil med andre ord si at hvis man vil finne informasjon om syntaksen i en tekst, må man se på setningen og hvordan den er bygget opp. For å kunne bestemme syntaksen til en tekst er man avhengig av noen regler som er satt sammen i et system. Et slikt system kaller man en grammatikk. Den engelske og norske grammatikken blir ofte beskrevet som en frasestruktur. Det vil si at språket er bygget opp av fraser som er assosiert til de største ordklassene, som for eksempel substantivfrase, verbfrase og preposisjonsfrase. Grammatikken er en konsistent måte å spesifisere relasjoner mellom frasene. Grammatikker består vanligvis av: Et sett av terminale symbol (ordene i språket). Et sett av ikke terminale symbol (frasene i språket). En initial ikke terminal (den største strukturen, statment/uttrykk (S) ). Et sett av regler som definerer relasjoner mellom terminale og ikke terminal symboler. Kontekstfrie grammatikker er den viktigste klassen av grammatikker. Grammatikken består av et sett av regler eller produksjoner som sier hvordan symboler av språket kan grupperes og ordnes sammen. Grunnen til at kontekstfrie grammatikker er den viktigste grammatikken er at det er enkelt å lage effektive algoritmer i tillegg til at grammatikken kan uttrykke noe av det som gjør naturlig språk komplekst. Den kontekstfrie grammatikken blir sett på som: Et redskap for å generere setninger. Et redskap for å tilegne en struktur til en gitt setning. Et eksempel på en regel i kontekstfri grammatikk er: Uttrykk (S) Substantiv_Frase(NP) Verb_Frase(VP) [2] Denne regelen sier at et uttrykk kan bestå av en substantivfrase etterfølgt av en verbfrase. Analysetre Som nevnt innledningsvis, gjenkjenner den syntaktiske analysen en setning og tilordener den en syntaktisk struktur. Det vil si at man finner relasjoner mellom ordklasser. Disse relasjonene danner et grunnlag for et analysetre. Hvis det ikke er mulig å lage et analysetre for en setning, er det en stor sannsynlighet for at setningen inneholder en grammatisk feil. Analysetreet danner også grunnlaget for den semantiske analysen, som er beskrevet i kapittel 2.1.2. Derfor spiller analysetreet en viktig rolle i forbindelse med maskinoversetting, spørsmålsbesvaring og informasjonsekstraksjon. - 14 -

2 Grunnleggende teori Figur 2 viser hvordan setningen The cat sat on the mat, og den norske oversettelsen, analyseres ved hjelp av et analysetre. Som man kan se har alle ordene i setningen fått tildelt en ordklasse. Disse ordklassene danner grunnlaget for fraser. For eksempel så ser vi at en substantivfrase, NP, består av en determinant etterfølgt av et substantiv. I den norske oversettelsen er det brukt engelske benevnelser på ordklasser og fraser, slik at det skal være lettere å se likheten mellom analysetrærne. S S VP VP PP PP NP NP NP NP Det N V P Det N N V P N The cat sat on the mat Katten satt på matten Figur 2 Et analysetre av setningen The cat sat on the mat [3] De fleste analysesystem bruker en av to søkestrategier, top-down søk eller bottom-up søk. I top-down søk prøver man å bygge analysetreet ved ta utgangspunkt i roten til treet, S, og regler fra grammatikken. Treet bygges nedover til man når ordklassene. Hvis et tre inneholder løvnoder som ikke stemmer overens med inndataen, blir det forkastet. Det er kun det treet som passer til setningen som beholdes. I bottom-up starter man med ordene i setningen. Ved hjelp av grammatikkreglene prøver man å bygge et tre. Hvis det ikke er mulig å komme frem til rotnoden, forkastes treet. Det er kun det treet som kommer helt opp til rotnoden som beholdes. Tvetydigheter Når man genererer analysetre vil man ofte få problem med strukturelle tvetydigheter, det vil si at en grammatikk tilegner mer enn et mulig analysetre for en setning. Eksempel på strukturelle tvetydigheter er: Preposisjonsfrase tvetydighet (PP attachment) Konjunksjonstvetydighet En setning har en PP tvetydighet hvis en preposisjonsfrase kan forbindes til analysetreet på forskjellige steder. Et eksempel på en slik tvetydighet er setningen: One morning I shot an elefant in my pyjamas. [2] En morning skjøt jeg en elefant i min pyjamas. - 15 -

2 Grunnleggende teori I dette tilfellet kan preposisjonsfrasen enten knyttes til en substantivfrase eller en verbfrase. I det første tilfellet vil setningen få en humoristisk betydning, elefanten befant seg i mannes pyjamas da den ble skutt. Mens i det andre tilfellet, er det personen som er ikledd en pyjamas mens han skyter en elefant. Det oppstår en konjunksjonstvetydighet hvis det er forskjellige sett av fraser som kan kombineres sammen med en konjunksjon. Engelsk old men and women [old[men and women]] [old men] and [women] Norsk gamle menn og kvinnene [gamle [menn og kvinner]] [gamle men] og [kvinner] I dette tilfellet [2] er det ikke lett å vite om ordet old gjelder både for men og women eller bare for men. 2.1.2 Semantisk analyse Semantisk analyse er en prosess hvor man finner meningen til en setning. I syntaksdreven semantisk analyse kan meningen til en setning bli komponert fra meningen av delene i setningen. Meningen til setningen baseres på relasjonene mellom ord, hvordan de er gruppert og ordnet. En måte å tilordene meningen til en setning i kontekstfrie grammatikker er ved hjelp av førsteordens predikat logikk. I et informasjonsekstraksjonssystem som skal identifisere stedsnavn er det ikke nødvendig å bruke avanserte metoder. Man trenger ikke å forstå innholdet i hele teksten, fordi man er kun interesserte i en liten brøkdel av innholdet. Det er derfor nok å se etter forhåndsbestemte mønster, for eksempel i form av en liste med typiske ord eller lignende. 2.2 Informasjonsekstraksjon Informasjonsekstraksjon (IE) [4], [7], [8] er en form for naturlig språk-prosessering hvor man tar deler av en tekst og produserer en strukturell representasjon av informasjon man er interessert i. Man kan gjøre dette ved å utføre en syntaktisk og semantisk analyse av inndataen. Begrepene IE og informasjonsgjenfinning (IR) blir noen ganger brukt om hverandre, men de er egentlig to forskjellige begrep. Figur 3 viser funksjonen til et IR system. Ut fra en samling av dokumenter finner systemet de dokumentene som kan passe til en gitt spørring. I IE får man derimot kun et sett av fakta som passer til noen forhåndsdefinerte hendelser, entiteter eller relasjoner. Eksempel på hva et IE system kan hente ut av en samling av tekster er entiteter som personnavn eller stedsnavn. Dette er illustrert i Figur 4. Man kan derfor si at IE er prosessen hvor man finner spesifikk informasjon fra en samling tekster. - 16 -

2 Grunnleggende teori Figur 3 Informasjonsgjenfinning (IR) [7] Figur 4 Informasjonsekstraksjon (IE) [7] Dokumenter som er hentet ut av en samling ved hjelp av IR må analyseres av mennesker. Det vil si at man må lese gjennom dokumentene for å se om de er svar på det man leter etter. Når man får informasjon fra et IE system så har en maskin automatisk hentet ut den informasjonen som er av interesse. Vi kan derfor si at i noen tilfeller er det mer verdifullt for en person å få informasjon fra et IE system enn fra et IR system. I tillegg kan IE system håndtere spørringer som ikke er mulig å håndtere i IR system, som for eksempel finne stedsnavn eller personnavn. IE system må kunne håndtere utfordringer, som for eksempel: Å presist kunne gjenkjenne entiteter som navn, organisasjoner, steder og lignende. Å kunne gjenkjenne korrelasjoner mellom ord. Lage forbindelser mellom entiteter og hendelser. For eksempel kan man lage en relasjon mellom et stedsnavn og en hendelse som skjer på det stedet. Selv om IE byr på flere utfordringer enn IR, er det enklere å lage et IE system enn et naturlig språk forståelsessystem. Grunnen til dette er at i IE system så leter man kun etter den informasjonen som kan passe til forhånddefinerte hendelser. Det vil si at man ikke trenger å forstå hele teksten. 2.3 Tekst mining Tekst mining [4], [9], [10] trekker interessant og ikke-trivielle mønster og kunnskap ut fra ustrukturerte tekster. Dette kan gjøres manuelt, ved å lese gjennom en tekst og gjengi et referat, eller automatisk ved at en maskin prosesserer teksten og trekker ut viktige assosiasjoner. Tekst mining kan ses på som en utvidelse av data mining. Data mining finner interessante mønster eller kunnskap fra store databaser eller datavarehus, mens tekst mining finner mønster eller kunnskap fra ustrukturerte tekstdokumenter. I følge Tan [10] er 80 prosent av informasjon i en bedrift i form av tekst. Dette fører til at det er et stort behov for å kunne lage system som kan finne slike interessante mønster eller interessant kunnskap. Siden tekstene som skal behandles ofte er ustrukturerte, kan tekst mining være en stor utfordring. Tekst mining bygger på flere felt, som IR, tekst - 17 -

2 Grunnleggende teori analyse, IE, clustering, kategorisering, visualisering, databaseteknologi, maskin læring og data mining. Sullivan [9] hevder at følgende tre disipliner er fundamentene til tekst mining: Informasjonsgjenfinning Relevante dokumenter må finnes i store samlinger. Matematisk lingvistikk og naturlig språk-prosessering Informasjon må identifiseres i teksten. Mønstergjenkjenning Man søker etter mønster i teksten, for eksempel forhåndsdefinerte sekvenser. 2.4 Evalueringsmål De vanligste evalueringsmålene [11], [12] som blir brukt i IR og IE er precision og recall. Figur 5 viser en oversikt over hva disse evalueringsmålene tar utgangspunkt i. Den hvite firkanten er samlingen av de dokumentene som systemet skal finne informasjon fra. Den blå sirkelen indikerer alle relevante dokument for en gitt spørring eller lignende, mens den røde sirkelen indikerer resultatet systemet ga av spørringen. Snittet mellom disse sirklene, det lilla feltet, er de relevante dokumentene i resultatet. Ut i fra dette kan man regne ut både precision og recall. Precision er andelen av funnet dokumenter som er relevante. Recall er andelen av relevante dokumenter som er funnet i samlingen av dokumenter. Precision = Ra A Recall = Ra R Samling av dokumener Svarsettet A Relevante dokument R Relevante dokument i svarsettet Ra Figur 5 Precision og recall for en informasjonsforespørsel [12] Precision og recall illustreres best med et lite eksempel. Ut i fra en samling på 100 dokumenter er det 50 dokumentene som er relatert til Japan. Når det kjøres en spørring med en forespørsel om Japan, får man totalt 75 dokumenter. Av disse dokumentene er det kun 30 som er relatert til Japan. Ut i fra dette får vi disse verdiene: 30 30 R = 50, A = 75, Ra = 30, Precision = = 0, 4 og Recall = = 0, 6 75 50 Det kan også være interessant å se en sammenheng mellom precision og recall under evalueringen av et system. I noen tilfeller er det slik at når man oppnår en høy recall så er det på bekostningen av precision og omvendt. Ved å kombinere precision og - 18 -

2 Grunnleggende teori recall i et mål, kan man dermed se hvor godt systemet er med hensyn til både recall og precision. Et eksempel på et slikt mål er F-mål: 1 F mål = 1 1 a + (1 a) Precision Recall a er en valgfri verdi mellom 0 og 1 som bestemmer vekten av precision og recall. - 19 -

3 Forskningsnettverk 3 Forskningsnettverk I forskningsmiljøene er det viktig å kunne samles for å diskutere resultat og problem. Dette kapittelet presenterer to konferanser som har bidratt mye til forskning innen IE. 3.1 Message Understanding Conference Message Understanding Conference (MUC) [13], [14] var en serie av konferanser som startet på 1980-tallet. Målet var å fremme forskning innen IE. For å delta på konferansen måtte deltagerne utvikle et IE system for et gitt domene, som hadde samme målsetning og oppgaver. Kort tid før konferansen ble alle systemene evaluert med samme tekstsamling og krav. Etter hvert fikk MUC flere deltagere og ble dermed også mer anerkjent blant forskningsmiljøene. MUC konferansene fikk også flere og mer komplekse oppgaver som deltagerne kunne delta i. På denne måten har MUC spilt en stor rolle for å fremme forskning inne IE. På konferansene fikk forskere en unik mulighet til å diskutere forskjellige nye teknikker innen naturlig språk. De fikk diskutert teknikker med utgangspunkt i et felles domene og felles tekstsamlinger. Dette var en ny fremgangsmåte i disse miljøene. Før MUC ble de fleste teknikkene utviklet i isolasjon og for forskjellige domener. Det var derfor vanskelig å diskutere teknikker og lignede, siden de kunne være spesifikke for akkurat det domenet eller den samlingen. Hvis man ser på de forskjellige systemene som er blitt utviklet i forbindelse med MUC, kan vi se en evolusjon. Systemene på de første konferansene brukte forskjellige teknikker, men etter hvert brukte systemene de samme teknikkene. Vi kan se eksempler på dette ved valg av analyseringsmetode i MUC-3. Her varierer systemene fra å analysere setningene fullstendig til å ikke analysere i det hele tatt. Ser man derimot på valg av algoritmer i en av de senere konferansene har de fleste systemene valgt å bruke delvis analyse. 3.1.1 MUC-7 MUC-7 [15] er den siste konferansen som ble holdt. Konferansen fant sted i Washington D.C. i april 1998. Det var totalt seks evalueringsoppgaver, hvor man kunne delta i en eller flere. Oppgavene hadde følgende beskrivelse: Named Entity Task (NE) Denne oppgaven gikk ut på å tagge strenger som personnavn, organisasjonsnavn, stedsnavn, dato, tid og prosent ved hjelp av Standard Generalized Markup Language, SGML. Multi-lingual Entity Task (MET) Dette var en egen NE oppgave for japansk og kinesisk. Template Element Task (TE) Oppgaven gikk ut på å hente ut basisinformasjon om organisasjoner, personer og kulturgjenstander. Template Relation Task (TR) Her skulle systemene hente ut relasjonsinformasjon fra employee_of, - 20 -

3 Forskningsnettverk manufactur_of og location_of relasjoner. Scenario Template Task (ST) Oppgaven gikk ut på å hente ut forhåndsspesifisert hendelsesinformasjon og å relatere informasjonen til en bestemt organisasjon, person eller kultur entitet som er involvert i hendelsen. Coreference Task (CO) Her skulle systemene finne informasjon om korrelasjoner mellom utrykk, det vil si forekomster av en entitet inkludert de som ble tagget i NE og TE. Figur 6 viser en oversikt over resultatene av alle oppgavene fra MUC-7. Som vi kan se har de fleste systemene som deltok i NE fått svært gode resultat. Figur 6 Resultat fra alle oppgavene i MUC-7. [15] 3.2 Automatic Content Extraction Automatic Content Extraction (ACE) [16], [17] er et program som startet i september 1999. I motsetning til MUC som drev med lingvistisk analyse av tekstene, ser ACE på semantisk analyse. ACE er et program for å utvikle teknologi som kan hente ut og karakterisere innholdet eller meningen med et språk. Hvert halvår har ACE formelle evalueringer. Det er åpen deltagelse under disse evalueringene, men det er viktig å merke seg at resultatene av evalueringen er lukket. ACE har to oppgaver, Entity Detection and Tracking (EDT) og Relation Detection and Characterisation (RDC). Vi kan sammenligne EDT med MUC NE oppgaven, mens RDC kan sammenlignes med MUC TE oppgaven. Målet med ACE er å produsere strukturert informasjon om entiteter, hendelser og relasjoner mellom dem. Tekstene som brukes i ACE evalueringen har varierende kvalitet og kilder. De varierer fra avisartikler til tekster som er blitt automatisk omgjort fra tale til tekst. - 21 -

3 Forskningsnettverk Disse tekstene har ikke like god kvalitet, for eksempel inneholder ofte avisartikler setninger som er lange, i tillegg til at de ikke alltid er grammatisk korrekte. I tekster som er automatisk oversatt fra tale til tekst kan man ikke være sikre på at oppdelingen av setninger er korrekt. Man kan ikke være avhengig av å identifisere egennavn ved hjelp av stor bokstav, da oversetteren ikke nødvendigvis har regler for dette. En annen ting som kan være problematisk er at tale ikke er grammatisk korrekt, man ordlegger seg ofte helt annerledes i muntlig tale enn når man skriver tekst. Alt dette fører til at systemene står ovenfor en stor utfordring. - 22 -

4 Løsningsstrategier 4 Løsningsstrategier Kapittelet inneholder en oversikt over typiske problem som oppstår når man skal gjenkjenne og klassifisere egennavn. Løsningen av problemene er basert på en undersøkelse av eksisterende system og prosjekt. Kapittel 4.1 gir en kort oversikt over hvilke system og prosjekt jeg valgte å se på og kapittel 4.2 inneholder en oversikt over de aktuelle problemene med tilhørende løsninger. Kapittel 4.3 evaluerer systemene ved å ta utgangspunkt i tidligere publiserte evalueringer. Helt til slutt inneholder kapittel 4.4 en oppsummering av hvilke valg som er tatt i kapittelet 4.1 Eksisterende system Jeg valgte å se på tre forskjellige IE system og et prosjekt: Nominator Oki Information Extraction System MUlti Source Entity Finder Nomen Nescio Project Det første systemet jeg valgte var Nominator. Grunnen til at jeg valgte å ta med dette var først og fremst at jeg tidlig fant en forskningsrapport [1] på systemet som forklarer enkelte av teknikkene forholdsvis detaljert. Det andre systemet jeg valgte var Oki Information Extraction System. Dette er et system som har en engelsk variant og en japansk variant, og deltok i MUC-7 og MET-2. Siden systemet er bygget for to helt forskjellige språk, ville jeg se om dette hadde noen form for innvirkning på hvordan systemet løser typiske problem. Det siste engelske systemet jeg valgte å se nærmere på, MUlti Source Entity Finder, er relativt nytt og har deltatt i ACE. MUlti Source Entity Finder har ved flere anledninger blitt konvertert til andre språk og jeg ville derfor se om det inneholdt teknikker som kunne brukes i norske system. Til slutt så jeg nærmere på et forskningsprosjekt mellom Sverige, Norge og Danmark, Nomen Nescio Project. I dette prosjektet er det utviklet seks forskjellige system. Kapitlene 4.1.1 til 4.1.4 inneholder en kort presentasjon over systemene og prosjektet. 4.1.1 Nominator Nominator [1], [18] er et IE system som finner egennavn i engelske tekster ved hjelp av heuristikker. Systemet bruker ikke naturlig språk prosesseringsverktøy som parsere, ekspertsystem eller lignende. Dette fører til at systemet ikke kan forstå teksten i dokumentene, noe som gjør det vanskeligere å håndtere enkelte tvetydigheter. Utviklerne til Nominator har lagt mer vekt på at systemet skal være raskt og robust. Nominator er et system som ble laget for å finne egennavn i nyheter. Egennavnene klassifiseres i følgende typer: personnavn stedsnavn organisasjonsnavn ukategorisert Systemet inneholder ikke funksjonalitet for å klassifisere andre typer egennavn, som for eksempel produktnavn, kjemikalier og lignede. Disse navnene får typen - 23 -

4 Løsningsstrategier ukategorisert. Nominator har også problem med utradisjonelle egennavn som for eksempel en butikk ved navet Mr. Tall. Grunnen til dette er at Nominator bruker heuristikker og at Mr. blir vektet med høy konfidensialitet for en person. En annen ting som er viktig å merke seg er at Nominator ikke tar vare på antall forekomster av et egennavn. Som vi kan se av Figur 7 er Nominator delt inn i fire forskjellige moduler. Kapittel 4.2 beskriver det som skjer i de første tre modulene. Siden den fjerde modulen ikke er relevant for oppgaven min, henviser jeg til IBM sin forskningsrapport [1] for en nærmere beskrivelse. Finne potensielle egennavn Kandidat liste Dele sekvenser opp i mindre egennavn Oppdatert kandidat liste Klassifisering av egennavn Klassifiserte lister Aggregere klasser på tvers av dokumenter Figur 7 Oversikt over Nominator 4.1.2 Oki Information Extraction System Oki Information Extraction System (Oki IE) [19], [20] er et system for det engelske språket som ble utviklet i forbindelse med MUC-7 evalueringen. Det ble også laget en japansk versjon av Oki IE som deltok i MET-2. Oki IE bygger på det japanske maskinoversettingssystemet (MT-system) PENSÉE. PENSÉE er et av de ledende MT-systemene i Japan og kan oversette fra engelsk til japansk og fra japansk til engelsk. Oppbygningen til de to systemene er relativt likt, det som skiller dem er heuristikker og grammatikkregler. Oki IE bruker MT-systemet for å generere analysetrær ved å gjenkjenne mønster i setningene. Den syntaktiske informasjonen som ligger i trærne brukes så for å finne egennavn, mens den semantiske informasjonen i trærne brukes for å klassifisere egennavnene. Oki IE identifiserer og kategoriserer egennavn ved å gå gjennom følgende fire prosesser: 1. Overfladisk mønstergjenkjenning 2. Prosessering av tagger for analyse - 24 -

4 Løsningsstrategier 3. Strukturell mønstergjenkjenning 4. Etterprosessering Figur 8 viser en oversikt over Oki IE. Kapittel 4.2 beskriver hvordan Oki IE finner og klassifiserer egennavnene i tekstene. For en nærmere forklaring av systemet henviser jeg til beskrivelsen av systemet som ble utgitt i forbindelse med MUC-7 [19]. Tekst Overfladiske mønstergjenkjenningsmoduler (NE, CO og TE) SGML tagg prosessorer Morfologisk og syntaktisk analyse + Strukturelle mønstergjenkjenningsmoduler NE filter NE resultat Korrelasjonsanalyse modul CO filter CO resultat TE analyse modul TE filter TE resultat TR analyse modul TR filter TR resultat Figur 8 Oversikt over Oki IE [19]. 4.1.3 MUlti Source Entity Finder MUlti Source Entity Finder (MUSE) [16], [21], [22] er et IE system som kan gjenkjenne navneentiteter i forskjellige typer tekst. Det er i utganspunktet laget for det engelske språket, men det har ved flere anledninger blitt konvertert til andre språk. MUSE har deltatt i ACE, det vil si at MUSE er laget for å finne entiteter i tekster av varierende kvalitet. MUSE kan for eksempel finne entiteter i tekster som er automatisk oversatt fra muntlig språk. MUSE er en spesialisert versjon av ANNIE [23] (A Nearly-New Information Extraction system). Figur 9 viser en oversikt over arkitekturen til MUSE. Prosessene i MUSE representeres som rektangler, mens de ovale rektanglene er data. Tokenisereren deler teksten inn i enkle tokens, som for eksempel tall, symboler og andre ord av forskjellige typer. Setningsdeleren deler teksten opp i setninger. POStaggeren er en modifisert versjon av Brill taggeren. Den produserer en ordklassetagg som en kommentar til hvert ord eller symbol. Gazetteer består av lister som inneholder land, byer, organisasjoner og lignende. Den inneholder også nøkkelord - 25 -

4 Løsningsstrategier som for eksempel Ltd. Disse listene er lagt inn i en endelig tilstandsmaskin, slik at de kan sammenlignes med tokens. Den semantiske taggeren består av Java Annotation Patterns Engine (JAPE) regler. JAPE reglene beskriver mønster, som spesifiseres ved å beskrive en tekst streng eller kommentar. Ortho sammenlikneren gjenkjenner relasjoner mellom entiteter. Kapittel 4.2 beskriver hvordan MUSE finner og klassifiserer egennavnene i tekstene. For en mer detaljert beskrivelse av de forskjellige delene i systemet henviser jeg til beskrivelsen av MUSE [16]. URL eller tekst Dokument format (XML, HTML, SGML, Epost osv) GATE dokument MUSE IE moduler Engelsk tokeniserer Tegnklasse sekvensregler Semantisk tagger JAPE IE Grammatikk Cascade Ortho sammenligner FS Gazetteer oppslag Lister Setningsdeler Hepple POS tagger JAPE Setning mønster Brill regel leksikon Pronominal korrelasjoner GATE dokument XML samling av IE Kommentarer JAPE Grammatikk Utdata Figur 9 Oversikt over MUSE [16] 4.1.4 Nomen Nescio Project Nomen Nescio Project (NNP) [24], [25], [26] er et samarbeidsprosjekt mellom de tre skandinaviske landene Norge, Sverige og Danmark. Fem forskjellige forskergrupper i de tre landene har utviklet seks automatiske navnegjenkjennere i forbindelse med prosjektet. Disse seks systemene er: 1. Norsk CG 1 (Constraint grammatikk) 2. Norsk ME (Maksimalt Entropi) 3. Norsk MBL (Minnebasert læring) 4. Svensk FS (kontekst-sensitiv endelig-tilstand) 5. Dansk FS 6. Dansk CG 1 Et regelbasert system som bruker constraint (betingelses) grammatikk. Grammatikken baseres på relasjoner mellom ord. - 26 -

4 Løsningsstrategier NNP fokuserer på semantiske kategorier, hvor de bruker to forskjellige fremgangsmåter, Funksjoner over Form og Form over Funksjon. Kapittel 4.2.4 beskriver disse fremgangsmåtene. I forbindelse med NNP er det skrevet en hovedoppgave [11] som beskriver forløperen til det norske CG systemet, kaldt ARNER. ARNER fokuserer på å gjenkjenne stedsnavn og publikasjonsnavn. Systemet bygger på en norsk tagger kalt Oslo-Bergen taggeren. For å kunne bruke taggeren til å gjenkjenne navn er den utvidet med 78 semantiske regler. ARNER bruker de samme teknikkene som de norske systemene og blir derfor ikke beskrevet nærmere. Kapittel 4.3 kommer allikevel til å sammenligne ARNER og det norske CG systemet. 4.2 Problem og eksempel på løsninger Kapittelet presenterer typiske problem man står ovenfor når man skal designe et system for identifisering av stedsnavn. Problemene er delt inn i følgende kategorier: 1. Hvordan finne egennavn i ukjente tekster? 2. Hvordan håndtere første ord i en setning? 3. Hvordan håndtere preposisjons- og konjunksjonsuttrykk? 4. Hvordan klassifisere egennavnene? 5. Hvordan håndtere forkortelser? For å finne svar på disse problemene tok jeg utgangspunkt i Nominator, Oki IE, MUSE og NNP. Kapittel 4.2.1 til 4.2.5 presenterer hvordan problemene er løst. Kapittel 4.2.6 går nærmere inn på bruk av lister med egennavn i forbindelse med klassifisering. 4.2.1 Hvordan finne egennavn i ukjente tekster? Egennavn er som nevnt en benevnelse for en person, en organisasjon, et sted eller lignende. For å identifisere stedsnavn er det derfor naturlig å finne alle egennavnene i teksten. Nominator er som nevnt delt inn i fire moduler. Den første modulen finner potensielle egennavnkandidater. Modulen skanner hele teksten for å finne alle ord med stor forbokstav og sekvenser av ord som har stor forbokstav. Disse forekomstene blir tatt vare på i en kandidatliste. Selv om en stor forbokstav er en god indikasjon på egennavn, vil listen inneholde en del ord som ikke er egennavn. Eksempel på dette kan være Monday, TV eller Norwegian. Disse ordene blir ukategorisert i den tredje modulen. Kapittel 4.2.4 forklarer hvordan Nominator klassifiserer egennavnene. Ved å kun finne sekvenser av ord med stor forbokstav finner ikke Nominator navn som Antoine de Saint-Exupery. Dette personnavnet inneholder et ord med liten forbokstav, og ville derfor ikke blitt fanget opp med enkle regler. For å håndtere slike navn, har Nominator definert at navnesekvenser også kan inneholde noen forhåndsdefinerte ord uten stor forbokstav. Noen egennavn inneholder også tall. Tallet blir sett på som en del av egennavnsekvensen hvis det ikke kommer etter en preposisjon, et komma, en dato eller et annet tall. - 27 -

4 Løsningsstrategier Oki IE bruker den syntaktiske informasjonen som ligger i analysetrær generert av MT-systemet for å finne egennavn. Ved hjelp av denne informasjonen gjenkjenner Oki IE alle ord eller sekvenser av ord som har en stor forbokstav. Systemet tar også høyde for navn som kan inneholde preposisjoner, ved å flette noen funksjonelle ord sammen med preposisjoner. For eksempel [19] er det funksjonelle ordet Bank etterfulgt av preposisjonen of en god indikasjon på et egennavn, slik som navnet Bank of Tokyo. MUSE bruker en annen strategi enn de to foregående systemene for å finne egennavn. Det er POS taggeren som i utgangspunktet bestemmer om et ord er et egennavn eller ikke. POS taggeren bruker en standard ordbok og et standard regelsett, både ordboka og regelsettet kan modifiseres manuelt. Taggeren har også tre andre ordbøker, en for tekst med bare store bokstaver, en for bare små bokstaver og en for blanding. POS taggeren er språk avhengig, men hvis man bytter ut den engelske ordboka med en ordbok for et annet vestlig språk, er det mulig å få brukbare resultat. Systemene i NNP tar utgangspunkt i å finne alle ord med stor forbokstav. Det vil si at de seks systemene finner ord og sekvenser med ord med stor forbokstav, slik som Nominator. Disse ordene blir sett på som potensielle egennavn. For å finne komplekse egennavn har systemene en egen modul med regulære uttrykk. For eksempel setter denne modulen sammen navnet Universitetet i Colombo. Navnet blir satt sammen på grunn av følgende regel [26]: et ord med stor forbokstav i bestemt form + preposisjonen i + ord med stor forbokstav. Kort oppsummert kan vi se at de fleste systemene tar utgangspunkt i å finne ord og sekvenser av ord med stor forbokstav. En ulempe ved å bruke denne strategien er at det er stor sannsynlighet for at kandidatlisten inneholder mange ord og uttrykk som ikke er egennavn. Dette er imidlertid ikke noe problem for Nominator, da de fleste av disse ordene blir ukategorisert i senere moduler. En annen måte å unngå at listen skal inneholde mange ord er å lage spesifikke regler slik at man slipper å få mange uønskede ord med i kandidatlisten. Det kan virke som om Oki IE og NNP lager slike spesifikke regler. MUSE skiller seg fra de andre systemene fordi MUSE baserer seg på en ordklassetagger. POS taggeren er ikke avhengig av at ordene i tekstene er skrevet med stor forbokstav på grunn av ordbøkene den bruker. Etter å ha sett på disse systemene, så jeg at det er mulig å identifisere egennavn på en enkel og effektiv måte ved å finne ord med stor forbokstav. En ulempe med metoden er at man er avhengig av at alle egennavnene er skrevet med stor forbokstav. Man kan derfor miste informasjon hvis kvaliteten til teksten er dårlig. Dette hadde ikke vært et problem ved bruk av løsningen til MUSE, da MUSE kan finne egennavn i tekster med dårlig kvalitet. På tross av det valgte jeg likevel å bruke metoden som Nominator, Oki IE og NNP bruker, da den er enklest og kan vise til gode resultat. - 28 -

4 Løsningsstrategier 4.2.2 Hvordan håndtere første ord i en setning? Når man benytter seg av en teknikk som gjenkjenner egennavn ved hjelp av ord med store forbokstaver oppstår et problem med første ord i en setning. Det er sjelden at disse ordene faktisk er egennavn, og vi vil derfor kvitte oss med dem slik at antall ord som skal klassifiseres blir mindre. Nominator deler problemet inn i to tilfeller: 1. Ordet er med i en egennavnsekvens 2. Ordet er ikke med i en egennavnsekvens I det første tilfellet bruker Nominator følgende heuristikker: 1. Hvis ordet har mer enn 4 bokstaver, slutter på ty, samtidig som det ikke er et fornavn, blir det sett på som et adverb, og slettes fra kandidatlisten. 2. Ordet blir sjekket opp mot en liste med 400 ord som ikke er egennavn og som ofte starter en setning. Ordet sletts hvis det er med i listen. 3. Hvis man ikke har kommet frem til en beslutning, det vil si at ordet fremdeles er tvetydig, blir ordet/sekvensen uberørt. I det andre tilfellet undersøker Nominator om ordet er representert midt i en setning. Med andre ord så sjekkes første ord i en setning opp mot de ordene i kandidatlisten som er plassert midt i en setning. Hvis man får et treff er det stor sannsynlighet for at ordet er et egennavn og ikke et annet ord med stor forbokstav. Hvis det ikke finnes en slik forekomst, fjernes ordet fra kandidatlisten. Et eksempel [18] på dette er hvis White står i begynnelsen av en setning og Mr. White står i kandidatlisten. Siden White er en delstreng av Mr. White, beholder man White som en egen kandidat. Derimot, hvis det ikke er en forekomst av White i listen blir ordet fjernet. Oki IE har en liste over typiske ord som begynner en setning. Alle ord som er først i en setning blir sjekket opp mot denne listen. Ordet blir fjernet fra egennavn kandidatene hvis det finnes i listen. MUSE bruker som nevnt en ordklassetagger for å identifisere egennavn. Det er derfor også denne som må avgjøre om et ord med stor forbokstav er et egennavn eller om det er et ord i begynnelsen av en setning. Systemene i NNP ser på første ordet i en setning som problematisk, men de bruker en relativt enkel metode for å bestemme om ordet er et vanlig ord eller et egennavn. Dersom et egennavn er blitt gjenkjent som egennavn midt inni en setning ett eller annet sted i dokumentet fordi det har stor forbokstav, vil systemet anta at det samme ordet også er et egennavn når det er først i en setning. NNP bruker med andre ord samme metode som Nominator. Kort oppsummert ser vi at det i hovedsak er to metoder som systemene bruker. Den enkleste er å ha en liste med ord som ofte begynner en setning, slik som Oki IE. I det norske skriftspråket kan så og si alle ord begynne en setning. Det ville derfor vært nødvendig å ha en stor ordbok med alle norske ord som ikke er egennavn for å kunne være sikker på at man fjerner alle. Denne listen ville derfor bli meget stor. - 29 -

4 Løsningsstrategier Den andre måten å fjerne ord i begynnelsen av en setning virker litt mer robust. Her ser man om ordet er utpekt som et egennavn i andre deler av teksten. Ravin og Wacholder [1] gir uttrykk for at alle ord med store bokstaver blir lagt til kandidatlisten, inkludert første ord i en setning. Deretter sjekker man om første ord i en setning er et egennavn. Dette er en meget tungvindt måte å løse problemet på, spesielt med tanke på at Nominator ikke teller antall forekomster. Nominator kunne i bunn og grunn bare sett bort fra første ord i en setning, da algoritmen likevel ikke gjenkjenner noen nye egennavn. Eneste grunn til at Nominator tar med denne modulen er for å finne varianter av et navn, men dette er mulig å løse dette litt enklere. Kapittel 4.2.4 beskriver hvordan Nominator klassifiserer egennavn og gjenkjenner varianter av et navn. Det burde derfor vært mulig å sjekke om første ord i en setning er en variant av et annet egennavn i forbindelse med denne modulen. Med utgangspunkt i dette bestemte jeg meg for å bruke samme algoritme som Nominator og NNP, men med en annen løsningsstrategi. Første ord i en setning legges ikke til listen med egennavn i første omgang. Hvert ord som starter en setning sjekkes opp mot kandidatlisten og legges kun til listen dersom det er en forekomst i den fra før. På denne måten er det mulig å telle antall forekomster av et egennavn. Ved bruk av denne løsningsmetoden er det fremdeles fare for å miste noen egennavn som bare forekommer som første ord i en setning. 4.2.3 Hvordan håndtere preposisjons- og konjunksjonsutrykk? Når en sekvens inneholder flere navn, er det en lingvistisk struktur som må analyseres. Å analysere slike sekvenser blir sett på som et av de vanskeligste problemene innen navnegjenkjenning. Nominator analyserer ikke egennavnene som prosesseres, men det benytter seg av heuristikker. En av grunnene til at det er vanskelig å splitte sekvenser som inneholder konjunksjoner er at sekvensene ofte er rekursive. Et eksempel på en rekursiv sekvens er [1]: The MOMA, the Museum of Natural History and the Victoria and Albert Hotel. I tillegg til tvetydigheter i forbindelse med konjunksjoner kan noen sekvenser også inneholde PP tvetydigheter. Når slike tvetydigheter oppstår kan man ikke bestemme hvilket egennavn eller substantiv som blir modifisert av preposisjonene kun ved bruk av syntaks. Slike problem er derfor vanskeligere å løse enn problemet med konjunksjoner. I noen tilfeller kan det til og med være vanskelig for mennesker å forstå hva som blir modifisert. Preposisjonsfraser kan være rekursive, og trenger dermed å bli pakket ut av en rekursiv algoritme. Nominator kan håndtere at sekvenser inneholder både preposisjonsfraser og konjunksjoner. Som nevnt bruker Nominator heuristikker for å kunne dele opp sekvenser. Problem som oppstår i forbindelse med konjunksjons- og PP tvetydigheter er relativt like. Nominator bruker derfor det samme settet av heuristikker for å dele dem opp. Heuristikkene baseres på mønster av store bokstaver, leksikalske trekk og relativ skop av operatorer. Vi kan sammenligne heuristikken med behandlingen av lingvistiske kvantifikatorer, fordi vi prøver å finne skopet til tvetydige operatorer. For å bestemme skopet til operatorene, blir de evaluert fra høyre til venstre, da det ofte er slik at - 30 -