IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mathématiques Discussion :

algorithme des fautes de frappes


Sujet :

Mathématiques

  1. #1
    Membre éclairé
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Par défaut algorithme des fautes de frappes
    bonjour,
    je me pose une question très bête en ce dimanche après midi, mais la réponse doit être un poil ardue puisque je ne la trouve pas.
    Voila j'ai deux listes A et B. Chacune d'elle comporte des noms quelconques (prénoms, nom de sociétés, d'objets etc etc).
    Comment faire pour verifier si un nom de A se trouve dans B, sachant qu'il peut y avoir des fautes d'orthographe.

    Exemple.
    Liste A = Nicolas, Fnac, voeylles, imprimantes.

    Liste B= Bob, Société Anonyme Fnac, voyelle, choux, villes, nIcolas.

    résultat de l'algo (disons que c'est une fonction booléenne).
    f(Nicolas) = vrai 'facile
    f(Fnac) = vrai 'un peu plus difficile mais facile
    f(voeylles)= vrai 'très dur d'un coup
    f(imprimantes) = faux. 'facile a premiere vue

    On voit qu'il y a aucun problème pour les mots strictement identique (a la casse pres), mais que les choses se gatent ne serait ce que si un mot est au pluriel, ou qu'une faute de frappe ce soit glissée dans la liste.
    Pour les faute d'orthographe on peut imaginer un systeme de permutation de lettre... mais c'est sans oublier la finesse du langage et des anagrames. Par exemple : cafe, face.

    Alors je pensais utiliser un peu de logique "floue", mais ça ne m'avancerait pas plus en fait.

    Comment procèderiez vous?

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    Il y a divers algorithmes pour calculer des "distances" entre deux chaînes de caractères, notamment la distance de Levenshtein

  3. #3
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 78
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Par défaut
    Une autre piste pourraît être l'écriture 'phonétique'. Suivant les règles usuelles du français chaque mot doit se prononcer d'une certaine manière. Il existe même un système international de transcription. On peut décider de juger équivalents deux mots ayant la même phonétique, sauf s'il existe des homophones. Dans ce dernier cas on ne fusionne pas pin <> pain <> peint
    mais voitur = voiture = voiturre.
    Dans tous les cas le système doit avoir recours à un dictionnaire complet.
    Je pense que Google utilise un truc du genre quand il corrige l'orthographe des mots clés avant une recherche.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  4. #4
    Membre très actif

    Profil pro
    Étudiant
    Inscrit en
    Décembre 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2004
    Messages : 499
    Par défaut
    salut

    à mon avis il faut faire un équivalent de la distance Levenshtein mais en sauvegardant la liste des éléments en trop, et la liste des éléments qui manquent

    ensuite si un élément est en trop à un endroit et qu'il manque à un autre on diminue l'erreur en fonction

    sinon il y a aussi le cas des lettres voisines sur le clavier

    ça ne doit pas poser trop de problème de faire un automate capable de prendre en compte tout celà !

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par acx01b
    ça ne doit pas poser trop de problème de faire un automate capable de prendre en compte tout celà !


    Si c'était si facile, pourquoi donc les correcteurs orthographiques ne seraient pas parfaits ??

    En général, les plus évolués prennent en compte : la sémantique, l'orthographe, la phonétique, et le contexte (avant et après).

    Déjà tout ça c'est un bon paquet...

    Et malgré ça, ils ne suivent pas les effets de style, l'écriture littéraire, sans compter les effets comme Sartre dans "L'Age de raison", où dans la même phrase 3 vies qui n'ont rien à voir se mélangent..

Discussions similaires

  1. Correction Faute de Frappe - Indexation sur texte Intégrale?
    Par tomttf dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/04/2007, 12h32
  2. Algorithmes des coureurs !
    Par fatifati dans le forum Pascal
    Réponses: 7
    Dernier message: 06/03/2007, 17h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo