Vinnare av Tidskriftspriset: Årets rörligt 2024!

Skriva på dator utan tangenter

Nya metoder att mata in text i handdatorer prövas. Ett sätt upptäcktes av en slump av matematiker i Lund.

Antalet avancerade mobiltelefoner och handdatorer ökar, och då växer också behovet av att mata in text direkt i dessa terminaler. Men apparaterna är så små att ett komplett tangentbord som går att använda med händerna inte får plats.

För mobiltelefoner dominerar inmatning med siffertangenter. Men på handdatorer har man ofta inga siffertangenter, och inmatningen sker då med hjälp av en penna som man ritar med på skärmen. Antingen visar datorn ett tangentbord på skärmen som man kan skriva på genom att peka med pennan på bokstäverna, eller så försöker datorn tolka handstilen.

Läsa handstilen gammalt

System för tolkning av handskriven text har funnits lika länge som datorerna. För att få in handstilen i datorn skriver man den på papper och skannar den sedan för att få den tolkad och digitalt lagrad i datorn. Tekniken, ofta kallad OCR, optical character recognition, är relativt välutvecklad även om kvaliteten på resultaten varierar. I dag används den till exempel för automatisk postsortering. Här får man stor hjälp av att maskinen kan gissa när tecknen är svåra att tolka. Antalet alternativ är starkt begränsade, eftersom det ju finns ett begränsat antal postorter i Sverige.

Det största problemet i tolkningen är att avgöra var ett tecken slutar och nästa börjar, och tekniken fungerar bäst för siffror. Störst framgång har tekniken rönt när det gäller avläsning av förtryckta blanketter. Dessa har oftast fält med en ruta för varje bokstav, men skriften som krävs känns onaturlig, och blanketterna upplevs som svåra att använda.

Tolka när du skriver

I en handdator går man inte omvägen via papper. Detta ger en fördel jämfört med att tolka handstil som är skriven på papper, eftersom datorn kan se hur pennan rör sig och därmed får ytterligare information.

Det finns i princip tre metoder för att tolka handstil. I den enklaste varianten skriver man varje bokstav för sig, men bokstaven måste skrivas utan att pennan lyfts. Tekniken kallas graffiti. Bokstäverna är inte heller identiska med riktig handstil, utan metoden kräver att man lär sig ett litet annorlunda alfabet. Systemet skiljer inte på versaler och gemener (stora och små bokstäver). Trots begränsningarna är denna teknik den vanligaste för handdatorer, och den används till exempel i operativsystemet PalmOS.

SCR, single character recognition, är en litet mer avancerad teknik, där man kan använda mer än ett penndrag för varje bokstav. Bokstäverna kan därmed se ut som vanliga bokstäver. Eftersom ett tecken görs i taget måste användaren dock texta.

Den mest avancerade tekniken kallas MCR, multiple character recognition, och är den som tillåter den naturligaste handstilen. Detta är den teknik som troligen kommer att ge bäst resultat i framtiden, men ännu finns inget system som fungerar tillräckligt bra.

Strunta i rätt detalj

Att tolka handstil kan vara nog så besvärligt för en människa. Jämfört med en dator är ändå vår hjärna bra på att urskilja väsentligheter från nonsens och skaffa sig en översiktlig uppfattning. En dator måste i detalj instrueras om hur denna urskillning ska gå till. Risken är att tolkningsprogrammet tar fasta på en överflödig detalj men missar ett litet betydelseskiljande streck.

Genom att filtrera tecken, ta fasta på de unika mönstren hos varje enskilt tecken och lära programmet att känna igen dessa och ignorera övrig information, kan man börja närma sig mänskliga prestanda i teckenigenkänningen, åtminstone i teorin. När man systematiserar tecknen på detta sätt kan man göra den slutliga abstraktionen med hjälp av matematiska verktyg som kallas invarianter.

