BERT kalbos modelis. Kas tai yra?
Kas yra BERT kalbos modelis?
BERT yra atvirojo kodo mašininio mokymosi sistema, skirta natūralios kalbos apdorojimui NLP (angl. natural language processing). BERT skirta padėti kompiuteriams suprasti dviprasmiško žmogiško teksto kalbos prasmę, naudojant susijusį tekstą kontekstui nustatyti. BERT sistema buvo iš anksto apmokyta naudojant “Wikipedia” tekstą ir gali būti tikslinama naudojant klausimų ir atsakymų duomenų rinkinius.
BERT (angl. – Bidirectional Encoder Representations from Transformers) reiškia dvikrypčio koduotojo atvaizdavimą iš transformatorių ir yra pagrįstas transformatoriais – gilaus mokymosi modeliu, kuriame kiekvienas išvesties elementas yra sujungtas su kiekvienu įvesties elementu, o jų tarpusavio svoriai dinamiškai apskaičiuojami pagal jų ryšį. NLP šis procesas vadinamas dėmesiu.
Anksčiau kalbos modeliai galėjo tik nuosekliai skaityti įvestą tekstą – iš kairės į dešinę arba iš dešinės į kairę – bet negalėjo skaityti abiejų tekstų vienu metu. BERT yra kitoks, nes jis sukurtas skaityti abiem kryptimis vienu metu. Ši galimybė, kurią suteikė transformatoriai, vadinama dvikryptiškumu.
Naudojant šią dvikryptę funkciją, BERT iš anksto apmokyta atlikti dvi skirtingas, bet susijusias NLP užduotis: užmaskuotos kalbos modeliavimas ir kito sakinio prognozavimas.
Maskuotos kalbos modelio MLM (angl. – Masked Language Model) mokymo tikslas – paslėpti žodį sakinyje, o paskui, remiantis paslėpto žodžio kontekstu, programa turi nuspėti, koks žodis buvo paslėptas (užmaskuotas). Kito sakinio prognozavimo mokymo tikslas – kad programa nuspėtų, ar du pateikti sakiniai turi loginį, nuoseklų ryšį, ar jų ryšys yra tiesiog atsitiktinis.
BERT kalbos modelio istorija
Pirmą kartą “Google” transformerius pristatė 2017 m. Tuo metu, kai jie buvo pristatyti, kalbos modeliai NLP (angl. natural language processing) užduotims spręsti daugiausiai naudojo pasikartojančius neuroninius tinklus RNN (angl. – recurrent neural networks) ir konvoliucinius neuroninius tinklus CNN (angl. – convolutional neural networks).
Nors šie modeliai yra kompetentingi, transformatorius laikomas reikšmingu patobulinimu, nes jam nereikia apdoroti duomenų sekų kokia nors fiksuota tvarka, o RNN ir CNN tai daro. Kadangi Transformeriai gali apdoroti duomenis bet kokia tvarka, juos galima mokyti iš didesnių duomenų kiekių, nei buvo įmanoma iki jų atsiradimo.
Tai savo ruožtu palengvino iš anksto apmokytų modelių, tokių kaip BERT kūrimą, kuris prieš išleidžiant buvo apmokytas pagal didžiulius kalbos duomenų kiekius.
2018 m. “Google” pristatė BERT atviro kodo šaltinį. Tyrimų etapuose ši sistema pasiekė novatoriškų rezultatų atlikdama 11 natūralios kalbos supratimo užduočių, įskaitant nuotaikų analizę, semantinių vaidmenų žymėjimą, sakinių klasifikavimą ir daugiareikšmių žodžių, arba žodžių su keliomis reikšmėmis, išskyrimą.
Atlikus šias užduotis BERT išsiskyrė visiškai nauja kokybe iš ankstesnių kalbos modelių, tokių kaip word2vec ir GloVe, kurių galimybės interpretuoti kontekstą ir daugiareikšmius žodžius yra ribotos. BERT veiksmingai sprendžia žmogiškosios kalbos dviprasmiškumo problemą, kuri, pasak šios srities mokslininkų, yra didžiausias natūralios kalbos supratimo iššūkis.
2019 m. spalį “Google” paskelbė, kad pradės taikyti BERT kalbos modelį Jungtinėse Amerikos Valstijose naudojamiems paieškos sistemos algoritmams.
2019 m. gruodį BERT buvo pritaikyta daugiau nei 70 skirtingų kalbų ir tapo sudėtine „Google“ paieškos sistemos algoritmo dalimi, kuri iš esmės pakeitė SEO.
Kaip veikia BERT?
Bet kokio NLP metodo tikslas – suprasti žmogaus kalbą taip, kaip ji natūraliai vartojama. BERT atveju tai paprastai reiškia, kad reikia nuspėti kalbos prasmę. Norint tai padaryti, modelius paprastai reikia apmokyti naudojant didelę specializuotų, pažymėtų mokymo duomenų saugyklą. Dėl to lingvistų komandoms tenka rankiniu būdu žymėti duomenis.
Tačiau BERT buvo iš anksto apmokytas naudojant tik neženklintą paprastą tekstą – visą angliškąją ‘Wikipedia” ir “Brown” korpusą. Brauno universiteto standartinis šiuolaikinės Amerikos anglų kalbos korpusas yra elektroninis Amerikos anglų kalbos teksto pavyzdžių rinkinys, pirmasis didelis struktūrizuotas įvairių žanrų žinynas.
Toliau BERT modelis jau pats mokosi be priežiūros iš nežymėto teksto ir tobulėja net tada, kai yra naudojamas praktinėse programose (t. y. realiai “Google” paieškoje). BERT gali savarankiškai prisitaikyti prie vis didėjančio ieškomo turinio ir užklausų kiekio ir būti pritaikytas pagal naudotojo specifikacijas. Šis procesas vadinamas “perkeltu mokymusi”.
Kaip minėta aukščiau, BERT tapo realybe dėl “Google” atliktų tyrimų apie transformatorius.
Transformatorius – tai modelio dalis, kuri suteikia BERT didesnes galimybes suprasti kontekstą ir kalbos dviprasmiškumą. Transformatorius tai daro apdorodamas bet kurį žodį kartu su visais kitais sakinio žodžiais, o ne po vieną. Vertindamas visus sakinio “aplinkinius žodžius”, transformatorius leidžia BERT modeliui suprasti visą sakinio ir žodžio kontekstą, todėl jis geriau supranta ieškotojo ketinimus.
Tai prieštarauja tradiciniam kalbos apdorojimo metodui, vadinamajam žodžių įterpimui, kai ankstesniuose modeliuose, pavyzdžiui, GloVe ir word2vec, kiekvienas žodis buvo atvaizduojamas į vektorių, kuris atspindi tik vieną to žodžio reikšmės dimensiją, t. y. dalelę. Šiems žodžių įterpimo modeliams reikia didelių pažymėtų duomenų rinkinių. Nors šie modeliai tinka daugeliui bendrųjų NLP užduočių, jie nepajėgūs spręsti klausimų atsakymo uždavinių, kuriems reikia daug konteksto, nes visi žodžiai tam tikra prasme yra fiksuoti kaip vektoriai arba reikšmės.
BERT taiko užmaskuotos kalbos modeliavimo metodą, kad žodis, į kurį sutelkiamas dėmesys, nebūtų “matomas”, t. y. neturėtų fiksuotos reikšmės, nepriklausančios nuo konteksto. Tuomet BERT priversta identifikuoti užmaskuotą žodį remdamasi tik kontekstu. BERT sistemoje žodžiai apibrėžiami pagal aplinką, o ne pagal iš anksto nustatytą tapatybę. Anglų kalbininko Johno Ruperto Firto žodžiais tariant, “Žodį pažinsi pagal tai, kokioje kompanijoje jis gyvena”.
Be to, BERT yra pirmasis NLP metodas, kuris remiasi vien tik savaiminio dėmesio mechanizmu, o tai įmanoma dėl BERT konstrukcijos centre esančių dvikrypčių transformatorių. Tai labai svarbu, nes dažnai žodis gali keisti reikšmę sakinio eigoje.
Kiekvienas pridėtas žodis padidina bendrą žodžio, į kurį dėmesį sutelkia NLP algoritmas, reikšmę. Kuo daugiau žodžių iš viso yra kiekviename sakinyje ar frazėje, tuo dviprasmiškesnis tampa fokusuojamas žodis. BERT atsižvelgia į padidėjusią reikšmę skaitydamas dvikrypčiu būdu, atsižvelgdamas į visų kitų sakinyje esančių žodžių poveikį žodžiui, į kurį kreipiamas dėmesys, ir pašalindamas pagreitį iš kairės į dešinę, dėl kurio žodžiai sakinio eigoje linksta į tam tikrą reikšmę.
Pavyzdžiui, aukščiau pateiktoje diagramoje BERT modelis nustato, į kurį ankstesnį sakinio žodį “yra” daroma nuoroda, ir naudodamasi dėmesio mechanizmu, pasveria galimybes. Žodis, kurio apskaičiuotas balas yra didžiausias, laikomas teisinga asociacija. Jei ši frazė būtų paieškos užklausa, rezultatai atspindėtų šį subtilesnį ir tikslesnį BERT pasiektą supratimą.
Kokiais tikslais naudojamas BERT?
Šiuo metu “Google” BERT naudojamas optimizuojant naudotojų paieškos užklausų interpretavimą.
BERT puikiai atlieka keletą funkcijų, kurios leidžia tai padaryti, įskaitant:
• Sekvencija į seką pagrįstos kalbos generavimo užduotys, pvz:
o Atsakymas į klausimą
o Anotacijos apibendrinimas
o Sakinių prognozavimas
o Pokalbio atsakymų generavimas
• Natūralios kalbos supratimo užduotys, pvz:
o Polisemija ir koreferencija (žodžiai, kurie skamba arba atrodo vienodai, bet turi skirtingas reikšmes)
o Žodžio prasmės išskyrimas
o Natūralios kalbos išvados
o Nuotaikų klasifikavimas
BERT turėjo didelį poveikį paieškai balsu ir tekstinei paieškai. Taip pat BERT smarkiai pagerino tarptautinę SEO optimizaciją, nes jos gebėjimas suprasti kontekstą padeda interpretuoti skirtingoms kalboms būdingus dėsningumus be būtinybės visiškai suprasti kalbą. Apskritai BERT iš esmės patobulino visas dirbtinio intelekto sistemas.
BERT yra atvirojo kodo, t. y. ją gali naudoti visi norintys. “Google” teigia, kad naudotojai gali apmokyti moderniausią klausimų ir atsakymų sistemą vos per 30 minučių, naudodami debesijos tensorinį procesorių (TPU), o naudodami grafinį procesorių (GPU) – per kelias valandas. Daugelis kitų organizacijų, mokslinių tyrimų grupių ir atskirų “Google” frakcijų tikslina BERT modelio architektūrą, naudodamos prižiūrimą mokymą, kad optimizuotų jo efektyvumą (pavyzdžiui, pakeistų mokymosi greitį) arba specializuotų jį tam tikroms užduotims atlikti, iš anksto apmokydamos jį tam tikromis kontekstinėmis reprezentacijomis. Keletas pavyzdžių:
• patentBERT – BERT modelis, pritaikytas patentų klasifikavimui atlikti.
• docBERT – BERT modelis, pritaikytas dokumentams klasifikuoti.
• bioBERT – iš anksto apmokytas biomedicininės kalbos atvaizdavimo modelis, skirtas biomedicininių tekstų gavybai.
• VideoBERT – bendras vizualinis-lingvistinis modelis, skirtas procesui be priežiūros mokytis iš gausybės nepažymėtų “Youtube” duomenų.
• SciBERT – iš anksto apmokytas mokslinio teksto BERT modelis
• G-BERT – BERT modelis, iš anksto parengtas naudojant medicininius kodus su hierarchiniais atvaizdais naudojant grafinius neuroninius tinklus (GNN), o vėliau pritaikytas medicininėms rekomendacijoms teikti.
• “Huawei” sukurtas “TinyBERT” – mažesnis BERT “mokinys”, kuris mokosi iš pradinio BERT “mokytojo” ir atlieka transformatoriaus distiliavimą, kad padidintų efektyvumą. Lyginant su BERT-baze, “TinyBERT” pasiekė daug žadančių rezultatų, o jo dydis yra 7,5 karto mažesnis ir 9,4 karto greitesnis darant išvadas.
• “HuggingFace” sukurtas DistilBERT – tariamai mažesnė, greitesnė ir pigesnė BERT versija, kuri yra apmokyta iš BERT, o vėliau, siekiant efektyvumo, iš jos pašalinti tam tikri architektūriniai aspektai.
Informacija parengta remiantis Techtarget.com medžiaga.
- SEO yra paprasta? Nutekinta 14.000 Google paieškos atributų. - 2024-08-22
- Google “Core update” – 2024.03.05. Prisisekite diržus! - 2024-03-05
- 10 priežasčių, kodėl nėra SEO progreso? - 2024-01-24