(toiminnot)

hwechtla-tl: Automaattinen luokittelu

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


(tarkoituksena luokitella tekstejä siten, ettei luokittelualgoritmia tarvitse opettaa eikä sille tarvitse kertoa, mihin luokkiin luokitellaan)

Lupaavilta vaikuttavat autoclass (http://ic.arc.nasa.gov/ic/projects/bayes-group/autoclass/) ja SOM_PAK (http://www.cis.hut.fi/research/som-research/nnrc-programs.shtml). Ongelmaksi muodostuneekin pikemmin, miten sanafrekvenssit (joihin ajattelin luokittelun perustaa) muutetaan järkeväksi joukoksi piirteitä. Itse asiassa SOM (tai jokin vastaava iteratiivinen tekniikka) saattaa vastata nimenomaan tähän jälkemmäiseen, autoclass sitten klusterien nimeämisongelmaan. Mutta selvästi SOM:nkin päälle on onnistuttu kyhäämään jotain tällaista, koska on olemassa WEBSOM (http://websom.hut.fi/websom/).

Ååh. Vaikuttaa siltä, että WEBSOM-projektissa on diskreetistä symbolisesta datasta (sanoista) kehitetty piirrevektoreita määrittämällä jokaiselle sanalle satunnainen (n-ulotteinen) yksikkövektori. He ovat tutkineet, kuinka ortogonaalisia nämä yksikkövektorit ovat tutkimalla niiden pistetulojen distribuutiota eri ulotteisuuksilla. Vaikuttaa hyvältä: 50-ulotteisen avaruuden pitäisi riittää verrattain suuriinkin sähköpostimääriin. Periaatteessa tämän metodin voisi yhdistää suoraan autoclass-tyyppiseen luokitteluun.

Outoa kyllä, WEBSOM:ssa käytetään (jos ymmärsin oikein) sanojen luokitteluun niiden oman yksikkövektorin sijaan niiden kontekstin summavektoria (jos ymmärsin oikein). On toki selvää, että sanan konteksti kertoo sen luokan jossain mielessä. Muodostin kuitenkin pienehkön koeaineiston, josta aakkostin ja käänteisaakkostin tekstinpätkiä nähdäkseni, millaisia sanoja esiintyy samassa kontekstissa. Totesin, että kontekstuaalinen luokittelu näyttää kertovan pikemminkin sanan syntaktisesta ja funktionaalisesta luonteesta (kieli, sanaluokka, puhetyyli) kuin sen semantiikasta.


Toinen ajatus oli luoda tekstien välille "linkkejä" sen perusteella, kuinka paljon niissä on samoja sanoja, ja sitten sirotella ne avaruuteen, jossa ne saavat pyöriä jonkin aikaa siten, että linkatut tekstit vetävät toisiaan puoleensa, mutta kaikki tekstit hylkivät toisiaan. Kyseessä on siis eräänlainen jatkuva (continuous) iteroitu n-ulotteinen SOM. Näin syntyneet koordinaatit kertonevat paljon paremmin dokumenttien välisestä samankaltaisuudesta kuin sanojen satunnaisten yksikkövektoreiden frekvenssin mukaan painotetut keskiarvovektorit...

kategoria: projektit kategoria: työkalut kategoria: ohjelmointi


kommentoi (viimeksi muutettu 27.06.2005 15:41)