Cherche base de mots... - PHP - Programmation
Marsh Posté le 17-12-2004 à 12:15:34
Ton problème n'est manifestement pas propre à PHP. .
Tu aurais sans doute une meilleure audience et, partant, plus de chance de succès en postant dans la bonne cat.
Marsh Posté le 17-12-2004 à 21:30:55
goodspirit a écrit : Salut a tous. |
1) Récupérer la base "Graphèmes" de http://www.lexique.org/
Pour une base de noms propres, chercher dans les sites spécialisés en astrologie (!!), qui font le profil des personnages célèbres. Avec un bon suceur PHP on récupère de vrais trésors lexicaux... Pour les toponymes, je sèche.
Traitement, tri, épluchage des bases de mots: awk, indispensable pour faire du boulot efficace.
2) Les structures arborescentes sont souvent optimales pour les applications de mots croisés, mais je sais pas comment ça s'implémenterait proprement en DB...
Marsh Posté le 18-12-2004 à 03:38:11
ACut a écrit : 1) Récupérer la base "Graphèmes" de http://www.lexique.org/ |
Citation : Lexique est une base de données qui fournit pour 130000 mots du français |
houlà, c'est mal barré au niveau du français
Marsh Posté le 18-12-2004 à 04:01:38
the real moins moins a écrit :
houlà, c'est mal barré au niveau du français |
En prennant la phrase partiellement oui, parce que au complet, c'est correct
Marsh Posté le 18-12-2004 à 04:16:56
ha oui, je viens de relire, mais dans ce cas c'est la ponctuation qui est incorrecte
(il manque au minimum une virgule apres "fournit", et le double point me parait plus que douteux)
Marsh Posté le 18-12-2004 à 15:17:45
the real moins moins a écrit : (...) |
C'est probablement en raison du deux-points que les rédacteurs ont résisté à la virgule après fournit. En effet, l'énumération à suivre indique «ce que la base fournit»; il semblait donc préférable de ne pas segmenter davantage la structure de la phrase entre le mot fournit et le deux-points.
Cela reste bien sûr une cote mal taillée. Une solution optimale eût été: «Lexique est une base de données qui, pour 130000 mots du français, fournit: les représentations orthographiques et phonémiques, la syllabation, etc.»
L'autre objection faite par the real moins moins (caractère "douteux" du deux-points, sic) semble difficile à justifier puisque la fonction la plus répandue de ce signe de ponctuation est bel et bien d'introduire une énumération.
Marsh Posté le 18-12-2004 à 18:13:23
avec la phrase d'origine, le : semble innaproprié: il fait buter la lecture; sans les virgules le précédent, il ne m'est pas apparu comme introduisant une énumération, justement.
(vais me faire flinguer sur mon point virgule, moi )
Marsh Posté le 19-12-2004 à 20:20:54
sircam a écrit : Ton problème n'est manifestement pas propre à PHP. . |
Exact et j'en suis conscient mais je savais pas du tout dans quelle catégorie poster..., désolé
ACut a écrit : |
awk ? kézako? je ne sais pas ce que c'est, si tu pouvais m'orienter un peu s'il te plait...
Qu'entend tu par structure récurrente ?
Je comprend (plus ou moins) ce que ca veut dire mais je ne vois pas comment les utiliser dans ce cas.
En tout cas, merci à tous...
Marsh Posté le 19-12-2004 à 23:03:57
http://www.shellunix.com/awk.html
1er résultat de la recherche "awk" sous google...
faudrait peur etre se donner les moyens de chercher quand on veut trouver
Marsh Posté le 20-12-2004 à 23:40:35
goodspirit a écrit : Exact et j'en suis conscient mais je savais pas du tout dans quelle catégorie poster..., désolé |
awk est un simple langage de traitement orienté "fichiers texte". Basé sur les expressions régulières, il permet de récupérer, d'analyser et de reclasser des corpus de mots (ou de textes) à très grande vitesse, via des commandes (ou fichiers de commandes) rudimentaires. On peut le concevoir comme un outil "en amont" pour des applications linguistiques, lexicographiques, etc.
Un exemple concret d'utilisation dans ton cas: mettons que du disposes d'une base de 130.000 graphèmes -- c'est le cas de Lexique.org, qui procure un fichier de 16 Mo doté de nombreux champs documentaires. Ton objectif sera typiquement de récupérer et dipatcher tous ces graphèmes dans N fichiers DICO_01, DICO_02, ..., DICO_N de telle sorte que DICO_i rassemble les mots du corpus comptant i lettres. awk permet d'opérer vite et bien quand tu n'as pas 3h devant toi pour développer un programme ou une macro "ad hoc".
Concernant la structure "arborescente", c'est un mode de représentation qui paraît approprié pour les dictionnaires en général: une lettre = un noeud, 26 noeuds racine et le système de pointeurs habituel pour "progresser" dans les ruches de mots. Un application de mots croisés aura généralement besoin de mesurer très vite, à un point donné d'un embranchement genre A->P->O->..., quels sont les mots existant dans cette ruche, combien ils sont, et aussi comment passer à la ruche suivante (ce qui revient à remonter à A->P->... et à chercher le noeud cousin de O dans l'arbre). Voilà pourquoi j'évoquais cette structure, qui s'avère en outre particulièrement légère dans le cas de dictionnaires dont les mots sont à taille fixe (N-grammes).
Voilù.
Marsh Posté le 15-12-2004 à 00:29:35
Salut a tous.
Je souhaite développer en php un dictionnaire de mots croisés
Voila, j'ai deux problèmes et espère votre aide.
Premièrement, je ne sais pas trop comment trouver une liste de mots : j'ai regardé vite fait les dico de brut force mais ceux sur lesquels je suis tombés me semblaient incomplets et inadaptés. Avez vous une méthode ou un conseil ou un lien a me fournir svp?
Deuxièment (qui est beaucoup plus d'ordre de programmation), c'est a votre avis, comment dois-je enregistrer les mots dans ma base de donnée mysql? J'avais penser a mettre par lettre dans des tables différentes selon leur longueur, mais il me semble que php/mysql serait assez bien exploité des mots en vrac et en entier dans une simple table, et les trier selon les opérateurs "?","*",etc. Ais raison, cela vous semble t-il faisable et idéal?
Merci d'avance...