Het slimme zoeksysteem geeft antwoord

Google kennen we allemaal. Als je informatie zoekt, typ je een paar zoektermen in en Google geeft een lijst van webpagina´s die mogelijk nuttige informatie bevatten. Taal- en informaticawetenschappers werken samen aan zoeksystemen die kunnen omgaan met specifieke zoekvragen en je exact de benodigde informatie geven.

door en

Bijna iedereen gebruikt Google om informatie te zoeken. Meestal bestaat je zoekvraag uit een paar woorden of een naam: Lange Frans of RSI bijvoorbeeld. Google geeft je dan alle beschikbare informatie over Lange Frans of RSI. Maar wat nou als je iets specifieks wilt weten, bijvoorbeeld wanneer Lange Frans geboren is of hoe je RSI kunt voorkomen?

Als je wilt weten wanneer Lange Frans is geboren dan ben je niet zomaar op zoek naar informatie, maar je hebt een specifieke vraag. Op deze vraag is een kort en duidelijk antwoord mogelijk: een jaartal. Zoekmachines zoals Google zijn vooral geschikt voor het vinden van heel veel informatie, en niet zozeer voor het vinden van heel specifieke informatie. Voor het beantwoorden van specifieke vragen ontwikkelen wetenschappers een ander soort zoeksystemen: antwoordsystemen.

Stel dat ik de vraag zou stellen “Wanneer is Lange Frans geboren?” Een standaard Google-achtig zoeksysteem zou op zoek gaan naar webpagina´s die de woorden wanneer, is, Lange, Frans en geboren bevatten. Ik ben echter helemaal niet op zoek naar een pagina die deze woorden bevat: ik ben op zoek naar het geboortejaar van Lange Frans.

Als je via Google zoekt met “Wanneer is Lange Frans geboren?”, vindt hij webpagina´s die de woorden wanneer, is, Lange, Frans en geboren bevatten. Die geven echter geen antwoord op je vraag.
Klik op de afbeelding voor een vergroting.

Een antwoordsysteem dat taalkundige kennis gebruikt

Een slim antwoordsysteem gebruikt kennis over mijn zoekvraag om de juiste informatie te vinden. Daarvoor heeft het systeem informatie over de taal nodig: informatie over woordbetekenis om te weten dat wanneer een vraagwoord van tijd is, informatie over grammaticale structuur om te weten dat Lange Frans het onderwerp van de zin is, en informatie over eigennamen om te weten dat Lange Frans een persoon is. Deze informatie krijgt het zoeksysteem van taalkundige bronnen: een elektronisch woordenboek, een uitgebreide lijst met persoonsnamen, en een programma dat grammaticale analyses maakt.

Met behulp van deze informatie kan het antwoordsysteem de volgende analyse maken: mijn vraag begint met wanneer dus ik ben op zoek naar een jaartal of een datum. Het onderwerp van mijn vraag is Lange Frans en niet de losse woorden Lange en Frans. En Lange Frans is een persoon. Dus het systeem concludeert dat ik geïnteresseerd bent in data of jaartallen die voorkomen samen met de naam Lange Frans. Als dan ook nog ergens in de buurt het woord geboren staat, is de kans heel groot dat het gevonden jaartal inderdaad zijn geboortejaar is.

Een standaard zoekmachine gebruikt dergelijke taalkundige kennis niet: voor Google zijn alle woorden uit de zoekvraag even belangrijk ongeacht hun plaats in de zin. Google gebruikt wel informatie over hoe vaak woorden voorkomen op het internet: het woordje is weegt minder zwaar dan Frans, omdat het heel veel voorkomt op internet. Bij zoekopdrachten die uit losse woorden bestaan is dit meestal voldoende, maar bij vragen is taalstructuur vaak noodzakelijk.

In de vraag: “Hoe lang leven vrouwen gemiddeld?” bijvoorbeeld, is gemiddeld het woord met het laagst aantal voorkomens op internet. Hieruit concludeert Google dat gemiddeld een belangrijk (want redelijk uniek) woord is voor het vinden van relevante informatie voor deze zoekvraag. Toch is gemiddeld veel minder belangrijk voor het beantwoorden van de vraag dan hoe lang, leven en vrouwen. Dit zou een taalkundig slimmer systeem kunnen afleiden uit de grammaticale structuur van de vraag: vrouwen is het onderwerp, leven de persoonsvorm en gemiddeld een bijwoordelijke bepaling.

Google gebruikt informatie over hoe vaak woorden voorkomen op internet om het belang van de zoekwoorden te bepalen. Gemiddeld komt minder vaak voor dan hoe, lang, leven en vrouwen en wordt daarom zwaarder gewogen voor het vinden van documenten.
Klik op de afbeelding voor een vergroting.

Hoe en waarom

