Svensk ordlista till iPhone 1.1.4

Har du en jailbreakad iPhone 1.1.4 så finns det nu en uppdatering av SwePhone. OBS! Vill du få förslag på å, ä och ö när du skriver in a och o så måste du fortfarande använda dig av tricket med att ersätta den engelska ordlistan.

Jag har än så länge inte några uppdateringar till ordlistan. Nuvarande status hittar du på status-sidan. Hittar du några konstigheter med ordlistan så skriv dem i en kommentar. Jag läser alla kommentarer och använder mig av dessa när jag förbättrar ordlistan.

Andra bloggar om: , , , , , , , , , ,

Svensk ordlista till iPhone 1.1.3

Jag vill bara kort meddela att tricket med att ersätta den engelska ordlistan fungerar även på en iPhone 1.1.3.

Har du en jailbreakad iPhone 1.1.3 så finns det just nu endast ett sätt att få svensk ordlista, och det är genom att använda min ordlista. Proceduren är densamma som tidigare.

Killarna bakom SwePhone har meddelat att det kommer en uppdatering för 1.1.3 inom kort.

Det finns en liten, liten chans att 1.1.3 förstår svenska bättre än tidigare versioner. Dvs. så att den ger förslag på å, ä och ö utan att man behöver utföra ”tricket”. Enligt mina undersökningar finns det redan i iPhone 1.1.1 och 1.1.2 flera språk som kan ge förslag på å, ä och ö – trots att dem inte är officiella än. Så låt oss alla hålla tummarna för att svenska blir en av dessa språk i 1.1.3.

Jag har än så länge inte några uppdateringar till ordlistan. Nuvarande status hittar du på status-sidan. Hittar du några konstigheter med ordlistan så skriv dem i en kommentar. Jag läser alla kommentarer och använder mig av dessa när jag förbättrar ordlistan.

Andra bloggar om: , , , , , , , , , ,

Min ordlista ger nu förslag på å, ä och ö

Jag har äntligen (efter många långa nätter) lyckats skapa en ordlista som fungerar riktigt bra!

Den nya ordlistan

  • föreslår å, ä och ö – utan att du behöver ta fram menyn (!)
  • kommer ihåg ord du skrivit och blir därmed bättre med tiden
  • känner av felstavningar och rättar automatiskt när det är möjligt
  • föreslår relevanta ord, om möjligt

Så här kan det se ut när du använder den nya ordlistan

iphone-ordlista-forslag.jpg

Tyvärr har iPhone inte så bra koll på Sverige och svenska tecken som å, ä och ö. Trots att man väljer svenska och svenskt tangentbord i inställningarna så ger inte iPhone några förslag när man skriver ”overvagande” eller ”aterse”. Detta har inte någonting att göra med min ordlista utan är alltså en brist i iPhone.

Men, det går att lura iPhone! Tricket, som är helt valfritt, är att man ersätter de befintliga brittiska ordlistefilerna med de svenska ordlistefilerna och därefter väljer ”Engelska (UK)” som tangentbord. Det gör du under Inställningar -> Allmänt -> Internationellt -> Tangentbord.

När du nästa gång ser tangentbordet, exempelvis när du skall skriva ett mejl, så klickar du en gång på denna knapp . Tangentbordet ställs då in till att vara ”Engelska (UK)”. Detta innebär i praktiken att den brittiska ordlistan används när du skriver. Har du ersatt den brittiska ordlistefilerna med de svenska så är du nu färdig. Så länge du använder det brittiska tangentbordet kommer du att få förslag på å, ä och ö(!).

Rent praktiskt så går själva tricket till på det sättet att du ändrar på ordlistans filnamn så att alla filer får namnet ”en_GB” istället för ”sv_SE”. Exempelvis får alltså ordlistefilen ”sv_SE-unigrams.dat” namnet ”en_GB-unigrams.dat”. När du överfört filerna måste du starta om din iPhone (och eventuellt även återställa din personliga ordlista).

Om du inte förstår hur du skall göra ovanstående så hittar du mer information på hjälpsidan.

