Utilisateur:Kikoun/Statistiques
Questions à règler
- « ' » séparateur de mots ?
Statistiques sur l'utilisation des touches sur un portables
Écriture T9
En écriture T9 ( On ne tape qu'une fois une touche pour chaque lettre du mot. Le portable se chargeant d'associer un mot pour la suite donnée. ), on dispose parfois de plusieurs choix pour une suite de touches données.
Tous ces tests ne se basent que sur l'association des lettres sur une touches et les tentatives de clavier ne prennent pas en compte le cas d'une écriture normale.
Je considère « - » comme une lettre à par entière dans la mesure où « peut-être » et autres sont des mots bien distinct de « peut » et « être ». Dans un premier temps, « ' » sera aussi considéré comme tel.
Un regroupement des résultats obtenus sur ces tests et ceux sur l'écriture normale sera réalisé plus tard.
Clavier Orig
#!/usr/bin/perl while (<>) { tr/AÂÄÃÀBCDEÈÊËFGHIÌÎÏJKLMNÑOÒÔÖÕPQRSTUÙÛÜVWXYZ/aaaaabcdeeeefghiiiijklmnnooooopqrstuuuuvwxyz/; tr/âäãàçêëéèìîïñôöõòùûüÿ/aaaaceeeeiiinoooouuuy/; tr/-abcdefghijklmnopqrstuvwxyz\'/1222333444555666777788899991/; $list{$_}++; } foreach $key ( keys %list ) { $stat{$list{$key}}++; } foreach $key ( sort (keys %stat) ) { print "$key : $stat{$key}\n" }
Le résultats est donné sous la forme [nombre de possibilités de mots : nombre de suite de touche donnant ce nombre de possibilités].
# aspell dump master fr > dump-fr.txt # wc dump-fr.txt 629569 629569 7947278 dump-fr.txt # portable.pl < dump-fr.txt 1 : 467423 10 : 3 2 : 68635 3 : 3578 4 : 2922 5 : 245 6 : 105 7 : 30 8 : 37 9 : 7 # aspell dump master en > dump-en.txt # wc dump-en.txt 138599 138599 1327680 dump-en.txt # portable.pl < dump-en.txt 1 : 112909 10 : 6 11 : 10 12 : 8 13 : 4 14 : 2 15 : 3 16 : 2 17 : 1 18 : 2 19 : 1 2 : 7117 21 : 1 24 : 1 29 : 1 3 : 1591 4 : 661 5 : 282 6 : 144 7 : 76 8 : 56 9 : 24
Sur un clavier de portable, l'on remarque que des lettres comme le r et s sont sur la même touches. Inversons quelques lettres courantes dans ce cas ( s<>z et u sur la touche 1 ).
Clavier 1
tr/-abcdefghijklmnopqrstuvwxyz\'/1222333444555666777981899971/;
bportable.pl < dump-fr.txt 1 : 485517 2 : 65045 3 : 1712 4 : 2025 5 : 63 6 : 41 7 : 3 8 : 18
On obtient ainsi un plus grand nombre de mots n'ayant qu'une suite de touche unique. Mais on réduit surtout le nombre de cas où il y a conflit et le nombre de possibilité dans ces cas allant jusqu'à supprimer les cas où il y avait 9 ou 10 possibilités.
En replaçant les lettres dans l'ordre d'après leur fréquences d'utilisation. On obtiens un premier clavier très simples à retenir. On peux faire mieux mais ce n'est qu'un début.
Clavier 1
╔══════╦══════╦══════╗ ║ 1 ║ 2 ║ 3 ║ ║ u' ║ acb ║ edf ║ ╠══════╬══════╬══════╣ ║ 4 ║ 5 ║ 6 ║ ║ igh ║ ljk ║ nom ║ ╠══════╬══════╬══════╣ ║ 7 ║ 8 ║ 9 ║ ║ rpqz ║ tv ║ sxyw ║ ╠══════╬══════╬══════╣ ║ * ║ 0 ║ # ║ ║ ║ ║ ║ ╚══════╩══════╩══════╝
Maintenant en plaçant les 9 lettres ( ' et - compris ) les plus fréquentes sur des touches différentes puis en plaçant les lettres restantes 2 à 2 selon leur fréquence en partant de la dernière touche. NB: remarquer que la touche 7 ne change pas par rapport au clavier précédant. J'adore. NB: la troisième colonnes représentes le pourcentage de mots concernés.
Clavier 2
╔══════╦══════╦══════╗ ║ 1 ║ 2 ║ 3 ║ ║ ezwk ║ sxy ║ aj- ║ ╠══════╬══════╬══════╣ ║ 4 ║ 5 ║ 6 ║ ║ igh ║ tfb ║ n'q ║ ╠══════╬══════╬══════╣ ║ 7 ║ 8 ║ 9 ║ ║ rmv ║ ucl ║ lod ║ ╠══════╬══════╬══════╣ ║ * ║ 0 ║ # ║ ║ ║ ║ ║ ╚══════╩══════╩══════╝ tr/-abcdefghijklmnopqrstuvwxyz\'/3358915444319769867258712216/; # bportable.pl < dump-fr.txt 1 : 561731 : 89.2 2 : 29297 : 9.6 3 : 2409 : 0.9 4 : 356 : 0 5 : 65 : 0 6 : 27 : 0 7 : 14 : 0
On obtient un résultat très satisfaisant. Peut-être votre futur clavier de portable !
Voici d'autres variantes pour essayer d'alléger la touche 1.
Clavier 3
╔══════╦══════╦══════╗ ║ 1 ║ 2 ║ 3 ║ ║ exy ║ szwk ║ aj- ║ ╠══════╬══════╬══════╣ ║ 4 ║ 5 ║ 6 ║ ║ igh ║ tfb ║ n'q ║ ╠══════╬══════╬══════╣ ║ 7 ║ 8 ║ 9 ║ ║ rmv ║ ucl ║ lod ║ ╠══════╬══════╬══════╣ ║ * ║ 0 ║ # ║ ║ ║ ║ ║ ╚══════╩══════╩══════╝ tr/-abcdefghijklmnopqrstuvwxyz\'/3358915444329769867258721126/; # bportable.pl < dump-fr.txt 1 : 541320 : 85.9 10 : 1 : 0 14 : 1 : 0 2 : 38066 : 12 3 : 2751 : 1.2 4 : 633 : 0.4 5 : 129 : 0 6 : 66 : 0 7 : 31 : 0 8 : 4 : 0 9 : 2 : 0
Clavier 4
╔══════╦══════╦══════╗ ║ 1 ║ 2 ║ 3 ║ ║ e ║ sxy ║ aj- ║ ╠══════╬══════╬══════╣ ║ 4 ║ 5 ║ 6 ║ ║ igh ║ tfb ║ n'q ║ ╠══════╬══════╬══════╣ ║ 7 ║ 8 ║ 9 ║ ║ rmvk ║ uclw ║ lodz ║ ╠══════╬══════╬══════╣ ║ * ║ 0 ║ # ║ ║ ║ ║ ║ ╚══════╩══════╩══════╝ tr/-abcdefghijklmnopqrstuvwxyz\'/3358915444379769867258782996/; # bportable.pl < dump-fr.txt 1 : 558766 : 88.7 2 : 30211 : 9.4 3 : 2630 : 1.2 4 : 435 : 0 5 : 85 : 0 6 : 30 : 0 7 : 14 : 0 8 : 6 : 0
Écriture T9 sans « ' »
On reprend tous sans prendre en compte « ' ».
#!/usr/bin/perl while (<>) { if ( m/^[^']*$/ ) { $line++; tr/AÂÄÃÀBCDEÈÊËFGHIÌÎÏJKLMNÑOÒÔÖÕPQRSTUÙÛÜVWXYZ/aaaaabcdeeeefghiiiijklmnnooooopqrstuuuuvwxyz/; tr/âäãàçêëéèìîïñôöõòùûüÿ/aaaaceeeeiiinoooouuuy/; # Expression régulière à modifier selon le clavier #tr/-abcdefghijklmnopqrstuvwxyz\'/1222333444555666777788899991/; # Clavier Orig #tr/-abcdefghijklmnopqrstuvwxyz\'/1222133444555666777983899971/; # Clavier 1 tr/-abcdefghijklmnopqrstuvwxyz\'/3358915444319769867258712216/; # Clavier 2 $list{$_}++; } } foreach $key ( keys %list ) { $stat{$list{$key}}++; } foreach $key ( sort (keys %stat) ) { $prstat = (int ( $stat{$key} / $line * 1000 * $key )) / 10; print "$key : $stat{$key} : $prstat\n"; }
Clavier Orig
bportable.pl < dump-fr.txt 1 : 289062 : 84.5 2 : 20060 : 11.7 3 : 2490 : 2.1 4 : 810 : 0.9 5 : 208 : 0.3 6 : 73 : 0.1 7 : 29 : 0 8 : 16 : 0 9 : 6 : 0 10 : 3 : 0
Clavier 1
# bportable.pl < dump-fr.txt 1 : 300982 : 88 2 : 17120 : 10 3 : 1463 : 1.2 4 : 423 : 0.4 5 : 57 : 0 6 : 29 : 0 7 : 1 : 0 8 : 2 : 0
Clavier 2
# bportable.pl < dump-fr.txt 1 : 307981 : 90.1 2 : 13149 : 7.6 3 : 1999 : 1.7 4 : 245 : 0.2 5 : 63 : 0 6 : 18 : 0 7 : 14 : 0 8 : 1 : 0
Le prochain clavier reprends le principe du clavier 2 sans prendre en compte « ' ».
Clavier 5
╔══════╦══════╦══════╗ ║ 1 ║ 2 ║ 3 ║ ║ ewk ║ syz ║ a-x ║ ╠══════╬══════╬══════╣ ║ 4 ║ 5 ║ 6 ║ ║ ihj ║ tbg ║ nqf ║ ╠══════╬══════╬══════╣ ║ 7 ║ 8 ║ 9 ║ ║ rmv ║ ucp ║ lod ║ ╠══════╬══════╬══════╣ ║ * ║ 0 ║ # ║ ║ ║ ║ ║ ╚══════╩══════╩══════╝ tr/-abcdefghijklmnopqrstuvwxyz/335891654441976986725871322/; # Clavier 5 # bportable.pl < dump-fr.txt 1 : 296697 : 86.8 14 : 1 : 0 2 : 17747 : 10.3 3 : 2099 : 1.8 4 : 539 : 0.6 5 : 115 : 0.1 6 : 45 : 0 7 : 30 : 0 8 : 9 : 0
Pas terrible, autant garder le clavier 2.