Me gustaría obtener algunas frases frecuentes con Lucene. Estoy obteniendo información de los archivos TXT, y estoy perdiendo un montón de contexto por no tener información para frases, p. Ej. La "recuperación de información" está indexada como dos palabras separadas.Cómo obtener frases frecuentes con Lucene
¿Cuál es la manera de obtener frases como esta? No puedo encontrar nada útil en internet, ¡todos los consejos, enlaces, sugerencias, especialmente ejemplos son apreciados!
EDIT: almaceno mis documentos simplemente por título y contenido:
Document doc = new Document();
doc.add(new Field("name", f.getName(), Field.Store.YES, Field.Index.NOT_ANALYZED));
doc.add(new Field("text", fReader, Field.TermVector.WITH_POSITIONS_OFFSETS));
porque por lo que yo estoy haciendo lo más importante es el contenido del archivo. Con demasiada frecuencia, los títulos no son descriptivos en absoluto (p. Ej., Tengo muchos documentos académicos PDF cuyos títulos son códigos o números).
Necesito desesperadamente indexar las frases más frecuentes del contenido del texto, ahora mismo veo cuánto no es eficiente este simple enfoque de "bolsa de palabras".
Sí, exactamente, lo que necesito es ngrams .... Tenía la esperanza de no tener que entrar demasiado en NLP:/... pero puedo preguntarte por favor antes de irme. en este capítulo del libro, si utilizo las herramientas que me recomendó (y si lo hago de todos modos), los ngrams se encuentran durante el tiempo de búsqueda, ¿no durante el tiempo de indexación? ¿Puedo obtener como resultado final un índice con índices indexados? y ngrams frecuentes? Porque estoy haciendo una coincidencia de conceptos con la ontología, y sería la mejor solución para tenerlo de esa manera (si es posible, por supuesto) Thanx! – Julia
+1 para reconocer correctamente el problema m ... :) – Favonius
@Julia: Creo que puede aplicar ShingleFilterFactory durante la indexación. Y tal vez puedas usar Luke (http://wiki.apache.org/solr/LukeRequestHandler) para ver los resultados. Espero que ahora tengas lo suficiente como para ponerte en marcha. –