- API-Dokumentation
- Einleitung
- Verwenden der API
- API-Tutorial
- Zusammenfassung
- Quellen
- Datasets
- Anmerkungen
- Anhänge (Attachments)
- Vorhersagen
- Erstellen Sie einen Stream
- Aktualisieren Sie einen Stream
- Rufen Sie einen Stream nach Namen ab
- Rufen Sie alle Streams ab
- Löschen Sie einen Stream
- Ergebnisse aus Stream abrufen
- Kommentare aus einem Stream abrufen (Legacy)
- Bringen Sie einen Stream vor
- Einen Stream zurücksetzen
- Kennzeichnen Sie eine Ausnahme
- Entfernen Sie das Tag einer Ausnahme
- Prüfungsereignisse
- Alle Benutzer abrufen
- CLI
- Integrationsleitfäden
- Exchange Integration mit einem Azure-Dienstbenutzer
- Exchange-Integration mit der Azure-Anwendungsauthentifizierung
- Echtzeit-Automatisierung
- Abrufen von Daten für Tableau mit Python
- Elasticsearch-Integration
- Selbst gehostete EWS-Integration
- UiPath Automatisierungs-Framework
- UiPath Marketplace-Aktivitäten
- offizielle UiPath-Aktivitäten
- Blog
- Wie Maschinen lernen, Wörter zu verstehen: eine Anleitung zu Einbettungen in NLP
- Eingabeaufforderungsbasiertes Lernen mit Transformers
- Ef Robots II: Wissensdegesterration und Feinabstimmung
- Effiziente Transformer I: Warnmechanismen
- Tief hierarchische, nicht überwachte Absichtsmodellierung: Nutzen ohne Trainingsdaten
- Beheben der Anmerkungsverzerrung durch Communications Mining
- Aktives Lernen: Bessere ML-Modelle in weniger Zeit
- Auf Zahlen kommt es an – Bewertung der Modellleistung mit Metriken
- Darum ist Modellvalidierung wichtig
- Vergleich von Communications Mining und Google AutoML für die Ermittlung von Konversationsdaten
Communications Mining-Entwicklerhandbuch
Vorhersagen
/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict
Erforderliche Berechtigungen: Beschriftungen anzeigen, Quellen anzeigen
Abrechenbarer Vorgang
Pro Kommentar, der im Anforderungstext angegeben wird, wird Ihnen 1 AI Unit in Rechnung gestellt.
- Bash
curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict' \ -H "Authorization: Bearer $REINFER_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "documents": [ { "messages": [ { "body": { "text": "Hi Bob,\n\nCould you send me the figures for today?" }, "from": "alice@company.com", "sent_at": "2020-01-09T16:34:45Z", "signature": { "text": "Thanks,\nAlice" }, "subject": { "text": "Figures Request" }, "to": [ "bob@organisation.org" ] } ], "timestamp": "2013-09-12T20:01:20.000000+00:00", "user_properties": { "string:City": "London" } }, { "messages": [ { "body": { "text": "Alice,\n\nHere are the figures for today." }, "from": "bob@organisation.org", "sent_at": "2020-01-09T16:44:45Z", "signature": { "text": "Regards,\nBob" }, "subject": { "text": "Re: Figures Request" }, "to": [ "alice@company.com" ] } ], "timestamp": "2011-12-12T10:04:30.000000+00:00", "user_properties": { "string:City": "Bucharest" } } ], "threshold": 0.25 }'
curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict' \ -H "Authorization: Bearer $REINFER_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "documents": [ { "messages": [ { "body": { "text": "Hi Bob,\n\nCould you send me the figures for today?" }, "from": "alice@company.com", "sent_at": "2020-01-09T16:34:45Z", "signature": { "text": "Thanks,\nAlice" }, "subject": { "text": "Figures Request" }, "to": [ "bob@organisation.org" ] } ], "timestamp": "2013-09-12T20:01:20.000000+00:00", "user_properties": { "string:City": "London" } }, { "messages": [ { "body": { "text": "Alice,\n\nHere are the figures for today." }, "from": "bob@organisation.org", "sent_at": "2020-01-09T16:44:45Z", "signature": { "text": "Regards,\nBob" }, "subject": { "text": "Re: Figures Request" }, "to": [ "alice@company.com" ] } ], "timestamp": "2011-12-12T10:04:30.000000+00:00", "user_properties": { "string:City": "Bucharest" } } ], "threshold": 0.25 }' - Knoten
const request = require("request"); request.post( { url: "https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, json: true, body: { documents: [ { messages: [ { body: { text: "Hi Bob,\n\nCould you send me the figures for today?", }, from: "alice@company.com", sent_at: "2020-01-09T16:34:45Z", signature: { text: "Thanks,\nAlice" }, subject: { text: "Figures Request" }, to: ["bob@organisation.org"], }, ], timestamp: "2013-09-12T20:01:20.000000+00:00", user_properties: { "string:City": "London" }, }, { messages: [ { body: { text: "Alice,\n\nHere are the figures for today." }, from: "bob@organisation.org", sent_at: "2020-01-09T16:44:45Z", signature: { text: "Regards,\nBob" }, subject: { text: "Re: Figures Request" }, to: ["alice@company.com"], }, ], timestamp: "2011-12-12T10:04:30.000000+00:00", user_properties: { "string:City": "Bucharest" }, }, ], threshold: 0.25, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } );
const request = require("request"); request.post( { url: "https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, json: true, body: { documents: [ { messages: [ { body: { text: "Hi Bob,\n\nCould you send me the figures for today?", }, from: "alice@company.com", sent_at: "2020-01-09T16:34:45Z", signature: { text: "Thanks,\nAlice" }, subject: { text: "Figures Request" }, to: ["bob@organisation.org"], }, ], timestamp: "2013-09-12T20:01:20.000000+00:00", user_properties: { "string:City": "London" }, }, { messages: [ { body: { text: "Alice,\n\nHere are the figures for today." }, from: "bob@organisation.org", sent_at: "2020-01-09T16:44:45Z", signature: { text: "Regards,\nBob" }, subject: { text: "Re: Figures Request" }, to: ["alice@company.com"], }, ], timestamp: "2011-12-12T10:04:30.000000+00:00", user_properties: { "string:City": "Bucharest" }, }, ], threshold: 0.25, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } ); - Python
import json import os import requests response = requests.post( "https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, json={ "documents": [ { "messages": [ { "from": "alice@company.com", "to": ["bob@organisation.org"], "sent_at": "2020-01-09T16:34:45Z", "body": { "text": "Hi Bob,\n\nCould you send me the figures for today?" }, "subject": {"text": "Figures Request"}, "signature": {"text": "Thanks,\nAlice"}, } ], "timestamp": "2013-09-12T20:01:20.000000+00:00", "user_properties": {"string:City": "London"}, }, { "messages": [ { "from": "bob@organisation.org", "to": ["alice@company.com"], "sent_at": "2020-01-09T16:44:45Z", "body": { "text": "Alice,\n\nHere are the figures for today." }, "subject": {"text": "Re: Figures Request"}, "signature": {"text": "Regards,\nBob"}, } ], "timestamp": "2011-12-12T10:04:30.000000+00:00", "user_properties": {"string:City": "Bucharest"}, }, ], "threshold": 0.25, }, ) print(json.dumps(response.json(), indent=2, sort_keys=True))
import json import os import requests response = requests.post( "https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, json={ "documents": [ { "messages": [ { "from": "alice@company.com", "to": ["bob@organisation.org"], "sent_at": "2020-01-09T16:34:45Z", "body": { "text": "Hi Bob,\n\nCould you send me the figures for today?" }, "subject": {"text": "Figures Request"}, "signature": {"text": "Thanks,\nAlice"}, } ], "timestamp": "2013-09-12T20:01:20.000000+00:00", "user_properties": {"string:City": "London"}, }, { "messages": [ { "from": "bob@organisation.org", "to": ["alice@company.com"], "sent_at": "2020-01-09T16:44:45Z", "body": { "text": "Alice,\n\nHere are the figures for today." }, "subject": {"text": "Re: Figures Request"}, "signature": {"text": "Regards,\nBob"}, } ], "timestamp": "2011-12-12T10:04:30.000000+00:00", "user_properties": {"string:City": "Bucharest"}, }, ], "threshold": 0.25, }, ) print(json.dumps(response.json(), indent=2, sort_keys=True)) - Antwort
{ "entities": [ [ { "capture_ids": [], "formatted_value": "Bob", "id": "76aebf2646577a1d", "kind": "person", "name": "person", "probability": null, "span": { "char_end": 6, "char_start": 3, "content_part": "body", "message_index": 0, "utf16_byte_end": 12, "utf16_byte_start": 6 } }, { "capture_ids": [], "formatted_value": "2020-01-09 00:00 UTC", "id": "20beddf4c5f5bb61", "kind": "date", "name": "date", "probability": null, "span": { "char_end": 48, "char_start": 43, "content_part": "body", "message_index": 0, "utf16_byte_end": 96, "utf16_byte_start": 86 } } ], [] ], "model": { "time": "2020-02-06T20:42:58.047000Z", "version": 5 }, "predictions": [ [ { "name": ["Some Label"], "probability": 0.8896465003490448 }, { "name": ["Parent Label", "Child Label"], "probability": 0.26687008142471313, "sentiment": 0.8762539502232571 } ], [ { "name": ["Other Label"], "probability": 0.6406207121908665 } ] ], "status": "ok" }
{ "entities": [ [ { "capture_ids": [], "formatted_value": "Bob", "id": "76aebf2646577a1d", "kind": "person", "name": "person", "probability": null, "span": { "char_end": 6, "char_start": 3, "content_part": "body", "message_index": 0, "utf16_byte_end": 12, "utf16_byte_start": 6 } }, { "capture_ids": [], "formatted_value": "2020-01-09 00:00 UTC", "id": "20beddf4c5f5bb61", "kind": "date", "name": "date", "probability": null, "span": { "char_end": 48, "char_start": 43, "content_part": "body", "message_index": 0, "utf16_byte_end": 96, "utf16_byte_start": 86 } } ], [] ], "model": { "time": "2020-02-06T20:42:58.047000Z", "version": 5 }, "predictions": [ [ { "name": ["Some Label"], "probability": 0.8896465003490448 }, { "name": ["Parent Label", "Child Label"], "probability": 0.26687008142471313, "sentiment": 0.8762539502232571 } ], [ { "name": ["Other Label"], "probability": 0.6406207121908665 } ] ], "status": "ok" }
live
oder staging
verwenden, um die aktuelle Live- oder Staging-Modellversion abzufragen.
Name | Typ | Erforderlich | BESCHREIBUNG |
---|---|---|---|
documents | array<Comment> | ja | Ein Batch von maximal 4096 Dokumenten in dem unter Kommentarreferenz beschriebenen Format. Größere Batches sind (pro Dokument) schneller als kleinere. |
threshold | Nummer | nein | Der Konfidenzschwellenwert, nach dem die Beschriftungsergebnisse gefiltert werden sollen. Eine Zahl zwischen 1.0 und 0.0 . 0.0 enthält alle Ergebnisse. Legen Sie "auto" , um automatische Schwellenwerte zu verwenden. Wird diese Option nicht festgelegt, wird der Standardschwellenwert 0.25 verwendet.
|
labels | array<Label> | nein | Eine Liste der angeforderten Bezeichnungen, die mit optional beschriftungsspezifischen Schwellenwerten zurückgegeben werden sollen. |
Label
das folgende Format:
Name | Typ | Erforderlich | BESCHREIBUNG |
---|---|---|---|
name | array<string> | ja | Der Name der zurückzugebenden Bezeichnung, formatiert als Liste hierarchischer Bezeichnungen. Beispielsweise hat die Beschriftung "Parent Label > Child Label" das Format ["Parent Label", "Child Label"] .
|
threshold | Nummer | nein | Der Konfidenz-Schwellenwert, der für die Bezeichnung verwendet werden soll. Wenn nicht angegeben, wird standardmäßig der auf höchster Ebene angegebene Schwellenwert verwendet. |
Name | Typ | BESCHREIBUNG |
---|---|---|
status | string | ok wenn die Anforderung erfolgreich ist, oder error im Falle eines Fehlers. Weitere Informationen zu Fehlerantworten finden Sie unter Übersicht .
|
predictions | array<array<Label>> | Eine Liste von array<Label> in der gleichen Reihenfolge wie die Kommentare in der Anforderung, wobei jede Label das hier beschriebene Format hat.
|
entities | array<array<Entity>> | Eine Liste von array<Entity> in der gleichen Reihenfolge wie die Kommentare in der Anforderung, wobei jede Entity das hier beschriebene Format hat.
|
label_properties | array<LabelProperty> | Ein Array mit vorhergesagten Beschriftungseigenschaften für diesen Kommentar, bei dem jede LabelProperty das hier beschriebene Format hat.
|
model | Modell | Informationen über das Modell, mit dem die Vorhersagen erstellt wurden, in dem hier beschriebenen Format. |
latest
anstelle einer angehefteten Modellversion.
/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-raw-emails
Erforderliche Berechtigungen: Beschriftungen anzeigen, Quellen anzeigen
Abrechenbarer Vorgang
Pro unformatierter E-Mail, die im Anforderungstext angegeben ist, wird Ihnen 1 AI Unit in Rechnung gestellt.
- Bash
curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-raw-emails' \ -H "Authorization: Bearer $REINFER_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "documents": [ { "raw_email": { "body": { "plain": "Hi Bob,\n\nCould you send me the figures for today?\n\nThanks,\nAlice" }, "headers": { "parsed": { "Date": "Thu, 09 Jan 2020 16:34:45 +0000", "From": "alice@company.com", "Message-ID": "abcdef@company.com", "References": "<01234@company.com> <56789@company.com>", "Subject": "Figures Request", "To": "bob@organisation.org" } } }, "user_properties": { "string:City": "London" } }, { "raw_email": { "body": { "html": "<p>Alice,</p><p>Here are the figures for today.</p><p>Regards,<br/>Bob</p>" }, "headers": { "raw": "Message-ID: 012345@company.com\nDate: Thu, 09 Jan 2020 16:44:45 +0000\nSubject: Re: Figures Request\nFrom: bob@organisation.org\nTo: alice@company.com" } }, "user_properties": { "string:City": "Bucharest" } } ], "include_comments": false, "threshold": 0.25, "transform_tag": "generic.0.CONVKER5" }'
curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-raw-emails' \ -H "Authorization: Bearer $REINFER_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "documents": [ { "raw_email": { "body": { "plain": "Hi Bob,\n\nCould you send me the figures for today?\n\nThanks,\nAlice" }, "headers": { "parsed": { "Date": "Thu, 09 Jan 2020 16:34:45 +0000", "From": "alice@company.com", "Message-ID": "abcdef@company.com", "References": "<01234@company.com> <56789@company.com>", "Subject": "Figures Request", "To": "bob@organisation.org" } } }, "user_properties": { "string:City": "London" } }, { "raw_email": { "body": { "html": "<p>Alice,</p><p>Here are the figures for today.</p><p>Regards,<br/>Bob</p>" }, "headers": { "raw": "Message-ID: 012345@company.com\nDate: Thu, 09 Jan 2020 16:44:45 +0000\nSubject: Re: Figures Request\nFrom: bob@organisation.org\nTo: alice@company.com" } }, "user_properties": { "string:City": "Bucharest" } } ], "include_comments": false, "threshold": 0.25, "transform_tag": "generic.0.CONVKER5" }' - Knoten
const request = require("request"); request.post( { url: "https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-raw-emails", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, json: true, body: { documents: [ { raw_email: { body: { plain: "Hi Bob,\n\nCould you send me the figures for today?\n\nThanks,\nAlice", }, headers: { parsed: { Date: "Thu, 09 Jan 2020 16:34:45 +0000", From: "alice@company.com", "Message-ID": "abcdef@company.com", References: "<01234@company.com> <56789@company.com>", Subject: "Figures Request", To: "bob@organisation.org", }, }, }, user_properties: { "string:City": "London" }, }, { raw_email: { body: { html: "<p>Alice,</p><p>Here are the figures for today.</p><p>Regards,<br/>Bob</p>", }, headers: { raw: "Message-ID: 012345@company.com\nDate: Thu, 09 Jan 2020 16:44:45 +0000\nSubject: Re: Figures Request\nFrom: bob@organisation.org\nTo: alice@company.com", }, }, user_properties: { "string:City": "Bucharest" }, }, ], include_comments: false, threshold: 0.25, transform_tag: "generic.0.CONVKER5", }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } );
const request = require("request"); request.post( { url: "https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-raw-emails", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, json: true, body: { documents: [ { raw_email: { body: { plain: "Hi Bob,\n\nCould you send me the figures for today?\n\nThanks,\nAlice", }, headers: { parsed: { Date: "Thu, 09 Jan 2020 16:34:45 +0000", From: "alice@company.com", "Message-ID": "abcdef@company.com", References: "<01234@company.com> <56789@company.com>", Subject: "Figures Request", To: "bob@organisation.org", }, }, }, user_properties: { "string:City": "London" }, }, { raw_email: { body: { html: "<p>Alice,</p><p>Here are the figures for today.</p><p>Regards,<br/>Bob</p>", }, headers: { raw: "Message-ID: 012345@company.com\nDate: Thu, 09 Jan 2020 16:44:45 +0000\nSubject: Re: Figures Request\nFrom: bob@organisation.org\nTo: alice@company.com", }, }, user_properties: { "string:City": "Bucharest" }, }, ], include_comments: false, threshold: 0.25, transform_tag: "generic.0.CONVKER5", }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } ); - Python
import json import os import requests response = requests.post( "https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-raw-emails", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, json={ "transform_tag": "generic.0.CONVKER5", "documents": [ { "raw_email": { "headers": { "parsed": { "Message-ID": "abcdef@company.com", "Date": "Thu, 09 Jan 2020 16:34:45 +0000", "Subject": "Figures Request", "From": "alice@company.com", "To": "bob@organisation.org", "References": "<01234@company.com> <56789@company.com>", } }, "body": { "plain": "Hi Bob,\n\nCould you send me the figures for today?\n\nThanks,\nAlice" }, }, "user_properties": {"string:City": "London"}, }, { "raw_email": { "headers": { "raw": "Message-ID: 012345@company.com\nDate: Thu, 09 Jan 2020 16:44:45 +0000\nSubject: Re: Figures Request\nFrom: bob@organisation.org\nTo: alice@company.com" }, "body": { "html": "<p>Alice,</p><p>Here are the figures for today.</p><p>Regards,<br/>Bob</p>" }, }, "user_properties": {"string:City": "Bucharest"}, }, ], "threshold": 0.25, "include_comments": False, }, ) print(json.dumps(response.json(), indent=2, sort_keys=True))
import json import os import requests response = requests.post( "https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-raw-emails", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, json={ "transform_tag": "generic.0.CONVKER5", "documents": [ { "raw_email": { "headers": { "parsed": { "Message-ID": "abcdef@company.com", "Date": "Thu, 09 Jan 2020 16:34:45 +0000", "Subject": "Figures Request", "From": "alice@company.com", "To": "bob@organisation.org", "References": "<01234@company.com> <56789@company.com>", } }, "body": { "plain": "Hi Bob,\n\nCould you send me the figures for today?\n\nThanks,\nAlice" }, }, "user_properties": {"string:City": "London"}, }, { "raw_email": { "headers": { "raw": "Message-ID: 012345@company.com\nDate: Thu, 09 Jan 2020 16:44:45 +0000\nSubject: Re: Figures Request\nFrom: bob@organisation.org\nTo: alice@company.com" }, "body": { "html": "<p>Alice,</p><p>Here are the figures for today.</p><p>Regards,<br/>Bob</p>" }, }, "user_properties": {"string:City": "Bucharest"}, }, ], "threshold": 0.25, "include_comments": False, }, ) print(json.dumps(response.json(), indent=2, sort_keys=True)) - Antwort
{ "entities": [ [ { "capture_ids": [], "formatted_value": "Bob", "id": "76aebf2646577a1d", "kind": "person", "name": "person", "probability": null, "span": { "char_end": 6, "char_start": 3, "content_part": "body", "message_index": 0, "utf16_byte_end": 12, "utf16_byte_start": 6 } }, { "capture_ids": [], "formatted_value": "2020-01-09 00:00 UTC", "id": "20beddf4c5f5bb61", "kind": "date", "name": "date", "probability": null, "span": { "char_end": 48, "char_start": 43, "content_part": "body", "message_index": 0, "utf16_byte_end": 96, "utf16_byte_start": 86 } } ], [] ], "model": { "time": "2020-02-06T20:42:58.047000Z", "version": 5 }, "predictions": [ [ { "name": ["Some Label"], "probability": 0.8896465003490448 }, { "name": ["Parent Label", "Child Label"], "probability": 0.26687008142471313, "sentiment": 0.8762539502232571 } ], [ { "name": ["Other Label"], "probability": 0.6406207121908665 } ] ], "status": "ok" }
{ "entities": [ [ { "capture_ids": [], "formatted_value": "Bob", "id": "76aebf2646577a1d", "kind": "person", "name": "person", "probability": null, "span": { "char_end": 6, "char_start": 3, "content_part": "body", "message_index": 0, "utf16_byte_end": 12, "utf16_byte_start": 6 } }, { "capture_ids": [], "formatted_value": "2020-01-09 00:00 UTC", "id": "20beddf4c5f5bb61", "kind": "date", "name": "date", "probability": null, "span": { "char_end": 48, "char_start": 43, "content_part": "body", "message_index": 0, "utf16_byte_end": 96, "utf16_byte_start": 86 } } ], [] ], "model": { "time": "2020-02-06T20:42:58.047000Z", "version": 5 }, "predictions": [ [ { "name": ["Some Label"], "probability": 0.8896465003490448 }, { "name": ["Parent Label", "Child Label"], "probability": 0.26687008142471313, "sentiment": 0.8762539502232571 } ], [ { "name": ["Other Label"], "probability": 0.6406207121908665 } ] ], "status": "ok" }
live
oder staging
verwenden, um die aktuelle Live- oder Staging-Modellversion abzufragen.
Name | Typ | Erforderlich | BESCHREIBUNG |
---|---|---|---|
transform_tag | string | ja | Ein Tag, das angibt, wie die Rohdaten verarbeitet werden sollen. |
documents | array<Document> | ja | Ein Batch von höchstens 4096 Dokumenten im unten beschriebenen Format. Größere Batches sind schneller (pro Dokument) als kleinere. |
threshold | Nummer | nein | Der Konfidenzschwellenwert, nach dem die Beschriftungsergebnisse gefiltert werden sollen. Eine Zahl zwischen 1.0 und 0.0 . 0.0 enthält alle Ergebnisse. Legen Sie "auto" , um automatische Schwellenwerte zu verwenden. Wird diese Option nicht festgelegt, wird der Standardschwellenwert 0.25 verwendet.
|
labels | array<Label> | nein | Eine Liste der angeforderten Bezeichnungen, die mit optional beschriftungsspezifischen Schwellenwerten zurückgegeben werden sollen. |
include_comments | boolean | nein | Wenn auf true festgelegt, werden die aus den E-Mails analysierten Kommentare im Antworttext zurückgegeben.
|
Document
das folgende Format:
Name | Typ | Erforderlich | BESCHREIBUNG |
---|---|---|---|
raw_email | RawEmail | ja | E-Mail-Daten in dem hier beschriebenen Format. |
user_properties | map<string, string | number> | nein | Alle benutzerdefinierten Metadaten, die für den Kommentar gelten. Das Format wird hier beschrieben.
Hinweis: Einige Benutzereigenschaften werden basierend auf dem E-Mail-Inhalt generiert. Stehen diese mit hochgeladenen Benutzereigenschaften in Konflikt, schlägt die Anforderung mit
422 Unprocessable Entity fehl.
|
Label
das folgende Format:
Name | Typ | Erforderlich | BESCHREIBUNG |
---|---|---|---|
name | array<string> | ja | Der Name der zurückzugebenden Bezeichnung, formatiert als Liste hierarchischer Bezeichnungen. Beispielsweise hat die Beschriftung "Parent Label > Child Label" das Format ["Parent Label", "Child Label"] .
|
threshold | Nummer | nein | Der Konfidenz-Schwellenwert, der für die Bezeichnung verwendet werden soll. Wenn nicht angegeben, wird standardmäßig der auf höchster Ebene angegebene Schwellenwert verwendet. |
Name | Typ | BESCHREIBUNG |
---|---|---|
status | string | ok wenn die Anforderung erfolgreich ist, oder error im Falle eines Fehlers. Weitere Informationen zu Fehlerantworten finden Sie unterÜbersicht .
|
comments | array<Comment> | Eine Liste von Kommentaren, die aus den hochgeladenen unformatierten E-Mails analysiert wurden, in dem Format, das in der Kommentarreferenz beschrieben ist. Wird nur zurückgegeben, wenn Sie include_comments in der Anforderung festgelegt haben.
|
predictions | array<array<Label>> | Eine Liste von array<Label> in der gleichen Reihenfolge wie die Kommentare in der Anforderung, wobei jede Label das hier beschriebene Format hat.
|
entities | array<array<Entity>> | Eine Liste von array<Entity> in der gleichen Reihenfolge wie die Kommentare in der Anforderung, wobei jede Entity das hier beschriebene Format hat.
|
label_properties | array<LabelProperty> | Ein Array mit vorhergesagten Beschriftungseigenschaften für diesen Kommentar, bei dem jede LabelProperty das hier beschriebene Format hat.
|
model | Modell | Informationen über das Modell, mit dem die Vorhersagen erstellt wurden, in dem hier beschriebenen Format. |
Bei großen Anforderungen kann die Antwort dieses Endpunkts länger dauern. Sie sollten Ihr Client-Timeout erhöhen.
/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-comments
Erforderliche Berechtigungen: Beschriftungen anzeigen, Quellen anzeigen
- Bash
curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-comments' \ -H "Authorization: Bearer $REINFER_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "threshold": 0.25, "uids": [ "18ba5ce699f8da1f.0001", "18ba5ce699f8da1f.0002" ] }'
curl -X POST 'https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-comments' \ -H "Authorization: Bearer $REINFER_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "threshold": 0.25, "uids": [ "18ba5ce699f8da1f.0001", "18ba5ce699f8da1f.0002" ] }' - Knoten
const request = require("request"); request.post( { url: "https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-comments", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, json: true, body: { threshold: 0.25, uids: ["18ba5ce699f8da1f.0001", "18ba5ce699f8da1f.0002"], }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } );
const request = require("request"); request.post( { url: "https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-comments", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, json: true, body: { threshold: 0.25, uids: ["18ba5ce699f8da1f.0001", "18ba5ce699f8da1f.0002"], }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } ); - Python
import json import os import requests response = requests.post( "https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-comments", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, json={ "uids": ["18ba5ce699f8da1f.0001", "18ba5ce699f8da1f.0002"], "threshold": 0.25, }, ) print(json.dumps(response.json(), indent=2, sort_keys=True))
import json import os import requests response = requests.post( "https://<my_api_endpoint>/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/predict-comments", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, json={ "uids": ["18ba5ce699f8da1f.0001", "18ba5ce699f8da1f.0002"], "threshold": 0.25, }, ) print(json.dumps(response.json(), indent=2, sort_keys=True)) - Antwort
{ "model": { "time": "2020-02-06T20:42:58.047000Z", "version": 5 }, "predictions": [ { "entities": [ { "capture_ids": [], "formatted_value": "Bob", "id": "76aebf2646577a1d", "kind": "person", "name": "person", "probability": null, "span": { "char_end": 6, "char_start": 3, "content_part": "body", "message_index": 0, "utf16_byte_end": 12, "utf16_byte_start": 6 } }, { "capture_ids": [], "formatted_value": "2020-01-09 00:00 UTC", "id": "20beddf4c5f5bb61", "kind": "date", "name": "date", "probability": null, "span": { "char_end": 48, "char_start": 43, "content_part": "body", "message_index": 0, "utf16_byte_end": 96, "utf16_byte_start": 86 } } ], "labels": [ { "name": ["Some Label"], "probability": 0.8896465003490448 }, { "name": ["Parent Label", "Child Label"], "probability": 0.26687008142471313, "sentiment": 0.8762539502232571 } ], "uid": "18ba5ce699f8da1f.0001" }, { "entities": [], "labels": [ { "name": ["Other Label"], "probability": 0.6406207121908665 } ], "uid": "18ba5ce699f8da1f.0002" } ], "status": "ok" }
{ "model": { "time": "2020-02-06T20:42:58.047000Z", "version": 5 }, "predictions": [ { "entities": [ { "capture_ids": [], "formatted_value": "Bob", "id": "76aebf2646577a1d", "kind": "person", "name": "person", "probability": null, "span": { "char_end": 6, "char_start": 3, "content_part": "body", "message_index": 0, "utf16_byte_end": 12, "utf16_byte_start": 6 } }, { "capture_ids": [], "formatted_value": "2020-01-09 00:00 UTC", "id": "20beddf4c5f5bb61", "kind": "date", "name": "date", "probability": null, "span": { "char_end": 48, "char_start": 43, "content_part": "body", "message_index": 0, "utf16_byte_end": 96, "utf16_byte_start": 86 } } ], "labels": [ { "name": ["Some Label"], "probability": 0.8896465003490448 }, { "name": ["Parent Label", "Child Label"], "probability": 0.26687008142471313, "sentiment": 0.8762539502232571 } ], "uid": "18ba5ce699f8da1f.0001" }, { "entities": [], "labels": [ { "name": ["Other Label"], "probability": 0.6406207121908665 } ], "uid": "18ba5ce699f8da1f.0002" } ], "status": "ok" }
live
oder staging
verwenden, um die aktuelle Live- oder Staging-Modellversion abzufragen.
Name | Typ | Erforderlich | BESCHREIBUNG |
---|---|---|---|
uids | array<string> | ja | Eine Liste von höchstens 4096 kombinierten source_id -s und comment_id -s im Format source_id.comment_id . Quellen müssen nicht zum aktuellen Dataset gehören – Sie können also Vorhersagen von Kommentaren für eine Quelle in einem anderen (oder keinem) Dataset anfordern. Größere Listen sind schneller (pro Kommentar) als kleinere.
|
threshold | Nummer | nein | Der Konfidenzschwellenwert, nach dem die Beschriftungsergebnisse gefiltert werden sollen. Eine Zahl zwischen 1.0 und 0.0 . 0.0 enthält alle Ergebnisse. Legen Sie "auto" , um automatische Schwellenwerte zu verwenden. Wird diese Option nicht festgelegt, wird der Standardschwellenwert 0.25 verwendet.
|
labels | array<Label> | nein | Eine Liste der angeforderten Bezeichnungen, die mit optional beschriftungsspezifischen Schwellenwerten zurückgegeben werden sollen. |
Label
das folgende Format:
Name | Typ | Erforderlich | BESCHREIBUNG |
---|---|---|---|
name | array<string> | ja | Der Name der zurückzugebenden Bezeichnung, formatiert als Liste hierarchischer Bezeichnungen. Beispielsweise hat die Beschriftung "Parent Label > Child Label" das Format ["Parent Label", "Child Label"] .
|
threshold | Nummer | nein | Der Konfidenz-Schwellenwert, der für die Bezeichnung verwendet werden soll. Wenn nicht angegeben, wird standardmäßig der auf höchster Ebene angegebene Schwellenwert verwendet. |
Name | Typ | BESCHREIBUNG |
---|---|---|
status | string | ok wenn die Anforderung erfolgreich ist, oder error im Falle eines Fehlers. Weitere Informationen zu Fehlerantworten finden Sie in der Übersicht .
|
predictions | array<Prediction> | Eine Liste der Vorhersagen in dem unten beschriebenen Format. |
model | Modell | Informationen über das Modell, mit dem die Vorhersagen erstellt wurden, in dem hier beschriebenen Format. |
Prediction
das folgende Format:
Name | Typ | BESCHREIBUNG |
---|---|---|
uid | string | Eine Kombination aus source_id und comment_id im Format source_id.comment_id .
|
labels | array<Label> | Ein Array mit vorhergesagten Beschriftungen für diesen Kommentar, bei dem Label das hier beschriebene Format hat.
|
entities | array<Entity> | Ein Array mit vorhergesagten Entitäten für diesen Kommentar, wobei Entity das hier beschriebene Format hat.
|
label_properties | array<LabelProperty> | Ein Array mit vorhergesagten Beschriftungseigenschaften für diesen Kommentar, bei dem jede LabelProperty das hier beschriebene Format hat.
|
/api/v1/datasets/<project>/<dataset_name>/labellers/<version>/validation
Erforderliche Berechtigungen: Beschriftungen anzeigen, Quellen anzeigen
- Bash
curl -X GET 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/labellers/live/validation' \ -H "Authorization: Bearer $REINFER_TOKEN"
curl -X GET 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/labellers/live/validation' \ -H "Authorization: Bearer $REINFER_TOKEN" - Knoten
const request = require("request"); request.get( { url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/labellers/live/validation", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } );
const request = require("request"); request.get( { url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/labellers/live/validation", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } ); - Python
import json import os import requests response = requests.get( "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/labellers/live/validation", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, ) print(json.dumps(response.json(), indent=2, sort_keys=True))
import json import os import requests response = requests.get( "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/labellers/live/validation", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, ) print(json.dumps(response.json(), indent=2, sort_keys=True)) - Antwort
{ "status": "ok", "validation": { "coverage": 0.9119927883148193, "dataset_quality": "good", "labels": [ { "name": "Notification", "parts": ["Notification"] }, { "name": "Notification > Out of Office", "parts": ["Notification", "Out of Office"] }, { "name": "Notification > Public Holiday", "parts": ["Notification", "Public Holiday"] } ], "mean_average_precision_safe": 0.83, "num_amber_labels": 1, "num_labels": 3, "num_red_labels": 1, "num_reviewed_comments": 10251, "version": 5 } }
{ "status": "ok", "validation": { "coverage": 0.9119927883148193, "dataset_quality": "good", "labels": [ { "name": "Notification", "parts": ["Notification"] }, { "name": "Notification > Out of Office", "parts": ["Notification", "Out of Office"] }, { "name": "Notification > Public Holiday", "parts": ["Notification", "Public Holiday"] } ], "mean_average_precision_safe": 0.83, "num_amber_labels": 1, "num_labels": 3, "num_red_labels": 1, "num_reviewed_comments": 10251, "version": 5 } }
version
-Zahl angefordert werden. Sie können die Sonderwerte live
und staging
verwenden, um Statistiken für die aktuellen Live- oder Staging-Modellversionen abzurufen, oder den Sonderwert latest
für die neueste verfügbare Modellversion.
latest
, da Statistiken für nicht fixierte Modellversionen nicht garantiert verfügbar sind.
validation
enthält die folgenden Felder:
Name | Typ | BESCHREIBUNG |
---|---|---|
mean_average_precision_safe | float | Mittlere durchschnittliche Genauigkeit (zwischen 0.0 und 1.0 ). Dieses Feld ist null , wenn MAP nicht verfügbar ist.
|
num_labels | Nummer | Anzahl der Bezeichnungen in der Taxonomie (zum Zeitpunkt des Anheftens der Modellversion). |
labels | array<Label> | Liste der Bezeichnungen in der Taxonomie (zum Zeitpunkt des Anheftens der Modellversion). Beachten Sie, dass, wie das Antwortbeispiel zeigt, übergeordnete Beschriftungen nicht nur als Teil von untergeordneten Beschriftungen, sondern auch als separate Beschriftung zurückgegeben werden. |
num_reviewed_comments | Nummer | Anzahl der überprüften Kommentare im Dataset (zum Zeitpunkt des Anheftens der Modellversion). |
version | Nummer | Modellversion. |
num_amber_labels | Nummer | Anzahl der Bezeichnungen im gelben Warnstatus. |
num_red_labels | Nummer | Anzahl der Beschriftungen im roten Warnstatus. |
dataset_score | Nummer | Gesamtpunktzahl des Datasets zwischen 0 und 100 .
|
dataset_quality | string | Eine von "poor" , "average" , "good" , "excellent" , die für den gesamten Dataset-Qualitätsrang steht. Kann null sein, wenn nicht genügend Daten vorhanden sind.
|
balance | float | Ein Maß für die Ähnlichkeit zwischen überprüften und nicht überprüften Kommentaren (zwischen 0.0 und 1.0 ). Kann null sein, wenn nicht genügend Daten vorhanden sind.
|
balance_quality | string | Eine der "poor" , "average" , "good" , "excellent" , die den Grad der Balance-Qualität darstellen. Kann null sein, wenn nicht genügend Daten vorhanden sind.
|
coverage | float | Ein Teilwert der Bezeichnungsabdeckung im Dataset (zwischen 0.0 und 1.0 ). Kann null sein, wenn nicht genügend Daten vorhanden sind.
|
coverage_quality | string | Entweder "poor" , "average" , "good" , "excellent" , die den Grad der Abdeckungsqualität darstellen. Kann null sein, wenn nicht genügend Daten vorhanden sind.
|
all_labels_quality | string | Eine der "poor" , "average" , "good" , "excellent" , die den Qualitätsrang aller Beschriftungen darstellen. Kann null sein, wenn nicht genügend Daten vorhanden sind.
|
underperforming_labels_quality | string | Einer von "poor" , "average" , "good" , "excellent" , der den Qualitätsrang der Bezeichnungen mit unzureichender Leistung darstellt. Kann null sein, wenn nicht genügend Daten vorhanden sind.
|
Label
das folgende Format:
Name | Typ | BESCHREIBUNG |
---|---|---|
name | string | Der Name der Bezeichnung, formatiert als Zeichenfolge. |
parts | array<string> | Der Name der Bezeichnung, formatiert als Liste hierarchischer Beschriftungen. Die Beschriftung "Parent Label > Child Label" hat beispielsweise das Format ["Parent Label", "Child Label"] . |