Cognitive Services gebruiken in PowerAppsUse Cognitive Services in PowerApps

In dit artikel leert u hoe u een eenvoudige app kunt maken die de tekstanalyse-API van Microsoft Cognitive Services gebruikt om tekst te analyseren.This article shows you how to build a basic app that uses the Microsoft Cognitive Services Text Analytics API to analyze text. We laten u zien hoe u de tekstanalyse-API kunt instellen en hoe u deze aan de connector voor tekstanalyse kunt koppelen.We'll show you how to set up the Text Analytics API, and connect to it with the Text Analytics connector. Vervolgens laten we u zien hoe u een app kunt maken die de API oproept.Then we'll show you how to create an app that calls the API.

Notitie

We raden u aan om Een volledig nieuwe app maken te lezen voordat u dit artikel leest als u nog niet eerder apps in PowerApps hebt gemaakt.If you are new to building apps in PowerApps, we recommend reading Create an app from scratch before diving into this article.

Kennismaking met Microsoft Cognitive ServicesIntroduction to Microsoft Cognitive Services

Microsoft Cognitive Services vormt een reeks API's, SDK's en services om uw applicaties slimmer, meer betrokken en vindbaar te maken.Microsoft Cognitive Services are a set of APIs, SDKs, and services available to make your applications more intelligent, engaging, and discoverable. Deze services stellen u in staat om gemakkelijk intelligente functies, zoals emotie- en videodetectie, gezichts-, spraak- en zichtherkenning, en kennis van spraak en taal, aan uw applicaties toe te voegen.These services enable you to easily add intelligent features – such as emotion and video detection; facial, speech and vision recognition; and speech and language understanding – into your applications.

We richten ons in dit artikel op 'taalbegrip' en gebruiken de tekstanalyse-API.We'll focus on "language understanding" for this article, working with the Text Analytics API. Deze API stelt u in staat om stemming, sleutelfrasen, onderwerpen en taal in uw tekst te detecteren.This API enables you to detect sentiment, key phrases, topics, and language from your text. Laten we beginnen met een demo van de API en ons daarna aanmelden voor een preview-versie.Let's get started by trying out a demo of the API, then signing up for a preview version.

De tekstanalyse-API verkennenTry out the Text Analytics API

De API heeft een online demo, zodat u kunt zien hoe deze werkt. Kijk ook naar de JSON die door de service wordt geretourneerd.The API has an online demo – you can see how it works, and look at the JSON that the service returns.

  1. Ga naar de pagina Tekstanalyse-API.Go to the Text Analytics API page.

  2. Gebruik in de sectie Zie het in actie de voorbeeldtekst of voer uw eigen tekst in.In the See it in action section, use the example text, or enter your own text. Klik of tik vervolgens op analyseren.Then click or tap Analyze.

    Demo van Tekstanalyse-API

  3. De pagina geeft opgemaakte resultaten weer op het tabblad Geanalyseerde tekst en het JSON-antwoord op het tabblad JSON. JSON is een manier om gegevens weer te geven. In dit geval zijn het gegevens die door de tekstanalyse-API zijn geretourneerd.The page shows formatted results on the Analyzed text tab, and the JSON response on the JSON tab. JSON is a way to represent data - in this case, data returned by the Text Analytics API.

Aanmelden voor de tekstanalyse-APISign up for the Text Analytics API

De API is beschikbaar als gratis preview en gekoppeld aan een Azure-abonnement.The API is available as a free preview, and it is associated with an Azure subscription. U beheert de API via de Azure Portal.You manage the API through the Azure portal.

  1. Meld u aan voor een gratis abonnement als u nog geen Azure-abonnement hebt.If you don't already have an Azure subscription, sign up for a free subscription.

  2. Meld u aan bij uw Azure-account.Sign in to your Azure account.

  3. Ga in de Azure Portal naar Cognitive Services-blade maken.Go to the Create Cognitive Services blade in the Azure portal.

  4. Vul informatie in voor de tekstanalyse-API, zoals in de volgende afbeelding.Enter information for the Text Analytics API, like in the following image. Selecteer de prijscategorie F0 (gratis).Select the F0 (free) pricing tier.

    Tekstanalyse-API maken

  5. Klik of tik in de linkerbenedenhoek op Maken.In the lower-left corner, click or tap Create.

  6. Klik of tik op het Dashboard op de API die u zojuist hebt gemaakt.On the Dashboard, click or tap the API that you just created.

    Azure-dashboard

  7. Klik of tik op Sleutels.Click or tap Keys.

    Menu van Azure

  8. Kopieer een van de sleutels aan de rechterkant van het scherm.Copy one of the keys on the right of the screen. U gebruikt deze sleutel later als u een verbinding met de API maakt.You use this key later when you create a connection to the API.

    API-sleutels

