Članak

Kako koristiti Transformer za popunjavanje grafikona znanja?

Oct 30, 2025Ostavi poruku

Dopunjavanje grafa znanja (KGC) je ključni zadatak u oblasti veštačke inteligencije i predstavljanja znanja, sa ciljem zaključivanja informacija koje nedostaju u grafu znanja. Transformer, moćna arhitektura neuronske mreže, pokazala je veliki potencijal u različitim zadacima obrade prirodnog jezika i takođe se može efikasno primeniti na KGC. Kao dobavljač Transformera, na ovom blogu ću podijeliti kako koristiti Transformer za popunjavanje grafikona znanja.

SZ 11-M Series Three Phase Oil Immersed Distribution TransformerSC(ZB)9 Series 10kV Class Dry-type Transformer

Razumijevanje dovršavanja grafikona znanja

Graf znanja je strukturirani prikaz znanja u obliku entiteta i odnosa između njih, tipično modeliran kao skup trojki (subjekt, predikat, objekt). Na primjer, (Albert Einstein, razvijen, Opća relativnost) je trojka u grafu znanja. Dovršavanje grafa znanja uključuje predviđanje entiteta ili odnosa koji nedostaju u ovim trojkama. Ovaj zadatak je važan za mnoge aplikacije, kao što su sistemi za pitanja i odgovore, sistemi preporuka i semantička pretraga.

Zašto koristiti Transformer za KGC

Arhitektura Transformer-a, predstavljena u radu "Pažnja je sve što vam treba", ima nekoliko prednosti koje je čine pogodnom za popunjavanje grafa znanja:

  1. Mehanizam pažnje na sebe: Mehanizam samopažnje u Transformeru omogućava mu da uhvati dugoročne zavisnosti u ulaznoj sekvenci. U kontekstu kompletiranja grafa znanja, on može efikasno modelirati odnose između različitih entiteta i predikata u trojstvu.
  2. Paralelna obrada: Za razliku od rekurentnih neuronskih mreža (RNN), Transformer može paralelno obraditi cijelu ulaznu sekvencu, što značajno ubrzava proces obuke i zaključivanja.
  3. Transfer učenja: Unaprijed obučeni Transformer modeli, kao što je BERT, pokazali su odlične performanse u različitim zadacima obrade prirodnog jezika. Ovi prethodno obučeni modeli mogu se fino podesiti za kompletiranje grafa znanja, koristeći znanje naučeno iz velikih tekstualnih korpusa.

Koraci za korištenje Transformer za KGC

1. Priprema podataka

Prvi korak je priprema podataka za kompletiranje grafikona znanja. Podaci se obično sastoje od skupa trojki, koje se mogu podijeliti na skupove za obuku, validaciju i testove. Trojke moraju biti kodirane u format koji Transformer može obraditi. Jedan uobičajeni pristup je pretvaranje entiteta i predikata u ugrađivanje. Na primjer, možemo koristiti unaprijed obučene ugradnje riječi ili naučiti ugrađivanje entiteta i predikata iz samog grafa znanja.

2. Dizajn modela

Možemo dizajnirati model zasnovan na transformatoru za kompletiranje grafa znanja. Jedan od načina je korištenje Transformer enkodera za obradu ulaznih trojki. Ulaz za Transformer enkoder može biti niz ugrađivanja entiteta i predikata. Izlaz enkodera se može koristiti za predviđanje entiteta ili predikata koji nedostaje u trojci.

Evo jednostavnog primjera modela zasnovanog na transformatoru za KGC u PyTorchu:

import torch import torch.nn kao nn iz torch.nn import TransformerEncoder, TransformerEncoderLayer class TransformerKGC(nn.Module): def __init__(self, d_model, nhead, num_layers, dim_feedforward): super(TransformerKGC,_la_)_). TransformerEncoderLayer(d_model=d_model, nhead=nhead, dim_feedforward=dim_feedforward) self.transformer_encoder = TransformerEncoder(encoder_layer, num_layers=num_layers) self.fc = nn.Linear(d_modelities), s def naprijed self.transformer_encoder(src) izlaz = self.fc(output[:, 0, :]) povratak izlaz

U ovom primjeru,d_modelje dimenzija ugradnje,nheadje broj glava pažnje,broj_slojevaje broj slojeva Transformer enkodera, idim_feedforwardje dimenzija feed-forward mreže u sloju enkodera transformatora.

3. Obuka modela

Kada je model dizajniran, možemo ga trenirati na podacima o obuci. Cilj obuke je tipično da se minimizira funkcija gubitka, kao što je gubitak unakrsne entropije. Tokom obuke, možemo koristiti tehnike kao što su normalizacija serije, napuštanje i zakazivanje brzine učenja kako bismo poboljšali performanse modela.

import torch.optim kao optimalni model = TransformerKGC(d_model=128, nhead=4, num_layers=2, dim_feedforward=512) kriterijum = nn.CrossEntropyLoss() optimizer = optim.Adam(model.parameters(), lr) u opsegu za nus_0. run_loss = 0.0 za i, podaci u enumerate(train_loader, 0): ulazi, oznake = optimizator podataka.zero_grad() izlazi = model(ulazi) gubitak = kriterij(izlazi, oznake) loss.backward() optimizer.step() run_loss += gubitak.item() print {running Loss_Epo / len(utovarivač_voza)}')

4. Evaluacija

Nakon obuke, potrebno je da procijenimo model na setovima za validaciju i testiranje. Uobičajene metrike evaluacije za završetak grafikona znanja uključuju srednji rang (MR), srednji recipročni rang (MRR) i hits@k. Ove metrike mjere koliko dobro model može rangirati ispravne entitete ili predikate među svim mogućim kandidatima.

iz sklearn.metrics import mean_rank_score, mean_reciprocal_rank_score model.eval() sa torch.no_grad(): all_labels = [] all_preds = [] za podatke u test_loaderu: inputs, labels = data outputs = model(inputs) all_labels.extend(labels). all_preds.extend(outputs.tolist()) mr = mean_rank_score(all_labels, all_preds) mrr = mean_reciprocal_rank_score(all_labels, all_preds) print(f'Srednji rang: {mr}, srednji recipročni rang: {mrr}')

Naši transformatorski proizvodi za KGC

Kao dobavljač Transformera, nudimo širok spektar visokokvalitetnih Transformer proizvoda koji se mogu koristiti za popunjavanje grafikona znanja. Na primjer, našSC(ZB)9 serija 10kV klase suvi transformatorobezbeđuje stabilno napajanje za računarsku infrastrukturu potrebnu za obuku i pokretanje modela Transformer. TheSZ 11 - Trofazni distributivni transformator serije M uronjen u uljeje također pouzdan izbor za velike podatkovne centre uključene u zadatke kompletiranja grafa znanja. Osim toga, naše35kV transformator sa dvostrukim namotajem za regulaciju opterećenja uronjen u uljemože osigurati efikasan rad elektroenergetskog sistema tokom procesa računarstva visokog intenziteta.

Zaključak

Korišćenje Transformera za dovršavanje grafa znanja je obećavajući pristup koji može iskoristiti snagu Transformer arhitekture za poboljšanje performansi KGC-a. Prateći korake pripreme podataka, dizajna modela, obuke i evaluacije, možemo izgraditi efikasan model zasnovan na transformatoru za kompletiranje grafa znanja. Kao dobavljač Transformera, posvećeni smo pružanju visokokvalitetnih proizvoda i tehničke podrške kako bismo vam pomogli da postignete bolje rezultate u popunjavanju grafikona znanja. Ako ste zainteresovani za naše proizvode ili imate bilo kakva pitanja o korišćenju Transformera za KGC, slobodno nas kontaktirajte radi nabavke i daljih razgovora.

Reference

  1. Vaswani, A., Shazer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, An, ... i Polosukhin, I. (2017). Pažnja je sve što vam treba. Napredak u neuralnim sistemima za obradu informacija.
  2. Devlin, J., Chang, MW, Lee, K., & Toutanova, K. (2018). BERT: Predtrening dubokih dvosmjernih transformatora za razumijevanje jezika. arXiv preprint arXiv:1810.04805.
Pošaljite upit