Búsqueda semántica con vectores
Y es posible que incluso hayas comenzado a investigar para tratar de averiguar más, solo para terminar confundido. ¿No dejaste las matemáticas en la universidad?
Construir una búsqueda de vectores es difícil. Comprenderlo no tiene por qué serlo.
Y comprender que la búsqueda vectorial no es el futuro, sino la búsqueda híbrida, eso es igual de importante.
¿Qué son los vectores?
Cuando hablamos de vectores en el contexto del aprendizaje automático, nos referimos a esto: los vectores son grupos de números que representan algo.
Esta cosa podría ser una imagen, una palabra o casi cualquier cosa.
Las preguntas, por supuesto, son por qué estos vectores son útiles y cómo se crean.
Primero veamos de dónde vienen estos vectores. La respuesta corta: aprendizaje automático.
Jay Alammar tiene quizás la mejor publicación de blog jamás escrita sobre cuales son los vectores.
En resumen, sin embargo, los modelos de aprendizaje automático ingresan elementos (a partir de ahora, asuman palabras) e intentan encontrar las mejores fórmulas para predecir otra cosa.
Por ejemplo, puede tener un modelo que tome la palabra «abeja» e intente encontrar las mejores fórmulas que predigan con precisión que «abeja» se ve en contextos similares a «insectos» y «avispas».
Una vez que este modelo tiene esta mejor fórmula, puede convertir la palabra «abeja» en un grupo de números que resultan ser similares al grupo de números para «insectos» y «avispas».
Por qué los vectores son poderosos
Los vectores son realmente poderosos por esta razón: Los grandes modelos de lenguaje como Generative Pre-trained Transformer 3 (GPT-3) o Google tienen en cuenta miles de millones de palabras y frases, por lo que pueden comenzar a hacer esas conexiones y ser realmente inteligentes.
Es fácil ver por qué la gente está tan entusiasmada con la aplicación de esta inteligencia a la investigación.
Algunos incluso dicen que la búsqueda vectorial reemplazará la búsqueda por palabra clave hemos conocido y amado durante décadas.
Sin embargo, el hecho es que la búsqueda de vectores no sustituye a la búsqueda de palabras clave en todo el tejido. Pensar que la investigación de palabras clave no retendrá un valor inmenso genera demasiado optimismo en lo nuevo y brillante.
La investigación de vectores y la investigación de palabras clave tienen sus propias fortalezas y funcionan mejor cuando trabajan juntas.
Búsqueda de vectores para consultas de cola larga
Si trabaja en la búsqueda, probablemente esté íntimamente familiarizado con la cola larga de consultas.
Este concepto, popularizado por Chris Anderson para describir el contenido digitalindica que algunos elementos (para consultas de búsqueda) son mucho más populares que todo lo demás, pero hay muchos elementos individuales que todavía están siendo buscados por alguien.
Así es con la investigación.
Algunas consultas (también conocidas como consultas «principales») se buscan mucho, pero la gran mayoría de las consultas se buscan muy poco, tal vez incluso solo una vez.
Los números difieren de un sitio a otro, pero en un sitio promedio, alrededor de un tercio de las búsquedas totales pueden provenir de unas pocas docenas de consultas, mientras que casi la mitad del volumen de búsqueda proviene de consultas que no aparecen entre las 1000 principales. .
Las consultas de cola larga tienden a ser más largas e incluso pueden ser consultas en lenguaje natural.
La investigación de mi empresa Algolia ha demostrado que el 75 % de las consultas son de dos palabras o menos. El 90% de las consultas son de cuatro palabras o menos. Entonces, para llegar al 99% de las solicitudes, ¡necesitas 13 palabras!
Sin embargo, no siempre son largos, simplemente pueden ser oscuros. Para un sitio web de moda femenina, «vestido morado» puede ser una consulta larga porque la gente no pide ese color muy a menudo. «Pulsera» también puede ser una consulta rara vez vista, incluso si el sitio web ofrece pulseras a la venta.
La búsqueda de vectores generalmente funciona muy bien para consultas de cola larga. Puede entender que las pulseras son similares a las pulseras y las pulseras superficiales incluso sin definición de sinónimos. Puede mostrar túnicas rosadas o moradas cuando alguien busca algo morado.
La búsqueda vectorial incluso puede funcionar bien para esas consultas largas o de lenguaje natural. «Algo para mantener mis bebidas frías» mostrará frigoríficos en una búsqueda vectorial bien ajustada, mientras que con una búsqueda por palabra clave es mejor esperar que el texto esté en algún lugar de la descripción del producto.
En otras palabras, la búsqueda vectorial aumenta la recuperación de los resultados de búsqueda o el número de resultados encontrados.
Cómo funciona la búsqueda de vectores
La búsqueda de vectores hace esto tomando los grupos de números que describimos anteriormente y pidiéndole al motor de búsqueda de vectores que pregunte: «Si tuviera que graficar estos grupos de números como líneas, ¿cuáles serían los más cercanos entre sí?»
Una forma sencilla de conceptualizar esto es pensar en grupos que solo tienen dos números. El grupo [1,2] se acercará al grupo [2,2] de lo que sería para el grupo [2,500].
(Por supuesto, dado que los vectores contienen docenas de números, están «representados» en docenas de dimensiones, lo que no es tan fácil de visualizar).
Este enfoque para determinar la similitud es poderoso porque los vectores que representan palabras como ‘doctor’ y ‘medicine’ se verán mucho más similares que las palabras ‘doctor’ y ‘rock’.
Desventajas de la búsqueda de vectores
Sin embargo, la búsqueda vectorial tiene inconvenientes.
El primero es el costo. ¿Todo ese aprendizaje automático del que hablamos anteriormente? tiene costos
Para empezar, almacenar vectores es más costoso que almacenar un índice de búsqueda basado en palabras clave. La búsqueda de estos vectores también es más lenta que una búsqueda de palabras clave en la mayoría de los casos.
Ahora hash puede aliviar ambos problemas.
Sí, presentamos más conceptos técnicos, pero este es otro que es lo suficientemente simple como para comprender los conceptos básicos.
Hashing realiza una serie de pasos para transformar la información (como una cadena o un número) en un número, que ocupa menos memoria que la información original.
Resulta que también podemos usar hashing para reducir el tamaño del vector al tiempo que conserva lo que hace que los vectores sean útiles: su capacidad para unir elementos conceptualmente similares.
Al usar hashing, podemos acelerar las búsquedas de vectores y hacer que los vectores usen menos espacio en general.
Los detalles son muy técnicos, pero lo importante es entender que es posible.
La utilidad continua de la investigación de palabras clave
¡Esto no significa que la investigación de palabras clave ya no sea útil! La investigación de palabras clave es generalmente más rápida que la investigación de vectores.
Además, es más fácil entender por qué los resultados están clasificados de la forma en que lo están.
Tomemos el ejemplo de la consulta «texas» y «tejano» y «estado» como posibles coincidencias de palabras. Obviamente, «tejano» está más cerca si observamos la comparación desde una perspectiva pura de investigación de palabras clave. Sin embargo, no es tan fácil decir cuál estaría más cerca de un enfoque de búsqueda vectorial.
La búsqueda basada en palabras clave entiende que «texas» es más similar a «tejano» porque utiliza un enfoque basado en texto para buscar registros.
Si los registros contienen palabras que son exactamente iguales a las de la consulta (o con algún nivel de diferencia para tener en cuenta los errores tipográficos), el registro se considera relevante y vuelve a aparecer en los conjuntos de resultados.
En otras palabras, la investigación de palabras clave se enfoca en hacer que los resultados de la búsqueda sean precisos o garantizar que los registros que se obtienen sean relevantes, incluso si hay menos de ellos.
La investigación de palabras clave es beneficiosa para las principales consultas
Por esta razón, la investigación de palabras clave funciona muy bien para las consultas principales: las consultas más populares.
Las consultas principales tienden a ser más cortas y también son más fáciles de optimizar. Esto significa que si, por cualquier motivo, una palabra clave no coincide con el texto correcto en un registro, a menudo se detecta mediante análisis y Puedes agregar un sinónimo.
Dado que la búsqueda de palabras clave funciona mejor para las consultas principales y la búsqueda de vectores funciona mejor para las consultas de cola larga, las dos funcionan mejor juntas.
Esto se llama investigación híbrida.
La búsqueda híbrida se produce cuando un motor de búsqueda utiliza tanto la búsqueda de palabras clave como la de vectores para una sola consulta y clasifica los registros correctamente, independientemente del enfoque de búsqueda que los generó.
Clasificación de registros en fuentes de búsqueda
Clasificar grabaciones de dos fuentes diferentes no es fácil.
Los dos enfoques tienen, por su propia naturaleza, diferentes formas de anotar récords.
La búsqueda de vectores devolverá una puntuación, mientras que algunos motores basados en palabras clave no lo harán. Aunque los motores basados en palabras clave arrojan una puntuación, no hay garantía de que las dos puntuaciones sean equivalentes.
Si las puntuaciones no son iguales, entonces no puede decir que una puntuación de 0,8 en Keyword Engine sea más relevante que una puntuación de 0,79 en Vector Engine.
Otra alternativa sería ejecutar todos los resultados a través de la puntuación de Vector Engine o Keyword Engine.
Esto tiene la ventaja de obtener el impulso adicional del motor vectorial, pero también tiene algunas desventajas. Estos resultados adicionales recuperados del motor vectorial no se considerarán relevantes a partir de la puntuación de una palabra clave; de lo contrario, ya habrían aparecido en el conjunto de resultados.
También puede ejecutar todos los resultados (palabra clave o de otro tipo) a través de la notación vectorial, pero eso es lento y costoso.
Búsqueda de vectores como alternativa
Esta es la razón por la cual algunos motores de búsqueda ni siquiera intentan mezclar los dos, sino que siempre muestran primero los resultados de las palabras clave y luego los resultados vectoriales en segundo lugar.
La idea aquí es que si una búsqueda arroja cero o pocos resultados, puede recurrir a los resultados vectoriales.
Recuerde que la búsqueda de vectores tiene como objetivo mejorar el recuerdo o encontrar más resultados, por lo que puede encontrar resultados relevantes que la búsqueda de palabras clave no encontró.
Es un recurso provisional decente, pero no es el futuro de la verdadera búsqueda híbrida.
Una verdadera búsqueda híbrida clasificará múltiples fuentes de búsqueda diferentes dentro del mismo conjunto de resultados creando una puntuación comparable en diferentes fuentes.
Hay mucha investigación sobre este enfoque hoy en día, pero pocos lo hacen bien y proporcionan su motor públicamente.
¿Entonces que significa esto para usted?
En este momento, probablemente lo mejor que puede hacer es sentarse y mantenerse al día con lo que sucede en la industria.
La búsqueda híbrida basada en vectores y palabras clave llegará en los próximos años y estará disponible para personas sin equipos de ciencia de datos.
Mientras tanto, la búsqueda por palabra clave sigue siendo útil y solo se mejorará cuando se introduzca la búsqueda vectorial más adelante.
Más recursos:
Imagen destacada: rain_r/Shutterstock
window.addEventListener( 'load', function() { setTimeout(function(){ striggerEvent( 'load2' ); }, 2000); });
window.addEventListener( 'load2', function() {
if( sopp != 'yes' && addtl_consent != '1~' && !ss_u ){
!function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window,document,'script', 'https://connect.facebook.net/en_US/fbevents.js');
if( typeof sopp !== "undefined" && sopp === 'yes' ){ fbq('dataProcessingOptions', ['LDU'], 1, 1000); }else{ fbq('dataProcessingOptions', []); }
fbq('init', '1321385257908563');
fbq('track', 'PageView');
fbq('trackSingle', '1321385257908563', 'ViewContent', { content_name: 'semantic-search-with-vectors', content_category: 'seo technical-seo' }); } });
La entrada Búsqueda semántica con vectores se publicó primero en Seo Con SEM.
source https://seoconsem.es/2022/11/01/busqueda-semantica-con-vectores/
Comentarios
Publicar un comentario