11.07.2015 Views

Saatavana elektronisessa muodossa - Tietojenkäsittelytieteiden ...

Saatavana elektronisessa muodossa - Tietojenkäsittelytieteiden ...

Saatavana elektronisessa muodossa - Tietojenkäsittelytieteiden ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

iiLyhenteetADRT = Adaptive Document Recoginition TechnologyAPI = Application Programming InterfaceBAG = Block Adjacency GraphDIR = Document Image Recognitiondpi= Dots Per InchICR = Intelligent Character RecognitionIFPS = Intelligent Forms Processing SystemIR = Information RetrievalIRM = Image and Records ManagementIWR = Intelligent Word RecognitionNAS = Network Attached StorageOCR = Optical Character RecognitionOFR = Optical Form RecognitionOHR = Optical Handwriting RecognitionOMR = Optical Mark RecognitionPDF = Portable Document FormatSAN = Storage Area NetworksSDK = Software Development KitSLM = Statistical Language ModelSOAP = Simple Object Access Protocol


iv6.7.4. Integraatio tiedostonhallintaan ...................................................... 386.8. Tiedostoformaateista ..................................................................................... 397. Tiedot tietomalliin ................................................................................................... 417.1. Tunnettu tietomalli ........................................................................................ 417.2. Tuntematon tietomalli .................................................................................. 428. Diagnostiikka ja etähallinta prosessissa ............................................................... 439. Markkinakatsaus valmisratkaisuihin ................................................................... 459.1. ABBYY Finereader ......................................................................................... 459.2. FormSuite ........................................................................................................ 479.3. OCRopus ......................................................................................................... 489.4. SimpleIndex .................................................................................................... 489.5. WindFORM .................................................................................................... 4910. Yhteenveto .............................................................................................................. 51Viiteluettelo .................................................................................................................. 53Liite 1 ............................................................................................................................. 62Liite 2 ............................................................................................................................. 64


2Tässä tutkimuksessa tarkastellaan paperilomakkeiden digitalisointiprosessinautomatisointia käytännöllisestä näkökulmasta. Tarkoituksena on löytäävastaus kysymyksiin: ”Miten ja kuinka pitkälle paperilomakkeiden digitalisointivoidaan automatisoida?” ja ”Miten tutkimustuloksia on realisoitu käytäntöön?”.Lisäksi tavoitteena on antaa lukijalle riittävä tietämys prosessin eri osaalueistasekä seikoista, jotka on hyvä huomioida tarkoitusta varten soveltuvaajärjestelmää suunniteltaessa. Esillä ovat niin tarvittavat laitteet kuin käytetytmenetelmät. Lisäksi tarkastellaan järjestelmään sopivia ohjelmistokirjastoja javalmisratkaisuja.Paperilomakkeiden digitalisointiprosessi on mahdollista automatisoida osittaintai jopa kokonaan [Shirari et al., 1994]. Tietotekniikka on kehittynyt ja kehittyyedelleen päätä huimaavaa vauhtia sekä laitteiden että ohjelmistojen osalta,ja tämä antaa aina vain paremmat mahdollisuudet prosessin automatisointiin.Skannereiden tekniikka on kehittynyt, tarkkuus on parantunut ja nopeuson kasvanut, tekstin tunnistamisessa tarkkuus sekä virheherkkyys ovat parantuneetja lomakkeiden tunnistaminen on kehittynyt. Automatisoitaessa prosessiatodelliset tarpeet on huomioitava erikseen, koska ne voivat olla hyvin erilaisia.Tarve voi olla rajattu, kuten esimerkiksi matemaattisten kaavojen tunnistaminen,joka vaatii omaa erityishuomiotaan [Lavirotte and Pottier, 1998] taipelkkä lomakkeen sisältäminen nimien tunnistaminen [Likforman-Sulem et al.,2006].Osittaisen avun paperilomakkeiden käsittelyyn tarjoaa jo pelkkä materiaalindigitalisointi skannerin avulla. Skannaamisen jälkeen materiaali on tallessasähköisesti ja materiaalin jakaminen muille sitä tarvitseville henkilöille ja tahoillehelpottuu sekä nopeutuu. Lisäksi materiaaliin voidaan tarvittaessa tehdäerilaisia merkintöjä, jotka ovat kaikkien materiaaliin käsiksi pääsevien henkilöidensaatavilla, ja mikä tärkeintä, aina ajan tasalla. Tämä vähentää esim. päällekkäisentyön vaaraa. Materiaalin tarkistaminen alkuperäiseen vertaamalla onhelppo suorittaa, jos skannattuun materiaaliin kytketään tieto, missä alkuperäistäpaperilomaketta säilytetään [Tang and Liu, 1997]. Tarve voi olla myösohjeellinen tai lain säädösten mukainen.Optinen tekstintunnistus [Mori et al., 1999] on järjestelmän kannalta oleellinenpalvelu, jotta kuvien sisältämä teksti saadaan muunnettua merkkijonoiksi.Tämä mahdollistaa tiedon suodattamisen ja lisäksi vähentää tarvittavan tallennustilanmäärää. Käyttäjää tarvitaan prosessissa korjaamaan tunnistuksen jäljellejättämät virheet sekä tarvittaessa myös ohjaamaan kerätyt tiedot oikeaanpaikkaan tietomallissa. Tietojen kohdistamisen automatisoimiseksi järjestel-


3mään voidaan sisällyttää lomakemalli, joka täsmentää lomakkeeseen kuuluvienkenttien tarkoitusta käyttäjän valitsemilla avaimilla. Näin käyttäjän vastuullejää vain prosessin toiminnan valvominen sekä virheiden korjaaminen.Johdannon jälkeen luvussa 2 luodaan yleissilmäys prosessin eri vaiheisiin.Esiin otetaan myös tekijät, joita järjestelmää suunniteltaessa on syytä ottaahuomioon. Prosessin esittelyn jälkeen vuorossa on tarkempi perehtyminen prosessineri vaiheisiin.Luvussa 3 keskitytään prosessin ensimmäiseen vaiheeseen eli skannaukseen.Lisäksi tutustutaan kuvanlukijoihin liittyvään tekniikkaan ja niiden sisältämiinominaisuuksiin.Lomakkeiden fyysisen ja loogisen rakenteen määrittelyä selvitetään luvussa4. Tärkeässä osassa ovat rakenteen automaattisesti tunnistavat menetelmät, jotkatehostavat prosessin suoritusta.Lomakkeeseen sisältyy tavallisesti jonkin verran semantiikkaa, joka ei välttämättäsuoraan selviä itse lomakkeesta. Tätä auttamaan voidaan lomakerakenteenpäälle luoda lomakemalli, joka tarkentaa rakenteen sisältöä, ja tähän perehdytäänluvussa 5.Prosessin kannalta haastavin osa-alue tekstintunnistus käsitellään luvussa6. Tarkasteltavana ovat erilaiset tekstintunnistuksessa käytössä olevat menetelmät,sekä järjestelmän kehityksessä hyödynnettävissä olevat kirjastot.Luvussa 7 käsitellään prosessin viimeistä vaihetta eli tietojen tallentamistakäytettävään tietomalliin. Esillä on vaihtoehtoisia tapoja tietomallin kytkemiseksijärjestelmään.Luvussa 8 käsitellään diagnostiikkaan ja etähallintaan liittyviä näkökohtiajärjestelmän kannalta, sekä mitä hyötyä niillä voidaan saavuttaa käyttäjän jaylläpidon kannalta.Vielä ennen tutkimuksen yhteenvetoa luvussa 10 luodaan silmäys kaupallisillemarkkinoille luvussa 9. Markkinakatsauksessa on mukana ohjelmia, joillakäyttäjä voi suoriutua digitalisointiprosessista alusta loppuun.


42. Yleiskuvaus paperilomakkeiden digitalisointiprosessistaSeuraavaksi luodaan yleissilmäys paperilomakkeiden digitalisointiprosessiin.Tarkasteltavaksi otetaan prosessin kokonaisrakenne sekä erilaiset prosessin toteutuksessatarvittavat osa-alueet. Lisäksi selvitään, millä tavoin prosessi toimintaon toteutettavissa, ja lopuksi kuvataan varmistusmekanismeja, joilla varaudutaanprosessin aikana ilmeneviin ongelmiin.Paperilomakkeiden digitalisointiprosessi koostuu seuraavista vaiheista: paperilomakkeidenskannaaminen, lomakerakenteen määrittely, lomakemallinmäärittely, tekstintunnistus ja tietojen syöttäminen tietomalliin [Lam et al.,1993]. Nämä ovat prosessin kannalta selkeät päävaiheet, joista jokainen sisältäävähäisempiä alavaiheita kuten esim. kuvien esikäsittely skannauksen yhteydessä.Kuvassa 1 on nähtävissä yleiskuva järjestelmän rakenteesta.Prosessi on hyvin pitkälle automatisoitavissa, mutta käyttäjää tarvitaan kuitenkinaina vähintään syöttämään lomakkeita kuvanlukijaan. Tämä voi kuitenkinolla kertaluontoinen toimenpide, jos käytettävässä kuvanlukijassa on riittäväniso arkinsyöttölaite.Lomakerakenne on kuvaus lomakkeen fyysisestä rakenteesta sisältäen lisäksiloogisen jaottelun kuten ylä- ja alatunnisteet [Klink et al., 2000]. Tunnistamiseenvoidaan käyttää apuna lomakkeen sisältämää visuaalista sekä symbolistainformaatiota [Faure, 2000]. Rakenteessa tulisi olla kenttien osalta mukanavähintään kenttäkoodaus ja paikkainformaatio jokaisesta lomakkeen kentästä.Käyttäjä on yleensä hyvä ottaa mukaan lomakerakenteen määrittelyyn, ainakinoikeellisuuden tarkistamista varten, vaikka toimenpide muutoin automatisoitaisiintäysin. Tarkistustoimenpiteellä varmistetaan luodun lomakerakenteenoikeellisuus suhteessa todelliseen lomakkeeseen ennen varsinaista tiedon työstämistä.Lisäksi käyttäjälle on hyvä antaa mahdollisuus ottaa kantaa rakenteeseenmyös manuaalisesti [Antonacopoulos and Karatzas, 2004]. Lomakerakenteenluominen voi tapahtua manuaalisesti, puoliautomaattisesti tai automaattisesti[Sherkat et al., 2005].Lomakerakenne ei sisällä semantiikkaa liittyen kenttien kuvaamaan informaatioon.Tätä varten järjestelmä voi sisältää lomakemallin, joka tarkentaa lomakerakenteensisältämien kenttien tarkoitusta erilaisten attribuuttien avulla.Lomakemalli on käytännössä looginen lisäkerros lomakerakenteen päälle.


5Kuva 1. Yleiskuva järjestelmästä.2.1. Prosessin toteuttaminenProsessi voidaan toteuttaa kahdella tavalla: jokainen paperilomake voidaan käsitelläalusta loppuun kerralla tai käsittely voidaan tehdä vaiheittain. Vaiheittaisessatoteutuksessa kaikki lomakkeet käsitellään aina ennen siirtymistä seuraavaanvaiheeseen.Liukuhihnan kaltainen paperilomakkeen digitalisointiprosessi on yksinkertainentoteuttaa. Käsiteltävä paperilomake skannataan, tunnistetaan, analysoidaanja tallennetaan tietomalliin ennen kuin seuraava paperilomake otetaan kä-


7• skannaaminen• tietomalliin tallennus.Skannaus on prosessin aikaa vievin vaihe, joka lisäksi sitoo käyttäjän laitteenääreen, jos ei täysin, niin ainakin osittain. Skannauksen edistyessä skannatuistakuvista kannattaa tehdä varmuuskopiot ennalta määritettyyn paikkaan[Casey et al., 1992]. Tällöin tallennettu materiaali on käytettävissä prosessinkeskeytyessä esimerkiksi järjestelmän kaatumisen takia, eikä uudelleenaloitusaivan alusta ole välttämätöntä. Prosessia voidaan jatkaa viimeiseksi tallennetustapaperilomakkeesta.Tietomalliin tallennus on järjestelmän kriittisin vaihe. Jos tieto ei tallennu taise tallentuu väärin ja ongelma huomataan vasta prosessin valmistuttua, työjoudutaan aloittamaan alusta. Tämä on silkkaa ajan ja resurssien tuhlaamista.Ongelmaan voidaan varautua tekemällä kerätystä informaatiosta varmuuskopioalkuperäisessä formaatissa. Tarvittaessa varmuuskopio voidaan ottaa käyttöönja ajaa sen sisältämät tiedot uudestaan tietomalliin, siten että tiedot ovatsiinä <strong>muodossa</strong>, kuin tietomallin kannalta on oleellista.Tietojen varmistaminen voidaan toteuttaa sisäisesti järjestelmän kiinteänäosana tai vaihtoehtoisesti ulkoistamalla. Ulkoistettua varmistusta käytettäessätiedot voidaan tallentaa fyysisesti eri paikkaan kuin missä järjestelmä sijaitsee,jos käytettävissä on verkkoyhteys. Verkon ylitse toimivia varmistusmenetelmiäovat esimerkiksi SAN- (Storage Area Networks) ja NAS- (Network AttachedStorage) järjestelmät [Gibson and Rodney, 2000]. Fyysisesti eri paikassa sijaitsevavarmistus on samalla tärkeä osa riskienhallintaa, koska varsinaisen järjestelmänkärsiessä fyysisen vaurion, tiedot ovat kuitenkin tallessa ja palautettavissa.Varmistukseen voidaan käyttää myös saatavilla olevia ilmaisia verkkopalveluja,joita löytyy nykyään useita [Traeger et al., 2006]. Ilmaispalveluissakäytettävissä oleva tila voi kuitenkin olla hyvin rajallinen ja tietoturvaan onmyös syytä kiinnittää erityistä huomiota.Varmistus voi toisinaan tuntua turhalta ja järjestelmää tarpeettomasti raskauttavalta,unohtamatta datan tarvitsemaa tallennustilaa. Digitalisoitavia lomakkeitaollessa vain muutamia ei työn aloittaminen alusta prosessin keskeytymisenjälkeen ole ajallisesti iso asia. Toisin kuitenkin on, jos paperilomakkeitaon satoja tai jopa tuhansia, jolloin prosessi kokonaisuudessaan vie paljon aikaa.Ongelmat ja uudelleen aloitus ovat tällöin omiaan lisäämään käyttäjän turhautumistaetenkin, jos ongelmat ovat toistuvia.


9Arkinsyöttölaitteiden kapasiteetit vaihtelevat muutamasta kymmenestä useisiinsatoihin.Laitteen skannausnopeuden tärkeys korostuu skannattavien lomakkeidenmäärään ollessa suuri. Kotikäyttöön tarkoitetut laitteet ovat yleensä varsin hitaitaja tyypillinen skannausnopeus on 1-5 sivua minuutissa. Ero on huomattava,kun sitä verrataan asiakirjakuvanlukijoihin, jotka yltävät jopa sadan sivunkäsittelynopeuksiin minuutissa. Taulukkoon 1 on laskettu skannattujen sivujenmäärä eri aikajaksoilla. Taulukossa ei ole huomioitu arkin vaihtamiseen tai arkinsyöttölaitteentäyttämiseen kuluvaa aikaa. Taulukossa 2 on oletettu, että arkinvaihtamiseentai arkinsyöttölaitteen täyttämiseen kuluu aikaa 5 sekuntia.Arkinsyöttölaitteen käyttäminen on käytännössä tehokkaampaa kuin yksittäisenarkin vaihtaminen kuvanlukijan lukija-alustalle, koska arkinsyöttölaite onaina skannauksen valmistuttua tyhjä.Skannattuja sivujaSivua/min 1h 3h 8h1 60 180 48010 600 1800 480030 1800 5400 1440060 3600 10800 28800100 6000 18000 48000Taulukko 1. Jatkuva skannausnopeus.Skannattuja sivujaSivua / min Arkinsyöttö 1h 3h 8h1 1 55 166 44310 1 327 982 261830 10 1440 4320 1152030 50 1714 5143 1371460 10 2400 7200 1920060 100 3429 10286 27429100 50 5143 15429 41143100 250 5806 17419 46452Taulukko 2. Skannausnopeus, jos arkinvaihto vie 5s.Tasokuvanlukijoiden hinnoissa on huomattavia eroja. Kotikäyttöön tarkoitettukuvanlukija saattaa maksaa vain muutaman kymmenen euroa, kun taasjäreä toimiston asiakirjakuvanlukija maksaa muutamasta sadasta aina tuhansiineuroihin.


11Kuva 2. Esimerkki vinosta ja suorasta skannauksesta.Skannattu kuva olisi mahdollista suoristaa manuaalisesti käyttämällä apunapiirto-ohjelmaa, mutta se olisi prosessin kannalta liian hidasta. Ihminen voi joskusolla tunnollisuudessaan liiankin tarkka, kun taas kone suorittaa toimenpiteenvalmiiksi ja sillä hyvä. Ihmiselle työ olisi myös varsin monotonista, jos käsiteltäviäkuvia on paljon. Automaattisesti vinouden tunnistavat menetelmätvoidaan jakaa karkeasti kolmeen kategoriaan:• Projektion profilointi• Houghin siirtymä• Lähin naapuri [Kwag et al., 2002].Näistä Houghin siirtymä on ehkä eniten käytetty menetelmä. Se on yksinäänkuitenkin laskennallisesti kallis operaatio suhteessa haluttuun tarkkuuteen,kuten on myös projektion profilointiin perustuvien menetelmien laita. Tuloksetkummankin osalta ovat hyviä ja siksi etenkin Houghin siirtymään pohjautuviamenetelmiä on tutkittu paljon. Lähin naapuri -menetelmä voi ollamyös kallis, jos naapurisuhteita on paljon. Kahden ensimmäisen menetelmänlaskennallisesti järkevän tunnistustarkkuuden raja on +/- 15%, kun taas viimeinenmenetelmä kykenee käsittelemään jopa +/- 45% vinoutumia.Houghin siirtymää nopeuttamaan on esimerkiksi ehdotettu menetelmää,jossa kuva jaetaan tunnistusta varten alueisiin. Jokaisesta alueesta otetaan yksitunnistuspiste, joka on alueen vasenta yläkulmaa lähinnä oleva musta pikseli.Saatujen tunnistuspisteiden avulla lasketaan suuntaa antava vinouma. Kol-


12mannessa ja viimeisessä vaiheessa hyödynnetään Houghin siirtymää ja lasketaanaiemmin saatujen tulosten perusteella tarkempi arvo vinoutumalle [Jianget al., 1997].Toisessa Houghin siirtymää käyttävässä menetelmässä kuva jaotellaanaluksi toisiinsa yhteydessä oleviin alueisiin. Jaottelun jälkeen alueet ryhmitelläänkokonaisuuksiksi koon ja sisällön perusteella. Jokaiselle ryhmällä arvioidaanseuraavaksi vinouma käyttäen Houghin siirtymää vain alueen osajoukkoon.Arvioinnin jälkeen lasketaan tarkempi vinouma ja viimeiseksi lasketaankoko kuvan vinouma käyttäen painotettuja ryhmien vinoumia. Menetelmä keventäälaskentaa, koska laskennalliset alueet ovat rajattuja [Amin and Fischer,2000].Edellä esitetyn Aminin ja Ficsherin ehdottaman lähestymistavan kaltaistamenetelmää on sovellettu myös eräässä BAG-esitystä käyttävässä menetelmässä.Erottava tekijä on kuitenkin lähtöalueiden määrittely, joka tapahtuu keräämälläkuvasta vain rajattu määrä alueita tunnistamista varten. Alueiden keräämisenjälkeen lasketaan summittainen vinouma kuvalla ennen viimeistävaihetta, jossa valittuun alueeseen sovelletaan Houghin siirtymää. Laskennallistaraskautta saadaan jälleen vähennettyä, koska alueen koko on rajattu[Kwag et al., 2002].Poikkeavia lähestymistapoja ongelman ratkaisemiseksi on myös tutkittu.Näistä voidaan ottaa esimerkkinä menetelmä, jossa vinouma lasketaan tekstiriveillekuuluvien vertikaalisten pikseleiden avulla [Gatos et al., 1997]. Menetelmänensimmäisessä vaiheessa kuva käsitellään siten, että kirjaimia ja sanoja sisältävätrivit mustataan. Pikseleiden mustaamisen jälkeen kuvasta valitaan vähintäänkaksi saraketta, joista kerätään jokaisen rivin vertikaalinen aloituspikseli.Kerättyjä pikseleitä käyttäen muodostetaan korrelaatiomatriisi, jolla saadaanlaskettua kuvan vinouma.3.2.2. Artefaktien poisto kuvastaSkannatussa kuvassa voi esiintyä erilaisia virheitä kuten taustan tummuutta,heikkolaatuista tekstiä tai roskia (ks. kuva 3). Todellisten artefaktien poistaminenkuvasta ei ole yksinkertaista. Poistaminen voi jopa sotkea dokumentin sisältöäja aiheuttaa näin odottamattomia vaikutuksia esim. tekstin tunnistukseen.Mitään täydellistä ratkaisua ongelmaan ei ole, mutta esimerkiksi tiiviysanalysointiaon tutkittu yhtenä ratkaisuna. Tässä menetelmässä kuvaalueillelasketaan tiiviysarvo, jonka perusteella tehdään päätelmä onko kysees-


13sä artefakti vai ei. Tiiviysarvo lasketaan valitun alueen sisältämien täytettyjeneli värillisten pikseleiden perusteella siten, että kaikki em. pikselit huomioidaanlaskennassa. Raja-arvon 1.4 alle jäävä tiiviysarvo on merkki artefaktista [Neveset al., 2008].Kuva 3. Esimerkki tummuus- ja laatuvirheistä.Hiilikopiopaperit ovat hyvä esimerkki paljon artefakteja sisältävistä lomakkeista.Niissä esiintyy sekä väriongelmia että heikkolaatuista tekstiä. Tekstiävoi olla myös hankala erottaa taustasta, koska väriero voi olla hyvin vähäinen.Tunnistamistarkkuutta voidaan parantaa muuntamalla kuva täysin mustavalkoiseksi,jolloin sisällön kannalta oleelliset pikselit on helpompi erottaa taustasta.Tätä menetelmää kutsutaan binäärisaatioksi. Testeissä on saavutettu 9-21% kokonaisparannuksia tunnistettaessa tekstiä hiilikopiopaperista [Milewskiand Govindaraju, 2006].Artefaktien poistaminen ei aina ole mahdollista ennen dokumentin rakenteentunnistamista, koska toimenpide voi vaatia ymmärrystä rakenteesta [Abadet al., 2006].3.3. TehokkuusKuten jo aiemmin on todettu, nykypäivän kuvanlukijat kykenevät käsittelemäänparhaimmillaan n. 100 sivua minuutissa. Jos käsiteltäviä paperilomakkei-


14ta on tuhansia tai päivittäinen tarve ylipäätään on suuri, on syytä miettiä erilaisiakeinoja skannauksen tehostamiseksi.Yksinkertaisin tapa on kuvanlukijoiden sijoittelu. Laitteen tulee olla lähelläkäyttäjää, jotta uusia paperilomakkeita voidaan lisätä heti, kun laite on käsitellytsille syötetyt paperilomakkeet. Jos laite on sijoitettu pois näkyvistä, tuleeprosessiin väkisinkin tyhjäkäyntiaikoja, kun paperilomakkeiden lisääminenunohtuu.Kuvanlukija ei ole kuitenkaan täysin äänetön laite, joten sen sijoittaminenkäyttäjän työpisteen ääreen voi olla käyttäjää häiritsevää, jos laite on toiminnassakoko ajan. Parempi tapa on sijoittaa kuvanlukija erilliseen paikkaan ja käyttääjärjestelmän sisäistä diagnostiikkaa (ks. luku 8) pitämään käyttäjä ajan tasallaprosessin tilanteesta. Järjestelmän havaitessa, että uutta skannattua kuvaa ei oletullut oletusajan sisällä, käyttäjälle lähetetään tiedote joko sähköpostilla tai tekstiviestillä.Lisäksi voidaan käyttää muita reaaliaikaista viestinpalvelua, jos sellainenon saatavilla.Kuva 4. Esimerkki organisaatiosta, jossa käytetään useampaa kuvanlukijaa.Järjestelmän lähtökapasiteettia voidaan myös tarvittaessa nostaa ottamallayhden kuvanlukijan sijasta käyttöön useampia kuvanlukijoita. Tämä on huo-


15mioitava jo järjestelmän suunnitteluvaiheessa, jotta skaalautuvuus on mahdollista.Käytettäessä useampaa kuvanlukijaa voi yksittäisen kuvanlukijan kapasiteettiolla huomattavasti pienempi kuin vain yhtä kuvanlukijaa käytettäessä.Käytössä olevien kuvanlukijoiden kokonaiskapasiteetti on kuitenkin toiminnankannalta ratkaiseva tekijä. Lisäksi toimintaa voidaan tehostaa harkitulla kuvanlukijoidensijoittelulla. Kuvanlukijoiden ei siis tarvitse eikä tule olla yhdessä jasamassa paikassa, vaan ne voivat olla fyysisesti täysin eri paikoissa. Isossa organisaatiossa(ks. kuva 4) järjestelmä itsessään on keskitetty päätoimipaikkaan,mutta sisältöä voidaan tuottaa kuvanlukijoiden välityksellä kaikista alatoimipaikoista.Tällöin on syytä huomioida käytettävissä oleva verkkokapasiteetti.


164. Lomakerakenteen tunnistaminenSeuraavaksi tarkastellaan paperilomakkeen rakennetta kuvaavan lomakerakenteenmuodostamista. Käsiteltävänä ovat sekä manuaalinen luominen että automaattinentunnistaminen. Kummassakin tapauksessa perehdytään siihen, mitenskannattua kuvaa voidaan käyttää apuna. Lisäksi selvitään dokumenttitietämyksenmuodostamista sekä rakenteen luokittelua ja tunnistamista muotojenperusteella. Värien käyttö lomakkeessa otetaan myös esille ja viimeisenä perehdytääneditoinnin kannalta oleellisiin seikkoihin.Digitalisoitavan lomakkeen rakenteen määrittely on ensiarvoisen merkityksellistäsisällön tulkitsemisen kannalta. Lomakerakenne on lomakkeen virtuaalinenkuvaus, joka sisältää lomakkeen loogisen rakenteen lisäksi fyysisen rakenteen[Klink et al., 2000]. Tyypiltään lomakerakenne on useimmiten puu, muttase voi olla myös verkko.Lomakerakenteen määrittely voidaan tehdä täysin manuaalisesti tai jättääautomatiikan vastuulle osittain tai kokonaan [Staelin et al., 2007]. Määritettäessälomakerakenne manuaalisesti editorilla voidaan lomaketta käyttää silmämääräisestiapuna tai skannattua lomaketta voidaan käyttää ohjelman taustallaapuna, jolloin käyttäjä saa konkreettista apua määrittelyyn. Manuaalista lomakerakenteenmäärittelyä käsitellään lomakerakenteen editoinnin yhteydessä (ks.alakohta 4.6).Käytettävän järjestelmän luonne vaikuttaa omalta osaltaan lomakerakenteenmäärittelyyn. Jos järjestelmä on tarkoitettu vain tietyn tyyppisille lomakkeille,voidaan lomakerakenne määritellä muuttumattomaksi osaksi järjestelmää,koska tiedetään, että käsiteltävät lomakkeet ovat aina samankaltaisia.Tunnistamistarvetta ei siis tällöin ole.Oikeellisiksi varmistetut lomakerakenteet tallennetaan järjestelmän tuntemaantietosäiliöön tulevaa käyttöä varten. Prosessoitaessa uusia lomakkeitavoidaan tunnistettua lomakerakennetta vertailla tallennettuihin lomakerakenteisiinja hakea vastaavuuksia [Kebairi et al., 1999; Zhilan et al., 2007]. Jos löytyyannettujen toleranssien sisällä oleva lomakerakenne, voidaan se ottaa käyttöönuuden lomakerakenteen luomisen sijasta. Näin vältetään tarpeetonta vuorovaikutuskäyttäjän kanssa ja tehostetaan prosessin etenemistä. Vertailu voidaantehdä esimerkiksi vertaamalla rakenteesta muodostettua soluprojektiota käsiteltäväänlomakkeeseen [Peng et al., 2003]. Soluprojektio muodostetaan jakamallakuva alueisiin sisällön perusteella ja muodostamalla tämän jälkeen alueillevektorit, joita voidaan käyttää vertailuun.


17Prosessoitaessa samankaltaisia lomakkeita voidaan lomakerakennetta hyödyntäätekstin tunnistuksen yhteydessä antamalla tunnistettavaksi vain ne alueet,joista todella ollaan kiinnostuneita [Wu et al., 2008]. Skannatusta kuvan sisältämistäalueista voidaan luoda erilliset pienkuvat, jotka syötetään tekstintunnistukselle, tai vaihtoehtoisesti kuva annetaan tunnistettavaksi rajausten kera.Tehokkuutta tarkasteltaessa etu on huomattava, koska koko lomaketta eitarvitse käydä läpi.4.1. Automatisoitu tunnistaminenAutomatisoidun lomakerakenteen tunnistamisen tarkoituksena on vähentääkäyttäjän tarvetta puuttua itse prosessiin. Järjestelmä prosessoi lomakkeen itsenäisestija luo sitä vastaavaan virtuaalisen lomakerakenteen [Liang, 1999]. Alueet,kuten sivumarginaalit, jotka eivät ole sisällön kannalta merkityksellisiävoidaan jättää huomioimatta [Shafait et al., 2007]. Tunnistettu lomakerakenneon silti syytä hyväksyttää käyttäjällä, jotta tiedetään sen vastaavan todellisuutta.Lomakerakenteen sisältäessä virheitä voi käyttäjä korjata ne ennen lopullistahyväksymistä. Automaattiseen tunnistamiseen on olemassa useita erilaisia menetelmiäja niitä on tutkittu paljon [Mao et al., 2003]. Menetelmät rakenteentunnistamiseksi eroavat suuresti: jotkut perustuvat lomakkeen sisältämien viivojentunnistamiseen [Zheng et al., 2005] ja lomakkeen jaotteluun niiden perusteella[Couasnon, 2001], kun taas toiset tunnistavat rakenteen tekstin perusteella.Kuten jo aiemmin todettu on lomakkeiden järjestäminen toisinaan kannattavaa,jos tiedetään niiden olevan samankaltaisia. Tällöin voidaan aiemmin luotualomakerakennetta käyttää koko sarjan kanssa. Lomakkeiden ollessa epäjärjestyksessäjoudutaan jokaisen lomakkeen lomakerakenne selvittämään erikseen,jotta lomake saadaan tunnistettua.Lomakerakenteen automaattinen tunnistaminen on useimmiten parastatehdä erillistoimintona prosessin aloittamisen yhteydessä. Tämä tapahtuu siten,että järjestelmälle annetaan tunnistettavaksi käytettävä täyttämätön lomakeyhden tai useamman kerran. Annettaessa lomake useamman kerran on syytäkäyttää useampaa kuin yhtä lomaketta, jotta yhdellä lomakkeella olevat virheeteivät korostu tunnistuksessa. Useamman lomakkeen käyttäminen minimoi lomakkeellaja prosessin aikana esiintyvien virheiden vaikutusta tunnistettuunlomakerakenteeseen, koska lomakerakenne muodostetaan useamman lomakkeentunnistustiedoista. Vaihtoehtoisesti lomakerakenne voidaan luoda sarjanensimmäisen tai ensimmäisten täytettyjen lomakkeiden perusteella.


184.2. DokumenttitietämysTunnistamisen kannalta ei ole pelkästään oleellista erottaa lomakkeen eri osioitatoisistaan, vaan myös muodostaa tietämys dokumentin rakenteesta [Klink etal., 2000]. Tämä sisältää yleisesti käytettyjen dokumenttirakenteiden kuten yläjaalaotsikon, listojen ja taulukoiden tunnistamisen. Varsinaisten tekstikomponenttienosalta pyritään luomaan tietämys, jossa otsikot ja teksti ovat eroteltuina.Saaduille tekstikomponenteille voidaan antaa painoarvo, joka määrittää,mitä tyyppiä se on.Muodostetusta tietämyksestä voidaan luoda rakennepuu, jota voidaan käyttäähaettaessa käsiteltävään lomakkeeseen sopivaa lomakemallia. Vertailussavoidaan käyttää esimerkiksi yksiulotteisia vertikaalisia ja horisontaalisiaavaimia [Lin et al., 1996]. Rakenteesta muodostetaan erikseen sekä vertikaalinenettä horisontaalinen rakennepuu, jonka perusteella luodaan avain vertailuavarten.A1A5A2A3A4A1A5A2A3A4A8A6A7A8A6A7Kuva 5. Dokumentin rakenne ja vastaavat vertikaaliset 1D avaimet [Lin et al., 1996].Kuvassa 5 on tunnistettuna dokumentin rakenne sekä sitä vastaavat vertikaalisetpolut. Dokumentin vertikaalinen avain on A1A5A8A2A3A4A6A7. Vastaavallatavalla muodostetaan rakennetta vastaava horisontaalinen avain.4.3. Taulukoiden tunnistaminenLaskut, tilaukset yms. lomakkeet ovat useimmiten rakenteeltaan taulukon kaltaisiaja ne on jopa saatettu tehdä taulukkolaskentaohjelman avulla. Tunnistaminenvoidaan tehdä etsimällä lomakkeesta solut toisistaan erottavia tekijöitä,kuten viivoja. Yhtenä vaihtoehtona on esitetty menetelmää, jossa muodostetaan


19sanoista verkko, jossa sanaan linkitetään sen ylä- ja alapuolella sijaitsevat sanat.Menetelmä tunnetaan nimellä T-Recs [Kieninger and Dengel, 1999].Verkon muodostamisen jälkeen vuorossa on varsinainen taulukointi. Taulukointitoteutetaan asettamalla sanaverkon päälle hienojakoinen taulukko.Taulukon solu voi olla tyhjä, sisältää sanan tai sisältää osan sanasta. Tarkastelemallasanojen välisiä riippuvuuksia ja sijaintia taulukossa saadaan kerätty tietotaulukoitua. Menetelmän tarkkuus on riippuvainen käytettävän jakotaulukonsolukoosta.4.4. Solujen tunnistaminenTaulukko ei ole mitään muuta kuin kasa soluja, joiden sisällöllä on merkitystälomakkeen tekijälle. Tunnistaminen voidaan toteuttaa etsimällä lomakkeessaolevat solut ja muodostamalla niistä solurakenne [Belaïd and Belaïd, 1999].Kaikkia soluja ei kuitenkaan tarvita jatkossa, joten solut voidaan luokitella niidensisällön perusteella. Tämä ei kuitenkaan vielä kerro mitään solun varsinaisestakäyttötarkoituksesta.Solujen luokittelusta on hyötyä, koska tekstin tunnistuksen yhteydessä voidaanohittaa epäoleelliset solut sekä solut, joiden sisältö lomakkeella on kiinteä,esim. otsikkosolut. Soluille voidaan myös antaa manuaalinen avain, mikä helpottaainformaation vientiä tietomalliin. Avain kertoo tietomallille tiedon käyttötarkoituksentallentamisen yhteydessä. Periaatteessa avaimena voitaisiinkäyttää solun otsikkoa, mutta sijainnin tunnistaminen ei ole aivan yksiselitteistä.Erilaisia solutyyppejä voivat olla esimerkiksi:• DIGI: numeeriset kentät, joissa voi myös esiintyä +/-• GRAY: ei syötettä• HLET: horisontaalinen teksti• VLET: vertikaalinen teksti• HHCL: horisontaaliset isot kirjaimet• VHCL: vertikaaliset isot kirjaimet• BLAC: käänteisvärjätyt solut• EMPT: tyhjät solut [Belaïd and Belaïd, 1999].Avaimen liittäminen soluun ei onnistu automaattisesti, vaan se vaatii vuorovaikutustakäyttäjän kanssa. Tämä liittyy osaltaan lomakemalliin, mitä käsitelläänluvussa 5.


204.5. Värien käyttäminenLomakkeen tunnistusta voidaan helpottaa käyttämällä lomakkeessa värejä[Sherkat et al., 2005]. Väritietämys on myöhemmin hyödynnettävissä, kun ollaanerottelemassa sisällön kannalta epäoleellista tietoa todellisesta tiedosta.Tämä myös nopeuttaa kokonaisprosessia.Väreissä skannattu kuva vie paljon tallennustilaa, jos käytetään täyttä tarkkuutta.Värien vähentäminen on siksi useimmiten tarpeen ja jopa suotavaa.Lomakkeissa harvoin kuitenkaan käytetään useita eri värejä, joten vähentäminenei heikennä laatua. Periaatteessa jo yksibittiset värikomponentit, eli kahdeksanväriä, on riittävä tarkkuus. Värien vähentäminen helpottaa myös kuvankäsittelyä, koska sisällön vertailu on helpompaa.Värien käytön todellinen hyöty saavutetaan kuitenkin vasta lomakkeen sisältöäkäsiteltäessä. Tiedettäessä lomakkeen ns. kuolleet eli tarpeettomat väritvoidaan ne pudottaa heti prosessoinnin alussa pois. Näin jäljelle jää vain prosessinkannalta oleellinen informaatio.Testeissä on todettu, että värien käyttäminen nopeuttaa prosessia ja parantaatarkkuutta matalaresoluutioisten lomakkeiden yhteydessä [Sherkat et al.,2005].4.6. EditointiLomakerakenteen automaattiseen tunnistamiseen ei voida koskaan täysin varmastiluottaa. Siksi käyttäjälle on annettava mahdollisuus korjata lomakerakennetta.Tähän tarkoitukseen soveltuu parhaiten WYSIWYG-pohjainen käyttöliittymä,joka antaa käyttäjälle riittävän visuaalisen palautteen muokkaustoimenpiteistä[Kochi and Saitoh, 1999].Käyttöliittymästä tulee selkeästi erottaa tunnistetut alueet. Ne voidaan esittääkäyttäjälle suorakulmioina, jotka voivat olla värjättyjä erottamisen helpottamiseksi.Käyttäjän on pystyttävä muokkaamaan näitä alueita ja tarvittaessamyös lisäämään uusia [Taylor et al., 1992]. Siirtäminen voi tapahtua ottamallaalueesta esim. hiirellä kiinni ja raahaamalla se uuteen paikkaan. Koon muokkaaminenpuolestaan voi tapahtua ottamalla alueen kulmasta kiinni ja raahaamallajoko venyttäen tai kutistaen aluetta.Fyysisen rakenteen lisäksi lomakkeella on myös looginen rakenne, jotenkäyttäjän on myös pystyttävä vaikuttamaan siihen. Looginen rakenne voidaanesittää osin värikoodauksella, mutta se ei anna välttämättä täydellistä kokonaiskuvaa.Selkeintä on, jos looginen rakenne on esitetty myös puuna, josta rakenteeneri osat ovat nähtävissä omilla tasoillaan.


236. Tekstintunnistaminen lomakkeen sisällöstäTässä luvussa perehdytään prosessin automatisoinnin kannalta haasteelliseentekstintunnistukseen. Liikkeelle lähdetään tutustumalla aiheen historiaan. Tämänjälkeen vuorossa ovat tekstintunnistamiseen liittyvät vaiheet materiaalinesikäsittelystä, tunnistetun tekstin oikeellisuuden varmistamiseen ja aina jälkikäsittelyynvirheiden korjauksineen. Käsinkirjoitettu teksti on esillä erikseen,koska siihen liittyy omia haasteita. Lopuksi tarkastellaan erilaisia saatavillaolevia tekstintunnistusrajapintoja.Lomakkeita käytetään pääasiassa tekstimuotoisen tiedon hankkimiseen.Kuvia tms. symboleita voidaan myös kerätä lomakkeilla, mutta tarve on vähäisempääja niiden käsittely tekstiin verrattuna on huomattavasti yksinkertaisempaa.Kuva on kuitenkin vain kasa pikseleitä, jota voidaan käyttää sellaisenaan.Teksti on alkujaan myös kasa pikseleitä ja se voitaisiin myös tallentaa tässä<strong>muodossa</strong>, mutta jatkokäsittelyn kannalta kuvamuotoinen teksti ei ole käytännöllistä,koska se ei sisällä semantiikkaa kirjainten ja sanojen osalta. Kuvalleei voi suorittaa mitään yleisiä merkkijono-operaatioita tietokoneavusteisesti jamyös tilantarve on merkkijonoja huomattavasti suurempi. Kuvassa oleva tekstion saatava siis muutettua merkkijonoksi ennen kuin se lähetetään tietomallille.Tässä kohtaa avuksi otetaan tekstintunnistus.Tekstintunnistus on prosessi, jossa kuvainformaatiosta pyritään erottamaankirjaimet [Trier et al., 1996] ja muodostamaan niistä merkkijono. Ihmisen onhelppo ymmärtää näkemiään muotoja muodostaen pisteistä kirjaimia, kirjaimistasanoja ja sanoista lauseista. Tietokoneelle prosessi on huomattavasti hankalampi.Tietokone ei opi samalla tavalla kuin ihminen ja mukautuminenmuuttuviin olosuhteisiin ja tyyleihin on huomattavan vaikeaa [Baird et al.,2004]. Mekaanisella tasolla ja optimiolosuhteissa tietokonekin kykenee kuitenkinnykyään jo vaikuttaviin suorituksiin.Tunnistaminen voi tapahtua vertailemalla annetun kuvan sisältöä suoraantunnettuihin merkkeihin ja poimimalla sieltä paras vastaavuus. Menetelmä onaltis virheille, koska yhteyttä tunnistettujen kirjainten välillä ei ole ja sanojenkokonaismerkitys jää huomioimatta. Tarkkuutta parantamaan voidaan tunnistusprosessiinottaa mukaan sanastoja [Koga et al., 1999].Sanaston avulla tunnistettavan tekstin suodatus on mahdollista ja sanojenkokonaismerkitys selkiytyy. Sanastolla voidaan kaventaa mahdollisten vaihtoehtojenmäärää ja siten pienentää virhemarginaalin todennäköisyyttä. Sanastonhaittapuolena on mahdollinen rajoittuneisuus sanojen määrän osalta. Järjestel-


24mä voi kehittää sanastoa käytön aikana poimimalla tunnistettavasta materiaalistauusia sanoja. Alkusanasto voidaan muodostaa antamalla järjestelmällealoitusvaiheessa riittävästi sisällöltään sopivaa tekstiä sisältävää materiaaliatunnistettavaksi [Spivak, 2002]. Järjestelmä voi olla myös oppia ja osata mukautuahavaittuihin virheisiin käytössä olevan sanaston pohjalta [Rawat et al.,2006]. Älykäs järjestelmä olisi käytön kannalta hieno asia, mutta ei yksinkertainentoteuttaa.6.1. HistoriaaTekstintunnistuksen, OCR:n (Optical Character Recognition), juuret kulkevataina vuoteen 1809, jolloin patentoitiin ensimmäiset sokeita tekstin lukemisessaavustavat laitteet. Vuonna 1912 Emmanuel Goldberg patentoi laiteen, jolla lankojapitkin lähetettävien viestien kirjaimet muutettiin automaattisesti tuettuunsähkösanoma formaattiin [Lenox and Woratschek, 2002]. OCR:lle löytyi uusitarve ennen toista maailmansotaa, kun shekkien käsittelyä haluttiin automatisoida[AIM, 2000]. Varsinainen teknologinen lähtösykäys tuli kuitenkin vastatoisen maailmansodan jälkeen pankkikorttien myötä.Ensimmäiset laitteet olivat hitaita ja virhealttiita, mutta suunta oli hyvä.1960-luvulla laitteet oppivat jo tunnistamaan tekstissä olevia kaarteita mahdollistaenkäsinkirjoitetun tekstin tunnistamisen. Alkuaikojen tekstintunnistus olipitkälti sidoksissa itse laitteeseen. Nykyään laite voi olla täysin erillään sovelluksesta,mikä avaa uusia käyttö- ja kehitysmahdollisuuksia. Materiaali voidaanlukea helposti sisään ja siirtää muualle prosessoitavaksi.Vuonna 1968 kehitettiin tekstintunnistusta varten kaksi selkeät symbolit sisältävääerillistä fonttia OCR-A ja OCR-B. Ensimmäisen fontin kehitti AmericanType Founders-organisaatio ja se on standardoitu ISO 1073-1:1976 [Baid, 2000;Wikipedia, 2010]. Jälkimmäisen fontin taustalla on Adrian Frugiter ja fontistatuli vuonna 1973 maailmalla hyväksytty standardi. Se seuraa myöhemmin julkaistuaISO 1073/II-1976 (E) standardia [Osterer and Stamm, 2008]. Nämä fontitovat helppolukuisia sekä ihmiselle että tietokoneelle.Tekstintunnistus ei ole vieläkään sataprosenttisen varma menetelmä. Tietokoneon parhaimmillaan, kun tunnistettava materiaali on laadultaan hyvä: helpostierotettava fontti, hyvä paperilaatu, hyvä skanneri jne.6.2. EsikäsittelyKuvassa olevat virheet ja vinoumat hankaloittavat tekstintunnistusohjelmantoimintaa. Materiaalille voidaan suorittaa erilaisia esikäsittelytoimenpiteitä, jot-


26Tietokoneen voi myös ottaa avuksi toimenpiteeseen. Tietokone voi käydälokeja läpi, aivan kuten ihminen, ja etsiä sieltä ongelmista kertovia poikkeamia.Havaituista poikkeamista välitetään tieto käyttäjälle ja näin lopullinen vastuuvarmistuksesta on edelleen käyttäjällä.Jos tarkastettavia tietoja on paljon, voidaan ottaa vain pieni otanta tarkistettavaksi,jotta toimenpiteeseen käytettävä aika saadaan hyväksyttävälle tasolle.Otantaa käytettäessä ei oikeellisuudesta voi tehdä varmoja johtopäätöksiä, koskase saattaa vaihdella laajan materiaalin eri osissa hyvinkin paljon. Tilannettavoidaan parantaa ottamalla useita pieniä otantoja, joskaan tämäkään ei vieläkerro koko totuutta.Nykypäivänä vastuu tarkistuksesta on helppo jakaa useammalle käyttäjällekohtuullisen vähin ponnistuksin. Tunnistuksen edistyessä voidaan materiaalistatehdä satunnaisotantoja ja lähettää otantaan liittyvä tunnistus- ja tunnistettumateriaali jollekin käyttäjistä. Käyttäjä käy materiaalin läpi kirjaten samallavirheet ylös. Käytyään materiaalin kokonaan läpi käyttäjä palauttaa virheraportin.Lähetyksen, materiaalin käsittelyn ja raportoinnin lisäksi järjestelmän olisihyvä tukea myös käyttäjien kirjautumisia, jotta materiaalia välitetään vain aktiivisillekäyttäjille.Laskettaessa virheiden määrää voidaan keskittyä joko virheisiin kirjaimissatai virheisiin sanoissa. Tällä hetkellä algoritmit perustuvat pääosin kirjainpohjaiseentunnistukseen, koska kirjainkohtaiset virheet ovat yksiselitteisiä. Kirjaintenpainoarvo on myös selkeämpi, kun lähdetään laskemaan keskimääräistävirhemarginaalia. Sanavirheitä tarkasteltaessa lyhyen ja pitkän sanan painoarvoon sama, mikä ei välttämättä vastaa todellisuutta. Erilaisia menetelmiä sanavirheidentunnistamisen parantamiseksi on kehitteillä [Korb, 2008].Oikeellisuutta tarkastelemalla voidaan haarukoida virheiden olemusta jaluoda virhekantaa. Kannan perusteella tekstintunnistusta voidaan opettaa selviämäänhavaituista tyypillisistä virhetilanteista.6.4. JälkikäsittelyKuten edellä on todettu, tekstintunnistus ei ole koskaan täysin varmaa eli virheetovat tavallisia. Jäljelle jäävät virheet eivät välttämättä ole merkityksellisiä,mutta niiden korjaaminen vaikuttaa vähintään tekstin luettavuuteen. Jos tarkastellaannykypäivän tekstinkäsittelyohjelmia, löytyy kaikista isoimmista ohjelmistaoikolukutoiminto, joka ainakin merkitsee virheet, jos ei ihan korjaa niitä.Vastaavan toiminnallisuuden tuominen mukaan tekstintunnistusprosessiinparantaa laatua. Erillään oleva oikolukumoduuli parantaa järjestelmän skaalau-


