Ի՞նչ է 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)