Sobes.tech
Senior

BERT-as-a-reranker yanaşması nədir?

sobes.tech Süni İntellekt

AI-dan cavab

BERT-geri-sıralayıcı — bu, bilgi axtarışında istifadə olunan bir yanaşmadır və əvvəlcədən öyrədilmiş BERT modeli, ilk mərhələdə əldə edilən sənədlər siyahısını yenidən qiymətləndirmək (yenidən sıralamaq) üçün istifadə olunur. Əvvəlcə, ənənəvi axtarış motoru (məsələn, BM25) sorğu üçün uyğun sənədlər toplusunu qaytarır. Sonra, BERT sorğu-sənəd cütlərini analiz edir, onların uyğunluğunu kontekst və semantika nəzərə alınmaqla qiymətləndirir və sənədləri siyahıda yenidən tərtib edir, sıralama keyfiyyətini artırır.

Bu yanaşma, xüsusən dəqiq kontekstin vacib olduğu mürəkkəb sorğular üçün axtarış dəqiqliyini artırmağa imkan verir. Ancaq, bu, əhəmiyyətli hesablamalı resurslar tələb edir, buna görə də adətən yalnız ilk mərhələnin ən yaxşı nəticələrinə tətbiq olunur.

İstifadə nümunəsi:

from transformers import BertTokenizer, BertForSequenceClassification
import torch

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

query = "maşın öyrənmə tətbiqləri"
documents = ["ML-ə giriş", "Deep learning təlimatı", "Mətbəx reseptləri"]

# Əvvəlki axtarış sənədləri qaytarır
# İndi BERT hər sənədin uyğunluğunu qiymətləndirir
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()  # uyğunluq ehtimalı
    scores.append((doc, score))

# Sənədləri balına görə azalan sırayla düzürük
reranked = sorted(scores, key=lambda x: x[1], reverse=True)
print(reranked)