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
- Sottoscrizione di Azure: creare un account gratuito.
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
Accedere al portale di Azure per creare una nuova risorsa di Lingua di Azure AI.
Nella finestra visualizzata selezionare questo servizio dalle funzionalità personalizzate. Selezionare Continua per creare la risorsa nella parte inferiore dello schermo.
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.
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 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.
Individuare i file da caricare nell'account di archiviazione
Nel portale di Azure passare all'account di archiviazione creato e selezionarlo.
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.
Dopo aver creato il contenitore, selezionarlo. Selezionare quindi il pulsante Carica per selezionare i file
.txt
e.json
scaricati in precedenza.
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.
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.
Selezionare la funzionalità da usare in Language Studio.
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.
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.
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.
Selezionare il contenitore in cui è stato caricato il set di dati.
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.
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:
Selezionare Processi di training dal menu a sinistra.
Selezionare Avvia un processo di training dal menu in alto.
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.
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.
Selezionare il pulsante Esegui il training.
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:
Selezionare Distribuzione di un modello nel menu a sinistra.
Selezionare Aggiungi distribuzione per avviare un nuovo processo di distribuzione.
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.
Fare clic su Distribuisci per avviare il processo di distribuzione.
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:
Selezionare Test delle distribuzioni dal menu a sinistra.
Selezionare la distribuzione da testare. È possibile testare solo i modelli assegnati alle distribuzioni.
Per i progetti multilingue, nell'elenco a discesa lingua selezionare la lingua del testo di cui si esegue il test.
Selezionare dall'elenco a discesa la distribuzione di cui si intende eseguire la query/il test.
È possibile immettere il testo da inviare alla richiesta o caricare un file
.txt
da usare.Selezionare Esegui il test dal menu in alto.
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
- Sottoscrizione di Azure: creare un account gratuito.
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
Accedere al portale di Azure per creare una nuova risorsa di Lingua di Azure AI.
Nella finestra visualizzata selezionare questo servizio dalle funzionalità personalizzate. Selezionare Continua per creare la risorsa nella parte inferiore dello schermo.
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.
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 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.
Individuare i file da caricare nell'account di archiviazione
Nel portale di Azure passare all'account di archiviazione creato e selezionarlo.
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.
Dopo aver creato il contenitore, selezionarlo. Selezionare quindi il pulsante Carica per selezionare i file
.txt
e.json
scaricati in precedenza.
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.
Dopo aver distribuito correttamente la risorsa linguistica, fare clic sul pulsante Vai alla risorsa sotto a Passaggi successivi.
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.
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: