Sobes.tech
Senior

BERT-as-a-reranker yaklaşımı nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

BERT-geri-sıralayıcı olarak — bu, bilgi arama alanında bir yaklaşımdır ve önceden eğitilmiş BERT modeli, ilk aşamada elde edilen belge listesini yeniden değerlendirmek (yeniden sıralamak) için kullanılır. Öncelikle, geleneksel bir arama motoru (örneğin, BM25) sorgu için ilgili belge kümesini döndürür. Daha sonra, BERT sorgu-belge çiftlerini analiz eder, bağlam ve semantiği dikkate alarak uygunluklarını değerlendirir ve belge listesini yeniden düzenleyerek sıralama kalitesini artırır.

Bu yaklaşım, özellikle derin bağlamın önemli olduğu karmaşık sorgular için arama doğruluğunu artırmaya olanak tanır. Ancak, önemli ölçüde hesaplama kaynağı gerektirdiği için genellikle ilk aşamanın en üst sonuçlarıyla sınırlı kalır.

Kullanım örneği:

from transformers import BertTokenizer, BertForSequenceClassification
import torch

tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertForSequenceClassification.from_pretrained('bert-base-uncased')

query = "makine öğrenimi uygulamaları"
documents = ["ML'ye giriş", "Derin öğrenme eğitimi", "Yemek tarifleri"]

# Ön arama belge döndürür
# Şimdi BERT, her belgenin uygunluğunu değerlendirir
scores = []
for doc in documents:
    inputs = tokenizer.encode_plus(query, doc, return_tensors='pt')
    outputs = model(**inputs)
    score = outputs.logits.softmax(dim=1)[0][1].item()  # uygunluk olasılığı
    scores.append((doc, score))

# Belgeleri puanlarına göre azalan sıralama
reranked = sorted(scores, key=lambda x: x[1], reverse=True)
print(reranked)