Vijesti o Tehnologiji, Recenzije i Savjeti!

Vodič za Pykg2vec: Python knjižnica za ugradnju grafikona znanja

Napomena: Sljedeći članak će vam pomoći: Vodič za Pykg2vec: Python knjižnica za ugradnju grafikona znanja

Knowledge Graph je pristup učenju predstavljanja značajki temeljen na ER (entity-relationship) koji nalazi primjenu u različitim domenama kao što su obrada prirodnog jezika, medicinske znanosti, financije i e-trgovina. Knowledge Graph se razvija kao gusta grafička mreža u kojoj entiteti podataka tvore čvorove, a odnosi tvore veze između tih čvorova. Kako veličina podataka raste u velikoj mjeri, Grafikon znanja postaje vrlo gust i visokodimenzionalan, zahtijevajući snažne računalne resurse. Ovaj problem je ublažen uvođenjem Knowledge Graph Embedding (KGE), koji preslikava visokodimenzionalni prikaz u računalno učinkovit niskodimenzionalni ugrađeni prikaz.

Mnoga nedavna istraživanja usredotočena su na ugrađivanje grafikona znanja, pa su tako razvijene moćne metode usmjerene na zadatke. Neke generalizirane platforme kao što su PyKEEN, OpenKE i AmpliGraph predstavljene su kao biblioteke koje podržavaju KGE modele i skupove podataka. Istraživanje i druge potrebe za implementacijom mogu se ispuniti izravno pomoću ovih knjižnica otvorenog koda. Ove biblioteke čine izvorni kod lako dostupnim, omogućuju prilagodbu izvornog koda prilagođenom skupu podataka, pomažu u ispravnom parametriziranju modela i uspoređuju jednu metodu s drugom.

Dostupne KGE biblioteke otvorenog koda nameću specifične unaprijed postavljene hiper-parametre koji ne odgovaraju svim modelima. Umjesto toga, rade za određene algoritme, skupove podataka i referentne vrijednosti. Za nove skupove podataka te biblioteke uglavnom ne uspijevaju same otkriti zlatne hiperparametre, prisiljavajući korisnika da iskušava različite unaprijed definirane hiperparametre kako bi odredio one prave. Ovi nedostaci dovode u pitanje mogućnost generalizacije ovih knjižnica, iako postoji velika potražnja za generalizacijom.

Shih-Yuan Yu, Sujit Rokka Chhetri i Mohammad Abdullah Al Faruque sa Sveučilišta Kalifornija-Irvine, Arquimedes Canedo iz Siemens Corporate Technology i Palash Goyal sa Sveučilišta Južne Kalifornije predstavili su robusnu i moćnu biblioteku za ugradnju Grafa znanja, pod imenom Pykg2vec. Ova biblioteka prevladava poteškoće prethodnih knjižnica i pruža svestranu i generaliziranu platformu za različita istraživanja i druge primjene.

Usporedba značajki u Pykg2vecu s onima u drugim bibliotekama (Izvor)

Kako radi Pykg2vec

Činjenice u Grafikonu znanja predstavljene su u tripletima u obliku (h, r, t), gdje je h glavni entitet, t je repni entitet, a r je odnos između tih entiteta. Knowledge Graph Embeddings uči funkciju koja te visokodimenzionalne činjenice preslikava u niskodimenzionalne vektore čuvajući izvornu kvalitetu visokodimenzionalnih značajki. Izvorne činjenice obično se nazivaju pozitivnim trojkama. Uzorkovano je nekoliko ovih trojki; ili njihove glave (?, r, t) ili repovi (h, r, ?) su oštećeni i nazvani su negativnim trojkama. KGE model je obučen da dodjeljuje nagrade za pozitivne trojke i kazne za negativne trojke. Funkcije gubitka kao što su binarni unakrsni entropijski gubitak ili logistički gubitak koriste se u ovom modelu za pronalaženje oštećenog entiteta ili za provjeru je li dani triplet pozitivan ili negativan.

Arhitektura Pykg2vec (izvor)

Knjižnica sama otkriva zlatne hiper-parametre prikladne za par modela i skupa podataka. Ovo se naziva zlatno okruženje. Korisnici također mogu prilagoditi ove postavke. Ova biblioteka uključuje Bayesian Optimizer za izvođenje otkrivanja hiperparametara.

Python implementacija Pykg2veca

Pykg2vec je izgrađen pomoću Pythona povrh okvira PyTorch. Unatoč tome, također podržava implementaciju TensorFlowa. Službeni kodovi dostupni su i za verziju PyTorch i za verziju TensorFlow.

    Instaliraj Anaconda-3 distribucija u lokalnom stroju.

!wget https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh !bash Anaconda3-2020.02-Linux-x86_64.sh

Izlaz:

pykg2vec
    Stvorite razvojno okruženje pod nazivom Pykg2vec uzastopnim uvođenjem sljedećih naredbi.

!bash

i unutar osnovnog načina naredbe za aktivaciju pružite:

conda create –name pykg2vec python=3.6

Dio koda i izlaz:

pykg2vec
    Aktivirajte razvojno okruženje.

conda aktivirati pykg2vec

    Ako je lokalno računalo omogućeno s GPU runtimeom i CUDA 10.1sljedeća naredba instalira kompatibilnu verziju PyTorcha i njezine ovisnosti.

conda instaliraj pytorch torchvision cudatoolkit=10.1 -c baklja

S druge strane, ako je lokalno računalo omogućeno samo s CPU-om, sljedeća naredba može biti od pomoći.

conda instalirati pytorch torchvision cpuonly -c pytorch

    Postavite biblioteku kloniranjem izvornog koda s GitHuba.

git klon https://github.com/Sujit-O/pykg2vec.git

Kod i izlaz:

Vodič za Pykg2vec: Python knjižnica za ugradnju grafikona znanja 1
    Promijenite direktorij u /content/pykg2vec/ kako biste nastavili s izvornim datotekama.

cd pykg2vec

    Instalirajte paket pomoću sljedeće naredbe.

python setup.py instalacija

Dio koda i izlaz:

Vodič za Pykg2vec: Python knjižnica za ugradnju grafikona znanja 2
Vodič za Pykg2vec: Python knjižnica za ugradnju grafikona znanja 3
    Provjerite podesive parametre pomoću naredbe,

pykg2vec-vlak -h

    Uvježbajte TransE model na FB15k referentnom skupu podataka za uzorkovanje izvedbe.

cd /content/pykg2vec/examples/ pykg2vec-train -mn TransE

Dio koda i izlaz:

pykg2vec
pykg2vec

Treba napomenuti da obuka traje okolo 2 sati za dovršetak u CPU runtimeu. Korisnici se mogu odlučiti za GPU runtime za brzu obuku i zaključivanje.

    Napravite zaključak o potpuno obučenom TransE modelu pomoću sljedeće naredbe.

pykg2vec-infer -mn TransE

Završavati

Pykg2vec je svestrana Python biblioteka za obuku, testiranje, eksperimentiranje, istraživanje i edukaciju modela, skupova podataka i konfiguracija povezanih s ugradnjom Grafa znanja. Pykg2vec trenutno podržava 25 najsuvremenijih KGE modela: SLM, ConvE, Complex, RotatE, CP, TuckER, SME, DistMult, NTN, ConvKB, TransE, TransH, TransR, TransD, TransM, KB2E, MuRP, InteractE, OctonionE, RESCAL, Analogy, ProjE, SimplE, HypER i QuatE.

Modeli koje podržava pykg2vecNajsuvremeniji modeli koje podržava biblioteka Pykg2vec (izvor)

Pykg2vec biblioteka nadmašuje sadašnje KGE biblioteke kao što su AmpliGraph, PyKEEN i OpenKE u broju modela, broju skupova podataka i načinu otkrivanja i postavljanja hiper-parametara.

Daljnje čitanje: