Zgradite sistem za opozarjanje v realnem času, ki temelji na novicah, s storitvijo Twitter, Amazon SageMaker in Hugging Face PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Zgradite sistem obveščanja v realnem času, ki temelji na novicah, s Twitterjem, Amazon SageMakerjem in Hugging Face

Danes so družbeni mediji velik vir novic. Uporabniki se za uživanje novic zanašajo na platforme, kot sta Facebook in Twitter. Za nekatere panoge, kot so zavarovalnice, prvi odgovorni, organi kazenskega pregona in vladne agencije, lahko hitra obdelava novic o pomembnih dogodkih pomaga pri ukrepanju, medtem ko se ti dogodki še odvijajo.

Ni neobičajno, da organizacije, ki poskušajo pridobiti vrednost iz besedilnih podatkov, iščejo rešitev, ki ne vključuje usposabljanja zapletenega modela NLP (procesiranje naravnega jezika). Za te organizacije je uporaba predhodno usposobljenega modela NLP bolj praktična. Poleg tega, če izbrani model ne zadovoljuje njihove metrike uspeha, želijo organizacije imeti možnost, da enostavno izberejo drug model in ponovno ocenijo.

Trenutno je lažje kot kdaj koli prej pridobiti informacije iz besedilnih podatkov zahvaljujoč naslednjemu:

  • Vzpon najsodobnejših NLP arhitektur za splošne namene, kot so transformatorji
  • Sposobnost, ki jo imajo razvijalci in podatkovni znanstveniki za hitro izdelavo, usposabljanje in uvajanje modelov strojnega učenja (ML) v velikem obsegu v oblaku s storitvami, kot je Amazon SageMaker
  • Razpoložljivost na tisoče vnaprej usposobljenih modelov NLP v stotinah jezikov in s podporo za več okvirov, ki jih zagotavlja skupnost na platformah, kot je Hugging Face Hub

V tem prispevku vam pokažemo, kako zgraditi sistem za opozarjanje v realnem času, ki zajema novice s Twitterja in razvršča tvite z vnaprej usposobljenim modelom Hugging Face Hub. To rešitev lahko uporabite za zero-shot klasifikacijo, kar pomeni, da lahko tvite razvrstite v skoraj kateri koli nabor kategorij in uvedete model s SageMakerjem za sklepanje v realnem času.

Če pa iščete vpogled v pogovore svojih strank in poglobite prepoznavnost blagovne znamke z analizo interakcij v družabnih medijih, vam svetujemo, da si ogledate Nadzorna plošča socialnih medijev, usmerjena z AI. Rešitev uporablja Amazonsko razumevanje, popolnoma upravljana storitev NLP, ki odkriva dragocene vpoglede in povezave v besedilu, ne da bi zahtevala izkušnje s strojnim učenjem.

Zero-shot učenje

Področji NLP in razumevanja naravnega jezika (NLU) sta se hitro razvili za obravnavanje primerov uporabe, ki vključujejo razvrščanje besedila, odgovarjanje na vprašanja, povzemanje, generiranje besedila in drugo. Ta razvoj je bil mogoč delno zaradi vzpona najsodobnejših arhitektur za splošne namene, kot so transformatorji, pa tudi zaradi razpoložljivosti več in bolj kakovostnih besedilnih korpusov, ki so na voljo za usposabljanje takih modelov.

Arhitektura transformatorja je kompleksna nevronska mreža, ki zahteva strokovno znanje o domeni in ogromno podatkov, da se lahko usposobi iz nič. Običajna praksa je, da vzamete vnaprej pripravljen najsodobnejši transformator, kot je BERT, RoBERTa, T5, GPT-2 ali DistilBERT, in natančno prilagodite (prenos učenja) model na določen primer uporabe.

Kljub temu je lahko celo izvajanje prenosnega učenja na predhodno usposobljenem NLP modelu pogosto zahtevna naloga, ki zahteva velike količine označenih besedilnih podatkov in skupino strokovnjakov za urejanje podatkov. Ta zapletenost večini organizacij preprečuje učinkovito uporabo teh modelov, vendar zero-shot učenje pomaga izvajalcem in organizacijam ML odpraviti to pomanjkljivost.

