Mine sisu juurde

Tekstikaeve

Allikas: Vikipeedia

Tekstikaeve ehk tekstikaevandamine (inglise keeles text mining) on automaatne protsess, millega eraldatakse tekstiandmetest mittetriviaalset informatsiooni ja kasulikke teadmisi. Selle käigus kogutakse struktureerimata loomuliku keele tekste, mille analüüsimiseks viiakse need masinloetavale kujule, mis võimaldab rakendada andmekaeve tehnikaid. Seega põimub tekstikaeve erinevate valdkondadega, nagu näiteks: loomuliku keele töötlus, andmekaeve ja infootsing.

Tekstikaeve erineb teistest sarnastest valdkondadest eelkõige seetõttu, et:

  • Tegeleb teksti analüüsimisega võrdlemisi pealiskaudsemalt, kui loomuliku keele töötlus (inglise keeles natural language processing). Tekstikaeve ei arvesta näiteks semantiliste seostega ega lausete ülesehitusega.[1] See tähendab, et tekstikaevel rakendatavad meetodid loeks näiteks lause "mul ei ole paha olla" negatiivseks, samas kui loomuliku keele töötluse meetodid võimaldavad seda konteksti põhjal positiivseks tuvastada.
  • Tekstikaeve süsteemid võimaldavad sisendina kasutada loomulikul keelel põhinevaid struktureerimata tekstiandmeid. Andmekaeve süsteemid seevastu nõuavad tüüpiliselt aga struktureeritud arvandmeid.[2]
  • Tekstiandmed esitatakse esialgselt dokumendi kujul vormingutes, mis tihti põhinevad XML-il. Andmekaeve meetodid seevastu nõuavad, et andmed paikneksid arvutustabelis.

Tekstiandmetest oluliste mustrite ja teabe kaevandamiseks on tüüpiliselt vaja läbida järgnevad etapid:

  • Dokumentide (laused, tekstiosad, failid jne.) ehk tekstiandmete kogumine – mida, kui palju ja kust, sõltub lahendatavast ülesandest. Selles etapis kasutatakse tihti klasterdamise meetodeid (k-keskmiste klasterdamine ja hierarhiline klasterdamine) selleks, et suurtest andmemassidest leida lähtuvalt ülesandepüstitusele täpsemaid vasteid.
  • Teksti eeltöötlus – üleliigse informatsiooni eemaldamine ja tekstiandmete normaliseerimine. Viimase puhul kasutatakse erinevaid võtteid, nagu näiteks: sõnapiiride tuvastamine (inglise keeles tokenization), sõnaliikide märgendamine (inglise keeles part-of-speech tagging) ja lemmatiseerimine (inglise keeles lemmatizing).[3]
  • Teksti muundamine (atribuutide genereerimine) – puhastatud dokumendid viiakse üle kujule, mis väljendab sõnu ja nende esinemise sagedusi. Selleks kasutatakse ''bag-of-words'' meetodit või vektorruumi.[4]
  • Atribuutide valik – valitakse välja kõige olulisemad atribuudid, mille põhjal hakatakse järgnevalt teadmisi kaevandama.
  • Andmete (mustrite) kaevandamine – eelnevate etappide tulemusena on tekkinud struktureeritud andmebaas, mida saab kasutada sisendina andmekaeve süsteemides. Teisisõnu hakatakse rakendama andmekaeve tehnikaid, leidmaks kasulikke teadmisi.[2]
  • Tulemuste hindamine – selgub, kas vastused on rahuldavad. Saadud teadmisi kasutatakse ka järgmiste sarnaste ülesannete lahendamiseks.

Alamprotsessid

[muuda | muuda lähteteksti]

Järgnevalt mõningad spetsiifilised võtted, millega puututakse kokku tekstikaevandamisel:

  • Infootsing – dokumentide ja korpuste (tekstikogude) otsing ja ladustamine
  • Sõnapiiride tuvastamine (tokenization) – tekst jaotatakse sõnavormideks ja sõnaühenditeks, eraldades üleliigsed sümbolid ja tühikud.[5]
  • Lemmatiseerimine (lemmatizing) – sama tüvega sõnad taandatakse algvormi kujule.[6] Näiteks sõnavormid "pidu, peo, pidutsesid" viiakse kujule "pidu", et neid oleks võimalik analüüsida kui samasisulisi termineid.
  • Sõnaliikide märgendamine (part-of-speech tagging) – sõnadele omistatakse sõnaliigid. Sõltub lähtekeelest ja selle reeglistikust.[2]
  • Ebaselgete sõnade eristamine (inglise keeles word sense disambiguation) – konteksti põhjal tuvastatakse mitmeti mõistetavate sõnade tähendus. Näiteks lauses "printeris sai tint otsa" peab masin tundma ära, et tegemist on värvipigmente sisaldava vedelikuga, mitte kalaga.
  • Meelestatuse analüüs (inglise keeles sentiment analysis) – tuvastatakse subjektiivse määratlusega sõnad või fraasid, mis väljendavad emotsioone, arvamusi, tuju jne.
  • Nimega üksuste tuvastamine (inglise keeles named entity recognition) – tekstist eristatakse isikute, organisatsioonide ja asukohtade nimetusi väljendavad nimisõnad.
  • Samaviiteliste üksuste leidmine (inglise keeles coreference extraction) – tuvastatakse väljendid, mis viitavad mõnele nimisõnale. Näiteks lauses "mees kõndis metsas, ta ei teadnud kuhu minna" saaks luua suhte nimisõna "mees" ja asesõna "ta" vahel.

