Fork me on GitHub

Alexis BRENON

Reconnaissance de contexte pour l'interaction vocale en habitat intelligent

Article publié le 20 juin 2015, c'était un samedi.

Comme promis, une petite introduction pour mieux comprendre mon sujet de thèse et les problématiques qui seront abordées.

De l'informatique ubiquitaire à l'intelligence ambiante

Le mot est lâché dès le sujet de thèse ; habitat intelligent. Voilà un sujet à la mode, entre Internet des objets (IoT), smart-watch, smart-home, smart-bidule. Mais d'abord c'est quoi un habitat intelligent ?

Sous ce terme, on va regrouper tout ce qui est appartement et maison, mais aussi chambre médicalisée (en hôpital ou en EHPAD) utilisant le paradigme de l'intelligence ambiante afin d'apporter de nouveaux services, comme la surveillance, mais aussi le confort. Bon, c'est bien beau tout ça, mais c'est quoi l'intelligence ambiante ?

L'intelligence ambiante est un concept qui repose sur celui d'informatique ubiquitaire. L'informatique ubiquitaire c'est, d'après Weiser, le mec qui l'a défini, la troisième ère de l'informatique, où les ordinateurs nous entourent de manière quasi-transparente. C'est ce qu'on appelle communément aujourd'hui l'Internet des objets, quand votre brosse à dent, votre balance, votre montre ou vos lunettes, sont capable de communiquer avec le monde extérieur, que ce soit votre smartphone ou directement Internet. Seulement, selon la définition de Weiser, ces objets sont seulement capable de donner des informations brutes sur leur état ; elles ne sont pas conscientes de leur environnement, de leurs liens avec d'autres objets.

Portrait de Mark Weiser
Crédit : parc.com

L'intelligence ambiante, comme je le disais, reprend les concepts de l'informatique ubiquitaire mais va adjoindre une capacité de traitement de l'information à chacun de ces objets connectés. Ces objets vont dès lors pouvoir prendre conscience de leur environnement, des liens qui les lient aux autres objets.

Pour clarifier les choses, prenons un exemple :

  • à la base, un interrupteur est relié à une lampe. Vous n'avez pas le choix de la lampe que vous allumé ;
  • avec l'informatique ubiquitaire, vous pouvez avoir un interrupteur avec un micro à coté et dire Cuisine. en même temps que vous appuyez, pour allumer la lampe de la cuisine même si vous êtes à l'autre bout de la maison ;
  • avec l'intelligence ambiante, plus besoin de ce micro, en appuyant sur l'interrupteur, l'ensemble des objets connectés vont communiquer afin de déterminer que la meilleure lampe à allumer à cet instant est celle de la cuisine.

Samantha Her (2014) , c'est pour 2018

Comme le laisse présager le titre, la thèse va se découper en deux parties ; d'une part la reconnaissance de contexte, et l'interaction vocale d'autre part. Nous allons voir que ces deux composantes sont fortement liées puisque l'objectif final est de faire en sorte :

  • que le moment, la forme et le contenu de l'interaction soient dépendant du contexte ;
  • qu'à travers l'interaction, l'utilisateur puisse aider le système à reconnaitre le contexte.

Financée par un projet Investissement d'Avenir, ma thèse doit permettre de délivrer en 2018 une application smartphone qui reposera sur les travaux que j'aurai réaliser. Pour mettre sur pied cette application, le projet regroupe différents collaborateurs, dont notre laboratoire mais également plusieurs industriels qui apporteront leur savoir-faire au niveau de la réalisation d'application à proprement parlée mais aussi de la génération de données (capteurs) ou du traitement de ces données.

Image du film Her où Samantha souhaite une bonne journée
Crédit : postcapes.com

Le contexte est primordial

Le contexte est un sujet largement traité par de nombreux laboratoires et l'on retrouve en général les mêmes problématiques :

  • Qu'est-ce qu'un contexte ?
  • Quelles sont les informations nécessaires à la définition d'un contexte ?

Toutefois, ces questions sont liées à la notion de contexte en général et non pas particulièrement à sa reconnaissance ou son utilisation. De fait, nous utiliserons l'état de l'art comme référence sans approfondir outre mesure.

Dans notre cas, nous nous intéressons donc davantage à l'utilisation du contexte dans un habitat intelligent et nous nous efforcerons de répondre aux questions suivantes :

  • Quelles sont les informations pertinentes pour reconnaitre un contexte ?
  • Comment extraire des informations de haut niveau d'un contexte (pour adapter l'interaction) ?
  • Comment découvrir de nouveaux contextes ?

C'est questions aussi ont largement été étudiées par différents laboratoires Un peu de bibliographie, sur les projets Mav'Home et C@sas. mais également au LIG puisque notre équipe à notamment publié des papiers sur la prise de décision en contexte, comme la thèse d'un de mes prédécesseurs soutenue en 2013 La thèse de Pedro sur HAL. . L'avantage, c'est que durant cette thèse, un corpus à été enregistré, et on va donc pouvoir s'en resservir pour nos premières expérimentations, mais j'y reviendrai.

OK Google, améliorons Siri

L'objectif du projet, c'est donc d'obtenir une application pour plateforme mobile, que ce soit smartphone ou tablette, Android ou iOS. La solution de facilité, ce serait d'utiliser les systèmes fournis qui sont à la base de Google Now ou Siri. Mais ces systèmes sont de vraies boites noires, ce qui nous pose des problèmes que ce soit éthiques ou techniques. Nous nous sommes donc tourné vers une solution tierce.

Dans notre cas, nous avons choisis le logiciel Sphinx développé par la CMU. Même s'il est un peu moins utilisé aujourd'hui au profit de Kaldi, Sphinx reste une alternative de premier choix, largement utilisé et facilement utilisable sur smartphone (contrairement à son concurrent).

L'utilisation de Sphinx va donc nous permettre d'adapter les différents modèles nécessaires au décodage pour correspondre au mieux à notre tâche. Je vous invite à aller voir l'article Wikipédia pour un approfondissement des notions de décodage, mais rapidement :

  • On a un modèle acoustique qui permet de dire Tel signal audio correspond à tel(le) son/phonème/syllabe. Les modèles acoustiques disponible sur Internet sont jugés trop volumineux pour notre application et on va devoir générer le notre.
  • Un dictionnaire de prononciation, ou dictionnaire phonétique, qui liste tous les mots connus du système avec leurs différentes prononciation. Si un mot n'est pas dans le dictionnaire (mot hors vocabulaire), il ne sera jamais reconnu. Il faut donc un dictionnaire recouvrant le plus de mots possible. Dans le cas d'une conversation spontanée comme on cherche à le faire, on va se confronter aux mots argotiques, noms propres et mots étrangers (comme des titres de chanson, noms de chanteurs, etc.).
  • Un modèle de langue qui représente la distribution des mots d'une langue. Concrètement, si on a décodé les mots il y, la probabilité que le mot suivant soit a est très élevée, et ça va nous permettre de différencier le à du a. Un modèle de langue adapté à la tache, est toujours plus pertinent qu'un modèle générique, et on va donc essayer d'en générer un.
La recherche : le moment où même Google ne sait pas de quoi tu parles
Crédit : PhD Comics

To be continued...

J'espère vous avoir donné un bon aperçu du travail qui m'attend. Les prochains posts reviendront sur les premiers travaux entrepris, et les perspectives évoquées. Si d'ici là vous avez des questions, n'hésitez pas à les poser juste en dessous.

N'hésitez pas à réagir

Via Disqus ...

... ou Facebook