BERT-as-a-reranker ыкмасы эмне?
sobes.tech AI
AIден жооп
BERT-ка-ре-ранжер — бул маалымат издөөдө колдонулган ыкма, анда алдын ала окутулган BERT модели биринчи этапта алынган документтердин тизмесин кайра баалоо (кайра тартипке салуу) үчүн колдонулат. Башында, салттуу издөө кыймылдаткычы (мисалы, BM25) суроо үчүн тиешелүү документтердин топтомун кайтарат. Андан соң, BERT суроо-документ парларын анализдеп, алардын тиешелүүлүгүн контекст жана семантикага карата баалайт жана документтердин тизмесин кайра уюштурат, рейтинг сапатын жакшыртуу үчүн.
Бул ыкма издөө тактыгын жогорулатууга мүмкүндүк берет, өзгөчө терең контекст маанилүү болгон кыйын суроолор үчүн. Бирок, ал чоң эсептөө ресурстарын талап кылат, ошондуктан көбүнчө биринчи этаптын эң жогорку натыйжаларына гана колдонулат.
Колдонуу мисалы:
from transformers import BertTokenizer, BertForSequenceClassification
import torch
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertForSequenceClassification.from_pretrained('bert-base-uncased')
query = "машиналык үйрөнүүнүн колдонмолору"
documents = ["MLге киришүү", "Туура терең үйрөнүү боюнча колдонмо", "Пешкана рецептери"]
# Алдын ала издөө документтерди кайтарат
# Эми, BERT ар бир документтин тиешелүүлүгүн баалайт
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() # тиешелүүлүк мүмкүнчүлүгү
scores.append((doc, score))
# Документтерди балдарына карата төмөндөн жогоруга тартипте түзүңүз
reranked = sorted(scores, key=lambda x: x[1], reverse=True)
print(reranked)