De app bouwenBuild the app

U hebt nu de tekstanalyse-API aan de praat gekregen en kunt deze nu via PowerApps koppelen en een app maken die de API aanroept.Now that you have the Text Analytics API up and running, you connect to it from PowerApps, and build an app that calls the API. Dit is een app met één scherm die dezelfde functionaliteit biedt als de demo op de pagina Tekstanalyse-API.This is a single screen app that provides functionality similar to the demo on the Text Analytics API page. Laten we beginnen met het bouwen!Let's get started on building this!

De app maken en een verbinding toevoegenCreate the app and add a connection

U maakt eerst een lege telefoonapp en voegt een verbinding met de Tekstanalyse-connector toe.First, you create a blank phone app and add a connection with the Text Analytics connector. Raadpleeg Een volledig nieuwe app maken en Uw verbindingen beheren in PowerApps als u meer informatie over deze taken wilt.If you need more information about these tasks, see Create an app from scratch and Manage your connections in PowerApps.

  1. In web.powerapps.com kiest u Beginnen met een lege app > pictogram telefoon-app (telefoonnummer) > Deze app maken.In web.powerapps.com, choose Start from blank > Phone app icon (phone) > Make this app.

    Beginnen met een lege app

  2. Kies in het middelste deelvenster van de PowerApps Studio Verbinding maken met gegevens.In the middle pane of the PowerApps Studio, choose connect to data.

  3. Klik of tik in het deelvenster Gegevens op Nieuwe verbinding > Tekstanalyse.On the Data panel, click or tap New connection > Text Analytics.

  4. Kopieer uw sleutel naar Accountsleutel en klik of tik vervolgens op Maken.Copy your key into Account Key, then click or tap Create.

    Tekstanalyse-connector

Besturingselementen toevoegen aan de appAdd controls to the app

De volgende stap voor het maken van de app bestaat uit het toevoegen van alle besturingselementen.The next step in creating the app is to add all the controls. Normaal gesproken als ik apps bouw, voeg ik gaandeweg formules aan de besturingselementen toe. In dit geval richten we ons eerst op de besturingselementen en voegen we in het volgende deel een paar formules toe.Normally when I build apps, I add formulas to the controls as I go, but in this case we'll focus on the controls first, then add a few formulas in the next section. In de volgende afbeelding ziet u de app met alle besturingselementen.The following image shows the app with all the controls.

Voltooide app

