Semantic Google

Google kijkt naar “strings” van woorden en niet naar de context, zodat er semantische resultaten kunnen komen uit het zoeken op enkele trefwoorden zonder context. Een nieuwe generatie van Serach Engines zal dit probleem eens oplossen, maar dan moeten we semantische netwerken (geautomatiseerd) kunnen bouwen en gebruiken bij de search. Pas dan komen we los van de free-text-search waarmee automatiseerders ons nu al tientallen jaren teisteren.

Google kijkt naar “strings” van woorden en niet naar de context, zodat er semantische resultaten kunnen komen uit het zoeken op enkele trefwoorden zonder context. Een nieuwe generatie van Serach Engines zal dit probleem eens oplossen, maar dan moeten we semantische netwerken (geautomatiseerd) kunnen bouwen en gebruiken bij de search. Pas dan komen we los van de free-text-search waarmee automatiseerders ons nu al tientallen jaren teisteren.

Hits en Missers

Iedereen die op het net zit en Google gebruikt wordt regelmatig, wanneer de resultaatpagina verschijnt, verscheurd door ongeloof, bewondering en twijfel. Ongeloof voor het feit hoe snel Google de resultaten te voorschijn tovert; bewondering dat er zoveel resultaten in vele vormen worden getoond en twijfel over hoe die resultaten soms de inhoudelijke plank geheel misslaan.

Dit heeft alles te maken met het feit dat ook Google nog steeds fundamenteel ingetypte strings van letters vergelijkt met overeenkomstige strings van dezelfde letters in hun databank van alle geïndexeerde webpagina’s. Hier volgt Google (en de vraag is: noodgedwongen?) de wijze waarop ITers van oudsher taal in hun computers hebben benaderd: als strings van opeenvolgende letters. Eerst hadden we alleen 26 hoofdletters en een handje vol leestekens en enkele bijzondere tekens. Later werd men gedwongen onderscheid te maken tussen kapitalen en onderkast, en uiteindelijk heeft men een onmogelijk systeem ontworpen om de diakritische tekens een plaats te geven. Taal, en de betekenis daarvan, was hiermee verengd tot een morfologisch probleem.

Full-text-Search

Op basis van dit systeem werden de eerste full-text of free-text zoekprogramma’s ontwikkeld die in tekstbestanden en databanken overeenkomstige strings konden lokaliseren, welke geordend op het scherm werden getoverd. De eerste toepasbare systemen stammen uit de tachtiger jaren, en blij dat we waren. Zo blij dat hele volksstammen documentalisten hun noeste en intellectuele arbeid van indexeren met behulp van gecontroleerde begrippenapparaten (thesaurus) overboord gooiden en voor het bevredigen van de informatie voorziening gingen vertrouwen op deze free-text systemen. De geest was uit de fles en tot op de dag van vandaag zit die er niet meer in terug, want iedere lexicograaf kan uitleggen dat een string van letters niets éénduidig zegt over de inhoudelijke betekenis van het woord of begrip.
Dat heeft de ICT-gemeenschap tot op de dag van vandaag niet opgelost en daarmee heeft men de I van ICT nooit werkelijk waar kunnen maken als het gaat om alles wat op teksten, en de betekenis daarvan, is gebaseerd. En die betekenis heeft men noodzakelijk nodig bij (geautomatiseerd) indexeren, spelling checken, ontleden van zinnen en alles wat met vertalen te maken heeft.

Google en Morfologie

Google heeft inmiddels voor bijna alle talen in de wereld zoveel (statistische) gegevens over de (juiste) spelling van woorden opgebouwd dat het in staat is de meeste spelfouten te herkennen en de juiste vorm (naast de resultaten op de oorspronkelijk ingetypte string van de gebruiker) aan te bieden. In feite kan Google door de gehele zoeksessie te volgen inschatten of een ingetypte string heeft geleid tot latere aanpassingen/correcties of tot het uiteindelijk landen op een pagina, waar de gebruiker blijft (een succes dus). Succes betekent ook dat klaarblijkelijk de ingetype woorden correct waren gespeld. En correct is hier weer eenvoudig de meest ingetypte string die tot succes leidt. Maar nog steeds heeft hierbij Google de betekenis van het woord/begrip niet achterhaald.