Naturligtvis kan du överföra alla ordlistefiler utan att döpa om dem. Men då måste du alltså mata in å, ä och ö manuellt (precis som tidigare). I övrigt får du alla fördelar som jag punktade upp i början på detta inlägg.

Denna ordlista går även att ladda hem via SwePhone. Ordlistan som hamnar i SwePhone kommer att ha alla nya finesser, bortsett från att å, ä och ö föreslås. Vill du att detta skall fungera måste du alltså utföra ovanstående ”trick”. Den stora fördelen med SwePhone är att du slipper jobbet med att överföra filerna till din telefon.

Det finns fortfarande saker som kan bli bättre. Jag har uppdaterat statussidan med mer information om vad som kan bli bättre.

Jag har ännu inte haft möjlighet att prova ordlistan på en iPhone 1.1.2. Även i 1.1.2 måste du utföra ovanstående ”trick” för att få å, ä och ö att fungera.

Andra bloggar om: , , , , , , , , ,

Min ordlista hamnar snart i SwePhone

Inför att min ordlista kommer att införlivas i SwePhone så har jag gjort en ny sida där du alltid kan hitta en kort uppdaterad text om vad du kan förvänta dig av ordlistan just nu.

Detta är alltså en bra läsning för alla som har frågor kring ordlistan och dess funktionalitet.

Om du är intresserad av att ordlistan blir bättre kan du alltid lämna kommentarer, frågor och kritik. I det senare fallet, försök att ge konstruktiv kritik :-)

Tänk även på att den senaste versionen av min ordlista alltid finns på sidan Installera ordlistan. Och du kan också prenumera på denna sajt så att du alltid har den senaste informationen.

Andra bloggar om: , , , , , , , , ,

Ordlistan uppdaterad – innehåller nu ord med två bokstäver

Gott Nytt År!

Med det nya året kommer en första uppdatering av ordlistan. Jag har nu lyckats skapa en av de två saknade filerna, sv_SE-two-letter-words.dat!

Detta får som konsekvens att iPhone nu ger förslag när du skriver ett ord bestående av två bokstäver. Dessutom har jag lyckats fixa så att den ger förslag på ord som innehåller å, ä och ö.

Några exempel:

  • ”ar” blir ”är”
  • ”js” blir ”ja” (efterssom s ligger bredvid a)
  • ”kw” blir ”ja” (eftersom k ligger bredvid j och w ligger ovanför a)

Tanken är alltså att du skall fokusera mer på att skriva snabbt och mindre på att träffa rätt bokstav.

Nu när jag har lyckats få iPhone att föreslå ord som innehåller å, ä och ö så hyser jag goda förhoppningar om att kunna föra över detta även till den stora ordlistan som innehåller långa ord.

Jag har ännu inte lyckats få iPhone att ge förslag då användaren skriver ord med å, ä och ö tangenten. Exempelvis ger inte ”äe” förslaget ”är”. Men jag tror inte att denna brist kommer att märkas så mycket i det dagliga användandet. Det är bättre att skriva ”ar” om man vill ha fram ordet ”är”. Eller, om man stavar fel och skriver ”ae” så ger det också ordet ”är” som förslag.

Det är jag själv som har gjort relevansen av alla ord med två bokstäver. Enligt mig är ordet ”är” mer relevant än ordet ”år”. Därför kommer du att få förslaget ”är” när du skriver ”ar”. Men klickar du bort förslaget några gånger och skriver ”år” så kommer förmodligen iPhone att lära sig att just du föredrar ordet ”år” framför ”är”.

Här finns den nya ordlistan för nerladdning.

Skriv gärna en kommentar och berätta vad du tycker om nyheterna!

Andra bloggar om: , , , , , , , , ,

sv_SE-one-letter-words.dat och sv_SE-two-letter-words.dat

Jag har analyserat de två saknade filerna sv_SE-one-letter-words.dat och sv_SE-two-letter-words.dat. De skall uppenbarligen (om man tittar på filnamnet) innehålla ord som är ett tecken respektive två tecken långa.

En sak som förbryllar mig med sv_SE-one-letter-words.dat är att filen, på de befintliga språken (som följer med iPhone), inte innehåller specialtecken. Exempelvis innehåller den tyska inte tecknet ü. Dessutom innehåller den tecken som inte är ord. En annan sak som är konstig är att man aldrig får förslag på ord som består av en bokstav, så den exakta använiningen av den här filen är också oklar för mig.

Så här ser den tyska filen ut om man tittar på den i en hexeditor:

one-letter-wordsdat.jpg

Så fort jag får mer information så kommer jag att skapa en sv_SE-one-letter-words.dat-fil. Min gissning blir att den svenska filen är väldigt lik den tyska motsvarigheten.

Noterat: Alla one-letter-words.dat filer är exakt 320 bytes stora.

När det gäller two-letter-words.dat så ser läget lite annorlunda ut. Även här har jag tittat på den tyska filen i en hexeditor. Här är en del av innehållet:

two-letter-wordsdat.jpg

Det råder ingen tvekan om att innehållet är ord som består av två bokstäver. Men varför förkommer vissa ord flera gånger (se exempelvis ”ag” och ”an” ovan)? När jag vet svaret på den frågan så kan jag skapa en two-letter-words.dat-fil.

Jag har dessutom lyckats hitta en lista med svenska ord som är två tecken långa. Den finns här [pdf]. Listan innehåller alla ord från SAOL. Det bästa vore nog att försöka plocka bort alla ord som man i normalt tal inte använder så ofta så att man inte får förslag på dem. Eftersom listan inte är så lång är detta någonting man kan göra manuellt (någon frivillig?).

Jag har provat att ersätta den svenska filen med den tyska motsvarigheten och kan konstatera att man då får förslag på tyska ord.Noterat: Alla two-letter-words.dat-filer är exakt 6092 bytes stora.

Jag har förutom det som jag skrivit om ovan även tittat på dem danska, engelska och amerikanska one/two-letter-words.dat filerna för att försöka hitta likheter/skillnader. Men det har inte gjort mig klokare.

För den som är intresserad så är filerna uppbyggda på det här sättet (citerar signaturen M4v3R):

”These two files hold one and two letter words for each language. They always start with 8 byte header, 6 bytes unknown, and 2 bytes are length of the file minus 8 bytes. Then the list of words follow, with 3 byte ‘counter’ at the beginning, and 3 (one-letter-words) / 6 (two-letter-words) 00-padded word in plain ASCII.”

Så nu har du all information som jag har kring dessa två filer. Har du mer information eller har jag tänkt fel någonstans? Skriv då en kommentar!

Andra bloggar om: , , , , , , , , ,

iPhone föreslår fel ord – varför?

Jag fick en kommentar i mitt förra inlägg om Frekvensfördelning från Isak. Frågan löd: ”Jag ska skriva ’till’ men råkar skriva ‘toll’. Ordlistan ger istället förslag på ‘tolk’.”

Så här är mitt svar:

När jag jag skriver in ”tol” så får jag förslaget ”tolk” precis som du, Isak. Slår jag sedan in ett ”l” till, dvs ”toll” så får jag förslaget ”roll”.

Anledningen att ”tolk” föreslår när du skriver ”tol” är nog att iPhone tänker så här:

  1. finns det några ord som börjar på de bokstäver du skrivit
  2. om ja, plocka fram de kortaste orden som matchar
  3. om det finns flera ord med samma längd, visa den som har högst relevans

I ditt fall innebär det att iPhone hittar 35 ord som börjar på ”tol”. Av dessa 35 ord finns det två ord som är fyra tecken långa, nämligen tolk som har relevansen ”76″ och ”tolv” som har relevansen ”99″. Här anser jag alltså att iPhone borde föreslå ”tolv”. Varför iPhone föreslår ”tolk” förstår jag inte eftersom ”tolv” har mycket högre relevans. Här kan det finnas någonting i iPhones algoritm som vi ännu inte känner till. Men att iPhone inte på detta stadie förstår att det är ”till” du egentligen vill skriva faller sig ganska naturligt. Och det är inte någonting som jag kan påverka.

När du sedan skriver in det sista l:et i ”toll” så finns det inte ett enda ord i ordlistan som börjar på dessa bokstäver. Jag antar att iPhone då gör en lista över ord som matchar felstavningar. Både ”till” och ”roll” har relevansen 99* i den nuvarande ordlistan. Här finns alltså en möjlighet för iPhone att välja ”till” men väljer ändå ”roll”.

Jag provade precis att göra en ny ordlista där jag bytt ut relevansen på ”roll” från 99 till 98. Trots min ändring föreslår iPhone ändå ”roll”. Även här finns det alltså något i iPhones algoritm som vi ännu inte känner till.

Vid båda tillfällena så beter sig alltså iPhone inte som förväntat, trots att den har fått bra indata. Mycket konstigt…

Obs! Jag har provat detta på en iPhone 1.1.1. Det kan vara så att Apple ändrar i algoritmerna mellan de olika versionerna – så det vore intressant att höra om man får upp samma förslag på en 1.1.2 telefon.

* Här skulle den frekvensfördelning som jag arbetar på kunna göra skillnad i relevans på de två orden.

Andra bloggar om: , , , , , , , , ,

Frekvensfördelning

Som jag tidigare skrivit använder jag en ordlista från Debian som bas när jag skapar ordlistan till iPhone. För att få fram en siffra över vilket ord som är vanligast har jag gjort en lista över alla ord på svenska Wikipedia och hur många gånger respektive ord förekommer.

När jag sedan mappar Debians ordlista med frekvenslistan från Wikipedia och konverterar frekvenserna så att dem hamnar mellan talet 20 och 100 så fördelar sig talen på följande sätt (klicka för större bild):

Som synes är det mer än 10000 ord som får samma viktning, talet 20. Det är ord som ”abakus”, ”abandon”, ”abbedissor” (några exempel från början av ordlistan) – det vill säga ord som du inte kommer att skriva så ofta.

Anledningen är att det i listan, som jag genererat från Wikipedia, finns väldigt många ord som förekommer färre än 50 gånger, och det finns några ord som förekommer mer än 200000 gånger. Spridningen blir därför väldigt stor.

Min tanke var att det var bättre att göra om fördelningen så att den blir logaritmisk istället för linjär. Talen skulle då fördela sig jämnare vilket jag tror skulle leda till bättre förslag på ord i slutändan.

Jag hittade en sida som beskrev en algoritm för att göra just fördela frekvenser logaritmistk. Men efter att ha provat alogritmen så visade det sig att fördelningen inte alls blev bättre. Jag vet inte riktigt vad det beror på, men kontentan är att den nuvarande ordlistan är bättre än den ordlista som jag hade planer på att skapa nu i dagarna. Jag har hittat en annan algoritm som jag skall kolla på vid tillfälle – så jag har inte gett upp vad gäller att göra en bättre frekvensfördelning.

Vill du hjälpa till att göra ordlistan bättre? Prova då den nuvarande ordlistan och hör av dig om du upptäcker någonting som skulle kunna bli bättre.

God Jul!

Uppdaterat

Jag tänkte att det kan vara intressant att jämföra frekvensfördelningen i den svenska ordlistan med den amerikanska motsvarigheten (från en 1.1.1 telefon). Här är den (klicka för större bild):

Om vi jämför den amerikanska ordlistan med ”min” ordlista så syns tydligt att den största skillnaden är att den amerikanska har nästan 10000 ord som har fått relevansen ”50″.

Andra bloggar om: , , , , , , , , ,

Håll dig uppdaterad

Lägg in denna adress i din flödesläsare för att få den senaste informationen om utvecklingen av min svenska ordlista till iPhone:

http://svenskiphoneordlista.wordpress.com/feed/

Jag rekommenderar Google Reader.

Andra bloggar om: , , , , , , , , ,

Ordlistan i iPod Touch

Det vore intressant att se hur den svenska ordlistan i iPod Touch ser ut. Är det någon som har filerna så lägg gärna upp dem någonstans och skriv en kommentar!

Andra bloggar om: , , , , , , , , ,