Corpus

De Disposition de clavier bépo

Afin de pouvoir concevoir un keymap optimal, il faut savoir à quoi il va servir. Pour cela, il nous faut un large volume de texte qui serve de référence.

De telles corpus ont déjà été élaborés, mais aucun ne satisfait tout le monde, ce qui a donné lieu à d'ignobles trolls sur la liste de diffusion. En particulier, l'ordre des lettres, même les plus fréquemment utilisées, varie d'un corpus à l'autre (un texte parlant de wagons aura beaucoup plus de W, un texte qui adresse le lecteur avec un vouvoyment aura beaucoup plus de z ("vous voyez ?"), un texte dont l'un des locuteurs s'appelle Loïs aura beaucoup plus de ï...)

De plus, le clavier actuel, et des rumeurs controversiales actuelles, ont un impact sur la fréquence de certains symboles. Les guillemets à la française sont bien moins accessibles que les guillemets anglais; les majuscules accentuées sont difficiles à taper, et certains considèrent à tort qu'elles ne doivent pas être utilisées (voir à ce sujet la FAQ de l'académie française; l'e-dans-l'o n'est pas accesible sur le clavier, et n'est même pas reconnu dans l'encodage Latin-1 ( [| Merci Bull!]). Enfin, tout le monde ne se donne pas toujours la peine de taper les accents, surtout quand ils sont difficiles d'accès.

ThomasTempé a élaboré un corpus pour étudier la fréquence des lettres de manière pertinente.


NB : encore pas mal de choses à compléter sur cette page. Les informations qui y sont déjà présente, sont en majorité tirées de l'ancien wiki. Bien que pas mal de discussion ont été fait sur la ML à ce sujet, très peu sont en rapport avec le corpus que l'on a finalement utilisé, et que l'on devrait vraiment mettre en ligne, soit-dit en passant...

Première étape dans la récolte de statistiques il est nécessaire de définir un corpus de texte sur lequel se baseront les différentes études de fréquence. C'est principalement du corpus choisis que dépendront les placements de caractère. Il est de ce fait absolument nécessaire de le définir soigneusement.

Caractéristique propre à un corpus

Afin d'être pertinent, le corpus doit correspondre le mieux possible à certaines caractéristiques. En particulier, il faut qu'il soit:

  • Représentatif de l'utilisation:Première chose à prendre à compte, il est nécessaire de définir très précisément quel type de texte sont représentatif de l'usage souhaité, et par extension quels types d'utilisateurs sont ciblés par le projet.
  • Long: Afin que tous les caractères, même les moins utilisés puissent être fréquencés de manière représentative par rapport aux autres, il faut que le corpus soit suffisamment long. (TODO: donner un ordre de grandeur)
  • Non-homogène:Il faut que le corpus soit le moins spécifique possible, un texte parlant de wagons aura un grand nombre de @@w@@, un texte qui adresse le lecteur au pluriel aura beaucoup plus de @@z@@ (« vous mangez »), un texte dont l'un des locuteurs s'appelle Loïs aura beaucoup plus de @@ï@@, etc. Tous ces détails pourraient amener certains caractères peu utilisé à être trop bien placé au détriment de leurs homologues plus fréquents dans d'autres spécimens de texte.
  • Représentatif de la langue:Un dernier point à prendre également en compte et la conformité à la langue. Par exemple, il faut que le texte utilise les guillemets à la française, qu'il soit au possible correcte grammaticalement et typographiquement (p. ex. : utilisation des lettres accentuées majuscules), etc. Un aperçu de ces « contraintes » est disponible dans une %newwin% [[FAQ -> http://www.academie-francaise.fr/langue/questions.html]] de l'académie française.

Types de documents inclus dans notre corpus

Comme définit dans les [[objectifs -> Objectif]], notre disposition sera orientée vers un usage général en informatique, il nous faut donc des documents qui reflète cette usage. Nous avons donc utilisé:

  • De textes littéraires (TODO: spécifier lesquels)
  • Le contenu de page web (issues de Wikipédia).
  • Des fichiers sources dans divers langages (TODO: spécifier lesquels).
  • TODO: à compléter. Il faut spécifier clairement quels types de documents ont été utilisés dans le corpus (y compris les types de fichiers sources), leur pourcentage respectif par rapport au volume total du texte, etc etc.

Gestion des caractères spéciaux

Bien que la disposition Bépo à pour vocation d'être destinée à un usage générale, il faudrait néanmoins éviter que les utilisateurs basiques (qui restent majoritaires) soient pénalisés à cause de choix de placements de caractères principalement destinés au programmeur, et qu'il n'emploieront probablement presque jamais.

Pour ce faire, ces caractères « spéciaux » ne sont intégrés que tardivement au corpus, uniquement après que tout les autres symboles (lettres et autres) aie été déjà été disposés. Ainsi, ces caractères spéciaux n'influencent pas la disposition des symboles classiques tout en bénéficiant de l'étude de fréquence pour leur placement.

Le corpus

Notre corpus est disponible ici (TODO: important: mettre en ligne le corpus (ça aurait déjà du être fait depuis un certain temps)).

Corpus Database

La chasse au corpus est ouverte. Les éléments de texte seront collectés au fur et à mesure. Les extraits de textes sont répertoriés dans le tableau suivant et serviront de base à la composition de corpus (au pluriel). Chaque extrait devra donc recenser un type unique de texte : soit du code, soit des mails, soit un roman, soit des extrait de presse, etc.

Les textes peuvent être nettoyés mais avec prudence, afin de ne pas altérer la frappe réelle.

  • les retours à la lignes artificiels peuvent être gommés et les tabulation supprimées
  • le texte ne devraient pas être modifié (ex : ne pas rajouter d'espace insécable pour le guillemets s'il n'y en a pas, ne pas remplacer les guillemets anglais par des français, l'impostrophe par l'apostrophe, etc.)
  • si possible, toujours choisir l'encodage ISO 8859-15 dit Latin9 (en cas d'hésitation, Jedit permet de sélectionner précisément le charset) ou un dérivé d'unicode. Mais le CP1252 et le Latin0 sont prohibés
  • veillez à ce qu'il n'y ai pas de caractères "abimés" lors des changements de charset
  • Convention de nommage pour les extraits et corpus : extrait_###.txt ou ### est un numéro donné dans l'ordre d'ajout

!! On recherche

  • notes de service et correspondance administrative
  • keylog de session de chat
  • e-mails

!! Extraits

numéro md5 contenu taille encodage
[1] 968657375e4c907d20bfd499539f98fd extrait de quelques articles de www.lemonde.fr 54 954 ISO 8859-15
[2] getopt.c et fft.c (sans les licences et les doc strings) 26 715 ISO 8859-15
[3] oeuvres littéraires intégrales www.ebooksgratuits.com 24 870 982 UTF-8