Page 1 sur 1
Trouver la meilleur concordance à une requête
Posté : 14 déc. 2010, 16:58
par stevefigueras
Bonjour je suis à la recherche de documentation et de toute aide pour réaliser un projet qui serai de pouvoir soumettre via un query une phrase "mr dupon a une voiture" et de demander à la base de donnée de me rendre la réponse qui correspond le mieux à cette recherche.
Il y aurait beaucoup de réponses mais je souhaiterai récupérer celle qui correspond au maxium de mot cléf.
J'avais pensé à réaliser un score de concordance et à prendre la phrase qui a le meilleur score qu'en pensez vous ?
Existe t il du code qui va dans ce sens ?
Cordialement
Re: Trouver la meilleur concordance à une requête
Posté : 15 déc. 2010, 01:25
par devlop78
Quel est le schéma de ta base de données ? As-tu une modélisation ?
Re: Trouver la meilleur concordance à une requête
Posté : 15 déc. 2010, 06:46
par stevefigueras
Non en fait j'attends de savoir comme je concrétise ce fichu script pour savoir comment débuter ma BDD qui est en brut sous excel pour l'instant.
Je pensais à une colonne avec la question type contenant les mots clef et à côté la réponse que je souhaite donner si la question ou une question ayant un nombre suffisant de mot clef pour être considéré comme valable est sélectionnée.
Ou alors je divise ma question en autant de colones que j'ai de mot clef pour faciliter la recherche.
Merci de ton aide
Re: Trouver la meilleur concordance à une requête
Posté : 15 déc. 2010, 06:55
par epommate2
Ca c'est compliqué comme sujet ...
Si tu veux quelque chose d'assez bien penser, il faut peut être voir du coté de Zend_Lucene
Sinon, il va falloir :
- transformer la phrase en token (mr,dupon,a,une,voiture)
- enlever les stops words (mr,a,une,..)
- leximiser les mots qui reste (stemming) (voiture == voitures)
- chercher dans l'index
- éventuellement associer un poids au mot trouvé
Et dans ce cas, tu auras quelque choses qui fonctionne, quoiqu'un peu bancale...
Re: Trouver la meilleur concordance à une requête
Posté : 15 déc. 2010, 10:35
par jojolapine
Tu peux regarder aussi du côté de soundex, levensthein et autres algorithmes de comparaisons de chaines...
Le problème c'est qu'a priori il n'y a rien de natif sous mysql par exemple...
Il faut compiler des extensions:
http://dev.mysql.com/doc/refman/5.0/en/ ... iling.html