La película en la que había tierra. Investigación de Yandex y una breve historia de búsqueda por significado

A veces las personas recurren a Yandex para encontrar una película cuyo nombre salió de sus cabezas. Describen la trama, escenas memorables, detalles vívidos: por ejemplo, [cómo se llama la película en la que un hombre elige una pastilla roja o azul]. Decidimos estudiar las descripciones de las películas olvidadas y descubrir qué es lo que más recuerdan las personas en las películas.

Hoy no solo compartiremos un enlace a nuestra investigación , sino que también hablaremos brevemente sobre cómo evolucionó la búsqueda semántica de Yandex. Aprenderá qué tecnologías ayudan a la búsqueda a encontrar la respuesta, incluso cuando es simplemente imposible formular la solicitud exacta.

Y también agregamos controles deslizantes de acertijos con ejemplos de solicitudes de personas reales: siéntase como un motor de búsqueda e intente adivinar la respuesta.


Todos los motores de búsqueda comenzaron con una búsqueda de palabras. Yandex ya al principio pudo tener en cuenta la morfología del idioma ruso, pero seguía siendo la misma búsqueda de palabras de una consulta en las páginas de la red. Mantuvimos listas de todas las páginas conocidas para cada palabra. Si la solicitud contenía una frase, era suficiente para cruzar las listas de palabras: aquí está la respuesta. Funcionó muy bien en aquellos días cuando había pocos sitios, y la cuestión de la clasificación aún no era tan aguda.

Runet desarrollado, los sitios se hicieron más y más. Se agregaron dos factores más al factor de cruce de palabras. Por un lado, los propios usuarios nos ayudaron. Comenzamos a considerar qué sitios y para qué consultas eligen. No hay una coincidencia exacta de palabras, pero ¿resuelve el sitio el problema humano? Esta es una señal útil. Por otro lado, los enlaces entre sitios que ayudaron a evaluar la importancia de las páginas fueron al rescate.

Tres factores son muy pocos. Especialmente cuando a menudo son probados por los talentosos optimizadores de motores de búsqueda. Pero digerir más a mano era difícil. Y aquí comenzó la era del aprendizaje automático. En 2009, presentamos Matrixnet basado en el aumento de gradiente (más tarde esta tecnología formó la base de la biblioteca de código abierto más avanzada CatBoost ).

Desde entonces, ha habido más y más factores, porque ya no tenemos que buscar relaciones entre ellos manualmente. Un auto lo hizo por nosotros.

Para la historia de todos los cambios posteriores en la Búsqueda, no solo la publicación, sino también los libros serán suficientes, por lo que intentaremos centrarnos en los más significativos.


La clasificación no es solo una comparación de palabras de consulta y página durante mucho tiempo. Dos ejemplos

En 2014, presentamos la tecnología de anotación de documentos con consultas características. Supongamos que en el pasado hubiera una solicitud [una serie de Brasil sobre el rey de la carne], para la cual ya se conoce una buena respuesta. Luego, otro usuario ingresa una consulta [la serie brasileña en la que había un rey de la carne y un rey de la leche], para la cual la máquina aún no sabe la respuesta. Pero estas consultas tienen muchas palabras comunes. Esta es una señal de que la página encontrada en la primera solicitud puede ser relevante en la segunda.

Otro ejemplo. Hagamos preguntas [la serie brasileña en la que había un rey de la carne y un rey de la leche] y [una herencia fatal en serie]. Del total, solo tienen una palabra: "serie", y esto no es suficiente para la coincidencia explícita de solicitudes. En este caso, comenzamos a tener en cuenta el historial de la búsqueda. Si se solicitan dos solicitudes diferentes en los mismos sitios en la emisión, entonces podemos suponer que las solicitudes son intercambiables. Esto es útil porque ahora utilizaremos el texto de ambas consultas para buscar y encontrar páginas más útiles. Pero esto solo funciona para solicitudes repetidas cuando ya hay al menos algunas estadísticas. ¿Qué hacer con las nuevas solicitudes?

La falta de estadísticas puede compensarse mediante análisis de contenido. Y en el análisis de datos homogéneos (texto, voz, imágenes) las redes neuronales se muestran mejor. En 2016, primero le contamos a la comunidad Habr sobre la tecnología Palekh , que se convirtió en el punto de partida para el uso más amplio de las redes neuronales en la Búsqueda.

Comenzamos a entrenar la red neuronal para comparar la proximidad semántica (semántica) del texto de la solicitud y el título de la página. Dos textos se representan en forma de vectores en el espacio multidimensional, de modo que el coseno del ángulo entre ellos predice bien la probabilidad de que una persona elija una página y, por lo tanto, la proximidad semántica. Esto le permite evaluar la cercanía de los significados de incluso aquellos textos en los que no hay intersección de palabras.

Un ejemplo de arquitectura de capas para curiosos
imagen

Del mismo modo, comenzamos a comparar textos de consulta para identificar enlaces entre ellos. Un verdadero ejemplo bajo el capó de un motor de búsqueda: para una consulta [serie estadounidense sobre cómo se hierve la metanfetamina], es la red neuronal la que encuentra las frases [que significan mal] y [que rompen mal] con un significado similar.

Las solicitudes y los encabezados ya son buenos, pero no perdimos la esperanza de usar redes neuronales en el texto completo de las páginas. Además, cuando recibimos una solicitud del usuario, comenzamos a seleccionar las mejores páginas entre millones de páginas de índice, pero en Palekh usamos modelos de redes neuronales solo en las últimas etapas de clasificación (L3), a aproximadamente 150 de los mejores documentos. Esto puede conducir a la pérdida de buenas respuestas.

imagen

La razón es predecible: recursos limitados y altos requisitos de velocidad de respuesta. Las limitaciones estrictas de los cálculos están relacionadas con un hecho simple: no puede obligar al usuario a esperar. Pero luego se nos ocurrió algo.


En 2017, presentamos la actualización de búsqueda de Korolev, que incluía no solo el uso ampliado de las redes neuronales, sino también un trabajo serio en arquitectura para ahorrar recursos. Más detalladamente, con diagramas de capas y otros detalles que ya contamos en otra publicación sobre Habré, pero ahora recordaremos lo principal.

En lugar de tomar el título del documento y calcular su vector semántico durante la ejecución de la consulta, puede calcular previamente este vector y guardarlo en la base de datos de búsqueda. En otras palabras, podemos hacer una parte sustancial del trabajo por adelantado. Por supuesto, al mismo tiempo, necesitábamos más espacio para almacenar vectores, pero esto nos ahorró tiempo de procesador. Pero eso no es todo.

Otro esquema para los curiosos
imagen

Construimos un índice adicional. Se basa en la hipótesis: si toma una lista suficientemente grande de los documentos más relevantes para cada palabra o frase para una consulta de varias palabras, entre ellas habrá documentos que sean relevantes al mismo tiempo para todas las palabras. En la práctica, esto significa esto. Para todas las palabras y pares de palabras populares, se forma un índice adicional con una lista de páginas y su relevancia preliminar para la consulta. Es decir, transferimos parte del trabajo de la etapa L0 a la etapa de indexación y, nuevamente, lo guardamos.

Como resultado, un cambio en la arquitectura y la redistribución de las cargas nos permitió usar redes neuronales no solo en la etapa L3, sino también para L2 y L1. Además, la capacidad de formar un vector por adelantado y con requisitos de rendimiento menos estrictos nos permitió usar no solo el título de la página, sino también su texto.


Más es más. Con el tiempo, comenzamos a usar redes neuronales en la primera etapa de la clasificación. Enseñamos redes neuronales para identificar patrones implícitos en el orden de las palabras y sus posiciones relativas. E incluso para revelar la similitud semántica de textos en diferentes idiomas. Cada una de estas áreas se dibuja en un artículo separado, e intentaremos volver con ellas en un futuro próximo.



Hoy, una vez más, recordamos cómo los motores de búsqueda aprenden a encontrar la respuesta en las condiciones de una consulta vaga y la falta de información. La búsqueda de películas por su descripción no es solo un caso especial de tales solicitudes, sino también un gran tema para la investigación . De ella aprenderás: lo que más recuerdan las personas en el cine, con el que se asocian diferentes géneros y cinematografías de diferentes países, los movimientos de la trama causan una impresión especial.

Source: https://habr.com/ru/post/464315/


All Articles