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 psychoslave__ (site web personnel) . Évalué à 10.
Voir http://fr.wikipedia.org/wiki/All_your_base_are_belong_to_us
# Blahmatic
Posté par un_brice (site web personnel) . Évalué à 4.
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 : (généré par ./blahmatic langs/sdz/ --talk)
[^] # Re: Blahmatic
Posté par chimrod (site web personnel) . Évalué à 4.
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 Nicolas Boulay (site web personnel) . Évalué à 8.
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 Duncan Idaho . Évalué à 2.
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 Nicolas Boulay (site web personnel) . Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: Blahmatic
Posté par Corentin Chary (site web personnel) . Évalué à 4.
# Watching for an announcement ...
Posté par left . Évalué à 3.
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 plagiats . Évalué à -6.
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 jjl (site web personnel) . Évalué à 4.
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.