Cerca semàntica amb vectors


Si heu estat seguint les últimes notícies a la recerca, probablement n’heu sentit a parlar cerca vectorial.

I és possible que fins i tot hagis començat a aprofundir en el tema per intentar aprendre més sobre ell, només per sortir confós per l’altre extrem. No vas deixar aquestes matemàtiques a la universitat?

Construir la cerca vectorial és difícil. Entendre-ho no ha de ser.

I entenent que la cerca vectorial no és el futur, la cerca híbrida ho és, això és igual d’important.

Què són els vectors?

Quan parlem de vectors en el context de l’aprenentatge automàtic, ens referim a això: els vectors són grups de nombres que representen alguna cosa.

Aquesta cosa podria ser una imatge, una paraula o gairebé qualsevol cosa.

Les preguntes, per descomptat, són per què aquests vectors són útils i com es creen.

Vegem primer d’on provenen aquests vectors. La resposta curta: aprenentatge automàtic.

Jay Alammar té potser la millor publicació de bloc mai escrita què són els vectors.

Com a resum, però, l’aprenentatge automàtic modela elements d’entrada (suposem només paraules a partir d’aquí) i intentem esbrinar les millors fórmules per predir una altra cosa.

Per exemple, és possible que tingueu un model que incorpora la paraula “abella” i està intentant esbrinar les millors fórmules que prediguin amb precisió que “abella” es veu en contextos similars a “insectes” i “vespes”.

Una vegada que aquest model tingui la millor fórmula, pot transformar la paraula “abella” en un grup de números que, per casualitat, són similars al grup de números per a “insectes” i “vespes”.

Per què els vectors són poderosos

Els vectors són realment potents per aquest motiu: Els grans models de llenguatge com el Generative Pre-Trained Transformer 3 (GPT-3) o els de Google tenen en compte milers de milions de paraules i frases, de manera que poden començar a establir aquestes connexions i esdevenir realment intel·ligents.

És fàcil entendre per què la gent està tan emocionada d’aplicar aquesta intel·ligència a la recerca.

Alguns fins i tot ho diuen la cerca vectorial substituirà la cerca de paraula clau coneixem i estimem des de fa dècades.

El cas és, però, que la cerca vectorial no substitueix la cerca de paraules clau de manera sencera. Pensar que la cerca de paraules clau no conservarà un valor immens posa massa optimisme en allò nou i brillant.

La cerca vectorial i les cerques de paraules clau tenen cadascuna els seus propis punts forts i funcionen millor quan treballen conjuntament.

Cerca vectorial per a consultes de cua llarga

Si treballeu a la cerca, és probable que estigueu íntimament familiaritzat amb la llarga cua de les consultes.

Aquest concepte, popularitzat per Chris Anderson per descriure contingut digitaldiu que hi ha alguns elements (per a consultes de cerca) que són molt més populars que tota la resta, però que hi ha molts elements individuals que algú encara vol.

Així és amb la recerca.

Algunes consultes (també anomenades consultes “cap”) es cerquen molt, però la gran majoria de consultes es cerquen molt poc, potser fins i tot una sola vegada.

Els números diferiran d’un lloc a un altre, però en un lloc mitjà, aproximadament un terç de les cerques totals poden provenir d’unes poques dotzenes de consultes, mentre que gairebé la meitat del volum de cerques prové de consultes que es troben fora de les 1.000 més populars.

Les consultes de cua llarga solen ser més llargues i fins i tot poden ser consultes en llenguatge natural.

La investigació de la meva empresa Algolia va demostrar que el 75% de les consultes són dues o menys paraules. El 90% de les consultes són quatre o menys paraules. Aleshores, per arribar al 99% de les consultes, necessites 13 paraules!

Tanmateix, no sempre són llargues, només poden ser obscures. Per a un lloc web de moda femenina, “vestit malva” podria ser una consulta de cua llarga perquè la gent no demana aquest color molt sovint. “Pulsera” també pot ser una consulta poc vista, fins i tot si el lloc web té polseres a la venda.

La cerca vectorial en general funciona molt bé per a consultes de cua llarga. Pot entendre que les polseres són semblants a les polseres i que afloren les polseres fins i tot sense configurar sinònims. Pot mostrar vestits de color rosa o morat quan algú cerca alguna cosa de color malva.

La cerca vectorial fins i tot pot funcionar bé per a aquestes consultes llargues o de llenguatge natural. “Alguna cosa per mantenir les meves begudes fredes” mostrarà els refrigeradors en una cerca vectorial ben ajustada, mentre que, amb la cerca de paraules clau, és millor esperar que el text estigui en algun lloc de la descripció del producte.

En altres paraules, la cerca vectorial augmenta el record dels resultats de la cerca, o quants resultats es troben.

Com funciona la cerca vectorial

Cerca vectorial ho fa agafant els grups de números que hem descrit anteriorment i fent que el motor de cerca vectorial demani: “Si hagués de representar aquests grups de nombres com a línies, quin estaria més proper entre ells?”

Una manera fàcil de conceptualitzar-ho és pensar en grups que només tenen dos números. El grup [1,2] estarà més a prop del grup [2,2] del que seria per al grup [2,500].

(Per descomptat, com que els vectors tenen desenes de números dins, s’estan “gràficament” en desenes de dimensions, cosa que no és tan fàcil de visualitzar.)

Aquest enfocament per determinar la similitud és potent perquè els vectors que representen paraules com “doctor” i “medicina” seran “gràfics” molt més semblants que les paraules “doctor” i “roca”.

Desavantatges de la cerca vectorial

No obstant això, la cerca vectorial té desavantatges.

El primer és el cost. Tot aquest aprenentatge automàtic que hem comentat anteriorment? Té costos.

Per una banda, emmagatzemar els vectors és més car que emmagatzemar un índex de cerca basat en paraules clau. La cerca en aquests vectors també és més lenta que una cerca per paraula clau en la majoria dels casos.

Ara, el hashing pot mitigar aquests dos problemes.

Sí, estem introduint conceptes més tècnics, però aquest és un altre que és bastant senzill d’entendre els conceptes bàsics.

L’hashing realitza una sèrie de passos per transformar alguna informació (com una cadena o un número) en un nombre, que ocupa menys memòria que la informació original.

Resulta que també podem utilitzar hashing per reduir la mida dels vectors tot mantenint el que fa que els vectors siguin útils: la seva capacitat de fer coincidir elements conceptualment similars.

Mitjançant l’ús de hash, podem fer que les cerques vectorials siguin molt més ràpides i que els vectors utilitzin menys espai en general.

Els detalls són molt tècnics, però el que és important és entendre que és possible.

La utilitat continuada de la cerca de paraules clau

Això no vol dir que la cerca de paraules clau encara no sigui útil! La cerca de paraules clau és generalment més ràpida que la cerca vectorial.

A més, és més fàcil d’entendre per què els resultats es classifiquen tal com són.

Preneu l’exemple de la consulta “texas” i “tejano” i “state” com a possibles coincidències de paraules. És evident que “tejano” està més a prop si mirem la comparació des d’una perspectiva pura de cerca de paraules clau. No és tan fàcil saber, però, quin estaria més a prop d’un enfocament de cerca vectorial.

La cerca basada en paraules clau entén que “texas” és més semblant a “tejano” perquè utilitza un enfocament basat en el text per trobar registres.

Si els registres contenen paraules que són exactament iguals a les que hi ha a la consulta (o dins d’un cert nivell de diferència per tenir en compte les errades d’ortografia), el registre es considera rellevant i torna als conjunts de resultats.

És a dir, la cerca de paraules clau se centra en la precisió dels resultats de la cerca o en garantir que els registres que tornen siguin rellevants, encara que n’hi hagi menys.

Cerca de paraules clau com a beneficiós per a consultes de capçalera

Per aquest motiu, la cerca de paraules clau funciona molt bé per a les consultes principals: aquelles consultes que són les més populars.

Les consultes de capçalera solen ser més curtes i també són més fàcils d’optimitzar. Això vol dir que si, per qualsevol motiu, una paraula clau no coincideix amb el text correcte dins d’un registre, sovint es detecta mitjançant l’anàlisi i pots afegir un sinònim.

Com que la cerca de paraules clau funciona millor per a consultes de capçalera i la cerca vectorial funciona millor per a consultes de cua llarga, les dues funcionen millor conjuntament.

Això es coneix com a cerca híbrida.

La cerca híbrida és quan un motor de cerca utilitza la cerca de paraules clau i de vectors per a una sola consulta i classifica els registres correctament, independentment de l’enfocament de cerca que els hagi generat.

Classificació dels registres entre les fonts de cerca

Classificar els registres que provenen de dues fonts diferents no és fàcil.

Els dos enfocaments tenen, per la seva pròpia naturalesa, maneres diferents de marcar rècords.

La cerca vectorial retornarà una puntuació, mentre que alguns motors basats en paraules clau no ho faran. Fins i tot si els motors basats en paraules clau donen una puntuació, no hi ha cap garantia que les dues puntuacions siguin equivalents.

Si les puntuacions no són equivalents, no podeu dir que una puntuació de 0,8 del motor de paraules clau és més rellevant que una puntuació de 0,79 del motor de vectors.

Una altra alternativa seria executar tots els resultats mitjançant la puntuació del motor vectorial o del motor de paraules clau.

Això té l’avantatge d’obtenir la recuperació addicional del motor vectorial, però també té alguns desavantatges. Aquells resultats addicionals recordats que provenen del motor vectorial no es valoraran com a rellevants a partir d’una puntuació de paraula clau, o, en cas contrari, ja haurien aparegut al conjunt de resultats.

Alternativament, podeu executar tots els resultats (paraula clau o d’una altra manera) a través de la puntuació vectorial, però això és lent i costós.

Cerca vectorial com a alternativa

És per això que alguns motors de cerca ni tan sols intenten combinar els dos, sinó que sempre mostraran primer els resultats de les paraules clau i després els resultats vectorials en segon lloc.

El pensament aquí és que si una cerca retorna zero o pocs resultats, podeu tornar als resultats vectorials.

Recordeu que la cerca vectorial està orientada a millorar la memòria o trobar més resultats i, per tant, pot trobar resultats rellevants que la cerca de paraules clau no va trobar.

Aquesta és una solució decent, però no és el futur de la veritable cerca híbrida.

La veritable cerca híbrida classificarà diverses fonts de cerca diferents en el mateix conjunt de resultats creant una puntuació que sigui comparable entre diferents fonts.

Hi ha molta investigació sobre aquest enfocament avui dia, però pocs ho fan bé i ofereixen el seu motor públicament.

Aleshores, què significa això per a tu?

Ara mateix, el millor que podeu fer és probablement quedar-vos bé i estar al dia del que està passant a la indústria.

La cerca híbrida basada en vectors i paraules clau arribarà en els propers anys i estarà disponible per a persones sense equips de ciència de dades.

Mentrestant, la cerca de paraules clau encara és valuosa i només es millorarà quan la cerca vectorial s’introdueixi més endavant.

Més recursos:


Imatge destacada: pluie_r/Shutterstock





Source link

Cerca semàntica amb vectors