Guida introduttiva: Comprensione del linguaggio conversazionale

Usare questo articolo per iniziare a usare Conversational Language Understanding con Language Studio e l'API REST. Seguire questa procedura per provare un esempio.

Prerequisiti

Accedere a Language Studio

  1. Passare a Language Studio e accedere con l'account Azure.

  2. Nella finestra Scegliere una risorsa della lingua visualizzata individuare la sottoscrizione di Azure e scegliere la risorsa Lingua. Se non si ha una risorsa, è possibile crearne una nuova.

    Dettagli dell'istanza Valore obbligatorio
    Abbonamento di Azure La sottoscrizione di Azure.
    Gruppo di risorse di Azure Nome del gruppo di risorse di Azure.
    Nome risorsa di Azure Nome della risorsa di Azure.
    Titolo Una delle aree supportate per la risorsa Lingua. Ad esempio, "Stati Uniti occidentali 2".
    Piano tariffario Uno dei piani tariffari validi per la risorsa Lingua. È possibile usare il livello Gratuito (F0) per provare il servizio.

    A screenshot showing the resource selection screen in Language Studio.

Creare un progetto di comprensione del linguaggio di conversazione

Dopo aver selezionato una risorsa Lingua, creare un progetto di comprensione del linguaggio di conversazione. Un progetto è un'area di lavoro per la creazione di modelli di Machine Learning personalizzati in base ai dati. L'accesso al progetto può essere eseguito solo dall'utente e da altri utenti che hanno accesso alla risorsa Lingua usata.

Per questa guida introduttiva, è possibile scaricare questo file di progetto di esempio e importarlo. Questo progetto può prevedere i comandi previsti dall'input dell'utente, ad esempio la lettura di messaggi di posta elettronica, l'eliminazione di messaggi di posta elettronica e l'associazione di un documento a un messaggio di posta elettronica.

  1. Nella sezione Informazioni sulle domande e sulla lingua di conversazione di Language Studio selezionare Comprensione del linguaggio conversazionale.

    A screenshot showing the location of Custom Language Understanding in the Language Studio landing page.

  2. Verrà visualizzata la pagina Dei progetti di comprensione del linguaggio conversazionale. Accanto al pulsante Crea nuovo progetto selezionare Importa.

    A screenshot showing the conversation project page in Language Studio.

  3. Nella finestra visualizzata caricare il file JSON da importare. Assicurarsi che il file segua il formato JSON supportato.

Al termine del caricamento, verrà visualizzata la pagina Definizione schema. Per questa guida introduttiva, lo schema è già compilato e le espressioni sono già etichettate con finalità ed entità.

Eseguire il training del modello

In genere, dopo aver creato un progetto, è necessario compilare uno schema ed etichettare espressioni. Per questa guida introduttiva è già stato importato un progetto pronto con lo schema compilato e le espressioni etichettate.

Per eseguire il training di un modello, è necessario avviare un processo di training. L'output di un processo di training riuscito è il modello sottoposto a training.

Per avviare il training del modello da Language Studio:

  1. Selezionare Train model (Esegui training modello ) dal menu a sinistra.

  2. Selezionare Avvia un processo di training dal menu in alto.

  3. Selezionare Esegui training di un nuovo modello e immettere un nuovo nome di modello nella casella di testo. In caso contrario, per sostituire un modello esistente con un modello sottoposto a training sui nuovi dati, selezionare Sovrascrivi un modello esistente e quindi selezionare un modello esistente. La sovrascrittura di un modello sottoposto a training è irreversibile, ma non influisce sui modelli distribuiti fino a quando non si distribuisce il nuovo modello.

  4. Selezionare la modalità di training. È possibile scegliere Formazione standard per un training più rapido, ma è disponibile solo per l'inglese. In alternativa, è possibile scegliere Formazione avanzata supportata per altre lingue e progetti multilingue, ma comporta tempi di formazione più lunghi. Altre informazioni sulle modalità di training.

  5. Selezionare un metodo di suddivisione dei dati. È possibile scegliere Divisione automatica del set di test dai dati di training in cui il sistema suddividerà le espressioni tra i set di training e di test, in base alle percentuali specificate. In alternativa, è possibile usare una suddivisione manuale dei dati di training e test, questa opzione è abilitata solo se sono state aggiunte espressioni al set di test quando sono state etichettate le espressioni.

  6. Selezionare il pulsante Train (Esegui training ).

    A screenshot showing the training page in Language Studio.

  7. Selezionare l'ID processo di training dall'elenco. Verrà visualizzato un pannello in cui è possibile controllare lo stato del training, lo stato del processo e altri dettagli per questo processo.

    Nota

    • Solo i processi di training completati correttamente genereranno modelli.
    • Il training può richiedere tempo tra un paio di minuti e un paio di ore in base al numero di espressioni.
    • È possibile eseguire un solo processo di training alla volta. Non è possibile avviare altri processi di training all'interno dello stesso progetto fino al completamento del processo in esecuzione.
    • L'apprendimento automatico usato per eseguire il training dei modelli viene aggiornato regolarmente. Per eseguire il training in una versione di configurazione precedente, selezionare Seleziona qui per passare dalla pagina Avvia un processo di training e scegliere una versione precedente.

Distribuire il modello

In genere dopo il training di un modello, esaminare i relativi dettagli di valutazione. In questa guida introduttiva si distribuirà semplicemente il modello e lo si renderà disponibile per provare in Language Studio oppure è possibile chiamare l'API di stima.

Per distribuire il modello da Language Studio:

  1. Selezionare Deploying a model (Distribuzione di un modello ) dal menu a sinistra.

  2. Selezionare Aggiungi distribuzione per avviare la procedura guidata Aggiungi distribuzione .

    A screenshot showing the model deployment button in Language Studio.

  3. Selezionare Crea un nuovo nome di distribuzione per creare una nuova distribuzione e assegnare un modello sottoposto a training nell'elenco a discesa seguente. In caso contrario, selezionare Sovrascrivi un nome di distribuzione esistente per sostituire in modo efficace il modello usato da una distribuzione esistente.

    Nota

    La sovrascrittura di una distribuzione esistente non richiede modifiche alla chiamata all'API Prediction, ma i risultati ottenuti saranno basati sul modello appena assegnato.

    A screenshot showing the screen for adding a new deployment in Language Studio.

  4. Selezionare un modello sottoposto a training nell'elenco a discesa Modello .

  5. Selezionare Distribuisci per avviare il processo di distribuzione.

  6. Al termine della distribuzione, accanto verrà visualizzata una data di scadenza. La scadenza della distribuzione è quando il modello distribuito non sarà disponibile per la stima, che in genere si verifica dodici mesi dopo la scadenza di una configurazione di training.

Testare il modello distribuito

Per testare i modelli distribuiti da Language Studio:

  1. Selezionare Test delle distribuzioni dal menu a sinistra.

  2. Per i progetti multilingue, nell'elenco a discesa Seleziona lingua del testo selezionare la lingua dell'espressione che si sta testando.

  3. Nell'elenco a discesa Nome distribuzione selezionare il nome della distribuzione corrispondente al modello da testare. È possibile testare solo i modelli assegnati alle distribuzioni.

  4. Nella casella di testo immettere un'espressione da testare. Ad esempio, se è stata creata un'applicazione per espressioni correlate alla posta elettronica, è possibile immettere Elimina questo messaggio di posta elettronica.

  5. Nella parte superiore della pagina selezionare Esegui il test.

  6. Dopo aver eseguito il test, nel risultato dovrebbe essere visualizzata la risposta del modello. È possibile visualizzare i risultati nella visualizzazione delle schede delle entità o visualizzarla in formato JSON.

Pulire le risorse

Quando il progetto non è più necessario, è possibile eliminare il progetto usando Language Studio. Selezionare Progetti dal menu di spostamento a sinistra, selezionare il progetto da eliminare e quindi selezionare Elimina dal menu in alto.

Prerequisiti

Creare una nuova risorsa dal portale di Azure

  1. Accedere al portale di Azure per creare una nuova risorsa del linguaggio di intelligenza artificiale di Azure.

  2. Selezionare Crea una nuova risorsa

  3. Nella finestra visualizzata cercare Servizio lingua

  4. Selezionare Crea.

  5. Creare una risorsa lingua con i dettagli seguenti.

    Dettagli dell'istanza Valore obbligatorio
    Area Una delle aree supportate per la risorsa Lingua.
    Nome Nome obbligatorio per la risorsa lingua
    Piano tariffario Uno dei piani tariffari supportati per la risorsa Lingua.

Ottenere le chiavi di risorsa e l'endpoint

  1. Passare alla pagina di panoramica delle risorse nella portale di Azure.

  2. Dal menu a sinistra selezionare Chiavi ed Endpoint. Si useranno l'endpoint e la chiave per le richieste API

    A screenshot showing the key and endpoint page in the Azure portal

Importare un nuovo progetto di esempio CLU

Dopo aver creato una risorsa language, creare un progetto di comprensione del linguaggio di conversazione. Un progetto è un'area di lavoro per la creazione di modelli di Machine Learning personalizzati in base ai dati. L'accesso al progetto può essere eseguito solo dall'utente e da altri utenti che hanno accesso alla risorsa Lingua usata.

Per questa guida introduttiva, è possibile scaricare questo progetto di esempio e importarlo. Questo progetto può prevedere i comandi previsti dall'input dell'utente, ad esempio la lettura di messaggi di posta elettronica, l'eliminazione di messaggi di posta elettronica e l'associazione di un documento a un messaggio di posta elettronica.

Attivare il processo di importazione del progetto

Inviare una richiesta POST usando l'URL, le intestazioni e il corpo JSON seguenti per importare il progetto.

Richiesta URL

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

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:import?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. Questo valore fa distinzione tra maiuscole e minuscole e deve corrispondere al nome del progetto nel file JSON che si sta importando. EmailAppDemo
{API-VERSION} Versione dell'API che si sta chiamando. 2023-04-01

Intestazioni

Usare l'intestazione seguente per autenticare la richiesta.

Chiave Valore
Ocp-Apim-Subscription-Key Chiave della risorsa. Usato per l'autenticazione delle richieste API.

Body

Il corpo JSON inviato è simile all'esempio seguente. Per altri dettagli sull'oggetto JSON, vedere la documentazione di riferimento.

{
  "projectFileVersion": "{API-VERSION}",
  "stringIndexType": "Utf16CodeUnit",
  "metadata": {
    "projectKind": "Conversation",
    "settings": {
      "confidenceThreshold": 0.7
    },
    "projectName": "{PROJECT-NAME}",
    "multilingual": true,
    "description": "Trying out CLU",
    "language": "{LANGUAGE-CODE}"
  },
  "assets": {
    "projectKind": "Conversation",
    "intents": [
      {
        "category": "intent1"
      },
      {
        "category": "intent2"
      }
    ],
    "entities": [
      {
        "category": "entity1"
      }
    ],
    "utterances": [
      {
        "text": "text1",
        "dataset": "{DATASET}",
        "intent": "intent1",
        "entities": [
          {
            "category": "entity1",
            "offset": 5,
            "length": 5
          }
        ]
      },
      {
        "text": "text2",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "intent": "intent2",
        "entities": []
      }
    ]
  }
}

Chiave Segnaposto Valore Esempio
{API-VERSION} Versione dell'API che si sta chiamando. 2023-04-01
projectName {PROJECT-NAME} Nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. EmailAppDemo
language {LANGUAGE-CODE} Stringa che specifica il codice del linguaggio per le espressioni usate nel progetto. Se il progetto è un progetto multilingue, scegliere il codice linguistico della maggior parte delle espressioni. en-us
multilingual true Valore booleano che consente di avere documenti in più lingue nel set di dati. Quando il modello viene distribuito, è possibile eseguire query sul modello in qualsiasi linguaggio supportato, incluse le lingue non incluse nei documenti di training. true
dataset {DATASET} Vedere come eseguire il training di un modello per informazioni sulla suddivisione dei dati tra un set di test e un set di training. I valori possibili per questo campo sono Train e Test. Train

Quando una richiesta ha esito positivo, la risposta api conterrà un'intestazione operation-location con un URL che è possibile usare per controllare lo stato del processo di importazione. È formattato come segue:

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

Ottenere lo stato del processo di importazione

Quando si invia una richiesta di importazione del progetto con esito positivo, l'URL completo della richiesta per verificare lo stato del processo di importazione (incluso l'endpoint, il nome del progetto e l'ID processo) è contenuto nell'intestazione della operation-location risposta.

Usare la richiesta GET seguente per eseguire una query sullo stato del processo di importazione. È possibile usare l'URL ricevuto dal passaggio precedente o sostituire i valori segnaposto con i propri valori.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?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
{JOB-ID} ID per individuare lo stato del processo di importazione. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} Versione dell'API che si sta chiamando. 2023-04-01

Intestazioni

Usare l'intestazione seguente per autenticare la richiesta.

