Archive pour mars 2010


 

Détection de la langue d’un texte (3)

Vendredi 26 mars 2010 par dominique
Posté dans Lucene / Solr, Technique
30 lecture(s) | 0 commentaire

javaDans un premier article sur le sujet, je décris une méthode de détection de la langue d'un texte basée sur un calcul statistique de présence de n-gram dans le texte.  Cette distribution statistique est alors comparée à des distributions types pré-calculées sur des corpus de texte dans différentes langues. La langue du texte est alors à priori celle du corpus présentant la distribution la plus proche. Comme je l'ai expliqué dans mon premier article, j’ai utilisé NgramJ, une librairie Java open source. Après différents tests avec d'autres librairies, NgramJ reste pour moi la plus efficace.

Cependant, cette méthode n'est pas fiable à 100% et NgramJ est limitée dans sa version actuelle à 26 langues détectables : Bulgare (bg), Tchèque (cz), Danois (da), Allemand (de), Grec (el), Anglais (en) Espagnol (es), Estonien (et), Finlandais (fi), Français (fr), Hongrois (hu), Islandais (is), Italien (it), Lituanien (lt), Letton (lv), Maltais (mt) , Néerlandais (nl), Norvégien (no), Polonais (pl), Portugais (pt), Roumain (ro), Russe (ru) , Slovaque (sk), Slovène (sl), Suédois (sv) et Thaï (th).

Je voudrais proposer 2 pistes pour améliorer NGramJ : la fiabilité de la détection et le nombre de langues détectables.

Lire la suite »


Tika 0.6 : compilation et dépendances

Jeudi 11 mars 2010 par dominique
Posté dans Lucene / Solr, Technique
104 lecture(s) | 2 commentaires

tikaTika est une librairie Java qui a pour but l’extraction du texte de toutes sortes de formats de fichiers : PDF, office,  html, … (la liste complète est disponible ici). Afin d’utiliser cette librairie dans vos projets java, il faut en récupérer les sources, les compiler et également récupérer les librairies dont dépend Tika. Voici la procédure à suivre ainsi qu’une astuce pour palier à un problème de compilation.

Lire la suite »


Indexation multi-lingues avec Lucene et Solr

Mardi 9 mars 2010 par dominique
Posté dans Lucene / Solr, Moteur de recherche
130 lecture(s) | 0 commentaire

solrUn des challenges lors du passage de Fast ESP à Solr pour le moteur Hurisearch a été de pouvoir indexer et rechercher des documents dans un très grand nombre de langues. Plus de 60 langues sont répertoriées avec par exemple par ordre décroissant d’importance : Anglais, Espagnol, Français, Allemand, Flamand, Russe, Arabe, Slovène, Hébreux, Persan (Farci), Coréen, Tchèque, Chinois, Norvégien, Japonais, Roumain, Catalan, Hongrois, Géorgien, …

Lucene et différentes contributions permettent de disposer d’analyzer et même de « stemmer » pour un grand nombre de ces langues. Avec Solr, le seul moyen pour associer le bon analyzer à chaque langue est d’avoir autant de champs dans le shema qu’il y a de langues possibles et d’associer à chaque champ le bon analyzer. Pour Hurisearch, cela aurait donc fait 60 champs pour le contenu des documents et 60 champs pour les titres. L’autre problème dans ce cas est également de ne pas pouvoir chercher lors d’une même requête dans la totalité des langues  simultanément. Autant dire que ces contraintes et limitations ne sont pas acceptables.

Lire la suite »


Crawl Anywhere : un crawler Web pour Solr

Dimanche 7 mars 2010 par dominique
Posté dans Lucene / Solr, Moteur de recherche
179 lecture(s) | 1 commentaire

solrDans le cadre du remplacement de Fast ESP par Solr pour le moteur Hurisearch, un crawler Web était nécessaire. Le but d'un crawler web est à partir d'une adresse Web de découvrir et récupérer toutes les pages d'un site. Un tour d'horizon de ce qui existe en la matière à fait ressortir une liste réduite de candidats : Nutch, Apache Droids et Heritrix.

  • Nutch (bien que faisant partie de la famille Lucene) ne semble de pas être un projet très actif et son intégration à Solr est peu aisée malgré quelques efforts récents.
  • Apache Droids semblait prometteur, mais lui non plus n'est plus actif depuis plus d'un an.
  • Heritrix est de loin de plus poussé de ces 3 crawlers et est un projet actif.

Heritrix semblait être le bon choix, mais entre autres lacunes, il ne possède pas d'interface Web d'administration et de monitoring "user friendly". Ce point étant crucial dans le cadre du projet Hurisearch, nous avons décidé de développer notre propre crawler Web que nous avons baptisé : "Crawl Anywhere". Ce nom peut paraitre prétentieux, mais pouvoir crawler tous types de sources est un réel objectif. De plus, trouver un nom disponible et encore plus un nom de domaine n'est pas chose aisé.

Lire la suite »


Upgrader Lucene dans Solr 1.4

Dimanche 7 mars 2010 par dominique
Posté dans Lucene / Solr, Moteur de recherche
113 lecture(s) | 0 commentaire

solrSolr 1.4 utilise Lucene 2.9.0 et depuis sa sortie en novembre 2009, des mises à jours de Lucene sont disponibles. La dernière version de ce dernier est la 2.9.2. Afin de bénéficier de ces mises à jours dans Solr, il est possible de patcher le fichier solr.war.

Lire la suite »



A propos

Je suis informaticien indépendant. J'interviens principalement dans les domaines de la gestion documentaire et des moteurs de recherches. Ce blog me permet de partager des informations techniques découvertes au cours de mes différents projets ou lors de mes lectures sur le Web.

Dominique - www.eolya.fr

Optimisez la lecture de vos blogs et sites d'information préférés

Crossfeeds est un service Web de mixage et de filtrage de flux RSS. Crossfeeds dispose d'une base de 600.000 flux et offre des fonctionnalités de recherche dans les flux et d'alertes par emails.

http://www.crossfeeds.fr/