Heim > Technologie-Peripheriegeräte > KI > Feinabstimmung GPT-4O Mini für die finanzielle Stimmung Analyse

Feinabstimmung GPT-4O Mini für die finanzielle Stimmung Analyse

William Shakespeare
Freigeben: 2025-03-18 11:35:21
Original
635 Leute haben es durchsucht

Die Stimmungsanalyse in der Finanzierung ist ein leistungsstarkes Instrument zum Verständnis von Markttrends und des Investorenverhaltens. Allgemeine Stimmungsanalysemodelle bleiben jedoch aufgrund ihrer Komplexität und nuancierten Natur häufig zu kurz, wenn sie auf Finanztexte angewendet werden. In diesem Projekt wird eine Lösung vorgeschlagen, indem GPT-4O Mini, ein leichtes Sprachmodell, fein abgestimmt. Durch die Verwendung des TRC2-Datensatzes, einer Sammlung von Reuters Financial News-Artikeln mit Sentiment-Kursen des Expertenmodells Finber, möchten wir die Fähigkeit von GPT-4O Mini, Nuancen für finanzielle Stimmung zu erfassen, verbessern.

Dieses Projekt bietet einen effizienten und skalierbaren Ansatz für die Analyse der finanziellen Stimmung und öffnet die Tür für eine nuanciertere, stimmungsbasierte Analyse in der Finanzierung. Am Ende zeigen wir, dass GPT-4O Mini, wenn sie mit domänenspezifischen Daten fein abgestimmt, als praktikable Alternative zu komplexeren Modellen wie Finber in finanziellen Kontexten dienen kann.

Lernergebnisse

  • Verstehen Sie den Prozess der Feinabstimmung GPT-4O-Mini für die finanzielle Stimmungsanalyse unter Verwendung domänenspezifischer Daten.
  • Erfahren Sie, wie Sie Finanztextdaten für die Modelltraining auf strukturierte und skalierbare Weise vorab und skalierbar.
  • Gewinnen Sie Einblicke in die Anwendung der Stimmungsanalyse für Finanztexte und deren Auswirkungen auf die Markttrends.
  • Entdecken Sie, wie Sie mit Expertenmarkierungsdatensätzen wie Finbert die Modellleistung bei der Analyse der finanziellen Stimmung verbessern können.
  • Erforschen Sie den praktischen Einsatz eines fein abgestimmten GPT-4O-Mini-Modells in realen Finanzanwendungen wie Marktanalyse und automatisierter Nachrichtenstimmungsverfolgung.

Dieser Artikel wurde als Teil des Data Science -Blogathons veröffentlicht.

Inhaltsverzeichnis

  • Untersuchung des Datensatzes: Wesentliche Daten für die Stimmungsanalyse
  • Forschungsmethode: Schritte zur Analyse der finanziellen Stimmung
  • Feinabstimmung GPT-4O Mini für die finanzielle Stimmung Analyse
  • Abschluss
  • Häufig gestellte Fragen

Untersuchung des Datensatzes: Wesentliche Daten für die Stimmungsanalyse

Für dieses Projekt verwenden wir den Datensatz TRC2 (TREC Reuters Corpus, Band 2), eine Sammlung von Finanznachrichtenartikeln, die von Reuters kuratiert und über das National Institute of Standards and Technology (NIST) zur Verfügung gestellt und zur Verfügung gestellt wurden. Der TRC2 -Datensatz enthält eine umfassende Auswahl von Reuters Financial News -Artikeln, die aufgrund seiner breiten Berichterstattung und Relevanz für finanzielle Ereignisse häufig in Finanzsprachenmodellen verwendet werden.

Zugriff auf den TRC2 -Datensatz

Um den TRC2 -Datensatz zu erhalten, müssen Forscher und Organisationen den Zugriff über NIST anfordern. Der Datensatz ist bei NIST TREC Reuters Corpus erhältlich, das Einzelheiten zu Lizenzierungs- und Nutzungsvereinbarungen enthält. Sie müssen:

  • Besuchen Sie den NistTrecreuterscorpus.
  • Befolgen Sie den auf der Website angegebenen Datensatzanforderungsprozess.
  • Stellen Sie sicher, dass die Lizenzanforderungen für die Verwendung des Datensatzes in Forschung oder kommerziellen Projekten verwendet werden.

Sobald Sie den Datensatz erhalten haben, werden Sie vorbereiten und in Sätze für die Stimmungsanalyse unterteilt, sodass Sie Finber anwenden können, um Expertenmarkierungsklassen zu generieren.

Forschungsmethode: Schritte zur Analyse der finanziellen Stimmung

Die Methodik zur Feinabstimmung GPT-4O-Mini mit Stimmungsetiketten, die von Finbert abgeleitet sind, besteht aus den folgenden Hauptschritten:

STEP1: FINBERT -Kennzeichnung

Um den Feinabstimmungsdatensatz zu erstellen, nutzen wir Finber, ein auf dem Finanzbereich vorgebrachten Finanzsprachenmodell. Wir wenden Finbert auf jeden Satz im TRC2 -Datensatz an und generieren Experten -Stimmungsbezeichnungen in drei Klassen: positiv, negativ und neutral. Dieser Prozess erzeugt einen beschrifteten Datensatz, in dem jeder Satz von TRC2 mit einem Gefühl verbunden ist und somit eine Grundlage für die Schulung von GPT-4O-Mini mit zuverlässigen Beschriftungen bietet.

STEP2: Datenvorverarbeitung und JSONL -Formatierung

Die gekennzeichneten Daten werden dann vorverarbeitet und in eine JSONL-Struktur formatiert, die für die Feinabstimmung von Openai geeignet ist. Wir formatieren jeden Datenpunkt mit der folgenden Struktur:

  • Eine Systemmeldung, die die Rolle des Assistenten als Finanzexperte spezifiziert.
  • Eine Benutzernachricht, die den finanziellen Satz enthält.
  • Eine Assistent -Antwort, die das vorhergesagte Sentiment -Label von Finbert angibt.

Nach der Kennzeichnung führen wir zusätzliche Vorverarbeitungsschritte durch, z. B. die Konvertierung von Etiketten in Kleinbuchstaben für Konsistenz und die Schicht der Daten, um eine ausgewogene Beschriftungsdarstellung sicherzustellen. Wir teilen den Datensatz auch in Trainings- und Validierungssätze auf, wodurch 80% der Daten für das Training und 20% für die Validierung reserviert werden, wodurch die Verallgemeinerungsfähigkeit des Modells bewertet wird.

Schritt 3: Feinabstimmung GPT-4O Mini

Mit OpenAIs Feinabstimmung-API stimmen wir GPT-4O-Mini mit dem vor markierten Datensatz fein. Feinabstimmungseinstellungen wie Lernrate, Chargengröße und Anzahl der Epochen werden optimiert, um ein Gleichgewicht zwischen Modellgenauigkeit und Generalisierbarkeit zu erreichen. Dieser Prozess ermöglicht es GPT-4O Mini, aus domänenspezifischen Daten zu lernen und seine Leistung bei Aufgaben zur Analyse der finanziellen Stimmung zu verbessern.

Schritt 4: Bewertung und Benchmarking

Nach dem Training wird die Leistung des Modells anhand häufiger Stimmungsanalysemetriken wie Genauigkeit und F1-Score bewertet, was einen direkten Vergleich mit der Leistung von Finber für dieselben Daten ermöglicht. Dieses Benchmarking zeigt, wie gut GPT-4O-Mini-Klassifizierungen im Finanzbereich verallgemeinert und bestätigt, ob es Finber in Genauigkeit konsequent übertreffen kann.

Schritt 5: Bereitstellung und praktische Anwendung

Bei der Bestätigung der überlegenen Leistung ist GPT-4O Mini bereit für die Bereitstellung in realen Finanzanträgen wie Marktanalysen, Anlageberatung und automatisierte Nachrichtenstimmung. Dieses fein abgestimmte Modell bietet eine effiziente Alternative zu komplexeren Finanzmodellen und bietet robuste, skalierbare Stimmungsanalysefunktionen, die für die Integration in Finanzsysteme geeignet sind.

Wenn Sie die Grundlagen der Stimmungsanalyse kennenlernen möchten, lesen Sie unseren Artikel über die Stimmungsanalyse mit Python!

Feinabstimmung GPT-4O Mini für die finanzielle Stimmung Analyse