Chiave Descrizione Valore
Ocp-Apim-Subscription-Key Chiave della risorsa. Usato per l'autenticazione delle richieste API. {YOUR-PRIMARY-RESOURCE-KEY}

Corpo della risposta

Dopo aver inviato la richiesta, si otterrà la risposta seguente. Continuare a eseguire il polling di questo endpoint fino a quando il parametro di stato non viene modificato in "succeeded".

{
  "jobId": "xxxxx-xxxxx-xxxx-xxxxx",
  "createdDateTime": "2022-04-18T15:17:20Z",
  "lastUpdatedDateTime": "2022-04-18T15:17:22Z",
  "expirationDateTime": "2022-04-25T15:17:20Z",
  "status": "succeeded"
}

Avviare il training del modello

In genere, dopo aver creato un progetto, è necessario compilare espressioni di schema e tag. Per questa guida introduttiva è già stato importato un progetto pronto con lo schema compilato e le espressioni con tag.

Creare una richiesta POST usando l'URL, le intestazioni e il corpo JSON seguenti per inviare un processo di training.

Richiesta URL

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

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:train?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} Versione dell'API che si sta chiamando. 2023-04-01

Intestazioni

Usare l'intestazione seguente per autenticare la richiesta.

Chiave Valore
Ocp-Apim-Subscription-Key Chiave della risorsa. Usato per l'autenticazione delle richieste API.

Corpo della richiesta

Utilizzare l'oggetto seguente nella richiesta. Il modello verrà denominato dopo il valore usato per il parametro al termine del modelLabel training.

{
  "modelLabel": "{MODEL-NAME}",
  "trainingMode": "{TRAINING-MODE}",
  "trainingConfigVersion": "{CONFIG-VERSION}",
  "evaluationOptions": {
    "kind": "percentage",
    "testingSplitPercentage": 20,
    "trainingSplitPercentage": 80
  }
}
Chiave Segnaposto Valore Esempio
modelLabel {MODEL-NAME} Nome del modello. Model1
trainingConfigVersion {CONFIG-VERSION} Versione del modello di configurazione del training. Per impostazione predefinita, viene usata la versione più recente del modello. 2022-05-01
trainingMode {TRAINING-MODE} Modalità di training da utilizzare per il training. Le modalità supportate sono formazione standard, formazione più veloce, ma disponibile solo per la formazione inglese e avanzata supportata per altre lingue e progetti multilingue, ma prevede tempi di formazione più lunghi. Altre informazioni sulle modalità di training. standard
kind percentage Metodi di divisione. I valori possibili sono percentage o manual. Per altre informazioni, vedere come eseguire il training di un modello . percentage
trainingSplitPercentage 80 Percentuale dei dati con tag da includere nel set di training. Il valore consigliato è 80. 80
testingSplitPercentage 20 Percentuale dei dati contrassegnati da includere nel set di test. Il valore consigliato è 20. 20

Nota

E trainingSplitPercentagetestingSplitPercentage sono obbligatori solo se Kind è impostato su percentage e la somma di entrambe le percentuali deve essere uguale a 100.

Dopo aver inviato la richiesta API, si riceverà una 202 risposta che indica l'esito positivo. Nelle intestazioni della risposta estrarre il operation-location valore. Il formato sarà simile al seguente:

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

È possibile usare questo URL per ottenere lo stato del processo di training.

Ottenere lo stato del processo di training

Il completamento del training può richiedere tempo, a volte tra 10 e 30 minuti. È possibile usare la richiesta seguente per mantenere il polling dello stato del processo di training fino a quando non viene completato correttamente.

Quando si invia una richiesta di training con esito positivo, l'URL completo della richiesta per verificare lo stato del processo (incluso l'endpoint, il nome del progetto e l'ID processo) è contenuto nell'intestazione della operation-location risposta.

Usare la richiesta GET seguente per ottenere lo stato dello stato di avanzamento del training del modello. Sostituire i valori segnaposto seguenti con i propri valori.

Richiesta URL

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?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. EmailApp
{JOB-ID} ID per individuare lo stato di training del modello. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} Versione dell'API che si sta chiamando. 2023-04-01

Intestazioni

Usare l'intestazione seguente per autenticare la richiesta.

Chiave Valore
Ocp-Apim-Subscription-Key Chiave della risorsa. Usato per l'autenticazione delle richieste API.

Testo della risposta

