in Kurs

Information Retrieval II – Maskininlärning för bibliotekarier?

Efter den utmärka Information Retrieval for Digital Libraries I som inledde masterprogrammet tog det ett tag innan vi kunde fördjupa oss ytterligare inom ämnet. Om den första delkursen kunde sammanfattas som ”Vad händer när vi Googlar?” så kanske underrubriken till delkurs två skulle kunna lyda ”Maskininlärning för nybörjare”.

Jag antar att de flesta som håller sig à jour med samhällsutvecklingen vad någonting om maskininlärning. Lite förenklat kan maskininlärning beskrivas som en metod där datorer känner igen mönster i data och som sedan kan dra slutsatser från dessa mönster. Ett ämne som befinner sig i gränserna mellan statistik och datavetenskap, maskininlärning hittar vi i allt från Trelleborgs socialförvaltning, till självkörande bilar och Nicholas Cage.

Till skillnad från den första delkursen i Information Retrieval utgör fortsättningen av både teoretiska och praktiska (hurra!) delmoment. Det teoretiska delmomentet går mest ut på att ge en grundläggande förståelse för hur maskinell klassificering av data (i form av text) fungerar. Efter kursen har man en rätt så bra förståelse för vad ’övervakad’ och ’oövervakad’ maskininlärning. Man får även grundläggande kunskap om ett antal olika algoritmer som används för att klassificera text, som ’Decision Trees’, ’k-NN’, ’Rocchio’-metoden, ’Naive Bayes’, ’Word2Vec’, ’Support Vector Machines’ och ’Ensemble’-algoritmer.

Hur kul det än är att läsa om algoritmer är det mycket roligare att faktiskt implementera dem i ett riktigt scenario och på riktig data! Genom programmeringsspråket och analysverktyget ’R’ skulle vi se om vi kunde klassificera ett urval texter bättre än vad man skulle kunna göra manuellt. Här har vi hela poängen bakom maskininlärning. Kan en dator lyckas göra något bättre och/eller snabbare än vad vi människor kan göra?

Trots att det teoretiska kursmomentet var större högskolepoängs-mässigt ägnade jag mest tid åt att leka runt i R med den ’dataset’ vi skulle klassificera. Kursen gjordes betydligt lättare av att vår lärare hade skrivit de programmeringsskript som vi skulle använda. Vi gjorde bara ändringar i skriptet för att se om vi kunde göra den ännu bättre. Att använda ’R’ som ett analysverktyg istället för Python är tacksamt. Det som är bra med ’R’ är att du måste inte kunna någonting om programmering för att använda det som ett analytiskt redskap.

Ju mer jag fick lära mig om maskininlärning under kursen desto tydligare blev det hur relevant ämnet är för bibliotek. På verksamhetsnivå skulle man kunna använda sig av maskininlärning för att kunna förutspå vilka dagar man kommer att behöva en timmis. Även för mera avancerade saker, som att skapa rekommendationssystem för sina låntagare skulle man (i teorin i alla fall) kunna genomföra med lite hjälp från ML.