Folgen Sie diesem strukturierten, Schritt-für-Schritt-Ansatz, um nahtlos durch jede Phase des Prozesses zu navigieren. Unabhängig davon, ob Sie ein Anfänger oder erfahren sind, sorgt dieser Leitfaden sicher, dass Klarheit und erfolgreiche Implementierung von Anfang bis Ende.

STEP1: Erstes Setup

Laden Sie die erforderlichen Bibliotheken und konfigurieren Sie die Umgebung.

 Von Transformatoren importieren Autotokenizer, AutomodelforsequencClassification
Taschenlampe importieren
Pandas als PD importieren
von TQDM import TQDM

tokenizer = autotokenizer.from_pretrated ("prosSusai/finbert")
model = automodelforsequenceClassification.from_Pretrained ("ProSSUSAI/Finbert")

Device = Torch.Device ('CUDA' if Torch.cuda.is_available () else 'cpu'))
Modell.TO (Gerät)
Nach dem Login kopieren

STEP2: Definieren Sie eine Funktion, um mit Finbert Stimmungsbezeichnungen zu generieren

  • Diese Funktion akzeptiert die Texteingabe, tokenisiert sie und verwendet Finber, um Stimmungsbezeichnungen vorherzusagen.
  • Etikettenzuordnung: Finbert gibt drei Klassen aus - positiv, negativ und neutral.
 Def get_sentiment (Text):
    Inputs = Tokenizer (Text, return_tensors = "pt", truncation = true, max_length = 512) .to (Gerät)
    mit fackel.no_grad ():
        Ausgänge = Modell (** Eingänge)
    logits = outs.logits
    Sentiment = Torch.argmax (Logits, Dim = 1) .Item ()
    Sentiment_label = ["positiv", "negativ", "neutral"] [Sentiment]
    Return Sentiment_Label
Nach dem Login kopieren

Schritt 3: Datenvorverarbeitung und Abtastung des TRC2 -Datensatzes

Sie müssen den TRC2-Datensatz sorgfältig vorbereiten, um nur relevante Sätze für die Feinabstimmung beizubehalten. In den folgenden Schritten wird die Daten aus dem TRC2 -Datensatz gelesen, reinigen, aufgeteilt und gefiltert.

Angesichts der Einschränkungen der Nichtoffenlegung bietet dieser Abschnitt einen Überblick über die Datenvorverarbeitung mit Pseudocode.

  • Laden und Extrahieren von Daten: Der in einem komprimierten Format bereitgestellte Datensatz wurde unter Verwendung von Standard -Texthandhabungsmethoden geladen und extrahiert. Relevante Abschnitte jedes Dokuments wurden isoliert, um sich auf Schlüsseltextinhalte zu konzentrieren.
  • Textreinigung und Satzsegmentierung: Nach dem Isolieren von Inhaltsabschnitten wurde jedes Dokument gereinigt, um fremde Zeichen zu entfernen und eine Konsistenz bei der Formatierung zu gewährleisten. Dies erstellte den Inhalt für die Aufteilung in Sätze oder kleinere Texteinheiten, wodurch die Modellleistung durch die Bereitstellung von überschaubaren Segmenten für die Stimmungsanalyse verbessert wird.
  • Strukturierte Datenspeicherung: Um die optimierte Verarbeitung zu erleichtern, wurden die Daten in ein strukturiertes Format organisiert, in dem jede Zeile ein individuelles Satz oder ein Textsegment darstellt. Dieses Setup ermöglicht eine effiziente Verarbeitung, Filterung und Kennzeichnung, wodurch sie für feinstimmende Sprachmodelle geeignet sind.
  • Filter und Bildschirm für relevante Textsegmente: Um eine hohe Datenqualität aufrechtzuerhalten, haben wir verschiedene Kriterien angewendet, um irrelevante oder laute Textsegmente herauszufiltern. Diese Kriterien umfassten die Beseitigung übermäßig kurzer Segmente, das Entfernen derjenigen mit spezifischen Mustern, die auf Nicht-Sentiment-tragende Inhalte hinweisen, und die Ausnahme von Segmenten mit übermäßigen Sonderzeichen oder spezifischen Formatierungsmerkmalen.
  • Endgültige Vorverarbeitung: Nur die Segmente, die vordefinierte Qualitätsstandards erfüllten, wurden für das Modelltraining beibehalten. Die gefilterten Daten wurden als strukturierte Datei gespeichert, um eine einfache Referenz im Feinabstimmungs-Workflow zu erzielen.
 # Laden Sie den komprimierten Datensatz aus der Datei
Öffnen Sie die compressed_file als Datei:
    # Lesen Sie den Inhalt der Datei in den Speicher
    Data = Read_file (Datei)

# Relevante Abschnitte jedes Dokuments extrahieren
Für jedes Dokument in Daten:
    extrahieren document_id
    Datum extrahieren
    extrahieren Sie main_text_content

# Definieren Sie eine Funktion zum Reinigen und Segment -Textinhalt
Funktion Clean_and_segment_text (Text):
    # Entfernen Sie unerwünschte Zeichen und Whitespace
    cleaned_text = remove_special_characters (Text)
    Cleaned_text = Standardize_WhiteSpace (Cleaned_text)
    
    # Teilen Sie den gereinigten Text in Sätze oder Textsegmente auf
    sätze = split_into_sences (cleaned_text)
    
    Sätze zurückgeben

# Wenden Sie die Reinigungs- und Segmentierungsfunktion auf den Inhalt jedes Dokuments an
Für jedes Dokument in Daten:
    sätze = clean_and_segment_text (document ['main_text_content'])
    Speichern Sie Sätze im strukturierten Format
    
# Erstellen Sie eine strukturierte Datenspeicherung für einzelne Sätze
Initialisieren Sie die leere Liste von structured_data

Für jeden Satz in Sätzen:
    # Sätze an strukturierte Daten anhängen
    structured_data.append (Satz)

# Definieren Sie eine Funktion, um unerwünschte Sätze basierend auf bestimmten Kriterien herauszufiltern
Funktion filter_sences (Satz):
    Wenn der Satz zu kurz ist:
        Return falsch
    Wenn der Satz bestimmte Muster enthält (z. B. Daten oder übermäßige Symbole):
        Return falsch
    Wenn der Satz unerwünschte Formatierungseigenschaften entspricht:
        Return falsch
    
    RECHT WAHR

# Wenden Sie den Filter auf strukturierte Daten an
filtered_data = [Satz für den Satz in structured_data wenn filter_sences (Satz)]]

# Filtern Sie die Sätze weiter basierend auf der Mindestlänge oder anderen Kriterien
Final_data = [Satz für den Satz in filtered_data if meets_minimum_length (Satz)]]

# Speichern Sie die endgültige Datenstruktur für das Modelltraining
Speichern Sie Final_Data als structured_file
Nach dem Login kopieren
  • Laden Sie den Datensatz und probieren Sie 1.000.000 Sätze zufällig, um eine überschaubare Datensatzgröße für die Feinabstimmung zu gewährleisten.
  • Speichern Sie die Stichprobensätze in einem Datenrahmen, um die strukturierte Handhabung und eine einfache Verarbeitung zu ermöglichen.
 df_sampled = df.sample (n = 1000000, random_state = 42) .reset_index (Drop = true)
Nach dem Login kopieren

SCHRITT 4: Schreiben Sie Etiketten und Bereiten Sie JSONL-Daten für die Feinabstimmung vor

  • Schleifen Sie durch die abgetasteten Sätze, verwenden Sie Finber, um jeden Satz zu beschriften und als JSONL für GPT-4O-Mini-Feinabstimmung zu formatieren.
  • Struktur für JSONL: Jeder Eintrag enthält eine Systemnachricht, Benutzerinhalte und die Stimmungsantwort des Assistenten.
 JSON importieren

JSONL_DATA = []
Für _, Zeile in tqdm (df_sampled.Iterrows (), Total = df_sampled.shape [0]):
    content = row ['Satz']
    Sentiment = get_sentiment (Inhalt)
    
    JSONL_ENTRY = {
        "Nachrichten": [
            {"Rolle": "System", "Inhalt": "Der Assistent ist ein Finanzexperte."},
            {"Rolle": "Benutzer", "Inhalt": Inhalt},
            {"Rolle": "Assistant", "Inhalt": Sentiment}
        ]
    }
    jsonl_data.append (jsonl_entry)

mit Open ('fonetuning_data.jsonl', 'w') als jsonl_file:
    Für den Eintrag in JSONL_DATA:
        jsonl_file.write (json.dumps (Eintrag) '\ n'))