Zero-shot učenje je posebna naloga ML, pri kateri se klasifikator med usposabljanjem uči na enem nizu oznak, nato pa se med sklepanjem oceni na drugem nizu oznak, ki jih klasifikator še nikoli ni videl. V NLP lahko uporabite klasifikator z ničelnim zaporedjem, ki je usposobljen za nalogo sklepanja o naravnem jeziku (NLI), da razvrstite besedilo brez kakršnega koli natančnega prilagajanja. V tej objavi uporabljamo priljubljeno NLI BART model bart-large-mnli za razvrščanje tvitov. To je velik vnaprej pripravljen model (1.6 GB), ki je na voljo v središču modelov Hugging Face.

Hugging Face je podjetje z umetno inteligenco, ki upravlja odprtokodno platformo (Hugging Face Hub) s tisoči vnaprej usposobljenih NLP modelov (transformatorjev) v več kot 100 različnih jezikih in s podporo za različna ogrodja, kot sta TensorFlow in PyTorch. Knjižnica transformatorjev pomaga razvijalcem in podatkovnim znanstvenikom, da začnejo izvajati zapletene naloge NLP in NLU, kot so klasifikacija, pridobivanje informacij, odgovarjanje na vprašanja, povzemanje, prevajanje in ustvarjanje besedila.

AWS in Hugging Face sodelujejo pri poenostavitvi in ​​pospešitvi sprejemanja modelov NLP. Nabor vsebnikov za globoko učenje (DLC) za usposabljanje in sklepanje v PyTorch ali TensorFlow ter ocenjevalci in napovedovalci Hugging Face za SDK SageMaker Python so zdaj na voljo. Te zmožnosti pomagajo razvijalcem z vsemi stopnjami strokovnega znanja, da zlahka začnejo z NLP.

Pregled rešitve

Ponujamo delujočo rešitev, ki v realnem času pridobiva tvite iz izbranih računov Twitter. Za predstavitev naše rešitve uporabljamo tri račune Amazon Web Services (@awscloud), Varnost AWS (@AWSSecurityInfo) in Amazon Science (@AmazonScience) in njihovo vsebino razvrstite v eno od naslednjih kategorij: varnost, baza podatkov, računalništvo, shranjevanje in strojno učenje. Če model vrne kategorijo z oceno zaupanja, večjo od 40 %, se pošlje obvestilo.

V naslednjem primeru je model uvrstil tvit Amazon Web Services v kategorijo strojnega učenja z oceno zaupanja 97 %, kar je ustvarilo opozorilo.

Rešitev se zanaša na predhodno usposobljen transformatorski model Hugging Face (iz središča Hugging Face Hub) za razvrščanje tvitov na podlagi nabora oznak, ki so na voljo v času sklepanja – modela ni treba usposobiti. Naslednji posnetki zaslona prikazujejo več primerov in kako so bili razvrščeni.
Nekaj ​​ustreznih primerov
Spodbujamo vas, da rešitev preizkusite sami. Preprosto prenesite izvorno kodo iz GitHub repozitorij in sledite navodilom za uvajanje v datoteki README.

Arhitektura rešitev

Rešitev ohranja odprto povezavo s Twitterjevo končno točko in, ko prispe nov tvit, pošlje sporočilo v čakalno vrsto. Potrošnik prebere sporočila iz čakalne vrste, pokliče končno točko klasifikacije in glede na rezultate obvesti končnega uporabnika.

Sledi arhitekturni diagram rešitve.
Obseg rešitve
Potek dela rešitve je sestavljen iz naslednjih komponent:

  1. Rešitev se opira na Twitterjev Stream API za pridobivanje tvitov, ki se ujemajo s konfiguriranimi pravili (tviti iz računov, ki vas zanimajo), v realnem času. Da bi to naredili, aplikacija, ki se izvaja znotraj vsebnika, ohranja odprto povezavo s končno točko Twitterja. Nanašati se na Twitter API Za več podrobnosti.
  2. Posoda teče naprej Amazonska storitev za kontejnerje z elastiko (Amazon ECS), popolnoma upravljana storitev orkestracije vsebnikov, ki vam olajša uvajanje, upravljanje in prilagajanje aplikacij v vsebnikih. Posamezna naloga se izvaja na infrastrukturi brez strežnika, ki jo upravlja AWS Fargate.
  3. Žeton Twitter Bearer je varno shranjen v Shramba parametrov AWS Systems Manager, zmožnost Upravitelj sistemov AWS ki zagotavlja varno, hierarhično shranjevanje konfiguracijskih podatkov in skrivnosti. Slika vsebnika gostuje na Registar elastičnih zabojnikov Amazon (Amazon ECR), popolnoma upravljan register vsebnikov, ki ponuja visoko zmogljivo gostovanje.
  4. Kadarkoli prispe nov tvit, aplikacija vsebnika tvit postavi v Storitev Amazon Simple Queue Service (Amazon SQS) čakalna vrsta. Amazon SQS je popolnoma upravljana storitev čakalne vrste sporočil, ki vam omogoča ločevanje in prilagajanje mikrostoritev, porazdeljenih sistemov in aplikacij brez strežnikov.
  5. Logika rešitve je v AWS Lambda funkcijo. Lambda je računalniška storitev brez strežnika, ki temelji na dogodkih. Funkcija porabi nove tvite iz čakalne vrste in jih razvrsti s klicem končne točke.
  6. Končna točka temelji na modelu Hugging Face in gostuje na SageMakerju. Končna točka izvede sklepanje in izpiše razred tweeta.
  7. Glede na klasifikacijo funkcija ustvari obvestilo prek Amazon Simple notification Service (Amazon SNS), popolnoma upravljana storitev sporočanja. Lahko se naročite na temo SNS in več destinacij lahko prejme to obvestilo (glejte Destinacije dogodkov Amazon SNS). Obvestilo lahko na primer dostavite v mape »Prejeto« kot e-poštna sporočila (glejte E-poštna obvestila).

Razmestite modele objemajočih se obrazov s SageMakerjem

Izberete lahko katerega koli od več kot 10,000 javno dostopnih modelov iz Hugging Face Model Hub in jih razmestite s SageMakerjem z uporabo DLC-ji Hugging Face Inference.

Pri uporabi Oblikovanje oblaka AWS, izberete enega od javno dostopnih Hugging Face Inference Containers ter konfigurirajte model in nalogo. Ta rešitev uporablja facebook/bart-large-mnli model in nalogo zero-shot-classification, vendar lahko izberete katerega koli od modelov pod Klasifikacija ničelnega strela na Hugging Face Model Hub. Konfigurirate jih tako, da v svoji predlogi CloudFormation nastavite spremenljivki okolja HF_MODEL_ID in HF_TASK, kot je prikazano v naslednji kodi:

SageMakerModel:
  Type: AWS::SageMaker::Model
  Properties:
    ExecutionRoleArn: !GetAtt SageMakerModelRole.Arn
    PrimaryContainer:
      Image: 763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-inference:1.7-transformers4.6-cpu-py36-ubuntu18.04
      Environment:
        HF_MODEL_ID: facebook/bart-large-mnli
        HF_TASK: zero-shot-classification
        SAGEMAKER_CONTAINER_LOG_LEVEL: 20
        SAGEMAKER_REGION: us-east-1

Če pa ne uporabljate AWS CloudFormation, lahko enake rezultate dosežete z nekaj vrsticami kode. Nanašati se na Razmestite modele v Amazon SageMaker Za več podrobnosti.

Če želite razvrstiti vsebino, preprosto pokličete končno točko SageMaker. Sledi delček kode Python:

endpoint_name = os.environ['ENDPOINT_NAME']
labels = os.environ['ENDPOINT_NAME']

data = {
    'inputs': tweet,
    'parameters': {
        'candidate_labels': labels,
        'multi_class': False
    }
}

response = sagemaker.invoke_endpoint(EndpointName=endpoint_name,
                                     ContentType='application/json',
                                     Body=json.dumps(data))

response_body = json.loads(response['Body'].read())

Upoštevajte False vrednost za več_razredov parameter, ki nakazuje, da bo vsota vseh verjetnosti za vsak razred znašala 1.

Izboljšave rešitev

Tukaj predlagano rešitev lahko izboljšate tako, da shranite tvite in rezultate modela. Preprosta storitev shranjevanja Amazon (Amazon S3), storitev za shranjevanje predmetov, je ena možnost. Tweete, rezultate in druge metapodatke lahko zapišete kot objekte JSON v vedro S3. Nato lahko izvajate ad hoc poizvedbe za to vsebino z uporabo Amazonska Atena, storitev interaktivnih poizvedb, ki olajša analizo podatkov v Amazon S3 z uporabo standardnega SQL.

Zgodovino lahko uporabite ne samo za pridobivanje vpogledov, temveč tudi za usposabljanje modela po meri. Podporo Hugging Face lahko uporabite za usposabljanje modela z lastnimi podatki s SageMakerjem. Več o tem Izvedite usposabljanje na Amazon SageMaker.

Primeri uporabe v resničnem svetu

Stranke že eksperimentirajo z modeli Hugging Face na SageMakerju. Zavarovanje Bolivar, kolumbijsko finančno in zavarovalniško podjetje, ustanovljeno leta 1939, je primer.

»Razvili smo rešitev za obveščanje o grožnjah za stranke in zavarovalne posrednike. Uporabljamo vnaprej usposobljene NLP modele Hugging Face za razvrščanje tweetov iz ustreznih računov za ustvarjanje obvestil za naše stranke v skoraj realnem času kot preventivno strategijo za pomoč pri ublažitvi zahtevkov. Reklamacija nastane, ker se stranke ne zavedajo stopnje tveganja, ki so ji izpostavljene. Rešitev nam omogoča ozaveščanje naših strank in spreminjanje tveganja v nekaj merljivega v konkretnih situacijah.«

– Julian Rico, vodja raziskav in znanja pri Seguros Bolívar.

Seguros Bolívar je sodeloval z AWS pri preoblikovanju njihove rešitve; zdaj se zanaša na SageMaker in je podoben tistemu, ki je opisan v tej objavi.

zaključek

Zero-shot klasifikacija je idealna, ko imate malo podatkov za usposabljanje klasifikatorja besedila po meri ali ko si ne morete privoščiti usposabljanja prilagojenega modela NLP. Za posebne primere uporabe, ko besedilo temelji na določenih besedah ​​ali izrazih, je bolje uporabiti model nadzorovane klasifikacije, ki temelji na naboru za usposabljanje po meri.

V tej objavi smo vam pokazali, kako zgraditi klasifikator novic z uporabo modela Hugging Face zero-shot na AWS. Za vir novic smo uporabili Twitter, vendar lahko izberete vir novic, ki bolj ustreza vašim potrebam. Poleg tega lahko preprosto spremenite model, samo določite izbrani model v predlogi CloudFormation.

Za izvorno kodo glejte GitHub repozitorij Vključuje celotna navodila za namestitev. Lahko ga klonirate, spremenite, uvedete in zaženete sami. Uporabite ga lahko tudi kot izhodišče in prilagodite kategorije in logiko opozoril ali zgradite drugo rešitev za podoben primer uporabe.

Preizkusite in nam sporočite, kaj mislite. Kot vedno se veselimo vaših povratnih informacij. Lahko ga pošljete običajnim stikom za podporo za AWS ali v AWS Forum za SageMaker.


O avtorjih

Zgradite sistem za opozarjanje v realnem času, ki temelji na novicah, s storitvijo Twitter, Amazon SageMaker in Hugging Face PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.David Laredo je arhitekt prototipov pri AWS Envision Engineering v LATAM, kjer je pomagal razviti več prototipov strojnega učenja. Prej je delal kot inženir strojnega učenja in se s strojnim učenjem ukvarja že več kot 5 let. Njegova področja zanimanja so NLP, časovne serije in ML od konca do konca.

Zgradite sistem za opozarjanje v realnem času, ki temelji na novicah, s storitvijo Twitter, Amazon SageMaker in Hugging Face PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Rafael Werneck je višji arhitekt za izdelavo prototipov pri AWS Envision Engineering s sedežem v Braziliji. Pred tem je delal kot inženir za razvoj programske opreme na Amazon.com.br in Amazon RDS Performance Insights.

Zgradite sistem za opozarjanje v realnem času, ki temelji na novicah, s storitvijo Twitter, Amazon SageMaker in Hugging Face PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Vikram Elango je specialist za rešitve AI/ML pri Amazon Web Services s sedežem v Virginiji v ZDA. Vikram pomaga strankam v finančni in zavarovalniški industriji z oblikovanjem in premišljenim vodstvom pri gradnji in uvajanju aplikacij strojnega učenja v velikem obsegu. Trenutno je osredotočen na obdelavo naravnega jezika, odgovorno umetno inteligenco, optimizacijo sklepanja in skaliranje ML v podjetju. V prostem času uživa v potovanjih, pohodništvu, kuhanju in kampiranju z družino.

Časovni žig:

Več od Strojno učenje AWS