Questo articolo illustra come creare un'app di base che usa l'API Analisi del testo di Servizi cognitivi Microsoft per analizzare il testo. Verrà illustrato come configurare l'API Analisi del testo e come connettersi ad essa tramite il connettore Analisi del testo. Verrà quindi mostrato come creare un'app che chiama l'API.

Nota: se non si ha familiarità con la creazione di app in PowerApps, è consigliabile leggere Creare un'app da zero prima di questo articolo.

Introduzione ai Servizi cognitivi Microsoft

I Servizi cognitivi Microsoft sono un set di API, SDK e servizi disponibili per rendere le applicazioni più intelligenti, coinvolgenti e individuabili. Questi servizi consentono di aggiungere con facilità alle applicazioni funzionalità intelligenti, ad esempio il rilevamento di emozioni e video, il riconoscimento facciale, vocale e visivo, oltre alla comprensione di discorsi e lingue.

Questo articolo sarà incentrato sulla "comprensione della lingua" e sull'uso dell'API Analisi del testo. Questa API consente di rilevare la valutazione, le frasi chiave, gli argomenti e la lingua dal testo. È prima di tutto necessario provare una demo dell'API e quindi inscriversi per ottenere una versione di anteprima.

Provare l'API Analisi del testo

È disponibile una demo online per l'API, che consente di verificarne il funzionamento e di esaminare il codice JSON restituito dal servizio.

  1. Passare alla pagina API Analisi del testo.

  2. Nella sezione Provalo è possibile usare il testo di esempio o immettere testo personalizzato. Toccare o fare quindi clic su Analizzare.

    Demo dell'API Analisi del testo

  3. La pagina mostra risultati formattati nella scheda Testo analizzato e la risposta JSON nella scheda JSON. JSON è un modo per rappresentare i dati. In questo caso si tratta dei dati restituiti dall'API Analisi del testo.

Iscrizione per ottenere l'API Analisi del testo

L'API è disponibile come anteprima gratuita ed è associata a una sottoscrizione di Azure. L'API viene gestita tramite il portale di Azure.

  1. Se non si ha già una sottoscrizione di Azure, iscriversi per ottenere una sottoscrizione gratuita.

  2. Accedere al proprio account Azure.

  3. Passare al pannello Crea Servizi cognitivi nel portale di Azure.

  4. Immettere le informazioni relative all'API Analisi del testo, come illustrato nell'immagine seguente. Selezionare il piano tariffario F0 (gratuito).

    Creare l'API Analisi del testo

  5. Nell'angolo inferiore sinistro selezionare o toccare Crea.

  6. Nel Dashboard toccare o fare clic sull'API appena creata.

    Dashboard di Azure

  7. Toccare o fare clic su Chiavi.

    Menu di Azure

  8. Copiare una delle chiavi nella parte destra dello schermo. Questa chiave verrà usata in un secondo momento, durante la creazione di una connessione all'API.

    Chiavi API

Creare l'app

Quando l'API Analisi del testo è attiva e in esecuzione, è possibile connettersi a essa da PowerApps e creare un'app che chiama l'API. Si tratta di un'app a singola schermata che fornisce una funzionalità simile a quella della demo nella pagina API Analisi del testo. È possibile iniziare subito a crearla.

Creare l'app e una connessione

Verrà creata prima di tutto un'app per telefono vuota e verrà aggiunta una connessione con il connettore Analisi del testo. Se sono necessarie altre informazioni su queste attività, vedere Creare un'app da zero e Gestire le connessioni in PowerApps.

  1. In PowerApps Studio toccare o fare clic su File > Nuovo e quindi in App vuota toccare o fare clic su Layout del telefono.

    App vuota - layout telefono

  2. Nel riquadro centrale toccare o fare clic su Connetti ai dati.

  3. Nel riquadro a destra toccare o fare clic su Nuova connessione > Analisi del testo.

    Origini dati di PowerApps

  4. Copiare la chiave in Chiave account, quindi toccare o fare clic su Crea.

    Connettore Analisi del testo

Aggiungere controlli all'app

Il passaggio successivo per la creazione dell'app consiste nell'aggiunta di tutti i controlli. Durante la creazione di un'app si aggiungono in genere le formule e i controlli senza un ordine preciso, ma in questo caso verranno aggiunti prima di tutto i controlli e quindi nella sezione successiva verranno aggiunte alcune formule. L'immagine seguente mostra l'app con tutti i controlli.

App completata

Seguire questa procedura per creare la schermata. Se viene specificato un nome di controllo, tale nome viene usato in una formula nella sezione successiva.

  1. Nella scheda Home toccare o fare clic su Nuova schermata, quindi Schermata scorrevole.

  2. In Schermata2 selezionare [Titolo] e impostarlo su Analisi del testo.

  3. Aggiungere un controllo Etichetta per il testo introduttivo.

  4. Aggiungere un controllo Input di testo, in modo che sia possibile immettere testo da analizzare. Assegnare al controllo il nome tiTextToAnalyze. L'app deve ora apparire come nell'immagine seguente.

    App con titolo, sottotitolo e input di testo

  5. Aggiungere tre controlli Casella di controllo, in modo che sia possibile scegliere le operazioni API da eseguire. Assegnare ai controlli i nomi chkLanguage, chkPhrases e chkSentiment.

  6. Aggiungere un pulsante, in modo che sia possibile chiamare l'API dopo avere selezionato le operazioni da eseguire. L'app deve ora apparire come nell'immagine seguente.

    App con caselle di controllo e pulsante

  7. Aggiungere tre controlli Etichetta. Le prime due etichette includeranno i risultati delle chiamate all'API per la lingua e la valutazione. La terza etichetta è semplicemente un'introduzione per la raccolta nella parte inferiore dello schermo.

  8. Aggiungere un controllo di tipo raccolta Vuota verticale e quindi aggiungere un controllo Etichetta alla raccolta. La raccolta includerà i risultati della chiamata API per le frasi chiave. L'app deve ora apparire come nell'immagine seguente.

    App con etichette e raccolta

  9. Nel riquadro a sinistra selezionare Schermata1 > puntini di sospensione (. . .) > Elimina. Questa schermata non è necessaria per l'app.

Questa app è molto semplice, in modo che sia possibile concentrarsi sulla chiamata all'API Analisi del testo, ma è possibile aggiungere altri elementi, ad esempio la logica per mostrare e nascondere i controlli in base alla caselle di controllo selezionate, la gestione degli errori se l'utente non seleziona alcuna opzione e così via.

Aggiungere logica per effettuare le chiamate corrette all'API

L'app ha un aspetto gradevole ma non esegue ancora alcuna operazione. Questo problema verrà risolto a breve. Prima di esaminare i dettagli, ecco alcune informazioni sul criterio seguito dall'app:

  1. L'app effettua chiamate specifiche all'API in base alle caselle di controllo selezionate nell'app. Quando si tocca o si fa clic su Analizza testo, l'app effettua 1, 2 o 3 chiamate all'API.

  2. I dati restituiti dall'API vengono archiviati in tre raccolte diverse: languageCollect, sentimentCollect e phrasesCollect.

  3. La proprietà Text per due delle etichette e la proprietà Items per la raccolta vengono aggiornate in base ai dati specificati nelle tre raccolte.

È possibile ora aggiungere la formula per la proprietà OnSelect del pulsante. Questa operazione è molto importante.

If(chkLanguage.Value=true,

        ClearCollect(languageCollect, TextAnalytics.DetectLanguage({numberOfLanguagesToDetect:1, text:tiTextToAnalyze.Text}).detectedLanguages.name)

);

If(chkPhrases.Value=true,

        ClearCollect(phrasesCollect, TextAnalytics.KeyPhrases({language:"en", text:tiTextToAnalyze.Text}).keyPhrases)

);

If(chkSentiment.Value=true,

        ClearCollect(sentimentCollect, TextAnalytics.DetectSentiment({language:"en", text:tiTextToAnalyze.Text}).score)

)

È piuttosto complessa, quindi è consigliabile analizzarne ogni singolo aspetto:

  • Le istruzioni If sono molto semplici: se viene selezionata una casella di controllo specifica, viene effettuata la chiamata API per tale operazione.
  • Entro ogni chiamata è necessario specificare i parametri appropriati:
    • In tutte e tre le chiamate viene specificato tiTextToAnalyze.Text come testo di input.
    • In DetectLanguage() viene impostato il parametro numberOfLanguagesToDetect come hardcoded su 1, ma è possibile passare questo parametro in base a eventuale logica presente nell'app.
    • In KeyPhrases() e DetectSentiment() il linguaggio viene impostato come hardcoded su "en", ma è possibile passare questo parametro in base a eventuale logica presente nell'app. È ad esempio possibile rilevare prima di tutto la lingua, quindi impostare questo parametro in base al valore restituito da DetectLanguage().
  • Per ogni chiamata effettuata, è necessario aggiungere i risultati alla raccolta appropriata:
    • Per languageCollect aggiungere il valore name della lingua identificata nel testo.
    • Per phrasesCollect aggiungere il valore keyPhrases relativo alle frasi chiave identificate nel testo.
    • Per sentimentCollect aggiungere il valore score per la valutazione del testo, ovvero un valore compreso tra 0 e 1, dove 1 corrisponde a una valutazione positiva al 100%.

Visualizzare i risultati delle chiamate all'API

Per visualizzare i risultati delle chiamate all'API, fare riferimento alla raccolta appropriata in ogni controllo:

  1. Impostare la proprietà Text dell'etichetta relativa alla lingua su "The language detected is " & First(languageCollect).name.

    La funzione First() restituisce il primo e in questo caso unico record presente in languageCollect e viene visualizzato il valore name, ovvero l'unico campo, associato a tale record.

  2. Impostare la proprietà Text dell'etichetta relativa alla valutazione su "The sentiment score is " & Round(First(sentimentCollect.Value).Value, 3)\*100 & "% positive.".

    Questa formula usa anche la funzione First(), ottiene il valore Value (0-1) dal primo e unico record, quindi applica al valore una formattazione di tipo percentuale.

  3. Impostare la proprietà Items della raccolta di frasi chiave su phrasesCollect.

    Poiché si sta usando una raccolta, non è necessario che la funzione First() estragga un singolo valore. Si fa riferimento alla raccolta e la raccolta mostra le frasi chiave sotto forma di elenco.

Eseguire l'app

Ora che l'app è stata completata, verrà eseguita per verificarne il funzionamento. Nell'immagine seguente sono selezionate tutte e tre le opzioni e il testo corrisponde al testo predefinito disponibile nella pagina API Analisi del testo.

App completata con dati

Se si confronta l'output di questa app con la pagina API Analisi del testo mostrata all'inizio dell'articolo, si noterà che si ottengono gli stessi risultati.

Sono state fornite informazioni sull'API Analisi del testo ed è stato illustrato come incorporarla in un'app. È possibile segnalare eventuali altri Servizi cognitivi o altri servizi in genere per cui si vorrebbero richiedere articoli di approfondimento. Inviare suggerimenti ed eventuali domande nella sezione relativa ai commenti.