Nach dem Login kopieren

Schritt 5: Etiketten in Kleinbuchstaben konvertieren

  • Stellen Sie sicher, dass die Etikettenkonsistenz durch Konvertieren von Stimmungsbezeichnungen in Kleinbuchstaben konvertiert werden und die Formatierung von OpenAI für die Feinabstimmung übereinstimmen.
 mit open ('finetuning_data.jsonl', 'r') als jsonl_file:
    Data = [json.loads (Zeile) für die Zeile in jsonl_file]

Für die Eingabe in Daten:
    Eintrag ["Nachrichten"] [2] ["Inhalt"] = Eintrag ["Nachrichten"] [2] ["Inhalt"]. Lower ()

mit open ('finetuning_data_lowercase.jsonl', 'w') als new_jsonl_file:
    Für die Eingabe in Daten:
        new_jsonl_file.write (json.dumps (Eintrag) '\ n'))
Nach dem Login kopieren

STEP6: Mischen und teilen Sie den Datensatz in Trainings- und Validierungssätze auf

  • Mischen Sie die Daten: Randomisieren Sie die Reihenfolge der Einträge, um die Bestellverzerrung zu beseitigen.
  • In 80% Training und 20% Validierungssätze aufgeteilt.
 zufällig importieren
random.seed (42)

random.shuffle (Daten)

split_ratio = 0,8
split_index = int (len (data) * split_ratio)

Training_data = Daten [: split_index]
validation_data = data [split_index:]

mit Open ('Training_data.jsonl', 'W') als Train_file:
    Für den Eintritt in Training_Data:
        train_file.write (json.dumps (Eintrag) '\ n')

mit open ('validation_data.jsonl', 'w') als val_file:
    Für den Eintrag in validation_data:
        val_file.write (json.dumps (Eintrag) '\ n')
Nach dem Login kopieren

Schritt 7: Schicht abgetastet und reduzierter Datensatz speichern

  • Führen Sie eine geschichtete Probenahme durch, um einen reduzierten Datensatz zu erstellen und gleichzeitig die Beschriftungsanteile zu erstellen.
  • Verwenden Sie geschichtete Probenahme: Gewährleisten Sie die gleiche Verteilung der Etiketten sowohl für Trainings- als auch für die Validierungssätze für eine ausgewogene Feinabstimmung.
 Aus sklearn.model_selection importieren train_test_split

