- 1 - Grammatikunderstøttet mønstergenkendelse af maskinlæsbar tekst.

Relaterede dokumenter
Integration af akustisk genkendelse og natursprogsprocessering

Stokastisk og heuristisk sprogmodellering.

Afstande, skæringer og vinkler i rummet

Afstande, skæringer og vinkler i rummet

Sprogteknologi I Undervisningsplan Forårssemester 2009

Maple. Skærmbilledet. Vi starter med at se lidt nærmere på opstartsbilledet i Maple. Værktøjslinje til indtastningsområdet. Menulinje.

i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0

Sprogteknologi I Undervisningsplan Forårssemester 2008

Fagre, aktuelle verden talegenkendelse i Folketinget. Anne Jensen, redaktionssekretær

a. Find ud af mere om sprogteknologi på internettet. Hvad er nogle typiske anvendelser? Hvor mange af dem bruger du i din hverdag?

Syntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik

1 Opsumering fra tidligere. 2 Dagsorden 3 BIMS. 4 Programtilstande. Statements/kommandoer (Stm) i bims. 3.1 Abstrakt syntaks for bims

Noter til DM517 Beregnelighed

DM507 Algoritmer og datastrukturer

GESA, et GEnerelt System til Analyse af naturlige sprog, udformet som et oversætter-fortolker system med virtuel mellemkode

R e g e l f o r m a l i s m e r til b r u g v e d datamatisk lingvistik.

Aalborg Universitet, 2. juni Lasse Høgh. Rasmus Flyger Berg Andersen. Side 1 af 13

Dynamisk programmering

Projekt 2.9 Sumkurver som funktionsudtryk anvendt til Lorenzkurver og Ginikoefficienter (især for B- og A-niveau)

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Oversættere, ugeopgave 3

DM517:Supplerende noter om uafgørlighedsbeviser:

22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned.

Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit.

Hjerner i et kar - Hilary Putnam. noter af Mogens Lilleør, 1996

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

DM507 Algoritmer og datastrukturer

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Eksempel på den aksiomatisk deduktive metode

Note om Monte Carlo metoden

Rekursion C#-version

Bilag 7 Analyse af alternative statistiske modeller til DEA Dette bilag er en kort beskrivelse af Forsyningssekretariatets valg af DEAmodellen.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

DM507 Eksamen Obligatorisk Opgave Rejseplanlægning

Tal. Vi mener, vi kender og kan bruge følgende talmængder: N : de positive hele tal, Z : de hele tal, Q: de rationale tal.

Kaminsky DNS exploit

DM507 Algoritmer og datastrukturer

Vektorer og lineær regression

Vektorer og lineær regression. Peter Harremoës Niels Brock

Oprids over grundforløbet i matematik

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing

VisiRegn: En e-bro mellem regning og algebra

Prosodi i ledsætninger

Oversættere Skriftlig eksamen onsdag d. 24. januar 2007

26 Programbeviser I. Noter. PS1 -- Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler.

Statistik. Peter Sørensen: Statistik og sandsynlighed Side 1

Michael Jokil

Projektopgave Observationer af stjerneskælv

Basale forudsætninger. Sortering ved fletning med tre bånd, i to faser.

Kursusindhold: Produkt og marked - matematiske og statistiske metoder. Monte Carlo

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

Lagervisning. Dina Friis, og Niels Boldt,

Studieretningsprojekter i machine learning

Hvad er formel logik?

Guide til din computer

IDAP manual Analog modul

Bliv opdaget på Internettet! - 10 gode råd til at optimere din hjemmeside til søgemaskiner

Matematik, maskiner og metadata

Emneopgave: Lineær- og kvadratisk programmering:

12 TOLERANCER 1 12 TOLERANCER

HMM- Based Con,nuous Sign Language Recogni,on Using Stochas,c Grammars

Der er også mange ekstra aktiviteter på Widgits hjemmeside med engelske læringsaktiviteter og sociale aktiviteter klar til brug.

Skriftlig Eksamen Diskret Matematik (DM528)

DM507 Algoritmer og datastrukturer

Om at løse problemer En opgave-workshop Beregnelighed og kompleksitet

Egenskaber ved Krydsproduktet

Sortering. Eksempel: De n tal i sorteret orden

Lineære sammenhænge, residualplot og regression

2 -test. Fordelingen er særdeles kompleks at beskrive med matematiske formler. 2 -test blev opfundet af Pearson omkring år 1900.

Roskilde Tekniske Gymnasium. Eksamensprojekt. Programmering C niveau

Køreplan Matematik 1 - FORÅR 2005

Henrik Bulskov Styltsvig

Martin Geisler. Uge 49, 2001

Det er en af de hyppigst forekommende udregninger i den elementære talbehandling at beregne gennemsnit eller middeltal af en række tal.

Kom godt i gang med internettet

Projekt 4.6 Løsning af differentialligninger ved separation af de variable

EA3 eller EA Cube rammeværktøjet fremstilles visuelt som en 3-dimensionel terning:

Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 24. januar 2007

Pædagogisk vejledning til. Materialesæt. Sphero.

Eksperimentel matematik Kommentarer til tag-med opgaver

Matematisk modellering og numeriske metoder. Lektion 16

Pointen med Differentiation

Vi har valgt at analysere vores gruppe ud fra belbins 9 grupperoller, vi har følgende roller

Pointen med Funktioner

Indholdsfortegnelse. Vokal Command v.1 manual

Matematik og samfundsfag Gini-koefficienten

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.

Andengradsligninger. Frank Nasser. 12. april 2011

Tue Tjur: Hvad er tilfældighed?

Regularitet og Automater

Newton-Raphsons metode

Klasse 1.4 Michael Jokil

Analytisk geometri. Et simpelt eksempel på dette er en ret linje. Som bekendt kan en ret linje skrives på formen

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Grafer og graf-gennemløb

Kontakthierarkier i. Denne vejledning beskriver forskellige måder, man kan præsentere sin myndighed over for borgere og virksomheder

Ting man gør med Vektorfunktioner

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt.

Transkript:

- 1 - Grammatikunderstøttet mønstergenkendelse af maskinlæsbar tekst. Tom Brøndsted Center for PersonKommunikation Aalborg Universitet postboks 159, 9100 Aalborg e-post: tb@cpk.auc.dk Indledning Dette bidrag beskriver en algoritme til grammatikunderstøttet mønstergenkendelse af maskinlæsbar tekst, det vil i store træk sige en genkendelsesrutine, der tager en sekvens af maskinlæsbare tegn som input og ændrer den til en anden sekvens af tegn, der på én gang "ligner" inputsekvensen mest muligt og samtidig er i grammatisk overensstemmelse med en prædefineret grammatik. Den beskrevne algoritme bygger på metoder anvendt i moderne talegenkendelsesteknologi, først og fremmest et Tokenpassing -paradigme introduceret af S.J. Young i 1989 [1]. Algoritmen er blevet implementeret i en tekstgenkender, designet og udviklet specielt med henblik på at understøtte Wizard-of-Oz (WOZ) eksperimenter med menneske-maskinedialogystemer. Men derudover har genkendelsesteknikken et potentielt meget bredt anvendelsesområde, spændende fra robust parsing af fejlbehæftet input over intelligent stavekontrol til f.eks. automatiseret sammenligning af tekstvarianter (e.g. i forbindelse med studier af folkeviser, middelalderlige landskabslove etc.). Dette bidrag er delt i to underafsnit. Første del beskriver den konkrete baggrund for tekstgenkenderen, dens anvendelse i WOZ-forsøg, mens anden del er en gennemgang af den tilgrundliggende algoritme. 1. Tekstgenkenderen i WOZ-forsøg. Tekstgenkenderen har været anvendt til brugertests af et eksperimentelt dialogsystem, der tillader brugere telefonisk at få information og opnå pladsreservationer på danske indenrigsflyruter. Det meste af dette dialogsystem er blevet udviklet i regie af det danske STVF-finansierede rammeprogram "Spoken Language Dialogue Systems" i et samarbejde mellem de tre centre: Center for PersonKommunikation (Aalborg), Center for Kognitionsforskning (Roskilde) og Center for Sprogteknologi (København). Flybilletreservationssystemet er baseret på en generisk platform der interpretererer dialogsystemer implementeret i et dediceret dialogbeskrivelsessprog, og tekstgenkenderen skal ses som et første skridt på vejen til at udbygge platformen til et egentligt udviklingsmiljø, der helt generelt understøtter WOZ-forsøg. Systemet er beskrevet udførligt bl.a. i en række rapporter udgivet ved Aalborg Universitet [2]. Den genereriske platform, som tekstgenkenderen indgår i, består af en "Dialogue Communication Manager", der varetager kommunikationen mellem på den ene side en række eksterne enheder, talegenkender, talesyntese, telefonlinje og tekstgenkender

- 2 - og på den anden side selve dialogfortolkeren og natursprogsparseren. Dialogfortolkeren interpreterer dialogbeskrivelsen, der er implementeret i et særligt, delvis grafisk orienteret dialogbeskrivelsessprog (DDL, Dialogue Description Language, baseret på rekursive transitionsnetværk). Natursprogsbeskrivelsen er formaliseret vha. træk-baserede regler (APSG-format). Typisk er der også tilkoblet en database, da formålet med de fleste menneske-maskine-dialoger er at give brugere database-tilgang. I billetreservationssystemet indeholder databasen oplysninger om afgangstider, reservationer, rabatmuligheder osv. I WOZ-forsøg, hvor et menneske (wizard'en) intervenerer på maskine-siden og skjult for brugeren simulerer en større eller mindre delkomponent, er det afgørende at systemet er omgivet af egnede hjælpeværktøjer. Tekstgenkenderen har været anvendt i en sen, testbetonet fase af udviklingen af det omtalte billetreservationssystem, hvor det kun har været hensigten at simulere den akustiske talegenkendelse under kontrollerede omgivelser (ingen akustisk støj, forudsagt input genkendes altid korrekt etc.). Formålet med tekstgenkenderen i denne situation er at etablere en robust grænseflade mellem bruger/troldmand og dialogfortolker og parser. Troldmanden modtager over telefon brugerforespørgsler, som han/hun indtaster og sender videre til selve dialogsystemet. Dialogsystemet genererer selv tilbagesvar. Input til systemet kan i en sådan situation af forskellige grunde være uforudsagt af systemdesignerne. De vigtigste grunde er: 1) slåfejl af troldmanden 2) naiv eller ukooperativ brugerforespørgsel 3) mangel i delsprogsmodellering og -implementering. Fejlkilden kan med andre ord enten være 1) troldmanden, 2) brugeren eller 3) systemdesignerne. Undertiden skelner man mellem naive og ukooperative brugere. Det drejer sig dog hovedsagelig kun om en forskel i brugerens intention. Den typiske ukooperative bruger er mere interesseret i at gå på opdagelse i systemet end i at anvende det. Sjældnere er de egentlige og entydige naive forespørgsler, men man kan da forestille sig en bruger spørge flybilletreservationssystemet: Vil min kone afhente mig i lufthavnen?, Kan jeg have min afghanske fårehund med i flyet? osv. Fælles for naive og ukooperative forespørgsler er, at det ligger udenfor det praktisk mulige at implementere et dialogsystem, der genererer intelligente tilbagesvar. Principielt skelner tekstgenkenderen ikke mellem de forskellige fejlkilder. Alt input fra troldmanden omformes til tekststrenge, der ligner noget forudsagt. Dog er tekstgenkenderen i stand til at forkaste dele af input vha. garbage -modeller, dvs. tilføjelse af pseudoord i leksikon, der per definition altid har en vis middelstor lighed med input (se næste afsnit). Nedenfor er der eksempler på, hvordan tekstgenkenderen omformer uforudsagt input til en tekststreng, der er forudsagt i delsprogsgrammatikken designet til billetreservationssystemet. Eksemplerne, der bortset fra 3) er konstruerede (ikke fra de autentiske WOZ-tests), er relateret til de ovennævnte fejltyper :

- 3-1) I: "jegvgern ltodnse" O:"jeg vil gerne til odense" 2a) I: "kan jeg få min hund med mig til odense" O: "**** til odense" 2b) I: "asdlkjs" O: "ja syv ****" 3) I: ved ottetiden O: * otte ti * Karakteren * angiver at en del af input er forkastet vha. garbage -modeller. Udover at omforme inputstrengen til noget forudsagt genererer tekstgenkenderen også et mål for den globale afstand mellem input og output. Afstanden er 0 hvis input og output er identisk og ellers et tal, der kan interpreteres (og processeres) som udtryk for, hvor sikker genkenderen er på at have genkendt input korrekt. Systemet kan naturligvis konfigureres til helt at forkaste input, hvis afstanden til output er for stor. Endelig er det indbygget i genkendelsesalgoritmen, at input segmenteres i mindre enheder. En ordseperator (mellemrum) i input er for tekstgenkenderen blot en karakter helt på linje med bogstaver og andre tegn. Mellemrum danner ikke nødvendigvis grundlag for genkenderens egen segmentering i ord. F.eks. bliver første eksempel ovenfor segmenteret jeg v gern lt odnse, og tekstgenkenderen er i stand til at generere en lokal afstand mellem hvert eneste af disse segmenter og de tilsvarende segmenter i output (altså mellem jeg og jeg, mellem v og vil, mellem lt og til og mellem odnse og odense ). Denne egenskab er nyttig, hvis genkenderen f.eks. anvendes til sammenligning af tekstvarianter. Den ene tekstvariant vil da opfattes som grammatik (en grammatik der kun genererer tekstvarianten selv) og den anden som sætning. 2. Genkendelsesalgoritmen. Selve genkendelsesalgoritmen bygger som sagt på metoder anvendt i moderne talegenkendelsesteknologi. Af forståelseshensyn eksemplificeres algoritmerne ud fra en konkret problemstilling, hvor det drejer sig om at genkende sætninger som sekvenser af et endeligt antal ortografisk repræsenterede ord. Problemstillingen er selvfølgelig lingvistisk-teoretisk ikke særlig interessant, da orddannelsen på naturlige sprog er en kreativ proces. Det skal derfor betones, at genkendelsesalgoritmerne principielt også kan anvendes på andre lingvistiske størrelser, forudsat de kan beskrives som regelbundne sekvenser af mindre enheder: E.g. på sætninger som sekvenser af morfemer, på sætningsled eller på ord som sekvenser af morfemer eller fonemer (bogstaver) osv. For så vidt at en sætning enkelt betragtes som en regelbunden sekvens af ord, kan selve genkendelseproblematikken naturligt deles op i to delkomplekser: 1) Genkendelse af isolerede ord og 2) genkendelse af