Dopo aver inviato la richiesta, si otterrà la risposta seguente. Continuare a eseguire il polling di questo endpoint fino a quando il parametro di stato non viene modificato in "succeeded".

{
  "result": {
    "modelLabel": "{MODEL-LABEL}",
    "trainingConfigVersion": "{TRAINING-CONFIG-VERSION}",
    "trainingMode": "{TRAINING-MODE}",
    "estimatedEndDateTime": "2022-04-18T15:47:58.8190649Z",
    "trainingStatus": {
      "percentComplete": 3,
      "startDateTime": "2022-04-18T15:45:06.8190649Z",
      "status": "running"
    },
    "evaluationStatus": {
      "percentComplete": 0,
      "status": "notStarted"
    }
  },
  "jobId": "xxxxx-xxxxx-xxxx-xxxxx-xxxx",
  "createdDateTime": "2022-04-18T15:44:44Z",
  "lastUpdatedDateTime": "2022-04-18T15:45:48Z",
  "expirationDateTime": "2022-04-25T15:44:44Z",
  "status": "running"
}
Chiave Valore Esempio
modelLabel Nome del modello Model1
trainingConfigVersion Versione di configurazione del training. Per impostazione predefinita, viene usata la versione più recente. 2022-05-01
trainingMode Modalità di training selezionata. standard
startDateTime L'ora di inizio del training 2022-04-14T10:23:04.2598544Z
status Stato del processo di training running
estimatedEndDateTime Tempo stimato per il completamento del processo di training 2022-04-14T10:29:38.2598544Z
jobId ID processo di training xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
createdDateTime Data e ora di creazione del processo di training 2022-04-14T10:22:42Z
lastUpdatedDateTime Data e ora dell'ultimo aggiornamento del processo di training 2022-04-14T10:23:45Z
expirationDateTime Data e ora di scadenza del processo di training 2022-04-14T10:22:42Z

Distribuire il modello

In genere dopo il training di un modello, esaminare i relativi dettagli di valutazione. In questa guida introduttiva si distribuirà semplicemente il modello e si chiamerà l'API di stima per eseguire query sui risultati.

Inviare un processo di distribuzione

Creare una richiesta PUT usando l'URL, le intestazioni e il corpo JSON seguenti per iniziare a distribuire un modello di comprensione del linguaggio conversazionale.

Richiesta URL

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}?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
{DEPLOYMENT-NAME} Nome della distribuzione. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. staging
{API-VERSION} Versione dell'API che si sta chiamando. 2023-04-01

Intestazioni

Usare l'intestazione seguente per autenticare la richiesta.

Chiave Valore
Ocp-Apim-Subscription-Key Chiave della risorsa. Usato per l'autenticazione delle richieste API.

Corpo della richiesta

{
  "trainedModelLabel": "{MODEL-NAME}",
}
Chiave Segnaposto Valore Esempio
trainedModelLabel {MODEL-NAME} Nome del modello che verrà assegnato alla distribuzione. È possibile assegnare solo modelli sottoposti a training correttamente. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. myModel

Dopo aver inviato la richiesta API, si riceverà una 202 risposta che indica l'esito positivo. Nelle intestazioni della risposta estrarre il operation-location valore. Il formato sarà simile al seguente:

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

È possibile usare questo URL per ottenere lo stato del processo di distribuzione.

Ottenere lo stato del processo di distribuzione

Quando si invia una richiesta di distribuzione riuscita, l'URL completo della richiesta per verificare lo stato del processo (incluso l'endpoint, il nome del progetto e l'ID processo) è contenuto nell'intestazione della operation-location risposta.

Usare la richiesta GET seguente per ottenere lo stato del processo di distribuzione. Sostituire i valori segnaposto con i propri valori.

Richiesta URL

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?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
{DEPLOYMENT-NAME} Nome della distribuzione. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. staging
{JOB-ID} ID per individuare lo stato di training del modello. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} Versione dell'API che si sta chiamando. 2023-04-01

Intestazioni

Usare l'intestazione seguente per autenticare la richiesta.

Chiave Valore
Ocp-Apim-Subscription-Key Chiave della risorsa. Usato per l'autenticazione delle richieste API.

Testo della risposta

Dopo aver inviato la richiesta, si otterrà la risposta seguente. Continuare a eseguire il polling di questo endpoint fino a quando il parametro di stato non viene modificato in "succeeded".

