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
Textauszug | Ergebnis |
---|---|
„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
Anwendung | Reaktion |
---|---|
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.
No responses yet