Unistroke

Le travail sur Unistroke nous permet d'aborder le domaine des claviers gestuels. Dans ce cadre, un geste est réalisé par l'utilisateur. Ce geste est alors associé à un caractère, un mot, ... grâce à un module de reconnaissance. Unistroke est un alphabet simplifié introduit par Goldberg et Richardson en 1993. En se basant sur Unistroke nous avons mené quatre projets distincts : TapList, UniGuide, UniKeyb et UniWise.

TapList

La reconnaissance d'écriture est toujours sujette à des erreurs. Ainsi, la gestion de la reconnaissance est une part importante d'un système interactif qui a pour but d'interpréter les gestes de l'utilisateur. Nous avons expérimenté une technique appelée TapList dans laquelle le stylo utilisé pour réaliser les gestes est également utilisé pour parcourir la liste "invisible" des n meilleurs solutions retournée par le module de reconnaissance. Le geste utilisé était un simple "tap" sur la surface pour passer à la solution suivante. L'alphabet utilisé est donc une évolution de l'alphabet original:

Les gestes qui diffèrent de l'alphabet original sont indiqués sur fond gris. Cette technique TapList doit permettre d'accéder rapidement à la solution désirée en évitant à l'utilisateur de refaire le geste dans sa totalité. Nous avons mené une expérimentation pour vérifier que TapList ne perturbait pas les performances de l'utilisateur. Nous n'avons pas remarqué de différence avec la technique classique qui consiste à effacer la solution proposée et à refaire le geste. Ainsi, TapList doit permettre une augmentation des performances à la condition que le geste à refaire soit plus coûteux que celui rencontré dans l'alphabet Unistroke de notre expérimentation. Des travaux futurs sont nécessaire notamment afin d'introduire une liste visible des solutions ainsi que d'autres techniques de choix parmi cette liste de solutions.

UniGuide

UniGuide est un système d’aide à l’usage et à la mémorisation du clavier gestuel Unistroke. L'alphabet utilisé est l'alphabet modifié présenté dans TapList. UniGuide est conçu pour utiliser une faible surface d’affichage compatible avec un assistant personnel. Il s’appuie sur des guides dynamiques à la manière d’OctoPocus avec la contrainte de recouvrement partiel des gestes Unistroke et du nombre de gestes possibles. Par exemple, le geste de ‘a’ est totalement inclus dans le geste de ‘t’. Afin de soulager le retour visuel, UniGuide s’appuie sur un module de prédiction linguistique qui répartit l’aide sur plusieurs pages. . Les 27 gestes de l'alphabet incluant l'espace sont répartis équitablement sur trois pages, par ordre décroissant des probabilités. Les commandes « backspace » et « enter » ne sont pas incluses dans les pages mais sont accessibles quelque soit la page. Un exemple est indiqué ci-après:

La première page est affichée par défaut. Les guides sont les gestes de l’alphabet (patrons) affichés en transparence. La couleur est attribuée dans l’ordre décroissant des probabilité dans la page. L’épaisseur du guide dépend de sa probabilité : un guide épais indique une forte probabilité. Les guides sont affichés dans l’ordre croissant des probabilités de la page. Enfin, le début des guides est affiché en trait fort afin de mieux visualiser la direction du geste à faire. Pour chaque guide, une étiquette de même couleur contient le caractère associé. Les positions des étiquettes ont été choisies afin d’éviter au maximum les occultations, surtout au départ. Si la lettre désirée n’est pas présente sur la page, l’utilisateur peut faire directement le geste s’il le connait : la reconnaissance se fait sur tout l’alphabet. Il peut également changer de page par un « tap » ie. un geste de moins de 10 pixels de long. Il peut ainsi naviguer en boucle dans les trois pages jusqu’à la page qui contient le caractère désiré.

À l’usage, le geste de l’utilisateur apparait en trait noir. Le guidage est réalisé par la partie en trait fort affichée sur les guides et qui se déplace : elle sert de « vue en avant ». Pour chaque guide, elle s’affiche à la position l avec l la longueur en pixels du geste déjà réalisé par l’utilisateur. La partie du guide qui précède la position l n’est plus affichée. Dès le début d’un geste, l’épaisseur du guide ne représente plus la probabilité du caractère mais le taux de similtude du module reconnaissance : un guide épais indique un fort taux de similitude. Le module de reconnaissance n’utilise pas le patron dans sa globalité : l’appariemment se fait avec la sous-partie de longueur l du patron. Un guide disparait et ne réapparaitra plus si son taux de similitude descend en-dessous de 65% et que l est supérieure à 40 pixels. Sur la deuxième figure, seuls les guides de ‘f’ et ‘s’ restent affichés. L’étiquette du guide de plus fort taux est affichée avec un bord noir. Comme la reconnaissance est effectuée sur tout l’alphabet, il se peut que le caractère de plus fort taux n’appartienne pas à la page : la figure 4b montre le cas du ‘e’, une étiquette dédiée est affichée au centre. Sur la troisième figure, lorsque le geste est plus avancé, le ‘e’ a disparu et l’étiquette indique que le ‘f’ est le caractère le mieux reconnu. La dernière figure montre la situation en fin de geste du ‘s’ avec un seul guide restant et l’étiquette du ‘s’ indique sa reconnaissance. L’utilisateur peut valider dès que l’étiquette s’affiche avec le bord noir.

