NLP mit Google Cloud Natural Language API
Veröffentlicht: 2022-03-11Die Verarbeitung natürlicher Sprache (NLP), die Kombination aus maschinellem Lernen und Linguistik, hat sich zu einem der am intensivsten erforschten Themen im Bereich der künstlichen Intelligenz entwickelt. In den letzten Jahren wurden viele neue Meilensteine erreicht, der neueste ist das GPT-2-Modell von OpenAI, das in der Lage ist, aus einem kurzen Input realistische und kohärente Artikel zu jedem Thema zu produzieren.
Dieses Interesse wird durch die vielen kommerziellen Anwendungen angetrieben, die in den letzten Jahren auf den Markt gebracht wurden. Wir sprechen mit unseren Heimassistenten, die NLP verwenden, um die Audiodaten zu transkribieren und unsere Fragen und Befehle zu verstehen. Immer mehr Unternehmen verlagern einen großen Teil der Kundenkommunikation auf automatisierte Chatbots. Online-Marktplätze verwenden es, um gefälschte Bewertungen zu identifizieren, Medienunternehmen verlassen sich auf NLP, um Nachrichtenartikel zu schreiben, Personalvermittlungsunternehmen gleichen Lebensläufe mit Stellen ab, Social-Media-Giganten filtern automatisch hasserfüllte Inhalte und Anwaltskanzleien verwenden NLP, um Verträge zu analysieren.
Das Trainieren und Bereitstellen von Modellen für maschinelles Lernen für solche Aufgaben war in der Vergangenheit ein komplexer Prozess, der ein Expertenteam und eine teure Infrastruktur erforderte. Aber die hohe Nachfrage nach solchen Anwendungen hat große Anbieter dazu veranlasst, NLP-bezogene Dienste zu entwickeln, die den Arbeitsaufwand und die Infrastrukturkosten erheblich reduzieren. Die durchschnittlichen Kosten für Cloud-Dienste sinken seit Jahren, und dieser Trend wird sich voraussichtlich fortsetzen.
Die Produkte, die ich in diesem Artikel vorstellen werde, sind Teil von Google Cloud Services und heißen „Google Natural Language API“ und „Google AutoML Natural Language“.
Google-API für natürliche Sprache
Die Google Natural Language API ist eine benutzerfreundliche Schnittstelle zu einer Reihe leistungsstarker NLP-Modelle, die von Google vortrainiert wurden, um verschiedene Aufgaben auszuführen. Da diese Modelle auf enorm großen Dokumentenkorpussen trainiert wurden, ist ihre Leistung normalerweise recht gut, solange sie auf Datensätzen verwendet werden, die keine sehr eigenwillige Sprache verwenden.
Der größte Vorteil der Verwendung dieser vortrainierten Modelle über die API besteht darin, dass kein Trainingsdatensatz benötigt wird. Die API ermöglicht es dem Benutzer, sofort mit Vorhersagen zu beginnen, was in Situationen, in denen nur wenige gekennzeichnete Daten verfügbar sind, sehr wertvoll sein kann.
Die Natural Language API umfasst fünf verschiedene Dienste:
- Syntaxanalyse
- Stimmungsanalyse
- Entitätsanalyse
- Entity-Sentiment-Analyse
- Textklassifizierung
Syntaxanalyse
Für einen bestimmten Text liefert die Syntaxanalyse von Google eine Aufschlüsselung aller Wörter mit einem umfangreichen Satz an linguistischen Informationen für jedes Token. Die Informationen lassen sich in zwei Teile gliedern:
Wortart: Dieser Teil enthält Informationen über die Morphologie jedes Tokens. Für jedes Wort wird eine detaillierte Analyse zurückgegeben, die Typ (Substantiv, Verb usw.), Geschlecht, grammatikalische Groß- und Kleinschreibung, Zeitform, grammatikalische Stimmung, grammatikalische Stimme und vieles mehr enthält.
Zum Beispiel für den Eingabesatz „Ein Computer hat mich mal beim Schach geschlagen, aber beim Kickboxen war er mir nicht gewachsen.“ (Emo Philips) ist die Wortartanalyse:
EIN | Stichwort: DET |
'Computer' | Tag: NOUN Zahl: SINGULAR |
'Einmal' | Stichwort: ADV |
'schlagen' | Tag: VERB Stimmung: INDIKATIV Zeitform: VERGANGENHEIT |
'mich' | tag: PRON case: AKKUSATIVE Zahl: SINGULAR person: FIRST |
bei | Stichwort: ADP |
'Schach' | Tag: NOUN Zahl: SINGULAR |
',' | Stichwort: PUNKT |
'aber' | Stichwort: Konj |
'es' | Tag: PRON Fall: NOMINATIVES Geschlecht: NEUTRUM Zahl: SINGULAR Person: DRITTER |
'war' | Tag: VERB Stimmung: INDIKATIVE Zahl: SINGULAR Person: DRITTE Zeitform: VERGANGENHEIT |
'Nein' | Stichwort: DET |
'passen' | Tag: NOUN Zahl: SINGULAR |
'zum' | Stichwort: ADP |
'trete' | Tag: NOUN Zahl: SINGULAR |
'Boxen' | Tag: NOUN Zahl: SINGULAR |
'.' | Stichwort: PUNKT |
Abhängigkeitsbäume: Der zweite Teil der Rückgabe wird als Abhängigkeitsbaum bezeichnet, der die syntaktische Struktur jedes Satzes beschreibt. Das folgende Diagramm eines berühmten Kennedy-Zitats zeigt einen solchen Abhängigkeitsbaum. Für jedes Wort zeigen die Pfeile an, welche Wörter dadurch modifiziert werden.
Die häufig verwendeten Python-Bibliotheken nltk und spaCy enthalten ähnliche Funktionalitäten. Die Qualität der Analyse ist bei allen drei Optionen konstant hoch, aber die Google Natural Language API ist einfacher zu bedienen. Die obige Analyse kann mit sehr wenigen Codezeilen erhalten werden (siehe Beispiel weiter unten). Doch während spaCy und nltk Open Source und damit kostenlos sind, kostet die Nutzung der Google Natural Language API ab einer gewissen Anzahl kostenloser Anfragen Geld (siehe Kostenkapitel).
Neben Englisch unterstützt die Syntaxanalyse zehn weitere Sprachen: Chinesisch (vereinfacht), Chinesisch (traditionell), Französisch, Deutsch, Italienisch, Japanisch, Koreanisch, Portugiesisch, Russisch und Spanisch .
Stimmungsanalyse
Der Syntaxanalysedienst wird meistens früh in der Pipeline verwendet, um Funktionen zu erstellen, die später in Modelle für maschinelles Lernen eingespeist werden. Im Gegenteil, der Stimmungsanalysedienst kann direkt nach dem Auspacken verwendet werden.
Die Stimmungsanalyse von Google liefert die vorherrschende emotionale Meinung innerhalb eines bereitgestellten Textes. Die API gibt zwei Werte zurück: Der „Score“ beschreibt die emotionale Ausrichtung des Textes von -1 (negativ) bis +1 (positiv), wobei 0 neutral ist.
Die „Größe“ misst die Stärke der Emotion.
Schauen wir uns einige Beispiele an:
Eingabesatz | Stimmungsergebnisse | Deutung |
Der Zug nach London fährt um vier Uhr ab | Bewertung: 0,0 Größe: 0,0 | Eine völlig neutrale Aussage, die keinerlei Emotionen enthält. |
Dieser Blogbeitrag ist gut. | Bewertung: 0,7 Größenordnung: 0,7 | Ein positives Gefühl, aber nicht sehr stark ausgedrückt. |
Dieser Blogbeitrag ist gut. Es war sehr hilfreich. Der Autor ist erstaunlich. | Bewertung: 0,7 Größenordnung: 2,3 | Das gleiche Gefühl, aber viel stärker ausgedrückt. |
Dieser Blogbeitrag ist sehr gut. Dieser Autor ist normalerweise ein schrecklicher Schriftsteller, aber hier hatte er Glück. | Bewertung: 0,0 Größenordnung: 1,6 | Die Größenordnung zeigt uns, dass in diesem Text Emotionen zum Ausdruck kommen, aber die Stimmung zeigt, dass sie gemischt und nicht eindeutig positiv oder negativ sind. |
Das Stimmungsanalysemodell von Google wird mit einem sehr großen Datensatz trainiert. Leider sind keine Informationen über den genauen Aufbau verfügbar. Ich war neugierig auf seine Leistung in der realen Welt, also habe ich es an einem Teil des Large Movie Review Datasets getestet, das 2011 von Wissenschaftlern der Stanford University erstellt wurde.
Ich habe zufällig 500 positive und 500 negative Filmkritiken aus dem Testset ausgewählt und die vorhergesagte Stimmung mit dem tatsächlichen Rezensionslabel verglichen. Die Konfusionsmatrix sah folgendermaßen aus:
Positive Stimmung | Negatives Gefühl | |
Gute Bewertung | 470 | 30 |
Schlechte Bewertung | 29 | 471 |
Wie die Tabelle zeigt, hat das Modell bei guten und schlechten Filmkritiken in etwa 94 % der Fälle recht. Das ist keine schlechte Leistung für eine Out-of-the-Box-Lösung ohne jegliche Feinabstimmung auf das gegebene Problem.
Hinweis: Die Sentimentanalyse ist für dieselben Sprachen verfügbar wie die Syntaxanalyse, mit Ausnahme von Russisch.
Entitätsanalyse
Entitätsanalyse ist der Prozess der Erkennung bekannter Entitäten wie Persönlichkeiten des öffentlichen Lebens oder Wahrzeichen aus einem bestimmten Text. Die Entitätserkennung ist sehr hilfreich für alle Arten von Klassifizierungs- und Themenmodellierungsaufgaben.
Die Google Natural Language API liefert einige grundlegende Informationen zu jeder erkannten Entität und bietet sogar einen Link zum entsprechenden Wikipedia-Artikel, falls vorhanden. Außerdem wird ein Salienzwert berechnet. Diese Punktzahl für eine Entität liefert Informationen über die Wichtigkeit oder Zentralität dieser Entität für den gesamten Dokumenttext. Werte, die näher an 0 liegen, sind weniger auffällig, während Werte, die näher an 1,0 liegen, sehr auffallend sind.
Wenn wir eine Anfrage an die API mit diesem Beispielsatz senden: „Robert DeNiro sprach mit Martin Scorsese in Hollywood am Weihnachtsabend im Dezember 2011.“ Wir erhalten folgendes Ergebnis:
Erkannte Entität | zusätzliche Information |
Robert De Niro | Typ : PERSON Hervorhebung : 0.5869118 wikipedia_url : https://en.wikipedia.org/wiki/Robert_De_Niro |
Hollywood | Typ : LOCATION Hervorhebung : 0.17918482 Wikipedia_url : https://en.wikipedia.org/wiki/Hollywood |
Martin Scorsese | Typ : LOCATION Hervorhebung : 0.17712952 wikipedia_url : https://en.wikipedia.org/wiki/Martin_Scorsese |
Heiligabend | type : PERSON Hervorhebung : 0.056773853 wikipedia_url : https://en.wikipedia.org/wiki/Christmas |
Dezember 2011 | Typ : DATUM Jahr: 2011 Monat: 12 Hervorhebung : 0.0 wikipedia_url : - |
2011 | type : NUMBER Hervorhebung : 0.0 wikipedia_url : - |
Wie Sie sehen können, werden alle Entitäten korrekt identifiziert und klassifiziert, außer dass 2011 zweimal erscheint. Zusätzlich zu dem Feld in der Beispielausgabe erkennt die Entitätsanalyse-API auch Organisationen, Kunstwerke, Konsumgüter, Telefonnummern, Adressen und Preise.
Entity-Sentiment-Analyse
Wenn es Modelle zur Entitätserkennung und Stimmungsanalyse gibt, ist es nur natürlich, einen Schritt weiter zu gehen und sie zu kombinieren, um die vorherrschenden Emotionen gegenüber den verschiedenen Entitäten in einem Text zu erkennen.
Während die Sentiment Analysis API alle Emotionsdarstellungen im Dokument findet und aggregiert, versucht die Entity Sentiment Analysis die Abhängigkeiten zwischen verschiedenen Teilen des Dokuments und den identifizierten Entitäten zu finden und ordnet dann die Emotionen in diesen Textsegmenten den jeweiligen Entitäten zu.
Zum Beispiel der rechthaberische Text: „Der Autor ist ein schrecklicher Autor. Der Leser hingegen ist sehr intelligent.“ führt zu den Ergebnissen:
Juristische Person | Gefühl |
Autor | Hervorhebung: 0,8773350715637207 Stimmung: Größe: 1,899999976158142 Punktzahl: -0,8999999761581421 |
Leser | Hervorhebung: 0,08653714507818222 Stimmung: Größe: 0,8999999761581421 Wertung: 0,8999999761581421 |
Die Entity-Sentiment-Analyse funktioniert bisher nur für Englisch, Japanisch und Spanisch.
Textklassifizierung
Schließlich verfügt die Google Natural Language API über ein Plug-and-Play-Textklassifizierungsmodell.
Das Modell wird darauf trainiert, die Eingabedokumente in eine große Menge von Kategorien zu klassifizieren. Die Kategorien sind hierarchisch strukturiert, z. B. hat die Kategorie „Hobbys & Freizeit“ mehrere Unterkategorien, von denen eine „Hobbies & Freizeit/Freizeit“ wäre, die wiederum Unterkategorien wie „Hobbies & Freizeit/Freizeit/Fischen“ hat.
Dies ist ein Beispieltext aus einer Nikon-Kameraanzeige:
„Der große 24,2-MP-Sensor im DX-Format der D3500 nimmt detailreiche Fotos und Full-HD-Filme auf – selbst bei Aufnahmen bei schwachem Licht. In Kombination mit der Wiedergabeleistung Ihres NIKKOR-Objektivs können Sie damit beginnen, künstlerische Porträts mit weicher Hintergrundunschärfe zu erstellen. Mit Leichtigkeit."

Die Google API gibt das Ergebnis zurück:
Kategorie | Vertrauen |
Kunst und Unterhaltung/Bildende Kunst und Design/Fotografische und digitale Kunst | 0,95 |
Hobbys & Freizeit | 0,94 |
Computer und Elektronik/Unterhaltungselektronik/Kamera- und Fotoausrüstung | 0,85 |
Alle drei Kategorien machen Sinn, auch wenn wir den dritten Eintrag intuitiv höher einstufen würden als den zweiten. Allerdings muss berücksichtigt werden, dass dieses Eingabesegment nur ein kurzer Teil des vollständigen Kameraanzeigendokuments ist und die Leistung des Klassifizierungsmodells mit der Textlänge zunimmt.
Nachdem ich es mit vielen Dokumenten ausprobiert hatte, fand ich die Ergebnisse des Klassifizierungsmodells in den meisten Fällen aussagekräftig. Dennoch ist der Klassifikator, wie alle anderen Modelle der Google Natural Language API, eine Blackbox-Lösung, die vom API-Benutzer nicht modifiziert oder gar feinjustiert werden kann. Insbesondere im Fall der Textklassifizierung wird die überwiegende Mehrheit der Unternehmen ihre eigenen Textkategorien haben, die sich von den Kategorien des Google-Modells unterscheiden, und daher ist der Textklassifizierungsdienst der Natural Language API möglicherweise nicht für die Mehrheit der Benutzer anwendbar.
Eine weitere Einschränkung des Klassifizierungsmodells besteht darin, dass es nur für englischsprachige Texte funktioniert.
So verwenden Sie die Natural Language API
Der große Vorteil der Google Natural Language API ist ihre Benutzerfreundlichkeit. Es sind keine maschinellen Lernfähigkeiten und fast keine Programmierkenntnisse erforderlich. Auf der Google Cloud-Website finden Sie Code-Snippets zum Aufrufen der API für viele Sprachen.
Der Python-Code zum Aufrufen der Stimmungsanalyse-API ist beispielsweise so kurz wie:
from google.cloud import language_v1 from google.cloud.language_v1 import enums import six def sample_analyze_sentiment(content): client = language_v1.LanguageServiceClient() if isinstance(content, six.binary_type): content = content.decode('utf-8') type_ = enums.Document.Type.PLAIN_TEXT document = {'type': type_, 'content': content} response = client.analyze_sentiment(document) sentiment = response.document_sentiment print('Score: {}'.format(sentiment.score)) print('Magnitude: {}'.format(sentiment.magnitude))
Die anderen API-Funktionalitäten werden auf ähnliche Weise aufgerufen, indem einfach client.analyze_sentiment
in die entsprechende Funktion geändert wird.
Gesamtkosten der Google Natural Language API
Google stellt seinen Nutzern alle Dienste der Natural Language API pro Anfrage in Rechnung. Das hat den Vorteil, dass keine Fixkosten für irgendwelche Deployment Server anfallen. Der Nachteil ist, dass es bei sehr großen Datensätzen teuer werden kann.
Diese Tabelle zeigt die Preise (pro 1.000 Anfragen) in Abhängigkeit von der Anzahl der monatlichen Anfragen:
Wenn ein Dokument mehr als 1.000 Zeichen umfasst, gilt dies als Mehrfachanfrage. Wenn Sie beispielsweise die Stimmung von 10.000 Dokumenten mit jeweils 1.500 Zeichen analysieren möchten, werden Ihnen 20.000 Anfragen berechnet. Da die ersten 5.000 kostenlos sind, würden sich die Gesamtkosten auf 15 US-Dollar belaufen. Die Analyse von einer Million Dokumenten derselben Größe würde 1.995 US-Dollar kosten.
Bequem, aber unflexibel
Die Google Natural Language API ist eine sehr praktische Option für schnelle, sofort einsatzbereite Lösungen. Es sind nur sehr geringe technische Kenntnisse und kein Verständnis der zugrunde liegenden Modelle des maschinellen Lernens erforderlich.
Der Hauptnachteil ist seine Inflexibilität und der fehlende Zugang zu den Modellen. Die Modelle können nicht auf eine bestimmte Aufgabe oder einen Datensatz abgestimmt werden.
In einer realen Umgebung erfordern die meisten Aufgaben wahrscheinlich eine maßgeschneiderte Lösung, als die standardisierten Natural Language API-Funktionen bieten können.
Für dieses Szenario ist Google AutoML Natural Language besser geeignet.
Natürliche Sprache von Google AutoML
Wenn die Natural Language API für Ihre Geschäftszwecke nicht flexibel genug ist, ist AutoML Natural Language möglicherweise der richtige Dienst. AutoML ist ein neuer Google Cloud-Dienst (noch in der Beta-Phase), der es dem Benutzer ermöglicht, benutzerdefinierte Modelle für maschinelles Lernen zu erstellen. Im Gegensatz zur Natural Language API werden die AutoML-Modelle mit den Daten des Benutzers trainiert und passen daher zu einer bestimmten Aufgabe.
Benutzerdefinierte Modelle für maschinelles Lernen zum Klassifizieren von Inhalten sind nützlich, wenn die vordefinierten Kategorien, die über die Natural Language API verfügbar sind, zu allgemein oder für Ihren spezifischen Anwendungsfall oder Ihre Wissensdomäne nicht anwendbar sind.
Der AutoML-Dienst erfordert etwas mehr Aufwand für den Benutzer, hauptsächlich weil Sie einen Datensatz bereitstellen müssen, um das Modell zu trainieren. Das Training und die Auswertung der Modelle erfolgt jedoch vollständig automatisiert und es sind keine Machine-Learning-Kenntnisse erforderlich. Der gesamte Vorgang kann mithilfe der Google Cloud-Konsole durchgeführt werden, ohne Code schreiben zu müssen. Wenn Sie diese Schritte automatisieren möchten, werden natürlich alle gängigen Programmiersprachen unterstützt.
Was kann mit Google AutoML Natural Language gemacht werden?
Der AutoML-Dienst deckt drei Anwendungsfälle ab. Alle diese Anwendungsfälle unterstützen vorerst nur die englische Sprache.
1. AutoML-Textklassifizierung
Während die Textklassifizierung der Natural Language API vortrainiert ist und daher über einen festen Satz von Textkategorien verfügt, erstellt die AutoML-Textklassifizierung benutzerdefinierte Modelle für maschinelles Lernen mit den Kategorien, die Sie in Ihrem Trainingsdatensatz bereitstellen.
2. AutoML-Stimmungsanalyse
Wie wir gesehen haben, funktioniert die Stimmungsanalyse der Natural Language API hervorragend in allgemeinen Anwendungsfällen wie Filmkritiken. Da das Stimmungsmodell auf einem sehr allgemeinen Korpus trainiert wird, kann sich die Leistung bei Dokumenten verschlechtern, die viel domänenspezifische Sprache verwenden. In diesen Situationen können Sie mit der AutoML-Stimmungsanalyse ein Stimmungsmodell trainieren, das auf Ihre Domäne zugeschnitten ist.
3. AutoML-Entitätsextraktion
In vielen Geschäftskontexten gibt es domänenspezifische Entitäten (Rechtsverträge, medizinische Dokumente), die die Natural Language API nicht identifizieren kann. Wenn Sie über ein Dataset verfügen, in dem die Entitäten markiert sind, können Sie einen benutzerdefinierten Modellentitätsextraktor mit AutoML trainieren. Wenn der Datensatz ausreichend groß ist, kann das trainierte Entitätsextraktionsmodell auch zuvor ungesehene Entitäten erkennen.
So verwenden Sie AutoML Natural Language
Die Verwendung der drei AutoML ist ein vierstufiger Prozess und für alle drei Methoden sehr ähnlich:
Datensatzvorbereitung
Das Dataset muss in einem bestimmten Format (CSV oder JSON) vorliegen und in einem Speicher-Bucket gespeichert werden. Bei Klassifizierungs- und Stimmungsmodellen enthalten die Datensätze nur zwei Spalten, den Text und die Bezeichnung. Für das Entitätsextraktionsmodell benötigt der Datensatz den Text und die Positionen aller Entitäten im Text.Modelltraining
Das Modelltraining erfolgt vollautomatisch. Wenn keine anderen Anweisungen gegeben werden, teilt AutoML den Trainingssatz automatisch in Trainings-, Test- und Validierungssätze auf. Diese Aufteilung kann auch vom Benutzer bestimmt werden, aber nur so kann das Modelltraining beeinflusst werden. Der Rest des Trainings ist vollständig automatisiert in einer Black-Box-Manier.Auswertung
Wenn das Training beendet ist, zeigt AutoML Präzisions- und Erinnerungswerte sowie eine Verwirrungsmatrix an. Leider gibt es absolut keine Informationen über das Modell selbst, was es schwierig macht, die Gründe für schlecht funktionierende Modelle zu identifizieren.Vorhersage
Sobald Sie mit der Leistung des Modells zufrieden sind, kann das Modell bequem mit ein paar Klicks bereitgestellt werden. Der Bereitstellungsprozess dauert nur wenige Minuten.
AutoML-Modellleistung
Der Trainingsprozess ist ziemlich langsam, wahrscheinlich weil die zugrunde liegenden Modelle sehr groß sind. Ich habe eine kleine Testklassifikationsaufgabe mit 15.000 Proben und 10 Kategorien trainiert und das Training dauerte mehrere Stunden. Ein reales Beispiel mit einem viel größeren Datensatz hat mich mehrere Tage gekostet.
Obwohl Google keine Details zu den verwendeten Modellen veröffentlicht hat, vermute ich, dass das BERT-Modell von Google mit kleinen Anpassungen für jede Aufgabe verwendet wird. Die Feinabstimmung großer Modelle wie BERT ist ein rechenintensiver Prozess, insbesondere wenn viele Kreuzvalidierungen durchgeführt werden.
Ich habe das AutoML-Klassifizierungsmodell in einem realen Beispiel gegen ein von mir entwickeltes Modell getestet, das auf BERT basierte. Überraschenderweise schnitt das AutoML-Modell deutlich schlechter ab als mein eigenes Modell, wenn es mit denselben Daten trainiert wurde. AutoML erreichte eine Genauigkeit von 84 %, während mein On-Modell 89 % erreichte.
Das heißt, während die Verwendung von AutoML sehr bequem sein kann, ist es für leistungskritische Aufgaben sinnvoll, die Zeit zu investieren und das Modell selbst zu entwickeln.
AutoML-Preise
Die AutoML-Preise für Vorhersagen sind mit 5 US-Dollar pro 1.000 Textdatensätzen deutlich teurer als die Natural Language API. Zusätzlich berechnet AutoML für das Modelltraining 3 $ pro Stunde. Während dies am Anfang vernachlässigbar ist, kann sich dies bei Anwendungsfällen, die häufiges Nachtrainieren erfordern, zu einer beträchtlichen Summe summieren, insbesondere weil das Training ziemlich langsam zu sein scheint.
Verwenden wir dasselbe Beispiel wie für die Natural Language API:
Sie möchten die Stimmung von 10.000 Dokumenten mit jeweils 1.500 Zeichen analysieren, sodass Ihnen 20.000 Anfragen in Rechnung gestellt würden. Nehmen wir an, das Trainieren des Modells dauert 20 Stunden, was 48 US-Dollar kostet. Die Vorhersage kostet Sie nichts, da die ersten 30.000 Anfragen kostenlos sind. Für kleine Datensätze wie diesen ist AutoML sehr wirtschaftlich.
Wenn Ihr Datensatz jedoch größer ist und Sie die Stimmung von einer Million gleicher Größe vorhersagen müssen, würde dies 9.850 US-Dollar kosten, was ziemlich teuer ist. Für große Datensätze wie diesen ist es sinnvoll, ein eigenes Modell zu entwickeln, das Sie selbst bereitstellen, ohne AutoML zu verwenden.
Google Natural Language API im Vergleich zu AutoML Natural Language
Google AutoML Natural Language ist viel leistungsfähiger als die Natural Language API, da es dem Benutzer ermöglicht, Modelle zu trainieren, die für seinen spezifischen Datensatz und seine Domäne angepasst sind.
Es ist genauso einfach zu bedienen und erfordert keine maschinellen Lernkenntnisse. Die beiden Nachteile sind die höheren Kosten und die Notwendigkeit, einen hochwertigen Datensatz bereitzustellen, der Modelle mit guter Leistung trainieren muss.
Die AutoML-Beta unterstützt vorerst nur drei NLP-Aufgaben (Klassifizierung, Stimmungsanalyse, Entitätsextraktion) und unterstützt nur englischsprachige Dokumente. Wenn dieser Dienst vollständig veröffentlicht wird, erwarte ich, dass im Laufe der Zeit weitere Sprachen und NLP-Aufgaben hinzugefügt werden.