Recodons le moteur de recherche de google \o/
|
03-07-2013, 23h28
Message : #1
|
|
InstinctHack
Posting Freak Messages : 1,366 Sujets : 184 Points: 299 Inscription : Dec 2011 |
Recodons le moteur de recherche de google \o/
Salut,
Je me pose cette question : comment puis-je faire un algo similaire à google. (qualité ;D ) Voilà la gueule de ma base de données : Code : bdd si je recherche "securité" comment je pourrais faire apparaître le troisième lien ? Faudrais pouvoir rechercher une similitude entre le terme rechercher et le link tout en sachant que l'ortographe n'est peut-etre pas exactement la meme. une idée ? Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!" |
|
03-07-2013, 23h34
Message : #2
|
|
Mazaki
root@Mazaki~# Messages : 88 Sujets : 7 Points: 13 Inscription : May 2013 |
RE: Recodons le moteur de recherche de google \o/
Un algo similaire, c'est assez complexe, je ne suis même pas sur que Google stocke les sites dans leur BDD, il y en a tellement O_O.
" Signature en construction, revenez dans quelques années. "
|
|
04-07-2013, 00h33
(Modification du message : 04-07-2013, 00h38 par ouestcharlie.)
Message : #3
|
|
ouestcharlie
meow Messages : 20 Sujets : 1 Points: 1 Inscription : Jun 2013 |
RE: Recodons le moteur de recherche de google \o/
hei .
peut être que ... http://www.siteduzero.com/informatique/t...completion avec une bonne DB mixer avec du php fera l'affaire sinon c'est une bonne question tiens ._. edit : http://www.dcode.fr/chaines-de-markov
GIYFF
|
|
04-07-2013, 06h50
Message : #4
|
|
InstinctHack
Posting Freak Messages : 1,366 Sujets : 184 Points: 299 Inscription : Dec 2011 |
RE: Recodons le moteur de recherche de google \o/
@Mazaki T'as jamais use le cache de google ? Bien sûr que si, il stocke les sites.
@ouestcharlie c'est gentil des liens, mais faut qu'ils apportent une réponse ou un début de piste, ce qui n'est pas le cas ici. Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!" |
|
04-07-2013, 07h24
Message : #5
|
|
Sh4dows
Tweetos Messages : 293 Sujets : 5 Points: 49 Inscription : Dec 2012 |
RE: Recodons le moteur de recherche de google \o/
@ouestcharlie l'auto complétion ça vient bien après tous le reste.
Concernant le fonctionnement de google, ils vont me semble t-il bien plus loin qu'un simple stockage (description, url, titre, tags). Il y a derrière tout ça de l'analyse de contenu (cf. GoogleBot). D'ailleurs cet article est pas mal http://www.siteduzero.com/informatique/t...nne-google J'ai également trouvé cet interview parlant de l'algorithme de classement de Google (Pas le temps de le lire).
Faites ce que je dis et non ce que je fais !
|
|
05-07-2013, 00h35
Message : #6
|
|
b0fh
Membre actif Messages : 210 Sujets : 17 Points: 309 Inscription : Jul 2012 |
RE: Recodons le moteur de recherche de google \o/
Comme je le comprends, l'algorithme décrit par le lien de ouestcharlie, celui avec la chaîne de Markov, à pour but d'aider un black SEO à baiser un moteur de recherche, en générant massivement du contenu similaire mais pas identique. Peu d'intérêt pour nous donc.
Sinon, pour ton problème d'orthographe des mots clef ou de correspondance sémantique, une piste possible est celle de l'Association Rule Learning (http://en.wikipedia.org/wiki/Association_rule_learning) Le but de cet algorithme, étant donné une base de données de "transactions", constituées chacune d'un ensemble de mots-clef, est de calculer, pour une transaction inconnue, la probabilité qu'elle contienne un mot-clef X, sachant qu'elle contient déja un sous-ensemble connu de mots-clef. Au coeur de cette approche, on trouve l'algorithme Apriori, qui permet de trouver les associations de mots les plus fréquentes dans l'absolu. Pour chaque sous-ensemble de mots générés, on calcule la probabilité de ce sous-ensemble d'inclure aussi le mot X cherché, et cette probabilité donne une mesure de la pertinence de la recherche. Globalement, ça fonctionnerait ainsi: - on choisit un niveau limite pour le support des règles qui nous intéressent, par exemple 10% - on découpe tous les documents en mots et on crée une liste de mots uniques. On retire tous les mots qui n'apparaissent pas dans au moins 10% des documents. - A partir de la liste de mots nettoyée, on génère toutes les paires de mots. On retire tous les mots qui n'apparaissent pas dans au moins 10% des documents. - On répète cette opération pour tous les tuples de mots de longueur n, jusqu'a avoir tout éliminé. C'est l'algorithme Apriori. On stocke ensuite tous ces totaux dans une grosse db. On peut ajuster le paramètre du support pour obtenir une DB plus ou moins grande. Quand vient le moment de rechercher une série de mots clef {x1,x2,..,xn}, on parcours notre db. Pour chaque série de mots dans la db {y1,y2,..yn}, il y a peut-être également un tuple {y1,y2,..,yn,x1,x2,..,xn}. On compare les quantités associées (soit le nombre de documents contenant ces mots). la 1ere sera logiquement toujours supérieure à la 2e, ce qui nous donne donc une probabilité de pertinence. On garde toutes les séries de mots {y1,y2,..,yn} dont la pertinence est élevée, et il ne reste plus qu'a récupérer les documents contenant ces tuples. |
|
Utilisateur(s) parcourant ce sujet : 3 visiteur(s)