NOTaS in Tilburg

Ik weet niet waar u Tilburg van kent maar vanaf 15 februari 2019 zal de stad voor NOTaS de boeken ingaan als de plek waar we een zeer succesvolle themabijeenkomst rond het thema “TST en kunstmatige intelligentie” hebben gehad. Zo’n 30 personen wisten het Dante-gebouw op de Tilburgse Universiteitscampus te vinden voor een programma dat ditmaal geheel in het Engels werd gehouden zoals onderstaande agenda al laat zien:

  NOTaS-meeting at Tilburg University (TiCC) dante
Locatie Dante-gebouw, Warandelaan2, kamer D353
Theme HLT and Artificial Intelligence

Natural Language Generation

emielDe aanwezigen zaten twee rijen dik rond de conferentietafel van zaal D353 toen Fabrice Nauze, voorzitter van NOTaS, en tevens voorzitter van deze bijeenkomst, ons welkom heette en het woord gaf aan de Tilburgse hoogleraar Emiel Krahmer. Deze gaf een bijzonder boeiend overzicht van het werk dat in Tilburg geschiedt op het gebied van NLG (Natural Language Generation). Dat varieert van het genereren van sportberichten uit voetbaluitslagen (Automated Newsroom), tot het voorzichtig formuleren van gepersonaliseerde berichten over bijwerkingen van behandelingen van kanker.

Een interessante voorbeeld was het maken van verslagen van een voetbalwedstrijd. De flexibiliteit van de software maakt het mogelijk om van dezelfde wedstrijd drie verschillende verslagen te maken:

  • Een voor fans van de winnende partij (terechte overwinning, mooie doelpunten, etc.)
  • Een voor fans van de verliezende partij (onterechte overwinning, mazzel doelpunten, etc.)
  • Een neutraal verslag voor de overige lezers

Daarnaast liet hij zien hoe robot Nao (NOTaS-deelnemers welbekend) in het L2tor-project is ingezet om kinderen woorden te leren door middel van ondersteuning door gebaren. Zo onthielden kinderen het woord voor "aap" beter wanneer Nao gelijktijdig ook de typische bewegingen van een aap probeerde na te doen. Helaas verdween dit effect bij woorden die niet met specifieke gebaren geassocieerd werden. Interessant en voer voor meer onderzoek. 

Grounded Speech Perception

emielHet volgende praatje was van Grzegorz Chrupała over “grounded speech perception”. Deep Learning-technieken worden gebruikt om plaatjes aan spraakuitingen te koppelen, zonder vooraf ingegeven kennis van fonemen of morfemen. De uitkomsten waren interessant en lieten trends zien die ook bij kinderen worden waargenomen wanneer ze taal aan betekenis leren koppelen en vice versa.
Je moet hierbij denken aan het volgende: een jong kind ziet een plaatje (bv een vogel op een tak) terwijl een ouder zegt: "kijk een vogel op een tak". Het kind is nog te jong om echt te begrijpen wat een vogel of een tak is. Toch zal het kind een verband proberen te leggen tussen de gesproken uiting en het bekeken plaatje. De vraag van Grzegorz is: kan ik dat met AI nabootsen?

koffieDaarna was het pauze werd en werd het heel druk in het gangetje naast de zaal maar wel heel leuk om daar ook nog andere Tilburgse collega’s tegen het lijf te lopen.
En het was interessant om de koffie van de catering met die uit het fraaie apparaat op de gang aan een smaakvergelijking te onderwerpen.

Conversational AI toolkit 

emielOp vloeiende wijze leidde de voorzitter terug naar de zaal voor een presentatie over het bedrijf flow.ai van mede-oprichter Sander Wubbe. Het bedrijf is een spin-off van de Tilburgse universiteit en heeft een fraai platform in de markt gezet om chatbots op te ontwikkelen. Zoals we inmiddels wel meer zien richt de chatbot zich niet enkel op geschreven conversaties maar ook op gesproken input. Zo is het vrij eenvoudig om de met Flow.ai gemaakte dialogen te koppelen aan de praatpalen van Google en Amazon zoals talloze Nederlandse bedrijven al hebben gedaan.

Sander, die zelf in Tilburg is gepromoveerd, liet dit zien aan de hand van een voorbeeld waarbij ondersteunende technologie (NLG) wordt ingezet om meerdere varianten van eenzelfde vraag te genereren. Daarna volgde nog een breed palet van use cases bij verschillende klanten zoals Samsung voor de bediening van allerlei apparaten, de sleep challenge van Interpolis en recommender systemen voor films.

Transforming educational publishing 

emiel

Ten slotte was het de beurt aan Mark Breuker van Edia. Hij begon met de stelling dat veel educatieve uitgevers geen idee hebben van het materiaal dat ze zelf al in huis hebben. Als ze dan beginnen met een nieuw boek, dan beginnen ze volledig opnieuw terwijl dat eigenlijk niet nodig is. Het onderverdelen van het tekstmateriaal in kleinere brokken en het automatisch classificeren ervan, maakt het dan makkelijker om je eigen materiaal te vinden en opnieuw te gebruiken.

Ook maakte Mark duidelijk hoe moeilijk het voor uitgevers is om een goede inschatting te maken van het niveau van Engels teksten volgens de indeling van het Europese Referentiekader (ERK, of in het Engels CEFR) en hoe AI kan helpen om dit uniformer te doen. Interessante vragen of uniformere classificatie ook een betere classificatie oplevert gingen hij en zijn rechterhand Roland Groen bepaald niet uit de weg waardoor een heel interessante discussie volgde over het nut en de kracht van AI die de grenzen van dit specifieke onderwerp op een welhaast filosofisch plan bracht.

Lunch

lunchNOTAS TICC 10Daarover konden we nog napraten op een uitstekend verzorgde lunch in de Esplanade, waar ondergetekende zich met enkele medewerkers van ReadSpeaker onderhield over de vraag of Google en Amazon niet ook de TTS/spraaksynthese-markt gaan overnemen. Het antwoord was een overtuigend nee, maar dat is misschien een mooi onderwerp voor een volgende bijeenkomst.

 

Henk van den Heuvel

Groot Dictee der Nederlandse Taal 2018

Het is weer half december en dat houdt al jaren in: Het Groot Dictee der Nederlandse Taal. Tot een paar jaar geleden was dat een nationale TV-gebeurtenis in de voormalige Tweede Kamer. Maar om de een of andere reden (paste niet meer in deze tijd) is men er mee gestopt. Jammer, maar zo gaat dat.

Het radioprogramma “de Taalstaat” van o.a. Frits Spits besloot om het dictee weer in ere te herstellen, maar ditmaal voor de radio.

dictee 3Vlnr: Wim Daniëls (schrijver), Philip Freriks (voorlezer), Pieter van Diepen (winnaar), Frits Spits (presentator)

En zo was er zaterdagochtend 15 december weer het Groot Dictee der Nederlandse Taal, als vanouds voorgelezen door Philip Freriks. Het was alweer de 28ste editie en ditmaal geschreven door taalkundige Wim Daniëls. Mensen konden in bibliotheken door heel het land live meeschrijven met dit Dictee. En uiteraard kon je ook voor de lol gewoon thuis meedoen: Radio aan, pen en papier bij de hand en schrijven!

Een paar jaar geleden hadden we met een aantal ASR-specialisten als eens onderzocht of wij met onze spraakherkenner konden meedoen, maar dat liep steeds op een njet uit. Ze vonden het niet sexy, zagen geen toegevoegde waarde en meer van dat soort weinig houtsnijdende argumenten. Een paar saaie wetenschappers in de hoek met een laptop die laten zien dat de mens nog steeds beter is dan de computer; wie vindt dat nu niet leuk om te zien?

deicUitzending eerste uur van het dictee Ook dit jaar deden wij weer niet mee (maar we hadden het ook niet gevraagd). Ik hoorde de door Freriks op gedragen toon gedeclameerde zinnen door de radio schallen en was gewoon nieuwsgierig naar wat de KALDI-UTwente-RUNijmegen herkenner hier nu van zou bakken.

Op de website van de NPO1 was de gehele uitzending, inclusief het meermalen voorlezen van de zinnen door Philip Freriks terug te vinden, maar een download met alleen de zinnen in optimale audio-kwaliteit was er niet.
Gelukkig werd het eerste uur afgesloten met het nog eenmaal voorlezen van alle zinnen. Die konden we makkelijk opnemen en in 8 zinnen knippen. Die 8 zinnen hebben we door de herkenner gehaald en het resultaat viel zeker niet tegen.

Van spraak naar zinnen

Maar voor we de resultaten echt gaan vergelijken, iets over spraakherkenning. Wat erg lastig is voor de huidige spraakherkenners, is het opschrijven van de herkende spraak in zinnen. Mensen spreken nu eenmaal niet in zinnen en een spraakherkenner doet domweg niets anders dan de binnenkomende audio omzetten in een geschreven representatie. Voor veel doeleinde is dat uitstekend, maar om er grammaticaal correcte Nederlandse zinnen van te maken, is meer nodig. Zie voor meer info hierover de blog Spreek2Schrijf.

Een trucje dat we gebruiken, is om een nieuwe “zin” te maken wanneer de pauze tussen twee opeenvolgende woorden 400 msec of meer is. De ietwat gedragen wijze van voordragen door Philip Freriks echter, leidt er dan toe dat we meer zinnen krijgen dan er hadden moeten zijn.

Een ander probleem is het gebruik van hoofdletters. Onze spraakherkenner doet alles in kleine letters. De postprocessing (begin van een nieuwe zin altijd met een hoofdletter) zorgt al voor een kleine verbetering. Maar om het een stuk beter te krijgen, zouden we veel meer aan de postprocessing moeten doen. Een zin als “Premier Wim Kok is een goede kok” wordt door de herkenner als “Premier wim kok is een goede kok” geschreven.

Woordenlijst

Tenslotte is er de woordenlijst. De herkenner kan 256K woorden herkennen. Dat is best veel maar slechts 20% van de bestaande Nederlandse woorden. Er zijn dus heel veel, vaak minder frequent gebruikte, woorden die wij gewoon niet kunnen herkennen omdat ze nu eenmaal niet in het woordenlijstje staan. Ook samengestelde woorden zijn een probleem. Een woord als coderoodwaarschuwingen staat nu eenmaal niet in onze woordenlijst. Wel staan er de woorden code, rood en waarschuwing in. De herkenning gaat hier dan ook perfect, maar het resultaat is natuurlijk wel "fout".
Het voordeel van zo'n woordenlijst is dat er in principe alleen maar correct gespelde woorden in staan. Hierdoor zal de herkenner een spelfout die mensen typisch maken nooit maken; de herkenner zal bijvoorbeeld nooit "minuscule" als "miniscule" schrijven, of "debacle" als "debakel". Dus als het juiste woord herkend wordt, dan bevat het geen spelfouten.

En niet-Nederlandse woorden? Een staande, Friese uiting als ‘It giet oan’, is eigenlijk kansloos als ie er niet als één uiting in staat. Dat staat ie niet en dus wordt deze uiting herkend als “in teheran”.

Tenslotte zijn er de uitspraakfouten waar wij mensen geen probleem mee hebben omdat we begrijpen wat er bedoeld wordt en dus de herkende tekst in die context horen. Voorbeeld in dit dictee is de uiting van Freriks “elfstedentocht in hera willen houden". Natuurlijk wordt hier bedoeld “Elfstedentocht in ere willen houden”, maar ook na 10x afluisteren blijf je horen dat er (h)era wordt gezegd: en dat herkent de ASR-engine dan ook.

Dit klinkt allemaal als een groot excuus om te verdoezelen dat de herkenner het gewoon niet goed doet en dat we eerst moeten interpreteren, voor dat de herkenner op dit niveau kan meedraaien. Maar de herkenner heeft ook zo z’n sterke punten: hij kan eigenlijk geen schrijffouten maken. Als ie een woord als skûtsjesilen herkent, dan “schrijft” ie het ook 100% goed.

Lastiger is het bij twijfelachtige uitingen waar begrip om de hoek komt kijken. In de tweede zin zegt Freriks “Zo’n temperatuur” maar bij heel goed luisteren, lijkt de /o/ van zo’n wel erg dicht bij de /O/ van zon te liggen; en dat is ook wat er herkend wordt. Een mens zou deze fout niet maken, omdat het resultaat gewoon onzin oplevert, maar een spraakherkenner heeft (nog) geen benul van zin en onzin en dus worden die woorden herkend die qua akoestiek EN taalmodel het best passen.

Resultaten

Maar hoe goed deed de herkenner het nu? Hieronder de 8 zinnen met onder iedere correct geschreven zin, de resultaten van de spraakherkenner. We hebben iedere zin zoals beschreven op de website van het programma en voorgelezen door Philip Freriks als een apart bestand door de herkenner gehaald.

Conclusie

We mogen stellen dat de herkenning best goed is. Hier en daar zien we typische spraakherkenningsartefacten zoals missende hoofdletters, samengestelde woorden die als losse woorden geschreven worden, zinnen die geen zin zijn, missende leestekens, uitspraakfouten die letterlijk herkend worden en ambiguiteit "zoon versus zo'n" waar normaalgesproken de context het juiste antwoord geeft. En toch.....

Helemaal niet verkeerd.

 

Arjan

Evaluatie van de OH-portal

Tijdens de succesvolle en plezierige workshop in Arezzo (2017) werd duidelijk dat, mits goed en eenvoudig uitgevoerd, het automatisch transcriberen van interviews nuttig kan zijn om sneller een goed beeld te krijgen van hetgeen er werd gezegd. Men was zich bewust van de onvolkomenheden van automatische spraakherkenning en dat de resultaten afnemen wanneer de audio-kwaliteit minder is en/of er in (zwaar) dialect gesproken wordt.

Wat nadrukkelijk gevraagd werd, was om een mogelijk portal eenvoudig te houden door weinig eisen aan de invoer te stellen en zo min mogelijk technische jargon te gebruiken.

Nadat in het najaar van 2017 de aanvraag voor het bouwen van de portal goedgekeurd was, begon het team van Christoph Draxler aan de bouw ervan. Een dag voor de presentatie werd de bèta-versie geüpgraded naar versie 1.0.0: waarlijk precies op tijd J.

De portal

Afbeelding1Fig. 1: Screenshot van de portal

Het idee van de portal is eenvoudig. Je gaat naar de website (https://www.phonetik.uni-muenchen.de/apps/oh-portal/# ) en selecteerde en of meerdere geluidsbestanden. Op dit moment moeten de bestanden als wav-files gecodeerd zijn, maar in de nabije toekomst is zelfs dat niet meer noodzakelijk omdat de portal zelf de ontvangen bestanden in het juiste formaat zal over zetten. Wat nu al kan is dat het niet uitmaakt met welke sample frequentie de files opgenomen zijn en of ze mono of stereo zijn. Wel is het zo dat in geval van stereo, de portal vraagt of je beide kanalen apart of samen wilt processen. Wanneer je kiest voor apart worden beide kanalen na elkaar gedaan waardoor je bij opnamen met 2 sprekers elk op een eigen kanaal, je veel beter de verschillende sprekers kunt scheiden, turn-taking kun bepalen en overal een beter herkenningsresultaat kunt krijgen.

Workflow

Wanneer je op de portal bent, selecteer je middels de knop  de wav-files van je eigen computer waarvan je de spraak wilt gaan herkennen. Vervolgens klik je op verify waarna er een keuze venster opent waarin je de verschillende opties kunt instellen.

Afbeelding2Fig. 2: verify-window. Selecteer de taal en eventueel de gewenste ASR-engine voor die taal.
Bovendien kun je kiezen wat je met de herkenningsresultaten wilt gaan doen: “manuele transcriptie/correctie gevolgd door woord alignment.

Op dit moment kun je slechts een keuze maken voor alle files in het verify-window. Je kunt dus niet twee files laden en dan de ene door de Italiaanse en de andere door de Engelse herkenner halen.

Als de keuze eenmaal gemaakt zijn, kun je via de knop  het processen beginnen. De files worden eerst geupload en vervolgens verwerkt. Zoals gezegd, als er een stereo file bijzit, wordt gevraagd hoe je de stereo file wilt verwerken.

Manual Transcription

Zoals gezegd, werkt spraakherkenning bijna nooit foutloos. Afhankelijk van de opnamen kwaliteit, de manier van spreken en het woordgebruik van de verschillende sprekers, hun accenten en de aanwezigheid van achtergrondgeluiden zal spraakherkenning meer of minder succesvol zijn. Bij goede opnamen, heldere, coherente spraak is een foutpercentage van minder dan 10% goed te doen voor de vier talen in de huidige portal (En, Nl, It, en De).

Maar ook bij heel goede herkenning, zal er altijd wel iets fout gaan. De knop Manual Transcriptie biedt de mogelijkheid om correcties in het herkenningsresultaat aan te brengen. Maar door in de herkende tekst te gaan editen, wordt het verband tussen het herkende woord en de tijd in de audiofile verbroken. Om die weer te herstellen kan, nadat de automatisch verkregen transcriptie handmatig gecorrigeerd is, gekozen worden voor “word alignment”. De herkenner gaat nogmaals aan de slag maar weet nu precies wat er gezegd werd. Het resultaat is nu een perfecte transcriptie waarbij van ieder woord precies bekend is wanneer het werd uitgesproken. Dit biedt de mogelijkheid om automatische ondertiteling te genereren of een karaoke-versie te maken waarbij het uitgesproken woord gehighlight wordt.

Webservice

Tijdens de eerste dag van workshop werd de werking van spraakherkenning, de gemaakte keuzes en de problemen bij het bouwen verteld. De huidige portal is een webservice die op een uniforma manier de audio-files “verzamelt” en die vervolgens, afhankelijk van de gemaakte keuzes, doorstuurt naar de verschillende spraakherkenners (WebASr in Sheffield, LST-NL in Nijmegen, LST-En in Enschede, EML-It in Duitsland). Elke herkenner geeft vervolgens een eigen output terug die door de portal in München weer naar een van de gekozen standaards wordt herschreven. Wanneer in de nabije toekomst extra talen toegevoegd zullen worden, zal dit steeds opnieuw moeten worden opgelost.

Commercial versus Open Source

Er zijn veel meer herkenners beschikbaar (en ook voor meer talen dan de nu getoonde 4) maar die zijn bijna allemaal (semi-)commercieel. Het is zeer eenvoudig om de uitstekende Google-herkenner aan te sluiten en in de bèta-versies van de portal was dit ook gedaan.

Het betalen met geld is meestal geen probleem omdat het om zeer lage bedragen gaat (een paar euro per uur spraak) maar bijna altijd wordt de gebruikte audio-data op de schijven van de commerciële partijen opgeslagen voor extra training, testen of iets anders. En dat is dikwijls wel een probleem omdat het vaak om gevoelige informatie gaat. Sowieso is het gebruik van onze (betrouwbare) portal soms al een probleem omdat in de voorwaarde van veel collecties nadrukkelijk staat dat de data het “gebouw” niet zonder toestemming mogen verlaten.

Voor gebruik van de portal tijdens de workshop werd daarom besloten de commerciële herkenners als keuze optie te verwijderen.

Bij de eerste evaluatie op woensdagmiddag werd echter door veel deelnemers gevraagd deze optie toch weer in te bouwen maar dan nadrukkelijk aan te geven dat de herkenners X, Y en Z “commercieel zijn en dat ze wellicht de data op hun eigen schijven zullen bewaren. Het is dan aan de gebruikers om te besluiten die herkenners wel/niet te gebruiken.

Hands-on

Op donderdagochtend was er eerst een presentatie van de manier waarop de portal gebruikt moet worden. Vervolgens kon iedereen een kort geluidsfragment (eigen geluidsfile of eentje beschikbaar via workshop-portal) uploaden en door de herkenner halen, bewerken, alignen en de uiteindelijke resultaten downloaden.

Dat ging bijna goed. De systemen van de LMU bleken niet in staat te zijn 20 gebruikers parallel te bedienen waardoor er soms vreemde foutmeldingen verschenen en sommige deelnemers enorm lang moesten wachten om een fragment van 5 minuten herkend te krijgen. Schaalbaarheid is zeker nog iets om goed naar te kijken!

Wel waren de meeste deelnemers zeer te spreken over de eenvoud van het geheel. Het enige dat af en toe lastig bleek was het extraheren van de audio uit video-interviews en/of het omzetten van een bepaald formaat (bv *.wma of *. mp3) in het verwachte *.wav formaat. Technisch is dit een fluitje van een cent, maar als je niet weet hoe je het moet doen en/of de juiste software niet op je computer hebt, is dit toch wel een issue. De mogelijkheid om het binnenkort in de portal te doen, werd daarom met enthousiasme begroet.

De meeste deelnemers waren meer dan tevreden over de herkenningsresultaten en begrepen goed dat automatische spraakherkenning van geluidsfragmenten die ze zelf nauwelijks konden verstaan, lastig zo niet onmogelijk was.

Wat wel gevraagd werd was of extra output-formaten gemaakt konden worden zodat ze de resultaten van het gehele proces direct in hun eigen systemen zouden kunnen laden (Zwangsarbeit Archiv, ELAN). Technisch is dit geen enkel probleem maar we kunnen niet alle formaten van alle OH-projecten gaan ondersteunen. De bouwers van de portal hebben aangegeven dat ze op korte termijn zullen gaan kijken naar mogelijk interessante export-formaten, en deze zullen toevoegen aan de huidige export-formaten.

Conclusie

Over het algemeen waren de deelnemers tevreden over de mogelijkheden van de OH-portal. Iedereen kon, na enige hulp bij het omzetten van de geluidsbestanden, zijn eigen geluidsfiles door de portal halen, de transcriptie handmatig corrigeren en de uiteindelijke resultaten downloaden. Het feit dat de belasting van de services door het gelijktijdig gebruik van 20+ deelnemers te hoog werd waardoor de systemen onderuitgingen was eigenlijk het enige dat bij de hands-on sessie verkeerd ging. Voor de bouwers van de portal was het een goede wake-up call.

In de komende maanden zal de verdeling over verschillende systemen beter geregeld gaan worden en zullen verschillende andere herkenners (zowel commercieel als niet-commercieel) worden toegevoegd. Wij zullen (o.a. tijdens de CLARIN-dagen in Pisa) gaan kijken welke andere CLARIN-deelnemers een herkenner beschikbaar hebben en eventueel zouden willen meedoen.

Kaldi

Op dit moment is het Kaldi het populairste platform voor op DNN-gebaseerde spraakherkenning. De Nederlandse en een Engelse herkenner werken al met Kaldi en de zowel in Duitsland als Italië zijn aan de universiteiten verbonden onderzoekers bezig een op Kaldi gebaseerde herkenner te maken. Omdat het zonde zou zijn het wiel meerdere keren uit te vinden, is afgesproken te onderzoeken in hoeverre we de krachten kunnen bundelen en gezamenlijk aan op Kaldi gebaseerde herkenners kunnen gaan werken.

Vlaanderen – Nederland

PIO logo

Anders dan de titel wellicht doet vermoeden, ging het hier niet om een wedstrijd tussen twee Nederlandssprekende gebieden, maar juist om een samenwerking: is het mogelijk om met vereende kracht een infrastructuur op te zetten waarmee de spraak van zowel de plenaire sessies als de commissie-vergaderingen van het Vlaams Parlement, in goed leesbare tekst kunnen worden omgezet.

Doel

Ergens in het najaar van 2017 kwam er een e-mail van de Vlaamse overheid:

Open marktconsultatie PIO-project
“Spraaktechnologie voor verslaggeving Vlaams Parlement (ST-VP)”

Het Vlaams Parlement, het Departement Economie, Wetenschap en Innovatie (EWI) en Addestino Innovation Management nodigen u uit om deel te nemen aan een open marktconsultatie op vrijdag 24 november 2017 van 9 tot 13 uur in de Valerius De Saedeleerzaal van het Vlaams Parlement.

Het achterliggende doel van deze oproep was:

Het Vlaams Parlement wenst na te gaan in welke mate het inzetten van automatische spraakherkenning bij de productie van verslagen van parlementaire debatten kan bijdragen tot het optimaliseren van de werkprocessen van de redacteurs/verslaggevers van het Vlaams Parlement. Het Vlaams Parlement wil verder bouwen op de beschikbare technologieën en spraakherkenning gebruiken om de audio-/video-opnames van de commissievergaderingen en van de plenaire zittingen naar tekst om te zetten.

Bijkomend beoogt het Vlaams Parlement (zo mogelijk live) ondertiteling van de beeldverslagen op de website van het Vlaams Parlement.

Dit was een best wel ambitieuze doelstelling. Voor het Nederlandse Parlement doen we bij Telecats al een aantal jaren zoiets maar daar gebruiken we de menselijke transcripten (de Handelingen) om de uitgezonden vergaderingen van ondertitels te voorzien. Maar de tekst is door mensen gemaakt. Wij doen de forced alignment en het “mooi" maken van de ondertitels.

Het Vlaams Parlement wilde een stapje verder gaan door ook de transcripties door de computer te laten maken. Uiteraard was het niet de bedoeling om de mens er tussen uit te halen maar wel om de efficiëntie te verhogen zodat meer gedaan kan worden met dezelfde hoeveelheden mensen. Op de bijeenkomst bij het Vlaams Parlement bleek dat men bovendien nog meer wilde. Niet alleen moest de spraak herkend worden, maar ook de sprekers. Het Vlaams Parlement telt 124 afgevaardigden en bovendien worden met enige regelmaat gastsprekers uitgenodigd. Tenslotte, en daar zat het venijn, wilde men niet een letterlijke transcriptie, maar een grammaticaal correcte weergave van wat er gesproken wordt waarbij de syntax/grammatica kan aangepast worden maar de inhoud dezelfde moet blijven.

Kennismaken in Brussel

Op de goed bezochte bijeenkomst waren het vooral de academische instellingen die de onmogelijkheid van dit alles benadrukten: herkennen is al een “dingetje” laat staan het "vertalen" in een goed leesbaar en de inhoud correct weergevend verslag. Begin met die herkenning en ga kijken of dat voldoende goed werkt om het werken efficiënter te maken!

Vlak voor deze bijeenkomst werd besloten het traject in te gaan met Parladium: een mix van Vlaamse en Nederlandse universiteiten (KU Leuven, UGent en de Radboud Universiteit Nijmegen) en twee bedrijven die hun sporen op het gebied van spraakherkenning al hadden verdiend: MyForce uit Vlaanderen (Merelbeke) en Telecats uit Nederland (Enschede). Het project is ambitieus en voor het ontwikkelen van nieuwe technologie heb je universiteiten nodig, maar het eindresultaat is een werkende applicatie die onderhouden moet worden en daar heb je juist weer bedrijven voor nodig.

Parladium
logo kuleuven logo ugent logo ru logo myforce logo Telecats
Fig. 1: Het consortium van 3 universiteiten en 2 bedrijven

In februari kwam het verzoek om voor 19 februari een voorstel (soort plan van aanpak) en de expertise van de verschillende partijen toe te lichten. Aan de hand van alle ingediende plannen zouden ze dan drie partijen selecteren die op de testdag op 4 mei mee zouden mogen doen aan “De Wedstrijd”. Men zou dan een USB-stick met 3 geluidsfragmenten krijgen die zo goed (en zo snel) mogelijk moesten worden omgezet in tekst waarbij moest worden aangegeven wie per fragment de spreker was. De resultaten zouden dan beoordeeld worden door medewerkers van het Vlaams Parlement die normaal gesproken ook de verslagen maken. Pas als zij vinden dat er kans op slagen is, zou het project door kunnen gaan!

Na afloop van De Wedstrijd op 4 mei, bleek dat 6 partijen een voorstel hadden ingediend (waarvan er eentje te laat was dus die deed sowieso niet mee). Gelukkig hoorden wij, Parladium, tot de gelukkigen die werden uitgenodigd.

Voorbereiding

In de weken voor 4 mei werd er, met name door de KU Leuven en de UGent, erg hard gewerkt aan het verbeteren van de herkenning door de uitgeschreven teksten van eerdere parlementaire vergaderingen te gebruiken voor het verbeteren van het taalmodel. Ook werden alle eigennamen van de Parlementariërs manueel aan het uitspraakwoordenboek toegevoegd, alsook werd de uitspraakvorm van een reeks in het Parlement frequent gebruikte termen geverifieerd. Verder werkte de UGent hard aan het verbeteren van sprekerherkenning door van elk huidig Vlaams Parlementslid een eigen audioprofiel te maken.

De Radboud Universiteit richtte zich op het verbeteren van de zogeheten Spreek-naar-Schrijf module: een tool, oorspronkelijk ontwikkeld voor de Nederlandse Tweede Kamer, die probeert de gesproken spraak in een meer op lezen gerichte vorm te gieten (zie: https://notas.nl/dixit/s2s.pdf) . Het Vlaamse MyForce coördineerde de gehele actie en verzorgde de communicatie met het Vlaams Parlement.

Tijdens de laatste bijeenkomst bij ESAT in Leuven werden de puntjes op de i gezet en de laatste afspraken qua formaten ed. gemaakt. Wat zouden we precies gaan doen, wie zou er aanwezig zijn, en vooral: wat zouden we gaan inleveren.
Dirk Van Compernolle van de KU Leuven nam het op zich om een overzichtsdocument te schrijven met daarin de toelichting op de geleverde resultaten.

De wedstrijd

lieveFig. 2: Lieve Beullens te midden van Erwin Dewallef (links) en Bart Martens (rechts) bij de aftrap van De Wedstrijd.
De gesloten enveloppen liggen klaar om uitgedeeld te worden.

 

Vrijdag 4 mei om 8:45 in Brussel geraken was een uitdaging op zich. De Antwerpse Ring, het verkeer in Brussel en vooral de permanente wijzigingen in het Brusselse stratenplan, maakte het noodzakelijk om rond 5:30 te vertrekken. Maar…. de reis verliep vlotjes en als eerste bij het Parlement aanwezig.

Bij binnenkomst bleken behalve de eerder ontmoete medewerkers van het parlement ook twee oudgedienden van het Vlaams-Nederlandse STEVIN-programma (2004-2011) aanwezig: Peter Spyns en Erwin Dewallef. Erg gezellig om beiden weer te zien en ook te horen dat ze allebei nog op enigerwijze betrokken zijn bij de (implementatie van) Taal- en Spraaktechnologie.

We werden samen met onze concurrenten (ZoomMedia met Microsoft, Cedat85/Bertin-IT) in een van de commissiezalen gezet alwaar Lieve Beullens van het Vlaams Parlement een toelichting gaf op de procedure. We kregen een enveloppe met daarin de USB-stick met de drie geluidsfragmenten en moesten die stick met daarop de eindresultaten en een geprinte, en door ons ondertekende versie van het uiteindelijke document weer inleveren.

Aan de slag

Kris Demuynck en Brecht Desplanques, beiden van de UGent, togen direct aan het werk. De data werd naar computers aan de UGent gekopieerd en de volautomatische spraak-naar-tekst pijplijn werd opgestart. Deze pijplijn omvat volgende deelstappen:

  1. Omzetten van het mp3-format in 16 kHz, 16-bit, mono wav
  2. Het bepalen van de spraak <-> geen-spraak
  3. Diarisatie: het segmenteren van de opnamen in sprekers
  4. Het identificeren van de sprekers (welk parlementslid of minister sprak er waarschijnlijk)
  5. Het herkennen van de spraak
  6. Het combineren van de verschillende informatie in een leesbaar en editeerbaar html-document.


Vlaams Parlement ScreenshotFig. 3: Screenshot van Kris Demuynck's computer tijdens het runnen van de verschillende componenten. De herkenning van de drie fragmenten werd parallel op drie verschillende computers gedaan. Hierdoor waren we na 20 minuten alweer klaar.

Daarna zou ik de resultaten door de Nijmeegse Spreek2Schrijf-module halen, om de herkende tekst nog iets fraaier te presenteren.

Kris had zowel in Gent als in Leuven (als back-up) een set snelle (waren eigenlijk oude computers; de nieuwe heb ik niet op tijd in het netwerk gekregen) computers klaar staan om deze klus te klaren en na ongeveer 20 minuten waren hij en Brecht klaar. De resultaten zagen er al zeer veelbelovend uit. De sprekers waren zo te zien goed herkend en er was ook automatisch al een fotootje van elke spreker en een link naar zijn/haar officiële website geplaatst.

herkende spraak vpFig. 4: Screenshot van een fragment van de herkende spraak. De spreekster, Elisabeth Meuleman, werd automatisch herkend.
Haar naam linkt door naar haar officiële webpagina bij het Vlaams Parlement.

De laatste stap was de S2S, maar…… Ik had het de dag ervoor nog geprobeerd en alles werkte dus dat moest een eitje worden. Vol goede moed stuurde ik de drie resultaten naar de Nijmeegse server en na een vijftal minuten kwamen de resultaten. Mooi! Maar de resultaten waren leeg. In paniek de maker Maarten van Gompel geprobeerd te bereiken, maar dat lukte niet. Later bleek dat de server wel werkte maar dat een kleine aanpassing in het formaat de oorzaak was van het leegblijven van de resultaten. Kris had in de week voor de wedstrijd nog een extra mogelijkheid gemaakt waardoor de resultaten ook direct in Microsofts word-format weggeschreven konden worden. Mooi maar ik had verzuimd om behalve te controleren of de server werkte (dat deed ie) ook te kijken of de inhoud ok was. Enorm stom.

Het resultaat

Het gevolg van dit alles was dat de resultaten zonder de mogelijke verbeteringen van S2S werden ingeleverd. Enerzijds enorm jammer maar we hadden al wel gezien dat S2S, dat getraind was op Nederlandse parlementaire data, niet altijd een verbetering gaf. Soms wel, maar soms werden goed herkende Vlaamse teksten “vernederlandst” doordat een Vlaamse afkorting werd herschreven in een gelijkend, maar net iets andere Nederlandse afkorting. Het was dus niet heel erg maar wel ontzettend stom dat de S2S-resultaten niet werden meegenomen.

De drie herkende spraakopnames werden geprint, door Dirk Van Compernolle officieel ondertekend en in de enveloppe gedaan. Later dit voorjaar zullen we te horen krijgen of het Vlaams Parlement doorgaat met de inzet van spraaktech en zo ja met welke partij. Voor nu dus even geduld.

Een eenvoudige doch voedzame maaltijd

maaltijdFig. 5: Na afloop was het goed napraten op het dak van het gebouw van het Vlaams Parlement.
Van links naar rechts: Brecht Desplanques, Kris Demuynck, Peter Spyns en Erwin Dewallef.

Nadat iedereen zijn resultaten had ingeleverd konden we met z’n allen op het dak van het gebouw (strakblauwe lucht, schitterend uitzicht over Brussel) genieten van een eenvoudige doch voedzame maaltijd.
Dat een paar ongelukken met vrachtwagens de Nederlands-Belgische grensovergangen blokkeerde waardoor de terugreis bijna 4 uur in beslag nam, mocht het tevreden gevoel een mooi resultaat te hebben neergezet, niet drukken.

Gesproken en geschreven chatbots

Achtergrond

Al sinds de eerste jaren van het internet, bestond er de behoefte om te kunnen zoeken in de content die datzelfde internet ontsloot. Ging het in eerste instantie nog met specifieke zoektechnieken zoals Boolean Search, later kwamen er meer verfijnde technieken die over het algemeen beter aansloten bij de manier waarop mensen gewend waren te zoeken.

KarelEnDeElegastDe antwoorden op een zoekvraag waren en eigenlijk zijn nog steeds vrij simpel: hier heb je een lijst met verwijzingen (links naar andere website, naar documenten, video’s, etc) waarin volgens ons zoekalgoritme het juiste antwoord hopelijk staat. Succes ermee!

Dit is lang niet altijd verkeerd. Wil ik iets weten over “Karel en de Elegast” dan is er niets mis mee dat ik een lijst met verschillende verwijzingen naar informatie over dit heldenepos krijg. Ik kan die bekijken en zelf beslissen welke documenten ik hierover wil lezen of bekijken.

Anders ligt het wanneer ik wil weten wat “Karel en de Elegast” is. Dan wil ik een kort antwoord: “een heldenepos uit 1270 over de avonturen van Keizer Karel de Grote (748-814)”.

De eerste manier van zoeken-vinden is, zeker sinds de komst van Google, enorm uitgebreid en goed en wordt niet-voor-niets dagelijks door honderdduizenden Nederlanders gebruikt. De tweede, waarbij je een antwoord wilt hebben op een gestelde vraag (en dus niet: hier kun je het antwoord waarschijnlijk zelf vinden), is veel minder goed ontwikkeld. Met de komst van Linked (Open) Data, RDF, Wikipedia en vooral DBpedia is daar veel in verbeterd. Zoek je nu naar bv Telecats, dan krijg je links nog steeds de lijst met wellicht relevante documenten, maar aan de rechterkant krijg je een soort antwoord in de vorm van wat plaatjes van het gebouw, de sluitingstijden (wij schijnen al om 17:30 te stoppen met werken) en een plattegrond van de omgeving.

telecats LODAntwoord op de zoekvraag "wat is Telecats".
Het antwoord wordt gegeven via een aantal voor bedrijven relevante gegevens zoals openingstijden, locatie, eigenaren en meer.

Dit is een mooie ontwikkeling en zal ervoor zorgen dat het internet steeds meer ook een soort vraag-antwoord karakter zal krijgen. Maar dit geldt voor de informatie die “publiek” ontsloten is en waar zoekmachines dus makkelijk bij kunnen. Bovendien is het zo dat Google (en andere zoek engines zoals BING - Microsoft) bepalen welk antwoord jij gaat krijgen.

Zoals de affaire rond Facebook - Cambridge Analytics heeft laten zien, is het zeker niet zo dat de gegeven antwoorden “waarde vrij” zullen zijn. Het antwoord kan afhangen van de computer die je gebruikt, eerdere zoekvragen, je IP-adres, etc. Bovendien is het zo dat eigenaren van de content slechts in zeer beperkte mate invloed hebben op de antwoorden die gegeven worden.

Gaan we bij Google zoeken naar hoe zet ik een Billy in elkaar dan krijg ik als eerste antwoord een YouTube-filmpje, dan een aantal verwijzingen naar handleiding.com en op de vijfde plek een soort scheldkanonnade.

 

ikeaEen wat overtrokken en onterecht antwoord maar door de vraag-antwoorden “uit te besteden” aan internet, is IKEA hier bijna alle controle kwijt.

Zoeken in de eigen content

Om hier iets aan te doen, moet een leverancier het mogelijk maken om bijvoorbeeld via de eigen website alleen in de, door de leverancier goedgekeurde informatie te zoeken. Dat kan ook m.b.v.  Google maar dan krijg je weer die lijst met mogelijke documenten/links waarin je zelf de informatie moet opzoeken.

Chatbots

Joseph Weizenbaum's Eliza kan gezien worden als “De moeder van alle Chatbots”. Eliza werd geprogrammeerd om trefwoorden te matchen met een dataset in een gesloten domein. De meest populaire versie van Eliza lag op het gebied van de Rogeriaanse psychotherapie.

Q: ik voel me ongelukkig

A: wat vind jij daar zelf van?

Etc.

Om echt antwoord te geven op gestelde vragen werd in de jaren negentig een soort vraag-antwoord programma bedacht dat in 1994 bekend werd als Chatbot. Aanvankelijk werden gestelde vragen bijna geheel handmatig aan antwoorden gekoppeld: werkte goed, zolang de vragen maar leken op de voorbeeldvragen. Naarmate de taaltechnologie beter werd, werd het scala aan te beantwoorde vragen groter. Zo kon je vragen als “ik wil mijn abonnement opzeggen” en “hierbij zeg ik mijn abonnement op” aan elkaar gelijkstellen en daar een antwoord op geven.

En hoewel deze techniek zeer bruikbaar was, bleek al snel dat meer ingewikkelde vragen hiermee niet beantwoord konden worden. Ook ontkenningen (“ik wil mijn abonnement niet opzeggen, maar…”) zorgde voor veel problemen. Machine Learning waarbij niet alleen gekeken werd naar de woorden die wel in de vraag voorkwamen maar ook naar woorden die juist niet voorkwamen, bleek een uitkomst waardoor de chatbot-technologie weer een flink stuk robuuster werd. Wel werd het steeds meer duidelijk dat we voor deze technologie grote hoeveelheden beoordeelde data nodig hadden.

M.a.w. je hebt duizenden voorbeelden nodig van door mensen gemaakte vraag-antwoord paren. De komst van geavanceerdere zelflerende systemen (o.a. Deep Neural Networks) en grote hoeveelheden data, maakte het mogelijk de chatbot-technologie steeds beter te maken.

Avatars

De eerste vraag-antwoord applicaties bestonden allemaal uit een invoerregel en een submit-knop. In een tekstveld daaronder verscheen dan het antwoord. Al snel werd geprobeerd dit wat aantrekkelijker te maken door er een plaatje van een (meestal een mooi) meisje bij te zetten.

avatarDe volgende stap was een meer geavanceerde avatar die de antwoorden min-of-meer lip-synchroon uitsprak. Voor het voorlezen van het antwoord wordt danText-to-Speech gebruikt; een technologie die zo goed wordt dat het, bij korte antwoorden, nauwelijks meer van echt te onderscheiden is.

Toch zette deze trend van “namaak-mensen” niet echt door en gebruiken de meeste chatbots tegenwoordig een meer karikaturale avatar of slechts een plaatje met een tekstueel antwoord. De mensachtige avatars voegden weinig nut toe maar kosten wel veel overhead voor het animeren.

Gesproken chatbots

Naarmate de spraakherkenning beter werd, werd steeds vaker geëxperimenteerd met gesproken chatbots waarbij zowel de vraag als het antwoord via spraak gingen. Ideaal voor situaties waarbij je je handen nodig hebt of waarbij het verboden is om het toestel aan te raken (mobiele telefoon in de auto). Een van de bekendste voorbeelden is natuurlijk TomTom waarbij je het adres volgens een vast stramien (stad, straat, huisnummer) kon inspreken, waarna het kastje je zo snel mogelijk naar het juiste adres leidde.

De grote doorbraak kwam met het verschijnen van SIRI voor iOS (2011). Aanvankelijk alleen voor het Engels, maar later ook voor andere talen. SIRI was toentertijd erg revolutionair en er werd enorm veel van verwacht. Er verschenen talloze filmpjes waarin mensen vroegen of ze een paraplu moesten meenemen, of SIRI de kookwekker op 3 minuten kon zetten of dat SIRI iemand op z’n mobiele nummer wilde bellen. Later kwamen daar ook “Location Based Services” bij waarbij je kon vragen of er een goed Italiaans restaurant in de buurt was. Het initiatief van Apple werd snel gekopieerd door Google (Google Now, 2012) en Microsoft (Coratana, 2013).

En hoewel de spraakherkenning bijna vlekkeloos werkt, werd snel duidelijk dat het succes van dit soort Avatars afhang van de aanwezigheid van “context informatie”. Ook al herkent de app perfect de ingesproken zin “wat is de dichtstbijzijnde Volvo-garage”, zolang de app niet weet wat een Volvo-garage is en als ie het wel weet, waar die garage dan is, heb je er weinig aan. Meestal volstaat SIRI met het vertalen in tekst van de ingesproken vraag om die vraag dan op internet te zetten. Je krijgt dan weer een lijst met Volvo-garages terug.

Google deed het al snel beter. Niet omdat de spraakherkenning beter was, maar omdat Google veel meer informatie had (heeft) en dus veel beter een juist antwoord kan componeren. Apple heeft op dit vlak duidelijk haar aanvankelijke voorsprong verspeeld.

Praatpalen

praatpaalDe grote doorbraak kwam in 2014 met de praatpaal van Amazon: Alexa. De goede spraakherkening, de open structuur (veel API’s beschikbaar) en de makkelijke bediening werd Alexa snel zeer populair en dus gekopieerd door Google (Google Home. 2016).

Met beide praatpalen kun je je huis automatiseren (lichten aan/uit doen, de voordeur openen/op slot doen, je favoriete speellijst afspelen en nog veel meer. Het is dan ook te verwachtten dat dit soort praatpalen de rol van chatbots voor een deel gaan overnemen. I.p.v. je energieleverancier te bellen met een vraag over je voorschotbedrag, stel je die vraag straks aan Alexa/Google Home/Coratana/SIRI (zie hiernaast).

Als die praatpaal dan jouw informatie heeft, kan die contact leggen met jouw energieleverancier om te achterhalen wat jouw voorschotbedrag is.

Maar ook hier geldt het eerder genoemde bezwaar: de content-eigenaar is hier niet volledig de baas over de dialoog. Opnieuw zijn het de grote Amerikaanse Techgiganten die “eigenaar” zijn over “jouw” vraag-antwoord applicatie.

Gesproken Chatbots

Naarmate de spraakherkenning beter wordt, wordt de vraag om volledig gesproken chatbots op de eigen website steeds groter. Je zou denken dat, als je eenmaal een tekstuele chatbot hebt, het eenvoudig moet zijn om hem voor spraak geschikt te maken. Het antwoord hierop is ja en nee. De structuur van de dialoog kan eenvoudig hergebruikt worden en de tekstuele invoer vervangen door de resultaten van de spraakherkenner. Het antwoord geef je dan via Tekst-to-Speech en klaar is kees. Maar….. zo eenvoudig is het niet.

Ten eerste is het niet zeker dat het soort vragen dat je via spraak stelt gelijk is aan de vragen die je via tekst stelt. In 2010 hebben we dat bij Telecats eens uitgezocht voor FAQ’s. Toen bleek dat men andere soort vragen stelde via de web-interface (tekst) dan via de telefoon (spraak). Als je andere soort vragen krijgt, moet het systeem dus opnieuw worden getraind.

Ten tweede is het zo dat bij tekst-invoer je typo’s kunt maken, terwijl je bij spraak-invoer juist verkeerde woorden herkent (maar wel goed geschreven).

Website van de Spraakherkenner van de Universiteit Twente.
Een mooie mogelijkheid om eens zelf uit te testen hoe goed spraakherkenning voor jouw stem werkt.

Ten derde is het zo dat bij content-specifieke dialogen je dikwijls allemaal eigennamen en/of woorden in een andere taal dan Nederlands hebt. Stel je wilt bij dat leuke restaurant in de stad een aantal dingen om te eten bestellen. De algemene spraakherkenning gaat goed, maar de woorden “Assiette” “Clarenteries” of “Veau” worden gewoon niet herkend omdat a) ze anders worden uitgsproken dan dat de Nederlandse klankregels voorspellen, en b) de meeste Nederlanders ook niet weten hoe uitgesproken moeten worden en dus maar wat doen.

fransMenubord in het Frans van een Nederlandse Bistro.
Hoe leest een gemiddelde Nederlander dit voor?

 

De spraakherkenner geeft dan (intern, niet zichtbaar op het scherm) een <unk> (=unknown word). En nu zijn dit nog geeneens de lastigste voorbeelden?

Tenslotte is er de feedback. Bij veel succesvolle gesproken chatbots zie je wat je inspreekt direct op het scherm. Is de herkening verkeerd of heb je iets verkeerd ingesproken, dan zie je dat direct op het scherm (denk aan de gesproken invoer bij TomTom). Als het dan verkeerd gaat, dan weet je direct dat dat komt door of de herkenner of door jou. Je kunt de invoer dan makkelijk overrulen door het opnieuw in te spreken. Als je geen visuele feedback hebt (aan de telefoon) dan zul je er vanuit gaan dat bij verkeerde antwoorden het systeem gewoon niet werkt. Maar dat weet je pas als het verkeerd gaat.

Door deze vier “bezwaren” is het maken van een gesproken chat een stuk lastiger dan men dikwijls denkt en een eenvoudige copy-paste is helaas niet de aangewezen weg.

Toekomst

Is het gebruik van gesproken chatbots uitgesloten? Nee, dat niet maar we hebben hierboven (hopelijk) duidelijk gemaakt dat er best wel wat bij komt kijken en je dus niet direct een bestaande tekstuele chatbot kunt overzetten naar een gesproken versie. Met het (nog steeds) beter worden van de spraakherkenning en goede gesproken feedback is het zeker mogelijk om goede, gebruiksvriendelijke gesproken chatbots te maken zoals het overweldigende succes van Amazon’s Alexa laat zien. Het is alleen niet zo dat een werkende tekstuele chatbot makkelijk overgezet kan worden in een gesproken variant.

Arjan van Hessen