Computationele Taalkunde (taal- en spraaktechnologie) Gerrit Bloothooft
De computer kan meer dan tekstverwerken alleen tellen en rekenen logisch redeneren (regels toepassen) > rekenen met, en redeneren over taal en spraak
Digitalisatie Maakt teksten en spraak toegankelijk op de computer Maakt analyse van enorme hoeveelheid gegevens mogelijk geeft een beter beeld van feitelijk taal- en spraakgebruik
Leren Gegevens verzamelen Structuur noodzakelijk Voorbeelden Imitatie Taal Klanken Geldt voor mens en voor computer
Voorwaarden Taalmodel en spraakmodel nodig Trainingsmateriaal nodig Voorbeelden (veel) Supervisie (zeker in het begin) Tellen van verschijnselen > Statistische modellen
Belang voor taalkunde/fonetiek Analyseren en modelleren van taal- en spraakprocessen Inventariseren/trainen: welke verschijnselen komen voor hoe vaak? (kansrekening) Begrijpen: via model/theorie voorspellen van verschijnselen (niet alles is van te voren al vast te leggen) Toepassen: automatisering van taal- en spraakprocessen Toetssteen van theoriën Wisselwerking
Toepassingen (tekst) Spellingscontrole Afbreekregels Automatisch vertalen Taal herkennen Samenvatten van teksten Begrijpen van natuurlijke taal Dialoogsystemen Slim zoeken (Google)
Toepassingen (spraak) Spraaksynthese Spraakherkenning Spraakcodering Gesproken dialoogsystemen in combinatie met systemen voor natuurlijke taalverwerking
Een voorbeeld Spellingscontrole De reiziger vertrekt moregn Waar zit een fout? Wat is het correcte woord?
Spellingscontrole Wat heb je nodig Woordenlijst Woordfrequentie komt een woord voor? welke alternatieven zijn er? maar: hoe groot is de lijst? Woordfrequentie welk alternatief is het waarschijnlijkst? Verschilmaat tussen woord en alternatief moregn | morgen, moren, mogen, moeren ….
Spellingscontrole als het woord niet voorkomt in de woordenlijst spelfout (vervoegingsfout) of lijst niet compleet vervoegingen, getallen, eigennamen,… niet-Nederlands woord
Spelfout invoeging, verwijdering, verwisseling moregn moren (1 invoeging) moreen (1 verwisseling) morren (2 verwisselingen) morden (2 verwisselingen) morgen (2 verwisselingen of 1 omwisseling) Welk woord had het moeten zijn, hoe kies je? hoe vind je alle alternatieven, wat is “lijken op”? welke fouten worden het meest gemaakt welke alternatieven zijn het waarschijnlijkst
Waarschijnlijkheid hoe vaak komt iets voor computer laten tellen een letter een woord woordcombinatie taalkundige structuren
Woordfrequentie Sommige woorden zijn heel frequent welke? Heel veel woorden zijn infrequent Shakespeare gebruikte 30.000 Engelse woorden (de gemiddelde Nederlandse student kent er 3.000; in het Van Dale Engels woordenboek staan er 214.000)
Woordfrequentie in Wikipedia the, of , and, … Frequentie → Rangorde →
Grote tekstcorpora [voor elke taal] Tot honderden miljoenen woorden Corpus Gesproken Nederlands: 300M Van diverse aard Kranten Boeken Wetenschappelijke publicaties, handleidingen Online teksten De tekst van spontane spraak Vlaams/Nederlands
Structuur in tekst (intermezzo) Handelingen van de Tweede Kamer 150 jaar vrijwel letterlijke weergave van parlementaire debatten (digitaal) Vaste manier om te noteren wie spreekt en wat er gebeurt (annotaties) Bijvoorbeeld, het teken □ betekent interruptie dat maakt analyse van interruptiegedrag mogelijk
Attackogram (interruptie overzicht) Political Mashup project (Maarten Marx / Rianne Kaptein) Algemene beschouwingen 2008 GroenLinks D66 PVV Christen Unie SP VVD PvdA CDA PvdDieren TON SGP
Meer woorden tellen! Woordcombinaties (collocatie) meer informatie (ook syntactisch/semantisch) zeer grote corpora nodig om woordcombinaties tegen te komen
Spellingscontrole is de vervoeging goed? (vertraagt, vertraagd) regels > syntactische analyse gebruik buurwoorden (collocaties) (bv is … vertraagd, hij vertraagt )
Spellingscontrole samenvattend woordenlijsten met frequenties collocatielijsten met frequenties regels voor frequente typefouten regels voor syntactische analyse beslissingsstrategie
Taal herkennen (kenmerken van een taal) Jan van Wageningen Dieter Schlierensauer Ioannis Archontakis Mohammed Ouazzani Benhaddou John MacAllister Zhiang Van Tranh Eva Fonseca Aranda de Pereira Rodriguez Olga Ivanovna Kutsnetsova Majbritt Olavsdottir Fadma Űmmügülsüm
Taal herkennen (door te tellen!) karakteristieke letters Nederlands: à é ë ï Fries: ê ô ú û Duits: Ö Ü ä ö ü ß Italiaans: à é è ì ò ù overige karakteristieken Nederlands lettercombinatie ij, ei, dubbele klinkers, kw, sch, woorden: het, op, en, een, voor (en samenstellingen met voor). [topnamen: de, van, een, en, het, in, is, te, niet, op, dat, die, voor, hij, ik, zijn, was] woordeinde: -tje, -sje, -ing, -en, -lijk, woordbegin: z-, v-, ge- t/m 3 tot 5 woorden >90%, 10 woorden ~100% http://www.let.rug.nl/vannoord/TextCat/Demo/ (de kleine jongen)
Automatisch vertalen Van brontaal naar doeltaal Google vertaling Automatisch vertalen Van brontaal naar doeltaal vertalen is meer dan andere codering toepassen is meer dan woordelijk vertalen problemen met niet-bestaande woorden en constructies training: bv vertalingen in Europese parlement Israel vows no let-up over Gaza Israeli Defence Minister Ehud Barak has said Palestinian militant group Hamas had sustained a "hard blow", but the offensive in Gaza would continue. Israël laat geen geloften-up over Gaza Israëlische minister van Defensie Ehud Barak heeft gezegd Palestijnse militante groep Hamas had aanhoudende een "harde klap", maar het offensief in de Gazastrook zou blijven. Israël belooft niet te stoppen in Gaza De Israëlische minister van Defensie Ehud Barak heeft gezegd dat de Palestijnse militante groep Hamas een harde klap te verduren heeft gehad, maar dat het offensief in de Gazastrook zal doorgaan. Google vertaling
Taal- en spraaktechnologie Spreken en verstaan door een computer Informatiediensten (KPN,NS,..) Reserveren (hotel) Kopen (Wehkamp) Hands-free taken Computerinterface (in en uit) Sprekende krant (blinden) Gesproken email Spraak-naar-spraak vertalen
de spraakketen bedoelen begrijpen formuleren verstaan spreken horen spreker luisteraar bedoelen begrijpen taal-kennis formuleren verstaan spreken Omdat we geen taalkennis hebben van een vreemde taal verstaan we die niet horen spraakgeluid
de spraakketen (computer) handelen (bv vertalen) resultaat begrijpen talen kennis spraak herkennen formuleren spraak synthese geluid analyseren Omdat we geen taalkennis hebben van een vreemde taal verstaan we die niet spraakgeluid-uit spraakgeluid-in
dialoog initiatief handelen (bv vertalen) resultaat begrijpen formuleren (computer) talen kennis spraak herkennen spraak synthese geluid analyseren Omdat we geen taalkennis hebben van een vreemde taal verstaan we die niet spraakgeluid-uit spraakgeluid-in (gebruiker)
Spraakherkenning onbekende spraak vergelijken met in het geheugen opgeslagen ‘modellen’ spraakklank woord problemen klank- en woordsegmentatie slordige spraak (doen we allemaal) sprekerverschillen omgevingslawaai
Het leven is mooi als de zon schijnt geen pauzes, slordigheden, sprekereigenschappen, verstoringen
Spraaksynthese lange geschiedenis replica (talking head) - vanaf 18e eeuw akoestisch-elektronisch digitaal ‘een vliegtuig klapt niet met de vleugels’
Von Kempelen (1791) mond-keelholte long articulatoren /mama, papa/ neus
Twee methoden spraaksynthese door regels model van spraakproductie (formant synthese, articulatorische synthese) spraak opbouwen uit bouwstenen vooropgenomen spraak(stukjes) difoonsynthese (twee-fonemen) synthese door keuze van (grotere) spraakeenheden uit zeer grote verzameling
Difonen Meeste stabiliteit in midden van spraakklank di = twee foon = klank Van midden naar midden attentie > #AtEntsi# > #A At tE En nts tsi i# constante toonhoogte (dat wordt later geregeld)
Voorbeelden difoonsynthese http://www.let.uu.nl/~audiufon/data/difoon.html attentie: schimmel: Engels: Frans: Fluency:
Grotere eenheden gebruiken Uren spraak opnemen kan alleen als je zeer grote bestanden kunt verwerken; sinds 10 jaar Segmenteren in woorden en klanken Nieuwe zin: kijk of je je stukken al opgenomen hebt (van een heel woord tot een difoon) Plak stukken aan elkaar
Voorbeelden unit-selection http://www.fluency.nl Loquendo (Willem) http://tts.loquendo.com/ttsdemo/default.asp?page=id&voice=Willem RealSpeak (NL in Engels) http://212.8.184.250/tts/demo_last.jsp
Verschillende talen http://www.acapela-group.com/text-to-speech-interactive-demo.html (engels, frans, duits, italiaans, noors,pools, portugees, russisch, spaans, zweeds, turks)
Van tekst naar spraak tekst voorbewerken letter-naar-foneem afkortingen, getallen letter-naar-foneem fonetische transcriptie door regels c kan klanken s, k, S (sj), X (g) worden verleden: zelfde schrijfwijze, drie klanken paal, palen: zelfde klank, twee schrijfwijzen duur en melodie toekennen woordklemtoon, zinsaccent, vraagzin,…
Duur en melodie Fluency Speech Editor demonstratie (fldsed) Woordklemtoon Zinsaccent (hoog/laag) Algemene daling van toonhoogte over de zin Alles op basis van taalkundige analyse Functiewoorden versus inhoudswoorden Syntactische / semantische analyse
Modellen zijn procedures in taal- en spraaktechnologie een afspiegeling van menselijke taalverwerking? ook al benaderen ze menselijke prestaties: nee, niet noodzakelijk onze hersenen werken complexer dan een hedendaagse computer
Opdrachten Zie de leeswijzer Aantal vragen uit het boek Vraag over spraaksynthese
Meer over taal- en spraaktechnologie Niveau 1 Taal en Computer (blok 3) Niveau 3 Taal- en Spraaktechnologie (blok 4) Computationele grammatica’s (blok 2)
Vragen?