Jean Véronis
Aix-en-Provence
(France)


Se connecter à moi sur LinkedIn Me suivre sur Twitter Facebook RSS

samedi, septembre 20, 2008

Google: Veuillez trouver ci-joint...


J'en ai révé (vous aussi sans doute), Google l'a fait (en partie au moins)... Combien de fois avez-vous envoyé un message en réalisant quelque temps plus tard que vous avez oublié la pièce attachée ? Embarras garanti. C'est presque devenu pour moi une plaisanterie standard de dire que la détection automatique des attachements manquants serait l'un des programmes de traitement automatique des langues les plus vendables au monde. J'ai même eu il y a quelques années des discussions avec des étudiants dans mes séminaires sur les diverses façons de développer une telle fonctionnalité.

Eh bien, figurez-vous que Google annonce avoir mis au point cette fonctionnalité dans le cadre de GMail, sous le nom moyennement sexy de "Forgotten attachment detector".


Cela paraît sans doute un peu magique à certains d'entre vous, limite science-fiction (Google pourrait-il désormais deviner, voire anticiper nos pensées ? Ça fait frémir...). Je suis le premier à dénoncer les annonces bidons, qui font plus de mal que de bien au domaine des technologies du langage (on en a eu une flopée depuis un demi-siècle ou plus, sur la traduction automatique, le dialogue homme-machine, et autres). On connaît la difficulté de ces technologies, et la plus grande modestie est toujours de mise. Comme je dis dans mon premier cours, en cinquante ans on a réussi à décoder le génome de l'Homme, pas son langage... Mais dans ce cas précis, je pense que c'est tout à fait faisable.


Comment Google a-t-il bien pu faire ? Honnêtement je n'en sais rien, mais je peux vous dire la façon dont j'aurais procédé (et qui me paraît être à peu près la seule). La mauvaise idée, à mon avis est de se creuser la tête et d'essayer de trouver des expressions à détecter dans les mails : "veuillez trouver ci-joint", etc. Même en recrutant les meilleurs linguistes du monde, on a toutes les chances d'en rater la plus grande partie.

Voici donc ma recette de cuisine :
  • Prendre une très grande base de mails, des millions, milliards si possible (Google a largement ça).
  • Faire deux paquets : les mails avec attachement, les mails sans attachement.
  • Extraire de chacun des deux paquets le dictionnaire des mots rencontrés, ou encore mieux des n-grammes c'est-à-dire des suites de n mots rencontrés.
  • Extraire à l'aide d'outils statistiques les n-grammes qui apparaissent fréquemment dans les mails avec attachement et pas dans les mails sans attachement.
  • Pour chaque nouveau mail, regarder si un de ces n-grammes magiques est présent dans le texte, et si oui déclencher une alerte.
Je viens de faire un petit essai à la louche dans mes propres mails et je vois apparaître des suites comme : "ci-joint(e)(s)", "fichier(s) attaché(s)", "pièce(s) jointe(s)", "je t'envoie", "je te fais parvenir", "voici le compte-rendu", "voici le fichier", "voici le/un document", "voici le devis", "veuillez trouver", etc.

Bien entendu, un tel programme comportera un peu de bruit (des fausses alertes) et de silence (des attachements ratés), mais si on détecte déjà 95% des cas, c'est une fonctionnalité plus qu'utile.

Mon estimation :
  • Réalisation d'une maquette : un jour.
  • Développement et test d'une version opérationnelle : un mois.
Peut-être vais-je proposer mes services à Google, car si j'en crois le mini-test paru sur Pulse 2.0, ce n'est pas brillant. Le détecteur reconnaît "I have attached", mais pas "Attach a document" ni "Here is the attachment"... J'ai testé moi-même, avec des phrases comme "Attached please find a copy of...", et je n'ai guère eu plus de succès. Un peu gros quand même.

Reste à savoir si (après avoir reglé ces quelques détails...) Google proposera une version française. J'ai déjà mentionné dans le passé les délais importants de Google pour la localisation de ses produits. Parfois plusieurs années. A suivre, donc.

Libellés :


17 Commentaires:

Anonymous jm a écrit...

Et sinon, de manière beaucoup moins subtile, le client mail libre que j'utilise (kmail) dispose depuis longtemps de cette fonctionnalité.
Elle est basée sur la détection de mots que l'utilisateur peut ajuster à son besoin (dans les faits, très peu suffisent).

Certes, il y a des faux positifs, mais ça m'a beaucoup aidé à plusieurs reprises.

20 septembre, 2008 18:02  
Blogger Jean Véronis a écrit...

JM> Oui, il y a des scripts de ce type qui traînent, comme celui-ci. Mais ils sont, comme vous dites, généralement assez limités et il faut "bricoler" un peu, voire beaucoup... Google a les données (grâce à ses bases de mails gigantesques) pour développer la "killer app" (c'est l'approche qu'ils ont utilisée en traduction automatique, avec un succès considérable).

20 septembre, 2008 18:09  
Blogger Q a écrit...

Je pensais à un filtre bayesien du type des filtres anti-spam. On pourrait inclure la possibilité de l'éduquer (quand effectivement on attache un fichier ou non, ou en lui indiquant quand il se trompe), ce qui le rendrait plus adapté à l'utilisateur...
ça revient à peu près au même.

20 septembre, 2008 20:25  
Blogger Jean Véronis a écrit...

Q> filtre bayésien : oui tout à fait, c'est le genre de mécanisme qui serait tout à fait adapté à ce genre de cas (je n'ai pas voulu entrer trop dans la technique ;-)

20 septembre, 2008 20:34  
Blogger Jerome Eteve a écrit...

Bonjour,

Lu sur google blogoscoped:

L'outil magique est bien base sur la detection de n-gram magiques, mais ceux ci sont hardcodes et ne semblent pas venir d'une analyse statistique.

Pour des cas somme toute assez simples comme celui la, je me demande toujours si l'approche bayesienne est forcement plus performante que la methode 'choisissons des mots cles bases sur notre experience d'humain'.

Pardon pour les accents, ils manquent sur mon clavier.

20 septembre, 2008 21:00  
Blogger Jean Véronis a écrit...

Jerôme> Je crois que c'est ce billet auquel vous faites référence, mais je ne vois pas de mention du fonctionnement, hardcodé ou pas ?

Je ne peux évidemment pas vous en apporter la preuve empirique, mais mon expérience de nombreuses années dans le domaine du traitement du langage me dit qu'en essayant de trouver des mots-clés "a la mano" pour un cas comme ça ne donnera rien de grandiose... En fouillant dans mes mails j'ai trouvé des choses auxquelles je n'aurais pas pensé, comme "vous n'avez pas reçu mon document corrigé ? le revoici" ou "voici un premier retour sur...", etc. A part les mot-clés évidents ("ci-joint" etc.), on a très certainement une "long tail" très difficile à prédire.

20 septembre, 2008 22:06  
Anonymous Anonyme a écrit...

Ca semble être un problème type d'apprentissage supervisé (en "machine learning").

21 septembre, 2008 00:36  
Blogger Jean Véronis a écrit...

Anonyme> Oui, c'est exactement ça !

21 septembre, 2008 08:50  
Anonymous Anonyme a écrit...

L'analyse des milliards de mails de google ?
Cela supposerait donc que google ait stocké, conservé les échanges privés des utilisateurs de gmail !
Je ne sais si dans leurs CGU ils ont prévus de faire renoncer les gens à leur droit à la vie privée en utilisant gmail; mais même là, utiliser (et se faire prendre la main dans le sac) des échanges privés à l'insu du plein gré des auteurs, ça ferait tâche... Non ?

21 septembre, 2008 17:16  
Blogger Jean Véronis a écrit...

Anonyme> Bien sûr que Google stocke les mails, et les utilise pour faire avancer sa technologie. Extrait des CGU (c'est moi qui met en gras) :

Gmail stores, processes and maintains your messages, contact lists and other data related to your account in order to provide the service to you.

Google's computers process the information in your messages for various purposes, including formatting and displaying the information to you, delivering advertisements and related links, preventing unsolicited bulk email (spam), backing up your messages, and other purposes relating to offering you Gmail.

Nous sommes prévenus.

21 septembre, 2008 18:46  
Blogger Nicolas Voisin a écrit...

à rajouter : "PJ" ;-)

22 septembre, 2008 11:42  
Blogger Jean Véronis a écrit...

Ca rappelle trop "police judiciaire"... (bises, Nico ;-)

22 septembre, 2008 16:37  
Anonymous Anonyme a écrit...

quand je pense qu'il y a encore des gens qui croivent que nos mails ne sont pas stockés...
On n'a pas besoin de lire le CGU pour le deviner.
Vous croyez vraiment qu'ils raclent ces milliards par miracle?

Je pense que Google veux créer cet outil pour attirer plus d'utilisateur dans son Gmail, déjà que "Google docs " a du succès.
Malheureusement le commun des mortel ne sait pas que tout cela a un prix, parce qu'ils doivent rentabiliser leur investissement:
- perte de la vie privée;
- possibilité de mieux cibler la publicité sur vous (donc vous n'aurez pas de choix);
- En cas d'attaque qui vise Google on saura tout sur vous et vos contacts (ce genre d'attaque est parfaitement possible et réalisable);
- etc.
Contrairement à ce que l'on croit tout cela a des conséquences sur notre vie tant professionnelle que privée.

Exemple banale:
Vous avez envie vous que l'on sâche que vous étiez dans un hotel de Thailande réputée être l'antre de la pédophilie?
Non, hein? Et pourtant vous y étiez pour rencontrer une amie qui voulait sauver quelques gosses;
Vous avez eu une urgence il fallait envoyer un mail...
La suite vous devinez.

Il ne faut pas être un Nobel de Physique pour comprendre cela.

23 septembre, 2008 14:01  
Blogger Jean Véronis a écrit...

Anonyme> Ce commentaire me fait plaisir... Je suis stupéfait par l'hypnotisation générale qu'a réussi Google. Je me souviens de levées de bouclier contre Microsoft (le système Passport, vous vous souvenez ? pourtant c'etait du pipi de chat à côté !)... mais contre Google, rien. No evil. Circulez.

23 septembre, 2008 20:48  
Anonymous Jean-Pierre a écrit...

Je suis certain qu'un "Jean Veronis" chez Google aurait un impact sur leurs produits... et sur le cours de l'action ;)
... Mais quelle perte pour nous :(

Je comprends tout à fait les détracteurs de Google, mais force est de constater que leurs produits ont aussi transformé notre expérience web et imposé leur rythme aux autres acteurs d'internet.
A l'époque du lancement de GMail, la plupart des sites de messagerie n'autorisaient que 100Mo de stockage avec obligation d'utilisation très régulière sous peine d'effacement des mails ou du compte. Yahoo envisageait même de rendre payante sa messagerie "premium".
N'oublions pas que les produits Google étaient attendus comme des révolutions.

Google a compris que le marketing passait par l'image positive renouvelée et le buzz, mais cela n'est possible qu'en raison de la créativité de leurs produits.

L'histoire (et le business model) de Google est décrite dans un livre, Google Story, mais pour certains ils pourraient virer vers totalitaires, comme décrit dans la fiction Engooglés.
A suivre.

28 septembre, 2008 17:04  
Blogger Jean Véronis a écrit...

Jean-Pierre> Oui, Google a tiré un certain nombre de choses vers le haut, dans tous les cas où il était en situation de concurrence (comme sur le mail).

Mais lorsqu'il est en situation de monopole, il les tire plutôt vers le bas, comme c'est toujours le cas dans ce type de situation... Ainsi sur le search, Google est certes rapide, mais l'ensemble de sa techno est plutôt ancienne de conception. Si vous y réfléchissez, à part des améliorations de détail, rien n'a vraiment changé dans le principe depuis 1998. Or, on peut imaginer des tas de choses novatrices et radicalement différentes. Mais quel challenger aura le courage et les forces d'affronter le géant sur ce terrain ?

C'est la même chose avec tous les monopoles : Windows, Microsoft Office... Il faut s'en contenter, avec leurs défauts. Ce sont eux qui fixent le standard.

28 septembre, 2008 18:48  
Anonymous bafa a écrit...

Puis-je vous dire que je préfère cent fois l'intelligence de ce genre de billets plutôt que lorsque vous nous parlez de moutons et de présidents?
Sincèrement amicalement.

Un fan rebelle.

ps: je crois que Google paye mieux que la fac...

02 octobre, 2008 00:32  

Enregistrer un commentaire