Deel dit artikel

van bij het ontstaan van de artificiële intelligentie was er de droom dat computers teksten in natuurlijke taal konden ontcijferen. die droom wordt stilaan werkelijkheid dankzij de overproductie van informatie en de hiermee gepaard gaande vraag naar systemen die die informatie op een intelligente manier doorzoeken. de rekenkracht van de huidige computers en de ontwikkeling van gesofisticeerde algoritmen dragen bij tot die snelle evolutie.

De slimme machine die kennis vergaart uit tekst

Marie-Francine Moens

Misschien heb je al gefantaseerd over een intelligente machine die je helpt bij het verwerken van je e-mails en je automatisch elke dag een lijst van prioriteiten voorschotelt. Of van een zoekrobot die voor jou de meest recente publicaties leest en samenvat, zodat je die publicaties eruit kunt pikken die voor jou interessant zijn. Of van een robot die vragen beantwoordt, zoals ‘Hoeveel CO2 mag mijn bedrijf uitstoten om aan de Kyotonorm te voldoen?’ of ‘Wie zijn de leden van de raad van bestuur van het Mechelse bedrijf dat onlangs een prijs voor innovatie won?’ De discipline van de artificiële intelligentie heeft in de laatste decennia een enorme vooruitgang geboekt in het bouwen van kennissystemen. Dit zijn systemen die zoals een expert je vragen kunnen beantwoorden. Ze incorporeren geavanceerde kennisrepresentaties en technieken om met kennis te redeneren. Nieuwe zoekmachines, zoals de Wolfram|Alpha-zoekmachine en het recente DeepQA-project van IBM, hebben zelfs de ambitie om vragen gesteld in natuurlijke taal te beantwoorden. De langetermijndoelstelling van de Wolfram|Alpha-zoekmachine is om een reusachtige kennisbank te bouwen met objectieve en correcte feitelijke kennis over de wereld én die bevraagbaar te maken voor professionelen en leken, rekening houdend met verschillende opleidingsniveaus. Het DeepQA-project wil de mens vervangen bij het oplossen van quizvragen in alle mogelijke domeinen en zo de ultieme ‘supercrack’ worden. Huidige databanktechnologieën en hun gesofisticeerde indexsystemen – verspreid over een scala van machines – maken het mogelijk om reusachtige data- en kennisbanken zeer snel te doorzoeken door gebruik te maken van een groot aantal gelijktijdig uitgevoerde berekeningen.

Het DeepQA-project wil de mens vervangen bij het oplossen van alle mogelijke quizvragen en zo de ultieme ‘supercrack’ worden

Kennis wordt veelal voorgesteld met behulp van een logische representatietaal. Een voorbeeld van een goed bestudeerde en theoretisch gefundeerde representatietaal is de eerste-orde-predicatenlogica. Zo zou de zin ‘Het restaurant serveert lunch’ kunnen worden vertaald als ‘Serveren(Restaurant,Lunch)’ waarbij het predicaat ‘Serveren’ als argumenten ‘Restaurant’ en ‘Lunch’ heeft. Het probleem bij het bouwen van kennisgebaseerde systemen tot nu toe was het verzamelen van de nodige kennis. Dit vergde immers de inzet van kennisingenieurs. Initiatieven hieromtrent strandden vaak door een gebrek aan middelen en mankracht. Als we alle kennis die de mensheid bezit, willen gieten in een door de computer verstaanbare taal, dan is het een onmogelijke taak om die kennis manueel op te stellen. Maar hoe kunnen we dan die wereldkennis automatisch leren? Eén mogelijkheid is om die kennis automatisch te extraheren uit bronnen die geschreven zijn in natuurlijke taal. Vooral het World Wide Web biedt hier een enorm potentieel. Het Web geeft ons niet alleen de mogelijkheid om feitelijke, soms vluchtige kennis (zoals de prijs van een bedrijfsaandeel) te vergaren, maar ook om langdurig geldende algemene wereldkennis (zoals ‘Brussel is de hoofdstad van de Europese Unie’) op te doen. Dit is mogelijk dankzij de technologische vooruitgang die werd geboekt in de disciplines van machinaal leren, dataontginning (data mining) en informatieontsluiting en hun toepassingen bij het verwerken van de natuurlijke taal.

Sinds de jaren negentig van de vorige eeuw worden methoden ontwikkeld voor de extractie van kennis uit tekst, op basis van voorbeelden die manueel zijn geannoteerd als een positief of negatief toonbeeld voor een bepaald type kennis. Daarop wordt een classificatiealgoritme toegepast dat een model leert van de tekstuele patronen die het type kennis aanduiden. Dit is een vorm van gesuperviseerd leren. Ondanks de vrij goede resultaten heeft die benadering als beperking dat het annoteren van de teksten nog een grote manuele inspanning vergt. Dit houdt ook in dat het onrealistisch is om voor alle mogelijke domeinen en types van kennis teksten te annoteren. Hoe kunnen we echter met een minimum van manuele inbreng kennis verzamelen uit tekst? Het vervolg van deze bijdrage wil hierop een antwoord formuleren.

Een factor die een dergelijke taak vergemakkelijkt, is dat er enorm veel bronnen beschikbaar zijn die dikwijls dezelfde kennis beschrijven. Zelfs al maakt de machine soms fouten in de extractie – bijvoorbeeld omdat een bepaalde frasering moeilijk verstaanbaar is – dan zijn die verwaarloosbaar ten opzichte van de vele correcte extracties. Wanneer men bijvoorbeeld de geboortedatum van Mozart wil weten, dan zullen vele bronnen 1756 als antwoord geven. Daarnaast zijn er echter ook factoren die deze taak bemoeilijken. Enerzijds is er het probleem van synonymie en parafrasering: de natuurlijke taal kent vele uitdrukkingen die (bijna) dezelfde inhoud weergeven. In het voorbeeld van Mozart kan ‘geboortedatum’ op verschillende manieren worden uitgedrukt, bijvoorbeeld als ‘is geboren op’ of ‘heeft als geboortedatum’. Anderzijds is er het probleem van homonymie of polysemie: eenzelfde uitdrukking heeft vaak verschillende betekenissen afhankelijk van de context. Zo kan de naam ‘Washington’ verwijzen naar een persoon of een staat in de Verenigde Staten, of ook Washington, DC betekenen. Ten slotte zijn bepaalde geëxtraheerde relaties ambigu met betrekking tot de draagwijdte. Een uitdrukking als ‘Er is een arts in elke stad’ kan men op verschillende manieren interpreteren: er is één arts en die heeft een praktijk in elke stad, of elke stad heeft een verschillende arts. De tweede interpretatie is meer waarschijnlijk dan de eerste. Mensen schatten de waarschijnlijkheid van een interpretatie in op basis van hun wereldkennis. Ook machines kunnen dergelijke wereldkennis leren.

De betekenis van een woord wordt in belangrijke mate gedefinieerd door de context waarin het wordt gebruikt

Wat betreft het synonymieprobleem is er reeds veel onderzoek verricht naar de resolutie van coreferenten en meer specifiek coreferenten van zelfstandige naamwoordgroepen. De betekenis van een woord wordt in belangrijke mate gedefinieerd door de context waarin het wordt gebruikt. Een klassieke manier om de juiste coreferenten te identificeren bestaat erin de context van potentiële coreferenten paarsgewijs te modeleren, en bij voldoende overeenkomst in context te beslissen dat de vermeldingen in de tekst – bijvoorbeeld ‘Mars’ en ‘rode planeet’ – naar dezelfde entiteit verwijzen, of dat het woord ‘planeet’ nu eens naar het woord ‘Mars’ verwijst en in een andere context naar het woord ‘Venus’. Dikwijls wordt een beroep gedaan op clusteralgoritmen, die informatie groeperen waarin de potentiële coreferenten worden genoemd. Hierbij zullen randvoorwaarden verhinderen dat bepaalde paren in dezelfde cluster terechtkomen (bijvoorbeeld dat het vrouwelijke voornaamwoord ‘zij’ en het mannelijke woord ‘Mars’ tot dezelfde cluster behoren). De context kan variëren door eenvoudig de woorden of andere entiteiten in de context te beschouwen, of specifieke extracties in rekening te brengen (zoals het feit dat ‘Mars’ en de ‘rode planeet’ geen ozonlaag bezitten). Clustertechnieken zijn vormen van ongesuperviseerd leren. Ondanks het feit dat we geen voorbeelden van groepen referenten nodig hebben, vereist het herkennen van de juiste coreferenten in tekst nog steeds een manuele inbreng, zoals het definiëren van de beperkende randvoorwaarden. De huidige technologie wil echter zoveel mogelijk noodzakelijke kennis automatisch leren uit de tekstuele bronnen.

Eén onderzoeksrichting hierbij is domeinadaptatie. Men gaat op zoek naar manieren om met een kleine verzameling trainingsvoorbeelden in een bepaald domein, samen met een grote verzameling van ongelabelde voorbeelden in een breder domein, toch accurate extracties te bekomen. We illustreren dit fenomeen met het extraheren van relaties tussen entiteiten. Met een relatie wordt een verband bedoeld, bijvoorbeeld tussen personen, bedrijven of plaatsen of in specifieke domeinen tussen gespecialiseerde entiteiten. Een voorbeeld is de overnamerelatie, zoals in de zinnen ‘Google neemt YouTube over’ of de domeinspecifieke productrelatie in ‘Exoenzyme S is een extracellulair product van Pseudomonas aeruginosa’. Het doel is om de tekstuele patronen die een relatie aanduiden automatisch aan te leren, zodat die kunnen worden gebruikt om dezelfde relatie te herkennen in andere zinnen of tekstfragmenten. Hiervoor wordt een klasseerder opgesteld, die nieuwe zinnen opdeelt in twee klassen: een klasse van zinnen die de relatie uitdrukken en een klasse van zinnen die dit niet doen. Stel dat we over zo’n klasseerder beschikken voor de overnamerelatie, dan kan de machine ook deze relatie gemakkelijk herkennen in de zin ‘Merck neemt zonder problemen Schering-Plough over’. Voor dit probleem zijn al verschillende algoritmen ontworpen. Helaas is er voor de meeste van die algoritmen een geannoteerd trainingscorpus nodig, waarin de positieve en negatieve voorbeelden aangeduid zijn. Zoals eerder vermeld is zo’n corpus opstellen erg tijdrovend, en dit moet gebeuren voor elk type van relatie.

Een nieuwe trend is het gebruiken van algoritmen die minder of bijna geen supervisie nodig hebben, minder manuele inbreng dus. Hierbij worden grote verzamelingen teksten gebruikt, die bijvoorbeeld te vinden zijn via het World Wide Web. Uit die gigantische corpora wordt dan getracht tekstuele patronen te leren die eenzelfde semantische interpretatie hebben, zoals het herkennen van een bepaald type relatie. Als men bijvoorbeeld weet dat er een bepaalde relatie bestaat tussen twee entiteiten (bijvoorbeeld de overnamerelatie tussen Google en YouTube) en dat die relatie absoluut niet bestaat tussen twee andere entiteiten (bijvoorbeeld de overnamerelatie tussen Google en Danone), dan kan men zinnen met de eerste twee entiteiten en zinnen met de laatste twee entiteiten in teksten van het World Wide Web of in een ander groot archief van teksten beschouwen als respectievelijk positieve en negatieve voorbeelden voor de te leren relatie. Weliswaar is die veronderstelling niet altijd correct, maar huidige classificatiealgoritmen bouwen robuuste classificatiemodellen ondanks een zekere graad van ruis in de data. Zo worden accurate tekstpatronen die een vooropgestelde type relatie aanduiden, geleerd. Die patronen kunnen worden toegepast op nieuwe teksten zodat alle overnames van bedrijven worden ontgonnen uit tekst en in de kennisbank kunnen worden opgenomen.

In hoeverre worden de patronen nu gedefinieerd met taalafhankelijke karakteristieken? Voor vele talen zijn momenteel softwarewerktuigen ontwikkeld die een syntactische analyse van een zin bewerkstelligen. Rudimentaire semantische analyses herkennen de semantische rollen van de zinsconstituenten (‘Wie’ doet ‘wat’? ‘Waar’? ‘Wanneer’?) voor een aantal belangrijke talen. Die herkenningen kunnen helpen bij het extraheren van kennis uit zinnen in natuurlijke taal. Voor syntactische en semantische analyses van zinnen is er een gelijkaardige trend om technieken van machinaal leren te gebruiken die een beroep doen op zo weinig mogelijk menselijke supervisie met de bedoeling gemakkelijk modellen te leren voor nieuwe talen. Statistische taalmodellen bijvoorbeeld die de machine ongesuperviseerd leert uit grote corpora, kunnen goed de structuren van de taal in kaart brengen en reduceren de nood aan een groot aantal manueel geannoteerde voorbeelden.

Gezien de grote hoeveelheden data die worden verwerkt, is schaalbaarheid een belangrijk probleem

Gezien de grote hoeveelheden data die worden verwerkt, is schaalbaarheid een belangrijk probleem. We willen de computationele complexiteit reduceren en tegelijkertijd de accuraatheid van de geëxtraheerde kennis niet in het gedrang brengen. Om het voorbeeld van de coreferentenresolutie te noemen, een groot deel van de computationele kost van het clusteralgoritme betreft het vergelijken van volledig verschillende extracties met betrekking tot hun context. Als men een index van de extracties bouwt, kan men bijvoorbeeld alleen die potentiële coreferenten vergelijken die ten minste één extractie gemeenschappelijk hebben, zoals ‘Mars’ en de ‘rode planeet’, waarvan we weten dat ze het gebrek aan een ozonlaag delen. Of nog strikter, we kunnen de vergelijking tussen vermeldingen van entiteiten verhinderen als ze ten hoogste één gemeenschappelijke extractie delen. Contextuele informatie die door een groot aantal entiteiten wordt gedeeld, wordt als weinig discriminatoir beschouwd en dus buiten beschouwing gelaten. Zo kan het systeem een clustering uitvoeren met een grotere efficiëntie en toch minimaal aan accuraatheid inboeten. Onderzoek naar oplossingen om automatisch kennis uit teksten te extraheren gaat met rasse schreden vooruit, zowel wat betreft de schaalbaarheid als het raffinement van de geëxtraheerde kennis. Wat eens is begonnen als het ontdekken en het semantisch classificeren van eigennamen zoals ‘persoon’, ‘organisatie’, of ‘proteïne’ is nu geëvolueerd naar methoden voor extractie van relationele data, waarbij de procedure van kennisextractie honderden miljoenen of zelfs biljoenen feiten betreft.

We slagen erin automatisch heel wat feitelijke kennis uit teksten te extraheren. Dit wil niet zeggen dat we nu een tekst automatisch kunnen begrijpen op een manier zoals mensen de tekst interpreteren. Wij herkennen immers dikwijls concepten in een tekst die daar niet letterlijk te vinden zijn, maar die bestaan uit een opeenvolging van gebeurtenissen zoals een typisch scenario in een verhalende tekst, of een configuratie van feiten die een bepaalde problematiek in een juridisch, medisch of economisch domein weerspiegelt. De herkenning van die semantische structuren in tekst vormt een huidige onderzoeksuitdaging. Nu is het aan de wetenschap om de geëxtraheerde kennis in andere taken van de artificiële intelligentie te incorporeren. Het automatisch vergaren van kennis is geen geïsoleerd objectief. Het heeft een sneeuwbaleffect. Eens bepaalde kennis is vergaard, kan die bijdragen om nieuwe kennis te genereren. Onderzoekers in de natuurlijke taalverwerking hebben reeds lang erkend dat wereldkennis essentieel is voor het automatisch verstaan van de taal, en de vele subtaken waaronder zinsontleding, coreferentenresolutie of het herkennen van de betekenis van een woord. Denk maar aan de interpretatie van het voornaamwoord ‘haar’ in de zin ‘als de kat de melk niet lust, warm haar op.’ Die is alleen mogelijk met behulp van wereldkennis, die we uit corpora hebben geleerd.

Onderzoekers zijn nu ook begonnen de geëxtraheerde kennis te gebruiken in inferentiemachines, die redeneren met kennis opgeslagen in kennisbanken en conclusies afleiden. Die technologieën bestaan al lang, maar nu kunnen de kennisbanken automatisch worden aangevuld. Als gevolg hiervan zien we grote doorbraken van toepassingen van de artifiële intelligentie in onze maatschappij. De moeilijkheid van de automatische kennisacquisitie is immers reeds gedeeltelijk opgelost. Zoals hoger vermeld is geëxtraheerde kennis ook nuttig voor vraag-antwoordsystemen. Dergelijke systemen laten toe een vraag te stellen in natuurlijke taal aan een databank van teksten of andere informatie, waarbij automatisch een beknopt en correct antwoord wordt gegenereerd uit de databank. De kennisextractietechnologie laat toe entiteiten en hun relaties te herkennen in zoekvragen en documenten, wat ervoor zorgt dat een correct antwoord wordt gevonden.

Nog een andere toepassing is computervisie. Bij het herkennen van de inhoud in visuele data is wereldkennis zeer relevant. Als men bijvoorbeeld dieren herkent in foto’s is het nuttig te weten dat een paard vier poten heeft. Een echt intelligent systeem moet ook in staat zijn om de woorden, fraseringen en zinnen van een tekst aan de perceptie van objecten en gebeurtenissen in de wereld te koppelen. Naast visuele perceptie zijn ook audio en andere zintuiglijke waarnemingen belangrijk. Idealiter zou een computersysteem een taal kunnen leren zoals een kind, in een perceptueel rijke omgeving. Die context kan in belangrijke mate supervisie bieden om automatisch een taal te begrijpen en nog belangrijker, de connectie tussen taal en perceptie van de wereld zou de semantische representatie (bijvoorbeeld de logische predicaten) die een machine gebruikt, rechtvaardigen. De grote hoeveelheden multimediale informatie die op het World Wide Web te vinden zijn, waar tekst en beeld samengaan, kunnen we exploiteren om nog beter automatisch kennis te vergaren. Hierbij kan taal worden gebruikt om perceptuele patronen te leren en visie of andere perceptie kunnen worden gebruikt om beter taalpatronen te leren. Hier ligt een enorm onderzoeksdomein open, dat echter samenwerking vergt tussen de verschillende deelgebieden van de artificiële intelligentie.

De technologieën van machinaal leren en automatisch redeneren kunnen een goede ondersteuning bieden bij de integratie van de natuurlijke taalverwerking, computervisie en audioverwerking. Voor de natuurlijke taalverwerking zijn er effectieve methoden nodig die leren uit taal koppelen aan perceptueel gemotiveerde representaties. Vanuit de discipline van machinaal leren moeten technieken worden ontwikkeld die nog beter kunnen omgaan met hoog ambigue en ruisbevattende trainingsdata gecombineerd met typische indicatoren en beperkende randvoorwaarden. Onderzoekers als Raymond Mooney geloven er sterk in dat het combineren van taal en perceptie een aantal interessante en uitdagende onderzoeksproblemen stelt, die vereisen dat we ideeën en methoden van de natuurlijke taalverwerking, computervisie, machinaal leren en robotica integreren, en dat belangrijke problemen in het automatisch begrijpen van de wereld rondom ons zullen worden opgelost door deze wisselwerking.

Een slotbemerking. Indien we kennis automatisch extraheren uit tekstuele bronnen, dan moeten we die bronnen kunnen vertrouwen. Maar de informatie die mensen via het World Wide Web toegankelijk maken, is vaak incorrect. Het automatisch achterhalen van de geloofwaardigheid van de bronnen is dus nog een ander verhaal.

Raymond Mooney, ‘Learning to connect language and perception’ in: Proceedings of the 23rd AAAI Conference on Artificial Intelligence (AAAI), Senior Member Paper, Chicago, IL, juli 2008, pp. 1598-1601.

Alexander Yates, ‘Extracting world knowledge from the Web’ in: IEEE Computer: Innovative Technology for Computer Professionals, juni 2009, pp.94-97.

Marie-Francine Moens is als computerwetenschapper verbonden aan de KU Leuven.

Deel dit artikel
Gerelateerde artikelen