Wyszukiwanie semantyczne z wektorami

Opublikowany: 2022-11-01

Jeśli śledzisz najnowsze wiadomości w wyszukiwarce, prawdopodobnie słyszałeś o wyszukiwaniu wektorowym.

Być może nawet zacząłeś zagłębiać się w ten temat, aby dowiedzieć się o nim więcej, tylko po to, by wyjść z drugiej strony zdezorientowany. Nie zostawiłeś tej matematyki w college'u?

Wyszukiwanie wektorów budowlanych jest trudne. Zrozumienie tego nie musi być.

Rozumiejąc, że wyszukiwanie wektorowe nie jest przyszłością, wyszukiwanie hybrydowe jest – to równie ważne.

Czym są wektory?

Kiedy mówimy o wektorach w kontekście uczenia maszynowego, mamy na myśli to, że: Wektory to grupy liczb, które coś reprezentują.

Tą rzeczą może być obraz, słowo lub prawie cokolwiek.

Pytania oczywiście dotyczą tego, dlaczego te wektory są przydatne i jak są tworzone.

Przyjrzyjmy się najpierw, skąd pochodzą te wektory. Krótka odpowiedź: uczenie maszynowe.

Jay Alammar ma prawdopodobnie najlepszy wpis na blogu, jaki kiedykolwiek napisano na temat tego, czym są wektory .

Podsumowując, uczenie maszynowe modeluje elementy wejściowe (przyjmijmy tylko słowa od tego momentu) i spróbuj znaleźć najlepsze formuły, aby przewidzieć coś innego.

Na przykład możesz mieć model, który przyjmuje słowo „pszczoła” i próbuje znaleźć najlepsze formuły, które dokładnie przewidzą, że „pszczoła” jest postrzegana w podobnych kontekstach, jak „owady” i „osy”.

Gdy model ma najlepszą formułę, może przekształcić słowo „pszczoła” w grupę liczb, które akurat są podobne do grupy liczb dla „owadów” i „os”.

Dlaczego wektory są potężne

Z tego powodu wektory są naprawdę potężne: duże modele językowe, takie jak Generative Pre-trained Transformer 3 (GPT-3) lub te z Google, uwzględniają miliardy słów i zdań, więc mogą zacząć tworzyć te połączenia i stać się naprawdę inteligentnymi.

Łatwo zrozumieć, dlaczego ludzie są tak podekscytowani stosowaniem tej inteligencji w wyszukiwaniu.

Niektórzy twierdzą nawet, że wyszukiwanie wektorowe zastąpi wyszukiwanie słów kluczowych , które znamy i kochamy od dziesięcioleci.

Chodzi jednak o to, że wyszukiwanie wektorowe nie zastępuje wyszukiwania słów kluczowych. Myślenie, że wyszukiwanie słów kluczowych nie zachowa ogromnej wartości, umieszcza zbyt dużo optymizmu w nowym i błyszczącym.

Wyszukiwanie wektorowe i wyszukiwanie słów kluczowych mają swoje mocne strony i działają najlepiej, gdy działają razem.

Wyszukiwanie wektorowe dla zapytań z długim ogonem

Jeśli pracujesz w wyszukiwarkach, prawdopodobnie dobrze znasz długi ogon zapytań.

Ta koncepcja, spopularyzowana przez Chrisa Andersona w celu opisania treści cyfrowych , mówi, że niektóre elementy (w zapytaniach wyszukiwania) są znacznie bardziej popularne niż wszystkie inne, ale istnieje wiele pojedynczych elementów, których ktoś nadal potrzebuje.

Tak jest z wyszukiwaniem.

Kilka zapytań (zwanych również zapytaniami „głównymi”) jest przeszukiwanych często, ale zdecydowana większość zapytań jest przeszukiwana bardzo rzadko – może nawet tylko raz.

Liczby będą się różnić w zależności od witryny, ale w przeciętnej witrynie około jedna trzecia wszystkich wyszukiwań może pochodzić z zaledwie kilkudziesięciu zapytań, podczas gdy prawie połowa liczby wyszukiwań pochodzi z zapytań spoza 1000 najpopularniejszych.

Zapytania z długim ogonem są zwykle dłuższe, a nawet mogą być zapytaniami w języku naturalnym.

Badania mojej firmy Algolia wykazały, że 75% zapytań to dwa lub mniej słów. 90% zapytań to cztery lub mniej słów. Następnie, aby dotrzeć do 99% zapytań, potrzebujesz 13 słów!

Jednak nie zawsze są długie, mogą być po prostu niejasne. W przypadku witryny poświęconej modzie damskiej „fioletowa sukienka” może być zapytaniem z długim ogonem, ponieważ ludzie rzadko pytają o ten kolor. „Wristlet” może być również rzadko widywanym zapytaniem, nawet jeśli strona internetowa ma na sprzedaż bransoletki.

Wyszukiwanie wektorowe ogólnie sprawdza się świetnie w przypadku zapytań z długim ogonem. Może zrozumieć, że bransoletki są podobne do bransoletek i wychodzą na powierzchnię bransoletek nawet bez skonfigurowanych synonimów. Może pokazywać różowe lub fioletowe sukienki, gdy ktoś szuka czegoś w kolorze fioletu.

Wyszukiwanie wektorowe może nawet działać dobrze w przypadku długich zapytań lub zapytań w języku naturalnym. „Coś na zimne napoje” spowoduje wyświetlenie lodówek w dobrze dostrojonym wyszukiwaniu wektorowym, podczas gdy przy wyszukiwaniu słów kluczowych lepiej mieć nadzieję, że tekst znajduje się gdzieś w opisie produktu.

Innymi słowy, wyszukiwanie wektorowe zwiększa przywoływanie wyników wyszukiwania lub liczbę znalezionych wyników.

Jak działa wyszukiwanie wektorowe

Wyszukiwanie wektorowe robi to, biorąc te grupy liczb, które opisaliśmy powyżej, a wyszukiwarka wektorowa pyta: „Gdybym miał wykreślić te grupy liczb jako linie, które byłyby najbliżej siebie?”

Prostym sposobem na konceptualizację tego jest myślenie o grupach, które mają tylko dwie liczby. Grupa [1,2] będzie bliżej grupy [2,2] niż grupy [2500].

(Oczywiście, ponieważ wektory mają w sobie dziesiątki liczb, są one „wykreślane” w dziesiątkach wymiarów, co nie jest łatwe do wizualizacji).

To podejście do określania podobieństwa jest potężne, ponieważ wektory reprezentujące słowa takie jak „lekarz” i „medycyna” będą „wykresowane” znacznie bardziej podobnie niż słowa „lekarz” i „skała”.

Wady wyszukiwania wektorów

Jednak przeszukiwanie wektorowe ma swoje wady.

Pierwszy to koszt. Całe to uczenie maszynowe, które omówiliśmy powyżej? Ma koszty.

Po pierwsze, przechowywanie wektorów jest droższe niż przechowywanie indeksu wyszukiwania opartego na słowach kluczowych. W większości przypadków przeszukiwanie tych wektorów jest również wolniejsze niż wyszukiwanie słów kluczowych.

Teraz haszowanie może złagodzić oba te problemy.

Tak, wprowadzamy więcej koncepcji technicznych, ale jest to kolejna, która jest dość prosta do zrozumienia podstaw.

Haszowanie wykonuje szereg kroków w celu przekształcenia jakiejś informacji (takiej jak ciąg lub liczba) w liczbę, która zajmuje mniej pamięci niż oryginalna informacja.

Okazuje się, że możemy również użyć funkcji mieszania, aby zmniejszyć rozmiary wektorów , zachowując jednocześnie to, co czyni wektory użytecznymi: ich zdolność do dopasowywania podobnych koncepcyjnie elementów.

Używając hashowania, możemy znacznie przyspieszyć wyszukiwanie wektorów i sprawić, by wektory ogólnie zajmowały mniej miejsca.

Szczegóły są bardzo techniczne, ale ważne jest zrozumienie, że jest to możliwe.

Ciągła użyteczność wyszukiwania słów kluczowych

Nie oznacza to, że wyszukiwanie słów kluczowych nie jest nadal przydatne! Wyszukiwanie słów kluczowych jest zazwyczaj szybsze niż wyszukiwanie wektorowe.

Dodatkowo, łatwiej jest zrozumieć, dlaczego wyniki są klasyfikowane tak, jak są.

Weźmy na przykład zapytania „texas”, „tejano” i „state” jako potencjalne dopasowania słów. Najwyraźniej „tejano” jest bliższe, jeśli spojrzymy na porównanie z perspektywy czystej wyszukiwarki słów kluczowych. Nie jest jednak tak łatwo stwierdzić, co byłoby bliższe podejściu opartemu na przeszukiwaniu wektorowym.

Wyszukiwanie oparte na słowach kluczowych rozumie słowo „texas” jako bardziej podobne do „tejano”, ponieważ wykorzystuje podejście tekstowe do wyszukiwania rekordów.

Jeśli rekordy zawierają słowa, które są dokładnie takie same jak w zapytaniu (lub mają pewien poziom różnicy, aby uwzględnić literówki), rekord jest uważany za istotny i wraca do zestawów wyników.

Innymi słowy, wyszukiwanie słów kluczowych koncentruje się na precyzji wyników wyszukiwania lub zapewnieniu, że zwracane rekordy są trafne, nawet jeśli jest ich mniej.

Wyszukiwanie słów kluczowych jako korzystne dla zapytań głowy

Z tego powodu wyszukiwanie słów kluczowych sprawdza się naprawdę dobrze w przypadku zapytań nagłówkowych: tych, które są najbardziej popularne.

Zapytania nagłówkowe są zwykle krótsze, a także łatwiej je zoptymalizować. Oznacza to, że jeśli z jakiegoś powodu słowo kluczowe nie pasuje do właściwego tekstu w rekordzie, często jest przechwytywane przez analitykę i można dodać synonim .

Ponieważ wyszukiwanie słów kluczowych działa najlepiej w przypadku zapytań nagłówka, a wyszukiwanie wektorowe działa najlepiej w przypadku zapytań z długim ogonem, oba te rozwiązania działają najlepiej w połączeniu.

Nazywa się to wyszukiwaniem hybrydowym.

Wyszukiwanie hybrydowe ma miejsce wtedy, gdy wyszukiwarka używa zarówno słów kluczowych, jak i wyszukiwania wektorów dla pojedynczego zapytania i poprawnie klasyfikuje rekordy, bez względu na to, które podejście wyszukiwania je spowodowało.

Ranking rekordów w źródłach wyszukiwania

Ranking rekordów pochodzących z dwóch różnych źródeł nie jest łatwy.

Te dwa podejścia mają ze swej natury różne sposoby zdobywania rekordów.

Wyszukiwanie wektorowe zwróci wynik, w przeciwieństwie do niektórych wyszukiwarek opartych na słowach kluczowych. Nawet jeśli wyszukiwarki oparte na słowach kluczowych zwracają wynik, nie ma gwarancji, że te dwa wyniki są równoważne.

Jeśli wyniki nie są równoważne, nie można powiedzieć, że wynik 0,8 z aparatu słów kluczowych jest bardziej trafny niż 0,79 z aparatu wektorowego.

Inną alternatywą byłoby przeprowadzenie wszystkich wyników przez ocenianie silnika wektorowego lub silnika słów kluczowych.

Ma to tę zaletę, że uzyskuje dodatkowe przywołanie z silnika wektorowego, ale ma też pewne wady. Te dodatkowe przywołane wyniki, które pochodzą z aparatu wektorów, nie zostaną ocenione jako trafne na podstawie wyniku słowa kluczowego, w przeciwnym razie pojawiłyby się już w zestawie wyników.

Możesz alternatywnie przeprowadzić wszystkie wyniki — słowo kluczowe lub inne — przez punktację wektorową, ale jest to powolne i kosztowne.

Wyszukiwanie wektorowe jako rozwiązanie awaryjne

Dlatego niektóre wyszukiwarki nie próbują nawet łączyć tych dwóch, ale zamiast tego zawsze wyświetlają najpierw wyniki słów kluczowych, a następnie wyniki wektorowe.

Myślenie tutaj jest takie, że jeśli wyszukiwanie zwróci zero lub kilka wyników, możesz wrócić do wyników wektorowych.

Pamiętaj, że wyszukiwanie wektorowe ma na celu poprawę zapamiętywania lub znalezienie większej liczby wyników, dlatego może znaleźć trafne wyniki, których nie znalazło wyszukiwane słowo kluczowe.

To przyzwoita prowizorka, ale nie jest to przyszłość prawdziwego wyszukiwania hybrydowego.

Prawdziwe wyszukiwanie hybrydowe uszereguje wiele różnych źródeł wyszukiwania w tym samym zestawie wyników, tworząc wynik porównywalny z różnymi źródłami.

Obecnie prowadzi się wiele badań nad tym podejściem, ale niewielu robi to dobrze i udostępnia publicznie swój silnik.

A więc co to dla ciebie znaczy?

W tej chwili najlepszą rzeczą, jaką możesz zrobić, to prawdopodobnie siedzieć cierpliwie i być na bieżąco z tym, co dzieje się w branży.

Hybrydowe wyszukiwanie wektorowe i oparte na słowach kluczowych pojawi się w nadchodzących latach i będzie dostępne dla osób bez zespołów zajmujących się analizą danych.

W międzyczasie wyszukiwanie słów kluczowych jest nadal cenne i zostanie ulepszone dopiero po późniejszym wprowadzeniu wyszukiwania wektorowego.

Więcej zasobów:

  • Wyszukiwanie semantyczne: jak to działa i dla kogo jest przeznaczone
  • Jak NLP i NLU działają w wyszukiwaniu semantycznym
  • Jak działają wyszukiwarki

Polecany obraz: pluie_r/Shutterstock