Stimmungsanalyse im Text: Erkennen, ob Texte z. B. freundlich, neutral oder negativ formuliert sind per GPT / Hugging Face Sentiment Models

Warum das sinnvoll ist

Weil der Ton die Musik macht.
Und weil Du wissen willst, ob ein Brief eher höflich, neutral oder gereizt klingt.
Gerade im Vertrieb, Support oder in der Personalabteilung.

Mit GPT oder Modellen von Hugging Face kannst Du genau das analysieren lassen.
Direkt in Word.
Per VBA.
Knopfdruck. Bewertung. Fertig.

Was Du brauchst

  • Word 2024 mit VBA
  • OpenAI API-Key oder REST-Endpunkt eines Hugging-Face-Modells
  • Markierten Text oder aktiven Absatz
  • Logik zur RĂŒckmeldung im Dokument

Ziel

TextauszugErgebnis
„Bitte schicken Sie uns endlich die Unterlagen.“negativ
„Könnten Sie uns bitte die Unterlagen zukommen lassen?“freundlich
„Die Unterlagen fehlen noch.“neutral

Variante A: GPT zur SentimentAnalyse

Schritt 1: Text aus Selektion holen

Function HoleAuswahltext() As String
    If Selection.Type = wdNoSelection Then
        MsgBox "Bitte zuerst einen Text markieren."
        HoleAuswahltext = ""
        Exit Function
    End If
    HoleAuswahltext = Selection.Text
End Function

Schritt 2: GPT-Prompt & API-Call

Function GPT_Stimmungsanalyse(text As String) As String
    Dim http As Object
    Dim apiKey As String
    Dim json As String
    Dim prompt As String

    apiKey = "DEIN_API_KEY"

    prompt = "Analysiere die Stimmung dieses deutschen Textes. Gib nur zurĂŒck: positiv, neutral oder negativ." & vbCrLf & text

    json = "{" & _
        """model"": ""gpt-4""," & _
        """messages"":[{""role"":""user"",""content"":""" & Replace(prompt, """", "\""") & """}]" & _
    "}"

    Set http = CreateObject("MSXML2.ServerXMLHTTP")
    http.Open "POST", "https://api.openai.com/v1/chat/completions", False
    http.setRequestHeader "Authorization", "Bearer " & apiKey
    http.setRequestHeader "Content-Type", "application/json"
    http.Send json

    GPT_Stimmungsanalyse = ParseAntwort(http.responseText)
End Function

Schritt 3: Antwort parsen

Function ParseAntwort(json As String) As String
    Dim sc As Object
    Set sc = CreateObject("ScriptControl")
    sc.Language = "JScript"
    sc.AddCode "function parse(j){return JSON.parse(j).choices[0].message.content.trim();}"
    ParseAntwort = sc.Run("parse", json)
End Function

Schritt 4: Bewertung anzeigen

Sub StimmungsanalyseStarten()
    Dim text As String
    text = HoleAuswahltext()
    If text = "" Then Exit Sub

    Dim ergebnis As String
    ergebnis = GPT_Stimmungsanalyse(text)

    MsgBox "Erkannte Stimmung: " & ergebnis
End Sub

Variante B: Hugging Face Sentiment API (optional)

Falls Du lieber Hugging-Face-Modelle via REST nutzt (z. B. distilbert-base-german-cased oder nlptown/bert-base-multilingual-uncased-sentiment), Àndert sich nur der API-Call:

Function HF_Analyse(text As String) As String
    Dim http As Object
    Dim json As String
    json = "{""inputs"":""" & Replace(text, """", "\""") & """}"

    Set http = CreateObject("MSXML2.ServerXMLHTTP")
    http.Open "POST", "https://api-inference.huggingface.co/models/dein-modell", False
    http.setRequestHeader "Authorization", "Bearer DEIN_HF_TOKEN"
    http.setRequestHeader "Content-Type", "application/json"
    http.Send json

    HF_Analyse = http.responseText ' ggf. JSON weiterverarbeiten
End Function

Was Du damit machen kannst

AnwendungReaktion
Bewerbungstexte prĂŒfen„Klingt das zu unterwĂŒrfig?“
Support-Antworten analysieren„Wirkt das verstĂ€ndnisvoll oder schroff?“
Kunden-E-Mails bewerten„Eskalation im Anflug?“
Produkttexte optimieren„Ist das sachlich oder begeistert?“

Was Du beachten musst

  • GPT erkennt Stimmung gut – auch bei indirekten Formulierungen
  • Ergebnisse sind sprachabhĂ€ngig – Prompt besser auf Deutsch setzen
  • Lange Texte ggf. kĂŒrzen oder splitten
  • Hugging Face liefert Scores – GPT eher Labels

Erweiterungen

  • Bewertung automatisch als Kommentar einfĂŒgen
  • Kategorie in Word setzen („Freundlich“, „Neutral“, „Kritisch“)
  • Stimmungsverlauf bei mehreren AbsĂ€tzen anzeigen

„Zwischen den Zeilen steht oft mehr – GPT liest das raus.“

Wenn Du sowas produktiv in Word brauchst – ich bau Dir das ohne Add-In.
Makro, Text, Bewertung. Fertig.