27tuvuutta, koska se voidaan tarvittaessa helposti vaihtaa. Lisäksi eri kielienhuomioiminen on helpompaa.6.4.1. Tunnistus- ja kirjoitusvirheetOikoluku ei ole kuitenkaan täydellinen ratkaisu, koska tekstiä ei ole suoranaisestituotettu, vaan se on malli olemassa olevasta tekstistä. Näin ollen tekstissävoi esiintyä tunnistuksesta johtuvia virheitä ja oikeita kirjoitusvirheitä [Cavnarand Gillies, 1994]. Tunnistuksesta johtuvien virheiden korjaus oikoluvulla voijohtaa vääriin tulkintoihin, jos järjestelmä ei osaa huomioida, että kaikki virheeteivät ole suoranaisia kirjoitusvirheitä. Automaattisten korjausmenetelmien tärkeyson tiedostettu ja erilaisten menetelmien toimivuutta jälkikäsittelyn yhtedessäon tutkittu paljon [Beitzel et al., 2003; Kolak and Resnik, 2002].Tong ja Evans [1996] esittivät virheiden korjaamiseen mallia, joka kykeneekorjaamaan kumpiakin esiintyviä virheitä. Heidän esittämänsä menetelmä perustuutekstin sisältämien kirjain- ja sanajaksojen (n-gram) analysointiin. Lisäksise sisältää oppivan lähekkäin olevien ja helposti sekaisin menevien sanojenkorjausmekaniikan. Järjestelmä siis kehittyy käytön myötä. Oppiminen vaatiiuseita materiaalin käsittelykertoja, mutta opettaminen voidaan suorittaa jo ennenvarsinaista tunnistusta antamalla riittävän hyvä lähtömateriaali oppimisalustaksi.Korjausmenetelmän testaukseen käytettiin eräästä verkkouutispalvelustatulostettuja uutisia. Skannauslaatua heikennettiin valottamalla materiaalia. Ilmankorjausta 14,7% (8198) vain kirjaimia sisältävistä sanoista tunnistettiin virheellisesti.Sovellettaessa esitettyä korjausmenetelmää virheiden määrä putosi3270:n, joten parannusta alkuperäiseen tuli 60,8%, Kokonaisvirhemarginaali olikuitenkin edelleen 5,9%.Konkreettisesti dokumentin sisältöä virheiden korjauksessa on käytettyesim. MANICURE-järjestelmässä, jonka kehitys on aloitettu vuonna 1998. Järjestelmäperustuu myös oppivaan ympäristöön, joka luo dynaamisesta tunnistettavastamateriaalista korjauksessa tarvittavia viitteitä. Nartker ja muut [2003]vertasivat MANICURE-järjestelmää SDK2000 OCR:ä järjestelmään. Testissäkäytettiin useita eri lähdemateriaaleja, joista jokaisesta luotiin alkuperäismateriaalinlisäksi viisi generaatiota siten, että seuraava generaatio skannattiin ainaedellisestä generaatiosta laadun heikentämiseksi.MANICUREN tarkkuus keskimääräisen sanan tunnistuksen osalta vaihtelialkuperäismateriaalin 99,66-prosentista viimeisen generaation 98,86-prosenttiin.Parhaimmillaan etua SDK2000:een verrattuna oli neljännen ja viidennen


28generaation kohdalla, jolloin tarkkuus oli 0,27% parempi. Kummankin järjestelmänvirhemarginaali on kuitenkin huomattavasti pienempi kuin Tongin jaEvansin [1996] suorittamien testien kohdalla. Tähän vaikuttavat kehittyneempitekniikka, parantuneet ohjelmistoalgoritmit ja laskentakapasiteetin kasvaminen.On kuitenkin syytä ottaa huomioon, että testimateriaalit eivät ole samat,joten tulokset eivät ole suoraan verrannolliset.Korjaukseen löytyy myös kaupallisia sovelluksia, joista yksi esimerkki onPrimeOCR. Sovelluksen luvataan vähentävän virheiden määrää 65% perinteiseenOCR:n verrattun. Lisäksi saatavilla on optio parannetulla tarkkuudella,jolla virheiden määrän luvataan putoavan peräti 82%. Vertailukohta on kuitenkinnimeämätön, joten tuloksiin on syytä suhtautua varauksella [PrimeRecognition].Kirjaimissa esiintyvien virheiden määrää voidaan konkretisoida seuraavanlaskelman avulla, kun oletetaan keskimääräisen tarkkuuden olevan 98% luokkaaja yksittäisten virheiden osalta tunnistuksen olevan 40%:• 2500 merkkiä• 50 virhettä• 20 virhettä merkitty epäilyttäviksi• 30 virhettä tunnistamatta.Virheiden määrä ei vaikuta kovinkaan suurelta. Edellä mainittu tekstimäärämahtuu yhdelle A4-arkille, joten siihen nähden virheitä on paljon. Jos arkkejaon sata, on lopullisessa tuotoksessa jo 3000 merkkivirhettä.6.4.2. Manuaalinen korjausAutomaattisen korjauksen lisäksi järjestelmä voi helpottaa käyttäjää tarjoamallamanuaalista korjausta varten työkaluja. Virheiden korjausta ja tunnistusta helpottaa,jos ne ovat selkeästi tunnistettavissa ja erotettuja [Taghva et al., 1998].Työkalu voidaan toteuttaa tekstinkäsittelymäisellä lähestymisellä, jossa havaitutvirheellisiksi epäillyt merkit ja sanat korostetaan. Visuaalisuus nopeuttaamateriaalin läpikäyntiä, koska silmä havaitsee potentiaaliset virheet helpommin.Jos läpikäytävää materiaalia on paljon, voi käyttäjä lopulta turtua prosessiinja korjata vain näytetyt virheet. Tällöin ei-havaitut virheet jäävät osittain taikokoaan huomioimatta.Havaittujen virheiden yhteydessä voidaan esittää samalla myös mahdollisetkorjaukset, jos sellaisia on löytynyt. Käyttäjä voi valita niiden joukosta oikean,


29mikä nopeuttaa korjausta. Kirjoitusvaihtoehtoa ei voi kuitenkaan unohtaa, koskaoikeaa vaihtoehtoa ei ole aina välttämättä automaattisesti saatavilla.Työkalu voi samalla toimia apuna tunnistuksen opettamisessa. Käyttäjänkorjatessa virheitä voi järjestelmä samalla opetella tunnistamaan samankaltaisiavirheitä ja luoda niistä itselleen oppimiskantaa. Jatkossa samankaltaiset virheetvoidaan automaattisesti tunnistaa sekä korjata. Virheet voivat kuitenkin ollatyypillisiä vain tarkistettavalle materiaalille, ja siksi luotu oppimiskanta ei välttämättäole käyttökelpoinen muiden materiaalien kohdalla.6.5. Käsinkirjoitettu tekstiTietokoneella tulostetun tekstin tunnistaminen on huomattavasti helpompaakuin käsinkirjoitetun. Tulostettu teksti on laadultaan tasaista ja huonolaatuistajälkeä voi aiheuttaa lähinnä mustevajaus, paperitukos tai huono paperilaatu.Tulostuksessa käytetyt fontit ovat yleisiä ja erot tulostimien välillä käytettäessäsamaa fonttia ovat hyvin pieniä. Erilaista käsinkirjoitettua tekstiä esiintyy sensijaan yhtä paljon kuin on ihmisiäkin. Jokaisella ihmisellä on hieman toisistaeroava kirjoitustyyli, joskin toisen ihmisen tyylin imitoiminen on mahdollista.Vaihtoehtoisia menetelmiä käsinkirjoitetun tekstin tunnistamiseen on paljon[Lecun et al., 1998; Roy et al., 2009].Ensimmäistä kertaa käsinkirjoitettuja dokumentteja tunnistettiin tietokoneellavuonna 1962 [AIM, 2000], jolloin tunnistaminen tekniikan kehittymisenmyötä tuli mahdolliseksi. Sittemmin menetelmät ja tekniikat ovat kehittyneet,mutta käsinkirjoitettu teksti on silti haaste. Käsinkirjoitettua tekstiä on edelleenpaljon, koska lomakkeet ovat pääsääntöisesti edelleen täytetty kynällä eikä tietokoneella.Perusprosessi käsinkirjoitettua tekstiä tunnistettaessa ei eroa tulostetuntekstin tunnistamisesta: ensin tunnistetaan kirjaimia ja sitten sanoja. Tekstintyylin variaatioiden määrä vain on paljon suurempi. Käsinkirjoitetun tekstintunnistusta varten tarvitaan huomattavasti suurempi sanasto kuin tulostetunmateriaalin ollessa kyseessä. Samoin tunnistusmoduulin opettamiseen tarvitaanenemmän materiaalia. Saatavilla on kuitenkin nykyään paljon pieniä mobiililaitteita,jotka sisältävät tekstintunnistusteknologiaa. Mobiililaitteet ovatkäytettävissä olevien resurssien osalta vielä varsin rajoittuneita, joten suurtensanastojen ylläpitäminen ei ole mahdollista. Tutkimusta on tehty käytettävänsanaston koon pienentämiseksi ja edistystä on myös tapahtunut [Roy et al.,2009].


30Käsinkirjoitettu teksti sisältää useimmiten valmiiksi kaltevuuksia ja vinoumiajohtuen pääsääntöisesti kirjoittajan tyylistä. Nämä on hyvä korjata ennenkuin kirjaimia ja sanoja ryhdytään määrittämään tekstistä, jotta ne eivätvaikuta tunnistamiseen [Kim et al., 1999]. Lisäksi tunnistettavasta materiaalistavoidaan poistaa ylimääräiset möykyt sekä laittomilta vaikuttavat kirjaimia yhdistävätviivat. Varsinainen tekstiksi muuntaminen voidaan tehdä pilkkomallamateriaali ensin sanakomponenteiksi ja siitä edelleen kirjaimiksi. Ennen kirjaintentunnistusta materiaalia on kuitenkin useimmiten tarpeen siivota, koska kirjoitettuteksti voi mennä osittain lomakkeen viivojen ja muun tekstin päälle [Yeet al., 2000]. Saatuja kirjainkomponentteja verrataan tämän jälkeen sanastossaoleviin kirjainkomponentteihin, joista poimitaan todennäköisimmät vaihtoehdotpainoarvoineen. Saatujen vaihtoehtojen perusteella muodostetaan sanat.Tunnistuksen tarkkuutta voidaan parantaa käyttämällä rinnakkain useampiakirjainten luokittelumenetelmiä [Maruyama et al., 1999]. Tätä käsitystävahvistavat useamman tutkimuksen samankaltaiset tulokset. Maruyaman[1999] kehittämässä menetelmässä käytetään kuvioiden vertailua ja HMMmenetelmiä(Hidden Markov Models). Kirjainten tunnistuksen jälkeen vuorossaon normaalisti sanojen tunnistaminen.6.6. RajapinnatLomakkeen digitalisointijärjestelmän suunnittelijalle ja toteuttajalle on tarjollauseita vaihtoehtoisia ohjelmointirajapintoja OCRä varten. Rajapintoja on olemassaJavalle, C#:a sekä myös muille ohjelmointikielille. Seuraavaksi tarkastellaaneräitä saatavilla olevia rajapintoja.6.6.1. ABBYY FineReaderABBYY Finereader ei ole pelkästään rajapinta ohjelmoijalle, vaan kokonaisratkaisudokumenttien digitalisointiin [ABBYY]. Tässä alakohdassa ABBYYa tarkastellaankuitenkin vasta ohjelmointikirjastona ja vasta luvussa 9 kokonaisratkaisuna.ABBYYn ohjelmointikirjasto on nimeltään ABBYY Finereader Engine, jostaon saatavilla versio 9.0. Rajapinta on saatavilla useille eri alustoille: Windows,Mac, Linux, FreeBSD ja Embedded OS. Alustojen sisältämissä toiminnallisuuksissaon hieman eroja esim. OCR:n tunnistamien kielien osalta. Tekstintunnistuksenlisäksi ABBYY tukee myös viivakoodeja, mikä on lisäarvo kirjastolle.Windows-ympäristöon tarkoitettu kirjasto kykenee tunnistamaan 195 OCRkieltäja 113 ICR-kieltä, mukaan lukien suomen kielen. Tunnistusta varten on