data_df = pd.dataframe ({{{
    'Inhalt': [Eintrag ["Nachrichten"] [1] ["Inhalt"] für die Eingabe in Daten], 
    'Label': [Eintrag ["Nachrichten"] [2] ["Inhalt"] für die Eingabe in Daten]
})

df_sampled, _ = train_test_split (data_df, Stratify = data_df ['label'], test_size = 0.9, random_state = 42)
train_df, val_df = train_test_split (df_sampled, stratify = df_sampled ['label'], test_size = 0.2, random_state = 42)

def df_to_jsonl (df, Dateiname):
    JSONL_DATA = []
    Für _, Zeile in df.Iterrows ():
        JSONL_ENTRY = {
            "Nachrichten": [
                {"Rolle": "System", "Inhalt": "Der Assistent ist ein Finanzexperte."},
                {"Rolle": "Benutzer", "Inhalt": row ['Inhalt']},
                {"Rolle": "Assistant", "Inhalt": Row ['Label']}
            ]
        }
        jsonl_data.append (jsonl_entry)
    
    mit Open (Dateiname, 'W') als jsonl_file:
        Für den Eintrag in JSONL_DATA:
            jsonl_file.write (json.dumps (Eintrag) '\ n'))

df_to_jsonl (train_df, 'record_training_data.jsonl')
df_to_jsonl (val_df, 'reced_validation_data.jsonl')
Nach dem Login kopieren

Schritt8: Fein-Tune-GPT-4O-Mini mit OpenAIs Feinabstimmung-API

  • Befolgen Sie mit Ihren vorbereiteten JSONL-Dateien die Dokumentation von OpenAI, um GPT-4O-Mini auf den vorbereiteten Schulungs- und Validierungsdatensätzen zu optimieren.
  • Daten hochladen und Feinabstimmung starten: Laden Sie die JSONL-Dateien auf, um die Plattform zu öffnen, und befolgen Sie ihre API-Anweisungen, um den Feinabstimmungsvorgang zu initiieren.

Feinabstimmung GPT-4O Mini für die finanzielle Stimmung Analyse

Schritt9: Modelltests und Bewertung

Um die Leistung des fein abgestimmten GPT-4O-Mini-Modells zu bewerten, haben wir es auf einem auf Kaggle verfügbaren Datensatz für finanzielle Stimmung getestet. Dieser Datensatz enthält 5.843 gekennzeichnete Sätze in finanziellen Kontexten, die einen aussagekräftigen Vergleich zwischen dem fein abgestimmten Modell und Finbers ermöglichen.

Finbert erzielte eine Genauigkeit von 75,81%, während das fein abgestimmte GPT-4O-Mini-Modell 76,46%erreichte, was eine leichte Verbesserung zeigte.

Hier ist der Code zum Testen:

 Pandas als PD importieren
OS importieren
Openai importieren
aus dotenv import load_dotenv

# Die CSV -Datei laden
CSV_FILE_PATH = 'Data.csv' # durch Ihren tatsächlichen Dateipfad ersetzen
df = pd.read_csv (csv_file_path)

# Datenframe in Textformat konvertieren
mit open ('stsences.txt', 'w', coding = 'utf-8') als f:
    Für Index, Zeile in df.Iterrows ():
        Satz = row ['Satz']. Strip () # Sauberer Satz
        Sentiment = row ['Sentiment']. Strip (). Lower () # Sicherstellen, dass die Stimmung in Kleinbuchstaben und sauber ist
        F.Write (f "{Satz} @{Sentiment} \ n")             

# Lastumgebungsvariablen
load_dotenv ()

# Setzen Sie Ihren OpenAI -API -Schlüssel
openai.api_key = os.getenv ("openai_api_key") # sicherstellen, dass openai_api_key in Ihren Umgebungsvariablen festgelegt ist

# Pfad zur Datensatztextdatei
Datei_path = 'sätze.txt' # Textdatei mit Sätzen und Beschriftungen enthält

# Sätze und wahre Etiketten aus dem Datensatz lesen
Sätze = []
true_labels = []

mit open (Datei_Path, 'R', coding = 'utf-8') als Datei:
    line = file.readlines ()

# Sätze und Etiketten extrahieren
Für Zeilen in Linien:
    line = line.strip ()
    Wenn '@' in der Schlange:
        Satz, label = line.rsplit ('@', 1)
        sätze.Append (Satz.strip ())
        true_labels.append (label.strip ())

# Funktion, um Vorhersagen aus dem Feinabstimmungsmodell zu erhalten
Def get_openai_Predictions (Satz, model = "your_finetuned_model_name"): # Ersetzen Sie durch Ihren Modellnamen
    versuchen:
        response = openai.chatCompletion.create (
            Modell = Modell,
            Nachrichten = [
                {"Rolle": "System", "Inhalt": "Sie sind ein Experte für finanzielle Analyseanalyse."},
                {"Rolle": "Benutzer", "Inhalt": Satz}
            ],
            max_tokens = 50,,
            Temperatur = 0,5
        )
        Antwort zurücksenden ['Choices'] [0] ['Nachricht'] ['Inhalt']. Strip ()
    außer Ausnahme als E:
        print (f "Fehlererzeugung Vorhersage für Satz: '{Satz}'. Fehler: {e}")
        zurück "unbekannt"

# Generieren Sie Vorhersagen für den Datensatz
vorhergesagt_labels = []
Für Satz in Sätzen:
    Vorhersage = get_openai_Predictions (Satz)
    
    # Normalisieren Sie die Vorhersagen auf "positiv", "neutral", "negativ".
    Wenn 'positiv' in Vorhersage.lower ():
        vorhergesagt_labels.Append ('positiv')
    elif 'neutral' in Vorhersage.lower ():
        vorhergesagt_labels.Append ('neutral')
    elif "negativ" in Vorhersage.lower ():
        vorhergesagt_labels.Append ('negativ')
    anders:
        vorhergesagt_labels.Append ('unbekannt')

# Berechnen Sie die Genauigkeit des Modells
Correy_Count = sum ([pred == true für pred, true in ZIP (Predicted_labels, true_labels)]))
Accuracy = Correct_Count / Len (Sätze)

