Visualizzare i dettagli del modello di comprensione del linguaggio di conversazione

Una volta completato il training del modello, è possibile visualizzare i dettagli del modello e verificare le prestazioni per il set di test.

Note

L'uso dell'opzione Dividi automaticamente il set di test dai dati di training può produrre risultati di valutazione del modello diversi ogni volta che si eseguire il training di un nuovo modello, perché il set di test viene selezionato in modo casuale dalle espressioni. Per assicurarsi che la valutazione venga calcolata sullo stesso set di test ogni volta che si esegue il training di un modello, assicurarsi di usare l'opzione Usa una suddivisione manuale dei dati di training e test quando si avvia un processo di training e si definisce il set di test quando si aggiungono le espressioni.

Prerequisiti

Prima di visualizzare la valutazione di un modello, è necessario:

Per altre informazioni, vedere il ciclo di vita di sviluppo di un progetto.

Dettagli del modello

Creare una richiesta GET usando l'URL, le intestazioni e il corpo JSON seguenti per ottenere il riepilogo della valutazione del modello sottoposto a training.

Riepilogo modello

Questa API restituisce il riepilogo dei risultati della valutazione del modello, tra cui la precisione, il richiamo, F1 e la matrice di confusione delle finalità e delle entità.

URL richiesta

{ENDPOINT}/language/authoring/analyze-conversations/projects/{projectName}/models/{trainedModelLabel}/evaluation/summary-result?api-version={API-VERSION}
Segnaposto valore Esempio
{ENDPOINT} Endpoint per l'autenticazione della richiesta API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. myProject
{trainedModelLabel} Il nome del modello sottoposto a training. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. Model1
{API-VERSION} Versione dell'API che stai chiamando. 2023-04-01

Headers

Usare l'intestazione seguente per autenticare la richiesta.

Chiave valore
Ocp-Apim-Subscription-Key La chiave per la risorsa. È usata per l’autenticazione delle richieste API.

Corpo della risposta

Dopo aver inviato la richiesta, si ottiene la risposta seguente.

{
  "entitiesEvaluation": {
    "confusionMatrix": {
      "additionalProp1": {
        "additionalProp1": {
          "normalizedValue": 0,
          "rawValue": 0
        },
        "additionalProp2": {
          "normalizedValue": 0,
          "rawValue": 0
        },
        "additionalProp3": {
          "normalizedValue": 0,
          "rawValue": 0
        }
      },
      "additionalProp2": {
        "additionalProp1": {
          "normalizedValue": 0,
          "rawValue": 0
        },
        "additionalProp2": {
          "normalizedValue": 0,
          "rawValue": 0
        },
        "additionalProp3": {
          "normalizedValue": 0,
          "rawValue": 0
        }
      },
      "additionalProp3": {
        "additionalProp1": {
          "normalizedValue": 0,
          "rawValue": 0
        },
        "additionalProp2": {
          "normalizedValue": 0,
          "rawValue": 0
        },
        "additionalProp3": {
          "normalizedValue": 0,
          "rawValue": 0
        }
      }
    },
    "entities": {
      "additionalProp1": {
        "f1": 0,
        "precision": 0,
        "recall": 0,
        "truePositivesCount": 0,
        "trueNegativesCount": 0,
        "falsePositivesCount": 0,
        "falseNegativesCount": 0
      },
      "additionalProp2": {
        "f1": 0,
        "precision": 0,
        "recall": 0,
        "truePositivesCount": 0,
        "trueNegativesCount": 0,
        "falsePositivesCount": 0,
        "falseNegativesCount": 0
      },
      "additionalProp3": {
        "f1": 0,
        "precision": 0,
        "recall": 0,
        "truePositivesCount": 0,
        "trueNegativesCount": 0,
        "falsePositivesCount": 0,
        "falseNegativesCount": 0
      }
    },
    "microF1": 0,
    "microPrecision": 0,
    "microRecall": 0,
    "macroF1": 0,
    "macroPrecision": 0,
    "macroRecall": 0
  },
  "intentsEvaluation": {
    "confusionMatrix": {
      "additionalProp1": {
        "additionalProp1": {
          "normalizedValue": 0,
          "rawValue": 0
        },
        "additionalProp2": {
          "normalizedValue": 0,
          "rawValue": 0
        },
        "additionalProp3": {
          "normalizedValue": 0,
          "rawValue": 0
        }
      },
      "additionalProp2": {
        "additionalProp1": {
          "normalizedValue": 0,
          "rawValue": 0
        },
        "additionalProp2": {
          "normalizedValue": 0,
          "rawValue": 0
        },
        "additionalProp3": {
          "normalizedValue": 0,
          "rawValue": 0
        }
      },
      "additionalProp3": {
        "additionalProp1": {
          "normalizedValue": 0,
          "rawValue": 0
        },
        "additionalProp2": {
          "normalizedValue": 0,
          "rawValue": 0
        },
        "additionalProp3": {
          "normalizedValue": 0,
          "rawValue": 0
        }
      }
    },
    "intents": {
      "additionalProp1": {
        "f1": 0,
        "precision": 0,
        "recall": 0,
        "truePositivesCount": 0,
        "trueNegativesCount": 0,
        "falsePositivesCount": 0,
        "falseNegativesCount": 0
      },
      "additionalProp2": {
        "f1": 0,
        "precision": 0,
        "recall": 0,
        "truePositivesCount": 0,
        "trueNegativesCount": 0,
        "falsePositivesCount": 0,
        "falseNegativesCount": 0
      },
      "additionalProp3": {
        "f1": 0,
        "precision": 0,
        "recall": 0,
        "truePositivesCount": 0,
        "trueNegativesCount": 0,
        "falsePositivesCount": 0,
        "falseNegativesCount": 0
      }
    },
    "microF1": 0,
    "microPrecision": 0,
    "microRecall": 0,
    "macroF1": 0,
    "macroPrecision": 0,
    "macroRecall": 0
  },
  "evaluationOptions": {
    "kind": "percentage",
    "trainingSplitPercentage": 0,
    "testingSplitPercentage": 0
  }
}

Risultati modello

Questa API restituisce i singoli risultati per ogni espressione, incluse le stime previste ed effettive per finalità ed entità.

URL richiesta

{ENDPOINT}/language/authoring/analyze-conversations/projects/{projectName}/models/{trainedModelLabel}/evaluation/result?top={top}&skip={skip}&maxpagesize={maxpagesize}&api-version={API-VERSION}
Segnaposto valore Esempio
{ENDPOINT} Endpoint per l'autenticazione della richiesta API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. myProject
{trainedModelLabel} Il nome del modello sottoposto a training. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. Model1
{API-VERSION} Versione dell'API che stai chiamando. 2023-04-01
{top} Il numero massimo di espressioni da restituire dalla raccolta. Facoltativa. 100
{skip} Offset nella raccolta della prima espressione da restituire. Facoltativa. 100
{maxpagesize} Numero massimo di espressioni da includere in una singola risposta. Facoltativo 100

Headers

Usare l'intestazione seguente per autenticare la richiesta.

Chiave valore
Ocp-Apim-Subscription-Key La chiave per la risorsa. È usata per l’autenticazione delle richieste API.

Corpo della risposta

Dopo aver inviato la richiesta, si ottiene la risposta seguente.

{
  "value": [
    {
      "text": "send the email",
      "language": "en-us",
      "entitiesResult": {
        "expectedEntities": [],
        "predictedEntities": []
      },
      "intentsResult": {
        "expectedIntent": "SendEmail",
        "predictedIntent": "SendEmail"
      }
    },
    {
      "text": "send a mail to daniel",
      "language": "en-us",
      "entitiesResult": {
        "expectedEntities": [
          {
            "category": "ContactName",
            "offset": 15,
            "length": 6
          }
        ],
        "predictedEntities": [
          {
            "category": "ContactName",
            "offset": 15,
            "length": 6
          }
        ]
      },
      "intentsResult": {
        "expectedIntent": "SendEmail",
        "predictedIntent": "SendEmail"
      }
    },
    {
      "text": "i forgot to add an important part to that email to james . please set it up to edit",
      "language": "en-us",
      "entitiesResult": {
        "expectedEntities": [
          {
            "category": "ContactName",
            "offset": 51,
            "length": 5
          }
        ],
        "predictedEntities": [
          {
            "category": "Category",
            "offset": 19,
            "length": 9
          },
          {
            "category": "ContactName",
            "offset": 51,
            "length": 5
          }
        ]
      },
      "intentsResult": {
        "expectedIntent": "AddMore",
        "predictedIntent": "AddMore"
      }
    },
    {
      "text": "send email to a and tian",
      "language": "en-us",
      "entitiesResult": {
        "expectedEntities": [
          {
            "category": "ContactName",
            "offset": 14,
            "length": 1
          },
          {
            "category": "ContactName",
            "offset": 20,
            "length": 4
          }
        ],
        "predictedEntities": [
          {
            "category": "ContactName",
            "offset": 14,
            "length": 1
          },
          {
            "category": "ContactName",
            "offset": 20,
            "length": 4
          }
        ]
      },
      "intentsResult": {
        "expectedIntent": "SendEmail",
        "predictedIntent": "SendEmail"
      }
    },
    {
      "text": "send thomas an email",
      "language": "en-us",
      "entitiesResult": {
        "expectedEntities": [
          {
            "category": "ContactName",
            "offset": 5,
            "length": 6
          }
        ],
        "predictedEntities": [
          {
            "category": "ContactName",
            "offset": 5,
            "length": 6
          }
        ]
      },
      "intentsResult": {
        "expectedIntent": "SendEmail",
        "predictedIntent": "SendEmail"
      }
    },
    {
      "text": "i need to add more to the email message i am sending to vincent",
      "language": "en-us",
      "entitiesResult": {
        "expectedEntities": [
          {
            "category": "ContactName",
            "offset": 56,
            "length": 7
          }
        ],
        "predictedEntities": [
          {
            "category": "ContactName",
            "offset": 56,
            "length": 7
          }
        ]
      },
      "intentsResult": {
        "expectedIntent": "AddMore",
        "predictedIntent": "AddMore"
      }
    },
    {
      "text": "send an email to lily roth and abc123@microsoft.com",
      "language": "en-us",
      "entitiesResult": {
        "expectedEntities": [
          {
            "category": "ContactName",
            "offset": 17,
            "length": 9
          }
        ],
        "predictedEntities": [
          {
            "category": "ContactName",
            "offset": 17,
            "length": 9
          }
        ]
      },
      "intentsResult": {
        "expectedIntent": "SendEmail",
        "predictedIntent": "SendEmail"
      }
    },
    {
      "text": "i need to add something else to my email to cheryl",
      "language": "en-us",
      "entitiesResult": {
        "expectedEntities": [
          {
            "category": "ContactName",
            "offset": 44,
            "length": 6
          }
        ],
        "predictedEntities": [
          {
            "category": "ContactName",
            "offset": 44,
            "length": 6
          }
        ]
      },
      "intentsResult": {
        "expectedIntent": "AddMore",
        "predictedIntent": "AddMore"
      }
    },
    {
      "text": "send an email to larry , joseph and billy larkson",
      "language": "en-us",
      "entitiesResult": {
        "expectedEntities": [
          {
            "category": "ContactName",
            "offset": 17,
            "length": 5
          },
          {
            "category": "ContactName",
            "offset": 25,
            "length": 6
          },
          {
            "category": "ContactName",
            "offset": 36,
            "length": 13
          }
        ],
        "predictedEntities": [
          {
            "category": "ContactName",
            "offset": 17,
            "length": 5
          },
          {
            "category": "ContactName",
            "offset": 25,
            "length": 6
          },
          {
            "category": "ContactName",
            "offset": 36,
            "length": 13
          }
        ]
      },
      "intentsResult": {
        "expectedIntent": "SendEmail",
        "predictedIntent": "SendEmail"
      }
    },
    {
      "text": "send mail to dorothy",
      "language": "en-us",
      "entitiesResult": {
        "expectedEntities": [
          {
            "category": "ContactName",
            "offset": 13,
            "length": 7
          }
        ],
        "predictedEntities": [
          {
            "category": "ContactName",
            "offset": 13,
            "length": 7
          }
        ]
      },
      "intentsResult": {
        "expectedIntent": "SendEmail",
        "predictedIntent": "SendEmail"
      }
    }
  ],
  "nextLink": "{Endpoint}/language/authoring/analyze-conversations/projects/{projectName}/models/{trainedModelLabel}/evaluation/result/?api-version=2022-10-01-preview&top={top}&skip={skip}&maxpagesize={maxpagesize}"
}

Caricare o esportare dati di un modello

Caricare dati di un modello

Creare una richiesta POST usando l'URL, le intestazioni e il corpo JSON seguenti per caricare i dati di un modello in un progetto.

URL richiesta

Usare l'URL seguente durante la creazione della richiesta dell’API. Sostituire i valori segnaposto con i propri valori.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/models/{MODEL-NAME}:load-snapshot?stringIndexType=Utf16CodeUnit&api-version={API-VERSION}
Segnaposto valore Esempio
{ENDPOINT} Endpoint per l'autenticazione della richiesta API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. EmailApp
{API-VERSION} La versione dell'API che stai chiamando. 2022-10-01-preview
{MODEL-NAME} Il nome del modello. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. v1

Headers

Usare l'intestazione seguente per autenticare la richiesta.

Chiave valore
Ocp-Apim-Subscription-Key La chiave per la risorsa. È usata per l’autenticazione delle richieste API.

Dopo aver inviato la richiesta API, si riceve una 202 risposta che indica l'esito positivo. Nelle intestazioni di risposta, estrarre il valore operation-location formattato come segue:

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/models/{MODEL-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}

JOB-ID viene usato per identificare la richiesta, poiché questa operazione è asincrona. Usare questo URL per ottenere lo stato del caricamento dei dati del modello usando lo stesso metodo di autenticazione.

Esportare dati di un modello

Creare una richiesta POST usando l'URL, le intestazioni e il corpo JSON seguenti per esportare i dati di un modello.

URL richiesta

Usare l'URL seguente durante la creazione della richiesta dell’API. Sostituire i valori segnaposto con i propri valori.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:export?stringIndexType=Utf16CodeUnit&api-version={API-VERSION}&trainedModelLabel={MODEL-NAME}
Segnaposto valore Esempio
{ENDPOINT} Endpoint per l'autenticazione della richiesta API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. EmailApp
{API-VERSION} La versione dell'API che stai chiamando. 2022-10-01-preview
{MODEL-NAME} Il nome del modello. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. v1

Headers

Usare l'intestazione seguente per autenticare la richiesta.

Chiave valore
Ocp-Apim-Subscription-Key La chiave per la risorsa. È usata per l’autenticazione delle richieste API.

Dopo aver inviato la richiesta API, si riceve una 202 risposta che indica l'esito positivo. Nelle intestazioni di risposta, estrarre il valore operation-location formattato come segue:

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}

JOB-ID viene usato per identificare la richiesta, poiché questa operazione è asincrona. Usare questo URL per ottenere il JSON del progetto esportato usando lo stesso metodo di autenticazione.

Eliminare un modello

Creare una richiesta DELETE usando l'URL, le intestazioni e il corpo JSON seguenti per eliminare un modello.

URL richiesta

{ENDPOINT}/language/authoring/analyze-conversations/projects/{projectName}/models/{trainedModelLabel}?api-version={API-VERSION}
Segnaposto valore Esempio
{YOUR-ENDPOINT} Endpoint per l'autenticazione della richiesta API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. myProject
{trainedModelLabel} Nome del modello. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. model1
{API-VERSION} Versione dell'API che stai chiamando. 2023-04-01

Headers

Usare l'intestazione seguente per autenticare la richiesta.

Chiave valore
Ocp-Apim-Subscription-Key La chiave per la risorsa. È usata per l’autenticazione delle richieste API.

Dopo aver inviato la richiesta API, si riceve una 204 risposta che indica l'esito positivo, il che significa che il modello viene eliminato.

Passaggi successivi