BokmålNynorsk
sitemap

Du er her:

Forsiden Nyheter Faglig Talesyntese
Talesyntese

Av Jørn Almberg

Begrepet taleteknologi betegner disipliner innenfor språkteknologi som håndterer språk i form av lyd. Taleteknologi består av to hoveddeler: talesyntese og talegjenkjenning. Talesyntese er produksjon av kunstig menneskelik tale: Et dataprogram leser tekst, og gjør om teksten til tale. Talegjenkjenning er det motsatte, nemlig produksjon av tekst fra tale. Denne artikkelen vil se nærmere på noen grunnleggende prinsipper i talesyntese.

Kvaliteten til en talesyntese vurderes ut fra to hovedkriterier: naturlighet og forståelighet. Naturligheten beskriver hvor lik den aktuelle talesyntesen er menneskelig tale, mens forståeligheten defineres av i hvilken grad et menneske skjønner talesyntesen.  God forståelighet er en forutsetning for at en syntese skal kunne hjelpe folk som har eksempelvis lesevansker eller synshemming.

De første kommersielle talesyntesene (da med engelsk tale) kom tidlig på 80-tallet. Det samme gjorde snakkende kalkulatorer og ruteopplysningstjenester.

Syntetisert tale kan for eksempel lages gjennom å sette sammen biter av opplest tale som er organisert i en database. Organiseringen av slike databaser varierer fra system til system. Generelt kan man si at systemer som som har databaser med små språkenheter er robuste (les: fungerer stabilt) men de er ikke nødvendigvis så naturlige. Systemer som bruker større enheter (dvs. hele ord eller setninger) høres gjerne svært naturlige ut, men fungerer i et begrenset domene (dvs. kan ikke lese hva som helst). Vi skal se nærmere på ulike systemer for talesyntese i en senere artikkel. I denne artikkelen fokuserer vi på generelle prinsipper.

Talesyntese trinn for trinn

Man kan dele prosessene som inngår i talesyntese i fire sekvensielle trinn, som vist under . De tre første trinnene; tekstanalyse, fonetisk analyse og prosodisk analyse; gjøres stort sett på samme måte for alle talesynteseteknologier. Forskjellen på de ulike teknologiene ligger i selve syntetiseringen, det vil si det fjerde trinnet.

 

 

Tekstanalysen håndterer tekst som krever såkalt normalisering. Med tekst mener vi her både bokstaver, tall og andre tegn. Blant de vanligste tegnene som ikke er bokstaver eller tall, kan vi nevne spørsmålstegn, utropstegn, kolon, komma og punktum. Mange av disse tegnene kan bety ulike ting i ulike kontekster, og dette må tekstanalysen ta seg av og håndtere det aktuelle tegnet ut fra hva det antas å representere i de enkelte tilfellene. Et eksempel er punktum, som blant annet kan markere setningsslutt, ordenstall, dato, klokkeslett, komma-markør i tall (amerikansk konvensjon). I tillegg finner vi punktum i blant annet e-postadresser og web-adresser. Tekstanalysen gjør først en vurdering av tegnets betydning i det aktuelle tilfellet, og erstatter tegnet med en annen representasjon på grunnlag av vurderingen. Eksempel: Punktum i en vanlig tekst skal som oftest ikke uttales: Hvis tegnet markerer setningsslutt, skal det derimot realiseres som en pause etter ordet som står umiddelbart før tegnet. Hvis punktum-tegnet står i en e-postadresse skal det derimot uttales, enten som ”dått”, eller som ”punktum”. Flere eksempler på analyser av punktum-tegnet kommer i avsnittet under.

Noen typiske eksempler på utfordringer i tekstanalyse-komponenten er forkortelser, homografer og tall. Når det gjelder tall har vi tilfeller som at klokkeslett, datoer og andre tallrepresentasjoner ofte skrives på mange forskjellige vis og gjerne i strid med gjeldende regler. ”21.12” kan for eksempel bety både 12 minutter over klokka ni på kvelden, og det kan bety 21. desember. Tekstanalysen må derfor ha regler som håndterer slike tekstuelle tvetydigheter best mulig. Tekstanalysen konverterer i tilfeller som dette teksten om til en mer uttalelik representasjon, slik at ”21.12” gjøres om til ”tjueen tolv” eller ”tolv minutter over ni på kvelden” når tekstanalysen tror tallene representerer et klokkeslett, men ”tjueførste i tolvte” eller ”tjueførste desember” når den tror tallene beskriver en dato.  På samme måte vil man i de fleste tilfeller foretrekke at en tekstanalyse konverterer forkortelser slik at talesyntesen leser ”osv.” som ”og så videre” i stedet for ”o ess ve” (det siste er en såkalt bokstavert uttale).

Tekstanalyser inneholder også ofte en ”ordklasse-tagger”, som gjør en syntaktisk analyse av teksten, og tilordner ordklassetilhørighet til de enkelte ordene i en tekst. På de måten skal systemet blant annet håndtere utfordringen med homografer (dvs. ulike ord som skrives likt), slik at man for ordet ”seg” får uttalen ”sæi” hvis ordklassen antas å være pronomen, mens uttalen blir ”seg” hvis ordklassen antas å være verb preteritum.

Den fonetiske analysen konverterer den normaliserte teksten til en lydskrift som avgjør hvilke språklyder talesyntesen skal uttale. Denne prosessen kalles gjerne ”grafem til fonem-oversettelse” (fritt oversatt: bokstav til lydskrift-oversettelse). Mange talesyntese-programmer inneholder et  uttaleleksikon for sitt språk, som kobler hvert enkelt ord til sin respektive riktige uttale (representert med lydskrift). Den andre vanlige tilnærmingen er regelbasert, og bruker regler som sier hvordan ulike tekststrenger skal konverteres til lydskrift.

Fordelen med leksikon-prinsippet er at man (med et godt leksikon) får et raskt og nøyaktig resultat. Det vil dessuten være mer verdifullt dess mindre lydnært det aktuelle skriftspråket er. Fransk og engelsk er eksempler på skriftspråk som er lite lydnære, og leskikonbasert fonetisk analyse er derfor svært aktuelt i disse og lignende språk.  Den viktige begrensningen er at et uttaleleksikon aldri vil være komplett; den vil aldri kunne inneholde alle ord siden nye ord stadig kommer til i et levende språk. Eksempler her er særnavn, og for norsk sin del, produktive sammensetninger (som ikke dekkes av tradisjonelle leksika).

De fleste systemer av i dag bruker derfor en kombinasjon av leksikon og uttaleregler, på den måten at alle ord som ikke finnes i leksikonet blir håndtert av systemets uttaleregler.

Prosodisk analyse

Mens en fonetisk analyse forteller hvilke språklyder som skal uttale, skal en prosodisk analyse sørge for at mer overordnete faktorer som trykk, tonefall og rytme. De fleste systemer som inkluderer prosodisk analyse, bruker språkdata som er prosodisk merket av lingvister som treningsgrunnlag for den prosodiske modellen systemet skal bruke. En prosodisk modell vil typisk bestemme hvor mye trykk hver enkelt stavelse skal uttales med, hvor det skal legges inn pauser, og så videre. Alternativt kan man bruke prosodiske regler, slik man gjør i for eksempel Lingits difonstemme Lingspeak Arne. Den prosodiske analysen til et talesyntese-system vil vanligvis støtte seg på ordklassetaggingen til tekstanalyse-komponenten.

I de senere år har det prosodiske elementet også omfattet gjenskaping av ulike sinnstemninger, med formål om å få en syntetisk stemme til å høres ut som den er for eksempel glad, sint, oppstemt, engasjert eller lei seg.

Talesyntesen

Vi har kalt den fjerde komponenten for ”talesyntese”. Det er her selve lydgenereringen foregår. Det finnes en håndfull slike talesyntese-teknologier i dag. I kommende artikler skal vi se på ulike teknologiske løsninger som brukes i denne fjerde komponenten.

 
footer_stripe