Guida introduttiva: Analisi del sentiment personalizzata (anteprima)

[NOTA] L'analisi del sentiment personalizzata (anteprima) verrà ritirata il 10 gennaio 2025. Eseguire la transizione ad altri servizi di training del modello personalizzati, ad esempio la classificazione del testo personalizzata nel linguaggio di intelligenza artificiale di Azure, entro tale data. Da ora al 10 gennaio 2025, è possibile continuare a usare l'analisi del sentiment personalizzata (anteprima) nei progetti esistenti senza interruzioni. Non è possibile creare nuovi progetti. Il 10 gennaio 2025 i carichi di lavoro in esecuzione nell'analisi del sentiment personalizzata (anteprima) verranno eliminati e i dati del progetto associati andranno persi.

Usare questo articolo per iniziare a creare un progetto di analisi del sentiment personalizzata in cui eseguire il training di modelli personalizzati per rilevare il sentiment del testo. Un modello è un software di intelligenza artificiale sottoposto a training per eseguire una determinata attività. Per questo sistema, i modelli classificano il testo e vengono sottoposti a training apprendendo dai dati contrassegnati.

Prerequisiti

Creare una nuova risorsa linguistica di Azure e un account di archiviazione di Azure

Prima di poter usare l'analisi del sentiment personalizzata, è necessario creare una risorsa linguistica di Azure che fornirà le credenziali necessarie per creare un progetto e avviare il training di un modello. È anche necessario un account di archiviazione di Azure, in cui caricare il set di dati che verrà usato per compilare il modello.

Importante

Per iniziare rapidamente, è preferibile creare una nuova risorsa linguistica di Azure seguendo la procedura descritta in questo articolo. La procedura descritta in questo articolo consentirà di creare contemporaneamente la risorsa linguistica e l'account di archiviazione, un'operazione che risulta più semplice rispetto all'eseguirla in un secondo momento.

Creare una nuova risorsa dal portale di Azure

  1. Accedere al portale di Azure per creare una nuova risorsa di Lingua di Azure AI.

  2. Nella finestra visualizzata selezionare questo servizio dalle funzionalità personalizzate. Selezionare Continua per creare la risorsa nella parte inferiore dello schermo.

    Screenshot che mostra la classificazione del testo personalizzata e il riconoscimento di entità denominate personalizzate nel portale di Azure.

  3. Creare una risorsa linguistica con i dettagli seguenti.

    Nome Descrizione
    Abbonamento La sottoscrizione di Azure.
    Gruppo di risorse Un gruppo di risorse di Azure che conterrà la risorsa. È possibile usarne uno esistente o crearne uno nuovo.
    Area L’area della risorsa Lingua. Ad esempio, "Stati Uniti occidentali 2".
    Nome Un nome per la risorsa.
    Piano tariffario Il piano tariffario per la risorsa Lingua. Per provare il servizio, è possibile usare il livello gratuito (F0).

    Nota

    Se viene visualizzato un messaggio che indica che “l'account di accesso non è un proprietario del gruppo di risorse dell'account di archiviazione selezionato”, è necessario assegnare all'account un ruolo di proprietario nel gruppo di risorse per poter creare una risorsa linguistica. Per assistenza contattare il proprietario della sottoscrizione di Azure.

  4. Nella sezione del servizio selezionare un account di archiviazione esistente o selezionare Nuovo account di archiviazione. Questi valori consentono di iniziare senza usare necessariamente i valori dell'account di archiviazione usati in ambienti di produzione. Per evitare la latenza durante la creazione del progetto, connettersi agli account di archiviazione nella stessa area della risorsa linguistica.

    Valore dell'account di archiviazione Valore consigliato
    Nome account di archiviazione Qualsiasi nome
    Storage account type LRS Standard
  5. Accertarsi che sia selezionata l’opzione Avviso intelligenza artificiale responsabile. Selezionare Rivedi e crea nella parte inferiore della pagina, quindi selezionare Crea.

Caricare dati di esempio in un contenitore BLOB

Dopo aver creato un account di archiviazione di Azure e averlo connesso alla risorsa linguistica, sarà necessario caricare i documenti dal set di dati di esempio nella directory radice del contenitore. Questi documenti verranno usati successivamente per il training del modello.

Per iniziare, scaricare il set di dati di esempio per i progetti di analisi del sentiment personalizzata. Aprire il file .zip ed estrarre la cartella contenente i documenti. Il set di dati di esempio fornito contiene vari documenti, ognuno dei quali è un breve esempio di recensione di un cliente.

  1. Individuare i file da caricare nell'account di archiviazione

  2. Nel portale di Azure passare all'account di archiviazione creato e selezionarlo.

  3. Nell'account di archiviazione selezionare Contenitori nel menu a sinistra, sotto Archiviazione dati. Nella schermata visualizzata selezionare + Contenitore. Assegnare al contenitore il nome example-data e lasciare il livello di accesso pubblico predefinito.

    Screenshot che mostra la pagina principale di un account di archiviazione.

  4. Dopo aver creato il contenitore, selezionarlo. Selezionare quindi il pulsante Carica per selezionare i file .txt e .json scaricati in precedenza.

    Screenshot che mostra il pulsante per caricare i file nell'account di archiviazione.

Creare un progetto di analisi del sentiment personalizzata

Dopo aver configurato la risorsa e il contenitore di archiviazione, creare un nuovo progetto di analisi del sentiment personalizzata. 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 linguistica usata.

  1. Accedere a Language Studio. Verrà visualizzata una finestra che consente di selezionare la sottoscrizione e la risorsa linguistica. Selezionare la risorsa linguistica creata nel passaggio precedente.

  2. Selezionare la funzionalità da usare in Language Studio.

  3. Selezionare Crea nuovo progetto dal menu in alto nella pagina dei progetti. La creazione di un progetto consente di etichettare i dati, eseguire il training, valutare, migliorare e distribuire i modelli.

    Screenshot della pagina di creazione del progetto.

  4. Immettere le informazioni sul progetto, inclusi un nome, una descrizione e la lingua dei file nel progetto. Se si usa il set di dati di esempio, selezionare Inglese. Non è possibile modificare il nome del progetto in un secondo momento. Selezionare Avanti.

    Suggerimento

    Il set di dati non deve essere tutto nella stessa lingua. È possibile avere più documenti, ognuno con diverse lingue supportate. Se il set di dati contiene documenti in lingue diverse o se si prevede testo in lingue diverse durante il runtime, selezionare l’opzione Abilita set di dati multilingue quando si immettono le informazioni di base per il progetto. Questa opzione può essere abilitata in un secondo momento dalla pagina Impostazioni progetto.

  5. Dopo aver fatto clic su Crea nuovo progetto, verrà visualizzata una finestra per consentire la connessione dell'account di archiviazione. Se è già stato connesso un account di archiviazione, verrà visualizzato l'account di archiviazione connesso. In caso contrario, scegliere l'account di archiviazione dall'elenco a discesa visualizzato e selezionare Connetti account di archiviazione. Verranno impostati i ruoli necessari per l'account di archiviazione. Questo passaggio potrebbe restituire un errore se all’utente non è assegnato il ruolo di proprietario nell'account di archiviazione.

    Nota

    • È necessario eseguire questo passaggio una sola volta per ogni nuova risorsa usata.
    • Questo processo è irreversibile, per cui se si connette un account di archiviazione a una risorsa linguistica, non sarà possibile disconnetterlo in un secondo momento.
    • È possibile connettere una risorsa linguistica a un solo account di archiviazione.
  6. Selezionare il contenitore in cui è stato caricato il set di dati.

  7. Se i dati sono già stati etichettati, accertarsi che seguano il formato supportato e selezionare Sì, i file sono già etichettati e il file di etichette JSON è formattato, quindi selezionare il file di etichette dal menu a discesa. Selezionare Avanti. Se si usa il set di dati dell’avvio rapido, non è necessario rivedere la formattazione del file di etichette JSON.

  8. Esaminare i dati immessi e selezionare Crea progetto.

Eseguire il training del modello

In genere, dopo aver creato un progetto, si inizia a etichettare i documenti presenti nel contenitore connesso al progetto. Per questa guida introduttiva è stato importato un set di dati con tag di esempio e il progetto è stato inizializzato con il file di tag JSON di esempio.

Per avviare il training di un modello da Language Studio:

  1. Selezionare Processi di training dal menu a sinistra.

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

  3. Selezionare Esegui il training di un nuovo modello e digitare il nome del modello nella casella di testo. Si può anche sovrascrivere un modello esistente selezionando questa opzione e scegliendo il modello da sovrascrivere dal menu a discesa. La sovrascrittura di un modello sottoposto a training è irreversibile, ma non influisce sui modelli distribuiti fino a quando non si distribuisce il nuovo modello.

    Creare un nuovo processo di training

  4. Per impostazione predefinita, il sistema suddividerà i dati etichettati tra i set di training e di test, in base alle percentuali specificate. Se sono presenti documenti nel set di test, è possibile suddividere manualmente i dati di training e test.

  5. Selezionare il pulsante Esegui il training.

  6. Se si seleziona l'ID del processo di training dall'elenco, viene visualizzato un riquadro laterale in cui è possibile controllare lo stato di avanzamento del training, lo stato del processo e altri dettagli relativi a questo processo.

    Nota

    • Solo i processi di training completati correttamente genereranno modelli.
    • Il training può richiedere tempo, da un paio di minuti a diverse ore, in base alle dimensioni dei dati etichettati.
    • È possibile eseguire un solo processo di training alla volta. Non è possibile avviare altri processi di training nello stesso progetto fino al completamento del processo in esecuzione.

Distribuire il modello

In genere, dopo il training di un modello, è opportuno rivedere i relativi dettagli di valutazione e apportare miglioramenti in base alla necessità. In questa guida introduttiva, il modello verrà solo distribuito e reso disponibile per una prova in Language Studio; è possibile anche richiamare l'API di stima.

Per distribuire un modello all’interno di Studio di linguaggio:

  1. Selezionare Distribuzione di un modello nel menu a sinistra.

  2. Selezionare Aggiungi distribuzione per avviare un nuovo processo di distribuzione.

    Screenshot che mostra il pulsante di distribuzione

  3. Selezionare Crea nuova distribuzione per creare una nuova distribuzione e assegnare un modello sottoposto a training dall'elenco a discesa seguente. Si può sovrascrivere una distribuzione esistente selezionando questa opzione e selezionando il modello sottoposto a training che si vuole assegnare a questa dall'elenco a discesa seguente.

    Nota

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

    Screenshot che mostra la schermata di distribuzione

  4. Fare clic su Distribuisci per avviare il processo di distribuzione.

  5. Al termine della distribuzione verrà visualizzata una data di scadenza. La scadenza della distribuzione si riferisce alla data in cui il modello distribuito non sarà disponibile per la previsione, che in genere si verifica dodici mesi dopo la scadenza di una configurazione di training.

Testare il modello

Dopo aver distribuito il modello, è possibile iniziare a usarlo per classificare il testo tramite l'API di stima. Per questa guida introduttiva si userà Language Studio per inviare l'attività di analisi del sentiment personalizzata e visualizzare i risultati. Nel set di dati di esempio scaricato in precedenza è possibile trovare alcuni documenti di test che è possibile usare in questo passaggio.

Per testare i modelli distribuiti in Language Studio:

  1. Selezionare Test delle distribuzioni dal menu a sinistra.

  2. Selezionare la distribuzione da testare. È possibile testare solo i modelli assegnati alle distribuzioni.

  3. Per i progetti multilingue, nell'elenco a discesa lingua selezionare la lingua del testo di cui si esegue il test.

  4. Selezionare dall'elenco a discesa la distribuzione di cui si intende eseguire la query/il test.

  5. È possibile immettere il testo da inviare alla richiesta o caricare un file .txt da usare.

  6. Selezionare Esegui il test dal menu in alto.

  7. Nella scheda Risultato, è possibile visualizzare le entità estratte dal testo e i relativi tipi. È anche possibile visualizzare la risposta JSON nella scheda JSON.

Pulire i progetti

Quando il progetto non è più necessario, è possibile eliminarlo usando Language Studio. Selezionare la funzionalità in uso nella parte superiore, quindi selezionare il progetto da eliminare. Per eliminare il progetto, selezionare Elimina dal menu in alto.

Prerequisiti

Creare una nuova risorsa linguistica di Azure e un account di archiviazione di Azure

Prima di poter usare l'analisi del sentiment personalizzata, è necessario creare una risorsa linguistica di Azure che fornirà le credenziali necessarie per creare un progetto e avviare il training di un modello. È necessario anche un account di archiviazione di Azure in cui è possibile caricare il set di dati che verrà usato per la generazione del modello.