Volg de onderstaande stappen om dit scherm te maken.Follow the steps below to create this screen. Als er een naam voor een besturingselement wordt opgegeven, wordt die naam in een formule in het volgende deel gebruikt.If a control name is specified, that name is used in a formula in the next section.

  1. Klik op het tabblad Start op Nieuw scherm en vervolgens op Doorscrolbaar scherm.On the Home tab, click or tap New Screen, then Scrollable screen.

  2. Selecteer op Scherm2 [Titel] en wijzig deze in Tekstanalyse.On Screen2, select [Title] and change it to Text Analysis.

  3. Voeg een besturingselement Label toe voor de inleidende tekst.Add a Label control for the introductory text.

  4. Voeg een besturingselement Tekstinvoer toe, zodat u tekst kunt invoeren die moet worden geanalyseerd.Add a Text input control, so you can enter text to analyze. Noem het besturingselement tiTekstVoorAnalyse.Name the control tiTextToAnalyze. De app moet er nu uitzien zoals in de volgende afbeelding.The app should now look like the following image.

    App met titel, subtitel en tekstinvoer

  5. Voeg drie Selectievakje-besturingselementen toe, zodat u kunt kiezen welke API-bewerkingen moeten worden uitgevoerd.Add three Check box controls, so you can choose which API operations to perform. Noem de besturingselementen chkTaal, chkFrasen en chkStemming.Name the controls chkLanguage, chkPhrases, and chkSentiment.

  6. Voeg een knop toe, zodat u de API kunt aanroepen nadat is geselecteerd welke bewerkingen moeten worden uitgevoerd.Add a button, so you can call the API after selecting which operations to perform. De app moet er nu uitzien zoals in de volgende afbeelding.The app should now look like the following image.

    App met selectievakjes en knop

  7. Voeg drie Label-besturingselementen toe.Add three Label controls. De eerste twee bevatten de resultaten van de API-oproepen voor taal en stemming. De derde is alleen een inleiding voor de galerie aan de onderkant van het scherm.The first two hold results from the language and sentiment API calls; the third is just an introduction for the gallery at the bottom of the screen.

  8. Voeg een besturingselement Lege verticale galerie toe en voeg daarna een besturingselement Label aan de galerie toe.Add a Blank vertical gallery control, then add a Label control to the gallery. De galerie bevat de resultaten voor de API-aanroep voor sleutelfrasen.The gallery holds results from the key phrases API call. De app moet er nu uitzien zoals in de volgende afbeelding.The app should now look like the following image.

    App met labels en galerie

  9. Selecteer in het linkerdeelvenster Scherm1 > beletselteken (...) > Verwijderen (u hebt dit scherm niet nodig voor de app).In the left pane, select Screen1 > ellipsis (. . .) > Delete (you don't need this screen for the app).

We houden deze app eenvoudig en richten ons op het aanroepen van de tekstanalyse-API. U kunt echter items toevoegen, zoals logica voor het weergeven en verbergen van besturingselementen op basis van de geselecteerde selectievakjes, foutafhandeling als de gebruiker geen opties selecteert, enzovoort.We're keeping this app simple to focus on calling the Text Analytics API, but you could add things - like logic to show and hide controls based on the check boxes selected, error handling if the user doesn't select any options, and so on.

Logica toevoegen om de juiste API-aanroepen te doenAdd logic to make the right API calls

U hebt nu een app die er goed uitziet, maar hij doet nog niets.OK, you have a nice-looking app, but it doesn't do anything yet. Dat gaan we zo oplossen.You'll fix that in a moment. Voordat we echter in detail treden, moeten we eerst begrijpen welk patroon de app volgt:But before we dive into the details, let's understand the pattern that the app follows:

  1. De app doet specifieke API-aanroepen op basis van de selectievakjes die in de app zijn geselecteerd.The app makes specific API calls based on the check boxes selected in the app. Als u op Tekst analyseren klikt of tikt, doet de app 1, 2 of 3 API-aanroepen.When you click or tap Analyze text, the app makes 1, 2, or 3 API calls.

  2. De app slaat gegevens op die de API retourneert, in drie verschillende verzamelingen op: languageCollect, sentimentCollect en phrasesCollect.The app stores data that the API returns in three different collections: languageCollect, sentimentCollect, and phrasesCollect.

  3. De eigenschap Tekst voor twee van de labels en de eigenschap Items voor de galerie worden door de app bijgewerkt op basis van de inhoud van de drie verzamelingen.The app updates the Text property for two of the labels, and the Items property for the gallery, based on what's in the three collections.

Laten we vanuit die gedachte de formule voor de eigenschap OnSelect van de knop toevoegen.With that background, let's add the formula for the OnSelect property of the button. Hier gebeurt alles.This is where all the magic happens.

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)

)

Er gebeurt nogal wat, dus laten we de inhoud even opsplitsen:There's a bit going on here, so let's break it down:

  • De If-instructies zijn simpel: als er een specifiek selectievakje wordt geselecteerd, moet de API-aanroep voor die bewerking worden uitgevoerd.The If statements are straightforward – if a specific check box is selected, make the API call for that operation.

  • Geef binnen elke aanroep de juiste parameters op:Within each call, specify the appropriate parameters:

    • U specificeert in alle drie de aanroepen tiTextToAnalyze.Text als de invoertekst.In all three calls, you specify tiTextToAnalyze.Text as the input text.

    • In DetectLanguage() programmeert u numberOfLanguagesToDetect als 1, maar u kunt deze parameter doorgeven op basis van bepaalde logica in de app.In DetectLanguage(), numberOfLanguagesToDetect is hard-coded as 1, but you could pass this parameter based on some logic in the app.

    • In KeyPhrases() en DetectSentiment(), wordttaal in code vastgelegd als "en", maar u kunt deze parameter doorgeven op basis van bepaalde logica in de app.In KeyPhrases() and DetectSentiment(),language is hard-coded as "en", but you could pass this parameter based on some logic in the app. U kunt bijvoorbeeld eerst de taal detecteren en vervolgens deze parameter instellen op basis van wat DetectLanguage() retourneert.For example, you could detect the language first, then set this parameter based on what DetectLanguage() returns.

  • Voeg voor elke aanroep die plaatsvindt de resultaten toe aan de juiste verzameling:For each call that is made, add the results to the appropriate collection:

    • Voor languageCollect voegt u de naam toe van de taal die in de tekst werd geïdentificeerd.For languageCollect, add the name of the language that was identified in the text.

    • Voor phrasesCollect voegt u de sleutelzinnen toe die in de tekst werden geïdentificeerd.For phrasesCollect, add the keyPhrases that were identified in the text.

    • Voor sentimentCollect voegt u de score voor de stemming in de tekst toe; deze is een waarde van 0-1, waarbij 1 100% positief betekent.For sentimentCollect, add the sentiment score for the text, which is a value of 0-1, with 1 being 100% positive.

De resultaten van de API-aanroepen weergevenDisplay the results of the API calls

U kunt de resultaten van de API-aanroepen weergeven door in elk besturingselement naar de juiste verzameling te verwijzen:To display the results of the API calls, reference the appropriate collection in each control:

  1. Stel de eigenschap Tekst van het taallabel in op: "The language detected is " & First(languageCollect).name.Set the Text property of the language label to: "The language detected is " & First(languageCollect).name.

    De functie First() retourneert de eerste (en in dit geval de enige) record in languageCollect. Vervolgens geeft de app de naam (het enige veld) weer die aan deze record is gekoppeld.The First() function returns the first (and in this case only) record in languageCollect, and the app displays the name (the only field) associated with that record.

  2. Stel de eigenschap Tekst van het label voor stemming in op: "The sentiment score is " & Round(First(sentimentCollect.Value).Value, 3)\*100 & "% positive.".Set the Text property of the sentiment label to: "The sentiment score is " & Round(First(sentimentCollect.Value).Value, 3)\*100 & "% positive.".

    Deze formule gebruikt ook de functie First(), haalt de waarde (0-1) van de eerste en enige record op en maakt deze vervolgens op als percentage.This formula also uses the First() function, gets the Value (0-1) from the first and only record, then formats it as a percentage.

  3. Stel de eigenschap Items van de galerie voor sleutelzinnen in op: phrasesCollect.Set the Items property of the key phrases gallery to: phrasesCollect.

    U werkt nu met een galerie en hebt dus niet de functie First() nodig om een enkele waarde op te halen.You're now working with a gallery so you don't need the First() function to extract a single value. U verwijst naar de verzameling. De galerie geeft de sleutelzinnen weer als een lijst.You reference the collection, and the gallery displays the key phrases as a list.

De app uitvoerenRun the app

Nu de app is voltooid, voert u deze uit om te zien hoe deze werkt: klik of tik op de knop Uitvoeren in de rechterbovenhoek.Now that the app is finished, run it to see how it works: click or tap the run button in the upper right corner De app uitvoeren.. In de volgende afbeelding zijn alle drie de opties geselecteerd en is de tekst hetzelfde als de standaardtekst op de pagina Tekstanalyse-API.In the following image, all three options are selected, and the text is the same as the default text on the Text Analytics API page.

Voltooide app met gegevens

Als u de uitvoer van deze app met de pagina Tekstanalyse-API aan het begin van dit artikel vergelijkt, ziet u dat we dezelfde resultaten krijgen.If you compare the output of this app to the Text Analytics API page at the beginning of this article, you see that the results are the same.

We hopen dat u nu iets meer begrijpt van de tekstanalyse-API en dat u het leuk vond om te zien hoe deze in een app kan worden opgenomen.We hope you now understand a little more about the Text Analytics API, and you've enjoyed seeing how to incorporate it into an app. We horen het graag als er andere Cognitive Services (of andere services in het algemeen) zijn waar we op in moeten gaan in onze artikelen.Let us know if there are other Cognitive Services (or other services in general) that you would like us to focus on in our articles. Laat zoals altijd uw feedback en eventuele vragen achter in de opmerkingen.As always, please leave feedback and any questions in the comments.