Tabu. Jaargang 20
(1990)– [tijdschrift] Tabu– Auteursrechtelijk beschermd
[pagina 3]
| ||||||||||||||||||
[Nummer 1]Netspraak: een neuraal netwerk voor grafeem-foneem-omzetting
| ||||||||||||||||||
1 Neurale netwerken: een introductieHet modelleren van cognitieve processen met behulp van neurale netwerkenGa naar eind1. verschilt sterk van de klassieke aanpak. Bij de bespreking van deze nieuwe techniek zullen we aan de hand van enkele eenvoudige neurale net- | ||||||||||||||||||
[pagina 4]
| ||||||||||||||||||
werken een aantal belangrijke begrippen introduceren, zoals de noties gedistribueerde representatie en leerregels. Deze inleiding beoogt de lezer een eerste, niet-technische kennismaking te bieden. Een meer technische uiteenzetting is o.a. te vinden in [Rummelhart en McClelland (Eds.), 1986]. De lezer die geïnteresseerd is in de toepassing van neurale netwerken voor het modelleren van talige cognitieve processen, wordt verwezen naar de hoofdstukken 18 (On learning the Past Tenses of English Verbs) en 19 (Mechanisms of Sentence Processing) van genoemde publikatie. We beginnen in paragraaf 1.1 met een beschrijving van de in de cognitiewetenschappen meer gebruikelijke, klassieke manier van modelleren. Vervolgens gaan we in 1.2 kort in op de neuro-fysische structuur van de hersenen, aangezien de architectuur van neurale netwerken daar haar inspiratie vindt. Aan de hand van een voorbeeld illustreren we in 1.3 de werking van een eenvoudig netwerk. We laten zien hoe we dit netwerk voor verschillende taken kunnen trainen; in dit trainingsproces wordt gebruik gemaakt van een zogenaamde leerregel, in het onderhavige geval de Deltaregel. Tenslotte presenteren we in paragraaf 1.4 de belangrijkste kenmerken van de voor praktische toepassingen veel gebruikte back-propagation netwerken. Ook voor NetSpraak is gebruik gemaakt van dit type netwerk. | ||||||||||||||||||
1.1 De belangrijkste kenmerken van de klassieke wijze van modellerenDe basis voor de klassieke wijze van modelleren wordt gevormd door een systeem van expliciete regels volgens welke symbolische expressies gemanipuleerd worden. We illustreren een en ander kort aan een aantal kenmerken van traditionele beregelingen voor grafeem-foneem-omzetting. In de klassieke benadering worden symbolische regelsystemen gehanteerd met regels als in (1):
Deze regel voor de omzetting van het grafeem n moeten we als volgt interpreteren. Het grafeem n wordt uitgesproken als [m] als het gevolgd wordt door een van de grafemen p, b of m, en als [ng] als het gevolgd wordt door een van de grafemen k of g. In alle andere gevallen wordt het uitgesproken als [n]. Voor alle duidelijkheid, het gaat ons hier niet om de vraag of (1) een correcte regel is, maar om de constatering dat het modelleren van de genoemde vaardigheid in de grond bestaat uit het definiëren van een adequate verzameling regels van het in (1) gedemonstreerde type. Een dergelijke beregeling beschouwen we als adequaat wanneer we, enkel gebruikmakend van de gedefinieerde regels (en niet onbewust leunend op onze talige kennis), | ||||||||||||||||||
[pagina 5]
| ||||||||||||||||||
iedere willekeurige Nederlandse tekst kunnen omzetten in zijn correcte fonetische representatieGa naar eind2.. Wanneer de beregeling geformuleerd wordt in termen van een computerprogramma dat teksten kan omzetten in hun fonetische representatie, beschikken we over een handig middel om te controleren of inderdaad alleen een beroep is gedaan op de voorgestelde regel. Bovendien levert zo'n aanpak mogelijk een praktisch bruikbaar produkt opGa naar eind3.. Het opstellen van een adequate en expliciete beregeling is echter geen triviale zaak. Het zou bijzonder fraai zijn als we over een model konden beschikken dat in staat is om deze vaardigheid te leren louter op basis van een voorbeeld bestaande uit een tekst plus de bijbehorende correcte fonetische transcriptie. Welnu, neurale netwerken lijken die mogelijkheid te bieden: ze zijn in staat om op grond van voorbeelden de onderliggende beregeling op het spoor te komen. In paragraaf 2 zullen we dan ook een neuraal netwerk presenteren dat op basis van een aantal pagina's voorbeeldtekst getraind kan worden in de genoemde vaardigheid: een adequate grafeem-foneem-omzetting. | ||||||||||||||||||
1.2 De neuro-fysische structuur van de hersenenZoals eerder opgemerkt vertoont de architectuur van neurale netwerken enige overeenkomsten met die van menselijke of dierlijke hersenen waardoor ze oorspronkelijk zijn geïnspireerd, al dient met nadruk te worden vermeld dat neurale netwerken niet bedoeld zijn als model voor de werking van (menselijke) hersenen. De hersenen van mens en dier vormen een massief communicatienetwerk van miljarden zenuwcellen, ook wel neuronen genoemd. De afzonderlijke neuronen hebben een bijzonder eenvoudige structuur. Zoals in figuur 1 isFiguur 1 De hoofdonderdelen van een neuron
| ||||||||||||||||||
[pagina 6]
| ||||||||||||||||||
aangegeven onderscheiden we aan een neuron drie hoofdonderdelen: een (groot) aantal dendrieten, het cellichaam met daarin een drempelmembraam en een axon. Via de dendrieten komen signalen (elektrische stroompjes) binnen. In het cellichaam wordt op basis van de binnenkomende signalen uitgemaakt of over de axon een signaal zal worden verstuurd. De beslissing om wel of niet een signaal te versturen wordt op een heel eenvoudige manier genomen: enkel wanneer de som van alle inputwaarden boven een bepaalde drempelwaarde uitstijgt, wordt een signaal verstuurd. Signalen kunnen zowel positief als negatief zijn. Doordat de ingekomen signalen gesommeerd worden, kunnen negatieve en positieve signalen elkaars werking geheel of gedeeltelijk opheffen. De sterkte van een inkomend signaal wordt beïnvloed door de lengte van de afgelegde weg. Zijn de afzonderlijke bouwstenen van de hersenen van een verrassende eenvoud, het geheel ontleent zijn kracht o.a. aan het grote aantal neuronen, het grote aantal onderlinge verbindingen tussen neuronen (het aantal dendrieten kan bij één neuron wel oplopen tot 200.000) en aan de omstandigheid dat al die neuronen autonoom en parallelGa naar eind4. funktioneren. Dit grote aantal verbindingen is van wezenlijk belang omdat het leerproces in de hersenen berust op de totstandkoming van nieuwe of kortere verbindingen of het verbreken van bestaande verbindingen. | ||||||||||||||||||
1.3 De basisarchitectuur van een neuraal netwerkEr zijn vele wiskundige modellen van de (menselijke) hersenen ontwikkeld die, hoewel ze in details nogal van elkaar verschillen, ten minste de volgende kenmerken gemeenschappelijk hebben. Figuur 2 De onderdelen van een verwerkingseenheid
De basiseenheid van een neuraal netwerk is een verwerkingseenheid. Hieronder worden de basiselementen van zo'n verwerkingseenheid kort | ||||||||||||||||||
[pagina 7]
| ||||||||||||||||||
beschreven. Tussen haakjes wordt zo mogelijk hun analogon in de menselijke hersenen genoemd.
Laten we het voorafgaande illustreren aan de werking van een eenvoudig neuraal netwerk voor het modelleren van het logische voegwoord en. Uit de klassieke propositiecalculus weten we dat de verbinding van twee uitspraken P1 en P2 door middel van het logische voegwoord en alleen dan een ware uitspraak oplevert als zowel P1 als P2 ware uitspraken zijn. Indien we waar representeren als 1 en onwaar als 0 dan zal enkel de invoer van het paar (1 1) in het netwerk moeten resulteren in een uitvoersignaal met de waarde 1. De paren (1 0), (0 1) en (0 0) zouden moeten resulteren in een uitvoersignaal met waarde 0. Het eenvoudige netwerk van figuur 3 blijkt geschikt voor het modelleren van het logische voegwoord en. Figuur 3 Een neuraal netwerk voor het logisch voegwoord en
Het netwerk van figuur 3 bestaat uit drie verwerkingseenheden E1, E2 en | ||||||||||||||||||
[pagina 8]
| ||||||||||||||||||
E3. E1 en E2 zijn zogenaamde invoereenheden, E3 is een uitvoereenheid. De onderlinge verbindingen zijn aangegeven door lijnen. Het gewicht van de verbinding tussen E1 en E3 is 0.7 met andere woorden w13 = 0.7; verder geldt dat w23 = 0.7 Algemeen geldt voor dit netwerk, evenals voor de netwerken in figuur 3-6, dat de drempelwaarde in de verwerkingseenheden 1 is. Ook de sterkte van de verstuurde signalen is steeds 1. Het niet versturen van een signaal kunnen we beschouwen als het versturen van een signaal met sterkte 0. Slechts wanneer de som van de gewogen invoersignalen groter of gelijk is aan 1, wordt een signaal (van sterkte 1) verstuurd. Laten we eens kijken wat het resultaat is van de invoercombinatie i1 = 1 en i2 = 1 (d.w.z. we beschouwen de situatie waarin P1 en P2 beide waar zijn). Eenheid 1 ontvangt dan een signaal van sterkte 1; de drempelwaarde w1 is 1 en derhalve wordt een signaal van sterkte 1 doorgegeven aan eenheid 3. Op analoge wijze geeft eenheid 2 een signaal van sterkte 1 door aan eenheid 3. Om na te gaan of eenheid 3 wel of niet een signaal doorstuurt, moeten we de gewogen som van de invoersignalen van eenheid 3 bepalen: w13 * i1 + w23 * i2 = 0.7 * 1 + 0.7 * 1 = 1.4 De gewogen som is dus groter dan de drempelwaarde 1 en dus verstuurt eenheid 3 inderdaad een signaal van sterkte 1. In het geval i1 = 1 en i2 = 0 is het resultaat 0 aangezien de gewogen som van eenheid 3 nu wordt berekend als: 0.7 * 1 + 0.7 * 0 = 0.7. De gewogen som is nu kleiner dan de drempelwaarde 1 en dus verstuurt eenheid 3 geen signaal, zodat het uiteindelijke resultaat 0 is. Dat het netwerk ook voor de overige gevallen het correcte resultaat geeft, valt eenvoudig na te gaan.
Door slechts de gewichten van het netwerk van figuur 3 aan te passen, kunnen we dit netwerk op eenvoudige wijze geschikt maken voor een ander logisch voegwoord zoals het inclusieve of. De uitspraak P1 of P2 is alleen onwaar indien P1 en P2 beide onwaar zijn. Het netwerk in figuur 4, dat het inclusieve of modelleert, verschilt slechts hierin van het netwerk van figuur 3 doordat de gewichten w13 en w23 zijn aangepast (beide zijn nu gelijk aan 1.4). Het bepalen van de juiste gewichten die het netwerk geschikt maken voor een bepaalde taak, is voor dergelijke eenvoudige netwerken niet echt problematisch al is het voor complexere gevallen beslist geen triviale zaak. Hierboven hebben we evenwel al gezinspeeld op de mogelijkheid een neuraal netwerk te trainen voor een bepaalde taak, waardoor de noodzaak om de juiste gewichten ‘met de hand’ te bepalen, komt te vervallen. Voor dit | ||||||||||||||||||
[pagina 9]
| ||||||||||||||||||
Figuur 4 Een neuraal netwerk voor het inclusieve of
trainen van het netwerk wordt gebruik gemaakt van zogenaamde leerregels. Door een beroep te doen op zo'n regel wordt het bijvoorbeeld mogelijk om het en-netwerk van figuur 3 automatisch om te zetten in het of-netwerk van figuur 4. Het trainen van het netwerk komt er eigenlijk op neer dat de gewichten worden aangepast in reactie op foutieve resultaten. Uitgangspunt daarbij is het volgende eenvoudige principe: hoe sterker een verbinding kan hebben bijgedragen tot de fout des te meer wordt zijn gewicht aangepast. Een voorbeeld van een leerregel waarin gebruik wordt gemaakt van dit principe is de zogenaamde Delta-regel die als volgt is weer te geven: △Wij = e * (gj - aj) * ai Hierbij geldt:
Laten we eens nagaan of het inderdaad mogelijk is, om het en-netwerk van figuur 3 met behulp van de Delta-regel te veranderen in het of-netwerk van figuur 4. We maken daarbij gebruik van het volgende leermateriaal: | ||||||||||||||||||
[pagina 10]
| ||||||||||||||||||
Wanneer de netwerkinvoer bestaat uit het paar (1 1), is het gewenste resultaat 1; bij invoer van het paar (1 0) is het gewenste resultaat 1, enz. Uitgaande van het en-netwerk van figuur 3 willen we dus, gebruikmakend van de Delta-regel, komen tot een of-netwerk door het netwerk de invoerwaarden voor te leggen uit bovenstaande tabel alsmede de gewenste resultaten. In het netwerk van figuur 3 geldt w13 = 0.7 en w23 = 0.7. Indien we dit netwerk het eerste paar van het leermateriaal aanbieden, (1 1), is de netwerkuitvoer gelijk aan het gewenste resultaat. Toepassing van de Delta-regel veroorzaakt geen wijziging in het netwerk: immers steeds geldt gj - aj = 0. Dit is niet zo verwonderlijk want in het geval dat de samenstellende uitspraken beide waar zijn, is er tussen het logische en en of geen verschil. Voor het invoerpaar (1 1) is het netwerk in orde en hoeven er geen gewichten aangepast te worden. Anders ligt het bij invoer van het paar (1 0): het gewenste resultaat is 1 terwijl het netwerk een 0 zal opleveren (het is immers nog steeds een en-netwerk). Toepassing van de Delta-regel geeft
Dit geeft ons de volgende waarden: w13 = 1.05 en w23 = 0.7 Toepassing van de Delta-regel voor het paar (0 1) geeft:
Dit resulteert in de gewichten w13 = 1.05 en w23 = 1.05 Het resultaat van de aanbieding van het paar (0 0) is 0. Ook nu worden de gewichten niet bijgesteld aangezien ai steeds gelijk is aan 0 in de uitdrukking
Nadat het leermateriaal eenmaal doorlopen, is zijn de gewichten als volgt ingesteld: | ||||||||||||||||||
[pagina 11]
| ||||||||||||||||||
Figuur 5 Een met behulp van de Delta-regel getraind of-netwerk
We zien dat de gewichten van het en-netwerk inderdaad in de richting van het of-netwerk van figuur 4 zijn bijgesteld, maar hebben we al te maken met een of-netwerk? De lezer kan eenvoudig nagaan dat dit inderdaad het geval is. Het nogmaals aanbieden van het leermateriaal zal de gewichtsinstelling van dit netwerk dan ook niet verder meer beïnvloeden. In dit voorbeeld verliep het trainen van het netwerk wel zeer voorspoedig. Vaak is er meer leermateriaal nodig en is het bovendien nodig ditzelfde materiaal meerdere keren aan te bieden. Ook zien we dat verschillende gewichtsinstellingen kunnen resulteren in gelijke functionaliteit. Bij complexere netwerken geldt dit in veel sterker mate. We hebben gebruikmakend van de Delta-regel een netwerk getraind voor het correct uitvoeren van een bepaalde taak. Als we echter proberen het netwerk van figuur 3 geschikt te maken voor de exclusieve of (voortaan aangeduid als exof) blijkt dit niet te lukken. De uitspraak P1 exof P2 is waar dan en slechts dan als precies een van beide samenstellende uitspraken waar is. Het blijkt dat netwerken met enkel invoer- en uitvoereenheden principieel ongeschikt zijn voor het implementeren van het logische connectief exof en algemener, principieel ongeschikt zijn voor het modelleren van niet-lineair klassificeerbare problemenGa naar eind5.. Als we ons echter niet beperken tot het gebruik van invoer- en uitvoereenheden, maar ook gebruik maken van een of meer tussenlagen (zogenaamde hidden layers) is het definiëren van een exof-netwerk niet langer problematisch. De lezer kan eenvoudig nagaan dat het netwerk van figuur 6 voldoet. Door het definiëren van het exof-netwerk van figuur 6 hebben we het probleem evenwel nog maar half opgelost: het is ook nodig een aangepaste vorm van een leerregel te definiëren. In 1986 presenteerden [Rummelhart, Hinton & Williams 1986] en [Parker 1986] onafhankelijk van elkaar een uitbreiding van de Delta-regel de zogenaamde error propagation learning | ||||||||||||||||||
[pagina 12]
| ||||||||||||||||||
Figuur 6 Een exof-netwerk met één tussenlaag
ruleGa naar eind6. die een cruciale rol speelt in back-propagation networks. | ||||||||||||||||||
1.4 Back-propagation netwerkenDe error propagation learning rule is toepasbaar in netwerken met de volgende kenmerken. Het netwerk mag één of meer tussenlagen bevatten. Alle eenheden van een laag zijn verbonden met alle eenheden van de volgende laag. Er zijn geen verbindingen tussen niet-opeenvolgende lagen. Hierdoor ontstaat een architectuur zoals weergegeven in figuur 7. Een belangrijk kenmerk van back-propagation networks is verder dat signalen van willekeurige sterkte tussen 0 en 1 kunnen worden afgevuurd; de beperking tot de signalen 1 en 0 is daarmee opgeheven. Signalen met een sterkte kleiner dan 0.5 worden als negatief geïnterpreteerd, signalen groter dan 0.5 als positief. Zo zou de uitvoer van een goed functionerend exof-back-propagation netwerk bij de invoer van het paar (1 1) kleiner dan 0.5 moeten zijn. Een uitvoer van 0.61 bij deze invoer, zou daarentegen duiden op een slecht functionerend exof-netwerk. Ook in back-propagation netwerken wordt het uitvoersignaal bepaald door de gewogen som te nemen van de invoersignalen voor alle eenheden in ieder van de lagen. In de trainingsfase kan het aldus verkregen resultaat vergeleken worden met het gewenste resultaat waarna de gewichten van de verbindingen zo nodig worden bijgesteld overeenkomstig de error propagation learning rule | ||||||||||||||||||
[pagina 13]
| ||||||||||||||||||
Figuur 7 Back-propagation-network met één tussenlaag
Het aantal tussenlagen dat in een back-propagation netwerk kan worden opgenomen is onbeperkt; in de praktijk blijkt één tussenlaag veelal voldoende. Ook voor de vaardigheid die wij met behulp van een netwerk wensten te modelleren, de grafeem-foneem-omzetting voor het Nederlands, bleek een back-propagation netwerk met een enkele tussenlaag bruikbaar. De uiteindelijk gekozen architectuur van het netwerk (het aantal invoer- en uitvoereenheden en het aantal eenheden in de tussenlaag) is sterk afhankelijk van de gekozen ‘vertaling’ van de te modelleren vaardigheid in voor het netwerk geschikte invoer- en uitvoersignalen. In de volgende paragraaf zullen we nader ingaan op het te modelleren probleem en op de architectuur van het voor dit doel ontworpen grafeem-morfeem-netwerk. | ||||||||||||||||||
2 NetSpraakOnze poging om de computer in te zetten voor automatische grafeemfoneem-omzetting voor het Nederlands is niet nieuw. Een compiler ontworpen met het expliciete oogmerk dergelijke systemen te ontwikkelen wordt besproken in [Kerkhoff, Wester & Boves, 1984]. Binnen de vakgroep Taal & Spraak van de KU Nijmegen is een grafeem-foneemomzettingssysteem ontwikkeld door Wester en Kerkhoff. Een evaluatie van dit systeem waarbij de performance wordt getest door het systeem woorden in isolatie aan te bieden, wordt gegeven in [Willemse, 1987]. In [Bezooijen, 1989] worden de | ||||||||||||||||||
[pagina 14]
| ||||||||||||||||||
resultaten gegeven van een onderzoek naar de prestaties van dit systeem. Deze evaluatie had tot doel de haalbaarheid te beoordelen van toepassing van dit systeem in een gesproken krant voor blinden. Uit de gegevens in deze studie krijgt men een indruk van de prestaties van dit systeem wanneer het op teksten wordt toegepast. In [van Berkel, 1986] wordt het systeem GRAFON (zie [Daelemans, 1985, 1988]) toegepast in een algoritme voor spel- en typefoutcorrectie. Zoals gezegd verschilt NetSpraak cruciaal van bovengenoemde benaderingen doordat de kennis waarover iemand beschikt die een Nederlandse tekst hardop voor kan lezen, in NetSpraak nergens expliciet wordt verwoord: in de leerfase krijgt het netwerk een tekst voorgelegd en bepaalt het voor de verschillende grafemen door welke fonemen ze het beste gerepresenteerd kunnen worden; vervolgens wordt gekeken in hoeverre het gevonden resultaat afwijkt van het gewenste resultaat; op basis van die feedback worden de gewichten bijgesteld. Het in paragraaf 1.4 besproken type back-propagation netwerk kan geschikt gemaakt worden voor grafeem-foneem-omzetting door het probleem te vertalen in termen van invoer en uitvoer van het netwerk. Hoe dat in zijn werk gaat, komt aan de orde in paragraaf 2.1. Zoals gezegd geschiedt het trainen van het netwerk met behulp van een leertekst; het is van cruciaal belang om na de trainingsfase, de prestaties van het netwerk te testen aan ander materiaal dan de leertekst: het gaat er immers niet in de eerste plaats om of het netwerk de eigenaardigheden van de leertekst kan leren. We willen vooral weten of het netwerk in staat is zinvolle generalisaties te maken. De keuze van de leer- en testtekst, problemen die zich voordeden bij het transcriberen en de oplossingen die we gekozen hebben, komen aan de orde in paragraaf 2.2. Gewoonlijk heeft het zin om een bepaalde leertekst vele malen achtereen aan een netwerk aan te bieden. NetSpraak kreeg zijn leertekst zo'n 55 maal aangeboden. In paragraaf 2.3 bespreken we het leertraject dat daarbij werd doorlopen en vergelijken we de resultaten met die van NetTalk. | ||||||||||||||||||
2.1 In- en uitvoer voor NetSpraakVan de teksten die aan NetSpraak worden voorgelegd, worden 28 grafemen beschouwd: de 26 letters van het alfabet alsmede de spatie en de punt, alle andere leestekens worden genegeerd. Ieder van die grafemen krijgt een binaire representatie bestaande uit 28 enen en nullen. In figuur 8 is af te lezen hoe de 26 letters van het alfabet alsmede de spatie en de punt als een reeks van enen en nullen worden gerepresenteerd. Een dergelijke representatie maakt het mogelijk de gegevens uit de leertekst in het netwerk in te voeren. | ||||||||||||||||||
[pagina 15]
| ||||||||||||||||||
Figuur 8 De binaire representatie van de grafemen
Het invoergedeelte van NetSpraak kan beschouwd worden als een venster van zeven grafemen dat over de te transcriberen tekst schuift. In het vervolg zullen we steeds spreken van een heptagram. Het is de bedoeling dat het vierde grafeem in het heptagram uiteindelijk door het netwerk wordt omgezet in een foneem. De drie eerste en de drie laatste grafemen bieden het netwerk de nodige contextuele informatie. Omdat de representatie van ieder afzonderlijk grafeem 28 cellen in beslag neemt, was een totaal van 7 * 28 = 196 invoereenheden noodzakelijk. De tussenlaag van NetSpraak bestaat uit 20 hidden unitsGa naar eind7.. Ieder van de 196 eenheden uit de invoerlaag is verbonden met ieder van de 20 elementen in de tussenlaag. Het uitvoergedeelte van NetSpraak moet op de een of andere manier de fonetische waarde kunnen representeren van het grafeem op de vierde positie van het invoervenster. Gekozen is voor 22 eenheden die corresponderen met 21 fonetische kenmerken en een loos kenmerk dat werd ingevoerd om de spatie en een nul-foneem te kunnen weergeven. Figuur 9 biedt een schets van het uiteindelijke netwerk dat ten grondslag ligt aan NetSpraak. De kennis die NetSpraak na doorlopen van het leertraject opdoet, ligt opgeslagen in de reële getallen die het gewicht aangeven van ieder van de (196*20) + (20*22) = 4360 verbindingen tussen de verschillende eenheden. Het netwerk is geïmplementeerd in het in Pascal geschreven netwerksimulatieprogramma Netspraak, waarbij de 4360 gewichten zijn geïnitialiseerd op random waarden tussen −0.5 en +0.5. Zoals gezegd bestaat de uitvoerlaag van NetSpraak uit 22 eenheden waarvan de waarde w (met 0 < w < 1) geïnterpreteerd kan worden als de specificatie van een fonetisch kenmerk. Figuur 10 biedt voor ieder van de 56 fonemen die voor de transcriptie van de teksten nodig bleken, de kenmerken. De gegevens zijn ontleend aan [Hoppenbrouwers & Hoppenbrouwers 1988:58]. Ook de daar gehanteerde tweeplaatsige codering voor fonetische tekens is hier overgenomen. De eerste regel in figuur 10 bevat de specificatie van het nulfoneem dat in de volgende paragraaf ter sprake komt. Regel 56 geeft de kenmerken van de spatie. Met de hierboven gegeven informatie zijn we nu in staat aan een voor | ||||||||||||||||||
[pagina 16]
| ||||||||||||||||||
Figuur 9 Schets van het NetSpraak-netwerk
beeld te illustreren hoe een leerslag met NetSpraak verloopt. We beschikken over de tekst in (1) met bijbehorende transcriptie in (2) die als leertekst zal worden aangeboden. Omdat onze fonetische transcriptie gebruik maakt van een tweeplaatsige code, hebben we voor het gemak van de lezer de grafemen in (1) door streepjes van elkaar gescheiden:
Het heptagramvenster schuift als het ware over de leertekst. Op een bepaald moment zal het venster zijn gevuld met het volgende heptagram: [t was g]. De 7 * 28 invoereenheden van het netwerk worden dan gevuld met de 28-plaatsige codes voor respectievehjk t, spatie, w, a, s, spatie en g. Een aantal van de 196 invoereenheden wordt geactiveerd, vuurt en zal een aantal van de eenheden in de tussenlaag activeren die op hun beurt de 22 eenheden in de uitvoerlaag in meer of mindere mate kunnen activeren. Omdat het netwerk in de leerfase verkeert, is bekend dat het grafeem in de vierde positie van het heptagram, ‘a’, omgezet moet worden in /A./. Nu wordt nagegaan welke uitvoer eenheden afwijken van de featurespecificatie van het foneem /A./ en overeenkomstig de eerder besproken error propagation learning rule worden de waarden van de gewichten in het netwerk aangepast. Het venster verschuift één positie verder, wordt dus [was ge], en een nieuwe ronde begint. | ||||||||||||||||||
[pagina 17]
| ||||||||||||||||||
Figuur 10 De Featurematrix
| ||||||||||||||||||
[pagina 18]
| ||||||||||||||||||
Ook in de testfase schuift het heptagram-venster over de tekst, maar nu moet het netwerk zelf het juiste foneem vinden, op basis van de waarden van de uitvoereenheden. De gewichten worden in de testfase niet bijgesteld. In figuur 11 is een mogelijke constellatie van uitvoerwaarden gegeven.
In de featurespecificatiematrix (zie figuur 10) wordt het foneem gezocht dat wat zijn kenmerken betreft het meest overeenkomt met de waarden die in de 22 uitvoereenheden zijn aangetroffen. Als gelijkheidsmaat is gekozen voor de som van de kwadraten van de verschillen tussen de waarden in de uitvoereenheden en die in de corresponderende kolommen van de matrix in figuur 10. Voor de configuratie in figuur 11 blijkt dat het foneem /p./ te zijn. In figuur 10 wordt voor ieder van de 56 door ons gebruikte fonemen de feature-specificatie gegeven. De eerste kolom bevat de door ons gebruikte tweeplaatsige code voor het betreffende foneem. In de laatste kolom geven we een meer gebruikelijke aanduiding. De overige kolommen bevatten de specificaties van de verschillende fonetische kenmerken. Het laatste kenmerk spat is door ons toegevoegd teneinde het nul-foneem van de overige fonemen te kunnen onderscheiden. | ||||||||||||||||||
2.2 De leertekst en de testtekstZowel uit theoretisch oogpunt als met het oog op mogelijke praktische toepassingen verdient het gebruik van lopende tekst de voorkeur boven dat van woorden in isolatie omdat alleen in het eerste geval assimilatieverschijnselen tussen woorden in de beschouwing worden betrokken. De leertekst die aan NetSpraak is aangeboden bestond uit de eerste 10 pagina's van Reve's De avonden plus bijbehorende transcriptie (22071 grafemen, 4040 woorden), de testtekst bestond uit de elfde pagina van dezelfde roman (2355 grafemen, 457 woorden). Natuurlijk moest ook van die pagina een transcriptie beschikbaar zijn om de prestaties van het netwerk te kunnen bepalen. Het testen van de resultaten van NetSpraak aan de hand van een testtekst, is ingegeven door de wens enig inzicht te verkrijgen in het vermogen tot generaliseren. In dit verband is het van belang op te merken dat 32% van de heptagrammen in de testtekst oud was, d.w.z. tenminste één maal in de leertekst voorkwam, terwijl 68% nieuw was. Van de leestekens in de tekst werd enkel de punt in de beschouwing betrokken en dan nog op een speciale manier: hij werd wel meegenomen als contextueel gegeven, maar het netwerk hoefde er geen fonetische interpretatie aan toe te kennen. Een kleine moeilijkheid werd gevormd door de noodzaak een één-op-één- | ||||||||||||||||||
[pagina 19]
| ||||||||||||||||||
relatie af te dwingen tussen de grafemen van de tekst en de fonemen in de transcriptie: vaak moet een cluster van grafemen door één enkel foneem weergegeven worden. We hebben dit ondervangen door een nulfoneem in te voeren, weergegeven met /0./, dat zoals uit figuur 10 valt af te lezen, voor alle gehanteerde kenmerken negatief gemarkeerd is. Voor de transcriptie van het woord wekker krijgen we dan het volgende:
Om inconsequenties bij het transcriberen te vermijdenGa naar eind8., hebben we hierbij steeds de volgende regel in acht genomen: wanneer een grafeemcluster één klank representeert, wordt het foneem dat die klank aanduidt, toegekend aan het eerste grafeem van het cluster, aan de andere grafemen wordt het nulfoneem toegekend. Ook in het voorbeeld in (3) en (4) is deze regel toegepastGa naar eind9.. Het omgekeerde probleem bij die afgedwongen een-op-een-relatie is veel zeldzamer: één grafeem dat als twee fonemen moet worden gerepresenteerd. In de door ons gehanteerde tekst deden dergelijke gevallen zich niet voor. Een voorbeeld zou zijn:
In [Sejnowski & Rosenberg (1986)] wordt dit probleem waar het zich voordoet ondervangen door uitbreiding van de foneemverzameling met één nieuw teken. Zo zou in bovenstaand voorbeeld het teken /L./ gereserveerd kunnen worden voor de combinatie /l.&./. | ||||||||||||||||||
2.3 Het leertrajectDe in de vorige paragraaf besproken leertekst werd een groot aantal malen aan NetSpraak aangeboden. In iedere leercyclus schoof het heptagramvenster stap voor stap over de 22071 grafemen, berekende in iedere stap voor het vierde grafeem in het venster de verwachte foneemspecificatie, vergeleek die met de foneemspecificatie van het door ons opgegeven foneem en stelde zonodig de gewichten bij overeenkomstig de error propagation regel. Aan het einde van iedere cyclus werd het percentage correcte grafeemfoneem-toekenningen berekend voor de leertekst en voor de testtekst. In figuur 12 is de leercurve voor zo'n 55 cyclussen te zien. De in figuur 12 afgebeelde leercurve is typisch voor dergelijke netwerken. Vaak ziet men dat na een beginperiode met snelle stijging een periode van stabilisatie optreedt, waarbij de resultaten voor de testtekst steeds op gelijke | ||||||||||||||||||
[pagina 20]
| ||||||||||||||||||
Figuur 12 Leercurve NetSpraak
afstand van die voor de leertekst blijven. Uiteindelijk treedt dan een fase op waarin de resultaten voor de leertekst nog wat beter worden terwijl die voor de testtekst weer verslechteren. Een voor de hand liggende verklaring voor dit verschijnsel is dat het netwerk aanvankelijk zinvolle generalisaties maakt, die ook bij de testtekst tot een beter resultaat leiden, terwijl de stijging in de resultaten op de leertekst en de daling van de score op de testtekst na de stabilisatiefase toegeschreven zouden moeten worden aan het ‘inslijpen’ van eigenaardigheden van de leertekst. Gewoonlijk stopt men het leerproces wanneer de resultaten van het netwerk voor de testtekst duidelijk verslechteren. Dat de knik in de leercurve van NetSpraak niet erg geprononceerd is, heeft wellicht te maken met de grote omvang van de leertekst, waardoor inslijpen van eigenaardigheden van die tekst wel erg moeilijk wordt. Omdat de score op de testtekst na de 41-ste cyclus eerder slechter dan beter werd, beperken we ons bij de bespreking van de resultaten van NetSpraak tot deze 41-ste cyclus. Wat verder opvalt aan de leercurve in figuur 12, is het hoge percentage correcte toekenningen op de testtekst: 96.7%, waar [Sejnowski & Rosenberg, 1986] een score van 80% rapporteren op soortgelijk materiaal. Naast de problematische aard van de Engelse spelling en de omstandigheid dat NetTalk ook klemtoontoekenning voor zijn rekening neemt, zal het feit dat onze leertekst ongeveer 4 maal groter was, hier een rol spelen. | ||||||||||||||||||
[pagina 21]
| ||||||||||||||||||
Deze prestatie is des te opmerkelijker daar in de leertekst een aantal Franse woorden voorkomen, die het netwerk aanvankelijk in de war brachten, maar waar het uiteindelijk goed mee uit de voeten kon: La favorite van Couperin [Reve, 1987:16]. Het materiaal in figuur 13 bestaat uit een gedeelte van de testtekst, de transcriptie van die tekst zoals wij die ook voor de leertekst gemaakt hadden en de transcriptie die door NetSpraak geproduceerd is. Waar de door NetSpraak geproduceerde transcriptie afwijkt, is het foneem vet gedrukt. Merk op dat NetSpraak lijkt te weten wanneer het woord hij als /h.Ei/ getranscribeerd moet worden en wanneer als /i./Ga naar eind10.! Het type fouten dat NetSpraak maakt, is over het algemeen niet ernstig. Zo zijn de vier fouten in figuur 13 geen van alle echte missers. In drie gevallen gaat het slechts om één enkel kenmerk, in het vierde geval betreft het de transcriptie van het grafeem D tot het foneem /t./ waar het nul-foneem de voorkeur verdient. Soms maakt NetSpraak serieuze blunders. Zo wordt in een gedeelte van de tekst dat hier niet is afgedrukt, het persoonlijk voornaamwoord U als /&./ gerealiseerd. Hierbij dient overigens wel opgemerkt te worden dat dit woord in de leertekst slechts één keer voorkomt. Zeer verbaasd waren we te merken dat de spatie eenmaal werd getranscribeerd als /p./. Hierbij speelt de omstandigheid een rol dat geen van de fonemen in figuur 10 voor zo weinig kenmerken positief gespecificeerd is als juist dit foneem, terwijl de spatie voor geen enkel fonetisch kenmerk positief is gemarkeerd. Nadere inspectie leerde dat met name het uitvoerelement voor het kenmerk consonant sterk was geladen; een lichte lading voor het kenmerk anterieur bleek vervolgens voldoende om voor /p./ te kiezen. Overigens bleek deze fout na 45 cyclussen te zijn verdwenen, al viel de overall score in dat stadium lager uit. | ||||||||||||||||||
[pagina 22]
| ||||||||||||||||||
Figuur 13 Fragment testtekst met transcripties
| ||||||||||||||||||
3 EvaluatieIn paragraaf 3.1 bespreken we kort een aantal mogelijkheden om de prestaties van NetSpraak te verbeteren. In paragraaf 3.2 gaan we in op de vraag of de modelleringstechniek met behulp van neurale netwerken inderdaad zo veelbelovend is als de bereikte resultaten doen vermoeden. | ||||||||||||||||||
3.1 Mogelijkheden om de prestaties van NetSpraak te verbeterenZoals uit de leercurve in figuur 12 is af te lezen, bereikte NetSpraak zijn beste score op de testtekst na 41 leercyclussen. Gebruikmakend van de op dat moment ingestelde gewichten werd 96.7% van de in de testtekst opgenomen grafemen correct omgezet. Deze hoge score in kombinatie met het eerder vermelde feit dat 68% van de in de testtekst opgenomen heptagrammen niet voorkomt in de leertekst, lijkt de conclusie te ondersteunen dat tijdens de leerfase zinvolle generalisaties zijn gemaakt. Zoals reeds opgemerkt in paragraaf 2.3 is de score van NetSpraak duide- | ||||||||||||||||||
[pagina 23]
| ||||||||||||||||||
lijk beter dan de voor NetTalk gerapporteerde score voor lopende tekst van 80%. Als mogelijke verklaring voor dit feit opperden we, naast de aandacht voor klemtoon en de problematische aard van de Engelse spelling, het feit dat onze leertekst ongeveer 4 maal groter was. Mogelijk zijn dan ook betere resultaten te bereiken door gebruik te maken van een nog grotere leertekst. Een vergelijking van de resultaten van NetSpraak met zijn Duitstalige tegenhanger NetzSprech [Dorffner, 1989] lijkt minder zinvol. Dorffner beperkt zich tot de omzetting van losse Duitstalige woorden en maakt geen onderscheid tussen leer- en testmateriaal: voor de leertekst rapporteert Dorffner ‘the error rate going down to less than 3% for features and less than 10% for letters’. Een vergelijking van de performance van NetSpraak met traditionele systemen zoals het INF-KUN-systeem [Kerkhoff e.a., 1984] of GRAFON [Daelemans, 1985, 1988] wordt bemoeilijkt door het feit dat vergelijkbare kwantitatieve gegevens over de prestaties van deze systemen ontbreken. In principe zou zo'n vergelijking best mogelijk en interessant zijn. Daarbij zou overigens niet alleen gelet moeten worden op het aantal, maar ook op de aard van de foutenGa naar eind11.. Naast de hierboven reeds aangegeven mogelijkheid om de resultaten van NetSpraak nog te verbeteren door een grotere leertekst aan te bieden, lijken ook de volgende suggesties ons de moeite van het onderzoeken waard. We hebben in NetSpraak geopteerd voor een venster met 7 grafemen. Deze keuze is mede ingegeven door de overweging dat in fonologische regels de context naar beide kanten gewoonlijk tot drie of minder segmenten beperkt is. Voor de vaardigheid van het netwerk om fonologisch zinvolle generalisaties te maken, lijkt dit voldoende. We nemen aan dat het vermogen van NetSpraak om uitzonderingen onder de knie te krijgen, toe zal nemen met een uitbreiding van het venster. Een aanpak die wellicht tot nog betere resultaten leidt, bestaat hieruit dat als invoer van NetSpraak niet alleen de in paragraaf 2.1 beschreven representatie van de 7 grafemen in het venster wordt opgenomen, maar dat ook de feature-specificaties van het laatst vertaalde grafeem als invoer van het netwerk fungeren. De invoer van het netwerk bestaat dan uit 196 invoereenheden voor het heptagramvenster en 22 invoereenheden voor de fonetische kenmerken van het laatst verwerkte grafeem, in totaal 196 + 22 = 218 invoereenhedenGa naar eind12.. Hierdoor ontstaat een netwerkarchitectuur zoals schematisch weergegeven in figuur 14. Natuurlijk hoeft het hierboven besproken systeem van terugkoppeling niet beperkt te blijven tot het laatst verwerkte grafeem, maar kan het uitgebreid worden tot meerdere reeds verwerkte grafemen in het venster. In NetSpraak wordt in tegenstelling tot NetTalk geen aandacht besteed aan de klemtoontoekenning. Op grond van de voor NetTalk gerapporteerde resultaten moet dit zeer wel mogelijk geacht worden. Aandacht voor klemtoon in kombinatie met het hiervoor beschreven systeem met terugkoppeling lijkt veelbelovend. | ||||||||||||||||||
[pagina 24]
| ||||||||||||||||||
Figuur 14 Schets van een NetSpraak-netwerk met terugkoppeling
De laatste benadering waarvoor men zou kunnen kiezen om de performance te verbeteren verdient enige toelichting. In NetSpraak is gebruik gemaakt van 20 verwerkingseenheden in de tussenlaag. Het is mogelijk met dit aantal te experimenteren, maar een en ander is niet zonder problemen. Een groter aantal eenheden in de tussenlaag zal over het algemeen de leersnelheid positief beïnvloeden met name voor de leertekst. Het gevaar bestaat echter dat de gewichten te specifiek op de aangeboden leertekst ingesteld raken, wat de performance van het netwerk voor de testtekst nadelig beïnvloedt. Het gebruik van te weinig eenheden in de tussenlaag heeft een nadelige invloed op het vermogen van het netwerk om zinvolle generalisaties te maken, terwijl het gebruik van teveel eenheden in de tussenlaag het gevaar van ‘inslijpen’ vergroot. Een uitgekristalliseerde theorie op basis waarvan het juiste aantal eenheden in de tussenlaag berekend kan worden, is niet beschikbaar zodat we voor het vinden van een optimale constellatie zijn aangewezen op experimenteren. Dit experimentele karakter geldt overigens voor meer aspekten van neurale netwerken, zoals de keuze van de waarde van de leerkonstante. | ||||||||||||||||||
[pagina 25]
| ||||||||||||||||||
3.2 Het theoretische belang van de modelleringstechniek met behulp van neurale netwerkenZeker wanneer de performance van NetSpraak inderdaad nog verbeterd blijkt te kunnen worden, staat de praktische bruikbaarheid van programma's als NetSpraak buiten kijf. Een groot voordeel t.o.v. symbolische benaderingen is dat we het zelfde netwerk zonder fundamentele veranderingen in een betrekkelijk korte tijd kunnen trainen voor een andere taal. Waar we voor de ontwikkeling van een klassiek symbolisch grafeem-foneem-omzettingssysteem eerder moeten denken in termen van mensjaren, blijken voor de training van een netwerk enkele dagen voldoende te zijn. Bovendien is het niet ondenkbaar dat een reeds praktisch ingezet netwerk nog blijft leren op basis van feed back op gemaakte fouten. Het feit dat we de omzetting van grafemen naar fonemen redelijk bevredigend hebben kunnen modelleren met een neuraal netwerk, is natuurlijk aardig, maar taalkunde omvat meer dan fonologie, en fonologie meer dan het probleem van grafeem-foneem-omzetting. In hoeverre het mogelijk is om andere talige cognitieve processen met behulp van neurale netwerken te modelleren, blijft vooralsnog een open vraag. Aanzetten tot een (positieve) beantwoording van die vraag zijn te vinden in [Rumelhart & McClelland, 1986]. Met betrekking tot het theoretische nut van deze modelleringstechniek lijken er twee extreme standpunten mogelijk. Het eerste standpunt komt globaal hierop neer dat deze vorm van modelleren, hoewel mogelijk resulterend in praktisch bruikbare programmatuur, in theoretisch opzicht van geen enkel nut is, aangezien ze op geen enkele wijze ons inzicht in het gemodelleerde cognitieve proces vergroot. Het andere standpunt luidt dat het blijkbaar mogelijk is cognitieve processen adequaat te modelleren zonder een beroep te doen op een expliciet regelsysteem. Wellicht zijn we in de taalkunde (evenals in andere wetenschapsgebieden) op zoek geweest naar beregelingen die geen enkele psychologische realiteit hebben. In cognitieve processen wordt op geen enkele wijze gebruik gemaakt van symbolische representaties of van regels om deze te manipuleren. Talige vaardigheden berusten noch op expliciet noch op impliciet aanwezige kennis van regels, maar vormen de resultante van een ingewikkeld netwerk van gewichtstoekenningen. De vraag dringt zich op of deze modelleringstechniek niet een variant is op reeds bestaande statistische benaderingen, en of het Behaviourisme niet in een moderner jasje de taalkunde weer wordt binnengehaald? Het is niet mogelijk om in deze inleidende bijdrage uitgebreid op deze interessante en belangrijke wetenschapstheoretische kwestie in te gaan. Voor een uitvoerige kritische bespreking verwijzen we naar [Fodor & Pylyshyn, 1988] en [Pinker & Prince, 1988]. | ||||||||||||||||||
[pagina 27]
| ||||||||||||||||||
Bibliografie
| ||||||||||||||||||
[pagina 28]
| ||||||||||||||||||
|
|