Importante

Per iniziare rapidamente, è preferibile creare una nuova risorsa Lingua di Azure seguendo la procedura descritta in questo articolo; tale procedura consentirà di creare la risorsa Lingua e/o connettere un account di archiviazione contemporaneamente, in quanto questa operazione sarebbe più complessa se venisse eseguita in un secondo momento.

Creare una nuova risorsa dal portale di Azure

  1. Accedere al portale di Azure per creare una nuova risorsa di Lingua di Azure AI.

  2. Nella finestra visualizzata selezionare questo servizio dalle funzionalità personalizzate. Selezionare Continua per creare la risorsa nella parte inferiore dello schermo.

    Screenshot che mostra la classificazione del testo personalizzata e il riconoscimento di entità denominate personalizzate nel portale di Azure.

  3. Creare una risorsa linguistica con i dettagli seguenti.

    Nome Descrizione
    Abbonamento La sottoscrizione di Azure.
    Gruppo di risorse Un gruppo di risorse di Azure che conterrà la risorsa. È possibile usarne uno esistente o crearne uno nuovo.
    Area L’area della risorsa Lingua. Ad esempio, "Stati Uniti occidentali 2".
    Nome Un nome per la risorsa.
    Piano tariffario Il piano tariffario per la risorsa Lingua. Per provare il servizio, è possibile usare il livello gratuito (F0).

    Nota

    Se viene visualizzato un messaggio che indica che “l'account di accesso non è un proprietario del gruppo di risorse dell'account di archiviazione selezionato”, è necessario assegnare all'account un ruolo di proprietario nel gruppo di risorse per poter creare una risorsa linguistica. Per assistenza contattare il proprietario della sottoscrizione di Azure.

  4. Nella sezione del servizio selezionare un account di archiviazione esistente o selezionare Nuovo account di archiviazione. Questi valori consentono di iniziare senza usare necessariamente i valori dell'account di archiviazione usati in ambienti di produzione. Per evitare la latenza durante la creazione del progetto, connettersi agli account di archiviazione nella stessa area della risorsa linguistica.

    Valore dell'account di archiviazione Valore consigliato
    Nome account di archiviazione Qualsiasi nome
    Storage account type LRS Standard
  5. Accertarsi che sia selezionata l’opzione Avviso intelligenza artificiale responsabile. Selezionare Rivedi e crea nella parte inferiore della pagina, quindi selezionare Crea.

Caricare dati di esempio in un contenitore BLOB

Dopo aver creato un account di archiviazione di Azure e averlo connesso alla risorsa linguistica, sarà necessario caricare i documenti dal set di dati di esempio nella directory radice del contenitore. Questi documenti verranno usati successivamente per il training del modello.

Per iniziare, scaricare il set di dati di esempio per i progetti di analisi del sentiment personalizzata. Aprire il file .zip ed estrarre la cartella contenente i documenti. Il set di dati di esempio fornito contiene vari documenti, ognuno dei quali è un breve esempio di recensione di un cliente.

  1. Individuare i file da caricare nell'account di archiviazione

  2. Nel portale di Azure passare all'account di archiviazione creato e selezionarlo.

  3. Nell'account di archiviazione selezionare Contenitori nel menu a sinistra, sotto Archiviazione dati. Nella schermata visualizzata selezionare + Contenitore. Assegnare al contenitore il nome example-data e lasciare il livello di accesso pubblico predefinito.

    Screenshot che mostra la pagina principale di un account di archiviazione.

  4. Dopo aver creato il contenitore, selezionarlo. Selezionare quindi il pulsante Carica per selezionare i file .txt e .json scaricati in precedenza.

    Screenshot che mostra il pulsante per caricare i file nell'account di archiviazione.

Ottenere la chiave e l'endpoint

La chiave e l'endpoint ottenuti dalla risorsa saranno necessari per connettere l'applicazione all'API. La chiave e l'endpoint verranno incollati nel codice più avanti nell'avvio rapido.

  1. Dopo aver distribuito correttamente la risorsa linguistica, fare clic sul pulsante Vai alla risorsa sotto a Passaggi successivi.

    Screenshot che mostra i passaggi successivi alla distribuzione di una risorsa.

  2. Nella schermata della risorsa selezionare Chiavi ed endpoint nel menu di spostamento a sinistra. Nei passaggi seguenti si useranno una delle chiavi e l'endpoint.

    Screenshot che mostra le chiavi e la sezione endpoint per una risorsa.

