Ana Sayfa

BM25: Arama Motorlarının Temel Algoritması

1 dk okuma

BM25, bilgi erişimi alanında 1970'ler ve 1980'lerden bu yana geliştirilen ve günümüzde Elasticsearch, Solr ve Lucene gibi popüler arama motorlarında varsayılan sıralama fonksiyonu olarak kullanılan, zamanının ötesine geçmiş saygın bir algoritmadır. Mühendislik dünyasında özel bir yere sahip olmasının nedeni sadece işe yaraması değil, aynı zamanda her bir parçasının net bir yoruma sahip olmasıdır. Bu sayede, beklenmedik sonuçlarla karşılaşıldığında nedenini kolayca takip etmek ve belirli bir alan için ayarlamalar yapmak mümkündür; bu yorumlanabilirlik özelliği BM25'i gerçekten değerli kılar.

BM25, basit Boolean anahtar kelime eşleştirme ve TF-IDF gibi önceki yöntemlerin yetersiz kaldığı sorunları çözmek üzere tasarlanmıştır. Boolean eşleştirme, küçük veri kümelerinde ve kesin sorgularda işe yarasa da, "hızlı veritabanı" gibi sorgularda tüm "veritabanı" içeren belgeleri eşit derecede önemli sayarak sıralama yapamaz. TF-IDF ise terim sıklığı (Term Frequency - TF) ve ters belge sıklığı (Inverse Document Frequency - IDF) kullanarak bir belgeyi puanlar; bir terimin belgede ne kadar sık geçtiği ve tüm veri kümesinde ne kadar nadir olduğu sezgisel olarak mantıklıdır. Ancak TF-IDF'in iki temel eksikliği vardır: TF'in doğrusal olması ve belge uzunluğunu dikkate almaması. Bir terimin belgede 200 kez geçmesi, 100 kez geçmesinden iki kat daha fazla alaka düzeyi anlamına gelmez; belirli bir noktadan sonra ek tekrarlar alaka düzeyi hakkında azalan bilgi sağlar. Ayrıca, kısa ve odaklanmış bir belge ile uzun bir metin arasında, uzun metin sırf daha fazla kelime içerdiği için TF puanında haksız yere avantaj sağlayabilir, bu da alaka düzeyini doğru yansıtmayabilir. BM25 bu sınırlamaları ele alarak daha sofistike bir sıralama sunar.

İçgörü

BM25, arama motorlarının temelini oluşturan ve bilgi erişiminde uzun yıllardır etkinliğini kanıtlamış, yorumlanabilir ve ayarlanabilir bir sıralama algoritmasıdır.

Kaynak