Kaunokirjallisuuden automaattinen kuvailu – Tarinaluotsi vs. Juonenjyvä

Lehtinen M., Inkinen J. & Suominen O. (2023). Kaunokirjallisuuden automaattinen kuvailu – Tarinaluotsi vs. Juonenjyvä. Tietolinja, 2023(2). Pysyvä osoite: https://urn.fi/URN:NBN:fi-fe20231218155441

Tekoälyn luoma kuva steampunk-tyylinen kuva humanoidista ja ja vanhemmasta naisoletetusta selaamassa kirjaa.

Kuva: Stable Diffusion XL -tekoäly. Syöte: ”Portrait of a steampunk style humanoid robot and an elderly woman holding books in their hands, inside a victorian library reading room”.

Kansalliskirjastossa kehitettävää Annif-työkalua (https://annif.org) on käytetty kuvailun apuvälineenä jo vuodesta 2018. Se toimii myös vuonna 2020 perustetun automaattisen kuvailun palvelun Finto AI:n (https://ai.finto.fi) taustalla. Annifin versio 1.0 julkaistiin elokuussa 2023, ja sen kehitys on päässyt tasaisen hyvälle tasolle.

Annifia on tähän asti käytetty lähinnä asiatekstien kuvailuun, kuten tieteellisille julkaisuille, opinnäytetöille, tietokirjoille tai uutisartikkeleille. Kaunokirjallisuuden automaattinen kuvailu on haastavampaa, tällaisissa teksteissä kun on usein paljon asiaa ”rivien välissä” piilotekstinä, mikä tekee algoritmien urakasta vaikeampaa. Tieteellisessä tekstissä asiat taaseen kirjoitetaan selkeästi auki ja käytetään vakiintunutta tekstin rakennetta ja terminologiaa. Kaunokirjallisuus on myös monitulkintaisempaa. Kehitys kuitenkin kehittyy, ja Annifin soveltuvuutta uusiin haasteisiin tutkitaan koko ajan. Kirjastoverkkopäivillä 2023 järjestetyssä työpajassa syvennyttiin kaunokirjallisuuden automaattisen kuvailun mahdollisuuksiin ja haasteisiin.

Uusi Annif-työpaja: Kaunokirjallisuuden automaattinen kuvailu

Työpajaa alettiin valmistella tiedonhakutehtävän ympärille. Halusimme työpajan yhteydessä myös herättää keskustelua ja kuulla kirjastoalan ammattilaisten mielipiteitä automaation käytöstä kaunokirjallisuuden kuvailussa.

Kaunokirjallisuuden kuvailu

Työpajan alkuun kuulimme Kauno-ontologian ylläpitäjä Marjut Puomiselta kaunokirjallisuuden kuvailusta ylipäänsä. Lisäksi tutustuimme Kirjasampoon.  Myös kaunokirjallisuuden kuvailussa keskeisellä sijalla on tiedonhaun teema. Onnistunut kuvailu tarkoittaa, että tiedonhaku onnistuu ja haluttu teos löytyy. Entä miten kiteyttää kirjan ydinteemat? Tähän liittyen kuulimme myös kirjastohenkilökunnalle tutuista tilanteista, joissa kirjaston asiakas etsii jotain tiettyä teosta, muttei muista nimikettä tai tekijää – ehkä vain juuri teoksen teeman tai kansikuvan värin.

Puomisen esityksesä käsiteltiin kaunokirjallisuuden kuvailussa käytettävää KAUNO-ontologiaa, joka syntyi FinnONTO-hankkeessa Kaunokki- ja Bella-sanastojen pohjalta. Kaunoa ylläpitää Helsingin kaupunginkirjasto. Kauno on YSO-pohjainen erikoisontologia, ja se sisältyy KOKO-ontologiaan. Sen termiryhmiä ovat:

  • Teema
  • Henkilö, toimija
  • Paikka, miljöö
  • Aika
  • Genre, laji, tyyli

KAUNO-ontologiasta voit lukea lisää Tuomas Palosen Erikoisontologiat esiin! -sarjassa äskettäin ilmestyneestä osasta, joka on luettavissa Finto-palvelun asiakaswikissä.

Tiedonhakutehtävä

Työpajassa päätimme lähestyä kaunokirjallisuuden automaattisen kuvailun teemaa tiedonhaun näkökulmasta: työpajaan kehitettiin tiedonhakutehtävä. Tehtävässä tiedonhaku kohdistettiin joko ihmisen tai Annifin asiasanoittamaan aineistoon. Tarkoituksena oli tutkia, kummalla tavalla kuvaillut aineistot löytyvät helpommin.

Tehtävää varten valittiin satunnaisesti 30 vuonna 2023 julkaistua kirjaa, joista 20 noudettiin fyysisinä kappaleina, lopuista tulostettiin kuvaus Internetistä. Osallistujien tehtävänä oli tutustua teoksiin. Kunkin teoksen kohdalla tarkempana tehtävänä oli miettiä, miten ja millaisilla hakutermeillä etsiä edessään olevaa teosta kuvitteellisessa tilanteessa, jossa kirjan nimellä ei saanut hakea. Kirjoja kierrätettiin osallistujalta seuraavalle. Tehtävän aineistot ja siinä käytetty hakujärjestelmä kuvaillaan tarkemmin seuraavaksi.

Aineistot ja Annif-mallit

Annifia on aiemminkin kokeiltu kaunokirjallisuudelle, mutta tätä työpajaa varten kerättiin uutta aineistoa ja koneoppimismallit uudelleenkoulutettiin. Työpajan tiedonhakuehtävää varten saatiin ihmisen kuvailemaa kaunokirjallisuusaineistoa Kirjasammosta. Jokaiseen kirjatietueeseen sisältyi bibliografisia tietoja kuten nimeke, tekijä ja ISBN-tunnus sekä kirjan lyhyt, kustantajan tuottama kuvausteksti ja asiasanat. Kirjasammossa käytetyt Kauno-asiasanat on vuodesta 2010 tuottanut Kirjastopalvelu; nämä asiasanat lajitellaan Kirjasammon toimituksessa osin automatisoidusti fasetteihin, jotka vastaavat Kauno-ontologian termiryhmiä.

Annifin koneoppimismallit koulutettiin vanhemmalla, ennen vuotta 2022 julkaistulla aineistolla. Käytimme koulutukseen vain suomenkielisten kirjojen tietueita, joita oli yhteensä hieman yli 60 000. Syöte, joka Annifille annettiin kirjan asiasanojen tuottamiseksi, oli kirjan nimeke ja kuvausteksti. Näiden perusteella Annif oppi ennustamaan sopivia Kauno-asiasanoja. Käytetyn tekstin sisältämä tieto kirjasta vaihteli kirjojen välillä hyvin paljon: lyhymmillään teksti oli vain muutaman sanan mittainen. Asiasanoja ei tässä yhteydessä käsitelty faseteittain, vaan kaikki kirjalle annetut asiasanat käsiteltiin yhtenä joukkona.

Työpajaa varten edellä kuvatuilla Annifin koneoppimismalleilla tuotettiin kuvailut uudemmasta, vuosien 2022–2023 aineistosta eli yhteensä 3030 kirjasta. Annifin tuottamien asiasanojen määrä valittiin siten, että se tuotti keskimäärin suunnilleen yhtä monta asiasanaa kuin mitä Kirjasammossa on käytetty. Tehtävässä vertailukohtana käytettiin näiden teosten ihmistyönä tehtyä Kirjasammon asiasanoitusta.

Hakujärjestelmä

Tehtävää varten kehitettiin oma hakujärjestelmä (ks. kuva 1). Järjestelmän käyttöliittymässä oli mahdollista syöttää hakutermejä automaattitäydennystä hyödyntävään hakukenttään. Haku kohdistui kirjojen asiasanoihin, ja usean hakutermin tapauksessa haku toimi OR-tyyppisesti.

Haun tulokset näytettiin käyttäjälle rinnakkain kahdella hakutuloslistalla; näille listoille oli annettu nimet Tarinaluotsi ja Juonenjyvä. Osallistujille ei paljastettu, että Tarinaluotsi-listalla kirjojen asiasanoitus oli ihmisen ja Juonenjyvä-listalla koneen (Annifin) tekemää. Puolella osallistujista oli näkymä, jossa Tarinaluotsin tulokset olivat vasemmalla ja Juonenjyvän oikealla, ja toisella puolella tuloslistojen järjestys oli päinvastainen. Osallistujien oli tarkoitus haun jälkeen silmäillä tuloslistoja ja valita haettavana ollut teos jommalta kummalta tai kummaltakin listalta. Järjestelmä keräsi tiedot kirjan löytymisestä (tai löytymättä jäämisestä) sekä hakuyritysten lukumäärän (eri hakusanojen kokeilujen määrän) ja kirjan hakuun käytetyn ajan (ajan, joka kului hakusanojen kirjoituksen aloituksen ja kirjan valinnan välillä). Hakujärjestelmä sisälsi 3030 kirjaa, joiden kuvailussa oli käytetty keskimäärin yhdeksää asiasanaa.

Osallistujia ohjeistettiin siten, että jos haluttua kirjaa ei heti löydy, uudelleen voi yrittää muutaman minuutin ajan. Uudelleenyritysten määrää ei oltu rajoitettu. Jos kirjaa ei kohtuullisella vaivalla löytynyt, tuli siirtyä seuraavaan. Tehtävää tehtiin noin 40 minuutin ajan. Tehtävän jälkeen palkitsimme pienellä kirjakaupan lahjakortilla osallistujan, joka oli löytänyt eniten kirjoja (kummasta vain listasta).

Hakujärjestelmän kehityksessä hyödynnettiin paljon ChatGPT-tekoälytyökalua. Päätökset järjestelmän toimintaperiaatteista, käyttöliittymästä ja tärkeimmistä taustaohjelmistoista (Flask, Elasticsearch, Sqlite) teki ihminen, mutta varsinkin html-koodin kirjoittamisessa käytettiin apuna tekoälyä. Esimerkiksi kun hakutuloslistojen järjestys haluttiin muuttaa dynaamisesti vaihtuvaksi, antoi ChatGPT tätä varten suoraan toimivan ratkaisun. Myös hakutuloslistojen nimien, Tarinaluotsi ja Juonenjyvä, ideoinnissa käytettiin ChatGPT:tä.

Kuva 1. Ruutukaappaus tehtävässä käytetyn hakujärjestelmän käyttöliittymästä.

 

Ihmisiä työskentelemässä kannettavilla tietokoneillaan Annif-työpajassa.

Kuva 2. Työpajan tehtävän aloitus. Kuva: Juho Inkinen.

Kirjasampo vei voiton – tällä kertaa

Kirjasammon asiasanoitus päihitti tässä kokeessa Annifin tekemän asiasanoituksen teosten löydettävyydessä: Kirjasammon asiasanoja käyttäen etsitty kirja löytyi 189 kertaa ja Annifin asiasanoja käyttäen 162 kertaa. Kirjan etsintäkertoja oli kaikkiaan 235.

Kirjasammon asiasanoja käyttäen etsitty kirja löytyi keskimäärin 2,2 hakuyrityksen ja 69 sekunnin jälkeen, kun taas Annifin asiasanoja käyttäen tarvittiin 2,3 hakuyritystä ja 78 sekuntia. Kirjojenhakutehtävään osallistui 19 henkilöä.

Suurin osa tehtävän jälkeiseen Menti-kyselyyn osallistujista arvioi Kirjasammon asiasanat paremmiksi (15 kpl), mutta myös Annif sai ääniä (4 kpl). Tässä vaiheessa osallistujille ei vielä ollut paljastettu, että Tarinaluotsi oli Kirjasampo ja Juonenjyvä oli Annif, vaan he äänestivät näitä peitenimiä. Työpajan osallistujat olivat kirjastoalan ammattilaisia, joten ehkä Kirjasammon logiikka oli heille tutumpaa. Annifin kohdalla asiasanoituksen tuottamisessa oli käytetty kuvaustekstejä eli takakansitekstejä, jotka saattoivat olla lyhyitä ja sellaisina haastavia kuvailun kannalta.

Tarinaluotsi / Kirjasampo Juonenjyvä / Annif

 

Etsitty kirja löydettiin (lkm) 189 162
Etsitty kirja löydettiin etsintäkerroista (%-osuus) 80,4 68,9
Kirjan löytymiseen tarvittavat haut, ka. (lkm) 2,2 2,3
Kirjan löytymiseen tarvittava aika, ka. (s) 69 78

Taulukko 1. Tehtävän tulokset.

Vertailimme myös hakujen onnistumista kirjojen välillä. Kuvassa 3 pylväät esittävät onnistuneiden hakujen (kirja löytyi, mahdollisesti useiden hakuyritysten jälkeen) osuuden kirjoittain käyttäen joko Kirjasammon tai Annifin kuvailuja, ja suluissa on kirjan etsintäkertojen lukumäärä (montako osallistujaa etsi kirjaa). Noin puolella kirjoista kirja löytyi joka kerta Kirjasammon kuvailuja käytettäessä. Ainoastaan Tuula Rokan teosta Aino ja kohtaloita ei löytynyt yhdelläkään etsintäkerralla Kirjasammon kuvailujen avulla. Toisaalta etsintäkertojakin oli ollut vain neljä. Sen sijaan Markku Pietikäisen Valta ja kunnia -teosta etsittiin 13 kertaa, ja joka kerralla se löytyi sekä Kirjasammon että Annifin kuvailuja käyttäen. Annifin kuvailujen kautta jäi 5 kirjaa kertaakaan löytymättä (Lauseita päivään, Paha kurki, Serkkuteoria, Nenättömän miehen salaisuus, Pyörätuolisuperi ja tehtävä Kotkavuorella).

Vaakadiagrammi onnistuneiden hakujen osuuksista.

Kuva 3. Onnistuneiden hakujen osuudet etsintäkerroista kirjoittain (pylväät) ja kirjan etsintäkertojen lukumäärä (luku suluissa).

Yhteenveto

Tiedonhakutehtävän jälkeen keskusteltiin kaunokirjallisuuden automaattisesta kuvailusta ylipäätään, ja keskustelun tukena käytettiin Menti-kyselyä. Kävi ilmi, että kaunokirjallisuuden kuvailussa ovat tärkeitä myös paikan- ja henkilönimet sekä genre.

Keskustelussa ja tehtävän purussa nousi esiin  myös  se, että pelkän takakansitekstin perusteella etenkin koneoppimismallien saattaa olla haastavaa tehdä kuvailua. Takakansitekstit kun saattavat olla hyvinkin suppeita, kuten edellä mainittiin. Keskustelua herätti myös runojen ja sarjakuvien automaattinen kuvailu, joka saattaa olla vielä haastavampi tehtävä algoritmeille.

Mikäli lukijoita kiinnostaa kokeilla kaunokirjallisuuden automaattista kuvailua itse, voi suunnata osoitteeseen https://ai.finto.fi ja valita sanastoksi Kaunon. Parhaiten tämä toimii kaunokirjallisten teosten kuvausteksteillä, joilla malli on koulutettu. Finto AI:n verkkolomakekäytön opas antaa tukea, mutta meihin voi ottaa yhteyttä ja antaa palautetta.

Kiitos vielä kerran työpajan osallistujille, Kirjastoverkkopäivien järjestäjille sekä työpajan totetutukseen ja suunnitteluun osallistuineille Tuomas Aitonurmelle ja Marjut Puomiselle!

Lähteet ja viitteet

Työpajatehtävässä käytetyn hakujärjestelmän koodisäilö:
https://github.com/NatLibFi/kivepa-booksearch-workshop

Tässä artikkelissa käytetyn aineiston analyysi Jupyter Notebook -tiedostossa:
https://github.com/NatLibFi/kivepa-booksearch-workshop/blob/main/analysis.ipynb

Aikaisemmat Tietolinja-artikkelit Annifista

Lehtinen M, Inkinen J & Suominen O (2019). Aaveita koneessa: Automaattisen sisällönkuvailun arviointia Kirjastoverkkopäivillä 2019. Tietolinja, 2019(2). Pysyvä osoite: http://urn.fi/URN:NBN:fi-fe2019120445612

Lehtinen M & Suominen O (2021). Annifin kuulumisia. Tietolinja, 2021(1). Pysyvä osoite: https://urn.fi/URN:NBN:fi-fe2021061938987

Inkinen J, Lehtinen M & Suominen O (2021). Automaattisen kuvailun arvoituksia Kirjastoverkkopäivillä 2021.Tietolinja, 2021(2). Pysyvä osoite: https://urn.fi/URN:NBN:fi-fe2021121661232

Lehtinen M (2022). Annifin kuulumisia. Tietolinja, 2022(2). Pysyvä osoite: https://urn.fi/URN:NBN:fi-fe2022121571947

Inkinen J., Lehtinen M. & Suominen O. (2023). Annifin ehdotusten osuvuus on parantunut Theseus-julkaisuarkistossa. Tietolinja, 2023(1). Pysyvä osoite: https://urn.fi/URN:NBN:fi-fe2023062865282

Kirjoittajat

Mona Lehtinen, tietoasiantuntija
Juho Inkinen, tietojärjestelmäasiantuntija
Osma Suominen, tietojärjestelmäasiantuntija

Kaikki kirjoittajat työskentelevät Kansalliskirjastossa. Heidät tavoittaa sähköpostitse, ja sähköpostit ovat muotoa etunimi.sukunimi [at] helsinki.fi

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.