2009-06-16 6 views
6

Estoy buscando comentarios sobre qué analizador utilizar con un índice que tenga documentos de varios idiomas. Actualmente estoy usando el analizador simple, ya que parece manejar la mayor cantidad de idiomas. La mayoría de los documentos que se indexarán serán en inglés, pero también se indexará el idioma ocasional de doble byte.Mejor analizador de lenguaje cruzado para utilizar con el índice de lucene

¿Hay alguna otra sugerencia o debería seguir con el analizador simple?

Gracias

Respuesta

1

SimpleAnalyzer realmente es simple, lo único que hace es minúscula los términos. Pensé que el StandardAnalyzer daría mejores resultados que SimpleAnalyzer incluso con datos en otros idiomas. Quizás podría mejorarlo ligeramente al proporcionar una lista personalizada de palabras de finalización además de las palabras en inglés predeterminadas.

2

He usado el StandardAnalyzer con palabras que no están en inglés y funciona bien. Incluso trata con caracteres acentuados. Si el idioma es CJK (chino, japonés, coreano), ruso o alemán, puede tener problemas, pero sospecho que la mayoría de los problemas estarán relacionados con la derivación de palabras. Si no tiene habilitado el tallo, probablemente sea adecuado.

6

De su descripción, supongo que tiene documentos de varios idiomas, pero cada documento tiene texto en un solo idioma.

Para este caso, puede utilizar la identificación de idioma de Nutch para obtener el idioma del documento. Luego usa el analizador de idioma respectivo para indexar. Para obtener los resultados correctos para la búsqueda, debe aplicar la identificación del lenguaje a la consulta de búsqueda y usar ese analizador.

Lo bueno aquí es que podrá usar palabras clave específicas del lenguaje &, lo que aumentará la calidad de la búsqueda. La sobrecarga adicional durante la indexación debería ser aceptable. Sin embargo, las consultas de búsqueda en las que la identificación del lenguaje no identifica el idioma correcto pueden verse afectadas. Lo he usado hace un par de años y los resultados fueron mejores de lo esperado.

Para CJK, puede aplicar una técnica similar pero las herramientas pueden ser diferentes.

+0

Me gustan sus sugerencias también, más avanzadas, pero podría migrar a esto. Ofrece un excelente equilibrio. – Halirob

0

En primer lugar, debería encontrar que ¿cuál es su idioma? Por ejemplo, mis documentos están en inglés, japonés o persa. Puede encontrar el idioma de su documento por proceso en caracteres UTF-8.

Luego, cuando encuentre que su documento está en ese idioma, puede analizarlo con el analizador específico .

1

Evidencia puramente anecdótica, pero utilizamos una versión (personalizada, pero no de forma pertinente) de StandardAnalyzer para nuestro sistema. Nuestros documentos pueden no solo estar en diferentes idiomas entre sí, sino que los documentos pueden contener fragmentos de diferentes idiomas (por ejemplo, imagine un artículo escrito en japonés con comentarios en inglés), por lo que el rastreo de idioma es difícil.

La mayoría de nuestros documentos están en inglés, pero hay números significativos en chino y japonés, con un número menor en francés, español, portugués y coreano.

Resultado final? Usamos StandardAnalyzer, y tenemos muy pocas quejas de personas que usan el sistema en idiomas no romanos sobre la forma en que funciona nuestra búsqueda. Por cierto, nuestro sistema es un tanto 'impuesto' a sus usuarios, por lo que no es como si la gente no se estuviera quejando sino moviéndose a otra parte; si no están contentos, generalmente lo sabemos.

Basado en el hecho de que no me invaden las quejas de los usuarios (muy ocasionales, sobre todo sobre chino, pero nada serio y se explican fácilmente) parece ser "lo suficientemente bueno" para muchos casos.

1

La respuesta correcta depende de su idioma principal (si corresponde).

Para obtener el mejor rendimiento IR en varios idiomas, utilizaría un analizador de 4/5 gramos, que ha demostrado funcionar muy bien en muchos idiomas. Incluso podría funcionar mejor que SimpleAnalyzer para inglés también. Ver http://www.eecs.qmul.ac.uk/~christof/html/publications/inrt142.pdf por ejemplo.

I have looked into this, pero desde otro ángulo. Parece que no hay un analizador general: cada idioma necesita su propio enfoque para obtener los mejores resultados.

Cuestiones relacionadas