« Utilisateur:Kikoun/Statistiques » : différence entre les versions

De Disposition de clavier bépo
 
(7 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
=== Questions à règler ===
* « ' » séparateur de mots ?
J'ai fais quelques comptes (en regardant les messages envoyés et reçus par deux personnes à l'œil), j'en conclue que la touche 0 servant de séparateurs de mots et de ponctuations aurait une suite de caractère un peu près de ce style :
  espace ; ' ; . ; , ; : ; ( ; )
Bizarrement, la virgule est assez peu utilisée en sms dans mon petit compte statistique à l'arche. Les sms sont en effet fait généralement de phrases courtes.
=== Statistiques sur l'utilisation des touches sur un portables ===
=== Statistiques sur l'utilisation des touches sur un portables ===


Ligne 7 : Ligne 13 :
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.
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 « ' » et « - » comme des lettres à par entière. Ceci est plus ou moins indiscutable pour - dans la mesure où « peut-être » et autres sont des mots bien distinct de « peut » et « être ». Pour « ' », sa présence signifie bien la fin d'un mot. Je referai les calculs sans « ' » quand j'aurai nettoyer la base de mots d'aspell.
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.
 
J'ai décidé de placer tous les signes de ponctuation sur la touche 0. Cela libère une touche tout en chargeant la touche 0 qui est ma fois guère utiliser. Il faudra toutefois prévoir les cas où l'écriture T9 devra choisir entre « ' » et espace. ( cas de « à », des « x'xxxx » et des « xxxx'x » )


Un regroupement des résultats obtenus sur ces tests et ceux sur l'écriture normale sera réalisé plus tard.
Un regroupement des résultats obtenus sur ces tests et ceux sur l'écriture normale sera réalisé plus tard.


'''Clavier Orig'''
<pre>
<pre>
#!/usr/bin/perl
#!/usr/bin/perl
Ligne 80 : Ligne 91 :
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 ).
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'''
<pre>
<pre>
         tr/-abcdefghijklmnopqrstuvwxyz\'/1222333444555666777981899971/;
         tr/-abcdefghijklmnopqrstuvwxyz\'/1222333444555666777981899971/;
Ligne 99 : Ligne 112 :
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.
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'''
<pre>
<pre>
╔══════╦══════╦══════╗
╔══════╦══════╦══════╗
Ligne 117 : Ligne 132 :
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.
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: 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. Il ne sont pas tout à fait juste mais donne une bonne idée du résultat.
NB: la troisième colonnes représentes le pourcentage de mots concernés.  
 
'''Clavier 2'''
<pre>
<pre>
╔══════╦══════╦══════╗
╔══════╦══════╦══════╗
Ligne 137 : Ligne 154 :
# bportable.pl < dump-fr.txt  
# bportable.pl < dump-fr.txt  
1 : 561731 : 89.2
1 : 561731 : 89.2
2 : 29297 : 4.6
2 : 29297 : 9.6
3 : 2409 : 0.3
3 : 2409 : 0.9
4 : 356 : 0
4 : 356 : 0
5 : 65 : 0
5 : 65 : 0
Ligne 148 : Ligne 165 :


Voici d'autres variantes pour essayer d'alléger la touche 1.
Voici d'autres variantes pour essayer d'alléger la touche 1.
'''Clavier 3'''
<pre>
<pre>
╔══════╦══════╦══════╗
╔══════╦══════╦══════╗
Ligne 169 : Ligne 188 :
10 : 1 : 0
10 : 1 : 0
14 : 1 : 0
14 : 1 : 0
2 : 38066 : 6
2 : 38066 : 12
3 : 2751 : 0.4
3 : 2751 : 1.2
4 : 633 : 0.1
4 : 633 : 0.4
5 : 129 : 0
5 : 129 : 0
6 : 66 : 0
6 : 66 : 0
Ligne 179 : Ligne 198 :
</pre>
</pre>


 
'''Clavier 4'''
<pre>
<pre>
╔══════╦══════╦══════╗
╔══════╦══════╦══════╗
Ligne 199 : Ligne 218 :
# bportable.pl < dump-fr.txt  
# bportable.pl < dump-fr.txt  
1 : 558766 : 88.7
1 : 558766 : 88.7
2 : 30211 : 4.7
2 : 30211 : 9.4
3 : 2630 : 0.4
3 : 2630 : 1.2
4 : 435 : 0
4 : 435 : 0
5 : 85 : 0
5 : 85 : 0
Ligne 206 : Ligne 225 :
7 : 14 : 0
7 : 14 : 0
8 : 6 : 0
8 : 6 : 0
</pre>
== Écriture T9 sans « ' » ==
On reprend tous sans prendre en compte « ' » et avec statistiques des touches utilisés. Le deuxième tableau représente le nombre de frappes de la touche ainsi que le pourcentage de frappes.
<pre>
#!/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 $i ( split(//, $_) ) {
                        if ( $i =~ m/[1-9]/ ) {
                                $touche{$i}++;
                                $nbr_touches++;
                        }
                }
        }
}
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";
}
foreach $key ( sort (keys %touche) ) {
        $prstat = (int ( $touche{$key} / $nbr_touches * 1000)) / 10;
        print "$key : $touche{$key} : $prstat\n";
}
</pre>
'''Clavier Orig'''
<pre>
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
1 : 5345 : 0.1
2 : 660382 : 18.2
3 : 505256 : 13.9
4 : 419405 : 11.5
5 : 145295 : 4
6 : 664834 : 18.3
7 : 749715 : 20.7
8 : 403233 : 11.1
9 : 63622 : 1.7
</pre>
'''Clavier 1'''
<pre>
# 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
</pre>
'''Clavier 2'''
<pre>
# 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
1 : 416126 : 11.5
2 : 379644 : 10.4
3 : 509486 : 14
4 : 419405 : 11.5
5 : 330102 : 9.1
6 : 271851 : 7.5
7 : 418329 : 11.5
8 : 329547 : 9.1
9 : 542597 : 15
</pre>
Le prochain clavier reprends le principe du clavier 2 sans prendre en compte « ' ».
'''Clavier 5'''
<pre>
╔══════╦══════╦══════╗
║  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
1 : 379939 : 10.5
2 : 407136 : 11.2
3 : 512165 : 14.1
4 : 370899 : 10.2
5 : 338572 : 9.3
6 : 317903 : 8.7
7 : 418329 : 11.5
8 : 329547 : 9.1
9 : 542597 : 15
</pre>
Pas terrible, autant garder le clavier 2.  Et si on libérait le « s » en chargeant « e ».
'''Clavier 6'''
<pre>
╔══════╦══════╦══════╗
║  1  ║  2  ║  3  ║
║ewkyz ║  s  ║ a-x  ║
╠══════╬══════╬══════╣
║  4  ║  5  ║  6  ║
║  ihj ║ tbg  ║ nqf  ║
╠══════╬══════╬══════╣
║  7  ║  8  ║  9  ║
║  rmv ║ ucp  ║ lod  ║
╠══════╬══════╬══════╣
║  *  ║  0  ║  #  ║
║      ║      ║      ║
╚══════╩══════╩══════╝
        tr/-abcdefghijklmnopqrstuvwxyz/335891654441976986725871311/; # Clavier 6
# bportable.pl < dump-fr.txt
1 : 308763 : 90.3
2 : 12962 : 7.5
3 : 1803 : 1.5
4 : 308 : 0.3
5 : 61 : 0
6 : 9 : 0
7 : 14 : 0
1 : 434310 : 12
2 : 352765 : 9.7
3 : 512165 : 14.1
4 : 370899 : 10.2
5 : 338572 : 9.3
6 : 317903 : 8.7
7 : 418329 : 11.5
8 : 329547 : 9.1
9 : 542597 : 15
</pre>
Le meilleur résultat en tatonnant. Je crois qu'il est temps de faire place à la force brute.
Le clavier 6 avec les « - » et « x » en 2.
'''Clavier 7'''
<pre>
╔══════╦══════╦══════╗
║  1  ║  2  ║  3  ║
║ewkyz ║ s-x  ║  a  ║
╠══════╬══════╬══════╣
║  4  ║  5  ║  6  ║
║  ihj ║ tbg  ║ nqf  ║
╠══════╬══════╬══════╣
║  7  ║  8  ║  9  ║
║  rmv ║ ucp  ║ lod  ║
╠══════╬══════╬══════╣
║  *  ║  0  ║  #  ║
║      ║      ║      ║
╚══════╩══════╩══════╝
        tr/-abcdefghijklmnopqrstuvwxyz/235891654441976986725871211/; # Clavier 7
# bportable.pl < dump-fr.txt
1 : 308577 : 90.2
2 : 13062 : 7.6
3 : 1788 : 1.5
4 : 318 : 0.3
5 : 58 : 0
6 : 10 : 0
7 : 14 : 0
1 : 434310 : 12
2 : 366805 : 10.1
3 : 498125 : 13.7
4 : 370899 : 10.2
5 : 338572 : 9.3
6 : 317903 : 8.7
7 : 418329 : 11.5
8 : 329547 : 9.1
9 : 542597 : 15
</pre>
</pre>

Dernière version du 14 août 2009 à 21:52

Questions à règler

  • « ' » séparateur de mots ?

J'ai fais quelques comptes (en regardant les messages envoyés et reçus par deux personnes à l'œil), j'en conclue que la touche 0 servant de séparateurs de mots et de ponctuations aurait une suite de caractère un peu près de ce style :

 espace ; ' ; . ; , ; : ; ( ; )

Bizarrement, la virgule est assez peu utilisée en sms dans mon petit compte statistique à l'arche. Les sms sont en effet fait généralement de phrases courtes.

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.

J'ai décidé de placer tous les signes de ponctuation sur la touche 0. Cela libère une touche tout en chargeant la touche 0 qui est ma fois guère utiliser. Il faudra toutefois prévoir les cas où l'écriture T9 devra choisir entre « ' » et espace. ( cas de « à », des « x'xxxx » et des « xxxx'x » )

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 « ' » et avec statistiques des touches utilisés. Le deuxième tableau représente le nombre de frappes de la touche ainsi que le pourcentage de frappes.

#!/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 $i ( split(//, $_) ) {
                        if ( $i =~ m/[1-9]/ ) {
                                $touche{$i}++;
                                $nbr_touches++;
                        }
                }

        }
}

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";
}

foreach $key ( sort (keys %touche) ) {
        $prstat = (int ( $touche{$key} / $nbr_touches * 1000)) / 10;
        print "$key : $touche{$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

1 : 5345 : 0.1
2 : 660382 : 18.2
3 : 505256 : 13.9
4 : 419405 : 11.5
5 : 145295 : 4
6 : 664834 : 18.3
7 : 749715 : 20.7
8 : 403233 : 11.1
9 : 63622 : 1.7


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

1 : 416126 : 11.5
2 : 379644 : 10.4
3 : 509486 : 14
4 : 419405 : 11.5
5 : 330102 : 9.1
6 : 271851 : 7.5
7 : 418329 : 11.5
8 : 329547 : 9.1
9 : 542597 : 15

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

1 : 379939 : 10.5
2 : 407136 : 11.2
3 : 512165 : 14.1
4 : 370899 : 10.2
5 : 338572 : 9.3
6 : 317903 : 8.7
7 : 418329 : 11.5
8 : 329547 : 9.1
9 : 542597 : 15

Pas terrible, autant garder le clavier 2. Et si on libérait le « s » en chargeant « e ».

Clavier 6

╔══════╦══════╦══════╗
║   1  ║  2   ║  3   ║
║ewkyz ║  s   ║ a-x  ║
╠══════╬══════╬══════╣
║   4  ║  5   ║  6   ║
║  ihj ║ tbg  ║ nqf  ║
╠══════╬══════╬══════╣
║   7  ║  8   ║  9   ║
║  rmv ║ ucp  ║ lod  ║
╠══════╬══════╬══════╣
║  *   ║  0   ║  #   ║
║      ║      ║      ║ 
╚══════╩══════╩══════╝

         tr/-abcdefghijklmnopqrstuvwxyz/335891654441976986725871311/; # Clavier 6

# bportable.pl < dump-fr.txt 
1 : 308763 : 90.3
2 : 12962 : 7.5
3 : 1803 : 1.5
4 : 308 : 0.3
5 : 61 : 0
6 : 9 : 0
7 : 14 : 0

1 : 434310 : 12
2 : 352765 : 9.7
3 : 512165 : 14.1
4 : 370899 : 10.2
5 : 338572 : 9.3
6 : 317903 : 8.7
7 : 418329 : 11.5
8 : 329547 : 9.1
9 : 542597 : 15

Le meilleur résultat en tatonnant. Je crois qu'il est temps de faire place à la force brute. Le clavier 6 avec les « - » et « x » en 2.

Clavier 7

╔══════╦══════╦══════╗
║   1  ║  2   ║  3   ║
║ewkyz ║ s-x  ║  a   ║
╠══════╬══════╬══════╣
║   4  ║  5   ║  6   ║
║  ihj ║ tbg  ║ nqf  ║
╠══════╬══════╬══════╣
║   7  ║  8   ║  9   ║
║  rmv ║ ucp  ║ lod  ║
╠══════╬══════╬══════╣
║  *   ║  0   ║  #   ║
║      ║      ║      ║ 
╚══════╩══════╩══════╝

         tr/-abcdefghijklmnopqrstuvwxyz/235891654441976986725871211/; # Clavier 7

# bportable.pl < dump-fr.txt 
1 : 308577 : 90.2
2 : 13062 : 7.6
3 : 1788 : 1.5
4 : 318 : 0.3
5 : 58 : 0
6 : 10 : 0
7 : 14 : 0

1 : 434310 : 12
2 : 366805 : 10.1
3 : 498125 : 13.7
4 : 370899 : 10.2
5 : 338572 : 9.3
6 : 317903 : 8.7
7 : 418329 : 11.5
8 : 329547 : 9.1
9 : 542597 : 15