• STATISTIQUES
  • Il y a eu un total de 0 membres et 28011 visiteurs sur le site dans les dernières 24h pour un total de 28 011 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] PHPFreaks
    PHPFreaks est un site dédié à l'apprentissage et l'enseignement du PHP. Ici vous trouver...
    Programmation
    [FR] µContest
    µContest est un site de challenges de programmation, c'est à dire qu'il propose des épreu...
    Hacking
    [EN] This is legal
    Basic: 10, Realistic: 5, Programming: 1, Bonus: 11, SQL: 2, Encryption: 6, Application: 4, User Contributed: 3
    Challenges
    [FR] Root-Me
    Notre équipe se base sur un constat : à l'heure actuelle ou l'information tend à devenir...
    Hacking
    [EN] wechall
    Pour les gens n'étant pas familiers avec les sites de challenges, un site de challenges est un site propos...
    Hacking
    [FR] frameip
    le site de partage des connaissances du monde TCPIP
    Protocole
    [EN] Listbrain Version 3
    Site proposant 66 challenges présentés dans une liste mélangée.
    Challenges

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Recodons le moteur de recherche de google \o/
03-07-2013, 23h28
Message : #1
InstinctHack Hors ligne
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
{
"tags":[Info, Securité, Chatons],
"bookmarks":[
{"link":"http://n-pn.fr","tags":[1,2]}
{"link":"http://youtube.com","description":"vive les chatton","tags":[3]}
{"link":"http://security.com","tags":[2]}
]
}

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é !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
+1 (0) -1 (0) Répondre
03-07-2013, 23h34
Message : #2
Mazaki Hors ligne
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. "

+1 (0) -1 (0) Répondre
04-07-2013, 00h33 (Modification du message : 04-07-2013, 00h38 par ouestcharlie.)
Message : #3
ouestcharlie Hors ligne
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
+1 (0) -1 (0) Répondre
04-07-2013, 06h50
Message : #4
InstinctHack Hors ligne
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é !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
+1 (0) -1 (0) Répondre
04-07-2013, 07h24
Message : #5
Sh4dows Hors ligne
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 !
+1 (0) -1 (0) Répondre
05-07-2013, 00h35
Message : #6
b0fh Hors ligne
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.
+1 (2) -1 (0) Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut