Tämä sivu on osa STKS:n Chatbot - totta vai tarinaa? -webinaarin oheismateriaalia. Sivun avulla voit tutustua luonnollisen kielen prosessoinnin mahdollisuuksiin itse kokeilemalla.
Tietokoneet puhuvat bittejä ja me luonnollista kieltä. Teksti voidaan esittää tietokoneen "ymmärtämässä" binäärimuodossa, mutta silti se on koneelle vain jono merkkejä. Luonnollisen kielen analyysissä tästä merkkijonosta puretaan kielen piileviä rakenteita ja kielen ilmaisemia asioita formaaliin muotoon. Tätä tietoa voidaan sitten edelleen hyödyntää muissa sovelluksissa.
Emme välttämättä etukäteen tiedä, millä kielellä teksti on kirjoitettu. Tuttujen kielten tunnistaminen on ihmisille helppoa mutta vaikeaksi se muuttuu tuntemattomien kielten kohdalla. Kone pärjää tässä hyvin.
Seuraavassa voit kokeilla, kuinka hyvin kone tunnistaa syöttämäsi tekstin kielen. Kokeile eri pituisia tekstejä, kirjoitusvirheiden vaikutusta, kielten sekoituksia yms. Tulokset näkyvä vihreässä laatikossa
Suomen kieli taipuu kerrassaan monipuolisesti. Itseasiassa niin monipuolisesti, että se haittaa tekstihakuja. "Hevosistaan tunnettu pitäjä" ei löydy hakusanalla "hevonen" tai "hevoset". Näppärä hakija käyttää sanakatkaisua "hevo*" ja onnistuu löytämään myös hevonhierakat ja hevosvoimat. Ratkaisu ongelmaan on perusmuotoistaminen.
Seuraavassa voit kokeille suomen kielen sanojen palauttamista perusmuotoon. Väännä suomen kieltä niin pitkälle kuin pystyt ja kokeile vieläkö kone onnistuu sen oikaisemaan!
http://demo.seco.tkk.fi/las/#lemmatization
Kielen rakenteen analyysi onnistuu myös jossain määrin koneellisesti.
Seuraavan linkin takaa voit palautella mieleen kieliopin saloja oman tekstisi koneellisen analyysin kanssa. Sovellus saattaa miettiä vastausta aika kauan.
Kuvittele, että olet historiantutkija, joka saa käsiinsä 12 000 tekstidokumenttia. Eikö olisiki mahtavaa, jos voisit kysyä koneelta keitä mainitaan näissä 12 000 tekstidokumentissa? Ilman, että joutuisit käymään ne yksitellen läpi?
Nerraus (Named Entity Recognition) on prosessi, jossa pyritään juuri tähän. Nerraus perustuu sanalistoihin ja heuristisiiin algoritmeihin. Esimerkiksi "University of X" on muoto, joka todennäköisesti muodostaa organisaation nimen (tässä tapauksessa yliopiston nimen).
Täällä voit testata engalnnilla ja kuudella muulla kielellä: https://dandelion.eu/semantic-text/entity-extraction-demo/
Toinen demo englanniksi: http://nlp.stanford.edu:8080/ner/process
Suomen kielellä voit kokeilla kielipankin demoa: https://www.kielipankki.fi/cgi-bin/fintag.py
Kieltä voidaan koneellisesti tulkita myös tekstin sävyn osalta. Onko kommentti positiivinen ja kannustava vai negatiivinen ja lyttäävä? Tai onko tuotteesta annettu arvio tuotetta kehuva vai toivottaako se tuotteen alimpaan helvettiin?
Englannin kielellä: https://monkeylearn.com/sentiment-analysis-online/
Suomen kielellä: https://www.kielipankki.fi/cgi-bin/predict/finsent.py
Some-aikana myös hymiöt on syytä ottaa huomioon. Kielipankin demossa voi valita "somemoodin" (social media smiley model), jolloin hymiötkiin otetaan huoomioon:
Olipa kauheeta :) -> positive
Olipa kauheeta :( -> negative
Introkuvassa käytetyt 3D-mallit:
"Humanoid robot" (https://skfb.ly/KDMQ) by pinguinoconpulgares is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
"Medieval Open Book 2" (https://skfb.ly/6WOpY) by J0Y is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).