print (f'accuracy: {Genauigkeit: .4f} ') # erwartete Ausgabe: 0,7646
Nach dem Login kopieren

Abschluss

Durch die Kombination des Fachwissens von Finbers Financial Domain-Etiketten mit der Flexibilität von GPT-4O Mini erreicht dieses Projekt ein hochleistungsfähiges finanzielles Stimmungsmodell, das Finber in Genauigkeit übertrifft. Dieser Leitfaden und diese Methodik ebnen den Weg für replizierbare, skalierbare und interpretierbare Stimmungsanalysen, die speziell auf die Finanzindustrie zugeschnitten sind.

Key Takeaways

  • Die Feinabstimmung GPT-4O Mini mit domänenspezifischen Daten verbessert die Fähigkeit, eine nuancierte finanzielle Stimmung zu erfassen und Modelle wie Finbert in Genauigkeit zu übertreffen.
  • Der von Reuters kuratierte TRC2-Datensatz bietet qualitativ hochwertige Finanznachrichtenartikel für eine effektive Schulung zur Analyse der Stimmung.
  • Die Vorverarbeitung und Kennzeichnung mit Finber ermöglicht es GPT-4O Mini, genauere Stimmungsvorhersagen für Finanztexte zu generieren.
  • Der Ansatz zeigt die Skalierbarkeit von GPT-4O-Mini für reale Finanzanwendungen und bietet eine leichte Alternative zu komplexen Modellen.
  • Durch die Nutzung von OpenAIs Feinabstimmung-API optimiert diese Methode GPT-4O-Mini für eine effiziente und effektive Analyse der finanziellen Stimmung.

Häufig gestellte Fragen

Q1. Warum GPT-4O Mini anstelle von Finber für finanzielle Stimmungsanalyse verwenden?

A. GPT-4O Mini bietet eine leichte, flexible Alternative und kann Finber bei bestimmten Aufgaben mit Feinabstimmung übertreffen. Durch die Feinabstimmung mit domänenspezifischen Daten kann GPT-4O Mini nuancierte Stimmungsmuster in Finanztexten erfassen, gleichzeitig rechnerisch effizienter und einfacher bereitgestellt werden.

Q2. Wie fordere ich den Zugriff auf den TRC2 -Datensatz an?

A. Um auf den TRC2 -Datensatz zuzugreifen, senden Sie eine Anfrage über das National Institute of Standards and Technology (NIST) unter diesem Link. Überprüfen Sie die Anweisungen der Website, um Lizenz- und Nutzungsvereinbarungen abzuschließen, die in der Regel sowohl für die Forschung als auch für die kommerzielle Nutzung erforderlich sind.

Q3. Kann ich einen anderen Datensatz für die Analyse der finanziellen Stimmung verwenden?

A. Sie können auch andere Datensätze wie die Financial Phrasebank oder benutzerdefinierte Datensätze mit beschrifteten Finanztexten verwenden. Das TRC2 -Datensatz passt zu Schulungsgefühlenmodellen besonders gut, da es Inhalte von Finanznachrichten enthält und eine breite Palette von Finanzthemen abdeckt.

Q4. Wie generiert Finbert die Stimmungsetiketten?

A. Finbert ist ein finanzielles domänenspezifisches Sprachmodell, das für Finanzdaten und Feinhöhe für die Stimmungsanalyse voreinstimmt. Bei der Anwendung auf die TRC2 -Sätze kategorisiert es jeden Satz in ein positives, negatives oder neutrales Gefühl, basierend auf dem Sprachkontext in Finanztexten.

Q5. Warum müssen wir die Etiketten in JSONL in Kleinbuchstaben konvertieren?

A. Die Umwandlung von Etiketten in Kleinbuchstaben sorgt für die Konsistenz mit den Feinabstimmungsanforderungen von OpenAI, die häufig erwarten, dass Etiketten für Fallempfindungen sind. Es hilft auch dabei, Fehlanpassungen während der Bewertung zu verhindern und eine einheitliche Struktur im JSONL -Datensatz beizubehalten.

Die in diesem Artikel gezeigten Medien sind nicht im Besitz von Analytics Vidhya und werden nach Ermessen des Autors verwendet.

Das obige ist der detaillierte Inhalt vonFeinabstimmung GPT-4O Mini für die finanzielle Stimmung Analyse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage