XHTML.net

Technology talks by Loïc d’Anterroches

News, articles, PHP, scripts, XHTML/CSS, …

  1. Home
  2. PHP: Hypertext Preprocessor
  3. Pluf - Framework en PHP5

Moteur de recherches en PHP, amélioration avec le Porter Stemmer

The 2008-07-20 at 11:53 by Loïc d'Anterroches filed under Pluf - Framework en PHP5.

Vous avez certainement remarqué que si vous faites une recherche dans votre moteur de recherches favoris sur par exemple : cuisine ou cuisiner vous aurez les mêmes résultats. Pourquoi ? Parce que pour améliorer la recherche, votre moteur de recherches va chercher la racine du terme que vous cherchez et va ensuite cherchez toutes les pages contenant non pas le mot exactement mais les mots ayant la même racine.

En anglais, c’est le stemming d’un mot. En français, je n’ai pas trouvé de bonnes explications. Dans tous les cas c’est bien pratique, c’est d’autant plus pratique si votre corpus de documents n’est pas très important. Cela permet d’éviter de retourner un uniquement document.

Le moteur de recherches dans Pluf dispose maintenant d’un stemmer, le Porter Stemmer, cela correspondant à un code disponible sur le site de Martin Porter. Le seul inconvénient est qu’il est fait pour l’anglais, car les règles sont bien entendu dépendantes de la langue.

Il existe une extension PHP disponible, l’extension stem mais elle demande du texte encodé en latin1 en entrée, elle n’est donc pas utilisable pour Pluf qui fonctionne en utf-8. Il semble que la prochaine version sera compatible utf-8.

Le stemmer de Pluf fonctionne parfaitement avec ConfOrganizer, par exemple un auteur pourra facilement trouver tous les articles contenant les mots diffusion, diffusivity, diffuse, etc. en faisant simplement une recherche sur diffusion.

Comments from readers

Voice your ideas

It is painless and I try not to kill electrons in the process.


Your email is required but will not be shared nor displayed.


Do you think your comment will force me to write even better stuff next time? If so, you simply rock.


Logo of Plume CMS