Creare un progetto di analisi del sentiment personalizzata

Dopo aver configurato la risorsa e il contenitore di archiviazione, creare un nuovo progetto di analisi del sentiment personalizzata. 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 linguistica usata.

Attivare un processo di importazione progetto

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

Se esiste già un progetto con lo stesso nome, i dati di tale progetto vengono sostituiti.

{Endpoint}/language/authoring/analyze-text/projects/{projectName}/: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. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. myProject
{API-VERSION} La versione dell'API che si sta chiamando. Il valore a cui si fa riferimento qui è relativo alla versione più recente rilasciata. Altre informazioni su altre versioni dell’API disponibili 2023-04-15-preview

Intestazioni

Usare l'intestazione seguente per autenticare la richiesta.

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

Corpo

Usare il JSON seguente nella richiesta. Sostituire i valori segnaposto seguenti con i propri valori.

{
  "projectFileVersion": "2023-04-15-preview",
  "stringIndexType": "Utf16CodeUnit",
  "metadata": {
    "projectKind": "CustomTextSentiment",
    "storageInputContainerName": "text-sentiment",
    "projectName": "TestSentiment",
    "multilingual": false,
    "description": "This is a Custom sentiment analysis project.",
    "language": "en-us"
  },
  "assets": {
    "projectKind": "CustomTextSentiment",
    "documents": [
      {
        "location": "documents/document_1.txt",
        "language": "en-us",
        "sentimentSpans": [
            {
                "category": "negative",
                "offset": 0,
                "length": 28
            }
        ]
      },
      {
          "location": "documents/document_2.txt",
          "language": "en-us",
          "sentimentSpans": [
              {
                  "category": "negative",
                  "offset": 0,
                  "length": 24
              }
          ]
      },
      {
          "location": "documents/document_3.txt",
          "language": "en-us",
          "sentimentSpans": [
              {
                  "category": "neutral",
                  "offset": 0,
                  "length": 18
              }
          ]
      }
    ]
  }
}


Chiave Segnaposto Valore Esempio
api-version {API-VERSION} La versione dell'API che si sta chiamando. La versione usata qui deve essere la stessa versione dell'API nell'URL. Altre informazioni su altre versioni dell’API disponibili 2023-04-15-preview
projectName {PROJECT-NAME} Il nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. myProject
projectKind CustomTextSentiment Il tipo di progetto. CustomTextSentiment
linguaggio {LANGUAGE-CODE} Una stringa che specifica il codice lingua per i documenti usati nel progetto. Se il progetto è un progetto multilingue, scegliere il codice lingua della maggior parte dei documenti. Per altre informazioni sul supporto multilingue, vedere Supporto lingue. en-us
multilingual true Valore booleano che consente di includere documenti in più lingue nel set di dati e quando il modello viene distribuito, è possibile eseguire query sul modello in tutte le lingue supportate non necessariamente incluse nei documenti di training. Per altre informazioni sul supporto multilingue, vedere Supporto lingue. true
storageInputContainerName {CONTAINER-NAME} Il nome del contenitore di archiviazione di Azure in cui sono stati caricati i documenti. myContainer
documenti [] Array contenente tutti i documenti nel progetto e le classi etichettate per il documento. []
posizione {DOCUMENT-NAME} Posizione dei documenti nel contenitore di archiviazione. Siccome tutti i documenti sono inclusi nella radice del contenitore, deve essere il nome del documento. doc1.txt
sentimentSpans {sentimentSpans} Sentiment di un documento (positivo, neutro, negativo), posizione in cui inizia il sentiment e la relativa lunghezza. []

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

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

{JOB-ID} viene usato per identificare la richiesta, poiché questa operazione è asincrona. Questo URL verrà usato per ottenere lo stato del processo di importazione.

Possibili scenari di errore per questa richiesta:

  • Il valore storageInputContainerName specificato non esiste.
  • Il codice lingua usato non è non valido o il tipo del codice lingua non è stringa.
  • Il valore multilingual è una stringa e non un valore booleano.

Ottenere lo stato del processo di importazione

Usare la richiesta GET seguente per ottenere lo stato dell’importazione di un progetto. Sostituire i valori segnaposto seguenti con i propri valori.

Richiesta URL

{ENDPOINT}/language/authoring/analyze-text/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} Il nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. myProject
{JOB-ID} L’ID per individuare lo stato del training del modello. Questo valore si trova nel valore dell'intestazione location ricevuto nel passaggio precedente. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} La versione dell'API che si sta chiamando. Il valore a cui si fa riferimento qui è relativo alla versione più recente rilasciata. Altre informazioni su altre versioni dell’API disponibili 2023-04-15-preview

Intestazioni

Usare l'intestazione seguente per autenticare la richiesta.

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

Eseguire il training del modello

In genere, dopo aver creato un progetto, si inizia ad aggiungere tag ai documenti presenti nel contenitore connesso al progetto. Per questa guida introduttiva è stato importato un set di dati con tag di esempio e il progetto è stato inizializzato con il file di tag JSON di esempio.

Avviare il training di un modello

Dopo aver importato il progetto, è possibile avviare il training del modello.

Inviare una richiesta POST usando l'URL, le intestazioni e il corpo JSON seguenti per inviare un processo di training. Sostituire i valori segnaposto con i propri valori.

{ENDPOINT}/language/authoring/analyze-text/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} Il nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. myProject
{API-VERSION} La versione dell'API che viene richiamata. Il valore a cui si fa riferimento qui è relativo alla versione più recente rilasciata. Altre informazioni su altre versioni dell’API disponibili 2023-04-15-preview

Intestazioni

Usare l'intestazione seguente per autenticare la richiesta.

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

Corpo della richiesta

Usare il JSON seguente nel corpo della richiesta. Al termine del training, al modello verrà assegnato {MODEL-NAME}. Solo i processi di training riusciti produrranno modelli.

{
	"modelLabel": "{MODEL-NAME}",
	"trainingConfigVersion": "{CONFIG-VERSION}",
	"evaluationOptions": {
		"kind": "percentage",
		"trainingSplitPercentage": 80,
		"testingSplitPercentage": 20
	}
}
Chiave Segnaposto Valore Esempio
modelLabel {MODEL-NAME} Nome del modello che verrà assegnato al modello dopo aver eseguito il training correttamente. myModel
trainingConfigVersion {CONFIG-VERSION} È la versione del modello che verrà usata per il training del modello. 2023-04-15-preview
evaluationOptions Opzione per dividere i dati tra set di training e set di test. {}
kind percentage Metodi di divisione. I possibili valori sono percentage o manual. percentage
trainingSplitPercentage 80 Percentuale dei dati con tag da includere nel set di training. Il valore consigliato è 80. 80
testingSplitPercentage 20 Percentuale dei dati con tag da includere nel set di test. Il valore consigliato è 20. 20

Nota

trainingSplitPercentage e testingSplitPercentage sono necessari 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 risposta 202 che indica che il processo è stato inviato correttamente. Nelle intestazioni della risposta estrarre il valore location. Il formato sarà simile al seguente:

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

{JOB-ID} viene usato per identificare la richiesta, poiché questa operazione è asincrona. È possibile usare questo URL per ottenere lo stato del training.

Ottenere lo stato del processo di training

Il training potrebbe richiedere qualche minuto tra 10 e 30 minuti. È possibile usare la richiesta seguente per continuare il polling dello stato del processo di training fino a quando non viene completato correttamente.

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

Richiesta URL

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/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} Il nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. myProject
{JOB-ID} L’ID per individuare lo stato del training del modello. Questo valore si trova nel valore dell'intestazione location ricevuto nel passaggio precedente. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} La versione dell'API che si sta chiamando. Il valore a cui si fa riferimento qui è relativo alla versione più recente rilasciata. Per altre informazioni su altre versioni disponibili dell’API, vedere Ciclo di vita di un modello. 2023-04-15-preview

Intestazioni

Usare l'intestazione seguente per autenticare la richiesta.

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

Corpo della risposta

Dopo aver inviato la richiesta, si otterrà la risposta seguente.

{
  "result": {
    "modelLabel": "{MODEL-NAME}",
    "trainingConfigVersion": "{CONFIG-VERSION}",
    "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": "{JOB-ID}",
  "createdDateTime": "2022-04-18T15:44:44Z",
  "lastUpdatedDateTime": "2022-04-18T15:45:48Z",
  "expirationDateTime": "2022-04-25T15:44:44Z",
  "status": "running"
}

Distribuire il modello

In genere, dopo il training di un modello, è opportuno rivedere i relativi dettagli di valutazione e apportare miglioramenti in base alla necessità. In questa guida introduttiva, il modello verrà solo distribuito e reso disponibile per una prova in Language Studio; è possibile anche richiamare l'API di stima.

Inviare un processo di distribuzione

Inviare una richiesta PUT usando l'URL, le intestazioni e il corpo JSON seguenti per inviare un processo di distribuzione. Sostituire i valori segnaposto con i propri valori.

{Endpoint}/language/authoring/analyze-text/projects/{projectName}/deployments/{deploymentName}?api-version={API-VERSION}
Segnaposto Valore Esempio
{ENDPOINT} Endpoint per l'autenticazione della richiesta API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Il nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. myProject
{DEPLOYMENT-NAME} Il nome della distribuzione. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. staging
{API-VERSION} La versione dell'API che si sta chiamando. Il valore a cui si fa riferimento qui è relativo alla versione più recente rilasciata. Per altre informazioni sulle altre versioni dell'API disponibili, vedere Ciclo di vita del modello. 2023-04-15-preview

Intestazioni

Usare l'intestazione seguente per autenticare la richiesta.

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

Corpo della richiesta

Usare il JSON seguente nel corpo della richiesta. Usare il nome del modello da assegnare alla distribuzione.

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

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

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

{JOB-ID} viene usato per identificare la richiesta, poiché questa operazione è asincrona. È possibile usare questo URL per ottenere lo stato della distribuzione.

Ottenere lo stato del processo di distribuzione

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

{ENDPOINT}/language/authoring/analyze-text/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} Il nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. myProject
{DEPLOYMENT-NAME} Il nome della distribuzione. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. staging
{JOB-ID} L’ID per individuare lo stato del training del modello. Si trova nel valore dell'intestazione location ricevuto nel passaggio precedente. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} La versione dell'API che viene richiamata. Il valore a cui si fa riferimento qui è relativo alla versione più recente rilasciata. Per altre informazioni sulle altre versioni dell'API disponibili, vedere Ciclo di vita del modello. 2023-04-15-preview

Intestazioni

Usare l'intestazione seguente per autenticare la richiesta.

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

Corpo della risposta

Dopo aver inviato la richiesta, si otterrà la risposta seguente. Continuare il polling di questo endpoint fino a quando il parametro dello stato diventa "succeeded". Si ottiene un codice 200 indicante l'esito positivo della richiesta.

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

Classifica testo

Dopo aver distribuito correttamente il modello, è possibile iniziare a usarlo per classificare il testo tramite l'APIStima. Nel set di dati di esempio scaricato in precedenza è possibile trovare alcuni documenti di test che è possibile usare in questo passaggio.

Inviare un'attività di analisi del sentiment personalizzata

Usare questa richiesta POST per avviare un'attività di classificazione del testo.

{ENDPOINT}/language/analyze-text/jobs?api-version={API-VERSION}
Segnaposto Valore Esempio
{ENDPOINT} Endpoint per l'autenticazione della richiesta API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API-VERSION} La versione dell'API che si sta chiamando. Il valore a cui si fa riferimento qui è relativo alla versione più recente rilasciata. 2023-04-15-preview

Intestazioni

Chiave valore
Ocp-Apim-Subscription-Key La chiave che fornisce l'accesso all’API.

Corpo

