2.Sökmotorer

Nedanstående är ett kapitel som kommer ifrån boken Effektivare informationssökning på webben (2007) och som i vissa delar har uppdaterats.

Sökmotorerna är den mest använda typen av söktjänster. Att söka information via Google har till och med blivit ett verb – googla. Att googla har kommit att betyda sökning i en sökmotor, inte endast i Google. De största sökmotorerna är:

Vad är egentligen en sökmotor?

En sökmotor är en söktjänst som automatiskt indexerar webbsidor och andra filtyper i viss utsträckning. Sökmotorer är datorprogram som läser webbsidor på Internet och sparar ned dem i en databas. När du söker i en sökmotor så söker den i sin databas efter relevant material som den sedan presenterar för dig.

Att skriva in ett eller ett par sökord i rutan i Google är inte så svårt, vad är det för poäng med att förstå hur en sökmotor fungerar? Om man vill ha ut lite mer av sin sökning, söka effektivare eller få precisare träffar, så krävs det förståelse för hur en sökmotor arbetar. Med fördjupad sökmotorkunskap kommer också insikten i vad man kan förvänta sig av sökmotorer och hur olika sökmotorer kan vara, både tekniskt och i praktiken. Det är inte alls givet att de indexerar samma saker eller att de rankar eller presenterar sponsrade länkar på samma sätt. När man inser sökmotorernas svagheter förstår man de andra söktjänsternas styrkor. Sist men inte minst så krävs en viss kunskap i hur sökmotorer fungerar för att för stå vad den osynliga webben är för något, allt det som inte finns med i sökmotorerna.

Hur fungerar en sökmotor?

En stor sökmotor som Google är ett komplext system som består av tusentals datorer. För att man som användare ska få en bra bild av hur en sökmotor fungerar kan den delas i tre delar:

  • Spindeln – hittar och samlar in webbsidor
  • Indexeraren – indexerar och lagrar webbsidor
  • Frågebehandlaren – levererar sökresultat

Spindeln

Spindeln följer och samlar in länkar. Innan du kan hitta informationen i sökmotorn måste sökmotorn själv hitta den. Spindeln är ett litet program som ständigt är ”ute på nätet” och hittar nya sidor för sökmotorn att indexera, dvs. lagra i databasen. Spindeln fungerar ungefär på samma sätt som du och jag när vi är ute och surfar. Den följer länkar som den hittar och webbsidorna laddas hem till sökmotorn (vi gör samma sak i vår webbläsare). De nya hemladdade webbsidorna, adresserna, skickas till indexeraren där de läggs på kö för indexering. Spindeln hittar inte bara nya webbsidor, utan den återbesöker också regelbundet de sidor som redan finns i sökmotorns index för att hålla sin databas uppdaterad.

Två saker skiljer spindeln från dig och din webbläsare. Spindeln kan följa länkar baklänges, dvs. den kan följa länkar som leder till en sida, inte bara länkar som leder därifrån. Spindeln kan också ladda hem tusentals sidor samtidigt, inte bara en i taget som vi är tvungna att göra.

Hur hittar sökmotorerna webbsidorna? En ny sökmotor ”matas” med en adresslista till existerande webbplatser. Sedan beställer spindeln hem webbsidorna i listan och skickar dem vidare till indexeraren, men samtidigt letar den efter länkar till andra webbsidor. Hittar den länkar till andra sidor läggs de till i spindelns besökslista. Till en del sökmotorer går det också att anmäla adressen till sin webbplats för att sökmotorn ska hitta och indexera den. När det gäller återbesök på redan indexerade sidor utgår spindeln från de adresser som finns i indexet.

Spindeln kallas även robot på svenska och på engelska spider, robot eller crawler.

Indexeraren

Indexeraren är den del som hämtar in webbsidorna, delar upp dem och lagrar dem i indexet (databasen). I indexet lagras på vilken webbsida varje ord återfinns och var på sidan det står, oavsett om det handlar om vanlig text, rubriker, bildtexter (den så kallade alt-taggen) eller länkar som lagras. Sökmotorernas index är uppbyggt på samma sätt som indexet som finns längst bak i en bok. Varje ord hänvisar till de sidor där de förekommer.

Storleken på indexet är en viktig konkurrensfaktor mellan de olika sökmotorerna. Större är oftast bättre. I skrivande stund innehåller Googles index mer än tre gånger fler webbsidor än Yahoo!s (enligt Google själva) och Yahoo!s senaste siffra var runt 20 miljarder (2005).

Vissa sökmotorer, bl.a. Google, sparar ner en kopia av den indexerade webbsidan. Det är kopian du får se om du väljer länken Cachad i Googles träfflista. Om den verkliga webbsidan inte är tillgänglig för tillfället kan den cachade sidan vara en utväg. Men den cachade sidan kan vara långt ifrån aktuell. Det kan ha gått flera månader sedan sökmotorn indexerade webbsidan senast. Ibland står det datum på den cachade sidan och då vet du när sökmotorn besökte sidan senaste gången.

Frågebehandlaren

Frågebehandlaren är den del som du som sökare möter. Den bearbetar sökfrågan (dina sökord), beräknar relevans och presenterar resultaten (dvs. skapar en träfflista för just din sökfråga). Det är i denna del som de olika sökmotorerna skiljer sig mest åt. Varje sökmotor har ett unikt (och hemligt) sätt att bestämma relevansen och skapa träfflistor. Somliga hävdar att det är därför som Google blivit så populärt, användarna upplever att de får bra träfflistor som svar på sina sökningar. Samtidigt var Google först med en ren och reklamfri söksida (som också används som förklaring till Googles popularitet).

Fig. Sökmotorers uppbyggnad

Olika programmering

Alla tre delarna i sökmotorn kan programmeras på olika sätt. Exempel:

  • Spindeln prioriterar vissa länkar framför andra när den samlar in dem.
  • Indexeraren tar inte med all information på webbsidan, kanske bara de första 100 raderna eller ett visst antal kilobyte. Google indexerade tidigare bara 101 kb och Yahoo! 500 kb.
  • Hur frågebehandlaren beräknar relevansen är en avgörande skillnad mellan sökmotorerna.

Genom att ägaren gör alla dessa val vid programmeringen av sökmotorn blir varje sökmotor unik. Den får ett eget beteende med styrkor och svagheter. Om du försöker använda två eller tre sökmotorer regelbundet lär du känna dem och kan utnyttja deras styrkor. Och du inser hur olika de är.

Exempel på regler vid insamling och indexering av länkar
  • Sökmotorn återbesöker sidor enligt visst schema. Populära sidor besöks dagligen, medan obskyra och udda sidor kanske aldrig återbesöks.
  • Vissa typer av sidor är svåra eller omöjliga att ”spindla” (eng. crawl), t.ex. sidor med ramar eller svår kod (alla stora sökmotorer indexerar idag ramar).
  • En webbansvarig kan utnyttja möjligheten att hindra spindeln från att besöka eller indexera bestämda sidor (robots.txt eller metataggen robots).
  • Vissa sökmotorer tar bort sidor ur databasen, bl.a. pga. platsbrist.

Man kan analysera hur en webbsida fungerar gentemot en sökmotorspindel, bl.a. i så kallade “spindel-simulatorer”.

Sökmotorernas inverterade index

Sökmotorerna lagrar de indexerade webbsidorna i ett inverterat index. I indexet finns hänvisningar till de sidor där sökordet förekommer.

Exempel inverterat index

Sökmotorn har indexerat 32 sidor och ordet amazon förekommer på sidorna 2, 7, 11, 12 och 30. Volvo däremot förekommer på sidorna 4, 8, 12, 15 och 24.

I indexet ser det ut så här:
amazon: 2, 7, 11, 12, 30
volvo: 4, 8, 12, 15, 24

En sökning på:
amazon ger sidorna: 2, 7, 11, 12, 30
volvo ger sidorna: 4, 8, 12, 15, 24
amazon OR volvo ger sidorna: 2, 4, 7, 8, 11, 12, 15, 24, 30
amazon AND volvo ger sida: 12

Begreppen OR och AND beskrivs mer i kapitel 8 om sökteknik.

Hur relevansen/rankningen beräknas

Sökmotorernas rankning beräknas på liknande sätt, men alla har en egen hemlig formula. En mängd olika faktorer vägs samman på ett för sökmotorn unikt sätt och utifrån beräkningen skapas en träfflista. De flesta faktorerna har med sökorden att göra, som hur många gånger de förekommer på de olika sidorna. Sökmotorerna tittar också på hur många som länkar till respektive sida och varifrån länkarna kommer. Vanliga faktorer är:

Antalet förekomster (ordfrekvens)

Om sökordet förekommer 30 gånger i ett dokument så handlar detta troligtvis mer om det eftersökta ämnet än ett dokument där ordet bara nämns en gång.

Förekomster/dokumentstorlek (ordtäthet)

Om sökordet förekommer 20 gånger i ett dokument på 1000 ord så är det troligtvis mer om ämnet i detta dokument jämfört med om sökordet förekommer 20 gånger i ett dokument på 10 000 ord.

Övergripande sällsynthet för sökordet (omvänd dokumentfrekvens)

Detta är ett sätt att mäta hur viktigt ett ord är. Ju färre gånger ett ord förekommer i databasen (dokumentsamlingen), desto viktigare eller unikare är ordet.

Närhet (proximitet)

I sökningar på flera ord är ett kortare avstånd mellan sökorden i dokumentet generellt ett tecken på högre relevans.

Var sökordet återfinns

Om ett ord står i dokumentets titel eller filnamn är det troligt att dokumentet i större utsträckning handlar om ämnet än vad ett dokument med ett annat namn gör. Gäller även om ordet finns i rubriker, första stycket, bildtexter osv. Ibland finns ordet bara i länkarna till sidan, inte på själva sidan, och det kan vara förbryllande när man inte hittar sitt sökord på sidorna i träfflistan.

Länkpopularitet

Hur många användare följer de olika länkarna? Länkpopularitet är inget sökmotorerna talar om idag, delvis för att man gått mot mer ”vetenskapliga” beräkningsmetoder. Tidigare var det en viktigare faktor i relevansberäkningen, men troligtvis tar alla sökmotorerna en viss hänsyn till länkars popularitet.

Länkanalys

Vad har länken för ”egenskaper”? Var kommer den ifrån? Hur beskrivs länken i länktexten? Ett exempel är Googles PageRank (se nedan), men alla stora sökmotorer analyserar länkar.

PageRank – Googles länkanalys

PageRank (PR) är namnet på Googles länkanalys. När Google lanserades 1998 var det den första sökmotorn med en mer avancerad länkanalys. Idag gör alla de stora sökmotorerna på ett liknande sätt.

Grunden för PageRank är:

  • En webbsidas kvalitet kan bedömas genom antalet länkar till sidan.
  • Inkommande länkar till en sida är viktigare än de utgående länkarna från sidan. (En sorts citeringsanalys.)

Utifrån de två punkterna ovan har ett beräkningssystem skapats för att få fram en webbsidas tyngd, dvs. hur viktig den är i förhållande till den övriga webben.

Google beskriver metoden på sin webbsida (www.google.se/corporate/tech.html):

”Istället för att räkna direktlänkar tolkar PageRank en länk från sida A till sida B som en röst för sida B från sida A. Sedan utvärderar PageRank en sidas betydelse efter antalet röster den fått.”

”PageRank värderar även betydelsen av den sida som röstar, eftersom röster från vissa sidor är värda mer, och på så sätt ger den länkade sidan mer värde. Viktiga sidor rankas högre och visas först i sökresultatet.”

I praktiken innebär det att en länk från en stor och känd webbplats (med hög PR) är viktigare än många länkar från okända sidor (med låg PR). Länkanalys och PageRank-förbättring är ett av de områden som s.k. sökmotoroptimeringskonsulter arbetar med för att förbättra en webbsidas placering i träfflistan (se vidare i kapitel 10).

I Googles verktygsfält visas PR som en siffra mellan 0 och 10 för de webbsidor man besöker. I Google Directory visas PR i form av en liten mätare (www.google.com/dirhp). Egentligen är PR ett logaritmiskt värde mellan 0 och 1 (som Richterskalan).

Rankning i Google

Vid sökning är PageRank-värdet bara en av många variabler som vägs ihop inför placeringen i träfflistan. Sammanvägningen görs av sökmotorns hemliga algoritm. Beräkningen är hemlig för att varje sökmotor vill prestera den mest relevanta träfflistan för användarna (och vinna marknadsandelar). Algoritmen är också hemlig för att ingen utomstående ska kunna manipulera sin webbplats för att hamna högt i träfflistan. Om man förstår hur t.ex. Google beräknar sin rankning kan man skapa en webbplats utifrån hur sökmotorn fungerar och därmed sätta sig över relevansberäkningen.

Fig. Illustration av Googles rankning.

Bilden av Googles rankning illustrerar hur mycket som vägs samman av den hemliga algoritmen. PageRank är bara en av många variabler, men hur viktig den är i praktiken vet bara Google.

Balansen mellan de olika delarna i den hemliga algoritmen förändras lite hela tiden av ovanstående nämnda orsaker, förbättring och hemlighållande.

Google beskriver en sökning i sin sökmotor med följande steg:

  1. Sökning i indexet efter alla de sidor som innehåller sökorden.
  2. Relevansanalys av de funna sidorna genom undersökning av var och hur ofta sökorden förekommer.
  3. Bedömning av webbplatsernas rykte, dvs. analys av vilka som länkar till respektive webbplats, där de funna sidorna finns, för att få fram användbarhet/popularitet. Google kallar bedömningen för PageRank (PR).
  4. Webbsidorna rankas genom att bedömningen av relevans (steg 2) och rykte (steg 3) räknas samman och Google gör därefter en träfflista efter den beräknade användbarheten.

Processen i sökmotorerna är densamma, så beskrivningen ovan skulle kunna gälla vilken sökmotor som helst.

Myter om sökmotorer

Det finns många myter om sökmotorer. De vanligaste är:

Sökmotorerna söker på nätet

Sökmotorerna söker inte på nätet, de söker i den databas (index) de skapat av webbsidor. Storleken på de olika sökmotorernas index har inte diskuterats de senaste åren. Den sista officiella siffran är från 2005 då Yahoo! hävdade att de indexerat 18 miljarder sidor. Därefter kontrade Google med att de var klart större, men inga exakta siffror nämndes.

Alla sökmotorer är lika

De olika sökmotorerna varierar kraftigt i flera avseenden:

  • Omfattningen (hur stort indexet är)
  • Uppdatering av indexet
  • Täckning av webben
  • De har olika ”personlighet”, styrkor/svagheter och fördelar/nackdelar
  • Hur de processar sökfrågor
  • Presentationen av resultaten (rankningen)

Sammantaget innebär det att sökmotorerna inte är lika. Vid sökning efter en specifik webbplats, t.ex. regeringens, så märks skillnaderna inte eftersom alla troligtvis toppar träfflistan med länken till webbplatsen. Men vid de flesta andra sökningar tjänar man på att söka i flera olika sökmotorer.

Sökmotorernas index är uppdaterade

Sökmotorernas index är inte helt uppdaterade av flera skäl:

  • Att spindla (crawla) webben är dyrt eftersom det krävs datorkraft.
  • Populärare sidor omindexeras oftare just för att fler besöker dem ofta, medan man sparar in på de mindre populära webbsidorna.
  • En äldre sida på en webbplats är indexerad, men länken i sökmotorn leder till en ny sida eftersom den äldre sidan har ändrats eller ersatts sedan indexeringen.

Väljer man cachad i Google eller cachlagrad sida i Live så står det när den nedlagrade sidan besöktes senast.

De olika sökmotorernas täckning överlappar

Hur stor överlappningen är mellan de stora sökmotorerna är en diskussionsfråga. Generellt gäller:

  • De stora sökmotorernas överlapp är mycket större när det gäller välbesökta, populära webbsidor än obskyra, sällan besökta sidor.
  • Överlappningen i indexen är större än överlappningen i träfflistorna eftersom sökmotorerna beräknar relevansen på olika sätt.
  • Om man söker efter populära ämnen behöver man inte tänka så mycket på sökmotorns täckning, men om man söker ovanliga ämnen ska man söka med flera sökmotorer.
  • De stora sökmotorerna täcker 5-10 % av den synliga webben (ingen vet säkert).
  • Sökmotorerna hinner inte med webbens explosiva tillväxt.
  • Sökmotorerna kan inte finna alla sidor på webben (en del sidor har inga till- och frånlänkar).
  • Varje sökmotor har egna regler som den följer när den samlar och indexerar sidor.

Sökmotorernas index är omfattande

Indexens storlek är en uppgift som hålls inom sökmotor-företagens väggar. Ibland uttalar sig en sökmotor och säger att nu har de indexerat x miljarder sidor. Troligtvis har Google, Live och Yahoo! mer än 20 miljarder sidor i sina index i skrivande stund (oktober 2007).

När ska du använda en sökmotor?

Några riktlinjer för när man ska använda en sökmotor listas nedan. I kapitel 5 finns fler råd i valet av söktjänst.

  • När du ska söka efter ett smalt eller udda ämne.
  • När du letar efter en specifik webbplats.
  • När du vill hitta speciella dokumenttyper, t.ex. i pdf-format.
  • När du vill söka i fulltexten hos många sidor.
  • När du vill få fram många dokument i ditt ämne.

Specialiserade sökmotorer

Specialiserade sökmotorer har eget index men är inriktade på olika sätt, dvs. de indexerar inte ”allt” som de stora sökmotorerna gör. Begränsningarna gör att de blir mer fokuserade och kan indexera mer material. Ibland kallas specialiserade sökmotorer för vertikala sökmotorer.

Ämne

Ämnesinriktningen kan vara allt från vetenskap till recept. Ett exempel är Scirus (www.scirus.com) som indexerar vetenskapligt material.

Tjänst

Fokuseringen kan vara bloggar eller nyhetssajter. Google blog search (http://blogsearch.google.com) är ett exempel på bloggsökmotor.

Filtyp

Sökmotorer kan även begränsas till enskilda filtyper, som pdf-filer eller mp3. Se vidare i söktjänstsamlingar, t.ex. :

Jämföra träfflistor

Jämförelser i Thumbshots rankning

Thumbshots.com har en användbar tjänst som jämför de hundra första träffarna vid olika sökningar i några sökmotorer – Thumbshots Ranking (http://ranking.thumbshots.com).

Fig. Thumbshots Ranking (http://ranking.thumbshots.com).

Betydelsen av sökordens ordning vid sökning i Yahoo! visas nedan. En omkastning av de två sökorden ger olika träfflistor.

Fig. Jämförelse mellan ”boeing 747” och ”747 boeing” i Google

Varje markerad punkt i de två raderna är en träff som återfinns i båda träfflistorna. Strecken mellan de markerade punkterna visar var motsvarande träff finns i den andra träfflistan. Omarkerade punkter är unika träffar för den träfflistan. I sökningen ovan är knappt 20 av de 100 träffarna unika, dvs. överlappningen är 82 procent. Bland de tio första träffarna överensstämmer rankningen ganska bra, men längre ner i träfflistorna blir skillnaderna större. Träff 1, 2 och 4 är unika i de två sökningarna, vilket är anmärkningsvärt.

Fig. Sökning på ”osynliga webben” i Google och Live (MSN).

Sökmotorerna har olika sätt att ranka träffarna. Ovan är en sökning på osynliga webben i Google och Live (MSN). Endast 27 procent av de första hundra träffarna i respektive träfflista överlappar mellan de två sökmotorerna.

Jämförelse i Jux2

Metasöktjänsten Jux2.com (http://jux2.com) söker i de tre största sökmotorerna, Google, Yahoo! och Live (MSN). I Jux2 kan man se vilka av toppträffarna som är unika och vilka som fattas i sökmotorerna i jämförelse med de två andra.

Precision och recall

Vid sökning finns det två mått på hur effektiv en sökning eller en söktjänst är, recall och precision. I en given dokumentmängd finns det ett bestämt antal dokument som är relevanta för en specifik sökfråga. Men det är långt ifrån alltid som det är just de dokumenten som återvinns.

Fig. Dokumentmängd med relevanta dokument, återvunna dokument och överlappningen.

Varje sökning ger ett antal återvunna dokument, där en del är relevanta, dvs. överlappningen mellan relevanta och återvunna i bilden ovan.

Precision är antalet överlappande dokument dividerat med antalet återvunna dokument. Helst ska precision vara hög för då innehåller de återvunna dokumenten få irrelevanta dokument.

Recall är antalet överlappande dokument dividerat med antalet relevanta dokument. När recall är högt så har en stor andel av de relevanta dokumenten återvunnits.

Helst ska både precision och recall vara höga för då levererar sökmotorn i stort sett bara relevanta träffar och samtidigt alla de relevanta träffarna i sitt index. Men i praktiken tar precision och recall till en viss del ut varandra. Ökas antalet träffar vid en sökning (högre recall) så ökar även antalet irrelevanta träffar (lägre precision).

Recall är som mått kanske inte helt relevant vid webbsökning då de flesta användare bara tittar på de första träffarna i träfflistan. Att en sökning ger elva tusen relevanta träffar kanske inte är intressant, snarare tvärtom. Det skulle nog stressa oss som sökare om vi visste att alla träffarna i Googlesökningen var relevanta för vår sökning.

Vid en sökning på webben är precision desto viktigare, speciellt bland de träffar på träfflistans första sidor, de sidor som verkligen tittas på.

2 comments for “2.Sökmotorer

Leave a Reply

Your email address will not be published. Required fields are marked *