Re: Text mining työkaluja?

[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:
[ei vastauksia]

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!

Etusivu  |  Keskustelu
Copyright © Survo Systems 2001-2013. All rights reserved.
Updated 2013-06-15.