Az online beszélgetések mindenütt jelen vannak a modern életben, a videojátékoktól a telekommunikációig. Ez az online beszélgetési adatok mennyiségének exponenciális növekedéséhez vezetett, ami elősegítette a legkorszerűbb természetes nyelvi feldolgozó (NLP) rendszerek, például a chatbotok és a természetes nyelvgenerációs (NLG) modellek kifejlesztését. Az idő múlásával a szövegelemzés különböző NLP-technikái is fejlődtek. Ez szükségessé teszi egy teljesen felügyelt szolgáltatás követelményét, amely API-hívások segítségével integrálható alkalmazásokba anélkül, hogy kiterjedt gépi tanulási (ML) szakértelemre lenne szükség. Az AWS előre kiképzett AWS AI szolgáltatásokat kínál, mint pl Amazon Comprehend, amely hatékonyan képes kezelni az osztályozást, szövegösszegzést, entitásfelismerést és sok mást magában foglaló NLP-használati eseteket, hogy betekintést nyerhessen a szövegből.
Ezenkívül az online beszélgetések a nem hagyományos nyelvhasználat széles körben elterjedt jelenségéhez vezettek. A hagyományos NLP technikák gyakran gyengén teljesítenek ezeken a szöveges adatokon a különböző platformokon folyamatosan fejlődő és tartomány-specifikus szókincsek miatt, valamint a szavak jelentős lexikális eltérései miatt a megfelelő angol nyelvtől, akár véletlenül, akár szándékosan az ellenséges támadás egy formájaként. .
Ebben a bejegyzésben több ML megközelítést ismertetünk az online beszélgetések szöveges osztályozására az AWS-en elérhető eszközökkel és szolgáltatásokkal.
Előfeltételek
Mielőtt mélyebben belemerülne ebbe a használati esetbe, kérjük, teljesítse a következő előfeltételeket:
- Állítson be egy AWS-fiók és a hozzon létre egy IAM-felhasználót.
- Állítsa be a AWS CLI és a AWS SDK-k.
- (Opcionális) Állítsa be Cloud9 IDE környezet.
adatbázisba
Ehhez a bejegyzéshez a Jigsaw Nem szándékolt torzítás a toxicitási osztályozási adatkészletben, egy etalon az online beszélgetések során előforduló toxicitás osztályozásának sajátos problémájához. Az adatkészlet toxicitási címkéket, valamint számos alcsoport-attribútumot tartalmaz, például obszcén, személyazonossági támadás, sértés, fenyegetés és szexuális jellegű. A címkék törtértékekként vannak megadva, amelyek azon emberi annotátorok arányát jelzik, akik hittek az adott szövegrészre alkalmazott attribútumban, ami ritkán egyhangú. A bináris címkék (például mérgező vagy nem mérgező) generálásához 0.5-ös küszöbértéket alkalmaznak a törtértékekre, és a küszöbértéknél nagyobb értékű megjegyzéseket a rendszer az adott címke pozitív osztályaként kezeli.
Alszavak beágyazása és RNN-ek
Első modellezési megközelítésünkben az alszavak beágyazása és az ismétlődő neurális hálózatok (RNN-ek) kombinációját használjuk a szövegosztályozási modellek betanításához. Az alszavak beágyazását vezette be Bojanowski et al. 2017-ben a korábbi szószintű beágyazási módszerek továbbfejlesztéseként. A hagyományos Word2Vec skip-gram modelleket arra tanítják, hogy megtanulják a célszó statikus vektoros ábrázolását, amely optimálisan megjósolja a szó kontextusát. Az alszómodellek viszont minden célszót a szót alkotó n-grammokból álló zsákként jelenítenek meg, ahol az n-gram n egymást követő karakterből áll. Ez a módszer lehetővé teszi, hogy a beágyazási modell jobban reprezentálja a korpuszban lévő kapcsolódó szavak mögöttes morfológiáját, valamint az újszerű, szókincsen kívüli (OOV) szavak beágyazásainak kiszámítását. Ez különösen fontos az online beszélgetések kontextusában, egy olyan problémakörben, ahol a felhasználók gyakran hibásan írják le a szavakat (néha szándékosan, hogy elkerüljék a felismerést), és egy egyedi, folyamatosan fejlődő szókincset használnak, amelyet egy általános képzési korpusz esetleg nem fog meg.
Amazon SageMaker megkönnyíti a felügyelt részszóbeágyazási modell betanítását és optimalizálását a saját domain-specifikus szöveges adatokból álló korpuszán a beépített BlazingText algoritmus. Letölthetünk meglévő általános célú modelleket is, amelyek nagy online szöveges adathalmazokra lettek kiképezve, mint például az alábbiak Az angol nyelvű modellek közvetlenül a fastText-től kaphatók. A SageMaker notebook-példányból egyszerűen futtassa a következőket egy előre betanított fastText modell letöltéséhez:
Függetlenül attól, hogy a BlazingText segítségével betanította a saját beágyazásait, vagy letöltött egy előre betanított modellt, az eredmény egy tömörített modell bináris, amelyet a gensim könyvtárral együtt használhat egy adott célszó vektorként való beágyazására az alkotó alszavak alapján:
Egy adott szövegszegmens előfeldolgozása után ezt a megközelítést használhatjuk vektoros ábrázolás létrehozására az egyes alkotó szavakhoz (szóközökkel elválasztva). Ezután a SageMaker-t és egy mély tanulási keretrendszert, például a PyTorch-et használjuk egy testreszabott RNN betanításához bináris vagy többcímkés osztályozási céllal, hogy megjósolhassuk, hogy a szöveg mérgező-e vagy sem, és megjelölt betanítási példák alapján a toxicitás konkrét altípusát.
Az előre feldolgozott szöveg feltöltéséhez ide Amazon egyszerű tárolási szolgáltatás (Amazon S3), használja a következő kódot:
A méretezhető, több GPU-s modell betanításának elindításához a SageMakerrel, írja be a következő kódot:
Belül , definiálunk egy PyTorch-adatkészletet, amelyet a train.py
a szöveges adatok előkészítése a modell betanításához és értékeléséhez:
Vegye figyelembe, hogy ez a kód előrevetíti, hogy a vectors.zip
A fastText vagy BlazingText beágyazásait tartalmazó fájl tárolásra kerül .
Ezenkívül az előre betanított fastText modelleket egyszerűen telepítheti a SageMaker élő végpontjaihoz, hogy menet közben kiszámolhassa a beágyazási vektorokat a releváns szószintű feladatokhoz. Lásd a következőket GitHub példa fül alatt találsz.
Transformers átölelő arccal
Második modellezési megközelítésünkhöz áttérünk a cikkben bemutatott Transformers használatára Csak a figyelem kell. A transzformátorok mély tanulási modellek, amelyeket az RNN-ek buktatóinak szándékosan történő elkerülésére terveztek azáltal, hogy egy önfigyelő mechanizmusra támaszkodnak, hogy globális függőséget vonjanak le a bemenet és a kimenet között. A Transformer modellarchitektúra lényegesen jobb párhuzamosítást tesz lehetővé, és viszonylag rövid edzési idő alatt nagy teljesítményt tud elérni.
A Transformers, a BERT sikerére építve, amelyet a lapban mutattak be BERT: Mély kétirányú transzformátorok előképzése a nyelv megértéséhez, hozzáadott kétirányú előképzés a nyelvi reprezentációhoz. A Cloze feladat ihlette a BERT-t a maszkolt nyelvi modellezéssel (MLM), amelyben a modell megtanulja visszaállítani a véletlenszerűen maszkolt tokenek eredeti szavait. A BERT-modell a következő mondat-előrejelzési (NSP) feladatra is előképzett, hogy megjósolja, hogy két mondat helyes olvasási sorrendben van-e. 2018-as megjelenése óta a BERT és variációi széles körben használatosak szövegosztályozási feladatokban.
Megoldásunk a BERT RoBERTa néven ismert változatát használja, amelyet a cikkben mutattunk be RoBERTa: Robusztusan optimalizált BERT előképzési megközelítés. A RoBERTa tovább javítja a BERT teljesítményét számos természetes nyelvi feladatban optimalizált modellképzéssel, beleértve a 10-szer nagyobb korpuszon hosszabb betanítási modelleket, optimalizált hiperparamétereket, dinamikus véletlenszerű maszkolást, az NSP-feladat eltávolítását stb.
RoBERTa alapú modelljeink a Átölelve Face Transformers könyvtár, amely egy népszerű nyílt forráskódú Python-keretrendszer, amely mindenféle legmodernebb Transformer modell kiváló minőségű megvalósítását biztosítja különféle NLP-feladatokhoz. A Hugging Face együttműködött az AWS-szel lehetővé teszi a Transformer modellek egyszerű betanítását és üzembe helyezését a SageMakeren. Ez a funkció a következőn keresztül érhető el Hugging Face AWS Deep Learning Container képek, amelyek magukban foglalják a Transformers, Tokenizers és Datasets könyvtárakat, valamint a SageMakerrel optimalizált integrációt a modellképzéshez és következtetésekhez.
Megvalósításunk során a RoBERTa architektúra gerincét a Hugging Face Transformers keretrendszertől örököljük, és a SageMaker segítségével tanítjuk és telepítjük saját szövegosztályozási modellünket, amelyet RoBERToxnak nevezünk. A RoBERTox bájtpáros kódolást (BPE) használ, amelyet ben vezettek be Ritka szavak idegi gépi fordítása részszóegységekkel, a bemeneti szöveg alszavak reprezentációiba való tokenizálásához. Ezután modelljeinket és tokenizátorainkat betaníthatjuk a Jigsaw adatokra vagy bármilyen nagy, tartományspecifikus korpuszra (például egy adott játék chatnaplójára), és testreszabott szövegosztályozásra használhatjuk őket. Egyéni besorolási modell osztályunkat a következő kódban határozzuk meg:
Edzés előtt elkészítjük szöveges adatainkat és címkéinket a Hugging Face adatkészlet-könyvtárával, és feltöltjük az eredményt az Amazon S3-ra:
A modell képzését az RNN-hez hasonló módon indítjuk:
Végül a következő Python-kódrészlet a RoBERTox kiszolgálásának folyamatát mutatja be egy élő SageMaker-végponton keresztül a JSON-kérés valós idejű szöveges osztályozása érdekében:
A modell teljesítményének értékelése: Jigsaw nem szándékolt torzítási adatkészlet
Az alábbi táblázat a Jigsaw Unintended Bias in Toxicity Detection Kaggle verseny adatai alapján betanított és kiértékelt modellek teljesítménymutatóit tartalmazza. Három különböző, de egymással összefüggő feladatra képeztünk modelleket:
- Bináris eset – A modellt a teljes képzési adatkészletre képezték ki, hogy előre jelezzék a
toxicity
csak címke - Finom szemcsés tok – A képzési adatok azon részhalmaza, amelyre
toxicity>=0.5
más toxicitási altípus-címkék előrejelzésére használták (obscene
,threat
,insult
,identity_attack
,sexual_explicit
) - Többfeladatos eset – A teljes képzési adatkészletet mind a hat címke egyidejű előrejelzésére használták
Mindhárom feladathoz RNN- és RoBERTa-modellt képeztünk ki a Jigsaw által biztosított törtcímkék segítségével, amelyek megfelelnek azon jegyzők arányának, akik szerint a címke megfelelő a szöveghez, valamint a hálózatban osztálysúlyokkal kombinált bináris címkékkel. veszteségfüggvény. A bináris címkézési sémában az arányokat 0.5-re küszöböltük minden elérhető címkére (1, ha címke>=0.5, egyébként 0), és a modellvesztési függvényeket a betanítási adatkészletben lévő egyes bináris címkék relatív arányai alapján súlyoztuk. Minden esetben azt találtuk, hogy a törtcímkék használata közvetlenül a legjobb teljesítményt eredményezte, jelezve az annotátorok közötti egyetértés mértékében rejlő információ hozzáadott értékét.
Két modell metrikát jelenítünk meg: az átlagos precizitást (AP), amely összefoglalja a precíziós-visszahívási görbét az egyes osztályozási küszöböknél elért pontossági értékek súlyozott átlagának kiszámításával, valamint a vevő működési jelleggörbe alatti területét (AUC). , amely összesíti a modell teljesítményét az osztályozási küszöbök között a valódi pozitív arány és a hamis pozitív arány tekintetében. Vegye figyelembe, hogy a teszthalmaz adott szövegpéldányának valódi osztálya annak felel meg, hogy a valódi arány nagyobb-e vagy egyenlő-e 0.5-tel (1, ha a címke>=0.5, egyébként 0).
. | Alszó beágyazása + RNN | RoBERTa | ||
. | Tört címkék | Bináris címkék + osztálysúlyozás | Tört címkék | Bináris címkék + osztálysúlyozás |
Kétkomponensű | AP=0.746, AUC=0.966 | AP=0.730, AUC=0.963 | AP=0.758, AUC=0.966 | AP=0.747, AUC=0.963 |
Finom szemcsés | 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 |
Következtetés
Ebben a bejegyzésben két szövegosztályozási megközelítést mutattunk be az AWS ML-szolgáltatásokat használó online beszélgetésekhez. Ezeket a megoldásokat általánosíthatja az online kommunikációs platformokon, és az olyan iparágakban, mint a játék, különösen nagy valószínűséggel profitálhat a káros tartalom észlelésének jobb képességéből. A jövőbeni bejegyzésekben azt tervezzük, hogy tovább tárgyaljuk a teljes körű architektúrát a modellek zökkenőmentes telepítéséhez az AWS-fiókjában.
Ha segítségre van szüksége az ML használatának felgyorsításához termékeiben és folyamataiban, kérjük, forduljon a Amazon ML Solutions Lab.
A szerzőkről
Ryan Brand az Amazon Machine Learning Solutions Lab adattudományi kutatója. Konkrét tapasztalattal rendelkezik az egészségügy és az élettudományok problémáira való gépi tanulás alkalmazásában, szabadidejében pedig szívesen olvas történelmet és tudományos-fantasztikus műveket.
Sourav Bhabesh adatkutató az Amazon ML Solutions Labnál. AI/ML megoldásokat fejleszt az AWS ügyfelei számára különböző iparágakban. Szakterülete a Natural Language Processing (NLP), és szenvedélyesen foglalkozik a mély tanulással. A munkán kívül szeret könyveket olvasni és utazni.
Liutong Zhou az Amazon ML Solutions Lab alkalmazott tudósa. Egyedi AI/ML megoldásokat készít az AWS ügyfelei számára a különböző iparágakban. A természetes nyelvi feldolgozásra (NLP) specializálódott, és szenvedélyesen rajong a multimodális mély tanulásért. Lírai tenor, és a munkán kívül is szívesen énekel operákat.
Sia Gholami vezető adattudós az Amazon ML Solutions Labnál, ahol AI/ML megoldásokat épít ügyfelei számára a különböző iparágakban. Szenvedélye a természetes nyelvi feldolgozás (NLP) és a mély tanulás. A munkán kívül Sia szívesen tölt időt a természetben és teniszez.
Daniel Horowitz Alkalmazott AI tudományos menedzser. Az Amazon ML Solutions Lab kutatócsoportját vezeti, amely az ügyfelek problémáinak megoldásán és az ML-felhő használatának elősegítésén dolgozik.
- Coinsmart. Európa legjobb Bitcoin- és kriptográfiai tőzsdéje.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. SZABAD HOZZÁFÉRÉS.
- CryptoHawk. Altcoin radar. Ingyenes próbaverzió.
- Forrás: https://aws.amazon.com/blogs/machine-learning/text-classification-for-online-conversations-with-machine-learning-on-aws/
- '
- "
- 10
- 100
- 7
- a
- képesség
- Rólunk
- gyorsuló
- Fiók
- Elérése
- elért
- át
- hozzáadott
- Örökbefogadás
- Megállapodás
- AI
- AI szolgáltatások
- Minden termék
- lehetővé teszi, hogy
- amazon
- összeg
- elemzés
- api
- alkalmazások
- alkalmazott
- alkalmaz
- Alkalmazása
- megközelítés
- megközelít
- megfelelő
- építészet
- TERÜLET
- attribútumok
- elérhető
- átlagos
- AWS
- táska
- benchmark
- haszon
- BEST
- Jobb
- között
- nagyobb
- Könyvek
- épít
- beépített
- hívás
- eset
- esetek
- karakter
- osztály
- besorolás
- felhő
- kód
- kombináció
- kombinált
- Hozzászólások
- közlés
- verseny
- teljes
- áll
- számítás
- Kiszámít
- számítástechnika
- folyamatos
- állandóan
- kapcsolat
- Konténer
- tartalmaz
- tartalom
- Beszélgetés
- beszélgetések
- teremt
- görbe
- szokás
- vevő
- Ügyfelek
- dátum
- adattudós
- mély
- telepíteni
- bevetés
- leírni
- tervezett
- részletek
- Érzékelés
- Határozzuk meg
- Fejlesztés
- különböző
- Dimenzió
- közvetlenül
- megvitatni
- kijelző
- letöltés
- hajtás
- alatt
- dinamikus
- minden
- könnyen
- hatékonyan
- lehetővé
- végtől végig
- Endpoint
- Angol
- belép
- egység
- értékelés
- fejlődik
- példa
- példák
- létező
- tapasztalat
- szakvélemény
- kiterjedt
- Arc
- Divat
- Fiction
- vezetéknév
- következő
- forma
- Előre
- talált
- töredékes
- Keretrendszer
- Ingyenes
- ból ből
- Tele
- funkció
- funkcionalitás
- funkciók
- további
- jövő
- játék
- Games
- szerencsejáték
- általános
- Általános rendeltetésű
- generál
- generáció
- Globális
- nagyobb
- Növekedés
- fogantyú
- fej
- egészségügyi
- segít
- segített
- Magas
- jó minőségű
- történelem
- HTTPS
- emberi
- Identitás
- végrehajtás
- fontos
- javított
- javulás
- tartalmaz
- Beleértve
- iparágak
- információ
- velejáró
- bemenet
- meglátások
- inspirálta
- példa
- Sértés
- integrált
- integráció
- IT
- lombfűrész
- Munka
- kulcsok
- ismert
- labor
- Címke
- címkézés
- Címkék
- nyelv
- nagy
- nagyobb
- réteg
- vezetékek
- TANUL
- tanulás
- Led
- könyvtár
- Life Sciences
- Valószínű
- él
- kiszámításának
- gép
- gépi tanulás
- csinál
- KÉSZÍT
- sikerült
- menedzser
- maszk
- maszkok
- Mérkőzés
- Mátrix
- mechanizmus
- Memory design
- mód
- Metrics
- esetleg
- ML
- modell
- modellek
- több
- többszörös
- Természetes
- Természet
- hálózat
- hálózatok
- következő
- jegyzetfüzet
- szám
- Ajánlatok
- online
- üzemeltetési
- Optimalizálja
- optimalizált
- érdekében
- eredeti
- Más
- másképp
- saját
- Papír
- különösen
- társult
- szenvedélyes
- teljesítmény
- darab
- Platformok
- játék
- kérem
- Népszerű
- pozitív
- Hozzászólások
- előre
- előrejelzés
- Készít
- előző
- Probléma
- problémák
- folyamat
- Folyamatok
- feldolgozás
- Termékek
- Vetítés
- feltéve,
- biztosít
- Olvasás
- real-time
- Meggyógyul
- eltávolítása
- képvisel
- képviselet
- képviselő
- kérni
- visszatérés
- Visszatér
- Szerep
- futás
- skálázható
- rendszer
- Tudomány
- TUDOMÁNYOK
- Tudós
- tudósok
- zökkenőmentes
- részes
- szolgáltatás
- Szolgáltatások
- szolgáló
- készlet
- számos
- rövid
- jelentős
- hasonló
- Egyszerű
- óta
- SIX
- Méret
- megoldások
- Megoldások
- SOLVE
- Hely
- terek
- specializálódott
- Különlegesség
- különleges
- Költési
- csúcs-
- Államok
- tárolás
- siker
- Systems
- cél
- feladatok
- csapat
- technikák
- távközlés
- teszt
- A
- három
- küszöb
- Keresztül
- idő
- alkalommal
- tokenek
- szerszámok
- fáklya
- hagyományos
- Vonat
- Képzések
- átmenet
- Fordítás
- Utazó
- alatt
- egyedi
- használ
- Felhasználók
- érvényesítés
- érték
- fajta
- különféle
- videó
- videojátékok
- vajon
- WHO
- belül
- nélkül
- szavak
- Munka
- dolgozó
- A te