Red de conocimientos turísticos - Guía para elegir días propicios según el calendario chino - ¿El Centro de capacitación en programación de software informático Xuchang Carp IT le permite comprender los principios de búsqueda en cinco minutos?

¿El Centro de capacitación en programación de software informático Xuchang Carp IT le permite comprender los principios de búsqueda en cinco minutos?

1. Información y volumen de información

Antes de introducir la búsqueda, introduzcamos dos conceptos: volumen de información y volumen de información.

(Utilizo explicaciones que creo que son fáciles de entender. Si estás interesado, puedes leer libros relevantes).

1.1 La información es algo que reduce la incertidumbre y la información también aumenta. certeza.

La primera mitad de la oración es la definición de información de Shannon y la segunda mitad de la oración es la definición de información de Shannon inversa. Por ejemplo, piense en el proceso de interactuar con una persona del sexo opuesto. Antes de conocerlo, no sabes que esa persona existe en este mundo. Más tarde viste cómo era. Más tarde conocerás su personalidad, mantra y eventos pasados. Luego, paso a paso, no sabes nada sobre ellos y poco a poco te vas familiarizando con ellos. Este período es el proceso en el que usted continúa obteniendo información de TA. Es esta información la que te hace sentir completamente inseguro de quién es y completamente seguro de que es adecuado para ti.

1.2 La cantidad de información es una medida de cómo la información puede reducir la incertidumbre, y la cantidad de información también es una medida de cómo la información puede aumentar la certeza.

Existen muchas descripciones matemáticas de la cantidad de información, pero en general se puede entender de forma muy sencilla. Por ejemplo, un testigo describe a un sospechoso. El mensaje de un testigo es "Él es un ser humano". La información del testigo B es "TA es un chico de secundaria", la información del testigo C es "TA es un estudiante de secundaria, con cabello largo de unos 170 cm". El mensaje del testigo d es "Lo conozco, él es Chen Haonan, el hombro del". escuela." Sentimos intuitivamente la relación entre la cantidad de información: a

La proporción de hombres locales es 50, la proporción de chicos de secundaria locales es 8, la proporción de chicos de secundaria locales con cabello largo es de aproximadamente 170 es 4, el pañuelo local se llama Chen Haonan La proporción es 0,0001. Debido a que P(A)>P(B)>P(C)>P(D), la relación entre la cantidad de información es: a

2 Lógica del producto de búsqueda

Búsqueda Satisface la necesidad de los usuarios de encontrar rápidamente contenido de interés. El usuario ingresa una consulta y el sistema de búsqueda filtra el contenido que el sistema cree que le interesa al usuario en función de la información ingresada por el usuario y lo muestra en orden de acuerdo con la importancia identificada por el sistema. Por favor preste atención a esta expresión. En definitiva, la búsqueda se puede dividir en tres pasos.

Paso 1: Interpretación de la información ingresada por el usuario

Paso 2: Filtrar el contenido según la información ingresada por el usuario.

Paso 3: Ordenar los resultados filtrados.

Para entender cómo se completan estos tres pasos en el sistema de búsqueda, primero necesitamos saber cómo el servidor de búsqueda almacena la información.

3. Principios de almacenamiento de los datos de búsqueda

En la figura anterior, suponiendo que hemos creado un sitio web de noticias, su estructura es la siguiente. Se simplifica el contenido, asumiendo que una noticia sólo tiene título, introducción y texto principal. Los datos son solo la cantidad de lecturas, comentarios y acciones compartidas.

Figura 1-1

Es casi la estructura del lado derecho de la imagen de arriba. A la derecha está el almacenamiento de contenido de noticias: al igual que los libros en una biblioteca, cuidadosamente ordenados en un orden que es fácil de encontrar (el nombre de esta estructura de almacenamiento se llama índice, que proviene del lenguaje de la biblioteca). A la izquierda está el tesauro: siempre que una palabra de entrada de búsqueda coincida con el tesauro, puede encontrar rápidamente el contenido correspondiente al tesauro.

Cada sistema de búsqueda tiene su propio léxico, y las acciones de búsqueda que no puedan corresponderse con la segmentación de palabras no arrojarán resultados. Cada sistema de búsqueda tendrá un léxico correspondiente basado en diferentes usuarios objetivo, como un diccionario. Las entradas del Diccionario metalúrgico y del Diccionario biológico son diferentes, y los tesauros de Zhihu y Taobao también son diferentes. Muchas optimizaciones de búsqueda se centran en la optimización del léxico.

Para resumir brevemente, el principio de almacenamiento de la búsqueda es: un léxico sistemático, una base de datos de índice de contenido ordenada y el léxico del sistema y la base de datos de índice de contenido se pueden asociar rápidamente.

Según la estructura de almacenamiento de este sistema de búsqueda, los tres pasos de búsqueda que mencionamos se realizarán en secuencia.

4. Paso 1: Interpretación de la información ingresada por el usuario

Como se mencionó anteriormente, el vocabulario de búsqueda es limitado, pero la entrada del usuario es ilimitada.

Entonces, ¿cómo convertir la búsqueda ilimitada en un vocabulario limitado y hacer coincidir los resultados correspondientes? Aquí es necesario introducir un nuevo concepto: segmentación de palabras, que simplemente significa dividir la cadena de entrada.

Tome también como ejemplo el sistema de búsqueda de noticias de la Figura 1-1. Si la consulta ingresada por el usuario es "alimentos genéticamente modificados de China", esta palabra en realidad no existe en el sistema. Si no hay una función de segmentación de palabras, la búsqueda finalizará inmediatamente incluso si hay el contenido correspondiente en el sistema. El principio de funcionamiento de la segmentación de palabras es dividir aún más la entrada del usuario cuando no se puede hacer coincidir con precisión. Entonces obtuvimos los siguientes resultados.

Alimentos genéticamente modificados en China – China, Alemania, alimentos genéticamente modificados.

No todas las palabras tienen información. Si recuerda el resultado de "obtener", lo encontrará en casi todos los contenidos de noticias. Evidentemente es un error recordar tantos resultados. Por ejemplo, la palabra "的" en esta consulta se ignorará directamente en el sistema de segmentación de palabras. Solo porque la probabilidad de aparecer en el contenido es diferente, cuantas más noticias aparezca una palabra, menos información contiene. Se ignorarán las palabras con muy poca información, es decir, las palabras vacías. Al mismo tiempo, cobrarán mayor importancia los contenidos informativos con un gran número de palabras. Luego, los resultados se simplifican aún más después de eliminar las palabras vacías.

"Alimentos genéticamente modificados en China" - "China", "OGM", "Alimentos".

Después del procesamiento, la consulta no estándar del usuario se convierte en un vocabulario estándar, de modo que el contenido correspondiente se pueda encontrar rápidamente. Como se muestra en la Figura 1-1.

5. Paso 2: Filtrar el contenido según la información ingresada por el usuario.

Después de la interpretación de la consulta del usuario, obtuvimos algunas palabras estandarizadas, que corresponderán a algún contenido objetivo de búsqueda y luego filtraremos el contenido.

El usuario buscó y encontró algunos resultados. Luego, todo el contenido se dividió en cuatro partes según las dos dimensiones de "si el contenido es relevante" y "si el contenido es recuperable".

Recuperar contenido relacionado: la parte del contenido buscado que está relacionada con la búsqueda del usuario.

Contenido irrelevante recuperado: la parte del contenido buscado que es irrelevante para la búsqueda del usuario.

Contenido relacionado que no ha sido recuperado: la parte del contenido relacionado con la búsqueda del usuario que no ha sido buscada.

Contenido irrelevante que no ha sido recordado: la parte de contenido que no ha sido buscada y no tiene nada que ver con la búsqueda del usuario.

En términos generales, la decisión de filtrar se medirá desde dos perspectivas: precisión y recuperación.

La precisión es la proporción de contenido relevante entre todo el contenido buscado. Precisión:

La recuperación es la proporción de todo el contenido que se debe buscar. Recuerde:

La precisión y la recuperación son métricas contradictorias. Se requiere una compensación. La medición final tomará como función objetivo la media armónica de 2. Es decir, valor f:

Estos tres conceptos son indicadores clave de la optimización de la búsqueda, que implican puntuación manual y una optimización más avanzada. No más aquí. Sólo debemos recordar una cosa: no se deben recuperar todos los resultados que contienen las palabras clave de consulta del usuario.

6. Paso 3: Ordenar los resultados filtrados.

La clasificación afecta la calidad de los resultados de búsqueda. Cuanto más altos sean los resultados, más fácil será para los usuarios hacer clic. Una buena búsqueda no es sólo buscar el contenido que se debe buscar tanto como sea posible, sino también considerar el contenido que tiene más probabilidades de atraer usuarios y mostrarlo al frente.

La lógica básica del ranking de búsqueda es universal:

El texto ingresado por el usuario se convierte en palabras en un vocabulario estándar y el sistema de búsqueda determina si cada contenido específico contiene estas palabras. Ya sea para mostrar este contenido y, al mismo tiempo, el sistema de búsqueda califica el contenido que se mostrará en función de la relevancia del texto. La clasificación final se basa en la puntuación de cada contenido.

El principio de la fórmula de clasificación central de Lucene se presenta en línea. Pero la situación real es en realidad más complicada. Tomemos como ejemplo el sistema de búsqueda de noticias mencionado anteriormente (para facilitar la comprensión, publicaré la imagen nuevamente)

Si un usuario busca "OGM", entonces si el texto GMO aparece en el título , introducción o texto, la puntuación deberá ser diferente. Obviamente, debería haber una puntuación más alta en la pregunta. También se deben considerar los datos comerciales.

Por ejemplo, una publicación con 65438 millones de visitas es más relevante que una publicación con 3 vistas, pero obviamente la publicación con 65438 millones de visitas debería estar al frente.

De hecho, todos los datos se pueden dividir en dos categorías, texto y datos. El texto se utiliza para calcular la relevancia del contenido y esta parte de la puntuación se entrega al algoritmo maduro de Lucene. También existen soluciones de código abierto consolidadas en el mercado. Cómo manejar la relación entre texto y datos es una parte central del diseño de un sistema de búsqueda.

Tome el sistema Solr basado en Lucene como ejemplo. El código de configuración de texto y datos es realmente muy simple. En < str name="bf " >y

ltstr name="bf " >los datos comerciales reciben pesos.

ltstr name="qf">A los datos de texto se les asignan pesos.

Después de estudiar el mecanismo del sistema Solr, deformamos la fórmula central de Solr y obtuvimos una fórmula:

Indica el peso de la puntuación del texto que le damos al texto. Por ejemplo, existen tres tipos de texto en este sistema: título, introducción y cuerpo. Según la importancia, al título se le asigna un peso de 10, a la introducción se le asigna un peso de 5 y al texto principal se le asigna un peso de 1.

Representa la puntuación de relevancia del texto dada por el algoritmo de Lucene para el texto. Esto tendrá en cuenta la cantidad de palabras en el texto, la probabilidad de que el término de búsqueda aparezca en todos los textos y otros factores (los estudiantes que quieran saber más sobre los principios pueden leer la introducción a TF-IDF y la similitud del coseno).

Representa el peso de los datos que asignamos a los datos. Por ejemplo, este sistema tiene tres tipos de datos: número de comentarios, número de compartidos y número de lecturas. Según la importancia, el peso del comentario del título es 100, el peso de la acción es 200 y el peso de la lectura es 1. (Generalmente se introduce una caída de tiempo, que no se discutirá aquí por ahora)

Representa un valor específico de los datos. Por ejemplo, este sistema tiene tres tipos de datos: número de comentarios, número de compartidos y número de lecturas.

Representa el coeficiente normalizado, lo que significa que se puede dar una gran ponderación y la puntuación total final estará dentro de un rango razonable.

Esta vez se juzga en función de indicadores algorítmicos. Esta puntuación representa la cantidad de información proporcionada por la consulta de entrada del usuario. Si la consulta de entrada proporciona más información, s será más grande.

Aumentar y permanecer sin cambios El coeficiente anterior permanece sin cambios y el coeficiente anterior aumenta. Cuanto mayor sea la contribución de los datos de texto a la puntuación general, mayor será el peso de los datos de texto en relación con los datos comerciales. Por ejemplo, si ingresa "Congestión de tráfico del Día Nacional de Beijing", "Congestión de tráfico del Día Nacional de Beijing" proporciona más información al sistema que "Congestión de tráfico del Día Nacional de Beijing". Cuanto mayor sea el valor de S, mayor será la puntuación del texto en la puntuación total.

Así que podemos ver que lo que finalmente afecta al ranking es el peso que le damos a los datos de texto y a los datos comerciales, es decir, el peso que le damos al texto y el peso que le damos a los datos.

Estos dos conjuntos de datos afectan la clasificación final de la búsqueda, y el valor asignado a este conjunto de datos es la comprensión del negocio por parte del sistema de búsqueda.