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

Algorithmes et structures de données Discussion :

Approximative String Matching


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de kha_yassine
    Inscrit en
    Juin 2007
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 126
    Par défaut Approximative String Matching
    Salut a tous

    Comme l'intitulé du sujet l'indique, je cherche un algorithme de recherche approximative de chaine de caractère simple a comprendre et efficace

    J'ai beaucoup chercher sur Google , et j'ai trouver pas mal de cours ... mais c'est un peu difficile a comprendre quand même (et vu le temps que j'ai...)

    Donc n'importe quel lien de cours facile a comprendre et le bien venu, aussi si cet algorithme est déjà implémenté dans un des langages de programmation


    et merci d'avance

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par kha_yassine Voir le message
    Comme l'intitulé du sujet l'indique, je cherche un algorithme de recherche approximative de chaine de caractère simple a comprendre et efficace
    Quelle est ta définition de "recherche approximative" ?

    Pour une chaine donnée, tu cherches toutes les chaines qui lui ressemblent phonétiquement ? textuellement ? autre ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre confirmé Avatar de kha_yassine
    Inscrit en
    Juin 2007
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 126
    Par défaut
    Excusez moi pour le manque de détail que j'ai mis sur le post

    voici un exemple :
    Texte : "Algorithmes : Forum d'entraide sur l'algorithmique, l'intelligence artificielle, le traitement numérique d'images et les mathématiques"

    chaine a rechercher : "Algoryt fique"

    Les erreurs au niveau de la chaine sont fait exprès,

    Les résultats de recherche :
    - l'indice du mot "Algorithmes" = 1
    - l'indice du mot "l'algorithmique" = ...
    - l'indice du mot "numérique" = ...
    - l'indice du mot "mathématiques" = ...
    - l'indice d'autres mot ayant une distance d'édition faible...

    Merci d'avance

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Tu peux calculer la distance de Levenshtein (ou Damerau-Levenshtein) entre ta chaine et chaque sous-chaine (ou mot) de ton texte.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre confirmé Avatar de kha_yassine
    Inscrit en
    Juin 2007
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 126
    Par défaut
    Merci pour ta réponse

    Mais cette façon de faire ne va pas marcher, car le texte a traiter est très long, et aussi la chaine de caractère a rechercher peut être longue aussi

    Les premiers inconvénients que je vois :

    1- Le temps de réponse serait énorme.

    2- L'algorithme peut me retourner une chaine pas du tout conforme a se que je cherche avant celle que je cherche,

    par exemple :
    texte = "Algorithme Algérie"
    La chaine a rechercher = "Algory"

    Le résultat serait : "Algérie" avant "Algorithme"

    Bien sur qu'il y a des algorithmes "Approximative String matching" connu aussi sous le nom "fuzzy text searching" qui utilisent la distance de 'Levenshtein' mais ils considèrent que la chaine a rechercher est tout un ensemble a rechercher

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Tu peux nous donner un exemple réel de données que tu vas utiliser (chaine cherchée et texte), et du résultat attendu ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Discussions similaires

  1. [RegExp] RegExp.test(String) ou String.match(RegExp)
    Par Eric2a dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/09/2010, 00h42
  2. Réponses: 1
    Dernier message: 04/05/2009, 11h08
  3. [RegExp] string.match() difficile
    Par PaC_1250 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/05/2007, 13h24
  4. Type unit, type string, match with
    Par lioudow dans le forum Caml
    Réponses: 8
    Dernier message: 12/02/2007, 17h12
  5. [Regexp] String.matches
    Par scifire dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 21/11/2005, 17h25

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