Az eredmények relevanciájának javítása pontozási profilok hozzáadásával

Befejeződött

Az Azure AI Search a BM25 hasonlósági rangsorolási algoritmust használja. Az algoritmus a használt keresési kifejezések alapján pontozza a dokumentumokat.

Itt megtudhatja, hogyan adhat hozzá pontozási profilokat a dokumentumok pontszámainak módosításához a saját feltételei alapján.

A keresési pontszámok kiszámítása

A pontozás a keresési lekérdezések feldolgozásának utolsó fázisa.

A diagram showing the score phase of search highlighted.

A keresőmotor az első három fázisból visszaadott dokumentumokat pontozza. A pontszám annak függvénye, hogy az azonosított keresési kifejezések hányszor jelennek meg a dokumentumban, a dokumentum mérete és az egyes kifejezések ritkasága. Alapértelmezés szerint a keresési eredmények a keresési pontszámuk szerint vannak rendezve, elsőként a legmagasabb. Ha két dokumentum azonos keresési pontszámmal rendelkezik, egy záradék hozzáadásával megszakíthatja a döntetlent $orderby .

A relevánsabb dokumentumok pontszámának javítása

Mivel az alapértelmezett pontozás a kifejezések gyakoriságán és ritkaságán alapul, előfordulhat, hogy a végső számított pontszám nem a legrelevánsabb dokumentum legmagasabb pontszámát adja vissza. Az egyes adathalmazok eltérőek, így az AI Search lehetővé teszi, hogy pontozási profilokkal befolyásolja a dokumentum pontszámát.

A diagram showing a weighted field score.

A legegyszerűbb pontozási profil különböző súlyokat határoz meg az index mezőihez. A fenti példában a Hotel index egy olyan pontozási profillal rendelkezik, amely ötször relevánsabb a Leírás mezővel, mint a Hely vagy a Szobák mező adatai. A Kategória mező kétszer olyan releváns, mint a HotelName.

A pontozási profil olyan függvényeket is tartalmazhat, mint például a távolság vagy a frissesség. A függvények nagyobb kontrollt biztosítanak, mint az egyszerű súlyozás, például meghatározhatja az újabb dokumentumokra alkalmazott felfokozási időtartamot, mielőtt a régebbi dokumentumokkal megegyező pontszámot kapnának.

A pontozási profilok teljesítménye azt jelenti, hogy a keresési kérések adott kifejezésének növelése helyett egy pontozóprofilt alkalmazhat egy indexre, így a mezők automatikusan felerősítve lesznek az összes lekérdezéshez.

Súlyozott pontozási profil hozzáadása

Legfeljebb 100 pontozási profilt adhat hozzá egy keresési indexhez. A pontozási profilok létrehozásának legegyszerűbb módja az Azure Portal.

  1. Lépjen a keresési szolgáltatáshoz.
  2. Válassza az Indexek lehetőséget, majd jelölje ki azt az indexet, amelybe pontozóprofilt szeretne felvenni.
  3. Válassza ki a pontozási profilokat.
  4. Válassza a + Pontozási profil hozzáadása lehetőséget.
  5. A Profilnév mezőbe írjon be egy egyedi nevet.
  6. Ha alapértelmezettként szeretné beállítani a pontozási profilt az összes keresésre, válassza a Beállítás alapértelmezett profilként lehetőséget.
  7. A Mezőnév mezőben jelöljön ki egy mezőt. Ezután a Súly mezőben adjon meg egy súlyértéket.
  8. Válassza a Mentés lehetőséget.

A screenshot of the Azure portal scoring profiles pane.

A fenti példában a pontozási boost-category profil hozzá lett adva a hotels-sample-index. A kategória súlya öt.

A profil is alapértelmezett profilként lett beállítva. Ezután használhatja ezt a keresési lekérdezést:

search=luxury AND Tags:'air con'*&$select=HotelId, HotelName, Category, Tags, Description&$count=true&queryType=full

Az eredmények most egyeznek meg ugyanazzal a lekérdezéssel egy kiemelt kifejezéssel:

search=(Description:luxury OR Category:luxury^5) AND Tags:'air con'*&$select=HotelId, HotelName, Category, Tags, Description&$count=true&queryType=full

A paraméter hozzáfűzésével szabályozhatja, hogy melyik pontozási profilt alkalmazza a &scoringProfile=PROFILE NAME keresési lekérdezés.

A pontozási profilok programozott módon is hozzáadhatók az Update Index REST API-val vagy az Azure SDK-kban, például a .NET-hez készült Azure SDK ScoringProfile osztályával.

Függvények használata pontozási profilban

A pontozási profilhoz hozzáadható függvények a következők:

Függvény Leírás
Nagysága Pontszámok módosítása egy numerikus mező értéktartománya alapján
Frissesség A pontszámok módosítása a Dokumentumok frissessége alapján a DateTimeOffset mező alapján
Távolság Pontszámok módosítása a referenciahely és a GeographyPoint-mező közötti távolság alapján
Címke A dokumentumokban és lekérdezésekben használt gyakori címkeértékek alapján módosítja a pontszámokat

A szállodaindex használatával például a magnitúdó függvény alkalmazható az Értékelés mezőre. Az Azure Portal végigvezeti az egyes függvények paramétereinek kitöltésén.

A screenshot showing the parameters for the magnitude function.