« Utilisatrice:Ariasuni/V2 » : différence entre les versions

De Disposition de clavier bépo
(En cours de rédaction…)
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
Mes réflexions à propos de la V2.
Mes réflexions à propos de la V2.


== Génération des dispositions ==
== Données ==
=== Quoi ===
=== Corpus ===
On génère toutes les possibilités de dispositions des 34 touches sur lesquelles on va placer des lettres ou des symboles de ponctuation (le ê ne compte pas puisqu'il est absent de certains claviers). Il faudra aussi décider des caractères que l'on va placer.
Français et anglais, ce dernier comptant à 20% ou quelque chose comme ça.


=== Contraintes ===
=== Carte d'accessibilité des touches ===
Cela fait 34! possibilités différentes, c'est à dire ≃ 3 × 10^38 (3 avec 38 zéros derrières…) Il faut donc simplifier poser des contraintes pour réduire les possibilités…
Les CAT permettent de représenter l'accessibilité d'une touche globalement, néanmoins ça ne représente pas bien la réalité parce que ces caractères sont frappés une suite de lettre, et que la lettre frappé juste avant peut fortement influencer l'accessibilité de la touche à ce moment-là.


On va placer des contraintes pour ne pas générer des dispositions totalement aberrantes, par exemple il est évident que certaines lettres doivent être placés sur la rangée de repos, et on peut même affiner en disant que certaines lettres ne peuvent pas être sur l'auriculaire.


== Sélection des meilleures dispositions ==
== Algorithme ==
=== Collecte de données ===
=== Problématique ===
==== Corpus ====
Il 34! possibilités différentes de dispositions de claviers, c'est à dire ≃ 3 × 10^38 (3 avec 38 zéros derrières…) J'ai un peu calculer, ça prendrait plusieurs milliards d'année. Nous sommes légèrement plus pressés!
Français et anglais, ce dernier comptant à 20% ou quelque chose comme ça.
 
La méthode de génération du Bépo est décrit sur [[Cr%C3%A9ation_de_la_version_0.1#Huiti.C3.A8me_.C3.A9tape_:_l.27algorithme_de_g.C3.A9n.C3.A9ration | cette page]].


==== Carte d'accessibilité ====
L'idée a été soulevée de faire un [https://fr.wikipedia.org/wiki/Algorithme_g%C3%A9n%C3%A9tique algorithme génétique]. C'est cette idée qui sera développée dans ce document.
Je pense que les cartes d'accessibilité des touches ne sont pas très utiles, dans le sens où elle ne donnent pas assez d'informations pour se donner une idée de la difficulté de frappe d'un digramme/trigramme. Du coup on a du mal à représenter la réalité, on rajoute des contraintes dans tous les sens…


Au contraire, une carte d'accessibilité des digrammes rend beaucoup mieux compte de la réalité.


=== Algorithme ===
==== Général ====
==== Général ====
Cela se passe en différentes étapes:
Cela se passe en différentes étapes:
* Collecte des données
* Collecte des données
* Génération des dispositions
* Génération des dispositions
===== Énergie =====
L'énergie dépensée pour taper une lettre (nous allons l'appeler E) est calculée en fonction de la carte d'accessibilité des digrammes, mais pas proportionnelle. En effet, on veut beaucoup de malus pour les enchainements difficiles mais pas beaucoup sur les faciles, sinon on risque de favoriser les situations où on a beaucoup d'enchainements très faciles et deux-trois horribles.
Finalement le but est donc de fluidifier la frappe (plus agréable), afin de ne pas «déconcentrer» celui qui écrit, de ne pas faire peur aux débutants avec certains mots, et si une personne doit écrire souvent un mot (cela arrive souvent dans les domaines de l'informatique par exemple) elle aura moins de chance de tomber sur un truc chiant à écrire.
==== Mise en forme des données ====
Les corpus de textes sélectionnés ne suivent souvent pas les règles de typographie française, contiennent «oe» au lieu de «œ», etc. Nous avons déjà un outils pour ça sur le dépôt SVN.
Je pense qu'on peut aller plus loin en prenant en compte la réforme de l'orthographe de 1990, donc en changeant «chariot» en «charriot», «connaître» en «connaitre», «maître» en «maitre», «porte-monnaie» en «portemonnaie», etc. Du coup ça risque de changer pas mal de statistiques et remettre un certain nombre d'acquis en question…
==== Formatage des données ====
Ensuite on traite le corpus complet une seule fois pour le transformer en statistiques intéressantes, de la forme:
[digramme] [fréquence]
L'espace sert de séparateur parce qu'on ne le compte pas dans ces statistiques simplifiées, qui permettront d'éliminer les plus mauvaises dispositions, celle qui font le plus travailler les doigts. En effet, si elles ne sont pas optimisés pour les digrammes, pourquoi le seraient-elle pour des mots? La formule pour calculer l'«énergie» est de la forme:
[fréquence] × [énergie]
On fera varie les critères de sélection pour atteindre un nombre de dispositions raisonnables (tout dépendra des performances du deuxième logiciel qu'on utilisera pour une sélection plus fine des dispositions).


==== Sélection ====
==== Sélection ====
Ligne 52 : Ligne 30 :
** pas deux fois le même doigt de suite (compté dans la carte d'accessibilité des digrammes)
** pas deux fois le même doigt de suite (compté dans la carte d'accessibilité des digrammes)
** E(index) > E(majeur) > E(annulaire) > E(auriculaire), l'utilisation de chaque doigt devrait se faire selon une courbe croissante en partant de l'auriculaire (comme la fonction racine carré)
** E(index) > E(majeur) > E(annulaire) > E(auriculaire), l'utilisation de chaque doigt devrait se faire selon une courbe croissante en partant de l'auriculaire (comme la fonction racine carré)
* L'alternance des mains:
* L'alternance des mains:
** malus si une main tape plus de 2 ou 3 caractères (à décider)
** Si le caractère tapé précédemment l'était par la même main, alors incrémenter l'énergie totale pour cette main, plus cette valeur est élevée moins l'alternance est bonne. Si on tape plus de trois caractères l'incrémentation passe à deux (par exemple)
** la barre d'espace compte moins qu'un caractère de l'autre main mais compte un peu quand même (la moitié?)
** la barre d'espace est compté comme un caractère de l'autre main, car la situation est similaire (les doigts qui peuvent se décrisper et se relâcher), mais elle n'est pas comptée dans le calcul de l'énergie.
 
* Autre?

Version du 15 février 2013 à 00:33

Mes réflexions à propos de la V2.

Données

Corpus

Français et anglais, ce dernier comptant à 20% ou quelque chose comme ça.

Carte d'accessibilité des touches

Les CAT permettent de représenter l'accessibilité d'une touche globalement, néanmoins ça ne représente pas bien la réalité parce que ces caractères sont frappés une suite de lettre, et que la lettre frappé juste avant peut fortement influencer l'accessibilité de la touche à ce moment-là.


Algorithme

Problématique

Il 34! possibilités différentes de dispositions de claviers, c'est à dire ≃ 3 × 10^38 (3 avec 38 zéros derrières…) J'ai un peu calculer, ça prendrait plusieurs milliards d'année. Nous sommes légèrement plus pressés!

La méthode de génération du Bépo est décrit sur cette page.

L'idée a été soulevée de faire un algorithme génétique. C'est cette idée qui sera développée dans ce document.


Général

Cela se passe en différentes étapes:

  • Collecte des données
  • Génération des dispositions

Sélection

Quand on a notre «corpus» réduit de dispositions, on peut faire un maximum de tests calculer différentes statistiques à propos du corpus initial non-transformé.

Typiquement, il y a plusieurs critères:

  • L'alternance des doigts:
    • pas deux fois le même doigt de suite (compté dans la carte d'accessibilité des digrammes)
    • E(index) > E(majeur) > E(annulaire) > E(auriculaire), l'utilisation de chaque doigt devrait se faire selon une courbe croissante en partant de l'auriculaire (comme la fonction racine carré)
  • L'alternance des mains:
    • Si le caractère tapé précédemment l'était par la même main, alors incrémenter l'énergie totale pour cette main, plus cette valeur est élevée moins l'alternance est bonne. Si on tape plus de trois caractères l'incrémentation passe à deux (par exemple)
    • la barre d'espace est compté comme un caractère de l'autre main, car la situation est similaire (les doigts qui peuvent se décrisper et se relâcher), mais elle n'est pas comptée dans le calcul de l'énergie.
  • Autre?