ixp
latest
false
Important :
La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.
UiPath logo, featuring letters U and I in white

Guide de l’utilisateur de Communications Mining

Dernière mise à jour 13 mars 2026

Obtenir les résultats du flux

Autorisations requises : Utiliser des flux, Afficher les libellés, Afficher les sources.

Remarque :

La route /results est le nouveau moyen de récupérer les commentaires et leurs prédictions à partir d'un flux, remplaçant la route /fetch existante (Streams - Héritage). Nous conservons la route / fetch pour la prise en charge héritée, mais nous recommandons que tous les nouveaux cas d’utilisation utilisent la route /results , car elle prend en charge tous les cas d’utilisation possibles, y compris ceux utilisant l’extraction générative.

  • Tâche Bash
curl -X GET 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/results?max_results=5&max_filtered=15' \
-H "Authorization: Bearer $REINFER_TOKEN"
curl -X GET 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/results?max_results=5&max_filtered=15' \
-H "Authorization: Bearer $REINFER_TOKEN"
  • Affectation de nœud
const request = require("request");
request.get(
{
url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/results?max_results=5&max_filtered=15",
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/streams/dispute/results?max_results=5&max_filtered=15",
headers: {
Authorization: "Bearer " + process.env.REINFER_TOKEN,
},
},
function (error, response, json) {
// digest response
console.log(JSON.stringify(json, null, 2));
}
);
  • Tâche Python
import json
import os
import requests
response = requests.get(
"https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams/dispute/results",
headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
params={"max_results": 5, "max_filtered": 15},
)
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/streams/dispute/results",
headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
params={"max_results": 5, "max_filtered": 15},
)
print(json.dumps(response.json(), indent=2, sort_keys=True))
  • Affectation de la réponse
{
"status": "ok",
"results": [
{
"comment": {
"uid": "18ba5ce699f8da1f.0123456789abcdef",
"id": "0123456789abcdef",
"timestamp": "2018-09-17T09:54:56.332000Z",
"user_properties": {
"number:Messages": 1,
"string:Folder": "Sent (/ Sent)",
"string:Has Signature": "Yes",
"string:Message ID": "<abcdef@abc.company.com>",
"string:Sender": "alice@company.com",
"string:Sender Domain": "company.com",
"string:Thread": "<abcdef@abc.company.com>"
},
"messages": [
{
"from": "alice@company.com",
"to": [
"bob@organisation.org"
],
"sent_at": "2018-09-17T09:54:56.332000Z",
"body": {
"text": "Hi Bob,\n\nCould you send me today's figures?"
},
"subject": {
"text": "Today's figures"
},
"signature": {
"text": "Thanks,\nAlice"
}
}
],
"text_format": "plain",
"attachments": [],
"source_id": "18ba5ce699f8da1f",
"last_modified": "2024-07-03T13:30:53.991000Z",
"created_at": "2020-12-14T15:07:03.718000Z",
"context": "1",
"has_annotations": true
},
"prediction": {
"taxonomies": [
{
"name": "default",
"labels": [
{
"name": "Margin Call",
"occurrence_confidence": {
"value": 0.9905891418457031,
"thresholds": ["stream"]
},
"extraction_confidence": {
"value": 0.4712367373372217,
"thresholds": []
},
"fields": [
{
"name": "Notification Date",
"value": null
}
]
},
{
"name": "Margin Call > Interest Accrual",
"occurrence_confidence": {
"value": 0.9905891418457031,
"thresholds": []
},
"extraction_confidence": {
"value": 0.9905891418457031,
"thresholds": []
},
"fields": [
{
"name": "Amount",
"value": {
"formatted": "636,000.00"
}
},
{
"name": "Broker number",
"value": null
},
{
"name": "Client name",
"value": null
},
{
"name": "Currency",
"value": {
"formatted": "AUD"
}
}
]
}
],
"general_fields": [
{
"name": "monetary-quantity",
"value": {
"formatted": "636,000.00 GBP"
}
},
{
"name": "MarginCallDateType",
"value": {
"formatted": "2018-09-21 00:00 UTC"
}
},
{
"name": "client-name",
"value": {
"formatted": "Big Client Example Bank"
}
}
]
}
]
},
"continuation": "pmjKYXYBAAADqHUvPkQf1ypNCZFR37vu"
}
],
"num_filtered": 0,
"more_results": true,
"continuation": "pmjKYXYBAAAsXghZ2niXPNP6tOIJtL_8"
}
{
"status": "ok",
"results": [
{
"comment": {
"uid": "18ba5ce699f8da1f.0123456789abcdef",
"id": "0123456789abcdef",
"timestamp": "2018-09-17T09:54:56.332000Z",
"user_properties": {
"number:Messages": 1,
"string:Folder": "Sent (/ Sent)",
"string:Has Signature": "Yes",
"string:Message ID": "<abcdef@abc.company.com>",
"string:Sender": "alice@company.com",
"string:Sender Domain": "company.com",
"string:Thread": "<abcdef@abc.company.com>"
},
"messages": [
{
"from": "alice@company.com",
"to": [
"bob@organisation.org"
],
"sent_at": "2018-09-17T09:54:56.332000Z",
"body": {
"text": "Hi Bob,\n\nCould you send me today's figures?"
},
"subject": {
"text": "Today's figures"
},
"signature": {
"text": "Thanks,\nAlice"
}
}
],
"text_format": "plain",
"attachments": [],
"source_id": "18ba5ce699f8da1f",
"last_modified": "2024-07-03T13:30:53.991000Z",
"created_at": "2020-12-14T15:07:03.718000Z",
"context": "1",
"has_annotations": true
},
"prediction": {
"taxonomies": [
{
"name": "default",
"labels": [
{
"name": "Margin Call",
"occurrence_confidence": {
"value": 0.9905891418457031,
"thresholds": ["stream"]
},
"extraction_confidence": {
"value": 0.4712367373372217,
"thresholds": []
},
"fields": [
{
"name": "Notification Date",
"value": null
}
]
},
{
"name": "Margin Call > Interest Accrual",
"occurrence_confidence": {
"value": 0.9905891418457031,
"thresholds": []
},
"extraction_confidence": {
"value": 0.9905891418457031,
"thresholds": []
},
"fields": [
{
"name": "Amount",
"value": {
"formatted": "636,000.00"
}
},
{
"name": "Broker number",
"value": null
},
{
"name": "Client name",
"value": null
},
{
"name": "Currency",
"value": {
"formatted": "AUD"
}
}
]
}
],
"general_fields": [
{
"name": "monetary-quantity",
"value": {
"formatted": "636,000.00 GBP"
}
},
{
"name": "MarginCallDateType",
"value": {
"formatted": "2018-09-21 00:00 UTC"
}
},
{
"name": "client-name",
"value": {
"formatted": "Big Client Example Bank"
}
}
]
}
]
},
"continuation": "pmjKYXYBAAADqHUvPkQf1ypNCZFR37vu"
}
],
"num_filtered": 0,
"more_results": true,
"continuation": "pmjKYXYBAAAsXghZ2niXPNP6tOIJtL_8"
}

Une fois que vous avez créé un flux, vous pouvez l’interroger pour récupérer les commentaires et leurs prédictions. Cela inclut les libellés, les champs généraux et les extractions de libellés, contenant un ensemble de champs d’extraction pour chaque instance de ce libellé.

File d'attente de commentaires

Lorsque vous créez un flux, vous définissez sa position initiale afin qu’elle soit égale à son heure de création. Le cas échéant, vous pouvez définir le flux sur une position différente (en avant ou en arrière dans le temps), en utilisant le point de terminaison réinitialisé. Le flux renvoie des commentaires à partir de sa position actuelle. Vous déterminez la position du commentaire dans la file d’attente de commentaires en fonction de l’ordre dans lequel vous avez chargé les commentaires.

Avancer votre position dans la file d'attente

Étant donné que le flux ne renvoie que les commentaires de sa position actuelle, vous devez l’avancer à la position suivante après chaque demande d’extraction, en utilisant le point de terminaison avancé. De cette façon, l'API garantit au moins un traitement de tous les commentaires. Si votre application échoue lors du traitement d’un lot, elle récupèrera le même lot au redémarrage.

Remarque :

Étant donné qu’une application peut traiter un commentaire avec succès mais échouer lors de l’étape de progression, vous remarquerez qu’un commentaire apparaît plusieurs fois.

Selon la conception de votre application, vous pouvez choisir entre :

  • faisant progresser le flux une seule fois, pour l'ensemble du lot. Utilisez le continuation du lot contenu dans la réponse.
  • faire progresser le flux pour chaque commentaire individuel. Utilisez le continuation du commentaire contenu dans la réponse.

Filtre Commentaire (Commentaire)

Si vous spécifiez un comment_filter lors de la création du flux, les résultats n’incluent pas les commentaires qui ne correspondent pas au filtre, mais sont toujours pris en compte dans le max_filtered demandé. Vous remarquerez que les réponses max_filtered filtrées, ce qui conduit à un tableau results vide. Dans l’exemple suivant, vous demandez un lot de 8 commentaires, qui sont tous filtrés.

{
  "filtered": 8,
  "results": [],
  "sequence_id": "qs8QcHIBAADJ1p3W2FtmBB3QiOJsCJlR",
  "status": "ok"
}
{
  "filtered": 8,
  "results": [],
  "sequence_id": "qs8QcHIBAADJ1p3W2FtmBB3QiOJsCJlR",
  "status": "ok"
}

Définissez le paramètre max_filtered facultatif pour empêcher les commentaires filtrés de compter vers le max_results demandé.

Seuils de prédiction

Remarque :

La route /fetch héritée ne renvoie pas de commentaires avec des prédictions qui n’ont pas respecté le seuil de confiance. Dans ce nouveau routage /results , vous renvoyez toutes les prédictions pour un commentaire, ainsi que le confidence``value . Vous indiquez également le(s) type(s) de seuil qu'il respecte.

  "occurrence_confidence": {
    "value": 0.9905891418457031,
    "thresholds": ["stream"]
  }
  "occurrence_confidence": {
    "value": 0.9905891418457031,
    "thresholds": ["stream"]
  }

La valeur confidence d'une prédiction 0.9905.. et la valeur thresholds indiquent que la prédiction respecte le seuil configuré pour stream.

Lors de la création d’une automatisation, recherchez la valeur stream pour confirmer que la prédiction respecte le seuil que vous avez configuré dans le flux. De plus, des seuils automatiques peuvent être renvoyés, dont les valeurs attendues sont : high_recall, high_precision et balanced.

Pour plus d’informations sur les extractions générées et l’utilisation des seuils, consultez la page Comprendre la validation des extractions et des performances d’extraction .

Format de demande

NomSaisie de texteRequisDESCRIPTION
max_resultsNumériquenonLe nombre de commentaires à récupérer pour ce flux. Renvoie moins de commentaires s'il atteint la fin du lot, ou si vous filtrez les commentaires en fonction du filtre de commentaire. La valeur maximale est 32. Le nombre par défaut est 16.
max_filteredNumériquenonParamètre de commodité pour les flux avec un filtre de commentaire. Lorsque vous les fournissez, jusqu’à max_filtered commentaires filtrés ne sont pas pris en compte dans le max_results demandé. Ceci est utile si vous vous attendez à ce qu'un grand nombre de commentaires ne correspondent pas au filtre. N’a aucun effet sur les flux sans filtre de commentaire. La valeur maximale est 1 024. La valeur par défaut est nulle.

Format de réponse

NomSaisie de texteDESCRIPTION
statusstringok si la requête réussit, ou error, en cas d'erreur. Pour en savoir plus sur les réponses d’erreur, consultez la page Vue d’ensemble .
num_filteredNumériqueNombre de commentaires filtrés sur la base d'un filtre de commentaire. Si vous avez créé le flux sans filtre, ce nombre sera toujours 0.
continuationstringLe jeton de poursuite du lot. Utilisez-le pour confirmer le traitement de ce lot et faire passer le flux au lot suivant.
more_resultsBool« True » s'il n'y avait pas de résultats supplémentaires dans le flux, lorsque vous avez effectué la demande. False dans le cas contraire.
resultsarray<Result>Tableau contenant les objets de résultat.

Result a le format suivant :

NomSaisie de texteDESCRIPTION
commentCommentaire (Comment)Données de commentaire. Pour obtenir une explication détaillée, consultez Référencement de commentaire.
continuationstringLe jeton de suite du commentaire. Utilisé pour confirmer le traitement de ce commentaire et faire passer le flux au commentaire suivant.
predictionarray<Prediction>La prédiction de ce commentaire. Est disponible uniquement si le flux spécifie une version de modèle. Pour plus d’informations sur les prédictions génératives, consultez la page Communications Mining™ - Comprendre la validation sur les extractions et les performances d’extraction .

Prediction a le format suivant :

NomSaisie de texteDESCRIPTION
taxonomiesarray<TaxonomyPrediction>Liste des prédictions de taxonomie. Vous ne définissez actuellement qu’une seule taxonomie par jeu de données, mais vous la fournissez sous forme de liste, pour une compatibilité future.

TaxonomyPrediction a le format suivant :

NomSaisie de texteDESCRIPTION
namestringNom de la taxonomie. La seule valeur est actuellement default.
labelsarray<LabelPrediction>Une liste de prédictions de libellés extraites avec leurs occurrence_confidence, extraction_confidence et fields extraits . Pour plus d’informations sur les prédictions génératives, consultez la page Communications Mining - Comprendre la validation sur les extractions et les performances d’extraction .
general_fieldsarray<FieldPrediction>Une liste de prédictions de champ général extraites avec leur name et leur value extraites. Pour plus d’informations sur les prédictions génératives, consultez la page Communications Mining - Comprendre la validation sur les extractions et les performances d’extraction .

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour