Joakim Edlund

Kognitiv sökmotoroptimering

Sammanfattning

Användandet av sökmotorer är idag en vanlig metod för att navigera genom information. Det akademsika området informationssökning studerar metoder för att hitta dokument inom stora ostrukturerade samlingar av dokument. Det finns flera standardlösningar inom området som ämnas att lösa problemet. Det finns även ett flertal mer avancerade tekniker, ofta baserade på maskininlärning, vars mål är att öka relevansen hos resultaten ytterligare. Att välja rätt algoritm är dock inte trivialt och att avgöra vilken som ger bäst resultat kan tyckas vara svårt. I det här projektet används en ofta använd sökmotor, elasticsearch, i dess standarduppsättning och utvärderas mot vanligen använda mätvärden inom informationssökning (precision, täckning och f-värde). Efter att standaruppsättningens resultat har etablerats så implementeras en frågeutvidgninsalgoritm (query expansion), baserad på Word2Vec, och en rekommendationsalgoritm baserad på collaborative filtering. Alla tre modellen jämförs senare mot varandra efter de tre mätvärdena. Slutligen implementeras även en kombinerad modell av både Word2Vec och collaborative filtering för att se om det går att nyttja båda modellernas styrkor för en ännu bättre modell. Resultaten visar att både Word2Vec och collaborative filtering ger bättre resultat för alla mätvärden. Resultatförbättringarna kunde verifieras som signifikant bättre efter en statistisk analys. Collaborative filtering verkar prestera bäst när man endast tillåter ett fåtal dokument i resultatmängden medans word2vec blir bättre desto större resultatmängden är. Den kombinerade modellen visade en signifikant förbättring för resultatmängder i storlekarna 3 och 5. Större resultatmängder visade dock ingen förbättring eller till och med en försämring gentemot word2vec och collaborative filtering.