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 Sentiment-Analyse

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.

Tags:

No responses yet

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert