2010-01-09 21 views
6

¿Ustedes saben dónde puedo encontrar un diagrama de diseño del analizador del motor de búsqueda? Necesito entender cómo procesa la entrada del usuario. ¿Qué funciones/algoritmos se están utilizando? condiciones etc.Diagrama de flujo del analizador del motor de búsqueda

No tiene que ser de Google.

pregunta actualizado para los motores de búsqueda analizador

Respuesta

6

Se necesita una mejor comprensión acerca de los motores de búsqueda en primer lugar. Normalmente hay

1) un rastreador web, algo que obtiene los documentos que desea agregar a su espacio de datos de búsqueda. Esto generalmente está totalmente fuera del alcance de lo que usted llama "motor de búsqueda".

2) un analizador que está tomando el documento y dividiéndolo en fragmentos de texto indexables. Si generalmente funciona con diferentes formatos de archivo, lenguajes humanos y está preprocesando el texto en tal vez algunos registros fijos y texto de flujo. Algoritmos lingüísticos (como stemmers, búsqueda de Porter Stemmer para obtener uno simple) también se aplican aquí.

3) Un indexador que podría ser tan simple como una lista invertida de palabras por documento o tan complejo como desee si intenta ser tan inteligente como google. Crear un índice es la parte realmente mágica de un motor de búsqueda exitoso. Usualmente hay múltiples algoritmos de clasificación que se juntan.

4) La interfaz con un lenguaje de consulta opcional. Aquí es donde Google es realmente malo, pero como se puede ver en el éxito de Google, podría no ser tan importante para el 98% de las personas. Pero realmente extraño esto.

Creo que está pidiendo (3) el indexador. Básicamente hay 2 tipos diferentes de algoritmos que se encuentran en la literatura clásica de recuperación de información. Modelo de espacio vectorial y búsqueda booleana. Lo último es fácil, solo verifica si las palabras de búsqueda están dentro del documento y devuelve un valor booleano. A cada término de búsqueda se le puede dar una probabilidad de relevancia. Y para diferentes términos de búsqueda, puede usar la probabilidad bayesiana para resumir los cambios y agregar los documentos con la clasificación más alta. El modelo vectorial trata un documento como un vector de todas sus palabras. Puede construir un producto escalar vectorial entre documentos para juzgar si están muy juntos: esta es una teoría mucho más compleja. El padre de IR (recuperación de información) fue Gerald Salton, encontrará mucha literatura bajo su nombre.

Este fue el estado del arte IR hasta 1999 (escribí mi tesis de diploma sobre un motor de búsqueda de noticias usenet en 1998). Entonces llegó Google y toda la teoría entró en la papelera de la estupidez académica y la práctica irrelevante.

Google no se basó en la teoría IR convencional. Lea en el enlace que Srirangan le dio al respecto. Es solo una función ad vack relevanz basada en muchas fuentes diferentes. No encontrará nada en esta área además del white paper marketing blablabla. Estos algoritmos son el secreto comercial y capital de las compañías de motores de búsqueda.

Para los motores de búsqueda simples mire en la biblioteca de lucence o en dtsearch, que siempre fue mi elección para una biblioteca de motor de búsqueda incrustable.

No hay mucho código de ejemplo ni información disponible en el mundo de código abierto sobre la tecnología IR. La mayoría de ellos como lucense están simplemente implementando las operaciones más primitivas.Tienes que comprar libros e ir a la biblioteca de una universidad para tener acceso a la literatura de investigación.

Como la literatura i recomendaría empezar con este libro link text alt text http://ecx.images-amazon.com/images/I/41HKJYHTQDL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg

+0

@Lothar gracias por la respuesta muy detallada. ¿Conoces algún buen artículo o libro sobre analizadores sintácticos? ¿En qué se diferencia el texto de análisis de un compilador al analizar un lenguaje de programación? – forme

+0

Está bien si realmente desea el procesamiento lingüístico del lenguaje natural, debe leer "http://www.amazon.com/Natural-Language-Processing-Python-Steve/dp/0596516495/ref=cm_cr_pr_sims_t" y/o el libro "Procesamiento de texto" en Python ". Esto le dará suficiente conocimiento básico para encontrar los términos de búsqueda correctos para google o más literatura. Lamentablemente, las cosas más interesantes no están disponibles en línea. – Lothar

+0

Soy curioso ahora :) (ir a la biblioteca de la universidad local ...) – forme