{
    "jobId":"{JOB-ID}",
    "createdDateTime":"{CREATED-TIME}",
    "lastUpdatedDateTime":"{UPDATED-TIME}",
    "expirationDateTime":"{EXPIRATION-TIME}",
    "status":"running"
}

Modello di query

Dopo aver distribuito il modello, è possibile iniziare a usarlo per eseguire stime tramite l'API di stima.

Al termine della distribuzione, è possibile iniziare a eseguire query sul modello distribuito per le stime.

Creare una richiesta POST usando l'URL, le intestazioni e il corpo JSON seguenti per iniziare a testare un modello di comprensione del linguaggio di conversazione.

Richiesta URL

{ENDPOINT}/language/:analyze-conversations?api-version={API-VERSION}
Segnaposto Valore Esempio
{ENDPOINT} Endpoint per l'autenticazione della richiesta API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API-VERSION} Versione dell'API che si sta chiamando. 2023-04-01

Intestazioni

Usare l'intestazione seguente per autenticare la richiesta.

Chiave Valore
Ocp-Apim-Subscription-Key Chiave della risorsa. Usato per l'autenticazione delle richieste API.

Corpo della richiesta

{
  "kind": "Conversation",
  "analysisInput": {
    "conversationItem": {
      "id": "1",
      "participantId": "1",
      "text": "Text 1"
    }
  },
  "parameters": {
    "projectName": "{PROJECT-NAME}",
    "deploymentName": "{DEPLOYMENT-NAME}",
    "stringIndexType": "TextElement_V8"
  }
}
Chiave Segnaposto Valore Esempio
participantId {JOB-NAME} "MyJobName
id {JOB-NAME} "MyJobName
text {TEST-UTTERANCE} Espressione da cui si vuole stimare la finalità ed estrarre le entità. "Read Matt's email
projectName {PROJECT-NAME} Nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. myProject
deploymentName {DEPLOYMENT-NAME} Nome della distribuzione. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. staging

Dopo aver inviato la richiesta, si otterrà la risposta seguente per la stima

Corpo della risposta

{
  "kind": "ConversationResult",
  "result": {
    "query": "Text1",
    "prediction": {
      "topIntent": "inten1",
      "projectKind": "Conversation",
      "intents": [
        {
          "category": "intent1",
          "confidenceScore": 1
        },
        {
          "category": "intent2",
          "confidenceScore": 0
        },
        {
          "category": "intent3",
          "confidenceScore": 0
        }
      ],
      "entities": [
        {
          "category": "entity1",
          "text": "text1",
          "offset": 29,
          "length": 12,
          "confidenceScore": 1
        }
      ]
    }
  }
}
Chiave Valore di esempio Descrizione
query "Leggi il messaggio di posta elettronica di Matt" il testo inviato per la query.
topIntent "Read" Finalità stimata con il punteggio di attendibilità più alto.
Finalità [] Elenco di tutte le finalità stimate per il testo della query ognuna di esse con un punteggio di attendibilità.
entities [] matrice contenente l'elenco di entità estratte dal testo della query.

Risposta API per un progetto di conversazioni

In un progetto di conversazioni si otterranno stime sia per le finalità che per le entità presenti all'interno del progetto.

  • Le finalità e le entità includono un punteggio di attendibilità compreso tra 0,0 e 1,0 associato a quanto sia sicuro che il modello stia stimando un determinato elemento nel progetto.
  • La finalità di punteggio superiore è contenuta all'interno del proprio parametro.
  • Nella risposta verranno visualizzate solo le entità stimate.
  • Le entità indicano:
    • Testo dell'entità estratta
    • Posizione iniziale indicata da un valore di offset
    • Lunghezza del testo dell'entità indicata da un valore di lunghezza.

Pulire le risorse

Quando non è più necessario il progetto, è possibile eliminare il progetto usando le API.

Creare una richiesta DELETE usando l'URL, le intestazioni e il corpo JSON seguenti per eliminare un progetto di comprensione del linguaggio di conversazione.

Richiesta URL

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}?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
{API-VERSION} Versione dell'API che si sta chiamando. 2023-04-01

Intestazioni

Usare l'intestazione seguente per autenticare la richiesta.

Chiave Valore
Ocp-Apim-Subscription-Key Chiave della risorsa. Usato per l'autenticazione delle richieste API.

Dopo aver inviato la richiesta API, si riceverà una 202 risposta che indica l'esito positivo, il che significa che il progetto è stato eliminato.

Passaggi successivi