Logo, jossa lukee 'blog' ja edessä tyylitelty kirjain 'L', jota ympäröivät lainausmerkit.

Lingsoftilla on akateemiset juuret, sillä yrityksen perusti vuonna 1986 kaksi Helsingin yliopiston professoria, Fred Karlsson ja Kimmo Koskenniemi. Yhteistyö suomalaisten ja muiden pohjoismaisten tutkimusorganisaatioiden kanssa tehokkaiden kieliteknologiaratkaisujen kehittämiseksi pohjoismaisille kielille on aina ollut tärkeä osa Lingsoftin strategiaa.

Tässä jutussa kerromme siitä, miten Lingsoft hyödynsi kaupallisessa konekäännösratkaisussaan suomalaista huippututkimusta osana Microservices at Your Service -hanketta. 

Ongelmanratkaisua: Konekäännöksissä suomesta ruotsiin löytyy englantia. Miten ja miksi?

Konekääntäminen on nykypäivänä keskeinen osa Lingsoftin kaltaisten kielipalveluyritysten käännösprosessia. Lingsoftin neuroverkkopohjaiset konekäännösmallit (NMT) perustuvat avoimen lähdekoodin ohjelmistoon, jota on koulutettu sadoilla miljoonilla sanoilla kussakin kieliyhdistelmässä. Tällä hetkellä Lingsoft kääntää näitä malleja hyödyntäen noin kaksi miljoonaa sanaa kuukaudessa, mikä tuottaa huomattavia säästöjä käännöstuotantoon.

Konekäännös ei kuitenkaan aina ole sellaisenaan riittävän laadukas, minkä vuoksi Lingsoft käyttää aina ammattikääntäjää (eli ihmistä), joka tarkistaa ja korjaa konekäännöksen ennen kuin se toimitetaan asiakkaalle. Tätä prosessia kutsutaan konekäännöksen jälkieditoinniksi.

Konekäännöksen tarkoituksena on auttaa kääntäjiä työssään, ainakin useimmissa tapauksissa, ja jos konekäännöksen laatu on poikkeuksellisen heikko, kääntäjät usein raportoivat asiasta Lingsoftille. Useimmiten yksittäisille, kääntäjien raportoimille huonoille konekäännöksille ei ole helppoa korjausmenetelmää, vaan meidän on vain noudatettava alan johtavia prosesseja ja luotettava siihen, että konekääntämisen saralla tehty kehitys tekee jatkossa konekäännöksistä entistä luotettavampia. Joskus kuitenkin ilmenee sellaisia toistuvia virheitä, joita pystymme korjaamaan. Yksi tällainen pulmatilanne koski käännöksiä suomesta ruotsiin. Kääntäjät raportoivat, että suomesta ruotsiin käännettäessä konekäännös tuotti joskus käännöksen englanniksi ruotsin sijaan.

Tutkimme asiaa ja pääsimme sen juurisyyn jäljille: suomi–ruotsi-käännösmallia oli koulutettu liian monilla suomi–englanti-teksteillä. Miten näin pääsi käymään? 

Suomi–ruotsi-konekäännösmallia oli koulutettu yli kymmenellä miljoonalla segmentillä (noin sadalla miljoonalla sanalla) tekstiä, joiden oletettiin olevan käännöksiä suomesta ruotsiin (käännössegmentti on yleensä yhden virkkeen tai muutaman sanan mittainen, kuten vaikkapa otsikko). Suurin osa tästä tekstimassasta tulee käännösmuisteista. Vaikka käännösmuistien pitäisikin periaatteessa sisältää puhdasta aineistoa, tässä tapauksessa käännöksiä suomesta ruotsiin, käytännössä joukkoon usein joutuu jonkin verran ainestoa muistakin kielistä. Tästä syystä jokainen segmentti ajetaan kielentunnistustyökalun läpi, jotta joukosta saadaan poistettua sellainen aineisto, joka ei sisällä käännöksiä suomesta ruotsiin. Koska konekäännös kuitenkin tuotti väärää kieltä, vaikutti siltä, että suomi–ruotsi-aineiston joukossa oli ollut liikaa suomi–englanti-segmenttejä. Kielentunnistustyökalu ei siis ollut toiminut odotetulla tavalla.

Vääränkielisen aineiston poistaminen suomi–ruotsi-käännösten joukosta ei ole aivan yksinkertaista. Englannissa ja ruotsissa on paljon samannäköisiä sanoja, kuten ”in”, ”I”, ”and”, ”taxi” ja ”bus”, vaikka ne eivät aina tarkoitakaan samaa, ja joukossa on tietysti paljon myös henkilöiden, paikkojen ja organisaatioiden nimiä. Lisäksi on aivan tavallista, että suomen- tai ruotsinkielisten virkkeiden ja käännösten joukossa on jonkin verran vieraskielistä aineistoa, erityisesti englantia. Jos suomenkielisessä lähdevirkkeessä on pieni pätkä englantia, se usein jätetään englanniksi myös ruotsinnokseen. Tekstissä voi esimerkiksi esiintyä englanninkielisiä organisaatioiden nimiä, joille ei ole virallisia suomen- tai ruotsinkielisiä vastineita, tai tekstissä voi olla lyhyitä englanninkielisiä ilmaisuja tai lainauksia. Neuroverkkomallin on tärkeää oppia käsittelemään myös tällaisia aineistoja, minkä vuoksi haluamme säilyttää tällaisetkin tekstit koulutusaineistossa. Joukosta halutaan kuitenkin saada pois sellaiset virkkeet, jotka on selkeästi käännetty suomesta englanniksi (tai jollekin muulle kielelle) ruotsin sijaan.  

Yleisimmät mittarit kielentunnistustyökalun laadun mittaamiseen ovat tarkkuus ja herkkyys. Tarkkuudella mitataan, miten suuri osuus niistä segmenteistä, jotka työkalu arvioi ruotsinkielisiksi, todella ovat ruotsinkielisiä. Herkkyydellä puolestaan mitataan, miten suuren osuuden ruotsinkielisistä segmenteistä työkalu arvioi ruotsinkielisiksi. Parhaat työkalut ovat luotettavia sekä tarkkuuden että herkkyyden suhteen. Kun käsiteltävää aineistomassaa on kymmeniä tai jopa satoja miljoonia sanoja, prosentinkin virhemarginaali saa aikaan suuren heiton. Jos tarkkuus esimerkiksi on 98,9 % sen sijaan, että se olisi 99,9 %, aineiston joukkoon saattaa joutua jopa miljoona sanaa enemmän englantia ruotsin sijaan. Vaikka aineistossa olisi 99 miljoonaa ruotsinkielistä sanaa, miljoona englanninkielistä sanaa voi hyvinkin riittää siihen, että neuroverkkopohjainen konekäännöstyökalu toisinaan oppii kääntämään englanniksi, erityisesti jos englanninkielinen aineisto ei koostu vain satunnaisista tunnistusvirheistä vaan tulee järjestelmällisesti tietyltä asiakkaalta.

Tommi Jauhiainen tutki kielentunnistuksen tehostamista Lingsoftin ja Helsingin yliopiston yhteistyössä toteuttamassa ja Vaikuttavuussäätiön rahoittamassa Tandem Industry Academia -hankkeessa. Yleisesti käytetyllä testausmenetelmällä arvioituna uuden kielentunnistustyökalun tarkkuus oli yllä mainittu 99,9 % (ja herkkyys 99,6 %), kun taas vanhan, suhteellisen hyvän työkalun tarkkuus oli 98,9 % (ja herkkyys 96,4 %). Uudella työkalulla, jolle Jauhiainen antoi nimeksi HeLI-OTS, pystyttäisiin siis todennäköisesti poistamaan aiemmin ongelmia aiheuttaneet englanninkieliset käännökset.

Tutkimustyökalusta kaupalliseen käyttöön

Microservices at Your Service -hanke toteutettiin samaan aikaan kielentunnistustyökalun kehityshankkeen kanssa. Yksi hankkeen ehdotuksista oli, että Jauhiaisen kehittämään työkaluun lisättäisiin ohjelmointirajapinta ja se pakattaisiin Docker-tiedostoksi, mikä helpottaisi työkalun jakamista, testausta ja integrointia. Microservices at Your Service -hankkeen osana Lingsoft otti tehtäväkseen lisätä Heli-OTS-työkaluun. REST-ohjelmointirajapinnan ja pakata sen helposti jaettavaan Docker-muotoon. HeLI-OTS-työkalu oli toteutettu Javalla, kun taas Lingsoftin kieliteknologiatyökalut ja alustat ovat pääasiassa C- ja Python-pohjaisia. Kun HeLI-OTS oli pakattu Docker-muotoon, vältyimme yhteensopivuusongelmilta HeLI-OTS-työkalua tukevien ympäristöjen ja muiden työkalujemme ja alustojemme välillä. Sen lisäksi, että työkalu saatiin Lingsoftin omaan käyttöön, jaoimme sen European Language Grid -palvelussa, jonka tavoitteena on kerätä yhteen eurooppalaisia kieliteknologiaratkaisuja.

Ohjelmointirajapinnan ja Dockerin avulla yhteistyökumppanimme Helsingin yliopisto pystyi yksinkertaisella tavalla turvaamaan immateriaalioikeutensa hankkeessa ja samalla tarjoamaan työkalunsa muiden tutkijoiden ja kehittäjien käyttöön, jolloin tutkimustyön vaikuttavuus saatiin maksimoitua. Hankkeen kaupallisena kumppanina Lingsoft sai käyttöönsä alan uusinta teknologiaa hyödyntävän työkalun, joka oli helppo integroida olemassa oleviin ohjelmistoihin.

Kun suomi–ruotsi-konekäännösmalli sitten koulutettiin uudelleen aineistolla, joka oli käsitelty uudella, Docker-muotoisella kielentunnistustyökalulla, liiallisten englanninkielisten konekäännösten ongelma katosi.

Microservices At Your Service logo. Tagline says "Brigding the gap between NLP Research and Industry
The logo of European union with dark blue background and yellow circle of stars. Text below it reads: "Co-financed by the Connecting Europe Facility of the European Union".

Categories:

Lisää uutisia Lingsoftilta