Sobes.tech
Middle

Оё мумкин аст, ки BERT-ро бо класификатори барои вазифаи класификатсия истифода бурд?

sobes.tech AI

Ҷавоб аз AI

Бале, BERT дар маҷмӯъ бо класификаторҳо барои вазифаҳои класификатсияи матн васеъ истифода мешавад. Одатан, моделҳои пештар омӯзишёфтаи BERT гирифта мешавад, матни воридотӣ гузаронида мешавад, дар қабати баромад (масалан, аз қабати баромади токени CLS) векторҳои даргардонӣ гирифта мешаванд ва пас ин векторҳоро ба класификатор — масалан, қабати пурра пайвастшуда бо softmax барои класификатсияи бисёрсинфӣ — ворид мекунанд.

Масал дар Python бо истифода аз китобхонаи transformers:

from transformers import BertTokenizer, BertModel
import torch
import torch.nn as nn

class BertClassifier(nn.Module):
    def __init__(self, pretrained_model_name='bert-base-uncased', num_classes=2):
        super().__init__()
        self.bert = BertModel.from_pretrained(pretrained_model_name)
        self.classifier = nn.Linear(self.bert.config.hidden_size, num_classes)

    def forward(self, input_ids, attention_mask):
        outputs = self.bert(input_ids=input_ids, attention_mask=attention_mask)
        cls_output = outputs.last_hidden_state[:, 0, :]  # токени CLS
        logits = self.classifier(cls_output)
        return logits

Тавре, BERT ҳамчун як бароваркунандаи қувватноки хусусиятҳо амал мекунад, ва класификатор ҳамчун қабатест, ки вазифаи класификатсияро бар асоси ин хусусиятҳо ҳал мекунад.