Tekoäly
Mikä on NLP (Natural Language Processing)?
Natural Language Processing (NLP) on tekniikoiden ja työkalujen tutkimus ja soveltaminen, jotka mahdollistavat tietokoneiden käsittelyn, analyysin, tulkinnan ja päättelyn ihmisen kieltä. NLP on monitieteinen ala, joka yhdistää kielioppiin ja tietojenkäsittelytieteeseen perustuvia tekniikoita. Nämä tekniikat käytetään yhdessä tekoälyjen kanssa luomaan chatboteja ja digitaalisia avustajia, kuten Google Assistant ja Amazonin Alexa.
Tutkitaan Natural Language Processingin periaatteita, joitakin NLP:ssä käytettävistä tekniikoista ja joitakin yleisiä NLP:n sovelluksia.
Miksi Natural Language Processing (NLP) on tärkeää
Jotta tietokoneet voivat tulkita ihmisen kieltä, ne on muunnettava muotoon, jota tietokone voi käsitellä. Tämä ei kuitenkaan ole yhtä yksinkertaista kuin tekstin muuttaminen numeroin. Jotta voitaisiin johtaa merkitys ihmisen kielestä, on poistettava kuvioita sadoista tai tuhansista sanoista, jotka muodostavat tekstidokumentin. Tämä ei ole helppo tehtävä. On vain muutamia tiukkoja sääntöjä, jotka voidaan soveltaa ihmisen kielen tulkintaan. Esimerkiksi sama sanasto voi tarkoittaa eri asioita riippuen kontekstista. Ihmisen kieli on monimutkainen ja usein epäselvä asia, ja lause voidaan lausua vilpittömästi tai ironisesti.
Vaikka näin on, on joitakin yleisiä ohjeita, joita voidaan käyttää sanojen ja merkkien tulkinnassa, kuten esimerkiksi kirjaimen “s”:n käyttö monikkomuodon osoittamiseen. Nämä yleiset ohjeet on käytettävä yhdessä toistensa kanssa tekstistä merkityksen löytämiseksi, jotta koneoppimisalgoritmi voi tulkita sen.
Natural Language Processing sisältää erilaisten algoritmien soveltamista, jotka kykenevät ottamaan rakenteettoman datan ja muuttamaan sen rakenteelliseksi dataksi. Jos nämä algoritmit sovelletaan väärällä tavalla, tietokone ei usein kykene johtamaan oikeaa merkitystä tekstistä. Tämä voidaan usein nähdä tekstin kääntämisessä eri kielille, jossa lauseen tarkka merkitys usein häviää. Vaikka konekäännös on parantunut merkittävästi viime vuosina, konekäännösvirheet tapahtuvat edelleen usein.
Natural Language Processing (NLP) -tekniikat

Kuva: Tamur via WikiMedia Commons, Public Domain (https://commons.wikimedia.org/wiki/File:ParseTree.svg)
Monet Natural Language Processingissa käytettävistä tekniikoista voidaan luokitella kahteen ryhmään: kielioppiin tai semantiikkaan. Kieliopilliset tekniikat ovat niitä, jotka liittyvät sanojen järjestykseen, kun taas semanttiset tekniikat ovat niitä, jotka liittyvät sanojen merkitykseen.
Kieliopilliset NLP-tekniikat
Esimerkkejä kieliopillisista tekniikoista ovat:
- Lemmatisoiminen
- Morfologinen segmentointi
- Sanaluokan määritys
- Parsiminen
- Lauseen rajaaminen
- Sanan juurenmuodostus
- Sanan segmentointi
Lemmatisoiminen tarkoittaa eri sanamuotojen yhdistämistä yhteen muotoon. Lemmatisoiminen poistaa esimerkiksi taivutusmuodot ja monikkomuodot, jolloin esimerkiksi “jalat” muuttuu “jalka”ksi.
Morfologinen segmentointi on prosessi, jossa sanat jaetaan morfeemeihin eli sanojen perusyksiköihin. Nämä yksiköt ovat esimerkiksi vapaat morfeemit (jotka voivat olla itsenäisiä sanoja) ja etu- ja jälkiliitteet.
Sanaluokan määritys on yksinkertaisesti prosessi, jossa jokaisen sanan sanaluokka määrätään.
Parsiminen tarkoittaa lauseen kaikkien sanojen analysoimista ja niiden liittämistä kieliopillisiin merkintöihin.
Lauseen rajaaminen eli lauseen rajan määritys tarkoittaa päätöksentekoa siitä, missä kohdassa lause alkaa ja loppuu.
Sanan juurenmuodostus on prosessi, jossa sanat palautetaan niiden perusmuotoon. Esimerkiksi “yhteydessä”, “yhteys” ja “yhteydet” palautetaan kaikki muotoon “yhteys”.
Sanan segmentointi on prosessi, jossa suuret tekstikappaleet jaetaan pienempiin yksiköihin, jotka voivat olla sanoja tai sananjuuria.
Semanttiset NLP-tekniikat
Semanttisiin NLP-tekniikoihin kuuluvat esimerkiksi:
- Nimettynä olevan entiteetin tunnistaminen
- Luonnollisen kielen generointi
- Sananmerkityksen erottelu
Nimettynä olevan entiteetin tunnistaminen tarkoittaa tietyn tekstiosan merkintää, joka voidaan luokitella esimerkiksi seuraaviin ryhmiin: päivämäärät, kaupungit, paikat, yritykset ja yksityishenkilöt.
Luonnollisen kielen generointi on prosessi, jossa tietokannasta haetaan tietoa ja muunnetaan se luonnolliseksi kieliksi. Esimerkiksi tilastotietoja säällä, kuten lämpötila ja tuulen nopeus, voidaan yhteenveda luonnolliseksi kieliksi.
Sananmerkityksen erottelu on prosessi, jossa sanoille annetaan merkitys sen mukaan, mihin kontekstiin ne kuuluvat.
Syväoppimismallit NLP:lle
Tavalliset monikerroksiset perceptronit eivät pysty käsittelemään järjestyksen merkitystä järjestetyssä datassa, jossa tietojen järjestys on tärkeää. Järjestyksen merkityksen huomioon ottamiseksi käytetään tietynlaista neuroverkkoa, joka säilyttää tietoa edellisistä aikakohdista koulutuksen aikana.
Toistuvat neuroverkkomallit ovat neuroverkkoja, jotka käyvät datan yli edellisten aikakohdien tiedon perusteella, ottaen ne huomioon nykyisen aikakohdan painojen laskennassa. Toistuvat neuroverkkomallit ovat kolmea tyyppiä: edellisen piilotilan matriisi, nykyisen syötteen matriisi ja matriisi, joka on piilossa ja tulostuu. Koska toistuvat neuroverkkomallit voivat ottaa huomioon edellisten aikakohdien tiedon, ne voivat poimia merkityksellisiä kuvioita tekstidatasta ottaen huomioon aiemmat sanat lauseessa.
Toinen syväoppimisarkkitehtuuri, jota käytetään tekstidatan käsittelyyn, on LSTM-verkko. LSTM-verkot ovat samanlaisia kuin toistuvat neuroverkkomallit, mutta niiden erilaisen arkkitehtuurin ansiosta ne suorittavat yleensä paremmin kuin toistuvat neuroverkkomallit. Ne välttävät tietyn ongelman, joka usein esiintyy toistuvien neuroverkkomallien kanssa, nimittäin räjähtävän gradientin ongelman.
Nämä syvät neuroverkkomallit voivat olla joko yksisuuntaisia tai kaksisuuntaisia. Kaksisuuntaiset verkot pystyvät ottamaan huomioon sekä edeltävät sanat että seuraavat sanat. Vaikka tämä johtaa korkeampaan tarkkuuteen, se on laskennallisesti kalliimpaa.
Natural Language Processingin sovellukset

Kuva: mohammed_hassan via Pixabay, Pixabay License (https://pixabay.com/illustrations/chatbot-chat-application-artificial-3589528/)
Koska Natural Language Processing sisältää ihmisten kielten analyysin ja manipuloinnin, sillä on erittäin laaja soveltamisala. NLP:n sovelluksia ovat esimerkiksi chatbotit, digitaaliset avustajat, mielipidetutkimus, asiakirjojen järjestäminen, rekrytointi ja terveydenhuolto.
Chatbotit ja digitaaliset avustajat, kuten Amazonin Alexa ja Google Assistant, ovat äänentunnistus- ja synteesijärjestelmiä, jotka käyttävät NLP:tä äänikomentien tulkintaan ja vastaamiseen. Nämä digitaaliset avustajat auttavat ihmisiä monissa tehtävissä, jolloin he voivat siirtää joitakin kognitiivisia tehtäviä toiseen laitteeseen ja vapauttaa aivojaan muille, tärkeämmille asioille. Sen sijaan, että etsisimme itse parhaan reitin pankkiin kiireisen aamuna, voimme antaa digitaalisen avustajamme tehdä sen.
Mielipidetutkimus on NLP-tekniikoiden käyttö ihmisten reaktioiden ja tunteiden tutkimiseen tietylle ilmiölle, kuten heidän kielenkäytönsä kautta. Mielipiteen kaappaaminen lauseesta, kuten tuotteen arvostelun hyväksymisen tai huonontamisen, voi antaa yrityksille merkittäviä tietoja siitä, miten heidän tuotteensa otetaan vastaan.
Tekstidokumenttien automaattinen järjestäminen on toinen NLP:n sovellus. Yritykset kuten Google ja Yahoo käyttävät NLP-algoritmeja sähköpostidokumenttien luokitteluun, asettaen ne oikeaan kansioon, kuten “sosiaalinen” tai “mainokset”. He käyttävät myös näitä tekniikoita roskapostin tunnistamiseen ja estämiseen.
Ryhmät ovat myös kehittäneet NLP-tekniikoita potentiaalisten työnhakijoiden tunnistamiseen heidän taitojensa perusteella. Henkilöstöpäälliköt käyttävät myös NLP-tekniikoita hakijoiden luetteloiden läpikäymiseen.
NLP-tekniikoita käytetään myös terveydenhuollossa. NLP voidaan käyttää sairauksien havaitsemisen parantamiseen. Terveydenhuoltoasiakirjoja voidaan analysoida ja oireita voidaan poimia NLP-algoritmeilla, joita voidaan käyttää mahdollisten diagnoosien ehdottamiseen. Yksi esimerkki tästä on Amazonin Comprehend Medical -alusta, joka analysoi terveydenhuoltoasiakirjoja ja poimii sairauksia ja hoitoja. Terveydenhuollon sovellukset NLP:lle ulottuvat myös mielenterveyteen. On sovelluksia, kuten WoeBot, joka opastaa käyttäjiä erilaisiin ahdistuneisuuden hallintatekniikoista kognitiivisen behavioralterapian perusteella.












