Semanttinen haku vektoreilla


Jos olet seurannut viimeisimmät haun uutiset, olet todennäköisesti kuullut vektorihaku.

Ja olet ehkä jopa alkanut kaivaa aihetta yrittääksesi oppia siitä lisää, mutta toisesta päästä hämmentyneenä. Etkö jättänyt sitä matematiikkaa takaisin yliopistoon?

Vektorihaun rakentaminen on vaikeaa. Sen ymmärtämisen ei tarvitse olla.

Ja ymmärtäminen, että vektorihaku ei ole tulevaisuus, hybridihaku on – se on yhtä tärkeää.

Mitä ovat vektorit?

Kun puhumme vektoreista koneoppimisen yhteydessä, tarkoitamme tätä: Vektorit ovat lukuryhmiä, jotka edustavat jotain.

Se voi olla kuva, sana tai melkein mikä tahansa.

Kysymys on tietysti siitä, miksi nuo vektorit ovat hyödyllisiä ja miten ne luodaan.

Katsotaanpa ensin, mistä nuo vektorit tulevat. Lyhyt vastaus: Koneoppiminen.

Jay Alammarilla on ehkä paras blogikirjoitus, johon on koskaan kirjoitettu mitä vektorit ovat.

Yhteenvetona kuitenkin, koneoppiminen mallintaa syöttökohteita (oletetaan vain sanoja tästä eteenpäin) ja yrittää selvittää parhaat kaavat ennustaa jotain muuta.

Sinulla voi esimerkiksi olla malli, joka ottaa sanan “mehiläinen”, ja se yrittää selvittää parhaat kaavat, jotka ennustavat tarkasti, että “mehiläinen” nähdään samanlaisissa yhteyksissä kuin “hyönteiset” ja “ampiaiset”.

Kun mallilla on paras kaava, se voi muuttaa sanan “mehiläinen” numeroryhmäksi, joka sattuu olemaan samanlainen kuin “hyönteisten” ja “ampiaisten” numeroryhmä.

Miksi vektorit ovat tehokkaita

Vektorit ovat todella tehokkaita tästä syystä: Suuret kielimallit, kuten Generative Pre-trained Transformer 3 (GPT-3) tai Googlen mallit, ottavat huomioon miljardeja sanoja ja lauseita, jotta ne voivat alkaa muodostaa näitä yhteyksiä ja tulla todella älykkäiksi.

On helppo ymmärtää, miksi ihmiset ovat niin innoissaan soveltaessaan tätä älykkyyttä etsimiseen.

Jotkut jopa sanovat niin vektorihaku korvaa avainsanahaun olemme tunteneet ja rakastaneet vuosikymmeniä.

Asia on kuitenkin siinä, että vektorihaku ei korvaa avainsanahakua koko kankaalla. Ajatus, että avainsanahaku ei säilytä valtavaa arvoa, tuo liikaa optimismia uuteen ja kiiltävään.

Vektorihaulla ja avainsanahaulla on kummallakin omat vahvuutensa, ja ne toimivat parhaiten yhdessä.

Vektorihaku Long Tail -kyselyille

Jos työskentelet haun parissa, tunnet todennäköisesti läheisesti kyselyjen pitkän hännän.

Tämä käsite, Chris Anderson suositteli kuvaamaan digitaalista sisältöäsanoo, että jotkut kohteet (hakukyselyissä) ovat paljon suositumpia kuin kaikki muut, mutta että on paljon yksittäisiä kohteita, joita joku edelleen haluaa.

Näin on haun kanssa.

Joitakin kyselyitä (kutsutaan myös “pääkyselyiksi”) haetaan paljon, mutta suurinta osaa kyselyistä haetaan hyvin vähän – ehkä jopa vain yhden kerran.

Luvut vaihtelevat sivustoittain, mutta keskimääräisellä sivustolla noin kolmannes kaikista hauista voi tulla vain muutamasta kymmenestä kyselystä, kun taas lähes puolet hakumäärästä tulee kyselyistä, jotka eivät ole 1000 suosituimman joukossa.

Pitkät kyselyt ovat yleensä pidempiä, ja ne voivat jopa olla luonnollisen kielen kyselyitä.

Yritykseni Algolian tutkimus osoitti, että 75 % kyselyistä koostuu kahdesta tai vähemmän sanasta. 90 % kyselyistä on neljä tai vähemmän sanaa. Sitten tarvitset 13 sanaa päästäksesi 99 prosenttiin kyselyistä!

Ne eivät kuitenkaan ole aina pitkiä, ne voivat vain olla epäselviä. Naisten muotisivustolle “mauve mekko” voi olla pitkä kysely, koska ihmiset eivät kysy tätä väriä kovin usein. “Ranneke” saattaa myös olla harvoin nähty kysely, vaikka verkkosivustolla olisikin myynnissä rannekoruja.

Vektorihaku toimii yleensä erinomaisesti pitkän hännän kyselyissä. Se voi ymmärtää, että rannekkeet ovat samankaltaisia ​​kuin rannekoruja, ja nostaa rannekkeet pintaan jopa ilman synonyymeja. Se voi näyttää vaaleanpunaisia ​​tai violetteja mekkoja, kun joku hakee jotain mauvea.

Vektorihaku voi jopa toimia hyvin pitkillä tai luonnollisen kielen kyselyillä. “Jotain, joka pitää juomani kylminä” tuo jääkaapit esiin hyvin viritetyssä vektorihaussa, kun taas avainsanahaulla on parempi toivoa, että teksti on jossain tuotekuvauksessa.

Toisin sanoen vektorihaku lisää hakutulosten muistamista eli sitä, kuinka monta tulosta löydetään.

Miten vektorihaku toimii

Vektorihaku Onko tämä ottamalla ne edellä kuvatut lukuryhmät ja antamalla vektorihakukoneen kysyä: “Jos piirtäisin nämä numeroryhmät viivoiksi, mitkä olisivat lähimpänä toisiaan?”

Helppo tapa käsitteellistää tämä on ajatella ryhmiä, joissa on vain kaksi numeroa. Ryhmä [1,2] tulee olemaan lähempänä ryhmää [2,2] kuin se olisi ryhmälle [2,500].

(Tietenkin, koska vektoreissa on kymmeniä lukuja, ne “piirretään” kymmenissä ulottuvuuksissa, mikä ei ole niin helppoa visualisoida.)

Tämä lähestymistapa samankaltaisuuden määrittämiseen on tehokas, koska vektorit, jotka edustavat sanoja, kuten “lääkäri” ja “lääketiede”, “piirretään” paljon samankaltaisemmin kuin sanat “lääkäri” ja “rock” olisivat.

Vektorihaun haittapuolet

Vektorihaussa on kuitenkin huonoja puolia.

Ensimmäinen on kustannukset. Kaikki se koneoppiminen, josta keskustelimme edellä? Sillä on kustannuksia.

Vektorien tallentaminen on kalliimpaa kuin avainsanapohjaisen hakuindeksin tallentaminen. Haku näillä vektoreilla on myös useimmissa tapauksissa hitaampaa kuin avainsanahaku.

Nyt hajautus voi lieventää näitä molempia ongelmia.

Kyllä, esittelemme lisää teknisiä käsitteitä, mutta tämä on toinen, jonka perusasiat on melko helppo ymmärtää.

Hashing suorittaa useita vaiheita muuntaakseen jonkin tiedon (kuten merkkijonon tai luvun) luvuksi, joka vie vähemmän muistia kuin alkuperäinen tieto.

Osoittautuu, että voimme myös käyttää hajautus vektoreiden koon pienentämiseksi säilyttäen silti sen, mikä tekee vektoreista hyödyllisiä: niiden kyvyn sovittaa käsitteellisesti samanlaisia ​​kohteita.

Hajautustekniikan avulla voimme nopeuttaa vektorihakuja ja saada vektorit käyttämään vähemmän tilaa.

Yksityiskohdat ovat erittäin teknisiä, mutta tärkeintä on ymmärtää, että se on mahdollista.

Avainsanahaun jatkuva hyödyllisyys

Tämä ei tarkoita, etteikö avainsanahausta olisi edelleenkään hyötyä! Avainsanahaku on yleensä nopeampi kuin vektorihaku.

Lisäksi se on helpompi ymmärtää miksi tulokset luokitellaan sellaisiksi kuin ne ovat.

Otetaan esimerkkinä kyselyt “texas” ja “tejano” ja “state” mahdollisina sanavastineina. On selvää, että “tejano” on lähempänä, jos tarkastelemme vertailua puhtaan avainsanahaun näkökulmasta. Ei ole kuitenkaan niin helppoa sanoa, kumpi olisi lähempänä vektorihaun lähestymistapaa.

Avainsanapohjainen haku ymmärtää “texasin” olevan enemmän samanlainen kuin “tejano”, koska se käyttää tekstipohjaista lähestymistapaa tietueiden etsimiseen.

Jos tietueet sisältävät sanoja, jotka ovat täsmälleen samoja kuin kyselyssä (tai tietyn eron sisällä kirjoitusvirheiden huomioon ottamiseksi), tietuetta pidetään relevanttina ja se palaa tulosjoukkoon.

Toisin sanoen avainsanahaku keskittyy hakutulosten tarkkuuteen tai varmistamaan, että palaavat tietueet ovat relevantteja, vaikka niitä olisi vähemmän.

Avainsanahaku hyödyllinen pääkyselyille

Tästä syystä avainsanahaku toimii todella hyvin pääkyselyissä: suosituimmissa kyselyissä.

Pääkyselyt ovat yleensä lyhyempiä, ja ne on myös helpompi optimoida. Tämä tarkoittaa, että jos avainsana ei jostain syystä vastaa oikeaa tekstiä tietueen sisällä, se jää usein analytiikan avulla kiinni. voit lisätä synonyymin.

Koska avainsanahaku toimii parhaiten pääkyselyissä ja vektorihaku toimii parhaiten pitkän hännän kyselyissä, nämä kaksi toimivat parhaiten yhdessä.

Tätä kutsutaan hybridihauksi.

Hybridihaku tarkoittaa sitä, että hakukone käyttää sekä avainsana- että vektorihakua yhdelle kyselylle ja asettaa tietueet oikeaan järjestykseen riippumatta siitä, mikä hakumenetelmä ne sai aikaan.

Ennätysten sijoitus hakulähteissä

Kahdesta eri lähteestä peräisin olevien tietueiden luokittelu ei ole helppoa.

Näillä kahdella lähestymistavalla on luonteeltaan erilainen tietueiden pisteytystapa.

Vektorihaku palauttaa tuloksen, kun taas jotkin avainsanapohjaiset moottorit eivät. Vaikka avainsanapohjaiset moottorit antaisivatkin tuloksen, ei ole takeita siitä, että nämä kaksi pistettä ovat samanarvoisia.

Jos pisteet eivät ole vastaavia, et voi sanoa, että avainsanamoottorin pistemäärä 0,8 on osuvampi kuin vektorimoottorin 0,79 pistemäärä.

Toinen vaihtoehto olisi suorittaa kaikki tulokset joko vektorimoottorin tai avainsanamoottorin pisteytyksen kautta.

Tämän etuna on ylimääräisen palautuksen saaminen vektorimoottorista, mutta sillä on myös joitain haittoja. Niitä ylimääräisiä palautettuja tuloksia, jotka tulevat vektorimoottorista, ei arvioida osuviksi avainsanapisteiden perusteella, tai muuten ne olisivat jo näkyneet tulosjoukossa.

Vaihtoehtoisesti voit suorittaa kaikki tulokset – avainsanan tai muun – vektorin pisteytyksen kautta, mutta tämä on hidasta ja kallista.

Vektorihaku vaihtoehtona

Tästä syystä jotkut hakukoneet eivät edes yritä yhdistää näitä kahta, vaan ne näyttävät aina ensin avainsanatulokset ja sitten vektoritulokset.

Tässä ajattelu on, että jos haku antaa nollan tai vähän tuloksia, voit palata vektorituloksiin.

Muista, että vektorihaku on suunnattu parantamaan muistamista tai löytämään enemmän tuloksia, joten se voi löytää osuvia tuloksia, joita avainsanahaku ei löytänyt.

Tämä on kunnollinen tauko, mutta se ei ole todellisen hybridihaun tulevaisuus.

Todellinen hybridihaku sijoittaa useita eri hakulähteitä samaan tulosjoukkoon luomalla pisteet, jotka ovat vertailukelpoisia eri lähteiden välillä.

Nykyään tätä lähestymistapaa tutkitaan paljon, mutta harvat tekevät sen hyvin ja tarjoavat moottorinsa julkisesti.

Mitä tämä tarkoittaa sinulle?

Tällä hetkellä parasta, mitä voit tehdä, on luultavasti istua tiukasti ja pysyä ajan tasalla alan tapahtumista.

Vektori- ja avainsanapohjainen hybridihaku on tulossa tulevina vuosina, ja se on saatavilla ihmisille, joilla ei ole datatieteen tiimejä.

Sillä välin avainsanahaku on edelleen arvokasta ja sitä parannetaan vain, kun vektorihaku otetaan käyttöön myöhemmin.

Lisää resursseja:


Suositeltu kuva: pluie_r/Shutterstock





Source link

About the Author

Leave a Reply

Your email address will not be published. Required fields are marked *

You may also like these

This error message is only visible to WordPress admins

Error: No feed found.

Please go to the Instagram Feed settings page to create a feed.