{
  "displayName": "Detecting sentiment",
  "analysisInput": {
    "documents": [
      {
        "id": "1",
        "language": "{LANGUAGE-CODE}",
        "text": "Text1"
      },
      {
        "id": "2",
        "language": "{LANGUAGE-CODE}",
        "text": "Text2"
      }
    ]
  },
  "tasks": [
     {
      "kind": "CustomTextSentiment",
      "taskName": "Sentiment analysis",
      "parameters": {
        "projectName": "{PROJECT-NAME}",
        "deploymentName": "{DEPLOYMENT-NAME}"
      }
    }
  ]
}
Chiave Segnaposto Valore Esempio
displayName {JOB-NAME} Il nome del processo. MyJobName
documents [{},{}] Elenco di documenti per cui eseguire le attività. [{},{}]
id {DOC-ID} Nome o ID del documento. doc1
language {LANGUAGE-CODE} Una stringa che specifica il codice lingua per il documento. Se questa chiave non è specificata, il servizio presuppone la lingua predefinita del progetto selezionata durante la creazione del progetto. en-us
text {DOC-TEXT} Attività del documento per cui eseguire le attività. Lorem ipsum dolor sit amet
tasks Elenco di attività da eseguire. []
taskName CustomTextSentiment Il nome dell’attività CustomTextSentiment
parameters Elenco di parametri da passare all’attività.
project-name {PROJECT-NAME} Nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. myProject
deployment-name {DEPLOYMENT-NAME} Il nome della distribuzione. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. prod

Response

Se l’attività è stata inviata correttamente, si riceverà una risposta 202. Nelle intestazioni della risposta, estrarre operation-location. operation-location è formattato come indicato di seguito:

{ENDPOINT}/language/analyze-text/jobs/{JOB-ID}?api-version={API-VERSION}

È possibile usare questo URL per eseguire una query sullo stato di completamento dell'attività e ottenere i risultati al termine dell'attività.

Ottenere i risultati dell’attività

Usare la richiesta GET seguente per eseguire una query sullo stato/sui risultati dell'attività di riconoscimento di entità personalizzate.

{ENDPOINT}/language/analyze-text/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
{API-VERSION} La versione dell'API che viene richiamata. Il valore a cui si fa riferimento qui è relativo alla versione più recente rilasciata. 2023-04-15-preview

Intestazioni

Chiave valore
Ocp-Apim-Subscription-Key La chiave che fornisce l'accesso all’API.

Testo della risposta

La risposta sarà un documento JSON con i parametri seguenti

{
  "createdDateTime": "2021-05-19T14:32:25.578Z",
  "displayName": "MyJobName",
  "expirationDateTime": "2021-05-19T14:32:25.578Z",
  "jobId": "xxxx-xxxx-xxxxx-xxxxx",
  "lastUpdateDateTime": "2021-05-19T14:32:25.578Z",
  "status": "succeeded",
  "tasks": {
    "completed": 1,
    "failed": 0,
    "inProgress": 0,
    "total": 1,
    "items": [
      {
        "kind": "EntityRecognitionLROResults",
        "taskName": "Recognize Entities",
        "lastUpdateDateTime": "2020-10-01T15:01:03Z",
        "status": "succeeded",
        "results": {
          "documents": [
            {
              "entities": [
                {
                  "category": "Event",
                  "confidenceScore": 0.61,
                  "length": 4,
                  "offset": 18,
                  "text": "trip"
                },
                {
                  "category": "Location",
                  "confidenceScore": 0.82,
                  "length": 7,
                  "offset": 26,
                  "subcategory": "GPE",
                  "text": "Seattle"
                },
                {
                  "category": "DateTime",
                  "confidenceScore": 0.8,
                  "length": 9,
                  "offset": 34,
                  "subcategory": "DateRange",
                  "text": "last week"
                }
              ],
              "id": "1",
              "warnings": []
            }
          ],
          "errors": [],
          "modelVersion": "2020-04-01"
        }
      }
    ]
  }
}

Pulire le risorse

Quando il progetto non è più necessario, è possibile eliminarlo con la richiesta DELETE seguente. Sostituire i valori segnaposto con i propri valori.

{Endpoint}/language/authoring/analyze-text/projects/{projectName}?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} La versione dell'API che si sta chiamando. Il valore a cui si fa riferimento qui è relativo alla versione più recente rilasciata. Altre informazioni su altre versioni dell’API disponibili 2023-04-15-preview

Intestazioni

Usare l'intestazione seguente per autenticare la richiesta.

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

Dopo aver inviato la richiesta API, si riceverà una risposta 202 che indica l'esito positivo, che significa che il progetto è stato eliminato. Risultati di una chiamata con esito positivo con un'intestazione Operation-Location usata per controllare lo stato del processo.

Passaggi successivi

Dopo aver creato un modello di analisi del sentiment personalizzata, è possibile:

Quando si inizia a creare progetti di analisi del sentiment personalizzata, usare gli articoli sulle procedure per ottenere altre informazioni sullo sviluppo del modello in modo più dettagliato: