Hexis API ist eine RESTful API, die Zugang zu den in unserem Labor entwickelten Sprachanalyse-Tools bietet. Zurzeit umfasst dies ein leistungsfähiges Klassifizierungsmodell zur automatischen Moderation von Textnachrichten.
Falls Sie noch kein Benutzerkonto erstellt haben, können Sie sich hier anmelden. Sobald Sie Ihre Email-Adresse verifiziert haben, sind Sie freigeschaltet für die Nutzung der API und können einen Zugangs-Token erstellen.
Die API ist einfach aufgebaut und folgt gängigen Standards des Datenaustauschs. Für die Interaktion mit der API können Sie eine Programmiersprache Ihrer Wahl verwenden. Zum Testen kann auch ein Werkzeug wie Postman, Insomnia oder cURL auf der Befehlszeile nützlich sein.
Für den Anfang bietet diese Dokumentation Code-Beispiele in Javascript, Python, PHP und Unix-Shell. Sie veranschaulichen, wie man Anfragen an den API-Endpunkt stellt und Antworten von dort erhält.
Diese API verwendet einen Basispfad von https://api.hexis.ai. Sie ist nur über eine SSL-gesicherte HTTP-Verbindung verfügbar.
Der HTTP-Inhaltstyp ist application/json
, und die zwischen einem Client und dem API-Endpunkt ausgetauschten Payloads sind valide JSON-Objekte. Für den Textinhalt ist zu beachten: Doppelte Anführungszeichen ("
) müssen escaped (\"
) und Zeilenumbrüche können durch |LBR|
ersetzt werden.
Eine Score ist ein Indikator für Wahrscheinlichkeiten, nicht für Schweregrade. Höhere Zahlen stehen für eine höhere Wahrscheinlichkeit, dass die Muster im Text den Mustern in Kommentaren ähneln, die von Personen — Laien sowie Fachleuten — als beleidigend gekennzeichnet wurden. Die Scores sollen es den Entwicklern ermöglichen, Schwellenwerte zu bestimmen und Texte auf der Grundlage dieser Schwellenwerte automatisch zu akzeptieren, zu prüfen oder abzulehnen.
Die API erlaubt standardmäßig maximal 10 Anfragen pro Sekunde. Sobald dieses Limit erreicht ist, werden Fehlermeldungen mit einem HTTP-Statuscode von 429 zurückzugeben. Die maximale request body size beträgt 10 Kilobytes. Anfragen, die größer sind, lösen einen Statuscode von 413 aus. Bitte beachten Sie, dass die maximale Textlänge für das Klassifizierungsmodell 120 Wörter beträgt. Jede Anfrage, die darüber hinausgeht, wird in 120 Wörter große Teile aufgeteilt und separat gezählt.
Für jedes Modell gibt es eine Demoversion, die kostenlos und anonym zu nutzen ist. Sie kann zum Testen von API-Integrationen oder für alles andere verwendet werden, solange das Volumen der Anfragen gering ist. Die Anzahl der Anfragen ist auf 20 Anfragen pro 1 Stunde begrenzt. Um zur Demoversion zu wechseln, stellen Sie /demo
einem der unten dokumentierten Pfade voran, z.B. /demo/mod-x/de
. Benutzer der Demoversion erklären sich mit der Sammlung von anonymen Nutzungsdaten zur Verbesserung unserer Dienste einverstanden.
Wenn Sie mit uns ein individuelles Modell erstellen möchten, beachten Sie bitte folgende Spezifikationen für die Trainingsdaten.
Unser System unterstützt die Verarbeitung von über 50 Sprachen und kann bereits mit einer relativen geringen Anzahl (wenige hundert) Trainingsbeispielen eine gute (>90%) Performance erreichen. Somit ist es problemlos möglich, ein individuelles Modell für eine noch nicht in der API vorhandene Sprache in Auftrag zu geben.
Unterstützte Sprachen: Albanisch, Arabisch, Armenisch, Bulgarisch, Birmanisch, Chinesisch, Dänisch, Deutsch, Englisch, Estnisch, Finnisch, Französisch, Galizisch, Georgisch, Griechisch, Gujarati, Hebräisch, Hindi, Italienisch, Indonesisch, Katalanisch, Kroatisch, Niederländisch, Ungarisch, Japanisch, Koreanisch, Kurdisch, Lettisch, Litauisch, Mazedonisch, Malaiisch, Marathi, Mongolisch, Norwegisch, Persisch, Polnisch, Portugiesisch, Rumänisch, Russisch, Serbisch, Slowakisch, Slowenisch, Spanisch, Schwedisch, Thailändisch, Türkisch, Ukrainisch, Urdu, Vietnamesisch
Derzeit sind zwei Arten von Modellen implementiert: Binäre Klassifizierung, bei der die Trainingsdaten entweder als OFFENSE
oder OTHER
gekennzeichnet sind, und Multi-Task-Klassifizierung, bei der die Daten im Falle von verletzender Sprache als PROFANITY
, INSULT
oder ABUSE
und im Falle von harmlosen Texten als OTHER
gekennzeichnet sind. Im Multi-Task-Kontext ist es auch möglich, andere Kategorien — z.B. als SPAM
gekennzeichnete Daten — einzureichen, die dann in dasselbe Klassifizierungsmodell einbezogen werden.
Die Daten sollten in einer UTF-8-kodierten Textdatei vorliegen. Ein Trainingsbeispiel pro Zeile, im folgenden Format:
<TEXT> tab <LABEL-BINARY> tab <LABEL-MULTITASK>
Zeilenumbrüche im Text können durch |LBR|
ersetzt werden.
Das binäre Klassifizierungsmodell (OFFENSE
, OTHER
) ist die effektivste Lösung, um anstößige Sprache zu filtern. Es kann für eine Vielzahl von Sprachen zum Einsatz gebracht werden und zeichnet sich durch eine hohe Robustheit aus, da es vom semantischen Wissen großer Sprachmodelle profitiert. Der Klassifikator ist über den Pfad /mod-1
zu erreichen.
language required | string Sprachcode. Mögliche Werte sind |
text required | string Eingabe-Text |
OK
scores | object Liste von Scores |
Bad Request
Unauthorized
Request Entity Too Large
Too Many Requests
{- "text": "string"
}
{- "scores": [
- 0.0043626511
]
}
Das Multi-Task-Klassifikationsmodell ermöglicht die Einrichtung detaillierter Filtersysteme. Es umfasst alle Datenkategorien aus dem Task zur Erkennung von anstößiger Sprache (PROFANITY
, INSULT
und ABUSE
) und ist gleichzeitig für die Spam-Erkennung (SPAM
) trainiert. Beide Tasks werden mit der Negativklasse OTHER
kontrastiert. Der Klassifikator ist über den Pfad /mod-x
zu erreichen.
language required | string Sprachcode. Mögliche Werte sind |
text required | string Eingabe-Text |
OK
scores | object Liste von Scores |
Bad Request
Unauthorized
Request Entity Too Large
Too Many Requests
{- "text": "string"
}
{- "scores": [
- [
- 0.1422883868
], - [
- 0.006340526
], - [
- 0.154242888
], - [
- 0.6034798026
], - [
- 0.0936483815
]
]
}