Konfigurowanie semantycznego rangatora i zwracania podpisów w wynikach wyszukiwania
Semantyczny ranking iteruje w początkowym zestawie wyników, stosując metodologię klasyfikacji L2, która promuje najbardziej semantycznie istotne wyniki na szczycie stosu. Możesz również uzyskać podpisy semantyczne z wyróżnieniami na najbardziej odpowiednich terminach i frazach oraz odpowiedziami semantycznymi.
W tym artykule wyjaśniono, jak skonfigurować indeks wyszukiwania pod kątem semantycznego ponownego korbowania.
Wymagania wstępne
Usługa wyszukiwania w warstwie Podstawowa lub nowsza, z zastrzeżeniem dostępności regionu.
Semantyczny ranger włączony w usłudze wyszukiwania.
Istniejący indeks wyszukiwania z zawartością tekstu sformatowanego. Klasyfikacja semantyczna ma zastosowanie do pól ciągów (niewektorów) i działa najlepiej na zawartości, która jest informacyjna lub opisowa.
Wybieranie klienta
Aby dodać konfigurację semantyczną, możesz użyć dowolnego z następujących narzędzi i zestawów SDK:
- Witryna Azure Portal, korzystając z projektanta indeksów, aby dodać konfigurację semantyczną.
- Program Visual Studio Code z klientem REST
- Zestaw Azure SDK dla platformy .NET
- Zestaw Azure SDK dla środowiska Python
- Zestaw Azure SDK dla języka Java
- Zestaw Azure SDK dla języka JavaScript
Dodawanie konfiguracji semantycznej
Konfiguracja semantyczna to sekcja w indeksie, która ustanawia dane wejściowe pól dla klasyfikacji semantycznej. W dowolnym momencie można dodać lub zaktualizować konfigurację semantyczną bez konieczności ponownego kompilowanie. Jeśli tworzysz wiele konfiguracji, możesz określić wartość domyślną. W czasie wykonywania zapytania określ konfigurację semantyczną w żądaniu zapytania lub pozostaw ją pustą, aby użyć wartości domyślnej.
Konfiguracja semantyczna ma nazwę i następujące właściwości:
Właściwości | Charakterystyki |
---|---|
Pole Tytuł | Krótki ciąg, najlepiej poniżej 25 słów. To pole może być tytułem dokumentu, nazwy produktu lub unikatowego identyfikatora. Jeśli nie masz odpowiedniego pola, pozostaw to pole puste. |
Pola zawartości | Dłuższe fragmenty tekstu w postaci języka naturalnego, z zastrzeżeniem maksymalnych limitów wejściowych tokenu w modelach uczenia maszynowego. Typowe przykłady obejmują treść dokumentu, opis produktu lub inny tekst dowolny. |
Pola słów kluczowych | Lista słów kluczowych, takich jak tagi w dokumencie lub termin opisowy, taki jak kategoria elementu. |
Można określić tylko jedno pole tytułu, ale możesz mieć dowolną liczbę pól zawartości i słów kluczowych. W przypadku pól zawartości i słów kluczowych wyświetl pola w kolejności priorytetów, ponieważ pola o niższym priorytecie mogą zostać obcięte.
We wszystkich właściwościach konfiguracji semantycznej przypisywane pola muszą być następujące:
- Przypisano jako i
searchable
retrievable
- Ciągi typu
Edm.String
, ,Collection(Edm.String)
podpola ciągówEdm.ComplexType
Zaloguj się do witryny Azure Portal i przejdź do usługi wyszukiwania, która ma włączoną semantyczną klasyfikację.
W okienku nawigacji po lewej stronie otwórz indeks.
Wybierz pozycję Konfiguracje semantyczne, a następnie wybierz pozycję Dodaj konfigurację semantyczną.
Zostanie otwarta strona Nowa konfiguracja semantyczna z opcjami wybierania pola tytułu, pól zawartości i pól słów kluczowych. Kwalifikuje się tylko pola ciągów do przeszukiwania i pobierania. Pamiętaj, aby wyświetlić listę pól zawartości i pól słów kluczowych w kolejności priorytetów.
Wybierz przycisk OK , aby zapisać zmiany.
Migrowanie z wersji zapoznawczych
Jeśli semantyczny kod klasyfikacji korzysta z interfejsów API w wersji zapoznawczej, w tej sekcji wyjaśniono, jak przeprowadzić migrację do stabilnych wersji. Możesz sprawdzić dzienniki zmian pod kątem weryfikacji ogólnej dostępności:
- 2024-07-01 (REST)
- Dziennik zmian zestawu Azure SDK dla platformy .NET (11.5)
- Dziennik zmian zestawu Azure SDK dla języka Python (11.4)
- Dziennik zmian zestawu Azure SDK dla języka Java (11.6)
- Dziennik zmian zestawu Azure SDK dla języka JavaScript (12.0)
Zmiany zachowania:
Od 14 lipca 2023 r. semantyczny rangą jest niezależny od języka. Wyniki mogą się powtarzać, składające się z wielojęzycznej zawartości, bez stronniczości w stosunku do określonego języka. W wersjach zapoznawczych semantyczna klasyfikacja będzie depriorytizować wyniki różniące się od języka określonego przez analizatora pól.
W wersji 2021-04-30-Preview i wszystkich nowszych wersjach dla interfejsu API REST i wszystkich pakietów SDK przeznaczonych dla tej samej wersji:
semanticConfiguration
(w definicji indeksu) definiuje pola wyszukiwania używane w klasyfikacji semantycznej. Wcześniej w interfejsie APIsearchFields
REST 2020-06-30-Preview (w żądaniu zapytania) był używany do określania specyfikacji i priorytetyzacji pól. To podejście działało tylko w wersji 2020-06-30-Preview i jest przestarzałe we wszystkich innych wersjach.
Krok 1. Usuwanie elementu queryLanguage
Aparat klasyfikacji semantycznej jest teraz niezależny od języka. Jeśli queryLanguage
określono ją w logice zapytania, nie jest już używana do klasyfikacji semantycznej, ale nadal ma zastosowanie do korekty pisowni.
Zachowaj queryLanguage
, jeśli używasz sprawdzania pisowni, a wartość języka jest obsługiwana przez funkcję sprawdzania pisowni. Sprawdzanie pisowni ma ograniczoną dostępność w różnych językach.
W przeciwnym razie usuń element queryLanguage
.
Krok 2. Zastąp ciąg searchFields
ciągiem semanticConfiguration
Jeśli kod wywołuje pakiety interfejsu API REST 2020-06-30-Preview lub beta SDK przeznaczone dla tej wersji interfejsu API REST, możesz użyć searchFields
w żądaniu zapytania w celu określenia pól i priorytetów semantycznych. W początkowych wersjach searchFields
beta miał podwójne przeznaczenie, ograniczając początkowe zapytanie do pól wymienionych w searchFields
pliku , a także ustawiając priorytet pola, jeśli użyto klasyfikacji semantycznej. W nowszych wersjach searchFields
zachowuje swój pierwotny cel, ale nie jest już używany do klasyfikowania semantycznego.
Zachowaj searchFields
w żądaniach zapytań, jeśli używasz ich do ograniczania wyszukiwania pełnotekstowego do listy nazwanych pól.
Dodaj element semanticConfiguration
do schematu indeksu, aby określić priorytetyzację pól, postępując zgodnie z instrukcjami w tym artykule.
Następne kroki
Przetestuj konfigurację semantyczną, uruchamiając zapytanie semantyczne.