2011-02-24 8 views
0

Je dois convertir un index généré par Apache Lucene en une autre représentation de collection.Apache Lucene: comment convertir un index de collection en un autre format?

J'ai actuellement une collection de documents avec de nombreux attributs.

J'ai besoin de créer des paires de documents avec des mesures de similarité, afin de les passer aux classificateurs.

Connaissez-vous un didacticiel que je pourrais utiliser pour effectuer cela?

grâce

Répondre

1

Les mesures de similarité doivent être basées sur une requête . c'est-à-dire que vous interrogez votre ensemble de documents Lucene et vous obtenez un ensemble de documents avec des scores relatifs.

Si vous voulez comparer chaque document avec tous les autres (est-ce exact? C'est difficile à dire à partir de la question) alors vous devez utiliser une caractéristique de chaque document comme base pour les requêtes. Par exemple, vous pouvez extraire les N premiers termes (par fréquence, excluant les mots vides) de chaque document. Si vous avez des documents X alors vous aurez des requêtes X. Ensuite, vous exécutez chacune de vos requêtes X sur l'index et vous obtenez des similarités relatives de chaque document avec chaque autre. C'est une matrice que vous pourriez utiliser pour la classification. Une autre alternative consisterait à utiliser le titre, ou le synopsis de chaque document comme base de la requête (encore une fois, en excluant les arrêts).

+0

Merci, vous avez parfaitement compris ce que je voulais dire. Alors, devrais-je lancer une requête pour chaque document? Successivement, je vais enregistrer les résultats dans un fichier structuré pour passer à un classificateur. – aneuryzm

+0

J'ai en fait déjà une entrée xml structurée et avec une description, des balises, des informations de géolocalisation pour chaque document. Pour la description j'utiliserai la similitude de cosinus de tf.idf, pour des géotags j'ai besoin de mettre en application la ressemblance de Harvesine. Je ne sais pas exactement comment intégrer ces métriques de similarité .. Je vais utiliser tf.idf seulement pour l'instant, ce qui devrait être mis en œuvre dans Lucene. Si vous connaissez un tutoriel ... très bien vu que je n'ai pas d'expérience avec Lucene ... – aneuryzm

+0

Oui, la fonction Scoring par défaut de Lucene utilise la similitude tdf.if et cosinus, donc vous pouvez probablement l'utiliser dès la sortie de la boîte. Vous pouvez le personnaliser cependant. http://lucene.apache.org/java/2_4_0/scoring.html et aussi voir http://lucene.apache.org/java/2_4_0/api/org/apache/lucene/search/Similarity.html – Joel

Questions connexes