[vastaus aiempaan viestiin]
Kirjoittaja: | Reijo Sund |
---|---|
Sähköposti: | - |
Päiväys: | 8.8.2005 13:42 |
>Tiedustelisin näkemyksiä ns. text mining työkalujen soveltamisesta >tai rakentamisesta Survolla. >Esimerkkitapaus: >Luokitellaan sairaiskäyntejä potilaan sairauskertomusten perusteella. >Erityisesti etsitään vaikkapa allergiaan tai astmaan liittyviä >indikaatioita, eli onko kyseinen sairaskäynti liittynyt jollain >tavalla allergiaan tai astmaan. "Raakadata" on lääkärin vapaassa >muodossa kirjoitettamaa kertomusta potilaan tilasta. Tästä olisi >tavoitteena vaikkapa luoda indikaattorimuuttujien aineisto ko. >sairauteen liittyvien avainsanojen perusteella: >yskä, päänsärky, kuume, kurkkukipu, nuha, hengenahdistus,... >Vaikuttaa siltä, että homma vaatisi tuekseen mm. sanastoja ja kielen >ymmärtämistä ja tiettyjä (vaativia) teknisiä ratkaisuja. Ongelmanasettelusi on hiukan epämääräinen. Sinulla näyttäisi olevan ainakin kaksi päätavoitetta: 1) saada raaka-aineisto muokattua avainsanoiksi ja 2) yrittää päätellä mitkä avainsanat esiintyvät tavallista useammin allergian tai astman yhteydessä. Ensimmäisen vaiheen lopputuloksena voinee pitää avainsanalistaa ja avainsana-dokumentti-matriisia. Karkean avainsanalistan voit tuottaa Survolla esimerkiksi DISCO-komennon EXTRACT-metodilla, kunhan olet ensin tallentanut raakadatasi Survo-dataksi niin, että jokainen sana on omana muuttujanaan (ja yhden sairauskertomuksen sanat ovat aina yhdellä rivillä). Tulokseksi saatu tekstitiedosto pitää sisällään kaikki vähintään halutun määrän kertoja sisältävät sanat frekvensseineen. Tätä tiedostoa voi edelleen muokata ja antaa halutuille sanoille uudet "indeksinimet". "Indeksinimet" voi sitten palauttaan alkuperäiseen tiedostoon joko DISCO:n REMAP-metodilla tai sopivalla CLASSIFY-komennon käytöllä. "Uudelleennimeämisen" jälkeen avainsana-dokumentti-matriisin tuottaminen on periaatteessa helppoa vaikkapa käyttämällä VAR-komentoa sopivilla SELECT-täsmennyksillä. Käytännössä vapaamuotoisen tekstin kanssa tulee ongelmia sanojen suuren määrän vuoksi. Ensin kannattaneekin käyttää ns. stop-listaa, jolla suodatetaan "merkityksettömät" sanat pois. Valmiita listoja on ainakin englanniksi. Jos valmista listaa suomelle ei löydy, niin sellainen on suoraviivaista työstää DISCO:n EXTRACT:in tuloksista, kunhan käytettävissä on riittävästi todellista aineistoa. Toinen ongelma on sanojen taivutus. Englannille on olemassa "stemmaus"- algoritmeja, mutta suomen kielessä homma on hankalampaa. Työläs, mutta hyvin toimiva tapa on antaa merkitykseltään samoille sanoille sama "indeksinimi". Samalla tavalla saa hoidettua myös kirjoitusvirheet, jos ei halua kokeilla esim. editointietäisyyksiin perustuvaa automaattikorjausta. Usein lienee myös tarkoituksenmukaista suodattaa koko aineistossa harvoin esiintyvät sanat/indeksinimet pois. Jälkimmäiseen ongelmaan voi hakea ratkaisua vaikkapa sopivalla ristiintaulukoinnilla tai DISCO:n FIND-metodilla, joka etsii usein yhdessä esiintyviä sanoja/indeksinimiä. Sopiva tapa on myös jakaa aineisto kahteen osaan astman/allergian esiintymisen mukaan ja vertailla sitten indeksinimien (ja niiden yleisten yhdistelmien) esiintymisen suhteellisia frekvenssejä näissä ryhmissä. terv. Reijo
Vastaukset: |
---|
Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!