Trainingsdaten vorbereiten

Wenn Sie Ihr benutzerdefiniertes Modell trainieren möchten, stellen Sie repräsentative Stichproben für den zu analysierenden Dokumenttyp bereit, die so mit Labeln versehen sind, wie AutoML Natural Language ähnliche Dokumente mit Labeln versehen soll. Die Qualität der Trainingsdaten beeinflusst stark die Effizienz des von Ihnen erstellten Modells und folglich die Qualität der damit generierten Vorhersagen.

Trainingsdokumente erfassen und mit Labeln versehen

Der erste Schritt besteht darin, eine Reihe verschiedener Trainingsdokumente zu erfassen, die die Bandbreite an Dokumenten widerspiegeln, die das benutzerdefinierte Modell verarbeiten soll. Die vorbereitenden Schritte für Trainingsdokumente unterscheiden sich je nachdem, ob Sie ein Modell für die Klassifizierung, die Entitätsextraktion oder die Sentimentanalyse trainieren.

Trainingsdokumente importieren

Sie importieren die Trainingsdaten mithilfe einer CSV-Datei in AutoML Natural Language, die die Dokumente auflistet und optional deren Kategorielabels und Sentimentwerte enthält. AutoML Natural Language erstellt dann aus den aufgeführten Dokumenten ein Dataset.

Trainingsdaten im Vergleich zu Bewertungsdaten

AutoML Natural Language unterteilt die Trainingsdokumente in drei Datasets, um das Modell zu trainieren: ein Trainings-Dataset, ein Validierungs-Dataset und ein Test-Dataset

AutoML Natural Language verwendet das Trainings-Dataset, um das Modell zu erstellen. Bei der Suche nach Mustern in den Trainingsdaten probiert das Modell mehrere Algorithmen und Parameter aus. Wenn das Modell Muster erkennt, verwendet es das Validierungs-Dataset, um die Algorithmen und Muster zu testen. AutoML Natural Language wählt aus den während der Trainingsphase identifizierten Algorithmen und Mustern die mit der besten Leistung aus.

Nachdem die Algorithmen und Muster mit der besten Leistung ermittelt wurden, wendet AutoML Natural Language sie auf das Test-Dataset an, um hinsichtlich Fehlerrate, Qualität und Genauigkeit zu testen.

AutoML Natural Language teilt die Trainingsdaten standardmäßig auf folgende Weise nach dem Zufallsprinzip auf die drei Datasets auf:

  • 80 % der Dokumente werden für das Training verwendet.
  • 10 % der Dokumente werden für die Validierung verwendet (Hyperparameter-Abstimmung und/oder die Entscheidung, wann das Training beendet werden soll).
  • 10 % der Dokumente sind zum Testen reserviert und werden während des Trainings nicht verwendet.

Wenn Sie angeben möchten, zu welchem Dataset die einzelnen Dokumente der Trainingsdaten gehören sollen, können Sie in der CSV-Datei Dokumente explizit einem der Datasets zuweisen, wie im nächsten Abschnitt beschrieben.

Import-CSV-Datei erstellen

Sobald Sie Ihre Trainingsdokumente erfasst haben, erstellen Sie eine CSV-Datei, die diese auflistet. Die CSV-Datei kann einen beliebigen Dateinamen haben, muss UTF-8-codiert sein und muss auf die .csv-Erweiterung enden. Sie muss im Cloud Storage-Bucket gespeichert sein, der Ihrem Projekt zugeordnet ist.

Die CSV-Datei enthält für jedes Trainingsdokument eine Zeile mit folgenden Spalten:

  1. Das Set, dem der Inhalt in der jeweiligen Zeile zugewiesen werden soll. Diese Spalte ist optional und kann einen der folgenden Werte enthalten:

    • TRAIN: document wird zum Trainieren des Modells verwendet.
    • VALIDATION: document wird zum Validieren der Ergebnisse verwendet, die das Modell während des Trainings zurückgibt.
    • TEST: document wird nach dem Trainieren des Modells zum Prüfen der Ergebnisse des Modells verwendet.

    Wenn Sie in diese Spalte Werte aufnehmen, um die Datasets anzugeben, empfehlen wir, dass Sie für jede Kategorie mindestens 5 % Ihrer Daten angeben. Die Verwendung von weniger als 5 % Ihrer Daten für Training, Validierung oder Tests kann zu unerwarteten Ergebnissen und ineffektiven Modellen führen.

    Wenn Sie keine Werte in diese Spalte aufnehmen möchten, beginnen Sie jede Zeile mit einem Komma, um die leere erste Spalte zu kennzeichnen. AutoML Natural Language teilt Ihre Dokumente automatisch auf die drei Datasets auf, wobei ungefähr 80 % der Daten zum Trainieren, 10 % zum Validieren und 10 % zum Testen verwendet werden (bis zu 10.000 Paare zum Validieren und Testen).

  2. Den zu kategorisierenden Inhalt. Diese Spalte enthält den Cloud Storage-URI für das Dokument. Bei Cloud Storage-URIs wird zwischen Groß- und Kleinschreibung unterschieden.

    Zur Klassifizierung und Sentimentanalyse kann das Dokument eine Textdatei, eine PDF-Datei, eine TIFF-Datei oder eine ZIP-Datei sein. Für die Entitätsextraktion muss es eine JSONL-Datei sein.

    Bei der Klassifizierung und Sentimentanalyse kann der Wert in dieser Spalte statt eines Cloud Storage-URIs auch zitierter Inline-Text sein.

  3. Für Klassifizierungs-Datasets können Sie optional Folgendes einschließen: eine durch Kommas getrennte Liste von Labels, die angeben, wie das Dokument zu kategorisieren ist. Labels müssen mit einem Buchstaben beginnen und dürfen nur Buchstaben, Zahlen und Unterstriche enthalten. Sie können für jedes Dokument bis zu 20 Labels hinzufügen.

    Für Sentimentanalyse-Datasets können Sie optional Folgendes einschließen: eine Ganzzahl, die den Sentimentwert für den Inhalt angibt. Der Sentimentwert reicht von 0 (sehr negativ) bis zu einem maximalen Wert von 10 (sehr positiv).

Die CSV-Datei für ein Klassifizierungs-Dataset mit mehreren Labels kann beispielsweise Folgendes enthalten:

TRAIN, gs://my-project-lcm/training-data/file1.txt,Sports,Basketball
VALIDATION, gs://my-project-lcm/training-data/ubuntu.zip,Computers,Software,Operating_Systems,Linux,Ubuntu
TRAIN, gs://news/documents/file2.txt,Sports,Baseball
TEST, "Miles Davis was an American jazz trumpeter, bandleader, and composer.",Arts_Entertainment,Music,Jazz
TRAIN,gs://my-project-lcm/training-data/astros.txt,Sports,Baseball
VALIDATION,gs://my-project-lcm/training-data/mariners.txt,Sports,Baseball
TEST,gs://my-project-lcm/training-data/cubs.txt,Sports,Baseball

Häufige .csv-Fehler

  • Verwendung von Unicode-Zeichen für Labels. Japanische Schriftzeichen werden z. B. nicht unterstützt.
  • Verwendung von Leerzeichen und nicht alphanumerischen Zeichen für Labels.
  • Leere Zeilen.
  • Leere Spalten (Zeilen mit zwei aufeinanderfolgenden Kommas).
  • Fehlende Anführungszeichen für eingebetteten Text, der Kommas enthält.
  • Falsche Großschreibung von Cloud Storage-Pfaden.
  • Zugriffssteuerung für Ihre Dokumente falsch konfiguriert. Ihr Dienstkonto muss mindestens Leseberechtigungen haben oder Dateien müssen öffentlich lesbar sein.
  • Verweise auf Nicht-Textdateien, z. B. JPEG-Dateien. Ebenso führen Dateien, die keine Textdateien sind, aber mit einer Texterweiterung umbenannt wurden, zu einem Fehler.
  • Der URI eines Dokuments verweist auf einen anderen Bucket als das aktuelle Projekt. Zugriff ist nur auf Dateien im Projekt-Bucket möglich.
  • Nicht CSV-formatierte Dateien

Import-ZIP-Datei erstellen

Für Klassifizierungs-Datasets können Sie Trainingsdokumente mithilfe einer ZIP-Datei importieren. Erstellen Sie innerhalb der ZIP-Datei einen Ordner für jedes Label bzw. jeden Sentimentwert und speichern Sie jedes Dokument in dem Ordner, der dem Label bzw. Wert entspricht, das bzw. der auf das Dokument angewendet werden soll. Beispielsweise könnte die ZIP-Datei für ein Modell, das Geschäftskorrespondenz klassifiziert, folgende Struktur aufweisen:

correspondence.zip
    transactional
        letter1.pdf
        letter2.pdf
        letter5.pdf
    persuasive
        letter3.pdf
        letter7.pdf
        letter8.pdf
    informational
        letter6.pdf
    instructional
        letter4.pdf
        letter9.pdf

AutoML Natural Language wendet die Ordnernamen als Labels auf die Dokumente im jeweiligen Ordner an. Bei einem Sentimentanalyse-Dataset sind die Ordnernamen die Sentimentwerte:

sentiment.zip
    0
        document4.txt
    1
        document3.txt
        document1.txt
        document5.txt
    2
        document2.txt
        document6.txt
        document8.txt
        document9.txt
    3
        document7.txt

Nächste Schritte