Journal Google livre ses N-Grammes !

Posté par  .
Étiquettes : aucune
0
13
août
2006
Bonjour,

il semble que la question du traitement automatique du langage intéresse quelques personnes ici (correcteur grammaticaux, thésaurus...) alors je me permet de relayer cette information que j'ai reçu il y a quelques jours.

http://googleresearch.blogspot.com/2006/08/all-our-n-gram-ar(...)

All Our N-gram are Belong to You


Si vous n'avez aucune idée de ce qu'est un N-gramme, il y a un article (largement améliorable) sur wikipédia : http://fr.wikipedia.org/wiki/N-gramme

En gros, partant d'une unité textuelle (caractère, mot, phrase) on retient les n-séquences différentes et leur probabilité. Par exemple, on sait qu'en français, le bi-gramme (n-gramme de niveau 2) le plus fréquent est la séquence "de". Ceci informe, lors d'un traitement automatique, sur la lettre la plus fréquente apparaissant après un "d".

Application : vous programmez un logiciel de reconnaissance de l'écriture, vous reconnaissez « mond* », avec « * » un caractère très mal reconnus, le logiciel hésite entre "e" et "l". Muni des n-gramme, il proposera certainement le choix "e" car "dl" est un bigramme très rare (bon, dans la vraie vie le logiciel dispose d'un dictionnaire qui va lui proposer "monde", qui existe, plutôt que "mondl", qui n'existe pas).

Bref, c'est une ressource assez précieuse mais pas nécessairement facile à constituer (il n'est pas évident de récolter des corpus fiable, bien constitué, voir http://fr.wikipedia.org/wiki/Corpus#Le_corpus_dans_la_scienc(...) ). Google propose ici à la communauté scientifique :

We processed 1,011,582,453,213 words of running text and are publishing the counts for all 1,146,580,664 five-word sequences that appear at least 40 times. There are 13,653,070 unique words, after discarding words that appear less than 200 times.


En gros : plus d'un milliards de 5-gramme (énorme !), le tout sur 6 DVD...
  • # Sympa.

    Posté par  (site web personnel) . Évalué à 10.

    J'aime beaucoup le
    All Our N-gram are Belong to You


    Voir http://fr.wikipedia.org/wiki/All_your_base_are_belong_to_us
  • # Blahmatic

    Posté par  (site web personnel) . Évalué à 4.

    J'ai codé recement quelque chose dans cette idée : ça s'appelle blahmatic, et c'est une généralisation du pipotron.
    Concrètement: pendant la phase de lecture, après avoir découpé la phrase en mots, il associe à chaque paire de mots consécutifs un troisième.
    Ensuite, la phase de génération consiste à prendre deux mots qui étaient en début de phrase et à leur associer l'un des mots qui a suivit le couple, et ainsi de suite jusqu'à une fin de phrase.

    Par exemple avec les phrases
    "Iksaif aime les vaches.", Iksaif aime les chamos., "Le chat aime les souris." et la regexp [[:space:]]
    Blahmatic pourrait générer
    Iksaif aime les vaches. (Iksaif aime)->les, (aime les)->vaches
    Iksaif aime les souris. (Iksaif aime)->les, (aime les)->souris

    C'est sous GPL, y'a une interface SuckingDisplayLibrary, une en ligne de commande et un fichier LisezMoi qui explique tout (notement le principe du wrapper que j'ai utilisé pour ne pas avoir à subir l'API de la susnommée SDL).
    Le code se veut lisible et documenté, le coeur du programe (grammar.c) ne fait que 256 lignes, et y'a même un port windows qui va bientôt être ejecté du code source.
    Manque plus qu'un corpus adapté, je reconnais n'avoir pas trop cherché...

    Mangez-en ! http://vleu.net/blahmatic/blahmatic.tar.bz2 (si y'en a que ça interesse, je peut présenter plus précisement l'implémentation)

    J'allais oublier l'exemple :
    J'en arrive maintenant au point qui est le même pour la 3D , avec une fenêtre impossible à fermer sans passer par un "Bonjour" , et se terminer par une formule de politesse comme "Merci d'avance" .
    (généré par ./blahmatic langs/sdz/ --talk)
    • [^] # Re: Blahmatic

      Posté par  (site web personnel) . Évalué à 4.

      C'est le principe des chaînes de markov[1] appliquées à la génération de phrases.
      Il existe de nombreux projets qui sont basés la dessus, nottamment en ce qui concerne les bots parlant sur IRC, comme par exemple magahal[2] qui est assez avancé ou encore benzo[3] qui est juste un script python illustrant la chose.
      Je suis aussi en train de plancher là dessus, puisque je suis en train de reprendre le code de PyBorg[4] et je compte modifier le processus de réponse pour qu'il utilise ce principe... Je n'avais pas connaissance de ton projet, mais je compte aller y faire un tour pour voir comment tu gère tout ça !
      Quoi qu'il en soit, c'est assez instructif de voir comment tout cela fonctionne ! :)

      [1] : http://fr.wikipedia.org/wiki/Cha%C3%AEne_de_Markov#Exemple:_(...)
      [2] : http://megahal.alioth.debian.org/
      [3] : http://benzo.sourceforge.net/
      [4] : http://rezal404.org/wikini/wakka.php?wiki=PyBorG
      • [^] # Re: Blahmatic

        Posté par  (site web personnel) . Évalué à 8.

        Vos boots seraient capables de loguer un chan IRC et de ressortir des réponses donnés à des questions plus anciennes ?

        En gros le bot log les chat sur un chan d'aides par exemples, et lorsqu'une question est posé ou lui est posé, il réponds en fonction de phrase donné dans le même contexte dans le passé.

        "La première sécurité est la liberté"

        • [^] # Re: Blahmatic

          Posté par  . Évalué à 2.

          A priori non. Enfin ça n'est pas impossible, mais ça n'est sans doute pas la meilleure approche.

          En revanche, l'idée est intéressante (et pas si difficile que ça je pense), le plus dur étant la récolte de questions/réponses.
          • [^] # Re: Blahmatic

            Posté par  (site web personnel) . Évalué à 2.

            Non la récolte est facile. Il suffit que le bot log le chan en cours. C'est souvent toujours les memes question qui reviennent. Cela revient à créer une faq automatique.

            "La première sécurité est la liberté"

    • [^] # Re: Blahmatic

      Posté par  (site web personnel) . Évalué à 4.

      /me n'aime pas les chamos
  • # Watching for an announcement ...

    Posté par  . Évalué à 3.

    Le lien de google nous demande de surveiller une annonce.
    Je suis allé sur la page du LDC, mais rien.
    Toi qui a reçu ça il y a qques jours, tu as vu qque chose passer ou pas ?
  • # Premières utilisations

    Posté par  . Évalué à -6.

    Si j'ai bien compris, on va pouvoir accéder à ces n-grammes depuis son nokia-770 et pouvoir commander, sans se tromper, son pain au chocolat en 15 langues !

    Autre utilisation : Participer à La Roue De La Fortune et faire parcourir des kilomètres de bonnes réponses à la belle Victoria Silvted !
  • # Licence ?

    Posté par  (site web personnel) . Évalué à 4.

    J'ai rapidement regardé l'annonce, mais je n'ai pas vu de détails sur les conditions d'utilisation.

    Ce serait encore mieux si on peux intégrer/utiliser cette base (ou une partie) dans des softs libres.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.