Tags

, , , , , , , , , ,

Igår hade jag det stora nöjet att få hålla en introduktionskurs i programmeringsspråket Python med fokus på textanalys för en forskargrupp inom digitala metoder. Gruppen leds av Pelle Snickars som är professor i medie- och kommunikationsvetenskap med inriktning mot digital humaniora på institutionen för kultur- och medievetenskaper vid Umeå universitet.

De flesta av deltagarna har testat att skriva lite Python-kod främst med hjälp av MITs öppna kursmaterial på webben, men några hade aldrig tidigare öppnat kommandotolken på sin dator och ett par var systemutvecklare som jobbar med att hjälpa forskarna på plats och var nyfikna på Python.

Målsättningen med utbildningen var att komma över den första tröskeln som är att överhuvudtaget få igång en bra miljö för Python-kodande om man är forskare. Det innebar att jag satte ribban en bit högre än att helt sonika använda det inbyggda Python i Mac OS X.

Dels gav jag instruktioner för hur man installerar den vetenskaps-orienterade Python-distributionen Anaconda inklusive iPython och Jupiter Notebook. Därutöver rekommenderade jag att man installerar Python 3.5 för att få Unicode som default i alla strängar. På så sätt slipper man en massa onödig huvudvärk när man arbetar med text på svenska eller text från sociala medier som ju ofta innehåller en mängd emoticons och andra oförutsägbara tecken på grund av retweets etc.

Jag spelade in en screencast av föreläsningarna, men tyvärr hände nåt med ljudet efter några minuter så ni får nöja er med presentationerna och koden från övningarna.

Första delen av kursen: Första steget i Python

I nästa delmoment gick jag närmare in på text, det vill säga strängar i Python. Här är tanken att ge en mycket kortfattad och bra grund för att förstå det som man så ofta fastnar på när man börjar arbeta med text i Python. En av kursdeltagarna, som själv inte har ambitionen att lära sig koda på egen hand, sa att detta var en ögonöppnare för hur interaktionen mellan beställaren av kodhjälp och programmeraren kan bli smidigare genom att förstå vilka avvägningar man måste börja med att göra när man vill få en textmängd analyserad. Det går alltså lika bra att följa med i kursen för att bli en bättre beställare av kodning som för att utveckla sig själv som kodare!

Andra delen av kursen: Sträng-teori – introduktion till textanalys i Python

Slutligen fick alla deltagare pröva att ladda ner en mapp innehållande en förberedd Jupiter Notebook och lite samplade tweets från twitterkonton @SvDKultur. Syftet var att demonstrera fördelarna med att använda en notebook för att skriva kod tillsammans med löptext och inbäddade bilder och framförallt för att lätt kunna dela sina forskningsprojekt med andra forskare. I notebooken har jag skrivit en mängd bonus-kod som till exempel innehåller grundläggande och användbara kodfärdigheter som loopar och regular expressions. Eftersom det finns både kod och skarp data att testa den på hoppas jag att det ska vara ett snabbt sätt att komma igång och lära sig mer om vanliga handgrepp för analysera text från sociala medier.

Koden finns på min github, det är bara att klicka på ikonen Download ZIP och packa upp den zippade filen där du sparar den och köra enligt instruktionerna i första delen av kursen.

Kom gärna med feedback på materialet i kommentarsfältet om ni hittar nåt fel så att jag kan uppdatera bilderna, eller om det är nåt annat som kan förbättras genom at tas bort, bytas ut eller läggas till.

Stort tack till deltagarna och för förtroendet att få vända min relativt nyligen kända rädsla för att skriva kod till en hjälp för andra att komma igång!