Semantiek en context

Nu heeft taal natuurlijk alles te maken met betekenis en er zijn twee problemen die men in geautomatiseerde systemen moet oplossen wil men echt taal intelligente computers krijgen. Die problemen hebben te maken met (staande) uitdrukkingen/begrippen die uit meer dan één woord bestaan, waaronder bijna alle eigennamen, en het feit dat er woorden zijn met dezelfde spelling maar met verschillende betekenissen; de zogenaamde homoniemen, en vergelijkbaar daarmee de synoniemen: woorden van verschillende strings maar met dezelfde betekenis. Ik ga hier even voorbij aan een ander morfologisch probleem bij taal: de afleidingen, samenvoegingen en vervoegingen.

In ieder woordenboek wordt voor deze problemen een oplossing bedacht. En voor eigennamen hebben we de encyclopedie. De menselijke geest is in staat om uit de context waarin die samengestelde begrippen en homoniemen voorkomen, redelijk effectief, de juiste betekenis te begrijpen. Nu heeft Google een enorme database opgebouwd die voor veel begrippen een ideale context bieden. Immers men kan (alweer statistisch) constateren dat wanneer in een bepaalde pagina een bepaald woord voorkomt (bijvoorbeeld: “markt” steeds ook een paar andere worden verschijnen, zoals bijvoorbeeld “prijzen”, “economie”, “producten”. In andere artikelen zal “markt” (of “markten” en constateert Google dan dat er spraken is van een meervoud?) steeds gecombineerd worden met een andere wolk van begrippen: “groenten”, “kleding”, “marktkoopman”, “openingstijden” e.d. Nu zou Google automatisch moeten concluderen dat het consistent steeds gaat om twee verschillende betekenissen. Overigens onderscheid de Grote van Dale 6 verschillende betekenissen van markt. Er zijn dus maar liefst 6 homoniemen van die string!
Als iemand het woord “Spectrum” zal intypen dan moet Google betrekkelijk eenvoudig kunnen uitmaken of het gaat om een natuurkundig verschijnsel van licht, of over een uitgeverij te Utrecht. (Google komt met ruim 83 miljoen hits op (“Spectrum”)Toch brengt Google deze context (nog) niet in want daar is ook weer een probleem.

Trefwoordzoeken versus tekstvergelijking

Google zou met hun data dus betrekkelijk eenvoudig  de verschillende betekenissen moeten kunnen herkennen door gebruik te maken van de context = wolken woorden in teksten/pagina’s. Maar als de zoekvraag is gebaseerd op individuele trefwoorden, dan ontbreekt bij die zoekvraag de noodzakelijke context om meer semantisch de resultaatpagina te presenteren. Nu typen 40%? van de googlers meer dan twee woorden in, waarmee ze een clou over de betekenis geven, en daarmee een hele kleine context. Zo is het resultaat van Google anders als je “spectrum” intypt of als je ”Uitgeverij Spectrum” ingeeft. Overigens het gebruik van hoofdletters maakt niet uit in de resultaat pagina, terwijl het hoofdlettergebruik toch ook onderdeel uitmaakt van de context, want wij zullen “Spectrum” met een hoofdletter direct interpreteren als een eigennaam en niet een naam van een verschijnsel. Wat dat betreft is er ruimte om naast het snelle zoeken via het ingeven van trefwoorden te zoeken door een tekst/zin aan te bieden en deze (op basis van bovenbeschreven “trefwoorden wolken” vergelijking) naar webpagina’s te zoeken over hetzelfde onderwerp.

Semantic Web

Google’s pagerank is een mathematische berekening van wel degelijk een benadering van de relevantie van de inhoud van een webpagina voor de door de gebruiker ingetypte zoekwoorden. Dat die relevantie vaak doeltreffend is, is een prachtig resultaat van scherp inzicht in hoe een computer herkent dat een webpagina relevant is voor een onderwerp, en in staat is deze relevantie te rangordenen. Maar vaak gaat het mis en dat is vrijwel geheel terug te voeren op het niet (kunnen) onderkennen van homoniemen, en het geen – zoals de menselijk geest – gebruik kunnen maken van de context. Het probleem is groot, want hoe sneller en groter het web groeit, hoe meer behoefte bestaat aan een betere selectie van relevante zoekresultaten. Daarom gonst de internetgemeenschap al enige tijd van het concept van “Semantic Web”, waarmee bedoeld wordt dat bovengenoemde problemen opgelost gaan worden. Het valt te hopen, maar voorlopig kenmerkt die discussie zich vooral door een onduidelijke definitie wat we daar nu wel onder moeten verstaan, of wat de eigenschappen van dat nieuwe internet nu wel of niet gaan worden.

Semantische netwerken

De semantiek van woorden kan worden opgelost door het geven van omschrijvingen, noodzakelijk ook weer in andere woorden, zoals woordenboeken dat doen met voorbeeld zinnen. Feitelijk levert dat homoniemen van woorden op waarvoor men (om ze te herkennen) een systematiek in de computer zouden moeten ontwikkelen zoals we nu een systematiek hebben om een letter “e” te onderscheiden van de diakritische letter “é” of “ë”. De betekenis omschrijvingen leveren voor woorden tenminste een context op die gebruikt kan worden, maar lost het probleem van de eigennamen niet op.
Een andere methode is om woorden in een betekenisdragend netwerk op te nemen. Dit is ook voor eigennamen een systematiek die soulaas brengt. Zo’n semantisch netwerk bestaat dan uit een verzameling van begrippen met betekenisdragende relaties tussen de begrippen in het netwerk. Zou wordt “Leidseplein” gekoppeld aan “Amsterdam” met een relatie die de betekenis heeft van “ligt in” of “is een straat”. Omgekeerd heeft de relatie natuurlijk een andere betekenis omdat betekenisdragende relaties meestal een richting hebben: “Amsterdam omvat de straat”, enz.

Ander voorbeeld “spectrum (nat)” heeft een relatie “is een verschijnsel van” “licht”. Of “Spectrum (bedrijfsnaam)” “heeft als activiteit” “uitgeven”.
Het moet mogelijk zijn dergelijke netwerken, zeker met de database van Google, voor een groot deel automatisch op te bouwen. Maar geheel zonder menselijke tussenkomst zal het voorlopig nog wel niet lukken. Immers zo’n semantisch netwerk (te vergelijken met de oude thesauri uit de bibliotheek en documentalisten wereld) is per definitie een gecontroleerd begrippenapparaat met gecontroleerde betekenissen van relaties. Een hele klus dus.

Search Engine Optimizing (SEO)

Zelfs als men niet twijfelt over dat we het probleem van relevantie op een hoger niveau weten op te lossen, zullen we daar nog wel enige tijd op moeten wachten. Gevonden worden door de zoekmachines blijft daardoor vooral een zaak van het optimaliseren van de inhoud van de webpagina’s. Veel van de problemen van de semantiek en relevantie lossen zich op door in de tekst met de taaleigenaardigheden rekening te houden. Het kiezen van de juiste trefwoorden, het geven van de juiste context van woorden, het opnemen van misspellingen en synoniemen, en zorgvuldig creëren van de wolkjes van aan elkaar verbonden trefwoorden zal uiteindelijk bepalen hoe relevant je gevonden wordt door de gebruiker die vaak ook (potentiële) klant is.
Mijn overtuiging is dat niet het oplossen van technische zaken in de HTML-code door een SEO-bureau, van doorslaggevende betekenis is voor een hoge Google-ranking, maar de slimheid waarmee de woorden in teksten en kopjes worden gerbuikt. Als men dat goed doet, heeft men ook betere kansen in het eens komende Semantic Web.