31käytettävissä kaikki tyypillisimmät kuvaformaatit ja konvertoitujen tiedostojentallennus onnistuu useimmissa yleisissä formaateissa. ABBYY tukee myös useitakehitysympäristöjä:• Microsoft Visual Studio .NET (VB.NET, C#)• Microsoft Visual Basic 5.0, 6.0• Microsoft Visual C++ 4.0 ja uudemmat• VB Script ja muut skriptikielet• Borland Delphi 2.0 ja uudemmat [ABBYY].6.6.2. Asprise OCRAsprise OCR tukee useimpia yleisiä käyttöjärjestelmiä. SDK (Software DevelopmentKit) on saatavilla sekä Windows- että Unix-ympäristöönkin. LisäksiSDK on saatavilla useille eri kehitysympäristöille mm.• Borland C++ Builder• C# .Net• Delphi• Java• Visual Basic• Visual Basic .Net• Visual C++• Visual C++ .Net [Asprise].Kirjastojen välillä on pieniä toiminnallisia eroavaisuuksia, etenkin tuettujenformaattien välillä. Asprisen OCR:n erikoisuus on tuki epätavallisille, muttakäytetyille kuvaformaateille kuten .wal (Quake2), .mdl (Half-life model) ja .lif(Homeworld file). Tämä antaa vaikkapa pelinkehittäjille hyvät mahdollisuudetkirjaston käyttämiseen. Asprisen kielivalikoimasta löytyy tällä hetkellä vainenglanti.Myös Asprisen kirjasto on helppokäyttöinen ja tekstin saa kuvasta ulos vähäisellätyömäärällä, kuten koodista 1 on nähtävissä. Esimerkki on toteutettukäyttäen C++-ohjelmointikieltä.


32#include "AspriseOCR.h"char* processMyBitmap(){char* text = OCR(“myImage”, IMAGE_TYPE_AUTO_DETECT);return text;}Koodi 1. Esimerkki Asprise OCR:n käytöstä C++-ohjelmointikielellä.6.6.3. GOCRGOCR (tai JOCR) on vapaan lähdekoodin OCR-kirjasto, joka on tarkoitettu lähinnäUnix-ympäristöön. Koska lähdekoodi on vapaasti saatavilla, kirjasto onsiirrettävissä myös muihin ympäristöihin. Ohjeet, esimerkit yms. ovat kirjastonosalta hieman vajavaiset, mutta koodin päälle ymmärtäville henkilöille kirjastoon hyvä aloitus, jos avoin lähdekoodi ei haittaa ja on valmis näkemään hiemanvaivaa kirjaston käyttämiseksi [GOCR].6.6.4. OCR .NetOCR .Net tarjoaa Windows-ohjelmoijalle kirjastot tekstin ja viivakoodien tunnistamistavarten. Kirjaston heikkous on tuettujen kielien vähyys. Vain englannin,espanjan, italian, saksan, ranskan ja ruotsin kielet ovat tuettuja, joten suomenkielistätunnistusta kaipaavalle kirjasto ei sovellu. Kuvien muuntaminentekstiksi käy kätevästi parilla koodirivillä (ks. koodi 2) [File Innovations].Public Sub processMyBitmap()OCR1.BitmapImage = myBitmapOCR1.Process()TextBox1.Text = OCR1.TextEnd SubKoodi 2. Esimerkki OCR .Netin käytöstä Visual Basicillä.


336.6.5. Tesseract OCRHP kehitti vuosien 1985 ja 1995 välillä ilmaisen C++-pohjaisen OCR-kirjastonTessecrat OCR. Vuoden 1995 jälkeen kehitys oli seisahduksissa, kunnes Googleotti kirjaston kehitettäväksi vuonna 2006. Kirjaston toimivuus on taattu Windows-ja Ubuntu-ympäristöissä. Näiden lisäksi kirjasto todennäköisesti toimiimyös Mac- ja Linux-ympäristöissä, mutta niiden osalta testaus ei ole järjestelmällistä[Google Code, 2010].STRING* processMyImage(){...STRING* text_out = new STRING();BLOCK_IT b_it = &blocks;for (b_it.mark_cycle_pt(); !b_it.cycled_list(); b_it.forward()){BLOCK* block = b_it.data();TBOX box = block->bounding_box();char* text = TessBaseAPI::TesseractRectUNLV(image->get_buffer(),image->get_bpp()/8,bytes_per_line,box.left(),image->get_ysize() - box.top(),box.width(),box.height());*text_out += text;delete [] text;if (tessedit_serial_unlv == 1)TessBaseAPI::ClearAdaptiveClassifier();}return text_out;}Koodi 3. Esimerkki Tessecrat OCR:n käytöstä C++-ohjelmointikielellä.Tessecrat on ollut mukana OCR-kirjastoille tehdyssä testissä [Rice et al.,1995] ja pärjäsi vertailussa hyvin. Vertailussa oli mukana kahdeksan OCR-


34kirjastoa ja yhdessä Caere OCR:n kanssa Tessecrat oli ainut, joka sisälsi tuenmyös tunnistukseen 300 dpi:n tarkkuudella. Tuolloin suoritetut testit ovat edelleenvalideja ja Tessecratin kotisivulta löytyy uudemmilla versioilla ajetut vastaavattestit. Testit antavat hyvän kuvan kirjaston kehittymisestä vuosien aikana.Pahin puute on tuen puuttuminen suomen kielelle. Kirjaston tukemat kieletovat englanti, ranska, italia, saksa, espanja ja hollanti. Käyttäminen ei myöskäänole yhtä yksinkertaista kuin aiemmin esillä olleiden kirjastojen, ja kehitysavoimen lähdekoodin ohjelmistona näkyy kirjastossa hieman hajanaisena otteena.Koodiesimerkkiä 3 on hieman karsittu ja vain tekstin tunnistuksen kannaltaoleelliset seikat ovat mukana. Kuten esimerkistä voi havaita, vaatii Tessecratvarsin paljon työtä tekstin saamiseksi ulos kuvasta. Toisaalta toiminnotvoi piilottaa omaan uudelleen käytettävään alikirjastoon.6.6.6. TOCRTOCR on niin ikään ohjelmointikirjasto Windows-ympäristöön ja on saatavillaaina Windows 95:sta Windows Vistaan. Windows 7 -tuesta ei ollut vielä tietoa.TOCR osaa mukautua huonolaatuiseen materiaaliin huomioiden liian vaaleat jatummat taustat sekä korjaten vääristymiä ja tahroja. TOCRin kielivalikoima sisältääkaikki yleisimmät kielet: englanti, ranska, italia, saksa, hollanti, ruotsi,norja, suomi, tanska, espanja ja portugali [Transym].Kirjasto on saatavilla C-, C#-, Visual Basic, VB .Net ja Delphiohjelmointiympäristöille.C#-esimerkissä (ks. koodi 4) on TOCRia käyttävä funktiotekstin tunnistamiseen ennalta määritetystä kuvasta.


35private string processMyBitmap(){int status;int jobNo = 0;string answer = "";TOCRRESULTS results = new TOCRRESULTS();TOCRJOBINFO jobInfo = new TOCRJOBINFO();jobInfo.InputFile = “myFile”;jJobInfo.JobType = TOCRJOBTYPE_TIFFFILE;status = TOCRInitialise(ref jobNo);if (status == TOCR_OK){if (OCRWait(jobNo, jobInfo)){if (GetResults(jobNo, ref results))FormatResults(results, ref answer);}TOCRShutdown(TOCRSHUTDOWNALL);}}return answer;Koodi 4. Esimerkki TOCRin käytöstä C#-ohjelmointikielellä.6.7. VerkkopalvelutSelaimella käytettävät verkkopalvelut ovat olleet jo pitkään arkipäivää ohjelmistokehityksessä.Verkkopalvelun etuna ovat saavutettavuus sekä riippumattomuus.Varsinaisia asennustoimenpiteitä ei tarvita, koska palvelu on jatkuvastitoiminnassa palveluntarjoajan palvelimella. Ennen käytön aloittamista voikuitenkin olla tarve asentaa selaimeen lisäosia, joita ohjelma tarvitsee toimiakseen.Siksi ei siis voida puhua täydellisestä asennusriippumattomuudesta.Verkkopalvelua voidaan käyttää useilla eri selaimella ja yhteensopivuusongelmatovat arkipäivää. Se mikä toimii Firefoxilla, ei välttämättä toimikaan InternetExplorerilla. Jos palveluntarjoaja ei ole huomioinut muuttuvia ympäristöjä,


36voi käyttäjälle tulla ongelmia tilanteessa, jossa hänellä ei olekaan käytössäänsama selain, jolla hän palvelua tavallisesti käyttää.Verkkopalvelu ei myöskään vaadi käyttäjältä ylläpidollisia toimenpiteitä,koska palvelu päivittyy palveluntarjoajan suorittaessa päivityksen palvelimelle.Käyttäjällä on siis aina käytössään viimeinen versio, eikä versioristiriitoja tarvitsemurehtia. Haittapuolena tästä on se, että käyttäjä ei voi vaikuttaa käyttämäänsäversioon. Muuttuva käytettävyys voi aiheuttaa hetkellisiä ongelmia ohjelmankäytössä, jos käyttäjä ei ole voinut tai osannut varautua niihin.Pullonkaulaksi käytön osalta voi muodostua kaistanleveys. Tunnistettavaksikelpaavat tiedostot ovat tavallisesti kuvia ja siten voivat olla kooltaan suuria,jos niiden halutaan olevan hyvälaatuista. Tiedonsiirtotarve voi siksi olla hyvinkinsuuri, jos materiaalia on paljon ja lataus voi kestää pitkän aikaa. Tähän vaikuttaaratkaisevasti se, missä palvelu sijaitsee. Hajautettu palvelu on paremminkäyttäjän saatavilla paremmin kuin yhdessä paikassa sijaitseva palvelu. Lisäksihajauttamalla voidaan turvata palvelun toimintaa.Käyttäjä on myös riippuvainen palvelun toimivuudesta. Palvelun ollessaalhaalla käyttäjän työt seisovat. Ilman varasuunnitelmaa välilliset kustannuksetvoivat nousta hyvinkin suuriksi katkoksen pituudesta riippuen. Katkoksiin onsyytä varautua riskianalyysillä ja varasuunnitelmalla.Myös OCR on saanut omat verkkopalvelunsa. Näihin kuuluu esimerkiksiOCR Terminal, joka tarjoaa tekstintunnistuksen palveluun toimitetulle materiaalille[OCR Terminal]. Verkkopalvelua voi käyttää dokumentin digitalisointijärjestelmänyhteydessä aivan yhtä hyvin kuin tavallista kirjastoa, jos palveluunon olemassa ohjelmallinen rajapinta.Verkkopalveluiden kustannukset vaihtelevat suuresti. Hinnoittelumallejaon tarjolla useita erilaisia [OCR Terminal]. Hinnoittelu on yleensä kuukausi- taivuosipohjaista. Vaihtoehtoisesti maksu voi myös olla käyttöön perustuvaa, mikäon käytännöllistä etenkin, jos tarve on satunnaista. Kuukaudet, jolloin tarvettaei ole, eivät myöskään aiheuta kustannuksia.Vuosi- tai kuukausimaksupohjaisten palveluiden kustannus voi pitkällä aikavälillätarkasteltuna vaikuttaa suurelta verrattuna perinteisiin kertamaksullisiinohjelmalisensseihin. Tässä yhteydessä on kuitenkin hyvä huomioida myösvälilliset kustannukset liittyen ylläpidollisiin tehtäviin ja päivitystarpeisiin.6.7.1. OCR TerminalOCR Terminal [OCR Terminal] toimii siten, että käyttäjä lataa materiaalin palveluun,jossa se tunnistetaan ja tunnistamisen jälkeen konvertoidaan tekstifor-


37maattiin. Ladattava materiaali voi olla kuva- tai pdf-tiedosto. Tuetut formaatitovat .jpeg, .gif, .bmp, .tiff ja .pdf. Konvertoidun ja käyttäjälle palautettavan tiedostonformaatit ovat puolestaan .doc, .txt, .rtf ja .pdf. Käyttäjä maksaa palvelunkäytöstä vain käytön mukaan, joten tarpeettomia kustannuksia ei synny.Huhtikuussa 2010 palvelu oli hinnoiteltu seuraavasti:• Ensimmäiset 20 sivua ovat ilmaisia• Seuraavat 50 sivua 9 senttiä / sivu• Seuraavat 150 sivua 7 senttiä / sivu• Seuraavat 300 sivua 6 senttiä / sivu• Seuraavat 500 sivua 5 senttiä / sivu• Seuraavat 1000 sivua 4 senttiä / sivu.(Huom! Hinnat ovat dollareissa, koska palveluntarjoaja on amerikkalainen.)6.7.2. Online OCROnline OCR on krediittipohjainen verkkopalvelu. Käyttäjä saa liittymisen yhteydessä5 aloituskrediittiä tiedostojen konvertoitiin. Lisäkrediittejä voi ansaitasuorittamalla erilaisia toimenpiteitä tai rahalla ostamalla. Palvelu tukee esim..pdf-, .doc-, .xls-, .rtf-, .html- ja .txt-formaatteja, mukaan lukien myös tavallisimmatkuvaformaatit. Konvertoidut tiedostot ovat saatavilla .pdf-, .doc-, .xls-,.html-, .rtf- tai .txt-formaatissa. Kielivalintoja palvelussa on käytettävissä 28 erilaista[OnlineOCR.net 1].Palvelun rinnalla toimii myös OCR Web Service, joka on pelkästään maksullinenpalvelu. Hinnoittelu voi perustua kuukausittaiseen tai päivittäiseenkäyttöön. Kuukausittainen hinnoittelu on seuraavanlainen• Max. 1000 sivua / kuukausi 9,95$ = 1 senttiä / sivu• Max. 2000 sivua / kuukausi 19,95$ = 1 senttiä / sivu• Max. 3000 sivua / kuukausi 24,95$ = 0,8 senttiä / sivu• Max. 5000 sivua / kuukausi 34,95$ = 0,7 senttiä / sivu• Max. 7000 sivua / kuukausi 41,95$ = 0,6 senttiä / sivu• Max. 10000 sivua / kuukausi 49,95$ = 0,5 senttiä / sivu[OnlineOCR.net 2].OCR Web Service tarjoaa myös ohjelmointirajapinnat C#- ja PHP-kielille,sekä käytön SOAP-protokollan kautta. Palvelu on siis suoraan integroitavissalomakkeentunnistusjärjestelmään.


386.7.3. Muut verkkopalvelutWebOCR:ä käytetään erillisen pääteohjelman kautta. Ohjelman käyttämä palvelinon käyttäjän päätettävissä, joten eri vaihtoehtoja voidaan käyttää. Palveluon toistaiseksi beta-asteella, joten tarkempia tietoja ei vielä ole [ExperVision].Toisin kuin Online OCR niin Free Online OCR on oikeasti ilmainen palvelu.Palvelun käyttöliittymä on yksi ainoa verkkosivu, jonka kautta tiedostot lähetäänja jossa konvertoitu teksti näytetään. Käyttäjän ei edes tarvitse rekisteröityäpalveluun. Tuettuja konvertoitavien tiedostojen formaatteja ovat .jpeg, .png,.gif, .bmp, .tiff sekä .pdf. Tuettuja kieliä on kaikkiaan 29 mukaan lukien suomi[t-reinhard.ch].6.7.4. Integraatio tiedostonhallintaanVerkkopalvelua käytettäessä käyttäjä on riippuvainen selaimesta. Tavallisestikäyttäjän on ladattava tiedostonsa palveluun latausdialogien avulla. Tunnistamisenvalmistuttua käyttäjän on ladattava tunnistettu materiaali itselleen jokosuoraan palvelusta tai vaihtoehtoisesti sähköpostista. Palvelu siis vaatii käyttäjältäerillisiä toimenpiteitä, jotta prosessi etenee. Käyttöä voisi helpottaa hyödyntämälläDropboxin innovaatiota yhdistää verkkopalvelu ja tietokoneen tiedostonhallintayhdeksi toiminnalliseksi kokonaisuudeksi [Dropbox].Dropbox on tiedostojen jakamiseen tarkoitettu palvelu, jossa käyttäjällä onkäytössään tietty määrä tilaa omille tiedostoilleen. Palvelua voi käyttää kolmellaeri tavalla:• pelkästään selaimella• esiasennuksen jälkeen pelkästään tiedostonhallinnalla• selaimella ja tiedostonhallinnalla.Erilaisia tiedostojen jakamispalveluja on ollut käytössä jo pitkään, mutta aiemminintegraatio tiedostojärjestelmän kanssa on ollut hyvin löyhä. Dropboxininnovaatio on tiedostonhallinnan kytkeminen tiukasti mukaan palvelun käyttöön.Verkkopalvelun lisäksi käyttäjä voi asentaa koneelleen tarjolla olevan erillissovelluksen,joka integroi palvelun tietokoneen tiedostonhallintaan. Ohjelmaanasennettaessa käyttäjä valitsee hakemiston, jota Dropbox käyttää tiedostojensynkronointiin. Palvelu lataa hakemistoon tallennetut tiedostot automaattisestiverkkopalveluun ja sinne lisätyt tiedostot puolestaan määritettyyn hakemistoon.Käyttäjän ei siis tarvitse ladata tiedostoja palveluun erikseen, vaankopiointi hakemistoon riittää. Asentamalla ohjelman toiselle koneelle saa käyt-


39täjä tiedostot synkronoitumaan myös sinne. Kun tähän vielä lisätään yhteisöllisyysjaettujen hakemistojen <strong>muodossa</strong>, on paketti kunnossa.Tiedostonhallintaintegraatiota voisi hyödyntää myös OCR-palvelun yhteydessäsiten, että käyttäjä voisi pudottaa tunnistettavan materiaalin suoraanesimääriteltyyn hakemistoon, josta se siirrettäisiin automaattisesti tunnistuspalveluun.Tunnistuksen tuottama materiaali synkronoitaisiin toiseen esimääriteltyynhakemistoon käyttäjän koneella.6.8. TiedostoformaateistaEdellisten rajapintojen ja palveluiden esittelyn yhteydessä tulivat esille erilaisettunnistettavaksi ja tallennettavaksi sopivat tiedostoformaatit. Tarkasteltaessatuettujen formaattien listaa (Liite 1 ja Liite 2) voidaan nähdä, että osa palveluistatukee todella laajaa skaalaa erilaisia formaatteja, kun taas toiset ovat rajoittuneetvain muutamaan formaattiin. Ensi näkemältä tämä voi vaikuttaa ongelmaltaja olla myös peruste olla ottamatta tuotetta käyttöön, vaikka kyseessä onvain puute.Tiedostoformaatti on lopulta kuitenkin vain malli tiedoston sisältämälle materiaalille,joka kertoo, mitä tiedosto sisältää ja missä järjestyksessä tiedot ovat.Formaattia voidaan vaihtaa lukemalla tiedoston sisältö ja tallentamalla saatutieto uuteen toivottuun formaattiin Yksinkertaisimmillaan toimenpide vaatiivain ohjelmointiympäristön peruskirjastojen käyttämistä, mutta toisinaan voiolla tarve manuaaliselle käsittelylle.Manuaalinen muunnos voi tulla eteen harvinaisempien tai omien tiedostoformaattienkohdalla. Oman tiedostoformaatin ollessa kyseessä, ei sitä vartenole olemassa valmista muunnoskirjastoa, joten implementointi jää kehittäjänvastuulle. Joskus formaatti voi myös olla niin uusi tai vähän käytetty, että sitävarten ei ole tehty muunnoskirjastoja. Asia erikseen ovat suljetut formaatit, joidenmallia ei ole yleisesti tiedossa. Näissä tapauksissa kehittäjän on ensin selvitettävätiedoston malli, jotta sisältö saadaan muunnettaviksi.Tiedostoformaatit voivat olla rakenteeltaan hyvinkin monimutkaisia, mikähankaloittaa muunnoskirjaston luomista. Huomioon otettavia seikkoja voi ollapaljon ja tekemiseen kuluu paljon aikaa ja vaivaa. Myöhemmin voidaan havaita,että käytetty aika on mennyt hukkaan, kun formaattia ei enää tarvitakaan taise poistuu muuten käytöstä. Yleisillä formaateilla on myös tapana elää ja mallivoi ajan saatossa muuttua. Kehittäjän on siis oltava jatkuvasti ajan hermolla,jotta formaatti vastaa todellisuutta. Joskus voikin olla järkevää ottaa käyttöönulkoinen kolmannen osapuolen maksullinen kirjasto, joka sisältää tarvittavat


40tiedostoformaatit. Tiedostoformaatin päivittyessä ei tarvitse tehdä muuta kuinvaihtaa käytetty kirjasto, kunhan kehittäjät ovat huomioineet tiedostoformaattiintulleet muutokset. Kirjastoihin sisältyy yleensä myös tuotetuki, joten ongelmienedessä kehittäjä ei ole yksin.


417. Tiedot tietomalliinTässä luvussa selvitetään miten paperilomakkeesta kerättyjen ja tunnistettujentietojen tallentaminen käytettävään tietomalliin tapahtuu. Tarkasteluun otetaansekä tuntemattoman että tunnetun tietomallin käsitteet.Tekstintunnistuksen jälkeen paperinen lomake on saatu täysin digitalisoituaja lomakkeen sisältö on odottamassa tallennusta tietomalliin [Sojka, 2005]. Tekstinlisäksi myös lomakkeen sisältämät kuvat voidaan siirtää erikseen tietomalliin.Tiedon siirtäminen voi tapahtua• tunnettuun tietomalliin• tuntemattomaan tietomalliin.Vaihtoehdoista jälkimmäinen on toimivuuden kannalta parempi, koska tällöinjärjestelmää ei sidota kehitysvaiheessa tiettyyn teknologiaan ja toimintatapaan.Tarvittaessa erityyppisen tai tehokkaamman tietomallin käyttöön ottaminenonnistuu helposti.Kummassakin tapauksessa tietomalli voi sijaita fyysisesti eri paikassa kuinmuu järjestelmä ja tietojen päivittäminen voi tapahtua verkkoyhteyden kautta[Gibson and Rodney, 2000]. Jos yhteys on nurin ei tietojen päivityskään onnistu.Tähän ongelmaan on syytä varautua, koska järjestelmä toimii kuin liukuhihna,joka tukkeutuu pahemman kerran, jos hihnalle syntyy jossain kohtaa tukos.Kuvanlukijan ja OCR:n jatkaessa toimintaa, vaikka data ei enää siirryeteenpäin tietomalliin, on vaara, että syntyy muistiongelmia, jotka voivat johtaajärjestelmän hidastumiseen ja lopulta jopa kaatumiseen.Tietomallin sijaitessa fyysisesti samassa paikassa muun järjestelmän kanssavastaavan ongelman vaara on vähäisempi, mutta ei poissuljettu. Tietomalli voiolla kuitenkin palvelun tai prosessin takana, jonka jumittuminen voi joka tapauksessaestää tietojen päivittämisen.Tietojen tallennuksen jälkeen prosessi on digitalisoinnin osalta valmis. Tämänjälkeen loppukäyttäjä voi aloittaa todellisen työn eli tiedon analysoinnin jalouhinnan, jotta kerätystä tiedosta saadaan kiteytettyä oleellinen informaatioulos [Sojka, 2005].7.1. Tunnettu tietomalliTunnettu tietomalli on kuin kauppa, johon data sijoitetaan omille hyllyilleentunnistuksen jälkeen käyttöä varten tai odottamaan mahdollista siirtoa eteenpäin.Tietomallin tyyppi on määritelty jo järjestelmän kehitysvaiheessa, eikä si-


42tä voi enää käytön aikana muuttaa. Yksinkertaisimmillaan tietomalli voi ollapelkkä tekstitiedosto tai binääritiedosto, mutta myös tehokkaampi tietokanta[Sojka, 2005].Etuna tunnetussa tietomallissa on vahva integraatio järjestelmään. Yhtä tietomalliatestaamalla voidaan varmistua siitä, että järjestelmä toimii kokonaisuutena.Lisäksi ylläpidolliset tehtävät helpottuvat, koska ylläpito voi keskittyäkäytettyyn tekniikkaan.Tietomalliin tallennettujen tietojen siirtäminen toiseen tietomalliin automaattisestion mahdollista, mutta tällöin on aina tapauskohtaisesti kehittävätarvittavat muunnostyökalut. Muunnostyökalut mahdollistavat datan konvertoimisentoisen tietomallin mukaiseksi. Jos tarve on jatkuvaa, aiheuttaa se järjestelmänkehittäjälle tarpeetonta työtä. Loppukäyttäjälle muunnostyökalunkehittäminen voi taas olla liian työlästä.Tunnettua tietomallia on hyvä käyttää, jos järjestelmä on kehitetty tiettyätarkoitusta varten, eikä tietomallia ole tarvetta tai syytä vaihtaa lennossa.7.2. Tuntematon tietomalliKäytettäessä tuntematonta tietomallia ei sen todellinen rakenne ole tiedossa,eikä sillä myöskään ole merkitystä järjestelmän kannalta. Järjestelmän ja tietomallinväliin rakennetaan avoin rajapinta, jonka kautta tiedonsiirto tapahtuu.Käytettävä tietomalli kytketään järjestelmän tarjoamaan rajapintaan löyhästikiinni joko asennusvaiheessa tai ajon aikana. Tietomallia voidaan myös vaihtaaajon aikana ja mahdolliset käytettävissä olevat tietomallit voidaan listata järjestelmäntoimesta.Tuntematon tietomallia käyttävä järjestelmä mukautuu loppukäyttäjän tarpeisiinparemmin kuin tunnettua tietomallia käyttävä. Digitalisoitu tieto on lopultase, mikä käyttäjää kiinnostaa, ja käytön kannalta on oleellista saada tietokerrasta oikeaan paikkaan ja oikeassa formaatissa.Rajapinta tietomalliin voi olla hyvinkin yksinkertainen. Rajapinnan tarjoamienväylien parametreiksi riittävät useimmiten viite luodun tai tunnistetunlomakemallin kenttään sekä varsinainen tietoalkio. Tietoalkio on tavallisesti jokomerkkijono tai kuva.


438. Diagnostiikka ja etähallinta prosessissaTässä luvussa perehdytään lyhyesti prosessin kannalta riittävään järjestelmästäsaatavaan diagnostiikkaan sekä soveltuvaan etähallintaan. Järjestelmän vakaanja tehokkaan toiminnan kannalta riittävä diagnostiikka on oleellista [Bechtold,1998]. Tämä pitää sisällään fyysisten laitteiden, kuten kuvanlukijoiden, toiminnansekä itse järjestelmän suorituskyvyn ja toimivuuden tarkkailun. Lisäksi järjestelmänylläpidon helpottamiseksi ja virhetilanteiden korjaamiseksi järjestelmäänvoidaan upottaa mukaan etähallintaan liittyvää toiminnallisuutta.Diagnostiikka voidaan toteuttaa järjestelmään kiinteästi sisältyvänä moduulinatai ulkoisena palveluna. Käytettäessä ulkoista palvelua tulee järjestelmänsisältää diagnostiikkarajapinta, johon diagnostiikkapalvelu kytketään kiinni.Ulkoisen palvelun etuna on diagnostiikkainformaation suodattaminen vastaamaankäyttäjän tarpeita [Linxia and Lee, 2010]. Eri käyttäjäryhmille voidaanhelposti luoda erilliset, tarkoin rajatut ja toisistaan riippumattomat näkymät.Passiivinen järjestelmästatus, aktiiviset viestit ja varoitukset mahdollistuvatmyös diagnostiikan lisäämisen myötä.Järjestelmän ollessa keskeinen osa organisaation toimintaa on toimivuushyvä konkretisoida esimerkiksi diagnostiikkanäytön avulla. Paras sijainti näytölleon keskeisellä paikalla toimipaikassa, josta se on helposti useamman henkilönnähtävissä. Näkyvyys auttaa huomaamaan ongelmat järjestelmän toiminnassa.Näytöltä voidaan seurata esimerkiksi käsiteltyjen lomakkeiden määrää,tunnistuksen oikeellisuutta yms. raportointia.Käytössä voi olla myös laite, joka osaa määrittää kuvanlukijan jonossa olevienlomakkeiden määrän esim. lomakekasan korkeuden tai painon perusteella.Jos jonkun kuvanlukijan luokse alkaa muodostua jonoa, tilanteeseen voidaanreagoida välittömästi.Järjestelmän toimivuuden ollessa kriittistä voidaan toimivuudesta lähettääaktiivisesti viestejä ja informaatiota ylläpidolle sekä muille ennalta määritetyilletahoille. Lähetettävät viestit voivat olla toimivuusraportteja tai ilmoituksiamahdollisesti havaituista vioista [May et al., 2004]. Viestin aktivoitumista vartenvoidaan määritellä laukaiseva ehto tai useita ehtoja. Näin esimerkiksi skannattavienlomakkeiden alkaessa loppua voidaan kohdehenkilöille lähettää ensinhuomautus tilanteesta ja lopulta varoitus, jos lomakkeet pääsevät kokonaanloppumaan. Järjestelmän sisäisistä virheistä puolestaan voidaan lähettää kiireellinenvirheilmoitus, jotta vika saadaan mahdollisimman nopeasti ylläpidontietoon ja edelleen korjaukseen.


44Diagnostiikka voi sisältää myös etähallintasovelluksen, jolla järjestelmän tilaavoidaan testata ja tarvittaessa myös muuttaa [Wang et al., 2004]. Tästä onapua, jos ylläpito ei ole fyysisesti samassa paikassa järjestelmän kanssa. Jokaisenpienen ongelman takia paikan päälle lähteminen ei ole kannattavaa ja etähallinnanavulla tätä tarvetta voidaan vähentää. Etähallinnan puuttuessa voidaanturvautua puhelintukeen, mutta tällöin ollaan sen varassa, että käyttäjäkykenee ja uskaltaa tehdä tarvittavat toimenpiteet. Lisäksi käyttäjä voi ymmärtääasiat eri tavalla kuin neuvoja antava henkilö, mikä voi lopulta johtaa isompiinongelmiin.


459. Markkinakatsaus valmisratkaisuihinSilmäys ohjelmistomarkkinoille on käsillä ennen viimeistä lukua. Tässä luvussatutkitaan, mitä valmisratkaisuja paperilomakkeiden digitalisointiin on saatavillamarkkinoilta. Tarkasteltavana ovat kirjastot, jotka sisältävät kaiken toiminnallisuudenkäyttöliittymää lukuun ottamatta, sekä paketista suoraan käyttöönotettavat valmisohjelmistot.Markkinoilta löytyy nykyään useita valmisratkaisuja paperilomakkeidendigitalisointiin. Ratkaisut sisältävät lähes kaiken prosessissa tarvittavan toiminnallisuudenja hoitavat työn skannauksen aloittamisesta tunnistetun digitaalisenlomakkeen tallennukseen. Vain kuvanlukijan hankinta jää käyttäjälleerilliseksi huolenaiheeksi.Digitalisoinnin lopputulos on yleensä tiedosto käyttäjän valitsemassa formaatissa.Saadakseen tiedoston sisältämät tiedot varsinaiseen tietomalliin, tuleekäyttäjän itse luoda järjestelmä, joka kykenee käsittelemään tallennetun tyyppisiätiedostoja, jotta sisältö saadaan luettua ja edelleen siirrettyä varsinaiseen tietomalliin.Ohjelmien tukemat tallennusformaatit ovat kuitenkin yleisiä ja vaihtoehtojaon yleensä useampia kuin yksi, joten yleiskäyttöisen työkalun kehittäminenon mahdollista.Otettaessa käyttöön kokonaisratkaisu säästytään järjestelmän suunnittelunja kehittämiseen kuluvilta kustannuksilta. Lisäksi samalla saadaan valmistajantarjoama käyttötuki sekä mahdolliset päivityspalvelut. Menetyksiin kuuluvatomien lisäyksien ja tarpeiden huomioiminen ohjelmassa. Vaihtoehtona on tehdätilaus omasta ohjelmasta jollekin ohjelmistovalmistajalle. Räätälöitävän sovelluksenhinta on kuitenkin yleensä moninkertainen verrattuna valmiiseen sovellukseen,joten se ei siksi ole aina mahdollista.9.1. ABBYY FinereaderABBYY oli esillä jo aiemmin käsiteltäessä OCR-rajapintoja. Pelkän OCRkirjastonlisäksi ABBYYstä on tarjolla myös kaikki palvelut sisältävä sovellus.Kuten aiemmin on kerrottu, on ABBYYn kielivarasto yksi laajimmista. Kieltentunnistus on automaattinen ja sen lisäksi ohjelma tunnistaa dokumentin sisältämäteri kielet. ABBYY on saatavilla sekä Windows- että Mackäyttöjärjestelmille[ABBYY]. Kuvassa 6 on nähtävissä ABBYYllä tunnistettudokumentti.Ohjelman sisältämä ADRT-ominaisuus (Adaptive Document RecognitionTechnology) kykenee monipuolisiin dokumentin rakenteeseen liittyviin tunnis-


46tustehtäviin. Tunnistus ymmärtää ylä- ja alatunnisteiden sekä sivunumeroidenkäytön ja olemassaolon. Ohjelma tukee myös yleisten viivakoodien tunnistamista.Käyttäjä voi tarvittaessa muokata tunnistettua dokumentin rakennetta.Esimerkiksi jos skannattava materiaali on aikakausilehdestä peräisin, ohjelmaosaa muodostaa sitä vastaavan virtuaalisen näkymän. Aikakausilehti sisältääkuitenkin usein tekstin alla olevan taustakuvan, mikä voi aiheuttaa ongelmiaautomatiikalle. Automaattisen tunnistuksen jälkeen käyttäjä voi korjata virheitäja lisätä tunnistamattomia alueita. Vastaavasti voidaan toimia muidenkin materiaalienkanssa, joissa on taustakuva.Kuva 6. ABBYY Finereader.Ohjelmasta löytyy myös tuki isommille organisaatioille jaetun lisenssikäytönmyötä. Ominaisuus on hyvä, koska jos käyttäjät vaihtelevat, ei turhia lisenssejäkuitenkaan tarvitse ostaa seisomaan. Hienompi ominaisuus on kuitenkinhajautettu dokumenttien käsittely. Työtaakka voidaan jakaa kaikkien taiosan organisaation verkossa olevien käyttäjien kesken, vaikka siten että jokainensuorittaa vain yhden toimenpiteen prosessista. Ohjelma voidaan myösmäärittää tarkkailemaan tiettyä kansiota tai sähköpostia saapuvan materiaalinosalta. Uusi materiaali otetaan heti vastaanottamisen jälkeen automaattisestiprosessoitavaksi.


479.2. FormSuiteFormSuite ei ole sovellus vaan 32-bittisille .NET- ja ActiveX-ympäristöille tarkoitettuohjelmointiympäristö, joka sisältää kaiken oleellisen digitalisoinnissatarvittavan toiminnallisuuden. Kaikki oleelliset tunnistusmenetelmät löytyvätkirjastosta: ICR, OCR ja OMR. Tuetut kielet ovat englanti, tanska, hollanti,suomi, ranska, saksa, italia, norja, portugali, espanja ja ruotsi [Accusoft].Kirjastossa on omat etunsa ja haittansa verrattuna valmiiseen sovellukseen.Suurin hyöty on avoimuus ja muokattavuus, koska käyttäjä ei ole sidoksissasovelluksen suunnittelijan näkemykseen käyttöliittymästä ja sovelluksen sisäisistätarpeista. Käyttäjä voi kehittää tarvitsemansa sovelluksen perustuen omiintarpeisiin ja käyttää kirjastoa vain tarvitsemiltaan osin. Tämä samainen seikkaon samalla myös haitta, koska sovelluksen kehittäminen vie aikaa ja resursseja.Kuvassa 7 on nähtävissä esimerkki ForumSuitesta toiminnassa Accusoftinomassa demo-ohjelmassa FormAssistissa.Kuva 7. FormAssist.Ominaisuuslista on kattava ja pitää sisällään kaiken perustoiminnallisuudensekä vähän lisää. Kuvien käsittelyä varten kirjastosta löytyy monia kuvanlaatua parantavia menetelmiä kuten suoristus, viivojen poisto, kirjainten täydennysja tasoitus. Lomaketietämys on myös viety pitkälle ja lomakkeiden tunnistaminensekä erottaminen toisistaan on mahdollista. Lisäksi lomakkeistavoidaan poimia vain sisällön kannalta tärkeiden alueiden sisältämä informaatio.Kuvien käsittelyä varten kirjastossa on 80 erilaista toimintoa.


48Kirjastosta on saatavilla myös kevyt versio FormFix, joka sisältää pelkästäänlomakkeen tunnistamiseen tarkoitetun toiminnallisuuden.9.3. OCRopusKuten FormSuiten tapaan myös OCRopus on ohjelmointikirjasto, joka on kuitenkintarkoitettu C++-kehitysympäristölle. Kirjasto on Googlen sponsoroima japohjautuu kahteen tutkimusprojektiin: 1990-luvun puolivälissä kehitettyynICR-järjestelmään ja useisiin dokumentin rakenteen analysointimenetelmiin.Järjestelmä sisältää rakenteen tunnistamisen, kirjainten tunnistuksen, OCR:n jamonikielituen. Kuvien esikäsittelyä varten kirjasto sisältää suoristuksen sekämuut tavalliset korjausmenetelmät. OCRopusta hyödyntäviä projekteja ovatesimerkiksi DECAPOD, joka on tarkoitettu kirjojen digitalisointiin suuressa mittakaavassa OCRosearch, joka tarjoaa automatisoidun digitaalisen kirjaston ylläpidon[Google Code, 2010].Järjestelmä on suunniteltu laajennettavuutta silmällä pitäen, eivätkä sen sisältämätosat ole tiukasti kiinni toisissaan. Kehittäjä voi tarvittaessa vaihtaa rakenteenanalysointiin ja OCR:n liittyvät oletuksena käytetyt alijärjestelmät. Lisäksijärjestelmään voidaan kytkeytyä kiinni myös skriptikielillä kuten Lua jaPython.9.4. SimpleIndexHelppokäyttöisyyttä hakevalle SimpleIndex on tarkastelemisen arvoinen vaihtoehto[Simple Software]. Ohjelma sisältää kaiken skannauksen ja tietokantatallennuksenvälillä. Lomakerakenteen tunnistaminen on myös automatisoitu jalisäksi ohjelma osaa tunnistaa samankaltaiset kentät ja niihin liittyvän sisällön.Kerätyn tiedon tallennus onnistuu mihin tahansa tietokantaan.Kuvassa 8 on SimpleIndexin käyttöliittymä, johon on manuaalisesti lisättytunnistettavat alueet.Ohjelma ymmärtää myös useammalle kuin yhdelle lomakkeelle jaettuja lomakekokonaisuuksia(esimerkiksi hakemus ja siihen liittyvät pakolliset liitteet).Skannauksen yhteydessä ohjelma voi tarkistaa, että kaikki vaadittavat lomakkeeton skannattu ja varoittaa, jos jotain puuttuu. Lomakekokonaisuudet saadaannäin tallennettua kokonaisuuksina.Ohjelmaan ei voi kytkeytyä suoraan ohjelmallisesti kiinni, mutta komentorivinkautta tämäkin onnistuu epäsuorasti. Tämä mahdollistaa oman käyttöliit-


49tymän tekemisen, jos ohjelman sisältämä oletuskäyttöliittymä ei ole ominaisuuksiltaantai toiminnoiltaan riittävä.Kuva 8. SimpleIndex.9.5. WindFORMGDI (Graphics Development International, Inc.) on kehittänyt useita työkalujadokumenttien hallintaan ja digitalisointiin liittyen. Valikoimasta löytyy sovelluksetsekä OCR- että ICR-tunnistusta varten (WindFORM OCR ja WindFORMfor ICR). Lisäksi valikoimassa on myös DataGold-ohjelma, joka on näistä lähinnähaetun kokonaisratkaisun kaltaista järjestelmää. Eri ohjelmat integroituvattoistensa kanssa ainakin jossakin määrin, joten toimintoja voi poimia eri ohjelmista[GDI].DataGold osaa skannata ja tunnistaa lomakkeita. Sisällön osalta tekstintunnistukseenon käytettävissä sekä OCR- että ICR-menetelmät. Järjestelmä tallentaakerätyn informaation käyttäjän määrittämään tietokantaan, joka voi olla jokinseuraavista: ODBC DDE OLE 2.0 [GDI].


50WindFORM OCR ei sisällä oletuksena tukea monikielisyydelle. Järjestelmässäon valmis 90000 sanan sanavarasto ja ilmeisesti siis englanniksi, mihin eikuitenkaan löytynyt suoraa varmistusta. Käyttäjä voi tuoda järjestelmään omiasanastojaan, mikä mahdollistaa esimerkiksi Suomen kielen lisäämisen. Kuvassa9 on nähtävissä WindFORM OCR:n generoima lomakerakenne kuvan perusteella.Kuva 9. WindFORM OCR.


5110. YhteenvetoPaperilomakkeiden digitalisoiminen kuulostaa nopeasti ajatellen helpolta ja yksinkertaiseltatoimenpiteeltä. Kuten on kuitenkin havaittu, on prosessi varsinmonimutkainen ja koostuu useista eri menetelmistä. Tekstin saaminen paperilomakkeestaaina prosessoitavaksi merkkijonoksi asti vaatii useita työvaiheitaalkaen käyttäjän fyysisestä suorituksesta skannauksen aikana tekstintunnistuksenvaatimaan raskaaseen tietokoneella suoritettavaan matemaattiseen laskentaan.Tekstintunnistusta on tutkittu paljon ja useita erilaisia menetelmiä ongelmanratkaisemiseksi on ehdotettu. Tarkkuus ei kuitenkaan ole täydellinen, jotenkehittämisen varaa on edelleen. Nopeus on toinen tekstintunnistuksen kannaltaoleellinen tekijä. Hidas, mutta tarkka, tekstintunnistus saa muun prosessinja työt seisomaan.Prosessi on ositettavissa selkeisiin kokonaisuuksiin, mikä helpottaa ymmärtämistä.Tästä on etua myös järjestelmää suunniteltaessa, koska tarvittaessa onmahdollista keskittyä vain yhden vaiheen vaatimiin spesifeihin tarpeisiin javaatimuksiin. Vaiheiden kesken erot toiminnallisuuden osalta ovat hyvinkinisoja. Paperilomakkeiden saaminen digitaalisiksi kuviksi ei vaadi suuria ponnisteluja,mutta sen sijaan tekstintunnistus on tekstissä esiintyvien eroavaisuuksien,etenkin käsinkirjoitetun tekstin kohdalla, hyvin vaativaa.Prosessin selkeästä osittamisesta ymmärryksen helpottamiseksi on hyötyämyös hajauttamisen kannalta. Toiminnallisuuden ollessa omissa paketeissaanvoidaan järjestelmä hajauttaa useammalle palvelimelle. Lisäksi samaa toimintoavoidaan suorittaa useammalla kuin yhdellä palvelimella jakamalla materiaalipalvelinten kesken. Kuorman jakaminen nopeuttaa prosessin suoritusta.Useammalla palvelimella suoritettavat samat vaiheet paitsi nopeuttavat niinsamalla myös turvaavat järjestelmän toimintaa, koska yhden palvelimen putoaminenpois toiminnasta ei vielä tarkoita koko prosessin pysähtymistä. Hajauttamistaon sovellettu jo käytäntöön markkinoilta saatavassa ABBYY Finereader-ohjelmassa [ABBYY].Automatisointi on prosessin kannalta avainasemassa. Käsiteltävien lomakkeidenmäärä voi olla hyvinkin suuri, ja jos käyttäjän on oltava koko ajan läsnä,sidotaan arvokkaita henkilöstöresursseja. Kuten on havaittu, prosessin vaiheetskannausta lukuun ottamatta ovat hyvin pitkälti täysin automatisoitavissa.Parhaimmillaan käyttäjää tarvitaan vain passiiviseen valvontaan sekä virheidenkorjaamiseen. Automatiikka ei kuitenkaan ole pelkästään onni ja autuus. Au-


52tomatiikan olleessa käytössä rinnalle on syytä tuoda mukaan riittävä diagnostiikkasekä etähallintamahdollisuuskin tietyissä rajoissa. Järjestelmän omavalvontaja tilanneraportit virheilmoituksineen estävät prosessin täydellisen pysähtymisen,jos käyttäjä ei ole aktiivisesti valvomassa toimintaa.Paperilomakkeiden digitalisoimista suunniteltaessa ei tarvitse lähteä liikkeelleaivan tyhjältä pöydältä. Nopeinta on ottaa käyttöön valmisratkaisu, muttatällöin joudutaan useimmiten tinkimään tarpeista, koska ohjelman tarjoamatominaisuudet eivät välttämättä ole täysin se mitä haetaan. Vaihtoehtona onoman järjestelmän suunnittelu, jossa voidaan hyödyntää olemassa olevaa materiaaliatutkimusten ja valmiiden kirjastojen osalta. Kehittäjälle jää näin suunniteltavaksiteknologiaa ja tekniikkaa käyttävän rungon kehittäminen. Aikaa vievintäon tehdä kaikki alusta asti itse.Tämä tutkimus on ollut katsaus paperilomakkeiden digitalisointiprosessiinyleisellä tasolla. Tutkittavaa prosessin eri vaiheiden sisältämien tekniikoiden jamenetelmien osalta riittää edelleen.


53Viiteluettelo[Abad et al., 2006] Jose L. Abad, Sherif Yacoub, Daniel Ortega, Paolo Faraboschiand John Burns, Semantic-Based Noise Reduction for Digital Documents,ICGST International Journal on Graphics, Vision and Image Processing (GVIP)6, Special Issue on Applicable Image Processing (2006), 57-61.[ABBYY] ABBYY, ABBYY FineReader Homepage, http://finereader.abbyy-.com/. Checked 19.4.2010.[Accusoft] Accusoft Pegasus, Formsuite Homepage, http://www.accusoft.com/-formsuite.htm. Checked 20.4.2010.[AIM, 2000], AIM, Inc, OPTICAL CHARACTER RECOGNITION (OCR),http://www.aimglobal.org/technologies/othertechnologies/ocr.pdf.Checked 9.4.2010.[Amin and Fischer, 2000] A. Amin and S. Fischer, A Document Skew DetectionMethod Using the Hough Transform, Pattern Analysis & Applications 3, 3(2000), 243-253.[Antonacopoulos and Karatzas, 2004] Apostolos Antonacopoulos and DimosthenisKaratzas, A Complete Approach to the Conversion of TypewrittenHistorical Documents for Digital Archives, In: Document Analysis SystemsVI, Lecture Notes in Computer Science 3163 (2004), 90-101.[Asprise] LAB Asprise!, Asprise OCR SDK v4.0 Homepage, http://asprise.com/-product/ocr/selector.php. Checked 21.4.2010.[Baid, 2000] Henry S. Baid, The State of the Art of Document Image DegradationModeling, In: Proceedings of 4th IAPR International Workshop on DocumentAnalysis Systems (2000), 1-16.[Baird et al., 2004] Henry S. Baird, Daniel Lopresti, Brian D. Davidson and WilliamM. Pottenger, Robust Document Image Understanding Technologies,In: Proceedings of Conference on Information and Knowledge Management(2004), 9-14.[Bechtold, 1998] Richard T. Bechtold, Diagnostic Software Architectures, Developmentand Evolution of Software Architectures for Product Families, LectureNotes in Computer Science 1429 (1998), 143-147.


54[Beitzel et al., 2003] Steven M. Beitzel, Eric C. Jensen and David A. Grossman,Retrieving OCR Text: A Survey of Current Approaches, In: Symposium onDocument Image Understanding Technologies, SDIUT'03 (2003), 145-151.[Belaïd and Belaïd, 1999] Y. Belaïd and A. Belaïd, Form Analysis by NeuralClassification of Cells, In: Document Analysis Systems: Theory and Practice,Lecture Notes in Computer Sciences 1655 (1999), 741.[Casey et al., 1992] Richard Casey, David Ferguson, K. Mohiuddin and EugeneWalach, Intelligent forms processing system, Machine Vision and Applications5, 3 (1992), 143-155.[Cavnar and Gillies, 1994] William B. Cavnar and Andrew M. Gillies, Data Retrievaland the Realities of Document Conversion, In: Proceedings of DigitalLibraries '94 (1994).[Cesarini et al., 1998] Francesca Cesarini, Marco Gori, Simone Marinai and GiovanniSoda, INFORMys: A Flexible Invoice-Like Form-Reader System,IEEE Transactions on Pattern Analysis and Machine Intelligence 20, 7 (1998),730-745.[Couasnon, 2001] Bertrand Couasnon, Dmos: A generic document recognitionmethod, application to an automatic generator of musical scores, mathematicalformulae and table structures recognition systems, InternationalJournal on Document Analysis and Recognition, 8, 2-3 (2001), 111-122.[Dropbox] Dropbox, Dropbox Homepage, http://www.dropbox.com/. Checked21.4.2010.[ExperVision] ExperVision, WebOCR 1.0 (Beta 2) Homepage, http://www.-expervision.com/download-webocr.htm. Checked 21.4.2010.[Faure, 2000] Claudie Faure, Extracting the tables of contents from the imagesof documents. In: Proceedings of RIAO 2000 (2000), 121-135.[File Innovations] File Innovations, Optical Character Recognition Tools Homepage,http://www.ocrtools.com/. Checked 21.4.2010.[Fujitsu, 2010] Fujitsu, Kofax VRS (Virtual Rescan), http://www.fujitsu-.com/global/services/computing/peripheral/scanners/tech/kofax/. Checked21.4.2010.


55[Fulton, 2010] Wayne Fulton, A few scanning tips, http://www.scantips.com/.Checked 21.4.2010.[Gatos et al., 1997] B. Gatos, N. Papamarkos and C. Chamzas, Skew detectionand text line position determination in digitized documents, Pattern Recognition,30, 9 (1997), 1505-1519.[Gibson and Rodney, 2000] Garth A. Gibson and Rodney Van Meter, Networkattached storage architecture, Communications of the ACM 43, 11 (2000), 37-45.[GOCR] GOCR Homepage, http://jocr.sourceforge.net/. Checked 21.4.2010.[Google Code, 2010] Google Code, OCRopus Homepage, http://code.google-.com/p/ocropus/. Checked 20.4.2010.[Google Code, 2010] Google Code, Tesseract OCR Homepage, http://code-.google.com/p/tesseract-ocr/. Checked 19.4.2010.[GDI] Grahics Development International, Inc., WindFORM Products,http://www.gdisoft.com/gwf.htm. Checked 20.4.2010.[Jiang et al., 1997] Huei-Fen Jiang, Chin-Chuan Han and Kuo-Chin Fan, A fastapproach to the detection and correction of skew documents, Pattern RecognitionLetters, 18, 7 (1997), 675-686.[Kebairi et al., 1999] Saddok Kebairi, Bruno Taconet, Abderrazak Zahour andSaid Ramdane, A Statistical Method for an Automatic Detection of FormTypes, In: Document Analysis Systems: Theory and Practice, Lecture Notes inComputer Sciences 1655 (1999), 738.[Kieninger and Dengel, 1999] Thomas Kieninger and Andreas Dengel, The T-Recs Table Recognition and Analysis System, In: Document Analysis Systems:Theory and Practice, Lecture Notes in Computer Sciences 1655 (1999),741.[Kim et al., 1999] Gyeonghwan Kim, Venu Govindaraju and Sargur N. Srihari,An architecture for handwritten text recognition systems, InternationalJournal on Document Analysis and Recognition 2, 1 (1999), 37-44.


56[Klink et al., 2000] Stefan Klink, Andreas Dengel and Thomas Kieninger, DocumentStructure Analysis Based on Layout and Textual Features, In: Proceedingsof International Workshop on Document Analysis Systems, DAS2000(2000), 99-111.[Kochi and Saitoh, 1999] Tsukasa Kochi and Takashi Saitoh, A Layout-Free Methodfor Extracting Elements from Document Images, In: Document AnalysisSystems: Theory and Practice, Lecture Notes in Computer Sciences 1655(1999), 739.[Koga et al., 1999] M. Koga, R. Mine, H. Sako and H. Fujisawa, Lexical SearchApproach for Character-String Recognition, In: Document Analysis Systems:Theory and Practice, Lecture Notes in Computer Sciences 1655 (1999), 739.[Kolak and Resnik, 2002] Okan Kolak and Philip Resnik, OCR Error CorrectionUsing a Noisy Channel Model, In: Human Language Technology Conference(2002), 257-262.[Korb, 2008] Joachim Korb, Survey of existing OCR practices and recommendationsfor more efficient work, http://www.theeuropeanlibrary.org/portal/-organisation/cooperation/telplus/outcomes.php. Checked 9.4.2010.[Kwag et al, 2002] H. K. Kwag, S. H. Kim, S. H. Jeong and G. S. Lee, Efficientskew estimation and correction algorithm for document images, Image andVision Computing 20, 1 (2002), 25-35.[Lam et al., 1993] Stephen W. Lam, Javanbakht Ladan and Sargur N. Srihari,Anatomy of a form reader. In: Proceedings of the International Conference onDocument Analysis and Recognition, ICDAR'93 (1993), 506-509.[Lavirotte and Pottier, 1998] Stéphane Lavirotte and Loïc Pottier, Mathematicalformula recognition using graph grammar, In: Proceedings of the SPIE 3305(1998), 44-52.[Lecun et al., 1998] Yann Lecun, Léon Bottou, Yoshua Bengio and Patrick Haffner,Gradient-based learning applied to document recognition, In: Proceedingsof the IEEE 86, 11 (1998), 2278-2324.[Lenox and Woratschek, 2002] Terri L. Lenox and Charles R. Woratschek, OpticalCharacter Recognition, In: Roger R. Flynn Computer Sciences Volume 2,Software and Hardrware, Macmillan Reference USA, 2002, 132-134.


57[Liang at al., 1996] J. Liang, J. Ha, R. M. Haralick and I. T. Phillips, Documentlayout structure extraction using bounding boxes of different entities. In:Proceedings of Workshop on Applications of Computer Vision, WACV '96(1996), 278-283.[Liang, 1999] Jisheng Liang, Document Structure Analysis and Performance Evaluation,University of Washington, 1999.[Likforman-Sulem et al., 2006] Laurence Likforman-Sulem, Pascal Vaillant andAliette de Bodard de la Jacopière, Automatic name extraction from degradeddocument images, Pattern Analysis & Applications 9, 2-3 (2006), 211-227.[Lin et al., 1996] Jenn-Yih Lin, Chi-Wei Lee and Zen Chen, Identification ofbusiness forms using relationships between adjacent frames, Machine Visionand Applications 9, 2 (1996), 56-64.[Linxia and Lee, 2010] Linxia Liao and Jay Lee, Design of a reconfigurableprognostics platform for machine tools, Expert Systems with Applications 37,1 (2010), 240-252.[Maoa et al., 2003] Song Mao, Azriel Rosenfeld and Tapas Kanungo, DocumentStructure Analysis Algorithms: A Literature Survey, In: Proceedings of SPIEElectronic Imaging (2003), 197-207.[Maruyama et al., 1999] Kenichi Maruyama, Makoto Kobayashi, Yasuaki Nakanoand Hirobumi Yamada, Cursive Handwritten Word Recognition byIntegrating Multiple Classifiers, In: Document Analysis Systems: Theory andPractice, Lecture Notes in Computer Sciences 1655 (1999), 735.[May et al., 2004] Adolf May, Benjamin Coifman, Randall Cayford and GregMerritt, Automated Diagnostics of Loop Detectors and the Data CollectionSystem in the Berkeley Highway Laboratory, University of California,Berkeley (2004).[Milewski and Govindaraju, 2006], Robert Milewski and Venu Govindaraju,Extraction of Handwritten Text from Carbon Copy Medical Form Images,In: Document Analysis Systems VII, Lecture Notes in Computer Science 3827(2006), 106-116.


58[Mori et al., 1999] Shunji Mori, Hirobumi Nishida and Hiromitsu Yamada, OpticalCharacter Recognition, John Wiley & Sons, New York, 1999.[Nartker et al., 2003] T. Nartker, K. Taghva, R. Young, J. Borsack and A. Condit,OCR correction based on document level knowledge, In: Proceeding ofSPIE 5010 (2003), 103-110.[Neves et al., 2008] Luiz Antônio Pereira Neves, João Marques de Carvalho,Jacques Facon and Flávio Bortolozzi, Table-form Extraction with ArtefactRemoval, Journal of Universal Computer Science, 14, 2 (2008), 252-266.[OCR Terminal] OCR Terminal, http://www.ocrterminal.com/. Checked19.4.2010.[OnlineOCR.net 1] OnlineOCR.net, Online OCR Homepage, http://www-.onlineocr.net/. Checked 20.4.2010.[OnlineOCR.net 2] OnlineOCR.net, OCR Web Service Homepage, http://www-.ocrwebservice.com/. Checked 20.4.2010.[Osterer and Stamm, 2008] Heidrun Osterer and Philipp Stamm, Adrian FrutigerTypefaces: The Complete Works, Birkhäuser Basel, 2008, 175-190.[Peng et al., 2003] Hanchuan Peng, Fuhui Long and Zheru Chi, Document ImageRecognition Based on Template Matching of Component Block Projections,IEEE Transactions on Pattern Analysis and Machine Intelligence 25, 9(2003), 1188-1192.[PrimeRecognition] Prime Recognition, Inc., Prime Recognition Homepage,http://www.primerec.com/. Checked19.4.2010.[Rawat et al., 2006] Sachin Rawat, K.S. Sesh Kumar, Million Meshesha, IndraneelDeb Sikdar, A. Balasubramanian and C.V. Jawahar, A SemiautomaticAdaptive OCR for Digital Libraries, In: Document Analysis SystemsVII, Lecture Notes in Computer Science 3872 (2006), 13-24.[Rice et al., 1995] Stephen V. Rice, Frank R. Jenkins and Thomas A. Nartker,The Fourth Annual Test of OCR Accuracy, Information Science ResearchInstitue, University of Nevada (1995).


59[Roy et al, 2009] Vandana Roy, Sriganesh Madhvanath, Anand S. and RaghunathR. Sharma, A Framework for Adaptation of the Active-DTW Classifierfor Online Handwritten Character Recognition, In: International Conferenceon Document Analysis and Recognition (2009), 401-405.[Shafait et al., 2007] Faisal Shafait, Joost van Beusekom, Daniel Keysers andThomas M. Breuel, Page Frame Detection for Marginal Noise Removalfrom Scanned Documents, In: Image Analysis, Lecture Notes in ComputerSciences 4522 (2006), 71-83.[Sherkat et al., 2005] Nasser Sherkat, Tony Allen and Wing Seong Wong, Use ofcolour for hand-filled form analysis and recognition, Pattern Analysis &Applications 8, 1-2 (2005), 163-180.[Shirari et al., 1994] Sargur N. Srihari, Stephen W. Lam, Jonathan J. Hull, RohiniK. Srihari and Venugopal Govindaraju, Intelligent Data Retrieval fromRaster Images of Documents, In: Proceedings of Digital Libraries '94 (1994),34-40.[Simple Software] Simple Software, SimpleIndex, http://www.simpleindex-.com/. Checked. 20.4.2010.[Sojka, 2005] Petr Sojka, From Scanned Image to Knowledge Sharing Formatsand Technologies in the Digital Mathematics Library Project. In: Proceedingsof I-KNOW '05 (2005), 664-672.[Spivak, 2002] Polina K. Spivak, Discovery of Optical Character RecognitionAlgorithms using Genetic Programming, In: Genetic Algorithms and GeneticProgramming at Stanford (2002), 223-232.[Staelin et al., 2007] Carl Staelin, Michael Elad, Darryl Greig, Oded Shmueli andMarie Vans, Biblio: automatic meta-data extraction, International Journal onDocument Analysis and Recognition 10, 2 (2007), 113-126.[t-reinhard.ch] t-reinhard.ch, Free OCR, http://www.free-ocr.com/. Checked21.4.2010.[Taghva et al., 1998] Kazem Taghva, Allen Condit, Julie Borsack, John Kilburg,Changshi Wu, and Jeff Gilbreth, The MANICURE Document ProcessingSystem, In: Document Recognition V, Proceedings of SPIE 3305 (1998), 179-184.


60[Tang and Liu, 1997] Yuan Yan Tang and Jiming Liu, Information Acquisitionand Storage of Forms in Document Processing, In: Proceedings of the 4th InternationalConference on Document Analysis and Recognition, ICDAR'97(1997), 170-174.[Taylor et al., 1992] Suzanne Liebowitz Taylor, Richard Fritzson and Jon A. Pastor,Extraction of data from preprinted forms, Machine Vision and Applications5, 3 (1992), 211-222.[Tong and Evans, 1996] Xiang Tong and David A. Evans, A Statistical Approachto Automatic OCR Error Correction in Context, In: Proceedings ofthe Fourth Workshop on Very Large Corpora (WVLC-4) (1996), 88-101.[Traeger et al., 2006] Avishay Traeger, Nikolai Joukov, Josef Sipek and ErezZadok, Using free web storage for data backup, In: Proceedings of theSecond ACM Workshop on Storage Security and Survivability (2006), 73-78.[Transym] Transym, TOCR Homepage, http://www.transym.com/. Checked21.4.2010.[Trier et al., 1996] Øivind Due Trier, Anil K. Jain and Torfinn Taxt, Feature extractionmethods for character recognition-A survey, Pattern Recognition29, 4 (1996), 641-662.[Wang et al., 2004] J.F. Wang, Peter W. Tse, L.S. He and Ricky W. Yeung, Remotesensing, diagnosis and collaborative maintenance with Web-enabledvirtual instruments and mini-servers, The International Journal of AdvancedManufacturing Technology 24, 9-10 (2004), 764-772.[Wikipedia, 2010] Wikipedia OCR-A font, http://en.wikipedia.org/wiki/OCR-A_font. Checked 28.4.2010.[Wu et al., 2008] Jui-Chen Wu, Jun-Wei Hsieh and Yung-Sheng Chen, Morphology-basedtext line extraction, Machine Vision and Applications 19, 3(2008), 195-207.[Ye et al., 2000] X Ye, M. Cheriet and C.Y. Suen, A generic system to extract andclean handwritten data from business forms, In: Proceedings of the SeventhInternational Workshop on Ffrontiers in Handwriting Recognition (2000), 63-72.


61[Zheng et al., 2005] Yefeng Zheng, Huiping Li and David Doermann, A Parallel-LineDetection Algorithm Based on HMM Decoding, IEEE Transactionson Pattern Analysis and Machine Intelligence 27, 5 (2005), 143-155.[Zhilan et al., 2007] Hu Zhilan, Lin Xinggang and Yan Hong, Document imageretrieval based on multi-density features, Frontiers of Electrical and ElectronicEngineering in China 2, 2 (2007), 172-175.


62Liite 1OCR-kirjastojen käyttämät tiedostoformaatitABBYY Finereader OCR .Net TOCRAsprise OCRLuku Kirjoitus Luku Kirjoitus Luku Luku.bmp x x x x.dbf.dcx.chead.cutDjVu.dcx.dds.doc.docx.doom.csv.htmlxxxxxxxxxxxx.gif x x.ico.jngxx.jpeg x x.jpg x x x.lbm.lif.mdl.mng.pbm.pcx.pcd.pdf.pgm.pic.pix.pnm.ppt.pptxxxxxxxxxxxxx.png x x.pnm.psd.pxrxxx


.pcd.pdf.pgm.pic.pix63.pnm.ppt ABBYY Finereader x OCR .Net TOCR Asprise OCR.pptx Luku Kirjoitus x Luku Kirjoitus Luku Luku.bmp .png x x x x.dbf .pnmxx.dcx .psdxx.chead.pxrx.cut.rawxDjVu.rtfxx.sgix.dcx.tgax.dds.tiff x x x x.docx.txtx.docxx.walx.doom.xls x x.csv.xlsxx.htmlx.xml x x.gif x x.xpm.ico.jng.jpeg x x.jpg x x x.lbm.lif.mdl.mng.pbm.pcx.pcd.pdf.pgm.pic.pix.pnm.ppt.pptxxxxxxxxxxxxxxxx.png x x.pnm.psd.pxr.raw.rtf.sgi.tgaxxxxxxxxxxx


64Liite 2OCR-verkkopalvelujen käyttämät tiedostoformaatitOCR TerminalOnline OCRFree Online OCRLuku Kirjoitus Luku Kirjoitus Luku.bmp x x x.doc x x.html.gif x x x.jpeg x x.jpg x x.pcx.pcd.pdf x x x x.png.rtf x x.tiff x x x.txt x x.xlsxxxx

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!