Semanttinen analyysi luonnollisen kielen tietokantaliitännässä

Timo Honkela


Pro gradu -tutkielma. Oulun yliopisto, Tietojenkäsittelyopin laitos, 1989.


1. Johdanto

Ihmiset käyttävät keskeään kommunikoidessaan luonnollista kieltä, esimerkiksi suomea. Näin ei ole ihmisen ja tietokoneen välisessä kanssakäymisessä. Tietokoneen käytön vaikeus johtuu useimmiten siitä, että käyttäjä joutuu esittämään ongelmansa ja tietotarpeensa tarkasti rajatulla ohjelmointi- tai kyselykielellä.

Esitetyn tyyppisten ongelmien ratkaisemiseksi SITRAn rahoittamassa, vuonna 1982 aloitetussa mittavassa tutkimushankkeessa pyritään kehittämään suomen kielen tulkintatekniikkaa. Tämä tutkielma liittyy Kielikone-projektissa tehtyyn tutkimus- ja kehitystyöhön. Projektissa on kehitetty järjestelmää, joka tulkitsee käyttäjän kirjoittaman, tietokantaan kohdistuvan kysymyksen ja pyrkii muuntamaan sen formaalille kyselykielelle. Näin käyttäjä saa tietoja tietokannasta äidinkielellään.

Jotta luonnollisen kielen ilmaisu saataisin muunnetuksi formaalille kyselykielelle, joudutaan analysoimaan kielen eri osia. Keskeisiä ongelmia ovat sanojen taivutusmuotojen selvittäminen, lauseiden rakenteen analyysi ja ilmaisujen merkityksen selvittäminen.

Tämän työn tutkimusongelma liittyy ilmaisujen merkityksen päättelyyn eli semanttiseen tulkintaan. Semanttisen tulkinnan ongelma voidaan hahmotella seuraavien kysymysten muotoon. Ensinnäkin, millainen prosessi kuvaa luonnollisen kielen ilmaisut sille formalismille, esitystavalle tai mallille, jota käyttäen luonnollisen kielen ilmausten merkitys on valittu esitettäväksi? Toiseksi, miten tähän prosessiin tarvittava tietämys esitetään ja kerätään tehokkaasti? Ongelmia tarkastellaan ja niille pyritään löytämään ratkaisuja nimenomaan, kun kehitettävänä on luonnollisen kielen tietokantaliitäntä.

Tietokanta on malli jostakin todellisuuden osasta. Tietokantaliitännälle esitettävän kysymyksen tulkinta edellyttää kysymyksen osien ja mallin välisten viittaussuhteiden ratkaisemista. Jotkin ilmaukset kuvautuvat laskenta- ja hakuoperaatioiksi. Tietokannan muodostaman mallin lisäksi tarvitaan laajempi malli, jotta voidaan tulkita ilmaisut, jotka eivät suoraan viittaa tietokantaan. Jotkin kysymykset voivat olla tietokannan kannalta sumeita, jolloin niiden tulkitsemiseksi tarvitaan lisätietämystä.

Semanttisen tulkinnan on todettu monissa yhteyksissä olevan pahin pullonkaula rakennettaessa käytännön järjestelmiä. Semanttisen tulkinnan perustaksi tarvitaan suuri määrä tietämystä. Kullakin kohdealueella joudutaan kuvaamaan sen oma tietämys, kun taas sanojen taipumiseen ja lauserakenteisiin liittyvä tietämys on pääosin yleispätevää. Semanttiseen tulkintaan tarvittavan tietämyksen keruu on toistuva tehtävä, jonka tehostamisella on erityinen merkitys.

Kyseiselle työlle muodostaa tietyn ongelman sen poikkitieteellinen luonne. Suoria yhteyksiä on kielitieteeseen, psykologiaan, filosofiaan, logiikkaan, tietojenkäsittelyyn sekä sen osa-alueina tekoälyyn, tiedonhallintaan ja käsitteelliseen mallintamiseen yleisemminkin. On itsestään selvää, että läheskään kaikkien tekijöiden huomioiminen ei ole mahdollista varsinkaan näin suppean työn puitteissa, joten jonkinlaiset rajat on määriteltävä.

