| De video Search engines in Plain English van Lee Lefever geeft een goede inleiding in de werking van zoekmachines. |
Zoekmachines als Google en Yahoo geven webpaginas terug als antwoord op een zoekvraag. Vaak is datgene wat je zoekt niet direct een pagina maar kan je datgene waarnaar je op zoek bent wel weer op een webpagina vinden. Bijvoorbeeld, hoe oud de zangeres Madonna is.
Een veel voorkomende informatiebehoefte is dat je een persoon in je omgeving zoekt die je kan helpen bij XXX. In het Engels wordt dit vaak expert search en ook wel people search genoemd. In essentie is het heel simpel: je typt woorden in die een bepaald onderwerp goed beschrijven en je krijgt een lijstje met personen terug. Hiervan denkt de zoekmachine dat deze mensen expert zijn of een grote interesse hebben in het ingevoerde onderwerp.
Probeer het zelf eens op de zoekmachine naar EU parlementsleden. Neem als zoektermen "moslim", "Maffia", "Turkije" of "nederland". Zijn dat nou experts op die gebieden?
Van een zoekmachine wil je dat ie vindt waar jij naar zoekt, dat op de eerste pagina met zoekresultaten toont, en liefst zo hoog mogelijk. Zoekmachines doen hier erg hun best voor en natuurlijk proberen ook websites erg hoog in de Google-rangorde te komen, zeker als ze wat willen verkopen.
Hoe kun je nou de kwaliteit van een zoekmachine opmeten? Is er een maat waarmee je verschillende zoekmachines kunt vergelijken? Hier zijn verschillende maten voor ontwikkeld die ook echt door Google, Yahoo en alle anderen gebruikt worden. We behandelen er twee.
Zoals je zelf vast wel gemerkt hebt schommelt de kwaliteit van antwoorden van een zoekmachine nogal en is sterk afhankelijk van je zoekvraag. Daarom wordt er bij het vergelijken van zoekmachines vaak gekeken naar de gemiddelde P@10 en RR over een groot aantal vragen. Bij 100 vragen tel je dan alle P@10's voor elke vraag bij elkaar op en deelt dat door 100. Uiteindelijk krijg je dus weer een getal tussen 0 en 1.
Bereken de gemiddelde RR en P@5 over de volgende vier vragen.
| Vraag 1 | Vraag 2 | Vraag 3 | Vraag 4 |
|---|---|---|---|
| fout | goed | fout | fout |
| fout | fout | goed | goed |
| goed | fout | fout | fout |
| fout | goed | goed | fout |
| goed | goed | fout | fout |
Hieronder staan drie soorten zoekmachines. Geef voor elk van de drie aan of je nou beter de RR of de P@10 kunt gebruiken om de kwaliteit te bepalen. Leg ook steeds uit waarom.
Zoekmachines hebben het maar moelijk. Als je een rekenmachine bouwt is het heel makkelijk om te bepalen of de antwoorden die gegeven worden goed zijn: ze moeten kloppen met de wiskundige wetten. Met andere woorden: voor elke vraag aan een rekenmachine is er een duidelijk omschreven van te voren in theorie bepaald correct antwoord.
Bij vragen aan een zoekmachine is het helemaal niet altijd op voorhand duidelijk wat de goede antwoorden zijn. Hoe bepaal je dat dan? Je laat de antwoorden door mensen beoordelen! Die zijn tenslotte de gebruikers van zoekmachines. Maar wat dan als een antwoord door verschillende mensen verschillend wordt beoordeeld? Dit probeert men weer op te lossen door
Je wilt de leeftijd van Balkenende weten en typt de twee woorden
Balkenende leeftijd in Google in.
We zeggen dat een pagina relevant is voor deze zoekvraag als je zonder
te scrollen achter de leeftijd van Balkenende kan
komen. (Nb. Als er staat dat Balkende geboren is op 6
Augustus 1964 is dat natuurlijk een relevante
pagina.).
Ga naar Google, type de vraag in, en kopieer de antwoord pagina in een
tekstverwerker. Ga voor elk antwoord na of het relevant
is, en zet dat bij het antwoord in je
tekstverwerker. Markeer jouw deel duidelijk met een kleur.
Kopieer bij een relevant antwoord
het stukje uit de pagina waaruit zijn leeftijd
blijkt. Geef tenslotte ook de p@10 en de RR voor deze zoekvraag.
In de volgende opdracht meten we de intercodeursbetrouwbaarheid op. Dit is een maat die aangeeft in hoeverre een groep mensen hetzelfde denkt over de gegeven antwoorden op een vraag.
Stel je het volgende geval voor:
Je bent iemand die niet op jouw school zit. Je bent verliefd op iemand van
jouw school en wilt weten wat voor school dat is. Je typt de
naam van die school in Google in. We zeggen dat een Google-antwoord
relevant is als de pagina waarheen het antwoord verwijst je wat
over die school vertelt.
Type nu de naam van je school in en score de top 10 antwoorden als
relevant of niet. Let op: elk antwoord moet je op zichzelf
bekijken; dus niet antwoord 6 fout rekenen omdat je die
informatie ook al bij antwoord 3 had gekregen.
Lever de score in en bereken de p@10 en de RR.
Neem nu de score van iemand uit je klas en bereken de
intercodeursbetrouwbaarheid door simpelweg te tellen in
hoeveel van de 10 gevallen je hetzelfde antwoord had gegeven.
Lever de score in als percentage.
Vraag nu een derde erbij en bereken in hoeveel van de gevallen jullie
alledrie hetzelfde antwoord hadden. Maak een mooie tabel, en
lever het uiteindelijke antwoord in.
Voor we die vraag beantwoorden kijken we eerst nog even naar de best hoge scores die de politieke zoekmachine kreeg. Stel dat we een gemiddelde reciprocal rank vinden van (1+ 1/3)/2= 2/3=0.66. Is dat nou goed? Om die vraag te beantwoorden kan je het vergelijken door wat je zou krijgen door puur te gokken.
Voor we verder gaan halen we eerst even wat kansberekening bij je op:
Een P@10 van .6 is dus al een erg goede score. Hoe krijgt die zoekmachine dat voor elkaar? Eigenlijk is het idee heel simpel en precies hoe een koppelaarster werkt. Een koppelaarster die personen aan personen koppelt doet voor iedereen in haar boekje het volgende:
Het koppelen van een onderwerp aan een persoon is eigenlijk niks anders dan het koppelen van 2 personen. Stel je voor dat jij het onderwerp bent. Als jij bij een koppelaarster komt vraagt ze je om jezelf te beschrijven. Op basis daarvan maakt ze een profiel van jou. Vervolgens zoekt ze in haar lijst met mogelijke koppelkandidaten diegene wiens profiel het best bij jou (eigenlijk: bij jouw profiel) past.
Het bouwen van profielen voor politici is best makkelijk want alles wat een politicus in de Tweede Kamer zegt wordt opgenomen en uitgetypt. De makers van de zoekmachine hoefden dus alleen alles wat een kamerlid zei achter elkaar te zetten en op basis daarvan zijn of haar profiel te maken. We zullen nu zien dat jullie zelf ook best makkelijk zo'n zoekmachine kunnen maken.
Voordat we een zoekmachine kunnen maken moeten we eerst gegevens
verzamelen. Dat doen we in de laatste opdracht van deze week.
In de volgende les zullen we dan gaan zoeken in verzameling door jullie
ingevoerde personen.
Van elk persoon hebben we het volgende nodig:
Ga naar deze
pagina.
Hier ga je de gegevens van jouw personen invoeren in de database.
Het systeem is zo opgezet dat er voor iedere klas een eigen database
gemaakt kan worden. Nu doen we echter alles bij elkaar: dus kies
als school atc-cc-gg-rhc en als klas
maartenmarx. Vul nu je eigen naam en emailadres in, en
geef de gegevens voor minstens drie experts op. Zorg
vooral dat je flink wat tekst in het Data veld plakt. (doe dat
gewoon met Control C-Control V).
Alle ingevoerde personen kan je terugvinden op deze pagina.
Welke personen moet je nou kiezen? In ieder geval jezelf! Dat
is het meest belangrijkste persoon op aarde. Voor de andere
ben je helemaal vrij. Het leukste is om iemand te nemen die je
goed kent, je moeder, je zus, je vriend of vriendin, die ene
meester die zichzelf zo te gek vind, de burgemeester, .....
Zorg wel dat je flink wat teksten over die persoon kunt verzamelen.
Als je ideëen hebt om een serieuze persoonszoekmachine te beginnen kan je contact opnemen met maartenmarx@uva.nl en gebruik maken van hetzelfde zoeksysteem naar personen als gebruikt is voor de politici.
Update 2009-09-11: Zo'n zoekmachine is ondertussen ontwikkeld voor de Europese verkiezingen. Zie deze zoekmachine waarin gezocht werd naar EU-parlementsleden die gaan over onderwijs ("school"). En als je vanaf nu opeens allerlei aanbiedingen krijgt van spullen die perfect bij je passen, dan gebruikt de afzender vast je profiel....