Spletni pogovori so v sodobnem življenju vseprisotni in zajemajo panoge od video iger do telekomunikacij. To je pripeljalo do eksponentne rasti količine podatkov o spletnih pogovorih, kar je pomagalo pri razvoju najsodobnejših sistemov za obdelavo naravnega jezika (NLP), kot so klepetalni roboti in modeli za ustvarjanje naravnega jezika (NLG). Sčasoma so se razvile tudi različne NLP tehnike za analizo besedil. To zahteva zahtevo po popolnoma upravljani storitvi, ki jo je mogoče integrirati v aplikacije z uporabo klicev API-ja brez potrebe po obsežnem strokovnem znanju s strojnim učenjem (ML). AWS ponuja vnaprej usposobljene storitve umetne inteligence AWS, kot so Amazonsko razumevanje, ki lahko učinkovito obravnava primere uporabe NLP, ki vključujejo klasifikacijo, povzemanje besedila, prepoznavanje entitet in več za zbiranje vpogledov iz besedila.
Poleg tega so spletni pogovori pripeljali do zelo razširjenega pojava netradicionalne rabe jezika. Tradicionalne tehnike NLP pogosto slabo delujejo na teh besedilnih podatkih zaradi nenehno razvijajočih se besednjakov, specifičnih za domeno, ki obstajajo znotraj različnih platform, pa tudi znatnih leksikalnih odstopanj besed od pravilne angleščine, bodisi po naključju bodisi namerno kot oblika kontradiktornega napada. .
V tej objavi opisujemo več pristopov ML za besedilno klasifikacijo spletnih pogovorov z orodji in storitvami, ki so na voljo na AWS.
Predpogoji
Preden se poglobite v ta primer uporabe, izpolnite naslednje predpogoje:
- Nastavite AWS račun in ustvarite uporabnika IAM.
- Nastavite AWS CLI in SDK-ji za AWS.
- (Izbirno) Nastavite svoj Cloud9 IDE okolje.
Podatkovni niz
Za to objavo uporabljamo Jigsaw Nenamerna pristranskost v nizu podatkov o klasifikaciji strupenosti, merilo za specifičen problem razvrščanja toksičnosti v spletnih pogovorih. Nabor podatkov vsebuje oznake strupenosti in več atributov podskupin, kot so nespodobno, napad na identiteto, žalitev, grožnja in spolno eksplicitno. Oznake so podane kot delne vrednosti, ki predstavljajo delež človeških označevalcev, ki so verjeli, da je atribut uporabljen za dani del besedila, ki so redko soglasni. Za ustvarjanje binarnih oznak (na primer strupenih ali nestrupenih) se za delne vrednosti uporabi prag 0.5, pripombe z vrednostmi, ki so višje od praga, pa se obravnavajo kot pozitivni razred za to oznako.
Vdelava podbesed in RNN
Za naš prvi pristop modeliranja uporabljamo kombinacijo vdelave podbesed in ponavljajočih se nevronskih mrež (RNN) za urjenje modelov klasifikacije besedila. Vdelave podbesed je uvedel Bojanowski et al. leta 2017 kot izboljšava prejšnjih metod vdelave na ravni besed. Tradicionalni modeli Word2Vec skip-gram so usposobljeni za učenje statične vektorske predstavitve ciljne besede, ki optimalno napove kontekst te besede. Po drugi strani modeli podbesed predstavljajo vsako ciljno besedo kot vrečo n-gramov znakov, ki sestavljajo besedo, pri čemer je n-gram sestavljen iz niza n zaporednih znakov. Ta metoda omogoča, da model vdelave bolje predstavi osnovno morfologijo sorodnih besed v korpusu kot tudi izračun vdelav za nove besede, ki niso v besedišču (OOV). To je še posebej pomembno v kontekstu spletnih pogovorov, problematičnega prostora, v katerem uporabniki pogosto napačno črkujejo besede (včasih namerno, da bi se izognili zaznavanju) in uporabljajo tudi edinstven, nenehno razvijajoč se besednjak, ki ga splošni korpus usposabljanja morda ne bo zajel.
Amazon SageMaker poenostavi usposabljanje in optimizacijo nenadzorovanega modela vdelave podbesed na vašem lastnem korpusu domensko specifičnih besedilnih podatkov z vgrajenim BlazingText algoritem. Prenesemo lahko tudi obstoječe splošne modele, usposobljene za velike podatkovne nize spletnega besedila, kot je naslednje Modeli v angleškem jeziku so na voljo neposredno pri FastText. Iz primerka prenosnega računalnika SageMaker preprosto zaženite naslednje, da prenesete vnaprej pripravljen model fastText:
Ne glede na to, ali ste usposobili lastne vdelave z BlazingText ali prenesli vnaprej naučen model, je rezultat stisnjen dvojiški model, ki ga lahko uporabite s knjižnico gensim za vdelavo dane ciljne besede kot vektorja na podlagi njegovih sestavnih podbesed:
Ko predhodno obdelamo dani segment besedila, lahko s tem pristopom ustvarimo vektorsko predstavitev za vsako od sestavnih besed (kot so ločene s presledki). Nato uporabimo SageMaker in ogrodje za globoko učenje, kot je PyTorch, da usposobimo prilagojeni RNN z binarnim ali večoznačnim ciljem razvrščanja, da predvidimo, ali je besedilo strupeno ali ne, in specifično podvrsto toksičnosti na podlagi označenih primerov usposabljanja.
Za nalaganje vnaprej obdelanega besedila v Preprosta storitev shranjevanja Amazon (Amazon S3), uporabite naslednjo kodo:
Če želite s programom SageMaker začeti usposabljanje za razširljive modele z več grafičnimi procesorji, vnesite naslednjo kodo:
V okviru , definiramo nabor podatkov PyTorch, ki ga uporablja train.py
za pripravo besedilnih podatkov za usposabljanje in oceno modela:
Upoštevajte, da ta koda predvideva, da bo vectors.zip
datoteka, ki vsebuje vaše vdelave fastText ali BlazingText, bo shranjena v .
Poleg tega lahko preprosto uvedete vnaprej pripravljene modele fastText same za žive končne točke SageMaker za sprotno izračunavanje vdelanih vektorjev za uporabo v ustreznih nalogah na ravni besed. Glej naslednje Primer GitHub Za več podrobnosti.
Transformerji z objemajočim se obrazom
Za naš drugi pristop modeliranja preidemo na uporabo transformatorjev, predstavljenih v članku Pozornost je vse, kar potrebujete. Transformatorji so modeli globokega učenja, zasnovani tako, da se namenoma izognejo pastem RNN-jev, tako da se zanašajo na mehanizem samopozornosti, da narišejo globalne odvisnosti med vhodom in izhodom. Arhitektura modela Transformer omogoča znatno boljšo paralelizacijo in lahko doseže visoko zmogljivost v relativno kratkem času usposabljanja.
Zgrajen na uspehu Transformerjev, BERT, predstavljen v časopisu BERT: predhodno usposabljanje globokih dvosmernih transformatorjev za jezikovno razumevanje, dodano dvosmerno predhodno usposabljanje za predstavitev jezika. Po navdihu naloge Cloze je BERT predhodno usposobljen za modeliranje maskiranega jezika (MLM), pri katerem se model nauči obnoviti izvirne besede za naključno maskirane žetone. Model BERT je tudi predhodno usposobljen za nalogo napovedi naslednjega stavka (NSP), da napove, ali sta dva stavka v pravilnem vrstnem redu branja. Od njegovega pojava leta 2018 se BERT in njegove različice pogosto uporabljajo pri nalogah klasifikacije besedil.
Naša rešitev uporablja različico BERT, znano kot RoBERTa, ki je bila predstavljena v članku RoBERTa: Odlično optimiziran BERT pristop za iskanje. RoBERTa dodatno izboljša zmogljivost BERT pri različnih nalogah naravnega jezika z optimiziranim usposabljanjem modelov, vključno z daljšim usposabljanjem modelov na 10-krat večjem korpusu, z uporabo optimiziranih hiperparametrov, dinamičnega naključnega maskiranja, odstranitve naloge NSP in še več.
Naši modeli, ki temeljijo na RoBERTa, uporabljajo Objemni obrazni transformatorji knjižnico, ki je priljubljeno odprtokodno ogrodje Python, ki zagotavlja visokokakovostne implementacije vseh vrst najsodobnejših modelov Transformer za različne naloge NLP. Hugging Face je sodeloval z AWS da vam omogoči enostavno usposabljanje in uvajanje modelov Transformer na SageMaker. Ta funkcija je na voljo prek Hugging Face AWS Deep Learning Container slike, ki vključuje knjižnice Transformers, Tokenizers in Datasets ter optimizirano integracijo s SageMaker za usposabljanje in sklepanje modelov.
Pri naši implementaciji podedujemo hrbtenico arhitekture RoBERTa iz ogrodja Hugging Face Transformers in uporabljamo SageMaker za usposabljanje in uvajanje lastnega modela klasifikacije besedila, ki ga imenujemo RoBERTox. RoBERTox uporablja kodiranje parov bajtov (BPE), uvedeno v Nevronsko strojno prevajanje redkih besed s podbesednimi enotami, za tokenizacijo vhodnega besedila v predstavitve podbesed. Nato lahko naše modele in tokenizerje urimo na podatkih Jigsaw ali katerem koli velikem korpusu, specifičnem za domeno (kot so dnevniki klepetov iz določene igre) in jih uporabimo za prilagojeno klasifikacijo besedila. Naš razred klasifikacijskega modela po meri definiramo v naslednji kodi:
Pred usposabljanjem pripravimo besedilne podatke in oznake s knjižnico naborov podatkov Hugging Face in naložimo rezultat v Amazon S3:
Usposabljanje modela začnemo na podoben način kot RNN:
Nazadnje, naslednji delček kode Python ponazarja postopek strežbe RoBERTox prek končne točke SageMaker v živo za razvrščanje besedila v realnem času za zahtevo JSON:
Vrednotenje uspešnosti modela: nabor podatkov o nenamerni pristranskosti Jigsaw
Naslednja tabela vsebuje metrike uspešnosti za modele, ki so bili usposobljeni in ocenjeni na podlagi podatkov tekmovanja Jigsaw Unintended Bias in Toxicity Detection Kaggle. Modele smo usposobili za tri različne, a med seboj povezane naloge:
- Binarni primer – Model je bil usposobljen na celotnem naboru podatkov za usposabljanje za napovedovanje
toxicity
samo etiketa - Drobnozrnato ohišje – Podmnožica podatkov o usposabljanju, za katere
toxicity>=0.5
je bil uporabljen za napovedovanje drugih oznak podvrste strupenosti (obscene
,threat
,insult
,identity_attack
,sexual_explicit
) - Večopravilni primer – Celoten nabor podatkov za usposabljanje je bil uporabljen za predvidevanje vseh šestih oznak hkrati
Modele RNN in RoBERTa smo usposobili za vsako od teh treh nalog z uporabo delnih oznak, ki jih je zagotovil Jigsaw, ki ustrezajo deležu označevalcev, ki so mislili, da je oznaka primerna za besedilo, pa tudi z binarnimi oznakami v kombinaciji z utežmi razreda v omrežju funkcija izgube. V shemi binarnega označevanja so bili deleži omejeni na 0.5 za vsako razpoložljivo oznako (1, če je oznaka >=0.5, 0 drugače), funkcije izgube modela pa so bile utežene na podlagi relativnih deležev vsake binarne oznake v naboru podatkov za usposabljanje. V vseh primerih smo ugotovili, da je uporaba delnih oznak neposredno povzročila najboljšo učinkovitost, kar kaže na dodano vrednost informacij, ki so del stopnje strinjanja med označevalci.
Prikažemo dve metriki modela: povprečno natančnost (AP), ki zagotavlja povzetek krivulje natančnosti-odpoklica z izračunom tehtanega povprečja vrednosti natančnosti, doseženih pri vsakem pragu razvrščanja, in območje pod krivuljo delovanja sprejemnika (AUC) , ki združuje zmogljivost modela prek klasifikacijskih pragov glede na resnično pozitivno stopnjo in lažno pozitivno stopnjo. Upoštevajte, da pravi razred za dani primerek besedila v testnem nizu ustreza temu, ali je pravi delež večji ali enak 0.5 (1, če je oznaka >=0.5, 0 sicer).
. | Vdelava podbesed + RNN | RoBERTa | ||
. | Delovne oznake | Binarne oznake + ponderiranje razreda | Delovne oznake | Binarne oznake + ponderiranje razreda |
Binarni | AP=0.746, AUC=0.966 | AP=0.730, AUC=0.963 | AP=0.758, AUC=0.966 | AP=0.747, AUC=0.963 |
Drobnozrnat | AP=0.906, AUC=0.909 | AP=0.850, AUC=0.851 | AP=0.913, AUC=0.913 | AP=0.911, AUC=0.912 |
Multitask | AP=0.721, AUC=0.972 | AP=0.535, AUC=0.907 | AP=0.740, AUC=0.972 | AP=0.711, AUC=0.961 |
zaključek
V tej objavi smo predstavili dva pristopa k klasifikaciji besedil za spletne pogovore z uporabo storitev AWS ML. Te rešitve lahko posplošite na spletne komunikacijske platforme, pri čemer bodo industrije, kot je igranje iger, še posebej verjetno imele koristi od izboljšane sposobnosti zaznavanja škodljive vsebine. V prihodnjih objavah načrtujemo nadaljnjo razpravo o arhitekturi od konca do konca za brezhibno uvajanje modelov v vaš račun AWS.
Če želite pomoč pri pospeševanju uporabe ML v svojih izdelkih in procesih, se obrnite na Amazon ML Solutions Lab.
O avtorjih
Ryan Brand je podatkovni znanstvenik v laboratoriju Amazon Machine Learning Solutions. Ima posebne izkušnje z uporabo strojnega učenja pri problemih v zdravstvu in na področju znanosti o življenju, v prostem času pa rad bere zgodovino in znanstveno fantastiko.
Sourav Bhabesh je podatkovni znanstvenik v Amazon ML Solutions Lab. Razvija rešitve AI/ML za stranke AWS v različnih panogah. Njegova posebnost je obdelava naravnega jezika (NLP) in je navdušen nad globokim učenjem. Poleg službe rad bere knjige in potuje.
Liutong Zhou je uporabni znanstvenik v Amazon ML Solutions Lab. Za stranke AWS v različnih panogah gradi rešitve AI/ML po meri. Specializiral se je za obdelavo naravnega jezika (NLP) in navdušen nad multimodalnim poglobljenim učenjem. Je lirični tenorist in izven dela rad poje opere.
Sia Gholami je višji podatkovni znanstvenik v Amazon ML Solutions Lab, kjer gradi rešitve AI/ML za stranke v različnih panogah. Navdušen je nad obdelavo naravnega jezika (NLP) in globokim učenjem. Sia izven službe rada preživlja čas v naravi in igra tenis.
Daniel Horowitz je vodja znanosti o uporabni umetni inteligenci. Vodi skupino znanstvenikov v laboratoriju Amazon ML Solutions Lab, ki se ukvarja z reševanjem težav strank in spodbujanjem sprejemanja oblaka z ML.
- Coinsmart. Najboljša evropska borza bitcoinov in kriptovalut.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. PROST DOSTOP.
- CryptoHawk. Altcoin radar. Brezplačen preizkus.
- Vir: https://aws.amazon.com/blogs/machine-learning/text-classification-for-online-conversations-with-machine-learning-on-aws/
- '
- "
- 10
- 100
- 7
- a
- sposobnost
- O meni
- pospeševanje
- Račun
- Doseči
- doseže
- čez
- dodano
- Sprejetje
- Sporazum
- AI
- Storitve AI
- vsi
- omogoča
- Amazon
- znesek
- Analiza
- API
- aplikacije
- uporabna
- Uporabi
- Uporaba
- pristop
- pristopi
- primerno
- Arhitektura
- OBMOČJE
- lastnosti
- Na voljo
- povprečno
- AWS
- torba
- merilo
- koristi
- BEST
- Boljše
- med
- večji
- knjige
- Gradi
- vgrajeno
- klic
- primeru
- primeri
- znaki
- razred
- Razvrstitev
- Cloud
- Koda
- kombinacija
- kombinirani
- komentarji
- Komunikacija
- Tekmovanje
- dokončanje
- sestavljajo
- računanje
- Izračunajte
- računalništvo
- zaporedna
- nenehno
- kontakt
- Posoda
- Vsebuje
- vsebina
- Pogovor
- pogovorov
- ustvarjajo
- krivulja
- po meri
- stranka
- Stranke, ki so
- datum
- podatkovni znanstvenik
- globoko
- razporedi
- uvajanje
- opisati
- zasnovan
- Podrobnosti
- Odkrivanje
- Ugotovite,
- Razvoj
- drugačen
- Dimenzije
- neposredno
- razpravlja
- zaslon
- prenesi
- pogon
- med
- dinamično
- vsak
- enostavno
- učinkovito
- omogočajo
- konec koncev
- Končna točka
- Angleščina
- Vnesite
- entiteta
- Ocena
- razvija
- Primer
- Primeri
- obstoječih
- izkušnje
- strokovno znanje
- obsežen
- Obraz
- Moda
- Fiction
- prva
- po
- obrazec
- Naprej
- je pokazala,
- delno
- Okvirni
- brezplačno
- iz
- polno
- funkcija
- funkcionalnost
- funkcije
- nadalje
- Prihodnost
- igra
- Games
- igre na srečo
- splošno
- glavni namen
- ustvarjajo
- generacija
- Globalno
- več
- Rast
- ročaj
- Glava
- zdravstveno varstvo
- pomoč
- pomagal
- visoka
- visoka kvaliteta
- zgodovina
- HTTPS
- človeškega
- identiteta
- Izvajanje
- Pomembno
- izboljšalo
- Izboljšanje
- vključujejo
- Vključno
- industrij
- Podatki
- inherentno
- vhod
- vpogledi
- navdih
- primer
- Napad
- integrirana
- integracija
- IT
- sestavljanka
- Job
- tipke
- znano
- lab
- label
- označevanje
- Oznake
- jezik
- velika
- večja
- plast
- Interesenti
- UČITE
- učenje
- Led
- Knjižnica
- Life Sciences
- Verjeten
- v živo
- obremenitev
- stroj
- strojno učenje
- Znamka
- IZDELA
- upravlja
- upravitelj
- Maska
- Maske
- Stave
- Matrix
- Mehanizem
- Spomin
- Metode
- Meritve
- morda
- ML
- Model
- modeli
- več
- več
- naravna
- Narava
- mreža
- omrežij
- Naslednja
- prenosnik
- Številka
- Ponudbe
- na spletu
- deluje
- Optimizirajte
- optimizirana
- Da
- izvirno
- Ostalo
- drugače
- lastne
- Papir
- zlasti
- partnerja
- strastno
- performance
- kos
- Platforme
- igranje
- prosim
- Popular
- pozitiven
- Prispevkov
- napovedati
- napoved
- Pripravimo
- prejšnja
- problem
- Težave
- Postopek
- Procesi
- obravnavati
- Izdelki
- Projekcija
- če
- zagotavlja
- reading
- v realnem času
- Obnovi
- pomembno
- odstranjevanje
- predstavljajo
- zastopanje
- predstavlja
- zahteva
- vrnitev
- vrne
- vloga
- Run
- razširljive
- shema
- Znanost
- ZNANOSTI
- Znanstvenik
- Znanstveniki
- brezšivne
- Segment
- Storitev
- Storitve
- služijo
- nastavite
- več
- Kratke Hlače
- pomemben
- Podoben
- Enostavno
- saj
- SIX
- Velikosti
- Rešitev
- rešitve
- SOLVE
- Vesolje
- prostori
- specializirano
- Posebnost
- specifična
- Poraba
- state-of-the-art
- Države
- shranjevanje
- uspeh
- sistemi
- ciljna
- Naloge
- skupina
- tehnike
- telekomunikacije
- Test
- O
- 3
- Prag
- skozi
- čas
- krat
- Boni
- orodja
- baklo
- tradicionalna
- Vlak
- usposabljanje
- Prehod
- prevod
- Potovanje
- pod
- edinstven
- uporaba
- Uporabniki
- potrjevanje
- vrednost
- raznolikost
- različnih
- Video
- video igre
- ali
- WHO
- v
- brez
- besede
- delo
- deluje
- Vaša rutina za