Moteur de recherche / Traitement Automatique du Langage

Eléphant du PHP | 299 Messages

09 juil. 2009, 15:57

Bonjour,

Souhaitant intégrer un petit moteur de recherche dans mon site, j'aimerais le rendre plus pertinent en utilisant le Traitement Automatique du Langage... (Pour la génération de mes mots cles)

Je ne trouve pas de bibliothèque proposant ce genre de services... En connaissez-vous ou dois-je me limiter à des traitements basiques fait avec mes petites mains ?

Merci à vous :)

ViPHP
ViPHP | 4039 Messages

09 juil. 2009, 16:06

Et quels méthodes compte tu exploiter ? Tu as fait un tour du côté de la recherche textuelle de MySQL ?
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 299 Messages

09 juil. 2009, 22:52

Alors ce que je veux faire c'est radicaliser des mots. Je m'explique. Sur mon site, beaucoup de pages auront des mots clés liées. Avant de sauvegarder ces mots, j'aimerais les traiter de facon à n'indexer qu'une racine commune pour des mots d'une meme famille. Le but est qu'une recherche sur "jeu", "jeux", "antijeu"... aboutisse sur un même résultat.

Le traitement automatique du langage permet des choses bien plus poussée (retirer la conjugaison, les accords, les pluriels) et j'aurais beaucoup aimé pouvoir profiter d'une classe faisant deja tout ca :)

ViPHP
ViPHP | 4039 Messages

10 juil. 2009, 09:44

Tu peux t'appuyer sur des moteurs de recherche open-source déjà existants, comme sphinx ou xapian, si ce qu'offre mysql ne suffit pas. Ou bien te lancer dans une étude approfondie des moteurs du fonctionnement d'un vrai moteur de recherche, et t'en concevoir un sur mesure.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 299 Messages

10 juil. 2009, 18:37

Le but était de gagner du temps en évitant de tout me faire :( Bizare que je sois le premier à en avoir besoin quand même...

ViPHP
ViPHP | 5924 Messages

10 juil. 2009, 20:05

Regarde si tu peux pas trouver un résultat d'une équipe de recherche qui aurait implémenté ça.

ViPHP
ViPHP | 4039 Messages

10 juil. 2009, 20:13

Le but était de gagner du temps en évitant de tout me faire :( Bizare que je sois le premier à en avoir besoin quand même...
Bah non, c'est existe, ce que tu décris c'est du "stemming". Le moteur de recherche fulltext interne de Mysql ne le fait pas

Il y à bien des plugins qui semblent le faire [1], mais bon.

Sphinx[2], qui est un moteur de recherche très lié à MySQL, inclut le stemming, mais seulement en russe et en anglais, ceci dit, il devrait y avoir moyen d'y ajouter le français, voir le trouver quelque part sur le net.

Ce que tu demandes existe, mais pas pas sur mesure, avec un peu d'huile de coude.



[1] http://www.mnogosearch.org/doc/msearch-udmstemmer.html
[2] http://en.wikipedia.org/wiki/Sphinx_(search_engine)
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 299 Messages

10 juil. 2009, 21:28

Tu as tout à fait cerné mon problème. Je vais faire plus de recherches sur stemming... Je ne trouvais plus le mot.

Merci :)

EDIT : Voilà peut être une piste : http://alx2002.free.fr/utilitarism/stem ... er_fr.html

ViPHP
ViPHP | 4674 Messages

11 juil. 2009, 09:27

Hey :-),

L'implémentation de ce genre d'algorithme se fait très bien pour une langue donnée, sur une petite quantité de données. Mais dès qu'on passe à des recherches plus générales, ça devient éprouvant. Je te conseille donc d'utiliser des outils tout fait, car c'est bien plus complexe qu'il n'y paraît.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphant du PHP | 299 Messages

11 juil. 2009, 10:56

Ben ca c'est une implantation FR et EN qui a l'air de marcher ... Si tu en connais une mieux, je suis preneur :)

ViPHP
ViPHP | 4674 Messages

11 juil. 2009, 12:14

Je ne parlais pas de l'algorithme que tu as trouvé. En revanche, je développerais ça au maximum côté serveur de base de données (car c'est fait pour ça après tout), plutôt que côté serveur applicatif (comprendre PHP). Performances obligent.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphant du PHP | 369 Messages

11 juil. 2009, 16:41

Bonjour,
Souhaitant intégrer un petit moteur de recherche dans mon site, j'aimerais le rendre plus pertinent en utilisant le Traitement Automatique du Langage... (Pour la génération de mes mots cles)
Je ne trouve pas de bibliothèque proposant ce genre de services... En connaissez-vous ou dois-je me limiter à des traitements basiques fait avec mes petites mains ?
Merci à vous :)
Salut, je m'incruste un brin espérant te donner une info.

De mon côté je parlerai de "System expert" du temps de "logo" celui-ci en inté"grait un.
J'ai de suite pensé à ca lors de la lecture de ta demande. La gestion se fait un peu à la maniere
de dico et ce de façon très simple.

1) Mots choisis et associés
2) Mots ignorés
3) Mot inconnus - Mots que tu peux intégrer de façon automatique à l'1 des 2 groupes précédents

Je n'ai pas vraiment de réponse concrête mais je pense que ca peut être une piste.

Bon code @+ ;)

EDIT: http://fr.wikipedia.org/wiki/Syst%C3%A8me_expert
Modifié en dernier par FuZZyLine le 12 juil. 2009, 13:56, modifié 1 fois.

Eléphant du PHP | 299 Messages

11 juil. 2009, 19:21

Je ne parlais pas de l'algorithme que tu as trouvé. En revanche, je développerais ça au maximum côté serveur de base de données (car c'est fait pour ça après tout), plutôt que côté serveur applicatif (comprendre PHP). Performances obligent.
En fait, je laisse mes membres proposer les mots cles associés à leur article/contenu... Cependant, pour obtenir plus de résultat lors d'une recherche j'ajoute parfois le titre de l'article ou d'autres mots clef et le tout est filtré par un système permettant de réduire le nombre de mots différents qui sont indexés. D'ou le traitement en php...

Eléphant du PHP | 217 Messages

12 juil. 2009, 10:25

Bonjour,
si tu as le choix de la base de données utilisées alors choisi postgres qui, il me semble, permet cela en natif.
Voir http://docs.postgresqlfr.org/8.3/textse ... aries.html

ps: peux pas mettre en forme le lien, suis sur le mac de ma copine et je trouve rien sur le clavier :D

ViPHP
ViPHP | 5924 Messages

12 juil. 2009, 12:36

ps: peux pas mettre en forme le lien, suis sur le mac de ma copine et je trouve rien sur le clavier :D
Mouhahahaha, tu es faible :D

Code : Tout sélectionner

[url]
et

Code : Tout sélectionner

[/url]
En plus tu as les boutons au dessus :)

Et même

Code : Tout sélectionner

@&é"'(§è!çà)-Ÿ´„”’[å»ÛÁØ]–ÆÅÊ‚™ŸªïŒ∏Ô¥Ω∑∆flÎÍË|Ó‰#≥›⁄¢√∫ı¿•\±<,;:=ù`^$#°_¨*%£?./+
(Le Mac est trop fort :) )