paint-brush
Comprender la búsqueda de IApor@algolia
4,627 lecturas
4,627 lecturas

Comprender la búsqueda de IA

por Algolia5m2023/04/23
Read on Terminal Reader

Demasiado Largo; Para Leer

Algolia explica cómo funcionan la búsqueda y la IA. Bing agregó ChatGPT, que utiliza modelos de lenguaje grande (LLM). Google anunció recientemente nuevas capacidades de búsqueda de imágenes y su propio servicio LLM. En Algolia también estamos a punto de presentar nuestra propia tecnología impulsada por IA que utiliza hash neuronal para escalar la búsqueda inteligente para cualquier aplicación.
featured image - Comprender la búsqueda de IA
Algolia HackerNoon profile picture


Puede ser confuso escuchar a las empresas de búsqueda explicar cómo funcionan la búsqueda y la IA. Bing ha agregado ChatGPT, que utiliza modelos de lenguaje grandes (LLM), pero incluso antes de eso, tenían capacidades de aprendizaje profundo. Google anunció recientemente nuevas capacidades de búsqueda de imágenes y su propio servicio LLM. En Algolia, también estamos a punto de presentar nuestra propia tecnología impulsada por IA que utiliza hashing neuronal para escalar la búsqueda inteligente para cualquier aplicación. Todos estos términos pueden ser confusos.


Arreglemos eso desglosando las tecnologías involucradas con la búsqueda.

Comencemos desde el principio... ¿qué es la búsqueda por palabra clave?

Los motores de búsqueda de palabras clave existen desde hace décadas. El proyecto Apache Lucene es uno de los motores de búsqueda de código abierto más conocidos que ofrece la funcionalidad de búsqueda de palabras clave. Este tipo de motor de búsqueda utiliza técnicas estadísticas para hacer coincidir las consultas con los elementos del índice. Funcionan de manera muy similar al índice en la parte posterior de un libro al señalar todos los lugares del libro donde se encuentra la información. Las tecnologías de procesamiento de consultas como la tolerancia a errores tipográficos, la segmentación de palabras y la lematización también se utilizan para ayudar a los motores de búsqueda a digerir y dar sentido a la ortografía y la comprensión de consultas.


La búsqueda de palabras clave tiende a ser muy rápida y funciona bien para coincidencias exactas de palabras clave de consulta. Sin embargo, a menudo tienen problemas con las consultas de cola larga, las búsquedas de concepto, las búsquedas de estilo de pregunta, los sinónimos y otras frases en las que la consulta no coincide exactamente con el contenido del índice. Por esta razón, muchas empresas han agregado funciones adicionales, como la generación de sinónimos de IA, para ayudar.

¿Qué es la búsqueda semántica?

La búsqueda semántica implica comprender el significado de palabras y frases en una consulta de búsqueda y devolver resultados relacionados semánticamente con la consulta. Los motores de búsqueda semántica utilizan técnicas de procesamiento de lenguaje natural (NLP) para comprender el significado de palabras y frases y para encontrar conceptos relacionados, sinónimos y otra información relacionada que pueda ser relevante para la consulta de búsqueda.

¿En qué se diferencia de la búsqueda de IA? ¿La búsqueda semántica y la búsqueda de IA son lo mismo?

La búsqueda de IA es un término general y más amplio que incluye la búsqueda semántica, así como otras técnicas de aprendizaje automático para generar resultados de búsqueda. La búsqueda de IA generalmente implica varios pasos, incluido el procesamiento de consultas, la recuperación y la clasificación.


  • Procesamiento de consultas : este paso implica analizar la consulta del usuario para comprender su intención, alcance y restricciones. El procesamiento de consultas puede incluir tareas como analizar la consulta en sus partes constituyentes, comprensión semántica de palabras clave y frases, normalizar la consulta a un formato estándar y más.


  • Recuperación : una vez procesada la consulta, el sistema recupera un conjunto de documentos o elementos de datos que coinciden con los criterios de consulta. La búsqueda de IA generalmente usa algoritmos de aprendizaje automático para determinar la similitud y medir la relación entre los términos para brindar resultados relevantes.


  • Clasificación : después de recuperar los documentos o elementos de datos, el sistema los clasifica en función de su relevancia e importancia para la consulta del usuario. Los modelos de aprendizaje para clasificar, como el aprendizaje por refuerzo, se utilizan para optimizar continuamente los resultados.

¿Es la IA del motor de búsqueda diferente de la IA generativa?

ChatGPT de OpenAI, Bard de Google, Midjourney y otras tecnologías de IA similares son lo que se denomina IA generativa . Estas soluciones de propósito general intentan predecir los resultados en función de la entrada y, de hecho, generarán una respuesta nueva. Usan texto preexistente y contenido visual para generar algo nuevo.


Por otro lado, los motores de búsqueda pueden usar IA para mejorar los resultados de búsqueda. Al igual que la IA generativa, la IA de búsqueda se puede utilizar para comprender entradas de lenguaje natural. A diferencia de la IA generativa, los motores de búsqueda no crean ningún contenido nuevo o novedoso. Ambas tecnologías se pueden utilizar juntas o de forma independiente. Las tecnologías generativas de IA se pueden usar para ayudar con la producción creativa, y la búsqueda se usa para filtrar y ordenar los resultados. Alguien que busque nuevas ideas de moda podría preguntarle a un bot de chat cuáles son las últimas tendencias, obtener resultados y luego usar la búsqueda para encontrar resultados. O bien, puede usar la búsqueda para encontrar productos y luego pedirle al chat que le explique los pros y los contras de cada resultado.


Tanto la IA de chat generativo como la IA de búsqueda a menudo brindan una mejor experiencia de usuario a través de la comprensión del lenguaje natural.

¿La búsqueda de IA también usa LLM?

Los modelos de idiomas grandes (LLM) existen desde hace un tiempo, pero GPT los ha puesto en el centro de atención. Los LLM son modelos de inteligencia artificial que están capacitados para procesar y generar texto en lenguaje natural. Estos modelos generalmente se construyen utilizando técnicas de aprendizaje profundo y requieren grandes cantidades de datos y recursos computacionales para el entrenamiento. En Algolia, también usamos LLM, pero para ayudar en la comprensión de la máquina. Usamos LLM para crear vectores que podemos usar para comparar consultas con resultados.

¿Qué es la búsqueda vectorial?

La vectorización es el proceso de convertir palabras en vectores (números) lo que permite codificar y procesar matemáticamente su significado. Puedes pensar en los vectores como grupos de números que representan algo. En la práctica, los vectores se utilizan para automatizar sinónimos, agrupar documentos‍, detectar significados e intenciones específicos en las consultas y clasificar los resultados. Las incrustaciones son muy versátiles y también se pueden incrustar otros objetos, como documentos completos, imágenes, video, audio y más.


La búsqueda vectorial es una forma de utilizar incrustaciones de palabras (o imágenes, videos, documentos, etc.) para encontrar objetos relacionados que tengan características similares utilizando modelos de aprendizaje automático que detectan relaciones semánticas entre objetos en un índice.


Imagen que muestra las dimensiones del espacio vectorial. La similitud a menudo se mide usando la distancia euclidiana o la similitud del coseno.


Hay muchos algoritmos diferentes de vecino más cercano aproximado (ANN) para calcular la similitud de vectores. Técnicas como HNSW (Hierarchical Navigable Small World), IVF (Inverted File) o PQ (Product Quantization, una técnica para reducir el número de dimensiones de un vector) son algunos de los métodos ANN más populares para encontrar similitudes entre vectores. Cada técnica se enfoca en mejorar una propiedad de rendimiento particular, como la reducción de memoria con PQ o tiempos de búsqueda rápidos pero precisos con HNSW e IVF. Es una práctica común mezclar varios componentes para producir un índice 'compuesto' para lograr un rendimiento óptimo para un caso de uso dado.


Uno de los desafíos para trabajar con vectores es su tamaño. Tienden a ser cadenas muy grandes que requieren bases de datos especializadas y administración de GPU. El hashing neuronal es un nuevo proceso que utiliza redes neuronales para comprimir vectores, de modo que puedan procesarse hasta 500 veces más rápido que los cálculos de vectores estándar y ejecutarse en hardware básico.

Palabras clave + vectores… ¿Qué es la búsqueda híbrida?

La búsqueda híbrida es la combinación de la búsqueda vectorial con la búsqueda por palabra clave. La búsqueda de vectores es excelente para búsquedas amplias o difusas, pero la búsqueda de palabras clave sigue dominando las consultas precisas. Por ejemplo, cuando consulta "Adidas" en un motor de palabras clave, de forma predeterminada solo verá la marca Adidas. El comportamiento predeterminado en un motor vectorial es devolver resultados similares: Nike, Puma, Adidas, etc., porque todos están en el mismo espacio conceptual. La búsqueda por palabra clave aún proporciona mejores resultados para consultas breves con una intención específica.


La búsqueda híbrida ofrece lo mejor de ambas palabras, brindando velocidad y precisión para coincidencias exactas y frases simples, mientras que los vectores mejoran las consultas de cola larga y abren la puerta a nuevas soluciones de búsqueda. En Algolia, nuestra solución de IA híbrida, Algolia NeuralSearch, llegará pronto. Más información


También publicado aquí .