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 :

Calcul du poid d'un mot (moteur de recherche)


Sujet :

Algorithmes et structures de données

  1. #21
    Membre du Club Avatar de goblin
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par Graffito
    Bonjour,

    Pour les co-occurences, l'approche la plus simple consiste lors de la recherche ou de l'indexation de considérer la phrase ou le paragraphe comme un sous-document et de garder le n° de la phrase dans le document avec chaque mot (une autre option consisterait à conserver la position du mot dans le texte, par exemple caractère 823 du texte).

    Cette approche est évidement plus gourmande en resources que de compter simplement le nombre de mots dans le document puisqu'un aura pour chaque occurence le n° de phrase.

    Lors de la pondération des réponses, il faudra regarder si dans les doc retenus des phrases comportent plusieurs mots de la question (ou si pour chaque mot de la question, il y a une position qui est proche de celle d'un autre mot de la question).

    La technique phrase est à peine plus compliquée à implémenter, mais un découpage logique du texte permettra d'afficher la ou les phrases "pertinentes" du document, un peu comme google.

    Bonjour graffito as tu une idée de comment agencé une base de données pour prendre en compte ta technique des phrases ?

    Le fait d'évaluer pour chaque mot si un autre mot est proche ne vas t'il pas plombé les performances ?

    merci

  2. #22
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    as tu une idée de comment agencé une base de données pour prendre en compte ta technique des phrases ?
    Sur le plan théorique, les données à enregistrer sont des triplets mots-doc-n°_de_phrase.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Le fait d'évaluer pour chaque mot si un autre mot est proche 
    ne va t'il pas plomber les performances ?
    Pour éviter celà, on calcule avec un système sans technique phrase et on se contente d'utiliser la technique sur les meilleurs documents. D'autre part, sur le plan de l'implémentation, on peut créér pour chaque doc ou pour chaque mots-doc, un tableau (enregistré en binaire) des n° de phrases pluttôt qu'un record de la database par triplets.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #23
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 73
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par Graffito
    Bonjour,

    Dans la pratique, les différentes formules (comme celle indiquée par Strab) donnent des résultats assez peu différents dans la mesure où :
    - les mots "pertinents" (ceux que l'on trouve dans peu de documents) ont une pondération forte,
    - les mots "outils" (que l'on retrouve partout) ont une pondération faible.

    Les vrais améliorations à apporter se trouvent :
    - dans les aspects de synonymie (mines=mine, zéro=ZERO, envellope=enveloppe=ENVELOPE, travail=boulot),
    - dans l'élimination des mots vides (article, auxiliaire, adverbe courant),
    - dans le traitement des co-occurences (mots situés dans la même phrase),
    - dans la présentation du résultat : il est très sympa pour l'utilisateur de classe les réponses par les ensembles de mots communs à la question.

    Salut a tous
    Je m'intéresse moi aussi au moteur de recherche, j'ai une question a propos des aspects synonymique, j'utilise actuellement l'algorithme de levensthein mais celui ne me donne pas entière satisfaction en effet je considère deux termes comme proche si la distance qui les séparent est au maximum de trois hors cela crée pas mal de faux positif par exemple entre
    couleur et poulies
    l'algo dit 3 c'est un faux positif les deux mots non rien a voir. Connaissez-vous une méthode pour pallier à ce problème ?

    Ma seconde interrogation vient des cooccurrences, comment faire pour calculer un taux de cooccurrence j'ai implémenté vos techniques de la phrase et de la position des mots, j'ai trouvé un algo dit de X² mais il me faut un coup de main pour utiliser ce facteur pour pondérer l'importance de chaque mot

    voila voila

  4. #24
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Connaissez-vous une méthode pour pallier à ce problème (de synonymie)?
    La méthode que je préfére est celle du dictionnaires qui consiste à associer à chaque forme d'un mot un ou plusieurs sens.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Exemple : 
    chat,chats,CHAT,CHATS -> chat(discussion), chat(animal)
    chatte,chattes,CHATTE,CHATTES -> chat(animal), ...(censuré)
    comment faire pour calculer un taux de cooccurrence
    Il n'y a malheuresement pas de formule magique qui va dire si un doc avec 3 mots communs avec la question, mais avec une cooocurence, sera mieux classé qu'un doc avec 4 mots commun mais sans coocurence.
    Dans la pratique, ce qui compte c'est qu'entre docs avec les mêmes mots, la présence des co-occurences "favorisent" les docs avec co-occurence par rapport aux autres.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #25
    Membre du Club Avatar de goblin
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Points : 53
    Points
    53
    Par défaut
    Pour ton problème de distance de lenvensthein pourquoi ne pas simplement rechercher dans le mot comparé le mot de base via une expression régulière ?

  6. #26
    Membre actif Avatar de mobscene
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 331
    Points : 234
    Points
    234
    Par défaut
    voila un site fort interessant sur les co-occurences http://www.theses.ulaval.ca/2005/22376/ch05.html
    Everybody have in their the potential to be their own god : Marilyn Manson

Discussions similaires

  1. Calcul de la pertinence des mots dans un moteur de recherche
    Par kilian67 dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 04/10/2012, 15h13
  2. Requete de recherche "au moins un mots" moteur de recherche
    Par Tidus159 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 05/06/2009, 15h22
  3. Réponses: 6
    Dernier message: 23/04/2009, 20h56
  4. Moteur de recherche et plusieurs mots clés
    Par jack1234 dans le forum Langage
    Réponses: 13
    Dernier message: 14/12/2005, 10h29
  5. Réponses: 6
    Dernier message: 04/11/2005, 17h09

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