Warum Hugging Face?

Wenn Du Text klassifizieren willst.
Ob ein Text positiv ist. Ob er zu Kategorie A oder B gehört.
Oder ob da vertrauliche Begriffe drinstehen.

Hugging Face hat tausende fertige Modelle.
Und Du kannst sie per REST direkt aus Access ansprechen.

Was brauchst Du?

  • Ein Hugging Face-Konto
  • Einen API-Token (https://huggingface.co/settings/tokens)
  • Ein Modell-Name (z. B. distilbert-base-uncased-finetuned-sst-2-english)
  • VBA-Kenntnisse für den REST-Call

Beispiel-Modell für Sentiment

https://api-inference.huggingface.co/models/distilbert-base-uncased-finetuned-sst-2-english

Antwort: JSON mit Labels wie POSITIVE oder NEGATIVE.

Tabellenstruktur (Vorschlag)

TabelleZweck
tblTexteTexteingaben
tblKlassifikationErgebnis: Label, Score

Access: Textklassifikation per REST

Schritt 1: Anfrage vorbereiten

Function KlassifiziereText(text As String) As String
    Dim http As Object
    Dim jsonRequest As String
    Dim jsonResponse As String
    Dim token As String
    Dim modellURL As String

    token = "DEIN_HUGGINGFACE_TOKEN"
    modellURL = "https://api-inference.huggingface.co/models/distilbert-base-uncased-finetuned-sst-2-english"

    jsonRequest = "{""inputs"":""" & Replace(text, """", "\""") & """}"

    Set http = CreateObject("MSXML2.ServerXMLHTTP")
    http.Open "POST", modellURL, False
    http.setRequestHeader "Authorization", "Bearer " & token
    http.setRequestHeader "Content-Type", "application/json"
    http.Send jsonRequest

    jsonResponse = http.responseText
    KlassifiziereText = jsonResponse
End Function

Antwort extrahieren (Label + Score)

Function ParseHuggingFaceAntwort(json As String) As String
    Dim sc As Object
    Set sc = CreateObject("ScriptControl")
    sc.Language = "JScript"
    sc.AddCode "function parse(j) { var d=JSON.parse(j)[0]; return d.label + '|' + d.score; }"
    ParseHuggingFaceAntwort = sc.Run("parse", json)
End Function

Speichern des Ergebnisses

Sub SpeichereKlassifikation(textID As Long, label As String, score As Double)
    CurrentDb.Execute "INSERT INTO tblKlassifikation (TextID, Label, Score) VALUES (" & _
                      textID & ", '" & Replace(label, "'", "''") & "', " & Replace(score, ",", ".") & ")"
End Sub

Beispiel: Text analysieren

Sub AnalysiereText(textID As Long, eingabe As String)
    Dim json As String
    Dim auswertung As String
    Dim teile() As String

    json = KlassifiziereText(eingabe)
    auswertung = ParseHuggingFaceAntwort(json)
    teile = Split(auswertung, "|")

    If UBound(teile) = 1 Then
        Call SpeichereKlassifikation(textID, teile(0), CDbl(teile(1)))
        MsgBox "Klassifikation: " & teile(0) & " (" & Format(teile(1), "0.00%") & ")"
    Else
        MsgBox "Fehler beim Parsen der Antwort."
    End If
End Sub

Beispiel für andere Modelle

AufgabeModellname
Sentiment (Englisch)distilbert-base-uncased-finetuned-sst-2-english
Topic Detectionfiniteautomata/bertweet-base-emotion-analysis
Toxic Languageunitary/toxic-bert
TextklassifikationEigene Modelle per AutoTrain auf Hugging Face trainieren

Was Du beachten musst

  • Antwortzeit kann 2–5 Sekunden betragen
  • Token monatlich begrenzt im Free-Tarif
  • Nicht alle Modelle liefern gleiches JSON-Format
  • Texte vorher bereinigen (z. B. HTML entfernen)

Optional: Klassifikationsvorschau im Formular

Private Sub btnTest_Click()
    Call AnalysiereText(Me.txtID, Me.txtText)
End Sub

„Hugging Face denkt, Access dokumentiert.“

Wenn Du’s brauchst: Ich setz Dir das auf.
NLP, ohne Data Science-Overkill. Aber mit klarer Struktur.

Tags:

No responses yet

Schreibe einen Kommentar

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