Une première expérimentation a montré une bonne satisfaction des utilisateur. Mais la navigation par pages est sur-exploitée et les guides ralentissent les utilisateurs qui semblent faire des gestes plus précis et donc plus lent. Enfin, UniGuide affiche les guides en absolu au contraire d’OctoPocus dont les guides suivent la position de l’utilisateur. Notre soucis était de contraindre les guides dans notre surface réduite de prévisualisation. Nous laissons pour un travail futur l’étude de l’impact de ces deux approches sur la reconnaissance des gestes.

UniKeyb

UniKeyb associe un clavier logiciel à un clavier gestuel, en l'occurence Unistroke. Avec UniKeyb, un premier caractère est entré lors de l’appui du stylet sur une touche. De manière optionnelle, un second caractère peut être entré en réalisant un geste unistroke avant de retirer le stylet de la surface d’interaction. Par rapport aux autres solutions proposés dans la littérature, cela permet l'écriture de tous les bigrammes possibles. Un exemple est donné ci-dessous:

Cet exemple montre l'écriture du mot "happy". La ligne pointillée indique un déplacement sans toucher la surface et une ligne pleine indique un déplacement en contact avec la surface. La figure de gauche montre l'écriture et donc les déplacements en écrivant le mot par frappe sur les touches. Les trois figures suivantes montrent des variantes de l'écriture du mot en le segmentant différemment: (ha)(pp)y, (ha)p(py) et h(ap)(py).

Une première expérimentation sur l’efficacité motrice montre qu’UniKeyb est meilleur qu’un clavier logiciel classique pour certaines combinaisons de caractère. Afin d’obtenir un résultat plus général, nous avons simulé l’usage d’UniKeyb et d’un clavier logiciel standard à partir des données de cette première expérimentation. La simulation suggère une amélioration proche de 20% pour un expert. Dans la seconde expérimentation, nous avons vérifié que l’apprentissage de la frappe suivie d’un geste est possible. UniKeyb peut alors surpasser un clavier logiciel standard avec un utilisateur expert. Atteindre ce niveau d’expertise nécessite d’apprendre à séparer les mots en groupes de deux caractères adaptés à UniKeyb. Mais UniKeyb offre une transition en douceur vers l’écriture Unistroke car l’usage des Unistrokes n’est pas obligatoire.

UniWise

De nos jours, la linguistique et le traitement des langues prennent une place importante dans le domaine de l’entrée de texte. Les systèmes de prédiction et/ou de correction sont omniprésents. Pourtant, en ce qui concerne les claviers gestuels, peu de propositions ont été présentées. UniWise est une technique qui associe Unistroke, un alphabet gestuel, à LetterWise, un système de désambiguïsation. Il s’agit d’étudier la fusion des résultats provenant d’un système de reconnaissance de gestes et des résultats provenant d’un système de prédiction. La figure suivante montre un exemple:

La reconnaissance du geste g de l'utilisateur produit la liste reK(g): chaque lettre est associée à la similtude du geste g et du geste idéal de la lettre. De cette liste, sont extraits les caractères les mieux reconnus, ici 'f' et 'a' car un saut apparait ensuite. En fonction du contexte de frappe déjà produit à savoir "highw", le module de prédiction a produit la liste LW avec pour chaque lettre sa probabilité linguistique. Enfin, reK et LW sont mixées pour produire la nouvelle liste UW3. Avec notre implémentation d’Unistroke, plusieurs fonctions de fusion ont été testées et la meilleure montre une baisse théorique du taux d’erreur de reconnaissance de 17,23%. Une expérimentation pratique a été menée afin de mesurer son impact réel sur l’utilisateur. Les résultats confirment une baisse de 17,26% sur les trois dernières sessions mais ils montrent également une amélioration de 1,04 du rang du bon caractère en cas d’erreur persistante. D’après les retours utilisateurs, le composant LetterWise est apparu transparent pour les utilisateurs.

    • T. ALTENBURGER, A. SUBASIC, B. MARTIN, P. ISOKOSKI. UniWise : LetterWise pour Unistroke, la prédiction de texte pour améliorer la reconnaissance de geste. 22th French-speaking conference on Human-computer interaction (IHM 2010), Luxembourg, ACM Press, 89-96, 2010.

    • P. ISOKOSKI, B. MARTIN, P. GANDOULY, T. STEPHANOV. Motor Efficiency of Text Entry in a Combination of a Soft Keyboard and Unistrokes. NordiCHI, Reykjavik, Iceland, ACM Press, 683-686, 2010.

    • J. THIMONT, B. MARTIN. UniGuide : vers un guide dynamique pour Unistroke. 22th French-speaking conference on Human-computer interaction (IHM 2010), Luxembourg, ACM Press, 161-164, 2010.

    • B. MARTIN, P. ISOKOSKI, C. BERTHONNEAU, M. PALMAS. TapList - Testing the Effectiveness of Tap Access to the N-best List in Pen-Based Text Entry.In Proceedings of the 6th international Conference on Mobile Technology, Application & Systems (Nice, France, September 02 - 04, 2009). Mobility '09. ACM, New York, NY, 1-4, 2009.