Rakendusvaldkonnad

[muuda | muuda lähteteksti]

Tekstikaevet saab hariduses kasutada hilisemate trendide tuvastamiseks ja tagasisidestamiseks.[7] Näiteks on võimalik läbi kvalitatiivsete meetodite uurida sotsiaalmeedia põhjal õpilaste meelestatust kooli vastu ning teha selle põhjal järeldusi [8]. Samuti on võimalik tekstikaeve võtteid kasutada relevantsete uurimistööde ja materjalide leidmiseks suurtest ning mitmekülgsetest andmehulkadest.

Turundamine

[muuda | muuda lähteteksti]

Tekstikaeve vahendeid ja meetodeid (meelestatuse analüüs kooskõlas nimega üksuste tuvastamisega) kasutatakse tänapäeval näiteks kliendisuhete korraldamiseks.[9]

Tekstikaeve tarkvarapaketid võimaldavad monitoorida ja analüüsida veebis leiduvaid tekste riikliku julgeoleku otstarbeks.[9]

Biomeditsiin

[muuda | muuda lähteteksti]

Tekstikaeve tehnikad, näiteks nimega üksuste tuvastamine, võimaldavad klassifitseerida ja tuvastada kirjandusest haigustega seotud biomarkereid. Veebikaeve, mis on osa tekstikaevest, aitab tuvastada haiguspuhanguid. Biomeditsiini valdkonnas kasutatakse tekstikaevet veel seoste leidmiseks näiteks olemasolevate ravimite ja uute haiguste vahel. Kasutusel on spetsiifilised tarkvarad, nagu BioClass ja BioLMiner.[10]

  • Angnoss Text Analytics – võimaldab nimega üksuste tuvastamist, meelestatuse analüüsi jm.
  • Autonomy – tekstikaeve, klasterdamise ja kategoriseerimise tarkvara
  • RapidMiner – eraldi tekstitöötluse moodul

Avatud lähtekoodiga programmid, nagu näiteks Orange, OpenNLP, Gensim ja InfraNodus

  1. Kristel: "Tekstikaeve ja loomuliku keele töötlus"
  2. 2,0 2,1 2,2 Nitin Indurkhya, Sholom M. Weiss & Tong Zhang: "Fundamentals of Predictive Text Mining", London, Springer-Verlag London, Texts in Computer Science, 2015. DOI:10.1007/978-1-4471-6750-1
  3. Parul Kalra Bhatia & Lokesh Kumar: "Text mining: concepts, process and application Science", Journal of Global Research in Computer Science, 80(4), lk 29-32, 2013. DOI:10.5120/13851-1685
  4. Mahmoud Al-Ayyoub, Munyaradzi Chiwara, Rajan Gupta & Mohammad Sajjad Hossain: "CSE 634 – Data Mining: Text Mining"
  5. Vairaprakash Gurusamy & Subbu Kannan: "Preprocessing Techniques for Text Mining", RTRICS, At Podi, 2014
  6. Ms. J. Ilamathi, Ms. Nithya & Dr. S. Vijayarani: "Preprocessing Techniques for Text Mining - An Overview", International Journal of Computer Science & Communication Networks, 5(1), lk 7-16. ISSN:2249-5789
  7. Shaeela Ayesha, Fakeeha Fatima, Muhammad Kashif Hanif & Ramzan Talib: "Text Mining: Techniques, Applications and Issues", International Journal of Advanced Computer Science and Applications, 7(11), lk 414-418, 2016. DOI: http://dx.doi.org/10.14569/IJACSA.2016.071153
  8. Xin Chen, rishna Madhavan & Mihaela Vorvoreanu: "Mining Social Media Data for Understanding Students’ Learning Experiences", IEEE Transactions on Learning Technologies, 7(3), lk 246-259, 2014. DOI: https://doi.org/10.1109/TLT.2013.2296520
  9. 9,0 9,1 Miss Latika Kaushik: "Text Mining - Scope and Applications", Journal of Computer Science and Applications, 5(2), lk 51-55, 2013.
  10. Vinaitheerthan Renganathan: "Text Mining in Biomedical Domain with Emphasis on Document Clustering" , Healthcare informatics research, 23(3), lk 141-146, 2017.