Tästä Github-repositorysta löytyy skriptejä joilla voidaan analysoida Ylen vuoden 2015 Vaalikone-vastausten avoimia kysymyksiä n.s. Latent Dirichlet Allocation-menetelmällä. Lopullista visualisaatiota voi tarkastella tästä linkistä (Github ei ainakaan kirjoittamishetkellä pystynyt renderöimään interaktiivisia notebookeja).
Analyysin lähdedatana käytetään Ylen avoimeksi tekemää Vaalikone-dataa. Tästä datasta olen käyttänyt versiota joka löytyy avoindata.fi-sivuilta.
Avoindata.fi:n hostaamaan aineistoon on eksynyt yksi enkoodaus-virhe joka piti korjata käsin jotta .csv-tiedoston pystyisi onnistuneesti lukemaan utf-8-enkoodauksella. SDP:n Raimo Piiraisen vastauksesta (vastausid 4798, rivi 1358) pitää poistaa merkki 伋 joka löytyy aika loppupuolelta Piiraisen vastauksia (tekstinpätkän vaan ilmastonmuutoksen hyväksi on työskenneltävä pitkällä aikavälillä
jälkeen ja ennen pätkää Nykyisille periaateluvan saanneille ydinvoimaloille
). Kun tämä virhe on korjattu, sijoita .csv-tiedosto nimellä vaalikone_data_fix.csv
data-kansioon.
##Kirjastot
gen_model.R
-skripti käyttää kirjastoja tm
, RWeka
, lda
,LDAvis
ja jsonlite
. Kaikki nämä kirjastot voi asentaa CRAN:ista, eli esim. ajamalla R-konsolissa koodinpätkä
install.packages('tm') install.packages('RWeka') install.packages('lda') install.packages('LDAvis') install.packages('jsonlite')
Jupyter notebook-tiedosto vaalikone_lda.ipynb
käyttää kahta kirjastoa jotka eivät kuulu Pythonin standardikirjastoihin, eli numpy
- ja pyLDAvis
. Lisäksi Jupyter-notebookin ajamiseen tarvitaan ipython
. Ehkä helpoin tapa asentaa tarvittavat python-kirjastot on Anaconda-distron kautta. Tuo distro sisältää itsessään jo numpy
- ja ipython
-kirjastot, ja puuttuvan pyLDAvis
-kirjaston voi asentaa esim komennolla pip install pyLDAvis
.
Omissa yritelmissäni vaikutti siltä ettei pyLDAvis
oikein toimi Windowsilla, mutta esimerkiksi Ubuntu 14.04 LTS:llä kirjasto vaikuttaa toimivan ihan niin kuin pitää.
- Korjaa lähdedata
Data
-osion ohjeiden mukaan ja sijoita nimellä nimellävaalikone_data_fix.csv
data-kansioon. - Aja
gen_model.R
-skripti. Tässä menee sellaiset 30-60 min. Ajoa voi nopeuttaa huomattavasti pienentämälläK
- jaG
-parametrien arvoja riveillä 60 ja 61. - Siirry
vaalikone-lda
-kansioon ja käynnistä Jupyter notebook komennollaipython notebook vaalikone_lda.ipynb
.