En invariant är en storhet som inte ändras trots att objektet förändras. Om en triangel förminskas eller förstoras kommer storleksrelationerna mellan de olika sidorna i den att vara oförändrade, och dessa förhållanden är alltså invarianter. Skalförändringar är en form av transformation som används vid handstilsigenkänning, men det finns även andra, mer avancerade.

Genom att tilldela varje tecken en unik uppsättning geometriska invarianter, kan man angripa handstilsigenkänning genom att försöka identifiera dessa invarianter hos ett okänt tecken, jämföra de geometriska mönstren med de kända invarianterna och välja det tecken som stämmer bäst. Genom att använda sig av invarianter är det meningen att så länge texten är läslig för en annan människa, ska även datorprogrammet kunna känna igen den trots personliga variationer, darr och andra naturliga avvikelser.

Japansk text svårast

Handstilar har särdrag som till viss del kan hänföras till kön, ålder, utbildning och etnicitet. När man skapar sin tabell med jämförelsetecken, är det alltså viktigt att man samlar in ett gediget statistiskt material från skilda delar av befolkningen och inte bara från till exempel en vit ung manlig student i informatik.

En riktig utmaning för handskriftsigenkänning kommer dock när man lämnar det latinska alfabetet. Japansk handstil är sannolikt den som toppar listan. Japaner använder fyra olika uppsättningar tecken, ofta i samma text, och antalet möjliga tecken räknas därför i tusental.

Den kanske smartaste tekniken för att klara japanska kommer litet oväntat från svenska forskare. Av en slump upptäckte en doktorand vid Matematiska institutionen i Lund ett nytt sätt att tolka mänskliga handstilar som både fungerar bra för individuella handstilar och kan skilja på många och likartade tecken. Rikard Berthilssons avhandling handlade egentligen om datorseende och bildanalys. För några år sedan startade han företaget Decuma tillsammans med Gunnar Sparr och Karl Åström, båda professorer vid Matematiska institutionen, och nu används deras teknik i bland annat HP:s och Sonys handdatorer.

Mobiltelefonen har för få tangenter

På mobiltelefoner matar man oftast in text med hjälp av siffertangenterna. Tangenten med siffran 2 står också för exempelvis a, b, c, å och ä. Vill man ha bokstaven c trycker man tre gånger på samma tangent.

Det finns dock smarta genvägar. Det vanligaste systemet i dag kallas T9. Namnet på metoden är ett varumärke och en förkortning för ”Text med nio tangenter”. Med hjälp av en ordlista räknar systemet ut vilket av flera möjliga ord som är mest sannolikt med de använda tangenterna. För att skriva sov går det alltså att trycka en gång på vardera 7, 6 och 8, och systemet gissar då att det ska bli sov eftersom det är det vanligaste ordet som kan skrivas med de tangenterna.

Scott MacKenzie vid York University i Toronto, Kanada, har undersökt effektiviteten hos olika inmatningsmetoder. Enligt honom är antalet tangenttryckningar med T9 bara 0,7 procent fler än med ett vanligt stort tangentbord. Det betyder att man i genomsnitt bara behöver trycka på en extra tangent för var 139:e bokstav i normal engelsk text. Hans mätning utgår dock från att man endast skriver ord som finns i ordlistan. I den svenska versionen av T9 lär det finnas 70 000 svenska ord, vilket inte räcker för att skriva vanliga svenska texter.

Det finns ytterligare metoder för att mata in text med tangentbord, men som inte begränsas av en ordlista. I ett system som kallas Tilttext lutar man på mobiltelefonen åt olika håll för att få olika bokstäver. Siffran 2 ger ett a om man lutar telefonen åt vänster, men ett c om man lutar den åt höger, till exempel.

Ett sätt att minska antalet tangenttryckningar är också att låta mobilen gissa vilket ord det är som ska skrivas redan innan det är färdiginmatat. Med denna metod kan man minska antalet tangenttryckningar så att det i teorin går snabbare att skriva på mobilen än på ett vanligt tangentbord.

Upptäck F&F:s arkiv!

Se alla utgåvor