- 4 - sammenføjede ord ( connected word recognition ). Denne opdeling har rod i taleteknologien, men giver også mening når det drejer sig om genkendelse af maskinlæsbar tekst. Isoleret genkendelse af talte ord eller kommandoer er efterhånden ved at blive almindeligt i forbindelse med de mest udbredte operativsystemer (MS Windows, Open Windows osv). Men isoleret ordgenkendelse kendes også fra stavekontrol i forbindelse med tekstbehandling. Stavekontrollen kan være mere eller mindre intelligent, når den foreslår ordkandidater for mindre slå- eller stavefejl, e.g. allerede for "alllerede", aldrig for "ladrig" osv. Problematikken er i begge tilfælde at finde den kandidat blandt et endeligt antal prædefinerede referenceord, som bedst ligner input, altså en typisk mønstergenkendelsesproblematik. Isoleret ordgenkendelse er en relativ simpel processeringsteknik, fordi den bygger på simple - forsimplede - forudsætninger. F.eks. er det tydeligt, at stavekontrol i forbindelse med tekstbehandling klamrer sig til brugerens ordsegementering og derfor ikke er i stand til at frembringe rimelige korrekturforslag til input som: jeg vil al drig nogensinde..., jegvil aldrig nogensinde... osv. At løse dette problem forudsætter, at man anvender syntaktisk viden. Tokenpassing-paradigmet introduceret af S.J. Young [1] er et elegant bud på, hvordan man kommer fra isoleret ordgenkendelse til genkendelse af sammenføjede ord (c: sætninger). I token-passing-algoritmen repræsenteres hvert ord som en ordmodel i form af et finite state netværk. Input forudsættes at være en sekvens af vektorer X 1... X T og tilstedeværelsen i en state j på et tidspunkt t implicerer at omkostningen ved at matche inputvektoren Xt er d(t). j Denne omkostning vil vi i det følgende kalde den lokale tæthed (local density). Hver mulig sekvens af states gennem ordmodellen i = i, i...i hvor i 0 1 t, 0 er initialt state og i er finalt, repræsenterer en måde, hvorpå modellen reproducerer t eller "ligner" input. Hvor godt en bestemt sekvens reproducerer input er udtrykt ved den globale, akkumulerede tæthed (global density). Denne tæthed beregnes som summen af lokale tætheder mellem hvert state i sekvensen og hver vektor i inputsekvensen. Hvor godt modellen ligner input er udtrykt ved den globale tæthed for den sekvens af states, som bedst reproducerer input. I klassisk genkendelsesteori er hovedproblemet derfor at finde den optimale sti gennem et finite state netværk, dvs. den sti som bedst matcher input. Token-passing-algoritmen er en optimal søgealgoritme, der anvender selve finite state netværket som "bogholderi", idet den propagerer tokens rundt i netværket. Dette minder om syntaktisk parsing ved hjælp af netværksparsere (e.g. RTN- eller ATN-parsing i modsætning til f.eks. chart-parsing). Ved isoleret ordgenkendelse anvendes tokens alene til at opbevare globale tætheder, og algoritmen kan parafraseres som nedenfor: Initialisering: Hvert initialt state i ordmodellen tager et token med værdien 0. Alle andre states tager et token med værdien ` Algoritme:

- 5 - For hver inputvektor t fra venstre mod højre: For hver state j i ordmodellen: Fremsend token til alle forbundne states og øg værdien med den lokale tæthed d j(t). For hver state j i ordmodellen: Find det token som har den mindste akkumulerede værdi og slet resten. Terminering: Undersøg alle finale states i ordmodellen. Det token, som har den mindste akkumulerede værdi, udtrykker modellens globale tæthed til input. Genkendelsesparadigmet kan sammenlignes med syntaktisk parsing: Initialiseringen indebærer en aksiomatisk antagelse af, at ordmodel og input er identisk på starttidspunktet. I syntaktisk top-down-parsing svarer det til, at man begynder at bygge et syntakstræ op ovenfra med et aksiomatisk startsymbol S. (antagelse: Input er en sætning). Hovedalgoritmen er en synkron søgestrategi, hvor input processeres "fra venstre mod højre". Dette minder om traditionel syntaktisk "left-to-right"-parsing, men i modsætning til f.eks. RTN-parsing er overgange altid mulige med en eller anden omkostning eller sandsynlighed. Termineringen er en normal evaluering af processeringen. Ved isoleret ordgenkendelse skal genkendelsesparadigmet appliceres på samtlige forudsagte ord. Det genkendte ord vil da være den model, der genererer den mindste afstand til input. Det skal understreges, at ordmodellerne kan have flere initiale states og flere finale states, ligesom algoritmen også tillader løkker (loops) og tomme overgange (jumps, skips). Token-paradigmet er som påvist af S.Young uafhængigt af modelstrukturen, sålænge denne struktur kan forstås og processeres som et finite state netværk. I taleteknologien er algoritmen da også med held blevet anvendt til både DTW- og Markov-baseret genkendelse af tale. Den her foreslåede applikation af paradigmet på maskinlæsbare tegn minder mest om DTW-processering ( Dynamic Time Warping ), og det er derfor naturligt at tage udgangspunkt i denne genkendelsesteknik. I DTW-genkendelse er hver ordmodel repræsenteret som et simpelt mønster (en template ) af tidssynkrone vektorer, og disse vektorer er af samme type som input til genkendelsesalgoritmen. Sådanne vektorer kaldes også time frames. Ved genkendelse af maskinlæsbare tegn svarer dette til, at både input og ordmodellerne bliver opfattet som sekvenser af tegn (bogstaver). Vektorerne er resultatet af akustisk processering af talesignaler, hvor man f.eks. prøver at fremdrage signalets spektrale information (e.g. formanterne) og abstrahere fra f.eks. grundtonen (mands- versus kvindestemme), som man med større eller mindre rette kan betragte som irrelevant. Til beregning af den lokale tæthed mellem en vektor i ordmodellen og en vektor i input anvender man normalt (tilnærmelser til) den euklidiske distance. Denne algoritme er, hvor simpel den end er, meget beregningstung, og heldigvis kan man klare sig med mindre tunge tabelopslag, når man skal uddrage den lokale tæthed mellem bogstaver (se nedenfor). DTWgenkendelsen kan nu illustreres som figur 1.

- 6 - Figur 1. DTW-genkendelse Hvert punkt i koordinatsystemet repræsenterer en lokal tæthed mellem en inputvektor og en vektor i ordmodellen. Søgningen tager sigte på at finde den optimale sti fra punktet 1,1 til T,J, dvs. stien der akkumulerer den mindste distance mellem model og input. Til dette formål designer man en beslutningsregel, der afgør hvordan og med hvilke omkostninger man kan propagerer mellem punkterne. Beslutningsreglen i figuren ovenfor svarer til, at ordmodellen opfattes som et finite state netværk der udover normale transitioner mellem successive states tillader loops og jumps (figur 2). Figur 2. Ordmodel som finite state netværk Ved genkendelse af maskinlæsbare ord er de enkelte states i modellen ikke vektorer, men karakterer (bogstaver). For at anvende DTW på maskinlæsbare karakterer må man altså finde en erstatning for den euklidiske distance til udregning af lokale tætheder. Man kan her overveje at tage udgangspunkt i den fysiske afstand mellem de enkelte karakterers placering på tastaturet ud fra betragtningen, at brugeren

- 7 - (troldmanden) måske en gang imellem rammer lidt skævt. Mere afgørende er det nok, at algoritmen erfaringsmæssigt også fungerer tilfredsstillende med en langt enklere tæthedsfunktion, der returnerer 0 hvis de to sammenlignede karakterer er identiske og e.g. 100 i andre tilfælde. Den til indledning omtalte tekstgenkender fungerer på denne måde. En udvidelse af token-paradigmet til genkendelse af sammenføjede ord er forholdsvis triviel. For det første må der tilføjes en sprogmodel (syntaks). Da token-paradigmet er snævert knyttet til teorien omkring endelige tilstandsmaskiner, er det tvingende at syntaks skildres som et finite state netværk på samme måde som ordmodellerne. Enhver der er opdraget med Chomsky vil her have sine betænkeligheder, men det er dog ikke værre end at man i princippet kan genkende sætninger vha. en ikkegrammatik (Nogram), et netværk der tillader ethvert ord at følge ethvert ord i sætningen. Syntaksnetværkets funktion er at indskrænke søgerummet for genkendelsen. For det andet må man skelne mellem fysiske ordmodeller (leksikaliserede enheder) og logiske ordmodeller (instanser af fysiske ordmodeller i syntaksnetværket, overgange i syntaksnetværket). Lokale tætheder beregnes på grundlag af afstanden mellem inputvektorer og vektorer i de fysiske ordmodeller, mens tokens propageres rundt i de logiske modeller. For det tredje kan den information, som propageres rundt i netværket vha. tokens, ikke begrænses til globale tætheder. Målet for genkendelsen er jo ikke blot at fastslå, hvor godt input matcher sprogmodellen, men også at uddrage den sti (c: sætning) der bedst reproducerer input. Derfor anvendes tokens også til opbevaring af sti- og tidsinformation. I den originale token-passing-algortime introduceret af S.Young benyttes en særlig datastruktur, word link records, til at holde styr på tokens ved knudepunkterne i syntaksnetværket. En anden måde, som er blevet implementeret i den indledningsvis omtalte tekstgenkender, er at forlægge bogholderiet til et eksternt chart. Dette har i det mindste en konceptuel fordel, idet man bedre får adskilt viden, bogholderi og egentlig processeringsstrategi (nærmest som i syntaktisk chart-parsing). Det omtalte chart er et simpelt koordinatsystem, hvor x-aksen repræsenterer tidsintervaller af input (time frames, ved tekstgenkendelse de enkelte karakterer i input) og y-aksen er states i syntaksnetværket. I de enkelte koordinater vedligholdes tokens med følgende struktur: global (akkumuleret) tæthed tid (x-oprindelse) state (y-oprindelse) transition (ordidentifikator) Algoritmen til sætningsgenkendelse kan herefter parafraseres: Initialisering: Hvert initialt state i syntaksmodellen tager et token: tæthed=0, tid=0, state=0, transition=null. Alle andre states tager et token: tæthed=`,tid=-1,state=-1, transition=null.

- 8 - Algoritme: For hver intputvektor t fra venstre mod højre: For hver state j i ordmodellerne: Fremsend token til alle forbundne states og øg værdien med den lokale tæthed d j(t). For hver state j i ordmodellerne: Find det token som har den mindste akkumulerede værdi og slet resten. For hvert koordinatpunkt t,y i chartet: Find bedste indkommende transition i og kopiér dens token til t,y. Initialisér udgående transitioner med samme token og sæt tid= t, state=y, transition=i. Terminering: Undersøg alle finale states t,y i chartet. Det token, som har den mindste akkumulerede værdi, udtrykker sprogmodellens globale tæthed til input. Den genkendte sætning udledes ved at man følger transitionerne fra det pågældende token tilbage gennem chartet til tidspunkt 0. Det ses at algoritmen på én gang er temmelig enkel (konceptuel, gennemskuelig og nem at implementere) og ret beregningstung. Kritisk er især beregningen af de lokale tætheder. Til genkendelse af en sætning med en længde på x karakterer vha. af en syntaks og et leksikon, hvor summen af ordenes længde er y karakter, skal der altså evalueres et antal tæthedsfunktioner svarende til x multipliceret med y. Til gengæld er den her foreslåede model til udregning af lokale tætheder langt mindre beregningstung end de tilsvarende tæthedsfunktioner i taleteknologien (Euklid, Probability Density Functions ). Som nævnt ovenfor kan man klare sig med enkle tabelopslag, Desuden kan man i algoritmen implementere forskellige pruning -strategier, der begrænser antallet af tæthedsberegninger. Det vil dog føre for vidt at komme ind på sådanne strategier i denne sammenhæng. Et andet problem er at genkendelsesalgoritmen kun kan anvendes på grammatikker af finite state-typen, mens moderne natursprogsprocessering som regel anvender trækbaserede formalismer (unifikation). Det er dog altid muligt at generere tilnærmelsesvis ækvivalente finite state-grammatikker. Unifikationsgrammatikker, hvor træk tager værdier fra et endeligt sæt, er principielt altid kontekstfri grammatikker (som defineret i Chomsky-hierarkiet), og der findes velbeskrevne algoritmer til konvertering af denne grammatiktype til næsten ækvivalente endelige overgangsnetværk. I flybilletreservationssystemet, hvor der anvendes en trækbaseret APSG-formalisme, er der udviklet unifikationsbaseret konverteringsværktøj, der kan genere finite-state grammatikker til anvendelse i både den akustiske genkendelse og i tekstgenkenderen [3]. Konverteringen kan styres til at prioritere divergerende synspunkter, hovedsagelig nøjagtighed eller størrelse. Stor nøjagtighed vil sige høj grad af ækvivalens. Dette øger ikke blot genkendelseskvaliteten, men desværre også processeringstiden, da meget

- 9 - nøjagtige netværk har mange states og mange overgange (i.e. logiske ordmodeller). Hvordan dette belaster token-paradigmet, fremgår af algoritmen ovenfor. Alternativt kan der genereres små og kompakte netværk, der til gengæld er mindre nøjagtige. En Nogram (se ovenfor) er den ekstreme udgave af et kompakt netværk med nedprioriteret ækvivalens. Et sådant netværk har blot en enkelt state samt et antal logiske ordmodeller svarende til antallet af fysiske. Endelig skal det nævnes, at genkendelsesalgoritmen, specielt når den anvendes på tale, ikke er videre velegnet til at forkaste input eller dele deraf. Dette er en ulempe, især når input på ingen måde er forudsagt af grammatikdesignerne. Det er nævnt ovenfor, at problemet kan afhjælpes med såkaldte garbage -modeller forstået som pseudo-ordmodeller, der matcher alle ord (også ukendte ord) med en vis middelstor afstand. I tekstgenkenderen er garbage-modeller repræsenteret som sekvenser af karakteren *, og tæthedsfunktionen returnerer altid en middelværdi for afstanden mellem * og andre karakterer. Garbage-modeller må naturligvis bindes til grammatiknetværket præcis som ægte ordmodeller. Det omtalte unifikationsbaserede grammatikkonverteringsprogrammel kan styres til at indsætte garbagemodeller hovedsagelig ud fra to forskellige synspunkter: Spotting og rejection. Ved spotting indsættes garbage-modeller som loops i de enkelte (udvalgte) states af grammatiknetværket. Dette gør genkenderen i stand til at spotte forudsagte ord og sætningsled i et ellers støjfyldt input. Ved rejection indsættes garbage-modeller som alternative transitioner parallelt med medlemmer af (udvalgte) ordklasser og sætningsled. Garbage-modeller opfattes i dette tilfælde som ukendte eller uforudsagte medlemmer af de pågældende ordklasser eller sætningsled. Spotting og rejection kan naturligvis kombineres. 3. Konklusion. Den beskrevne tekstgenkender anvender veldokumenterede algoritmer på en ny måde. Dette er den egentlige innovative side af nærværende bidrag. I forhold til tokenparadigmet introduceret af Young (der selv bygger videre på ældre rekursiv-dynamiske programmeringsalgoritmer: Viterbi, DTW), bringer de her bragte overvejelser kun lidt nyt (chart-strukturen og beregning af lokal tæthed mellem karakterer). Tekstgenkenderen er blevet implementeret og har været anvendt i konkrete WOZforsøg med et flyreservationssystem. I denne sammenhæng har den vist sig at være ekstrem anvendelig. Det er dog oplagt, at tekstgenkendelsesprincippet kan finde anvendelse også på områder som error recovery (robust parsing af fejlbehæftet indput), automatisk sammenligning af tekstvarianter og syntaksunderstøttet stavekontrol. Natursprogsprocessering er automatiseret analyse af naturlige sprog. For så vidt at input er ortografisk tekst, er en del af arbejdet dog allerede gjort. Analyse betyder jo basalt set segmentering,deling i mindre bestanddele, og bogstavbaserede skriftsystemer som det danske foreskriver (i reglen) en deling i ord. På tysk, hvor

