Worum geht’s?
Du hast viele Texte in Excel.
Support-Anfragen, interne Kommentare, Nachrichten.
Und Du willst wissen:
Ist das Spam?
Hat das Priorität?
Worum geht’s inhaltlich?
Könnte man manuell machen.
Oder Du lässt Azure oder Hugging Face klassifizieren.
Direkt aus Excel. Mit VBA.
Was brauchst Du?
- Excel 2024 mit Makrozugriff
- API-Zugang zu Azure OpenAI oder Hugging Face
- Eine Spalte mit Texten
- Eine leere Spalte für die Klassifikation
Beispielhafte Tabelle
Nachrichtentext | Klassifikation |
---|---|
Ich brauche dringend Hilfe mit Rechnung 42 | Priorität |
Jetzt gratis gewinnen – klicken Sie hier | Spam |
Anfrage zum Vertrag vom 12.3. | Anfrage |
Klassifikation per Prompt
Beispiel GPT-Prompt (Azure oder OpenAI):
Analysiere den folgenden Text und gib exakt eine der folgenden Kategorien zurück: Spam, Priorität, Anfrage, Info, Sonstiges. Text: [Text hier]
Beispiel für Hugging Face Zero-Shot:
Labels: ["Spam", "Anfrage", "Priorität", "Info", "Sonstiges"]
Model: z. B. facebook/bart-large-mnli
Variante: Azure OpenAI
VBA-Funktion zur Klassifikation
Function KlassifiziereTextAzure(text As String) As String
Dim http As Object
Dim apiKey As String
Dim prompt As String
Dim result As String
Dim json As String
apiKey = "<dein-key>"
prompt = "Analysiere den folgenden Text und gib exakt eine der folgenden Kategorien zurück: Spam, Priorität, Anfrage, Info, Sonstiges." & vbCrLf & "Text: " & text
json = "{""messages"":[{""role"":""user"",""content"":""" & Replace(prompt, """", "\""") & """}],""temperature"":0}"
Set http = CreateObject("MSXML2.XMLHTTP")
With http
.Open "POST", "https://<region>.api.cognitive.microsoft.com/openai/deployments/<deployment-name>/chat/completions?api-version=2024-03-01", False
.setRequestHeader "Content-Type", "application/json"
.setRequestHeader "api-key", apiKey
.send json
result = .responseText
End With
Dim startPos As Long, endPos As Long
startPos = InStr(result, """content"":""") + 11
endPos = InStr(startPos, result, """}")
KlassifiziereTextAzure = Mid(result, startPos, endPos - startPos)
End Function
Variante: Hugging Face Zero-Shot API
Authentifizierung vorbereiten
- Token unter https://huggingface.co/settings/tokens
- Zero-Shot Modell wie
facebook/bart-large-mnli
nutzen
VBA-Funktion zur Klassifikation
Function KlassifiziereMitHuggingFace(text As String) As String
Dim http As Object
Dim token As String
Dim json As String
Dim result As String
token = "hf_..." ' Hugging Face API-Token
json = "{""inputs"":""" & Replace(text, """", "\""") & """,""parameters"":{""candidate_labels"":[""Spam"",""Priorität"",""Anfrage"",""Info"",""Sonstiges""]}}"
Set http = CreateObject("MSXML2.XMLHTTP")
With http
.Open "POST", "https://api-inference.huggingface.co/models/facebook/bart-large-mnli", False
.setRequestHeader "Authorization", "Bearer " & token
.setRequestHeader "Content-Type", "application/json"
.send json
result = .responseText
End With
Dim labelStart As Long, labelEnd As Long
labelStart = InStr(result, """labels"":[""") + 10
labelEnd = InStr(labelStart, result, """")
KlassifiziereMitHuggingFace = Mid(result, labelStart, labelEnd - labelStart)
End Function
Spalte automatisiert klassifizieren
Sub KlassifiziereSpalte()
Dim zeile As Long
Dim letzte As Long
Dim text As String
Dim kategorie As String
letzte = Cells(Rows.Count, 1).End(xlUp).Row
For zeile = 2 To letzte
text = Cells(zeile, 1).Value
If Len(Trim(text)) > 0 Then
kategorie = KlassifiziereTextAzure(text) ' Oder KlassifiziereMitHuggingFace(text)
Cells(zeile, 2).Value = Trim(kategorie)
DoEvents
Application.Wait Now + TimeValue("0:00:01")
End If
Next zeile
MsgBox "Klassifikation abgeschlossen."
End Sub
Tipps aus der Praxis
- Kurze Texte funktionieren besser
- GPT-Modelle liefern konstantere Antworten, wenn Du genaue Anweisung gibst
- Hugging Face ist günstiger, aber nicht immer aktuell trainiert
- Ergebnisse am besten mit fester Label-Liste abgleichen
Erweiterungsideen
- Klassifikation + Weiterleitung (z. B. „Spam“ in extra Sheet)
- Mehrstufige Klassifikation (Thema + Dringlichkeit)
- Logging der Ergebnisse mit Zeitstempel
- Farben und Symbole per VBA setzen
Wenn Du viele Texte schnell einordnen musst – dann bau Dir eine KI-Klassifikation in Excel und lass GPT oder Hugging Face das Kleinklein übernehmen.
Keine Antworten