Az Okapi BM25 egy rangsoroló funkció , amelyet a keresőmotorok használnak a dokumentumok egy adott keresési lekérdezés szempontjából való relevanciájának rendezésére . Az 1970-es és 1980-as években Stephen Robertson , Karen Spark Jones és mások által kidolgozott valószínűségi modellen alapul .
Magát a függvényt BM25-nek (BM az angol best match szóból) hívják, de gyakran "Okapi BM25"-nek is nevezik az 1980-as és 1990-es években a londoni City Egyetemen létrehozott Okapi keresőmotor neve után , amelyben ezt a funkciót először alkalmazták. .
A BM25 és különféle későbbi módosításai (pl. BM25F) modern, TF-IDF- szerű rangsoroló függvények, amelyeket a gyakorlatban széles körben alkalmaznak a keresőkben. A webes keresésben ezek a rangsorolási függvények gyakran egy összetettebb, gyakran gépi úton tanult rangsoroló függvény összetevőiként szerepelnek.
A BM25 egy keresőfunkció egy rendezetlen kifejezéshalmazon (" zsák szavak ") és egy dokumentumkészleten, amelyet az egyes dokumentumokban előforduló lekérdezőszavak alapján értékel, anélkül, hogy figyelembe venné a köztük fennálló kapcsolatot (pl. közelség). Ez nem egyetlen függvény, hanem különböző komponensekkel és paraméterekkel rendelkező függvénycsalád. Az alábbiakban ennek a funkciónak az egyik gyakori formáját ismertetjük.
Adott a szavakat tartalmazó lekérdezés , akkor a BM25 függvény a következő értékelést adja a dokumentum relevanciájáról a lekérdezés szempontjából :
ahol a szógyakoriság ( angol kifejezés gyakorisága, TF ) a dokumentumban , a dokumentum hossza (a benne lévő szavak száma), és a gyűjteményben lévő dokumentum átlagos hossza. és szabad együtthatók, általában és ként választjuk őket .
van egy inverz dokumentumgyakoriság ( eng. inverz dokumentum gyakoriság, IDF ) szavak . Az IDF-nek többféle értelmezése van, és képletében kismértékű eltérések vannak. Klasszikusan a következőképpen határozzák meg:
ahol a gyűjteményben lévő dokumentumok teljes száma és a -t tartalmazó dokumentumok száma . De gyakrabban használják a képlet „simított” változatait, például:
A fenti IDF képletnek a következő hátránya van. A gyűjteményben található dokumentumok több mint felében szereplő szavak esetében az IDF-érték negatív. Így bármely két majdnem azonos dokumentum jelenlétében, amelyek közül az egyikben van szó, a másikban nincs, a második magasabb pontszámot kaphat.
Más szóval, a gyakran előforduló szavak elrontják a dokumentum végső pontszámát. Ez nem kívánatos, ezért sok alkalmazásban a fenti képlet a következő módokon módosítható:
Tegyük fel, hogy a keresett szó előfordul a dokumentumokban. Ekkor egy véletlenszerűen kiválasztott dokumentum tartalmaz egy szót valószínűséggel (hol van a gyűjtemény dokumentumkészletének számossága). Ebben az esetben a " tartalmazza " kifejezés információs értéke a következő lesz:
Most tegyük fel, hogy van két keresőszó és . Ha egymástól függetlenül írják be a dokumentumot, akkor a véletlenszerűen kiválasztott dokumentumban való megtalálásának valószínűsége a következő:
és ennek az eseménynek a tartalma
Nagyjából ezt fejezi ki a BM25 IDF komponense.