statistique

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : statistique

Re: statistique

par macgawel » 22 mars 2011, 13:59

Reste un petit soucis.
Si une personne tape deux fois exactement le même mot, pas de pb, le système fonctionne parfaitement. Mais si la personne ne tape pas exactement le même mot, par exemple met le mot au pluriel, le système considère qu'il s'agit d'un mot nouveau. Bien sûr on peut dire la même chose des fautes d'orthographe, des espaces, etc... Mais ne peut-on pas au moins, envisager un système simple qui considérerait systématiquement qu'un singulier vaut un pluriel ?
Une solution (vraiment) très basique, ce serait de supprimer un éventuel "s" final.

Après, on entre vite dans du lourd.
Une possibilité envisageable, c'est l'utilisation de soundex() :
A l'insertion d'un mot dans la table, tu calcules le soundex que tu ajoutes dans un champ de la table.
Et quand quelqu'un cherche $mot il n'y a plus qu'à faire
SELECT nom from MATABLE where MATABLE.soundex = soundex($mot);
Si la requête te retourne un résultat, comparer la mot demandé et le mot retourné, par exemple avec levenshtein(). S'ils sont similaire, utiliser le mot que tu as stocké (ne pas oublié de prévenir l'utilisateur que tu fais une recherche sur un mot différent, quand-même).

Re: statistique

par Newsralf » 21 mars 2011, 23:58

Re,
En effet, l'ajout d'un champs compteur facilite la chose. Il suffit ensuite de vérifier si le mot existe, si c'est le cas on incrémente le compteur et sinon on ajoute le mot dans la table avec un compteur à 1.
Puis pour l'affichage, il suffit de sortir les mots clés par ordre des compteurs.
Merci bien.

Reste un petit soucis.
Si une personne tape deux fois exactement le même mot, pas de pb, le système fonctionne parfaitement. Mais si la personne ne tape pas exactement le même mot, par exemple met le mot au pluriel, le système considère qu'il s'agit d'un mot nouveau. Bien sûr on peut dire la même chose des fautes d'orthographe, des espaces, etc... Mais ne peut-on pas au moins, envisager un système simple qui considérerait systématiquement qu'un singulier vaut un pluriel ?

Merci bien.
NR

Re: statistique

par newsralf » 21 mars 2011, 20:33

Bonjour,

Bien l'idée en effet de mettre un compteur et de vérifier si le mot existe avant de l'enregistrer.
La j'ai essayé ça :

Code : Tout sélectionner

SELECT mots, count(mots) FROM table_des_mots WHERE mots ORDER BY count(mots) DESC LIMIT 100
mais c'est pas convainquant.

Re: statistique

par macgawel » 21 mars 2011, 18:47

Bonjour,
Table toute simple : une liste de mots : chaussure, voiture, chocolat,voiture, café, thé,etc...
Il s'agit simplement d'afficher les 10 mots qui ont été saisi le plus souvent.
nr
:shock:

A ce niveau de "simplicité", je me demande si ce n'est pas plus simple d'utiliser un bête fichier texte :
Quand on lance une requête :
$fichier = fopen ('listemots.txt', 'a');
fwrite ( $fichier, $mot_recherche );
fclose ($fichier);
Et pour avoir la liste des X mots les plus recherchés :
$liste = array_count_values (file ('listemots.txt') );
Sinon, utilise vraiment la base de données.
Tu peux, par exemple, renseigner la date de la requête (histoire de purger les plus anciennes).
Ou ajouter un champ compteur - quand on lance une requête, si le mot est déjà dans la table on incrémente le compteur, sinon on crée l'enregistrement (avec compteur à 1).

Et si tu veux vraiment utiliser ta table, tu peux utiliser un mélange de COUNT, GROUP BY pour avoir le nombre de fois que tu as chaque mot, ORDER BY pour trier, LIMIT pour limiter le résultat de la recherche...

Re: statistique

par newsralf » 21 mars 2011, 17:33

Bonjour,
Table toute simple : une liste de mots : chaussure, voiture, chocolat,voiture, café, thé,etc...
Il s'agit simplement d'afficher les 10 mots qui ont été saisi le plus souvent.
nr

Re: statistique

par dunbar » 21 mars 2011, 16:48

Salut
Donne nous la structure de ta table dis nous par exemple si un même nom peux se retrouver plusieurs dans la table ?
etc...

statistique

par newsralf » 21 mars 2011, 13:21

Bonjour,
je fais un petit moteur de cherche qui alimente une table.
Comment puis-je ensuite afficher les 10 mots les plus recherchés svp ?
Merci bien