|
Bas de page | |
---|---|
Auteur | Sujet : PHP PSQL Aide sur un moteur de recherche |
erwan83 Du Shift DEL tu te méfieras ! | Bon je sais que le code est long mais sait-on jamais....
Message édité par erwan83 le 01-04-2020 à 23:21:40 --------------- http://www.ypikay.com |
![]() Publicité | Posté le 28-03-2020 à 16:53:19 ![]() ![]() |
rufo Pas me confondre avec Lycos! | Toi, tu veux flinguer ton SGBD --------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
erwan83 Du Shift DEL tu te méfieras ! | Ha ha ha ha merci !!!
--------------- http://www.ypikay.com |
rufo Pas me confondre avec Lycos! | Tu veux faire quoi exactement au niveau fonctionnel ? Parce que vu la tronche de ta requête, ça sent la BD mal structurée --------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
erwan83 Du Shift DEL tu te méfieras ! |
rufo Pas me confondre avec Lycos! | Ok, alors c'est bien ce que je dis, la structure de ta BD n'est absolument pas adaptée.
--------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
erwan83 Du Shift DEL tu te méfieras ! |
Devil'sTiger | Aucune idée de quel est ton niveau, mais pour quelque chose comme ce que tu décris j'aurais fait:
|
erwan83 Du Shift DEL tu te méfieras ! | Pour le moment ce que je fais c'est ça:
--------------- http://www.ypikay.com |
erwan83 Du Shift DEL tu te méfieras ! | Mais maintenant ce que je vais faire, je vais casser les chaines de requete en sous groupes de mots, je vais devoir repenser les requetes car ca va peser lourd.
--------------- http://www.ypikay.com |
![]() Publicité | Posté le 01-04-2020 à 22:05:14 ![]() ![]() |
rufo Pas me confondre avec Lycos! | J'ai regardé, je pense que ta solution est une version simplifiée de l'algo LSA. Ca parle de vecteur et poids. Ca ressemble à ma solution sauf que la mienne est un peu mieux car on lemnise les mots et on affecte un poids avec le TF-idf. A la fin, on fait le produit matricielle de tX*X (où t est l'opérateur "transposée" et X la matrice qui contient en colonnes, les documents et en lignes, les mots avec leur nb d'occurrences corrigé par le TF-idf). Pour info, la dernière partie de l'algo qui consiste à faire une ACP (calcul des valeurs et vecteurs propres) n'est pas une obligation. Elle permet de diminuer la taille de la matrice en compressant l'info et en retirant le "bruit". Moi, je me suis arrêté au calcul de tX*X et ça le fait déjà bien. Ce produit permet de calculer le taux de corrélation entre les documents (donc leur proximité). A noter que le calcul de X*tX permet de calculer le taux de corrélation entre les mots. D'une certaine manière, un taux élevé peut indiquer une appartenance au même champ lexical voir indiquer un synonyme. Dans le cadre d'un moteur de recherche, ça permettrait d'étendre la recherche par mots-clés en ajoutant à cette requête des mots-clés proches de ceux saisis. --------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
erwan83 Du Shift DEL tu te méfieras ! | Fichtre...
--------------- http://www.ypikay.com |
rufo Pas me confondre avec Lycos! | Le calcul, tu peux le faire soit par un binaire écrit en C/C++ soit en SQL direct avec une table de la forme (NumLigne, NumCol, Valeur). --------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
Devil'sTiger |
Message édité par Devil'sTiger le 01-04-2020 à 23:17:07 |
erwan83 Du Shift DEL tu te méfieras ! |
Devil'sTiger | Ca c'est pour la création du bouzin (c'est un peu chiant, mais ca vaut le coup), ensuite on insere 2/3 trucs:
Message édité par Devil'sTiger le 01-04-2020 à 23:37:27 |
Devil'sTiger | Tu remarqueras dans l'exemple du dessus que facebook.com vient de l'url, mais chien vien de la description, la magie
Message édité par Devil'sTiger le 01-04-2020 à 23:35:04 |
rufo Pas me confondre avec Lycos! | Devil'sTiger, j'ai du mal à croire que Postgres intègre un algo de lemnisation pour le français. Ton exemple de chien/chienne est simple car chien est une sous-chaîne de chienne (on enlève "ne" de la fin). Mais je doute que ça marche avec un verbe conjuguer, genre irais/allé --------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
Devil'sTiger | Oh tu sais Postgres est probablement une des meilleurs BDD disponible aujourd'hui, tu peux en faire a peu pres ce que tu veux, si tu veux integrer des mots nouveaux, ou que tu n'es pas satisfait de sa lexemisation actuelle:
|
Devil'sTiger | D'ailleurs:
|
rufo Pas me confondre avec Lycos! |
--------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
Devil'sTiger | Je vois pas bien le problème... Ce sont des systèmes (tous les full text search de la planete, elasticsearch & co) taillées pour approcher la recherche d'un utilisateur au mieux avec ce qu'il y a dans la BDD, en partant du principe que le matching est jamais ultra parfait (chien vs chiennes par ex.). Ca me parait pas mal rester dans les cordes de ce que l'on attend d'une BDD, sortir la bonne info quand on lui fait une requête me parait pas etre de l'applicatif mais du B.A.BA d'un SGBD.
|
rufo Pas me confondre avec Lycos! | C'est par rapport au découpage fonctionnel et architectural de l'appli que ça me pose souci qu'un SGBD empiète sur la partie applicative. Je suis peut-être vieux jeu, mais j'aime bien pouvoir tracer des frontières bien nettes entre qui fait quoi. C'est notamment utile dans la recherche des bugs. Si un truc marche pas bien parce qu'en fait, c'est la fonction du SGBD qui est boguée, ça va compliquer les choses (oui, j'ai déjà eu le cas avec la fonction qui donnait le n° de semaine d'une date dans Mysql 3.23 --> jeu peux te dire que j'ai mis un moment à trouver que ça venait de là parce que je partais du principe que les fonctions de Mysql fonctionnaient). --------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
erwan83 Du Shift DEL tu te méfieras ! |
--------------- http://www.ypikay.com |
erwan83 Du Shift DEL tu te méfieras ! |
--------------- http://www.ypikay.com |
Devil'sTiger |
Message édité par Devil'sTiger le 03-04-2020 à 00:36:14 |
rufo Pas me confondre avec Lycos! | Pour qu'il n'y ait pas d'ambiguïté, j'ai laissé Mysql 3.23 pour un mysql bien plus récent --------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
![]() Publicité | Posté le ![]() ![]() |
Sujets relatifs | |
---|---|
PHP PSQL Encodage UTF8 encore et encore..... | PHP Impossible de Connecter à 2 BDD PSQL |
PHP : bug avec strtotime | [PHP] - Extraire chemins des fichiers mp3 dans balise audio |
Site one page, bootstrap 4 et validation PHP | [PHP] - nesbot/Carbon: diffForHumans() amène une erreur 500 |
Fonction mail() de PHP avec plusieurs serveurs SMTP | RechercheV en PHP ? |
Plus de sujets relatifs à : PHP PSQL Aide sur un moteur de recherche |