OK
AJAX error!

Les forumsDictionnaireComment générer les formes fléchies d’un mot

Comment générer les formes fléchies d’un mot

On essaie d'utiliser hunspell pour générer les formes fléchies d'un mot donné.
comme le fait le site ici www.dicollecte.org…

exemple :
on donne en entrée : aimer/a4a+()

il nous donne comme résultat toutes les déclinaisons possibles

on cherche à savoir qu'elle méthode ou fonction à utiliser dans la lib hunspell pour ce traitement là
Merci
le 05 janvier 2012 à 18:26
À ma connaissance, Hunspell ne propose pas une telle fonction.
Tout est là : sourceforge.net…

La fonction de ce site est simplement écrite en PHP.
le 05 janvier 2012 à 18:58
Il faudra qu'on utilise quoi alors pour avoir cette fonctionnalité?
le 05 janvier 2012 à 19:03
Quand ça n’existe pas, il faut l’écrire soi-même. ;)
Sinon, il y a ma version en PHP. Mais si vous faites du C++, je doute que ça vous soit d’un grand secours.
le 05 janvier 2012 à 19:13
en fait, on est un groupe à faire un travail pour les handicapés, (un projet de recherche en université), on voudrai bien avoir la partie de votre dico qui traite ça pour en tirer les fonctionnalités et les écrire en c++, ou c#.
le 06 janvier 2012 à 14:48
Finalement, il est beaucoup plus simple que je fournisse le code en Python qui me sert à générer les dictionnaires et le lexique. Il est bien plus facile à comprendre :
[[ lien obsolète ]]
Ce code fonctionne avec un dictionnaire non compressé : www.dicollecte.org…
Dans le constructeur de Entree, line est une ligne du dictionnaire.

Il y a peut-être un peu de code mort (ou pas fini, ou pas encore testé) et certainement des tas d’autres trucs inutiles pour vous là-dedans, mais ça devrait être facile de purger l’inutile. J’ai aussi la mauvaise habitude de coder en franglais, surtout dans du code que je ne publie normalement pas. :)
le 06 janvier 2012 à 16:44
J'ai lu le script, et voilà ce que j'ai compris,
il faudrai executer ce .py, avec la version en argv[1], et le mode d'ecriture des fichier en argv[2], (argv[0]?)

et il faudrait avoir dans le répertoire d'execussion un dossier orthographe, où il y'a :
orthographe/FRANCAIS.dic et
orthographe/FRANCAIS.aff
que l'on peut télécharger sur le lien que vous avez donné, par exemple:
fr-dicollecte-daily-classique-v2012-01-07.dic et
fr-dicollecte-daily-classique-v2012-01-07.aff

et le programme (à la fin) va nous créer plain de fichier où on trouvera tout le lexique français, dans le répertoire "lexique/"

Corrigez moi si j'ai mal compris, s'il vous plait.

j'ai éssayer d'executer le .py, il me trouve des erreurs de compile! :s
le 07 janvier 2012 à 14:31

il faudrai executer ce .py, avec la version en argv[1], et le mode d'ecriture des fichier en argv[2], (argv[0]?)


Je me contente d’écrire, par exemple, « genfrdic.py 4.5 », et tout roule tout seul.

Ce code me sert à générer les fichiers finaux que je propose à télécharger (archives, extensions, lexique, etc.) à partir du dump de la base de données (FRANCAIS.dic FRANCAIS.aff) que je sauvegarde dans le dossier « orthographe », ce qui correspond aux daily builds.

Dans le dossier lexique, ce sont juste des readme et le code pour convertir le lexique pour LanguageTool.
Tout est généré dans le dossier _build.

Pour générer les formes fléchies du dictionnaire Hunspell, vous avez juste besoin du dictionnaire et du fichier des affixes non compressés. Vous lisez le dictionnaire (genèse des entrées) et le fichier des affixes (genèse des règles de flexions), puis on fléchit toutes les entrées du dictionnaire. Fonction flechir dans Entree.

j'ai éssayer d'executer le .py, il me trouve des erreurs de compile! :s


Ça ne sert à rien de l’exécuter, il va tenter de lire des fichiers que vous n’avez pas. Il faut purger le code. Navré si tout n’est pas clair, mais ça l’est bien plus que dans le code PHP.

J’ai 2 Go de données diverses dans mes sous-répertoires, mais tout ça ne vous est pas utile.

Vérifiez que vous utilisez bien Python 3.1 ou 3.2.
le 07 janvier 2012 à 14:55
Bonjour,

Je suis grandement intéressé par ce sujet, développeur, je me passionne depuis peu par la NPL.
Comme j'arrive tardivement, le pastebin du programme en python est obsolète. Serait il possible de le poster à nouveau ?
Cela m'aidera énormément à comprendre les règles.

Merci beaucoup par avance
le 09 juillet 2013 à 10:30
Bonjour,

www.dicollecte.org…

Je suis toujours en train de triturer le code de genfrdic.py, alors il y a pas mal de choses expérimentales, non finies ou en cours de modification, et je m’en moque, car ce code, je ne le publie habituellement pas afin qu’on ne m’ennuie pas avec ça. ;)

Je ne pense pas que le code de genèse des formes fléchies vous apprendra quoi que ce soit. Vous devriez plutôt lire ceci : www.dicollecte.org… avec la documentation de Hunspell.
le 11 juillet 2013 à 09:22
Bonjour, je vais essayer de m'en sortir avec les règles après tout c'est la référence.
Je vous poserez des questions si jamais je n'arrive pas à m'en sortir.
Cordialement
le 16 juillet 2013 à 17:30
Bonjour,

J'ai une question : je constate que l'adverbe 'additionnellement' n'est pas dans le dictionnaire. Je voudrais le proposer, mais il s'agit selon moi d'une flexion de l'adjectif 'additionnel', qui, lui, figure bien au dictionnaire. Par analogie, j'ai été voir ce qui avait été fait pour l'adjectif 'total' et l'adverbe 'totalement'. Sauf erreur de ma part, il s'agit de deux entrées distinctes. Je ne sais pas si c'est la règle générale, mais j'en conclus que les adverbes en -ment ne sont pas traités comme des formes fléchies de l'adjectif, mais comme des entrées distinctes (probablement pour permettre un traitement grammatical spécifique). Comme je n'ai pas trouvé d'information dans ces forums sur la politique à suivre pour les adverbes (j'ai peut-être mal regardé ou alors je devais regarder ailleurs qu'ici...), pourriez-vous m'indiquer s'il existe une règle générale concernant les adverbes.
D'avance merci,

Pol
le 29 août 2013 à 19:33
Bonjour,

Les adverbes sont effectivement ajoutés dans des entrées indépendantes. C'est plus l'historique qu'un choix délibéré qui explique cette structure.

Plus d'explications quand j'aurai autre chose qu'une tablette tactile pour vous répondre.
le 29 août 2013 à 19:58
Historiquement, les adverbes ont toujours été des entrées indépendantes, et ça fonctionne très bien ainsi. Donc, la nécessité de changer de méthode ne s’est jamais imposée.

Faire dériver les adverbes ne m’a jamais paru utile, car :
— il faudrait plus de drapeaux pour gérer tous les cas et revoir l’étiquetage grammatical pour éviter les confusions,
— ça générerait probablement nombre de néologismes (par ex. antihistaminiquement) (on se ferait engueuler par certains),
— ça alourdirait le processus de création du dictionnaire,
— ça alourdirait le correcteur orthographique.

On pourrait faire dériver les adverbes des adjectifs, mais il faudrait virtualiser l’étiquetage grammatical. La nature grammaticale est apposée sur les lemmes, et est transmise à chacune des formes fléchies. Il faudrait donc ôter l’étiquette adj du lemme et l’intégrer dans les règles des drapeaux. Du coup, il faudrait des tas de drapeaux différents pour chaque cas, selon que le lemme se dérive en nom (masculin), nom (féminin), adjectif, adverbe, etc. ou un peu de chaque. Bref, faisable mais complexe.

Ce serait du boulot de réorganiser tout ça. Et pour quel bénéfice ? Aujourd’hui, aucun. Certes, il n’est pas exclu que ça puisse être utile un jour lointain, mais pour l’instant, non, vraiment aucun avantage à en tirer, hormis pour les gens académiques qui prendraient la peine d’écrire un script pour relier tout ça. Mais ici, on est plutôt pragmatique, on vise d’abord ce qui peut être utile à l’utilisateur.

Autrement dit, ce n’est pas du tout prioritaire. Ce n’est même pas encore sur ma liste “à faire” et elle est pourtant immense.
le 03 septembre 2013 à 11:23

Notification par e-mail    1