Klasyfikacja semantyczna w usłudze Azure AI Search
W usłudze Azure AI Search semantyczny ranga to funkcja, która w sposób zrozumiały poprawia istotność wyszukiwania przy użyciu modeli interpretacji języka firmy Microsoft w celu ponownego generowania wyników wyszukiwania. Ten artykuł stanowi ogólne wprowadzenie ułatwiające zrozumienie zachowań i korzyści związanych z semantycznym rankerem.
Ranga semantyczna to funkcja premium rozliczana według użycia. Zalecamy, aby zapoznać się z tym artykułem w tle, ale jeśli wolisz rozpocząć pracę, wykonaj następujące kroki.
Uwaga
Ranga semantyczna nie używa generowania sztucznej inteligencji ani wektorów. Jeśli szukasz wektorów i wyszukiwania podobieństwa, zobacz Wyszukiwanie wektorów w usłudze Azure AI Search , aby uzyskać szczegółowe informacje.
Co to jest klasyfikacja semantyczna?
Semantyczny ranga to kolekcja funkcji po stronie zapytania, które zwiększają jakość początkowej klasy BM25 lub wynik wyszukiwania sklasyfikowanego przez RRF dla zapytań tekstowych, zapytań wektorowych i zapytań hybrydowych. Po włączeniu jej w usłudze wyszukiwania semantyczny ranking rozszerza potok wykonywania zapytania na dwa sposoby:
Najpierw dodaje pomocniczy ranking dla początkowego zestawu wyników, który został obliczony przy użyciu BM25 lub wzajemnego łączenia rangi (RRF). Ten pomocniczy ranking używa wielojęzycznych modeli uczenia głębokiego dostosowanych od usługi Microsoft Bing do promowania najbardziej odpowiednich wyników.
Po drugie wyodrębnia i zwraca podpisy i odpowiedzi w odpowiedzi, które można renderować na stronie wyszukiwania, aby poprawić środowisko wyszukiwania użytkownika.
Poniżej przedstawiono możliwości semantycznego korbowania.
Możliwość | opis |
---|---|
Ranking L2 | Używa kontekstu lub semantycznego znaczenia zapytania, aby obliczyć nowy wynik istotności względem wstępnie sklasyfikowanych wyników. |
Semantyczne podpisy i wyróżnienia | Wyodrębnia zdania dosłowne i frazy z pól, które najlepiej podsumowują zawartość, z wyróżnionymi fragmentami kluczowymi w celu łatwego skanowania. Podpisy, które podsumowują wynik, są przydatne, gdy poszczególne pola zawartości są zbyt gęste dla strony wyników wyszukiwania. Wyróżniony tekst podnosi poziom najbardziej odpowiednich terminów i fraz, dzięki czemu użytkownicy mogą szybko określić, dlaczego dopasowanie zostało uznane za istotne. |
Odpowiedzi semantyczne | Opcjonalna i dodatkowa struktura podrzędna zwrócona z zapytania semantycznego. Zapewnia bezpośrednią odpowiedź na zapytanie, które wygląda jak pytanie. Wymaga to, aby dokument miał tekst z cechami odpowiedzi. |
Jak działa semantyczny ranger
Semantyczny ranger wysyła zapytanie i wyniki do języków interpretacji modeli hostowanych przez firmę Microsoft i skanuje w celu uzyskania lepszych dopasowań.
Na poniższej ilustracji wyjaśniono koncepcję. Rozważ termin "capital". Ma różne znaczenie w zależności od tego, czy kontekst to finanse, prawo, geografia czy gramatyka. Dzięki zrozumieniu języka semantyczny ranga może wykrywać kontekst i podwyższyć poziom wyników pasujących do intencji zapytania.
Klasyfikacja semantyczna jest zarówno zasobem, jak i czasochłonnym. Aby ukończyć przetwarzanie w oczekiwanym opóźnieniu operacji zapytania, dane wejściowe do semantycznego rangatora są konsolidowane i zmniejszane, aby można było wykonać krok ponownego korbowania tak szybko, jak to możliwe.
Klasyfikacja semantyczna obejmuje trzy kroki:
- Zbieranie i podsumowywanie danych wejściowych
- Generowanie wyników przy użyciu semantycznego klasyfikatora
- Wyniki, podpisy i odpowiedzi zwracane ponownie w danych wyjściowych
Jak są zbierane i podsumowane dane wejściowe
W klasyfikacji semantycznej podsystem zapytania przekazuje wyniki wyszukiwania jako dane wejściowe do modeli podsumowania i klasyfikowania. Ponieważ modele klasyfikacji mają ograniczenia rozmiaru danych wejściowych i intensywnie przetwarzają, wyniki wyszukiwania muszą mieć rozmiar i strukturę (podsumowaną) w celu wydajnej obsługi.
Ranga semantyczna rozpoczyna się od wyniku klasyfikacji BM25 z zapytania tekstowego lub wyniku klasyfikacji RRF z wektora lub zapytania hybrydowego. Tylko pola tekstowe są używane w ćwiczeniu ponownego korekcyjnego, a tylko 50 pierwszych wyników postępuje do semantycznego rankingu, nawet jeśli wyniki zawierają więcej niż 50. Zazwyczaj pola używane w klasyfikacji semantycznej to informacje i opisowe.
Dla każdego dokumentu w wynikach wyszukiwania model podsumowania akceptuje maksymalnie 2000 tokenów, gdzie token ma około 10 znaków. Dane wejściowe są zbierane z pól "title", "keyword" i "content" wymienionych w konfiguracji semantycznej.
Zbyt długie ciągi są przycinane, aby zapewnić, że ogólna długość spełnia wymagania wejściowe kroku podsumowania. To ćwiczenie przycinania jest ważne, aby dodać pola do konfiguracji semantycznej w kolejności priorytetu. Jeśli masz bardzo duże dokumenty z polami z dużą ilością tekstu, wszystkie elementy po maksymalnym limicie są ignorowane.
Pole semantyczne Limit tokenu "title" 128 tokenów "słowa kluczowe 128 tokenów "zawartość" pozostałe tokeny Dane wyjściowe podsumowania to ciąg podsumowania dla każdego dokumentu składający się z najbardziej odpowiednich informacji z każdego pola. Ciągi sumaryczne są wysyłane do klasyfikatora oceniania oraz do modeli zrozumienia maszynowego dla podpisów i odpowiedzi.
Od listopada 2024 r. maksymalna długość każdego wygenerowanego ciągu podsumowania przekazanego do semantycznego rankera wynosi 2048 tokenów. Wcześniej było to 256 tokenów.
Jak oceniana jest klasyfikacja
Ocenianie odbywa się za pośrednictwem podpisu i dowolnej innej zawartości z ciągu podsumowania, który wypełnia długość tokenu 2048.
Podpisy są oceniane pod kątem istotności koncepcyjnej i semantycznej względem podanego zapytania.
Element @search.rerankerScore jest przypisywany do każdego dokumentu na podstawie semantycznego istotności dokumentu dla danego zapytania. Wyniki wahają się od 4 do 0 (wysoki do niskich), gdzie wyższy wynik wskazuje na większe znaczenie.
Wynik Znaczenie 4.0 Dokument jest bardzo istotny i całkowicie odpowiada na pytanie, choć fragment może zawierać dodatkowy tekst niezwiązany z pytaniem. 3.0 Dokument jest istotny, ale nie zawiera szczegółów, które umożliwiłyby jego ukończenie. 2.0 Dokument jest nieco istotny; odpowiada na pytanie częściowo lub tylko na niektóre aspekty pytania. 1.0 Dokument jest związany z pytaniem i odpowiada na niewielką część tego pytania. 0,0 Dokument jest nieistotny. Dopasowania są wyświetlane w kolejności malejącej według wyniku i uwzględnione w ładunku odpowiedzi zapytania. Ładunek zawiera odpowiedzi, zwykły tekst i wyróżnione podpisy oraz wszystkie pola oznaczone jako możliwe do pobrania lub określone w klauzuli select.
Uwaga
W przypadku dowolnego zapytania rozkłady @search.rerankerScore mogą wykazywać niewielkie zmiany ze względu na warunki na poziomie infrastruktury. Wiadomo również, że aktualizacje modelu klasyfikacji wpływają na dystrybucję. Z tych powodów, jeśli piszesz kod niestandardowy dla minimalnych progów lub ustawiasz właściwość progową dla wektorów i zapytań hybrydowych, nie należy wprowadzać limitów zbyt szczegółowe.
Dane wyjściowe semantycznego rangatora
Z każdego ciągu podsumowania modele zrozumienia maszyny znajdują fragmenty, które są najbardziej reprezentatywne.
Dane wyjściowe to:
Semantyczny podpis dokumentu. Każdy podpis jest dostępny w wersji zwykłego tekstu i wersji wyróżnienia i często jest mniej niż 200 wyrazów na dokument.
Opcjonalna odpowiedź semantyczna, przy założeniu
answers
, że określono parametr, zapytanie zostało zadane jako pytanie, a fragment znajduje się w długim ciągu, który zapewnia prawdopodobną odpowiedź na pytanie.
Transkrypty i odpowiedzi są zawsze tekstem dosłowny z indeksu. W tym przepływie pracy nie ma generowania modelu sztucznej inteligencji, który tworzy lub komponuje nową zawartość.
Możliwości i ograniczenia semantyczne
Semantyczny ranger to nowsza technologia, dlatego ważne jest, aby określić oczekiwania dotyczące tego, co może i nie może zrobić. Co może zrobić:
Podwyższanie poziomu dopasowań, które są semantycznie bliżej intencji oryginalnego zapytania.
Znajdź ciągi, które mają być używane jako podpisy i odpowiedzi. Podpisy i odpowiedzi są zwracane w odpowiedzi i mogą być renderowane na stronie wyników wyszukiwania.
Co semantyczny ranger nie może zrobić, to ponownie uruchomić zapytanie w całym korpusie, aby znaleźć semantycznie istotne wyniki. Klasyfikacja semantyczna ponownie korbuje istniejący zestaw wyników, składający się z 50 najlepszych wyników według domyślnego algorytmu klasyfikacji. Ponadto semantyczny ranger nie może tworzyć nowych informacji ani ciągów. Transkrypty i odpowiedzi są wyodrębniane ze swojej zawartości, więc jeśli wyniki nie zawierają tekstu przypominającego odpowiedź, modele językowe nie będą je tworzyć.
Mimo że klasyfikacja semantyczna nie jest korzystna w każdym scenariuszu, niektóre treści mogą znacznie korzystać z jego możliwości. Modele językowe w semantycznym rankerze najlepiej sprawdzają się w zawartości z możliwością wyszukiwania, która jest bogata w informacje i ustrukturyzowana jako proza. Baza wiedzy, dokumentacja online lub dokumenty, które zawierają opisową zawartość, zobaczą najwięcej korzyści z funkcji rangatora semantycznego.
Podstawową technologią jest Bing i Microsoft Research oraz zintegrowana z infrastrukturą usługi Azure AI Search jako funkcja dodatku. Aby uzyskać więcej informacji na temat badań i inwestycji w sztuczną inteligencję na potrzeby semantycznego rankera, zobacz How AI from Bing is powering Azure AI Search (Blog Microsoft Research).
Poniższy film wideo zawiera omówienie możliwości.
Dostępność i cennik
Ranga semantyczna jest dostępna w usługach wyszukiwania w warstwach Podstawowa i wyższa, z zastrzeżeniem dostępności regionalnej.
Po włączeniu semantycznego rangatora wybierz plan cenowy dla funkcji:
- W przypadku mniejszych woluminów zapytań (poniżej 1000 miesięcznych) klasyfikacja semantyczna jest bezpłatna.
- W przypadku większych woluminów zapytań wybierz standardowy plan cenowy.
Na stronie cennika usługi Azure AI Search przedstawiono stawkę rozliczeniową dla różnych walut i interwałów.
Opłaty za semantyczny ranger są naliczane, gdy żądania zapytania obejmują queryType=semantic
, a ciąg wyszukiwania nie jest pusty (na przykład search=pet friendly hotels in New York
). Jeśli ciąg wyszukiwania jest pusty (search=*
), opłaty nie są naliczane, nawet jeśli właściwość queryType jest ustawiona na semantyczną.
Jak rozpocząć pracę z semantycznym rankerem
Sprawdź dostępność regionalną.
Zaloguj się do witryny Azure Portal , aby sprawdzić, czy usługa wyszukiwania jest podstawowa lub nowsza.
Skonfiguruj semantyczny rangą w indeksie wyszukiwania.
Konfigurowanie zapytań w celu zwracania transkrysów i wyróżnień semantycznych.
Opcjonalnie zwracaj odpowiedzi semantyczne.