Hello,
je cherche un truc (soft libre, algo,...) qui va m'aider à faire une
correction orthographique sur un mot lorsque je lance une recherche
dans une application Web.
Exemple (marche sur google) : si je lance une recherche avec le mot "madona"
il m'affiche "Essayez avec cette orthographe : madonna "
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Vincent Cantin
Exemple (marche sur google) : si je lance une recherche avec le mot "madona"
il m'affiche "Essayez avec cette orthographe : madonna "
La seule solution que j'ai en tete est d'appeler l'url de google avec le mot dedans et de parser le code html retourne pour en extraire sa proposition. Bien sur, quand la syntaxe de google va changer, il va falloir changer aussi le prog ... desole, je ne vois pas mieux.
Vincent
Exemple (marche sur google) : si je lance une recherche avec le mot
"madona"
il m'affiche "Essayez avec cette orthographe : madonna "
La seule solution que j'ai en tete est d'appeler l'url de google avec le mot
dedans et de parser le code html retourne pour en extraire sa proposition.
Bien sur, quand la syntaxe de google va changer, il va falloir changer aussi
le prog ... desole, je ne vois pas mieux.
Exemple (marche sur google) : si je lance une recherche avec le mot "madona"
il m'affiche "Essayez avec cette orthographe : madonna "
La seule solution que j'ai en tete est d'appeler l'url de google avec le mot dedans et de parser le code html retourne pour en extraire sa proposition. Bien sur, quand la syntaxe de google va changer, il va falloir changer aussi le prog ... desole, je ne vois pas mieux.
Vincent
JScoobyCed
Sandra wrote:
Hello, je cherche un truc (soft libre, algo,...) qui va m'aider à faire une correction orthographique sur un mot lorsque je lance une recherche dans une application Web.
Exemple (marche sur google) : si je lance une recherche avec le mot "madona"
il m'affiche "Essayez avec cette orthographe : madonna "
Merci de votre aide.
Il faut un dictionnaire de mots. Quand un mot n'est pas trouve *exactement* orthographie, il faut faire un matching des mots les plus proches. une solution simple est d'avoir un second dictionnaire qui gere le match. Par exemple: Query: madona dictionnaire A: ..., madone, madonna,..., medecine,... --> ne match pas *exactement* dictionnaire B: ..., maddona(madonna), madona(madonna), madone(madonna) --> match sur madona et renvoie le terme associe (entre parenthese dans cet exemple)
Maintenant, pour ce qui est d'une API existante, je connais pas...
-- JScoobyCed What about a JScooby snack Shaggy ? ... Shaggy ?!
Sandra wrote:
Hello,
je cherche un truc (soft libre, algo,...) qui va m'aider à faire une
correction orthographique sur un mot lorsque je lance une recherche
dans une application Web.
Exemple (marche sur google) : si je lance une recherche avec le mot "madona"
il m'affiche "Essayez avec cette orthographe : madonna "
Merci de votre aide.
Il faut un dictionnaire de mots. Quand un mot n'est pas trouve
*exactement* orthographie, il faut faire un matching des mots les plus
proches. une solution simple est d'avoir un second dictionnaire qui gere
le match. Par exemple:
Query: madona
dictionnaire A: ..., madone, madonna,..., medecine,...
--> ne match pas *exactement*
dictionnaire B: ..., maddona(madonna), madona(madonna), madone(madonna)
--> match sur madona et renvoie le terme associe (entre parenthese dans
cet exemple)
Maintenant, pour ce qui est d'une API existante, je connais pas...
--
JScoobyCed
What about a JScooby snack Shaggy ? ... Shaggy ?!
Hello, je cherche un truc (soft libre, algo,...) qui va m'aider à faire une correction orthographique sur un mot lorsque je lance une recherche dans une application Web.
Exemple (marche sur google) : si je lance une recherche avec le mot "madona"
il m'affiche "Essayez avec cette orthographe : madonna "
Merci de votre aide.
Il faut un dictionnaire de mots. Quand un mot n'est pas trouve *exactement* orthographie, il faut faire un matching des mots les plus proches. une solution simple est d'avoir un second dictionnaire qui gere le match. Par exemple: Query: madona dictionnaire A: ..., madone, madonna,..., medecine,... --> ne match pas *exactement* dictionnaire B: ..., maddona(madonna), madona(madonna), madone(madonna) --> match sur madona et renvoie le terme associe (entre parenthese dans cet exemple)
Maintenant, pour ce qui est d'une API existante, je connais pas...
-- JScoobyCed What about a JScooby snack Shaggy ? ... Shaggy ?!
Vincent Cantin
Il faut un dictionnaire de mots. Quand un mot n'est pas trouve *exactement* orthographie, il faut faire un matching des mots les plus proches. une solution simple est d'avoir un second dictionnaire qui gere le match. Par exemple: Query: madona dictionnaire A: ..., madone, madonna,..., medecine,... --> ne match pas *exactement* dictionnaire B: ..., maddona(madonna), madona(madonna), madone(madonna) --> match sur madona et renvoie le terme associe (entre parenthese dans cet exemple)
Maintenant, pour ce qui est d'une API existante, je connais pas...
L'approche avec 2 dictionnaires ne sera pas efficace du tout si l'utilisateur fait un typo et que c'est ce qu'on chercher a resoudre.
Je propose tout simplement d'utiliser une mesure de similarite entre une expression tapee par l'utilisateur et les entrees du dictionnaire (le A dont vous parlez).
Cette mesure peut etre (par exemple) le nombre de paire de lettre consecutives identiques entre les 2 mots compares. Cette mesure n'etant que tres peu affectees par une difference de taille des 2 mots, je pense que ca devrait resister a la plus part des typos. Par exemple "madona" et "madonna" vont avec une grande similarite avec cette mesure, ainsi que "bonjour" et "vonjoir". Par contre, "bonjour" et "salut" n'aura aucune similarite.
Vincent
Il faut un dictionnaire de mots. Quand un mot n'est pas trouve
*exactement* orthographie, il faut faire un matching des mots les plus
proches. une solution simple est d'avoir un second dictionnaire qui gere
le match. Par exemple:
Query: madona
dictionnaire A: ..., madone, madonna,..., medecine,...
--> ne match pas *exactement*
dictionnaire B: ..., maddona(madonna), madona(madonna), madone(madonna)
--> match sur madona et renvoie le terme associe (entre parenthese dans
cet exemple)
Maintenant, pour ce qui est d'une API existante, je connais pas...
L'approche avec 2 dictionnaires ne sera pas efficace du tout si
l'utilisateur fait un typo et que c'est ce qu'on chercher a resoudre.
Je propose tout simplement d'utiliser une mesure de similarite entre une
expression tapee par l'utilisateur et les entrees du dictionnaire (le A dont
vous parlez).
Cette mesure peut etre (par exemple) le nombre de paire de lettre
consecutives identiques entre les 2 mots compares.
Cette mesure n'etant que tres peu affectees par une difference de taille des
2 mots, je pense que ca devrait resister a la plus part des typos. Par
exemple "madona" et "madonna" vont avec une grande similarite avec cette
mesure, ainsi que "bonjour" et "vonjoir". Par contre, "bonjour" et "salut"
n'aura aucune similarite.
Il faut un dictionnaire de mots. Quand un mot n'est pas trouve *exactement* orthographie, il faut faire un matching des mots les plus proches. une solution simple est d'avoir un second dictionnaire qui gere le match. Par exemple: Query: madona dictionnaire A: ..., madone, madonna,..., medecine,... --> ne match pas *exactement* dictionnaire B: ..., maddona(madonna), madona(madonna), madone(madonna) --> match sur madona et renvoie le terme associe (entre parenthese dans cet exemple)
Maintenant, pour ce qui est d'une API existante, je connais pas...
L'approche avec 2 dictionnaires ne sera pas efficace du tout si l'utilisateur fait un typo et que c'est ce qu'on chercher a resoudre.
Je propose tout simplement d'utiliser une mesure de similarite entre une expression tapee par l'utilisateur et les entrees du dictionnaire (le A dont vous parlez).
Cette mesure peut etre (par exemple) le nombre de paire de lettre consecutives identiques entre les 2 mots compares. Cette mesure n'etant que tres peu affectees par une difference de taille des 2 mots, je pense que ca devrait resister a la plus part des typos. Par exemple "madona" et "madonna" vont avec une grande similarite avec cette mesure, ainsi que "bonjour" et "vonjoir". Par contre, "bonjour" et "salut" n'aura aucune similarite.
Vincent
Thomas Baruchel
On 10 Aug 2004 02:23:40 -0700, Sandra wrote:
je cherche un truc (soft libre, algo,...) qui va m'aider à faire une correction orthographique sur un mot lorsque je lance une recherche dans une application Web.
Exemple (marche sur google) : si je lance une recherche avec le mot "madona"
Il faut un dictionnaire des mots valide + un algorithme permettant d'évaluer la distance entre un mot erronné et les mots valides afin de proposer le mot valide le plus proche. L'algorithme classique s'appelle en anglais: "edit distance algorithm" (distance d'édition)
Si tu lis le Caml, va voir: http://www.eleves.ens.fr/home/frisch/info/distmot.ml sinon, je te le convertirai en java (une méthode statique prenant deux chaînes de caractères en arguments suffira).
Cordialement,
-- Thomas Baruchel To contact me, please, see at: http://cerbermail.com/?OEyHGNQFEa
On 10 Aug 2004 02:23:40 -0700, Sandra <benajam@tiscali.fr> wrote:
je cherche un truc (soft libre, algo,...) qui va m'aider à faire une
correction orthographique sur un mot lorsque je lance une recherche
dans une application Web.
Exemple (marche sur google) : si je lance une recherche avec le mot
"madona"
Il faut un dictionnaire des mots valide + un algorithme permettant
d'évaluer
la distance entre un mot erronné et les mots valides afin de proposer le
mot
valide le plus proche. L'algorithme classique s'appelle en anglais:
"edit distance algorithm" (distance d'édition)
Si tu lis le Caml, va voir:
http://www.eleves.ens.fr/home/frisch/info/distmot.ml
sinon, je te le convertirai en java (une méthode statique prenant deux
chaînes
de caractères en arguments suffira).
Cordialement,
--
Thomas Baruchel
To contact me, please, see at:
http://cerbermail.com/?OEyHGNQFEa
je cherche un truc (soft libre, algo,...) qui va m'aider à faire une correction orthographique sur un mot lorsque je lance une recherche dans une application Web.
Exemple (marche sur google) : si je lance une recherche avec le mot "madona"
Il faut un dictionnaire des mots valide + un algorithme permettant d'évaluer la distance entre un mot erronné et les mots valides afin de proposer le mot valide le plus proche. L'algorithme classique s'appelle en anglais: "edit distance algorithm" (distance d'édition)
Si tu lis le Caml, va voir: http://www.eleves.ens.fr/home/frisch/info/distmot.ml sinon, je te le convertirai en java (une méthode statique prenant deux chaînes de caractères en arguments suffira).
Cordialement,
-- Thomas Baruchel To contact me, please, see at: http://cerbermail.com/?OEyHGNQFEa
Warko
Thomas Baruchel wrote:
On 10 Aug 2004 02:23:40 -0700, Sandra wrote:
je cherche un truc (soft libre, algo,...) qui va m'aider à faire une correction orthographique sur un mot lorsque je lance une recherche dans une application Web.
tiens tiens, ca me rappelle une servlet que j'ai développé jadis...
Exemple (marche sur google) : si je lance une recherche avec le mot "madona"
Fonction gamma et compagnie (Wagner et Fisher)
Il faut un dictionnaire des mots valide + un algorithme permettant d'évaluer la distance entre un mot erronné et les mots valides afin de proposer le mot
Wagner et Fisher (par exemple) je crois.
- définir un lexique (concepts) de référence - récupérer la phrase (via web) - extraire les mots un à un (StringTokenizer) - pour chaque mot : - convertir en minuscules - tester si mot existe dans lexique et si oui retourner concept - si non, tester l'inclusion (mots lexique dans mot, mot dans mots lexique) - si ok => stocker concept dans liste candidat - retourner la sous liste de candidat - si non test de Wagner et Fisher, si ok : - stocker concept dans liste candidat - retourner la sous liste de candidat - si non indiquer qu'aucun mot n'a été trouvé
J'ai fait une servlet dans le cadre d'un TP d'info (école d'ingé) qui gère les requêtes de recherche en langage naturel sur les howtos linux (ex: Je voudrais la liste des howtos parlant de 3DFx, hwotos parlnat de NEtwrok,...) avec gestion des fautes de frappes.
L'algo du dessus avait été fourni par le prof, a priori un chercheur dans le domaine. Nous avions utilisé JLex, JCup avec Java :) Je crois qu'il existe Flex (dans la lignée de JLex).
Si tu ne trouves pas de solution rapidement, contact moi en privé, j'ai toutes les sources (que j'ai programmées) et le rapport (que j'ai écrit)
en espérant que ca puisse t'aider.
Warko
Thomas Baruchel wrote:
On 10 Aug 2004 02:23:40 -0700, Sandra <benajam@tiscali.fr> wrote:
je cherche un truc (soft libre, algo,...) qui va m'aider à faire une
correction orthographique sur un mot lorsque je lance une recherche
dans une application Web.
tiens tiens, ca me rappelle une servlet que j'ai développé jadis...
Exemple (marche sur google) : si je lance une recherche avec le mot
"madona"
Fonction gamma et compagnie (Wagner et Fisher)
Il faut un dictionnaire des mots valide + un algorithme permettant
d'évaluer
la distance entre un mot erronné et les mots valides afin de proposer le
mot
Wagner et Fisher (par exemple) je crois.
- définir un lexique (concepts) de référence
- récupérer la phrase (via web)
- extraire les mots un à un (StringTokenizer)
- pour chaque mot :
- convertir en minuscules
- tester si mot existe dans lexique et si oui retourner concept
- si non, tester l'inclusion (mots lexique dans mot, mot dans
mots lexique)
- si ok => stocker concept dans liste candidat
- retourner la sous liste de candidat
- si non test de Wagner et Fisher, si ok :
- stocker concept dans liste candidat
- retourner la sous liste de candidat
- si non indiquer qu'aucun mot n'a été trouvé
J'ai fait une servlet dans le cadre d'un TP d'info (école d'ingé) qui
gère les requêtes de recherche en langage naturel sur les howtos linux
(ex: Je voudrais la liste des howtos parlant de 3DFx, hwotos parlnat de
NEtwrok,...) avec gestion des fautes de frappes.
L'algo du dessus avait été fourni par le prof, a priori un chercheur
dans le domaine. Nous avions utilisé JLex, JCup avec Java :)
Je crois qu'il existe Flex (dans la lignée de JLex).
Si tu ne trouves pas de solution rapidement, contact moi en privé, j'ai
toutes les sources (que j'ai programmées) et le rapport (que j'ai écrit)
je cherche un truc (soft libre, algo,...) qui va m'aider à faire une correction orthographique sur un mot lorsque je lance une recherche dans une application Web.
tiens tiens, ca me rappelle une servlet que j'ai développé jadis...
Exemple (marche sur google) : si je lance une recherche avec le mot "madona"
Fonction gamma et compagnie (Wagner et Fisher)
Il faut un dictionnaire des mots valide + un algorithme permettant d'évaluer la distance entre un mot erronné et les mots valides afin de proposer le mot
Wagner et Fisher (par exemple) je crois.
- définir un lexique (concepts) de référence - récupérer la phrase (via web) - extraire les mots un à un (StringTokenizer) - pour chaque mot : - convertir en minuscules - tester si mot existe dans lexique et si oui retourner concept - si non, tester l'inclusion (mots lexique dans mot, mot dans mots lexique) - si ok => stocker concept dans liste candidat - retourner la sous liste de candidat - si non test de Wagner et Fisher, si ok : - stocker concept dans liste candidat - retourner la sous liste de candidat - si non indiquer qu'aucun mot n'a été trouvé
J'ai fait une servlet dans le cadre d'un TP d'info (école d'ingé) qui gère les requêtes de recherche en langage naturel sur les howtos linux (ex: Je voudrais la liste des howtos parlant de 3DFx, hwotos parlnat de NEtwrok,...) avec gestion des fautes de frappes.
L'algo du dessus avait été fourni par le prof, a priori un chercheur dans le domaine. Nous avions utilisé JLex, JCup avec Java :) Je crois qu'il existe Flex (dans la lignée de JLex).
Si tu ne trouves pas de solution rapidement, contact moi en privé, j'ai toutes les sources (que j'ai programmées) et le rapport (que j'ai écrit)