< Terug naar vorige pagina

Project

Beperkingen van taalmodellen aanpakken

Beperkingen van taalmodellen aanpakken
 
Er bestaan talloze toepassingen die taal en/of spraak automatisch verwerken, denk maar aan onder andere automatische spraakherkenning, machinevertaling, spraakvertaling, spellingcorrectie, het begrijpen van de betekenis van een taaluiting en het automatisch produceren van taal. Normaal gezien wordt voor elke toepassing een aangepast systeem ontwikkeld op basis van datasets met labels die alleen betrekking hebben op die toepassing, maar er is één element dat al die toepassingen gemeenschappelijk hebben: het taalmodel. Een taalmodel vertelt welke combinaties van woorden waarschijnlijk zijn in een bepaalde taal en domein en welke niet, en kan, gegeven een bepaalde context, voorspellen welk(e) woord(en) waarschijnlijk zullen volgen op die context. Dat is een belangrijke eigenschap van een systeem dat automatisch taal verwerkt, aangezien het kan helpen om de intrinsieke ambiguïteiten in een taal op te lossen. Vooruitgang in taalmodellering kan dus ook leiden tot vooruitgang in veel andere toepassingen. Het doel van deze doctoraatsthesis is om de beperkingen van bestaande taalmodellen aan te pakken, en hierbij focussen we op twee wijdverspreide modellen, namelijk n-gram taalmodellen en neurale taalmodellen.

Eén van de grootste problemen in taalmodellering is data sparsity: het aantal woorden en mogelijke woordcombinaties is in theorie oneindig, en de meeste types taalmodellen kunnen enkel voor frequente combinaties betrouwbare waarschijnlijkheidsschattingen geven. n-gram taalmodellen, die vertrekken vanuit de vereenvoudigde veronderstelling dat het volgende woord kan voorspeld worden op basis van slechts n − 1 vorige woorden, zijn zeer gevoelig voor data sparsity omdat ze woorden weergeven als ondeelbare eenheden, met als gevolg dat ze niet in staat zijn om de gelijkenissen tussen woorden voor te stellen. Wij stellen een methode voor om dit probleem te verlichten door nieuwe n-grammen te produceren op basis van syntactische en morfologische transformaties van bestaande n-grammen. Hierbij halen we voordeel uit het feit dat de woordvolgorde in het Nederlands anders is in hoofdzinnen dan in bijzinnen, en uit het feit dat de vervoegingen van de meeste werkwoorden afgeleid kunnen worden op basis van enkele simpele regels. We testen de taalmodellen die getraind zijn op de nieuwe, uitgebreide, data zowel intrinsiek op tekstuele data als in een toepassing die gebruik maakt van taalmodellen, namelijk spraakherkenning.

Hoewel n-gram taalmodellen in sommige toepassingen nog steeds de voorkeur genieten omdat ze snel en met weinig extra berekeningen gebruikt kunnen worden, zijn het de neurale taalmodellen die op vlak van nauwkeurigheid momenteel het best scoren. Neurale taalmodellen zijn minder gevoelig voor data sparsity omdat ze woorden voorstellen als continue vectoren, waarbij gelijkaardige woorden vectoren hebben die dicht bij elkaar liggen omdat ze voorkomen in gelijkaardige contexten. Als woorden echter bepaalde morfologische (bv. hetzelfde suffix) of andere formele (bv. beginnen met een hoofdletter) gelijkenissen vertonen, kunnen deze gelijkenissen niet automatisch worden afgeleid uit de vectorvoorstelling, ook al kunnen ze wel onmiddellijk worden afgeleid uit de vorm van het woord. Om dit soort informatie expliciet voor te stellen, combineren wij de woordvector met vectoren van de karakters in het woord. Ons karakter-woord neuraal taalmodel geeft verbeteringen ten opzichte van een woordgebaseerd taalmodel, is beter in het modelleren van woorden die niet in de woordenschat zitten omdat de karakters toch extra informatie geven, en heeft minder parameters om te trainen waardoor het een kleiner model is.

Neurale taalmodellen, en meer specifiek recurrente neurale taalmodellen hebben een beter geheugen dan n-gram taalmodellen omdat ze een recurrente verbinding hebben die niet alleen het huidige inputwoord aan het netwerk geeft, maar ook de toestandsvector van de vorige tijdsstap, die in principe de volledige vorige context omvat. In de praktijk is het geheugen echter beperkt, aangezien er is aangetoond dat als het taalmodel wordt gecombineerd met een cache model, dat een beperkt aantal van de vorige woorden bijhoudt, de kwaliteit van het model nog verbetert. In deze thesis vergelijken we uitgebreid twee types cache modellen door ze zowel intrinsiek als in spraakherkenning te evalueren, en we tonen aan dat de complexere cache niet altijd het beste werkt voor spraakherkenning. Gebaseerd op de intuïtie dat een cache voornamelijk helpt voor (infrequente) inhoudswoorden, stellen we een nieuwe methode voor om de
waarschijnlijkheiden van het taalmodel en het cache model te combineren, door relatief gezien meer gewicht te geven aan het cache model bij inhoudswoorden. Verder stellen we voor om alleen maar inhoudswoorden toe te voegen aan de cache, zodat geen plaats verspild wordt aan functiewoorden en de cache in feite verder kan terugkijken in de tijd.

Tot slot richten we ons op een nadeel van neurale taalmodellen dat gedeeld wordt door alle toepassingen die gebruik maken van neurale netwerken, namelijk het feit dat ze moeilijk te interpreteren zijn. We stellen een nieuwe methode voor om de geheugenwerking in recurrente neurale netwerken te analyseren: we berekenen toestandsgradiënten om te meten wat de invloed is van de input op de toestand van het netwerk. De gradiëntenmatrix wordt ontbonden door middel van singulierewaardenontbinding om te onderzoeken welke richtingen in de inputruimte een invloed hebben op de toestandsruimte en hoe sterk die invloed is. Het voordeel van onze aanpak is dat we dit kunnen onderzoeken voor eigenschappen in de inputruimte zonder dat we op voorhand weten om welke eigenschappen het precies gaat. We tonen de goede werking van onze methode aan op een artificiële dataset en onderzoeken de invloed van
verschillende hyperparameters, zoals het type en de grootte van het netwerk en de trainingsdata, op de geheugenwerking van taalmodellen getraind op natuurlijke taal. We stellen ook twee methodes voor om te onderzoeken hoe goed een specifieke (syntactische) eigenschap onthouden wordt door het taalmodel, en we tonen aan dat taalmodellen bepaalde taalkundige intuïties vertonen.

Datum:6 okt 2014 →  21 jun 2019
Trefwoorden:speech processing, natural language processing, language modeling, neural networks, machine learning
Disciplines:Natuurlijke taalverwerking, Audio- en spraakverwerking
Project type:PhD project