- 10 - substantiver stadig har stort begyndelsesbogstav, indebærer retskrivningen også en klassifikation. Et lille epigram af H.Heine ville uden ortografiens segmentering og klassifikation se sådan ud: dieeifersuchtisteineleidenschaftdiemiteifersuchtwasledenschafft I original ortografi "Die Eifersucht ist eine Leidenschaft, die mit Eifer sucht was Leiden schafft", hvilket jo nok er lidt mere forståeligt (og genkendeligt)! Ud fra principielle, epistemologiske overvejelser kan man nok med nogen ret hævde at et NLP-system, der ikke kan klare den usegmenterede streng, ikke fortjener betegnelsen NLP. Vi kræver jo heller ikke, at der er sat kryds og bolle i sætningen, før vi kan processere den! Sætningsgenkendelse, som det forstås i denne sammenhæng, indebærer, at også analysen i ord er en automatiseret proces. 4. Litteraturhenvisninger [1] S.J. Young, N.H. Russel, J.H.S. Thornton: Token Passing: a Simple Conceptual Model for Connected Speech Recognition Systems, Cambridge University, 1989. [2] N.O. Bernsen, T. Brøndsted, A. Bækgaard, D. Christensen, H. Dybkjær, L. Dybkjær, J. Kristiansen, L.B. Larsen, B. Lindberg, B. Music, L. Offersgaard, C. Povlsen: Spoken Language Dialogue Systems, Report 1-10, Aalborg University 1992-95. [3] T. Brøndsted: Grammar Conversion. Programs for Converting APSGs to RTNs and RTNs to FSNs and Word Pair Grammars, Aalborg University 1993-94.