RSS hallitsee

Taisipa vihdoinkin löytyä se konsti, jolla saan RSS:t luettua minua miellyttävällä tavalla. Yhtä jos toista viritystä olen kokeillut: AmphetaDeskiä, NewsMonsteria, Syndirellaa, nntp//rss:ää

Nyt löysin, kiitos Spielfrieks-listalla käydyn RSS-keskustelun, Aaron Schwarzin rss2email-skriptin. Se lukee RSS-feedit ja lähettää viestit minulle sähköpostilla. En tarvitse mitään ulkoista ohjelmistoa, vaan voin lukea viestit suoraan sähköpostiohjelmastani. Sähköpostin suurena ystävänä pidän keksintöä nerokkaana (nntp//rss toimitti RSS-virrat news-muodossa Mozillalla luettavaksi, mutta on vaivalloisempi käyttää).

Skripti vaati vähän asennusvaivaa, ennenkaikkea siksi, että Nebulan palvelimella oli vanha versio pythonista (mutta osasin asentaa uuden ihan itse, vaikka se piti kääntää lähdekoodeista). Nyt se toimii automaattisesti cronin avulla, joka aamu kello kahdeksan se lähettää uudet kirjoitukset minulle. Mihinkään ei tarvitse koskea, ellen halua lisätä tai poistaa lähteitä. Sekin onnistuu helposti yhtä tekstitiedostoa muokkaamalla (ja siihenkin voisin koodata jonkun web-käyttöliittymän, niin ei tarvitse käydä SSH:llä säätämässä – vaikka en kyllä tiedä, kumpi on lopulta yksinkertaisempaa).

Joo. Nörtti mikä nörtti. Eilen muuten vihdoin ja viimein sain aikaiseksi virittää Suomen Diplomacy Seuran nettisivuille editoitavan toimintasivun. Sivulla näkyy ”muokkaa”-linkki. Sitä klikkaamalla pääsee vapaasti muokkaamaan sivun sisältöä – olettaen, että tiedossa on salasana. Kehitin mielestäni aika nokkelan systeemin, jossa tietokantaan säilötään kaikki aikaisemmat versiot, joista minkä tahansa voi palauttaa helposti, jos joku sattuu mokailemaan. Näin ollen minun ei tarvitse itse tehdä kaikkia muutoksia, vaan muutkin voivat sivuja säätää.

Pizzaa

Vaihtelua mansikkajutuille: pizzataikina on nyt kohoamassa. Kohoamisen jälkeen se päätyy jääkaappiin lepäämään ja joskus kolmen maissa pyöräytän siitä pizzan. Resepti on perinteinen Penninvenyttäjän keittokirjan resepti, korvasin tosin osan vehnäjauhoista durumjauhoilla. Täytteiksi on tiedossa tomaattipyrettä, salamia, herkkusieniä, ananasta ja mozzarellaraastetta.

Minusta olisi jotenkin syvällisen väärää ostaa valmiita pizzapohjia kaupasta. Pizzataikinan tekeminen on leppoisaa ja helppoa. Vaivattavaa ei ole paljoa, verrattuna vaikkapa pullataikinaan tai pastataikinaan.

En ole viime aikoina leiponut juuri muuta kuin pizzapohjia. Pitäisi, pitäisi. Viikonloppuna Johannan vanhempien mökillä käydessä kopioin reseptejä Kotiliedestä ja keittokirjasta. Tiedossa on siis pitaleipiä, nan-leipiä, focacciaa ja pizzaleipää. Kotilieden pizzaresepti on mielenkiintoinen: vettä, hiivaa ja öljyä tulee saman verran kuin tavallisessa reseptissä, mutta jauhoja yli tuplaten. Reseptistä tulee neljä pizzaa. Mielenkiintoista.

Pizzakutsut voisi järjestää joskus, jos saisi aikaiseksi. Asiasta innostuneet kaverit saavat yllyttää.

Pizzanystäville lisävinkki: Mamma Mia! on suorastaan maukas korttipeli, jossa pelaajat väsäävät pizzoja kilpaa. Suosittelen!

Julkaistu
Kategoria(t): Ruoka

Mansikoita!

Päivän operaatio #1 oli mansikkalaatikon pakastaminen. Siivoamiseen ja pussittamiseen meni noin puolitoista tuntia, tuloksena jotain parikymmentä mansikkapussia pakkasessa ja kulhollinen mansikoita jääkaapissa. Niillä pärjännee talven.

Todettakoon myös kuriositeettina: sain tänään ensimmäisen saksankielisen nigerialaiskirjeen. Lord Abraham se siellä tuskailee, mitä tehdä 8,5 miljoonalla dollarilla.

Seuraava operaatio olisikin sitten pizzataikinan tekeminen.

Julkaistu
Kategoria(t): Ruoka

Text retrieval and filtering

Aamupäivästä kaksi ja puoli tuntia meni kouluhommissa. Tajusin viikonloppuna että minulla on noin kaksi viikkoa aikaa ennen kesän toista kirjatenttiä (informaatiotutkimuksen So1c eli Tiedonhaun matemaattiset menetelmät – ensimmäinen kurssini pääaineen syventäviä). Niinpä lukuaikataulu on melko kiivas, pari lukua päivässä pitäisi selvittää.

Tänään urakka alkoi Robert M. Loseen kirjalla Text Retrieval And Filtering, jossa käsitellään erilaisia analyyttisiä malleja tekstin hakuun ja suodattamiseen liittyen. Tänään käsittelemieni lukujen aiheena olivat kvantitatiiviset järkeilymallit ja samankaltaisuuden vaikutus hakupäätöksiin. Igh. Aihe oli yllättävänkin mielenkiintoista. POPFileä jo jonkun aikaa hyvällä menestyksellä käyttäneenä oli kiinnostavaa tutustua Bayeslaisiin metodeihin. Samankaltaisuusosastolla on tuttua vektorimallia ja Boolen logiikkaa, mutta myös hieman syvällisempää juttua.

Bayesistä vielä. Kyse on siis siitä, että voidaan tehdä arvauksia dokumenttien relevanssista eli hyödyllisyydestä. Tiedonhaussa siis siitä, onko joku dokumentti hyödyllinen ja POPFileä käytettäessä siitä, mihin sankoon viesti pitäisi lajitella. Bayesin metodeja käyttäen voidaan laskea, mikä on todennäköisyys, että dokumentti on relevantti, jos siinä esiintyy termi x. Menetelmä on itse asiassa varsin yksinkertainen.

P(x) tarkoittaa tapahtuman x todennäköisyyttä. P(x|y) tarkoittaa tapahtuman x todennäköisyyttä, jos ehto y on voimassa. P(relevantti|termi x) on siis todennäköisyys, jolla dokumentti on relevantti, jos termi x esiintyy dokumentissa. Jos tiedettäisiin kaikkien tietokannassa olevien dokumenttien relevanssi, mitään ongelmaa ei olisi. Koska tällaista tietoa ei kuitenkaan ole, joudutaan turvautumaan arvioihin aikaisemman tiedon pohjalta. Lähdeaineistona käytetään siis aikaisemmin haettujen dokumenttien relevanssia. POPFile esimerkiksi pitää kirjaa siitä, mitä sanoja eri sankoihin kuuluvissa dokumenteissa on käytetty. Mitä enemmän tietoa kertyy, sitä tarkempia arvioita voidaan tehdä.

Mutta, kaava peliin: P(relevantti|termi x) = P(termi x|relevantti) P(relevantti) / P(termi x). P(termi x|relevantti) on siis todennäköisyys, jolla termi x esiintyy, jos dokumentti on relevantti. Tämä on helppo laskea. Samoin todennäköisyydet P(relevantti) (relevanttien dokumenttien osuus kaikista) ja P(termi x) (termi X:n esiintyminen dokumenteissa).

Selvennän asiaa esimerkillä. Käytettäköön esimerkkinä vaikkapa spämmiä lajittelevaa järjestelmää. Tietokannassa on 100 viestiä, joista 20 ei ole spämmiä (negatiivinen, mutta totuudenmukainen lähtökohta). Termi x (sanotaan nyt vaikka sana "viagra") esiintyy 43 kaikista 80 spämmiviestissä ja kahdessa muussa viestissä. Järjestelmään saapuu nyt viesti, jossa sana "viagra" esiintyy. Voidaan siis laskea tämän tiedon pohjalta todennäköisyys, jolla kyseinen viesti on spämmiä.

P(spämmiä|"viagra") = P("viagra"|spämmiä) P(spämmiä) / P("viagra") = (43/80 * 80/100) / (45/100) = 0,96 eli sanan "viagra" esiintyminen leimaa viestin 96% todennäköisyydellä spämmiksi. Tietysti oikea järjestelmä summaisi todennäköisyyksiä hieman useamman sanan perusteella ja tekisi johtopäätöksensä siitä, mutta periaate on kuitenkin tämä.

Tarkoituksenani olisi kehitellä jossain vaiheessa huvin ja hyödyn vuoksi järjestelmä, joka lajittelisi OOOOO-postituslistalle saapuvat viestit kiinnostaviin ja epäkiinnostaviin. En nykyään jaksa lukea ko. listaa, mutta jos joku järjestelmä suodattaisi listaviesteistä kiinnostavat, voisin viestejä lukeakin. Onnistuisihan tuo POPFilellä, vaan en viitsi sotkea hyvin toimivaa järjestelmää uusilla luokitteluilla. Ja käyhän tuo koodausharjoituksesta, se kai lienee yhtä olennaista.

Saas nähdä, jos joku päivä innostun selittämään vektorimallia. Siitäkin pitäisi kehitellä oma käytännön toteutus joku päivä…

Lopuksi vielä päivän ohjelma: kirjastoon palauttamaan kirja, etsimään uusia ja lainaamaan Linux Journalin taannoinen numero, jossa oli artikkeli Bayesilaisesta suodattamisesta. Tiskausta, ruokailua, esseen kirjoittamista – sain Peltirummun vihdoin luettua ja Nuoren tytön päiväkirja on niin ikään melkein luettu.

Julkaistu
Kategoria(t): Koulu