Online-Gespräche sind im modernen Leben allgegenwärtig und umfassen Branchen von Videospielen bis hin zur Telekommunikation. Dies hat zu einem exponentiellen Wachstum der Menge an Online-Gesprächsdaten geführt, was zur Entwicklung modernster Systeme zur Verarbeitung natürlicher Sprache (NLP) wie Chatbots und Modellen zur Erzeugung natürlicher Sprache (NLG) beigetragen hat. Im Laufe der Zeit haben sich auch verschiedene NLP-Techniken zur Textanalyse entwickelt. Dies erfordert die Anforderung eines vollständig verwalteten Dienstes, der mithilfe von API-Aufrufen in Anwendungen integriert werden kann, ohne dass umfangreiches Fachwissen im Bereich maschinelles Lernen (ML) erforderlich ist. AWS bietet vortrainierte AWS-KI-Services wie z Amazon verstehen, das NLP-Anwendungsfälle wie Klassifizierung, Textzusammenfassung, Entitätserkennung und mehr effektiv handhaben kann, um Erkenntnisse aus Text zu gewinnen.
Darüber hinaus haben Online-Gespräche zu einem weit verbreiteten Phänomen des nicht-traditionellen Sprachgebrauchs geführt. Herkömmliche NLP-Techniken schneiden bei diesen Textdaten aufgrund der sich ständig weiterentwickelnden und domänenspezifischen Vokabeln, die auf verschiedenen Plattformen vorhanden sind, sowie der erheblichen lexikalischen Abweichungen von Wörtern vom richtigen Englisch, entweder versehentlich oder absichtlich als Form eines gegnerischen Angriffs, oft schlecht ab .
In diesem Beitrag beschreiben wir mehrere ML-Ansätze für die Textklassifizierung von Online-Gesprächen mit Tools und Diensten, die auf AWS verfügbar sind.
Voraussetzungen:
Bevor Sie tief in diesen Anwendungsfall eintauchen, erfüllen Sie bitte die folgenden Voraussetzungen:
- Richten Sie ein AWS-Konto und Erstellen Sie einen IAM-Benutzer.
- Richten Sie die AWS-CLI und AWS-SDKs.
- (Optional) Richten Sie Ihre ein Cloud9 IDE-Umgebung.
Datensatz
Für diesen Beitrag verwenden wir die Jigsaw Unbeabsichtigte Verzerrung im Datensatz zur Toxizitätsklassifizierung, ein Maßstab für das spezifische Problem der Toxizitätseinstufung in Online-Gesprächen. Der Datensatz enthält Toxizitätsetiketten sowie mehrere Untergruppenattribute wie obszön, Identitätsangriff, Beleidigung, Bedrohung und sexuell eindeutig. Beschriftungen werden als Bruchwerte bereitgestellt, die den Anteil menschlicher Annotatoren darstellen, die glaubten, dass das Attribut auf einen bestimmten Textabschnitt angewendet wird, was selten einstimmig ist. Zum Generieren von binären Labels (z. B. giftig oder nicht toxisch) wird ein Schwellenwert von 0.5 auf die Teilwerte angewendet, und Kommentare mit Werten über dem Schwellenwert werden als positive Klasse für dieses Label behandelt.
Teilworteinbettung und RNNs
Für unseren ersten Modellierungsansatz verwenden wir eine Kombination aus Teilworteinbettung und rekurrenten neuronalen Netzen (RNNs), um Textklassifizierungsmodelle zu trainieren. Teilworteinbettungen wurden eingeführt von Bojanowskiet al. im Jahr 2017 als eine Verbesserung gegenüber früheren Einbettungsverfahren auf Wortebene. Herkömmliche Word2Vec-Skip-Gram-Modelle werden darauf trainiert, eine statische Vektordarstellung eines Zielworts zu lernen, die den Kontext dieses Worts optimal vorhersagt. Teilwortmodelle hingegen stellen jedes Zielwort als eine Tasche von Zeichen-N-Grammen dar, aus denen das Wort besteht, wobei ein N-Gramm aus einem Satz von n aufeinanderfolgenden Zeichen besteht. Diese Methode ermöglicht es dem Einbettungsmodell, die zugrunde liegende Morphologie verwandter Wörter im Korpus besser darzustellen, sowie die Berechnung von Einbettungen für neuartige Wörter außerhalb des Vokabulars (OOV). Dies ist besonders wichtig im Zusammenhang mit Online-Gesprächen, einem Problembereich, in dem Benutzer häufig Wörter falsch schreiben (manchmal absichtlich, um der Erkennung zu entgehen) und außerdem ein einzigartiges, sich ständig weiterentwickelndes Vokabular verwenden, das möglicherweise nicht von einem allgemeinen Trainingskorpus erfasst wird.
Amazon Sage Maker erleichtert das Trainieren und Optimieren eines unbeaufsichtigten Subword-Einbettungsmodells auf Ihrem eigenen Korpus domänenspezifischer Textdaten mit dem integrierten BlazingText-Algorithmus. Wir können auch vorhandene Allzweckmodelle herunterladen, die mit großen Datensätzen von Online-Text trainiert wurden, wie z. B. die folgenden Englischsprachige Modelle sind direkt bei fastText erhältlich. Führen Sie in Ihrer SageMaker-Notebook-Instance einfach Folgendes aus, um ein vortrainiertes fastText-Modell herunterzuladen:
Unabhängig davon, ob Sie Ihre eigenen Einbettungen mit BlazingText trainiert oder ein vortrainiertes Modell heruntergeladen haben, das Ergebnis ist eine gezippte Modellbinärdatei, die Sie mit der Gensim-Bibliothek verwenden können, um ein bestimmtes Zielwort als Vektor basierend auf seinen Teilwörtern einzubetten:
Nachdem wir ein bestimmtes Textsegment vorverarbeitet haben, können wir diesen Ansatz verwenden, um eine Vektordarstellung für jedes der konstituierenden Wörter (durch Leerzeichen getrennt) zu generieren. Anschließend verwenden wir SageMaker und ein Deep-Learning-Framework wie PyTorch, um ein angepasstes RNN mit einem binären oder Multilabel-Klassifizierungsziel zu trainieren, um vorherzusagen, ob der Text toxisch ist oder nicht, und den spezifischen Subtyp der Toxizität basierend auf gekennzeichneten Trainingsbeispielen.
Um Ihren vorverarbeiteten Text hochzuladen Amazon Simple Storage-Service (Amazon S3) verwenden Sie den folgenden Code:
Um ein skalierbares Multi-GPU-Modelltraining mit SageMaker zu initiieren, geben Sie den folgenden Code ein:
Innerhalb definieren wir ein PyTorch-Dataset, das von verwendet wird train.py
um die Textdaten für das Training und die Evaluierung des Modells aufzubereiten:
Beachten Sie, dass dieser Code davon ausgeht, dass die vectors.zip
Datei mit Ihren FastText- oder BlazingText-Einbettungen gespeichert .
Darüber hinaus können Sie vortrainierte FastText-Modelle ganz einfach selbst auf Live-SageMaker-Endpunkten bereitstellen, um Einbettungsvektoren für die Verwendung in relevanten Aufgaben auf Wortebene im Handumdrehen zu berechnen. Siehe Folgendes GitHub-Beispiel für weitere Informationen an.
Transformatoren mit umarmendem Gesicht
Für unseren zweiten Modellierungsansatz gehen wir zur Verwendung von Transformern über, die in diesem Artikel vorgestellt wurden Aufmerksamkeit ist alles was Sie brauchen. Transformer sind Deep-Learning-Modelle, die entwickelt wurden, um die Fallstricke von RNNs bewusst zu vermeiden, indem sie sich auf einen Selbstaufmerksamkeitsmechanismus verlassen, um globale Abhängigkeiten zwischen Eingabe und Ausgabe zu ziehen. Die Transformer-Modellarchitektur ermöglicht eine deutlich bessere Parallelisierung und kann in relativ kurzer Trainingszeit eine hohe Leistung erzielen.
Aufbauend auf dem Erfolg von Transformers, BERT, vorgestellt in der Zeitung BERT: Vorschulung von tiefen bidirektionalen Transformatoren für das Sprachverständnis, bidirektionales Vortraining für die Sprachdarstellung hinzugefügt. Inspiriert von der Cloze-Aufgabe ist BERT mit maskierter Sprachmodellierung (MLM) vortrainiert, bei der das Modell lernt, die ursprünglichen Wörter für zufällig maskierte Token wiederherzustellen. Das BERT-Modell ist auch auf die Aufgabe zur Vorhersage des nächsten Satzes (NSP) vortrainiert, um vorherzusagen, ob zwei Sätze in der richtigen Lesereihenfolge sind. Seit seiner Einführung im Jahr 2018 werden BERT und seine Variationen häufig für Textklassifizierungsaufgaben verwendet.
Unsere Lösung verwendet eine Variante von BERT namens RoBERTa, die in der Zeitung vorgestellt wurde RoBERTa: Ein robust optimierter BERT-Pretraining-Ansatz. RoBERTa verbessert die BERT-Leistung bei einer Vielzahl von Aufgaben in natürlicher Sprache weiter durch optimiertes Modelltraining, einschließlich längerer Trainingsmodelle auf einem 10-mal größeren Korpus, Verwendung optimierter Hyperparameter, dynamischer zufälliger Maskierung, Entfernung der NSP-Aufgabe und mehr.
Unsere RoBERTa-basierten Modelle verwenden die Umarmen von Gesichtstransformatoren Library, ein beliebtes Open-Source-Python-Framework, das qualitativ hochwertige Implementierungen aller Arten von hochmodernen Transformer-Modellen für eine Vielzahl von NLP-Aufgaben bereitstellt. Hugging Face ist eine Partnerschaft mit AWS eingegangen damit Sie Transformer-Modelle auf SageMaker einfach trainieren und bereitstellen können. Diese Funktionalität ist über verfügbar Hugging Face AWS Deep Learning Container-Bilder, die die Transformers-, Tokenizers- und Datasets-Bibliotheken umfassen, sowie eine optimierte Integration mit SageMaker für Modelltraining und Inferenz.
In unserer Implementierung erben wir das RoBERTa-Architektur-Backbone vom Hugging Face Transformers-Framework und verwenden SageMaker, um unser eigenes Textklassifizierungsmodell, das wir RoBERTox nennen, zu trainieren und bereitzustellen. RoBERTox verwendet Byte Pair Encoding (BPE), eingeführt in Neuronale maschinelle Übersetzung seltener Wörter mit Teilworteinheiten, um Eingabetext in Teilwortdarstellungen zu zerlegen. Wir können dann unsere Modelle und Tokenizer mit den Jigsaw-Daten oder einem großen domänenspezifischen Korpus (z. B. den Chatprotokollen eines bestimmten Spiels) trainieren und sie für eine benutzerdefinierte Textklassifizierung verwenden. Wir definieren unsere benutzerdefinierte Klassifizierungsmodellklasse im folgenden Code:
Vor dem Training bereiten wir unsere Textdaten und Etiketten mit der Datensatzbibliothek von Hugging Face vor und laden das Ergebnis in Amazon S3 hoch:
Wir initiieren das Training des Modells auf ähnliche Weise wie beim RNN:
Schließlich veranschaulicht das folgende Python-Code-Snippet den Prozess der Bereitstellung von RoBERTox über einen Live-SageMaker-Endpunkt für die Echtzeit-Textklassifizierung für eine JSON-Anfrage:
Bewertung der Modellleistung: Jigsaw-Datensatz für unbeabsichtigte Verzerrungen
Die folgende Tabelle enthält Leistungsmetriken für Modelle, die anhand von Daten aus dem Kaggle-Wettbewerb Jigsaw Unintended Bias in Toxicity Detection trainiert und bewertet wurden. Wir haben Modelle für drei verschiedene, aber miteinander verbundene Aufgaben trainiert:
- Binärer Fall – Das Modell wurde mit dem vollständigen Trainingsdatensatz trainiert, um die
toxicity
nur Etikett - Feinkörniges Gehäuse – Die Teilmenge der Trainingsdaten, für die
toxicity>=0.5
wurde verwendet, um andere Kennzeichnungen für Toxizitätssubtypen vorherzusagen (obscene
,threat
,insult
,identity_attack
,sexual_explicit
) - Multitasking-Fall – Der vollständige Trainingsdatensatz wurde verwendet, um alle sechs Labels gleichzeitig vorherzusagen
Wir haben RNN- und RoBERTa-Modelle für jede dieser drei Aufgaben trainiert, indem wir die von Jigsaw bereitgestellten fraktionalen Labels verwendet haben, die dem Anteil der Kommentatoren entsprechen, die das Label für den Text geeignet hielten, sowie mit binären Labels in Kombination mit Klassengewichtungen im Netzwerk verlustfunktion. Im binären Etikettierungsschema wurden die Anteile auf 0.5 für jedes verfügbare Etikett festgelegt (1, wenn Etikett>=0.5, sonst 0), und die Modellverlustfunktionen wurden basierend auf den relativen Anteilen jedes binären Etiketts im Trainingsdatensatz gewichtet. In allen Fällen haben wir festgestellt, dass die direkte Verwendung der Bruchbezeichnungen zur besten Leistung führte, was auf den Mehrwert der Informationen hinweist, die dem Grad der Übereinstimmung zwischen den Kommentatoren innewohnen.
Wir zeigen zwei Modellmetriken: die durchschnittliche Präzision (AP), die eine Zusammenfassung der Präzisions-Recall-Kurve liefert, indem das gewichtete Mittel der Präzisionswerte berechnet wird, die bei jedem Klassifizierungsschwellenwert erreicht werden, und die Fläche unter der Receiver Operating Characteristic Curve (AUC). , das die Modellleistung über Klassifizierungsschwellenwerte hinweg in Bezug auf die True-Positive-Rate und die False-Positive-Rate aggregiert. Beachten Sie, dass die True-Klasse für eine bestimmte Textinstanz in der Testmenge dem entspricht, ob der True-Anteil größer oder gleich 0.5 ist (1, wenn Label>=0.5, andernfalls 0).
. | Teilworteinbettung + RNN | Roberta | ||
. | Bruchetiketten | Binäre Labels + Klassengewichtung | Bruchetiketten | Binäre Labels + Klassengewichtung |
Binär | AP=0.746, AUC = 0.966 | AP = 0.730, AUC = 0.963 | AP = 0.758, AUC = 0.966 | AP = 0.747, AUC = 0.963 |
Feinkörnig | 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 |
Zusammenfassung
In diesem Beitrag haben wir zwei Ansätze zur Textklassifizierung für Online-Gespräche mit AWS ML-Services vorgestellt. Sie können diese Lösungen auf Online-Kommunikationsplattformen verallgemeinern, wobei Branchen wie Spiele besonders wahrscheinlich von einer verbesserten Fähigkeit zur Erkennung schädlicher Inhalte profitieren werden. In zukünftigen Beiträgen planen wir, eine End-to-End-Architektur für die nahtlose Bereitstellung von Modellen in Ihrem AWS-Konto weiter zu diskutieren.
Wenn Sie dabei helfen möchten, die Verwendung von ML in Ihren Produkten und Prozessen zu beschleunigen, wenden Sie sich bitte an die Amazon ML-Lösungslabor.
Über die Autoren
Ryan Marke ist Data Scientist im Amazon Machine Learning Solutions Lab. Er verfügt über besondere Erfahrung in der Anwendung von maschinellem Lernen auf Probleme im Gesundheitswesen und in den Biowissenschaften und liest in seiner Freizeit gerne Geschichte und Science-Fiction.
Surav Bhabesh ist Data Scientist im Amazon ML Solutions Lab. Er entwickelt KI/ML-Lösungen für AWS-Kunden aus verschiedenen Branchen. Sein Spezialgebiet ist Natural Language Processing (NLP) und er beschäftigt sich leidenschaftlich mit Deep Learning. Außerhalb der Arbeit liest er gerne Bücher und reist.
Liutong Zhou ist Applied Scientist im Amazon ML Solutions Lab. Er entwickelt maßgeschneiderte KI/ML-Lösungen für AWS-Kunden aus verschiedenen Branchen. Er ist auf Natural Language Processing (NLP) spezialisiert und hat eine Leidenschaft für multimodales Deep Learning. Er ist ein lyrischer Tenor und singt außerhalb der Arbeit gerne Opern.
Sia Gholami ist Senior Data Scientist im Amazon ML Solutions Lab, wo er KI/ML-Lösungen für Kunden aus verschiedenen Branchen entwickelt. Seine Leidenschaft gilt Natural Language Processing (NLP) und Deep Learning. Außerhalb der Arbeit verbringt Sia gerne Zeit in der Natur und spielt Tennis.
Daniel Horowitz ist Applied AI Science Manager. Er leitet ein Team von Wissenschaftlern im Amazon ML Solutions Lab, das daran arbeitet, Kundenprobleme zu lösen und die Cloud-Akzeptanz mit ML voranzutreiben.
- Coinsmart. Europas beste Bitcoin- und Krypto-Börse.
- Platoblockkette. Web3-Metaverse-Intelligenz. Wissen verstärkt. DEN FREIEN ZUGANG.
- CryptoHawk. Altcoin-Radar. Kostenlose Testphase.
- Quelle: https://aws.amazon.com/blogs/machine-learning/text-classification-for-online-conversations-with-machine-learning-on-aws/
- '
- "
- 10
- 100
- 7
- a
- Fähigkeit
- Über uns
- beschleunigend
- Konto
- Erreichen
- erreicht
- über
- hinzugefügt
- Adoption
- Zustimmung
- AI
- KI-Dienste
- Alle
- erlaubt
- Amazon
- Betrag
- Analyse
- Bienen
- Anwendungen
- angewandt
- Jetzt bewerben
- Anwendung
- Ansatz
- Ansätze
- angemessen
- Architektur
- Bereich
- Attribute
- verfügbar
- durchschnittlich
- AWS
- beutel
- Benchmark
- Nutzen
- BESTE
- Besser
- zwischen
- größer
- Bücher
- baut
- eingebaut
- rufen Sie uns an!
- Häuser
- Fälle
- Zeichen
- Klasse
- Einstufung
- Cloud
- Code
- Kombination
- kombiniert
- Bemerkungen
- Kommunikation
- Wettbewerb
- abschließen
- zusammengesetzt
- Berechnung
- Berechnen
- Computing
- aufeinanderfolgenden
- ständig
- Kontakt
- Container
- enthält
- Inhalt
- Gespräch
- Gespräche
- erstellen
- Kurve
- Original
- Kunde
- Kunden
- technische Daten
- Datenwissenschaftler
- tief
- einsetzen
- Einsatz
- beschreiben
- entworfen
- Details
- Entdeckung
- Bestimmen
- Entwicklung
- anders
- Abmessungen
- Direkt
- diskutieren
- Display
- herunterladen
- Antrieb
- im
- dynamisch
- jeder
- leicht
- effektiv
- ermöglichen
- End-to-End
- Endpunkt
- Englisch
- Enter
- Einheit
- Auswertung
- sich entwickelnden
- Beispiel
- Beispiele
- vorhandenen
- ERFAHRUNGEN
- Expertise
- umfangreiche
- Gesicht
- Fashion
- Fiktion
- Vorname
- Folgende
- unten stehende Formular
- vorwärts
- gefunden
- fraktioniert
- Unser Ansatz
- Frei
- für
- voller
- Funktion
- Funktionalität
- Funktionen
- weiter
- Zukunft
- Spiel
- Games
- Gaming
- Allgemeines
- allgemeiner Zweck
- erzeugen
- Generation
- Global
- mehr
- Wachstum
- Griff
- ganzer
- Gesundheitswesen
- Hilfe
- dazu beigetragen,
- High
- hochwertige
- Geschichte
- HTTPS
- human
- Identitätsschutz
- Implementierung
- wichtig
- verbessert
- Verbesserung
- das
- Einschließlich
- Branchen
- Information
- inhärent
- Eingangsmöglichkeiten:
- Einblicke
- inspirierte
- Instanz
- Beleidigung
- integriert
- Integration
- IT
- Puzzle
- Job
- Tasten
- bekannt
- Labor
- Label
- Beschriftung
- Etiketten
- Sprache
- grosse
- größer
- Schicht
- umwandeln
- LERNEN
- lernen
- geführt
- Bibliothek
- Biowissenschaften
- wahrscheinlich
- leben
- Belastung
- Maschine
- Maschinelles Lernen
- um
- MACHT
- verwaltet
- Manager
- Maske"
- Masken
- Spiel
- Matrix
- Mechanismus
- Memory
- Methoden
- Metrik
- könnte
- ML
- Modell
- für
- mehr
- mehrere
- Natürliche
- Natur
- Netzwerk
- Netzwerke
- weiter
- Notizbuch
- Anzahl
- Angebote
- Online
- die
- Optimieren
- optimiert
- Auftrag
- Original
- Andere
- Andernfalls
- besitzen
- Papier
- besonders
- Partnerschaft
- leidenschaftlich
- Leistung
- Stück
- Plattformen
- spielend
- Bitte
- Beliebt
- positiv
- BLOG-POSTS
- vorhersagen
- Prognose
- Danach
- früher
- Aufgabenstellung:
- Probleme
- Prozessdefinierung
- anpassen
- Verarbeitung
- Produkte
- Projektion
- vorausgesetzt
- bietet
- Lesebrillen
- Echtzeit
- Entspannung
- relevant
- Entfernen
- vertreten
- Darstellung
- Darstellen
- Anforderung
- Rückkehr
- Rückgabe
- Rollen
- Führen Sie
- skalierbaren
- Schema
- Wissenschaft
- WISSENSCHAFTEN
- Wissenschaftler
- Wissenschaftler
- nahtlos
- Segment
- Leistungen
- Dienst
- kompensieren
- mehrere
- Short
- signifikant
- ähnlich
- Einfacher
- da
- SIX
- Größe
- Lösung
- Lösungen
- LÖSEN
- Raumfahrt
- Räume
- spezialisiert
- Spezialprodukte
- spezifisch
- Ausgabe
- State-of-the-art
- Staaten
- Lagerung
- Erfolg
- Systeme und Techniken
- Target
- und Aufgaben
- Team
- Techniken
- Telekommunikation
- Test
- Das
- nach drei
- Schwelle
- Durch
- Zeit
- mal
- Tokens
- Werkzeuge
- Fackel
- traditionell
- Training
- Ausbildung
- Übergang
- Übersetzungen
- Reise
- für
- einzigartiges
- -
- Nutzer
- Bestätigung
- Wert
- Vielfalt
- verschiedene
- Video
- Videospiele
- ob
- WHO
- .
- ohne
- Worte
- Arbeiten
- arbeiten,
- Ihr