Een vraag die begint met wanneer is nog relatief eenvoudig te beantwoorden omdat het antwoord een jaartal of datum is, en die zijn duidelijk te herkennen in een tekst. Maar wat als je een vraag stelt die begint met hoe of waarom? De laatste paar jaar wordt steeds meer onderzoek gedaan naar de mogelijkheden om dit soort vragen met de computer te kunnen beantwoorden. We weten dankzij taalwetenschappelijk onderzoek dat antwoorden op waaromvragen op internet meestal ongeveer één alinea lang zijn. Een systeem dat waaromvragen beantwoordt, zoekt daarom niet naar jaartallen of personen maar naar alinea´s.

Het lastigste probleem waar wetenschappers tegenaan lopen bij het ontwikkelen van zo´n systeem is: hoe herken je dat een alinea het antwoord op een waaromvraag geeft? Je zou misschien denken dat een antwoord op een waaromvraag altijd begint met omdat, maar dat is meestal niet het geval.

Het antwoord op een waaromvraag is ongeveer één alinea lang. In dit plaatje geeft de omcirkelde alinea uit Wikipedia het antwoord op de vraag “Waarom brengt een klavertjevier geluk?”. Lang niet alle antwoorden op waaromvragen zijn herkenbaar aan steekwoorden zoals omdat of daarom.
Klik op de afbeelding voor een vergroting.

Je kunt op de klassieke zoekmanier (zoals Google) te werk gaan en een systeem bouwen voor het beantwoorden van waaromvragen dat eenvoudigweg alinea´s vindt die de woorden uit de vraag gebruiken. In het voorbeeld hierboven zou de antwoordalinea gevonden kunnen worden, omdat de zoekwoorden klavertjevier en geluk erin voorkomen. Maar ook hier kan kennis van taal een rol spelen.

Een grammaticale analyse van de vraag “Waarom brengt een klavertjevier geluk?” wijst klavertjevier aan als onderwerp, brengt als persoonsvorm en geluk als lijdend voorwerp. Klavertjevier is bovendien niet alleen het grammaticale onderwerp maar ook datgene waar de vraag over gaat. Een slim systeem gebruikt deze kennis om eerst de documenten over klavertjevier te vinden (in Wikipedia bijvoorbeeld), en daarin op zoek te gaan naar alinea´s over geluk brengen. Op deze manier zou de omcirkelde alinea in het voorbeeld nog beter gevonden kunnen worden.

In de taalwetenschap is het zelden zo dat een regel die opgaat voor één voorbeeld, meteen toegepast kan worden op andere voorbeelden. Stel dat ik bijvoorbeeld de vraag stel: “Waarom worden mensen bruin als ze in de zon zitten?”, dan is mensen wel het grammaticale onderwerp maar niet datgene waar de vraag over gaat. De vraag gaat over bruin worden. In het plaatje hieronder zie je het antwoord. Het staat in het Wikipedia-artikel over huid, onder het kopje pigment en blijkt geen enkele van de woorden uit de vraag te gebruiken.

In het antwoord op “Waarom worden mensen bruin als ze in de zon zitten?” komen de woorden mensen, bruin, zon en zitten niet voor. Hoe kan een antwoordsysteem dan toch zien dat dit het antwoord op mijn vraag is?
Klik op de afbeelding voor een vergroting.

Kennis van de wereld

Het was voor mij als mens al best lastig om dit antwoord te vinden (ik moest een paar keer doorklikken in Wikipedia), maar voor een computer is het nog veel lastiger. Een antwoordsysteem heeft namelijk misschien wel de beschikking over taalkundige informatie, maar niet over kennis van hoe de wereld in elkaar zit. Het weet bijvoorbeeld niet dat de huid een deel van het menselijk lichaam is. En dat bruin worden betekent dat je huid meer getint wordt.

Sommige van de benodigde kennis zou aan het systeem kunnen worden toegevoegd, bijvoorbeeld informatie over welke woorden qua betekenis op elkaar lijken: zon en zonlicht, bruin en getint. Maar als we dit zouden doen zou niet alleen het woord zonlicht toegevoegd worden voor zon, maar ook zonnestelsel, ster, warmte, helium en nog veel meer woorden die iets met zon te maken hebben. Dat maakt het zoeken er ook niet makkelijker op!

De ontwikkeling van antwoordsystemen is nu zover dat de meeste vragen met een kort antwoord van een specifiek type (zoals een datum of een persoonsnaam) goed beantwoord kunnen worden. Dit zijn vragen die beginnen met wanneer, waar, hoeveel en sommige wie- en wat-vragen. Voor meer ingewikkelde vragen zoals hoe en waarom blijven taal- en informaticawetenschappers hard werken aan goede systemen die zo slim mogelijk gebruik maken van taalkundige kennis.