0 / 0
Zurück zur englischen Version der Dokumentation
Zielstimmung mit einem angepassten Umsetzungsprogrammmodell extrahieren
Letzte Aktualisierung: 07. Nov. 2024
Zielstimmung mit einem angepassten Umsetzungsprogrammmodell extrahieren

Sie können Ihre eigenen Modelle für die Zielmeinungsextraktion auf der Basis des Slate IBM Foundation-Modells trainieren. Dieses vortrainierte Modell kann für Ihren Anwendungsfall optimiert werden, indem es anhand Ihrer spezifischen Eingabedaten trainiert wird.

Hinweis: Das Trainieren von Transformatormodellen ist CPU-und speicherintensiv. Je nach Größe Ihrer Trainingsdaten ist die Umgebung möglicherweise nicht groß genug, um das Training abzuschließen. Wenn während des Trainings Probleme mit dem Notebook-Kernel auftreten, erstellen Sie eine angepasste Notebook-Umgebung mit größerer CPU- und Speicherkapazität und verwenden Sie diese Umgebung zum Ausführen Ihres Notebooks. Verwenden Sie eine GPU-basierte Umgebung für das Training und auch Inferenzzeit, wenn sie für Sie verfügbar ist. Siehe Eigene Umgebungsvorlage erstellen.

Format der Eingabedaten für das Trainieren

Sie müssen ein Trainings-und Entwicklungsdataset für die Trainingsfunktion bereitstellen. Die Entwicklungsdaten betragen in der Regel etwa 10% der Trainingsdaten. Jedes Trainings-oder Entwicklungsbeispiel wird als JSON-Objekt dargestellt. Sie muss einen Text und ein Feld target_mentions enthalten. Der Text stellt den Trainingsbeispieltext dar und das Feld target_mentions ist ein Array, das einen Eintrag für jede Zielerwähnung mit ihrem Text, Positionund Stimmungenthält.

Ziehen Sie die Verwendung von Watson Knowledge Studio in Betracht, damit Ihre Fachexperten ohne großen Aufwand Text annotieren und Trainingsdaten erstellen können.

Das folgende Beispiel zeigt ein Array mit Beispieltrainingsdaten:

[
  {
    "text": "Those waiters stare at you your entire meal, just waiting for you to put your fork down and they snatch the plate away in a second.",
    "target_mentions": [
      {
        "text": "waiters",
        "location": {
          "begin": 6,
          "end": 13
        },
        "sentiment": "negative"
      }
    ]
  }
]

Die Trainings-und Entwicklungsdatasets werden als Datenströme aus Arrays von JSON-Objekten erstellt. Zum Erstellen der Datenströme können Sie die Dienstprogrammmethode read_json_to_streamverwenden. Es erfordert das Syntaxanalysemodell für die Sprache Ihrer Eingabedaten.

Beispielcode:

import watson_nlp
from watson_nlp.toolkit.targeted_sentiment.training_data_reader import read_json_to_stream

training_data_file = 'train_data.json'
dev_data_file = 'dev_data.json'

# Load the syntax analysis model for the language of your input data
syntax_model = watson_nlp.load('syntax_izumo_en_stock')

# Prepare train and dev data streams
train_stream = read_json_to_stream(json_path=training_data_file, syntax_model=syntax_model)
dev_stream = read_json_to_stream(json_path=dev_data_file, syntax_model=syntax_model)

Vorab trainierte Modellressourcen laden

Das vortrainierte Slate IBM Foundation-Modell muss geladen werden, bevor es an den Trainingsalgorithmus übergeben wird.

Eine Liste der verfügbaren Slate-Modelle finden Sie in dieser Tabelle:

Liste der verfügbaren Slate-Modelle und deren Beschreibungen
Modell Beschreibung
pretrained-model_slate.153m.distilled_many_transformer_multilingual_uncased Generisches Mehrzweckmodell
pretrained-model_slate.125m.finance_many_transformer_en_cased Auf Finanzinhalte vortrainiertes Modell
pretrained-model_slate.110m.cybersecurity_many_transformer_en_uncased Auf Cybersicherheitsinhalte vortrainiertes Modell
pretrained-model_slate.125m.biomedical_many_transformer_en_cased Auf biomedizinischen Inhalt vortrainiertes Modell

So laden Sie das Modell:

# Load the pretrained Slate IBM Foundation model
pretrained_model_resource = watson_nlp.load('<pretrained Slate model>')

Modell trainieren

Geben Sie für alle Optionen, die für die Konfiguration des Stimmungstransformators verfügbar sind, Folgendes ein:

help(watson_nlp.blocks.targeted_sentiment.SequenceTransformerTSA.train)

Die Methode train erstellt ein neues Zielstimmungsblockmodell.

Der folgende Beispielaufruf verwendet die Eingabedaten und das vorab trainierte Modell aus dem vorherigen Abschnitt (Modell trainieren):

# Train the model
custom_tsa_model = watson_nlp.blocks.targeted_sentiment.SequenceTransformerTSA.train(
    train_stream,
    dev_stream,
    pretrained_model_resource,
    num_train_epochs=5
)

Modell auf neue Daten anwenden

Nachdem Sie das Modell für ein Dataset trainiert haben, wenden Sie das Modell auf neue Daten an, indem Sie die Methode run() verwenden, wie Sie es für alle vorhandenen vorab trainierten Blöcke verwenden würden. Da das erstellte angepasste Modell ein Blockmodell ist, müssen Sie die Syntaxanalyse für den Eingabetext ausführen und die Ergebnisse an die run() -Methoden übergeben.

Beispielcode:

input_text = 'new input text'

# Run syntax analysis first
syntax_model = watson_nlp.load('syntax_izumo_en_stock')
syntax_analysis = syntax_model.run(input_text, parsers=('token',))

# Apply the new model on top of the syntax predictions
tsa_predictions = custom_tsa_model.run(syntax_analysis)

Modell speichern und laden

Das Stimmungsmodell für angepasste Ziele kann wie jedes andere Modell gespeichert werden, wie im Abschnitt Angepasste Modelle speichern und ladenunter Verwendung von ibm_watson_studio_libbeschrieben.

Zum Laden des angepassten Zielstimmungsmodells sind zusätzliche Schritte erforderlich:

  1. Stellen Sie sicher, dass Sie über ein Zugriffstoken auf der Seite Zugriffssteuerung in der Registerkarte Verwalten Ihres Projekts verfügen. Nur Projektadministratoren können Zugriffstokens erstellen. Das Zugriffstoken kann über Viewer -oder Editor -Zugriffsberechtigungen verfügen. Nur Bearbeiter können das Token in ein Notebook einfügen.

  2. Fügen Sie das Projekttoken zum Notebook hinzu, indem Sie in der Aktionsleiste des Notebooks auf Mehr > Projekttoken einfügen klicken. Führen Sie dann die Zelle aus.

    Durch Ausführen der eingefügten verdeckten Codezelle wird ein wslib -Objekt erstellt, das Sie für Funktionen in der Bibliothek ibm-watson-studio-lib verwenden können. Informationen zu den verfügbaren ibm-watson-studio-lib -Funktionen finden Sie unter Using ibm-watson-studio-lib for Python.

  3. Laden Sie das Modell herunter und extrahieren Sie es in Ihrer lokalen Laufzeitumgebung:

    import zipfile
    model_zip = 'custom_TSA_model_file'
    model_folder = 'custom_TSA'
    wslib.download_file('custom_TSA_model', file_name=model_zip)
    
    with zipfile.ZipFile(model_zip, 'r') as zip_ref:
      zip_ref.extractall(model_folder)
    
  4. Laden Sie das Modell aus dem extrahierten Ordner:

    custom_TSA_model = watson_nlp.load(model_folder)
    

Übergeordnetes Thema: Eigene Modelle erstellen

Generative KI-Suche und -Antwort
Diese Antworten werden von einem großen Sprachmodell in watsonx.ai basierend auf dem Inhalt der Produktdokumentation generiert. Weitere Informationen