Tutkimusongelman kannalta tarkasteltuna tässä työssä painotetaan lähitieteenä kielitiedettä ja sen laskennallista osa-aluetta eli tietokonelingvistiikkaa. Logiikan käyttö monien tarkastelujen lähtökohtana viittaa objektiivisen epistemologian valintaan. Näin onkin, vaikka tietyissä kohdin tarkastellaan tämän olettamuksen aiheuttamia ongelmia Tarkastelusta on suljettu pois merkityksen tulkinnan suhde psykologiaan. Esitetyistä semanttisen tulkinnan prosesseista ei väitetä, että ne olisivat samankaltaisia kuin ihmisen tulkintaprosessit.

Luvussa 2 selvitetään ensiksi, mikä on luonnollisen kielen tietokantaliitäntä, ja mikä on sen suhde joihinkin muihin kyselykieliin Luku 2.2 tarkastelee tietokantaliitännän mahdollisia käyttäjäryhmiä ja sitä, missä tilanteissa luonnollisen kielen käytöstä kyselykielenä on erityisesti hyötyä. Luvussa 2.3 tarkastellaan käyttäjien esittämien kyselyiden luokitteluperusteita. Kysymysten tulkitsemiseksi analysoitavat kielen tasot esitellään luvussa 2.4 ja luvussa 2.5 tarkastellaan erityisesti lauseenjäsennyksen ja semanttisen tulkinnan keskinäistä suhdetta.

Luvussa 3 käsitellään luonnollisen kielen automaattista semanttista tulkintaa. Ensin tarkastellaan, minkälaisia esitystapoja on ehdotettu merkityksen esittämiseen. Esiteltävien rajausten puitteissa tutkitaan sekä semanttisen tulkinnan teoreettisia lähtökohtia että laskennallista toteutusta. Erityisesti tarkastellaan sitä, kuinka pitkälle voidaan noudattaa periaatetta, jonka mukaan ilmaisun merkitys voidaan saada selville sen osien merkityksiä systemaattisesti yhdistelemällä. Tämän komposoituvuusperiaatteen noudattamisen hyötyjä ja vaikeuksia käsitellään luvussa 3.2.2. Semanttisen tulkinnan laskennallista toteutusta käsitellään luvussa 3.3. Johdannon jälkeen keskitytään ns. puumuunnoksiin perustuvaan tulkintaan, josta esimerkkinä esitellään Kielikone-projektissa kehitetty AWARE-puumuunnosjärjestelmä.

Luvussa 4 tarkastellaan semanttiseen tulkintaan tarvittavan tietämyksen keruuta olettaen, että kielellinen tietämys esitetään sääntömuodossa. Tietämyksen keruuta käsitellään lähinnä induktiivisena päättelyprosessina, jonka tarkoituksena on yleistää joukko tulkintasääntöjä esimerkkitapausten pohjalta. Luvussa 4.2 luokitellaan virhetilanteet, jotka johtavat sääntöjen muodostamiseen, yleistämiseen tai tarkentamiseen. Luvuissa 4.3 ja 4.4 käsitellään sääntöjen muokkaamista. Luvussa 4.4 tarkastellaan erityisesti yksittäisen säännön muokkaamiseen soveltuvia induktiivisia päätelysääntöjä eli niitä tapoja, joilla sääntöä voidaan yleistää. Yleistämisen keskeisimpänä tarkoituksena on saattaa toisistaan semanttisen tulkinnan kannalta epäolennaisesti toisistaan poikkeavat tapaukset saman säännön piiriin, jottei muodostettaisi sääntöjoukkoa, jossa kutakin pientä, kohdealueen suhteen merkityksetöntä variaatiota varten olisi oma sääntönsä. Eri tapauksille esitetään esimerkkitapaukset puumuunnossäännöjen yleistyksinä. Kuitenkin on huomattava, että esitetyt yleistystavat ovat käytettävissä myös muiden esitysmuotojen sääntöjen keruussa. Luvussa 4.5 tarkastellaan luvussa 3.2.2 esiteltyä komposoituvuusperiaatetta lähinnä tutkien, miten se tulisi ottaa huomioon tulkintasääntöjä muodostettaessa. Esitettyjen tietämyksen keruun menetelmien lisäksi tarkastellaan luvussa 4.6 sitä, miten käyttäjätyyppi vaikuttaa tarvittavan tietämyksen määrään, ja kuinka tarvittavan tietämyksen määrää voidaan rajoittaa esimerkiksi yhdistelemällä erilaisia keskustelustrategioita tai jopa yhdistämällä luonnollisen kielen ja muiden tietokantaliitäntätyyppien käyttö.


Timo Honkela's list of publications