Använd Cognitive Services i PowerAppsUse Cognitive Services in PowerApps

I den här artikeln lär du dig att skapa en grundläggande app som använder Microsoft Cognitive Services Text Analytics API för att analysera text.This article shows you how to build a basic app that uses the Microsoft Cognitive Services Text Analytics API to analyze text. Vi visar hur du ställer in Text Analytics API och ansluter till den med den Text Analytics-anslutningsappen.We'll show you how to set up the Text Analytics API, and connect to it with the Text Analytics connector. Sedan ska vi visar hur du skapar en app som anropar API: et.Then we'll show you how to create an app that calls the API.

Obs: Om du är nybörjare på att bygga appar i PowerApps rekommenderar vi att du läser Skapa en app från grunden innan du börjar med den här artikeln.Note: If you are new to building apps in PowerApps, we recommend reading Create an app from scratch before diving into this article.

Introduktion till Microsoft Cognitive ServicesIntroduction to Microsoft Cognitive Services

Microsofts Cognitive Services är en API-, SDK- och tjänstuppsättning som gör dina program mer intelligenta, engagerande och synliga.Microsoft Cognitive Services are a set of APIs, SDKs, and services available to make your applications more intelligent, engaging, and discoverable. Med dessa tjänster kan du enkelt lägga till intelligenta funktioner i dina program, till exempel känslo- och videodetektion, igenkänning av ansikte, tal och syn samt tal- och språkförståelse.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.

Vi kommer fokuserar på ”språkförståelse” i den här artikeln och kommer att arbeta med API för textanalys.We'll focus on "language understanding" for this article, working with the Text Analytics API. Med detta API kan du identifiera känsla, nyckelfraser, ämnen och språk i texten.This API enables you to detect sentiment, key phrases, topics, and language from your text. Nu sätter vi igång och testar en demonstration av API: et och registrerar dig för en förhandsversion.Let's get started by trying out a demo of the API, then signing up for a preview version.

Testa API för textanalysTry out the Text Analytics API

API: et har en online demo – du kan se hur det fungerar och titta på JSON som tjänsten returnerar.The API has an online demo – you can see how it works, and look at the JSON that the service returns.

  1. Gå till sidan API för textanalys.Go to the Text Analytics API page.
  2. I avsnittet Användning i praktiken anger du exempeltexten eller din egen text.In the See it in action section, use the example text, or enter your own text. Sedan klickar eller trycker du på Analysera.Then click or tap Analyze.

    API för textanalys - demo

  3. Sidan visar formaterade resultat på filken Analyserad text och JSON-svar på fliken JSON. JSON är ett sätt att visa data – i det här fallet data som returneras av API: et för textanalys.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.

Registrera dig för API för textanalysSign up for the Text Analytics API

API: et är tillgänglig som en kostnadsfri förhandsversion och den är associerad med en Azure-prenumeration.The API is available as a free preview, and it is associated with an Azure subscription. Du kan hantera API:et via Azure Portal.You manage the API through the Azure portal.

  1. Om du inte redan har en Azure-prenumeration kan du registrera dig för en kostnadsfri prenumeration.If you don't already have an Azure subscription, sign up for a free subscription.
  2. Logga in till ditt Azure-konto.Sign in to your Azure account.
  3. Gå till bladet Skapa Cognitive Services i Azure-portalen.Go to the Create Cognitive Services blade in the Azure portal.
  4. Ange information för API:et för textanalys, som i följande bild.Enter information for the Text Analytics API, like in the following image. Välj prisnivån F0 (kostnadsfritt).Select the F0 (free) pricing tier.

    Skapa API för textanalys

  5. Klicka eller tryck på Skapa i det nedre vänstra hörnet.In the lower-left corner, click or tap Create.
  6. instrumentpanelen klickar eller trycker du på API:et som du nyss skapade.On the Dashboard, click or tap the API that you just created.

    Azure-instrumentpanelen

  7. Klicka eller tryck på Nycklar.Click or tap Keys.

    Azure-menyn

  8. Kopiera en av nycklarna till höger på skärmen.Copy one of the keys on the right of the screen. Vi använder den här nyckeln senare när vi skapa en anslutning till API:et.We will use this key later when we create a connection to the API.

    API-nycklar

Bygga appenBuild the app

Nu när vi har kommit igång med API:et för textanalys kan vi ansluta till det från PowerApps och skapa en app som anropar API:et.Now that we have the Text Analytics API up and running, we can connect to it from PowerApps, and build an app that calls the API. Det här är en app med en enda skärm som innehåller liknande funktioner som demonstrationen på sidan API för textanalys.This is a single screen app that provides functionality similar to the demo on the Text Analytics API page. Nu sätter vi igång om skapar den!Let's get started on building this!

Skapa appen och lägg till en anslutningsappCreate the app and add a connection

Först måste vi skapa en tom telefonapp och lägga till en anslutning med anslutningsappen Textanalys.First, we'll create a blank phone app and add a connection with the Text Analytics connector. Mer information om dessa uppgifter finns i Skapa en app från grunden och Hantera anslutningar i PowerApps.If you need more information about these tasks, see Create an app from scratch and Manage your connections in PowerApps.

  1. I PowerApps Studio, klickar eller trycker du på Arkiv > Ny och sedan under tom app, klickar eller trycker du på telefonlayout.In PowerApps Studio, click or tap File > New, then under Blank app, click or tap Phone layout.

    Tom app, telefonlayout

  2. I den mellersta rutan klickar eller trycker du på anslut till data.In the middle pane, click or tap connect to data.
  3. I den högra rutan, klicka eller tryck på Ny anslutning > textanalys.In the right pane, click or tap New connection > Text Analytics.

    PowerApps-datakällor

  4. Kopiera din nyckel till Kontonyckel och klicka eller tryck på Skapa.Copy your key into Account Key, then click or tap Create.

    Anslutningsapp för textanalys

Lägga till kontroller i appenAdd controls to the app

Nästa steg i att skapa appen är att lägga till alla kontroller.The next step in creating the app is to add all the controls. Normalt när jag skapar appar lägger jag till kontroller efter hand, men i det här fallet ska vi först fokusera på kontrollerna och därefter lägga till formler i nästa avsnitt.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. Följande bild visar appen med alla kontroller.The following image shows the app with all the controls.

Färdig app

Följ stegen nedan för att skapa den här skärmen.Follow the steps below to create this screen. Om ett kontrollnamn anges kommer detta att användas i formuläret i nästa avsnitt.If a control name is specified, that name is used in a formula in the next section.

  1. På fliken Start klickar eller trycker du på Ny Skärm och sedan Rullningsbar skärm.On the Home tab, click or tap New Screen, then Scrollable screen.
  2. Screen2 väljer du [Title] och ändrar den till Textanalys.On Screen2, select [Title] and change it to Text Analysis.
  3. Lägg till en etikettkontroll för den inledande texten.Add a Label control for the introductory text.
  4. Lägg till en textkontroll över så vi kan ange text att analysera.Add a Text input control, so we can enter text to analyze. Namnge kontrollen tiTextToAnalyze.Name the control tiTextToAnalyze. Appen bör nu se ut som på följande bild.The app should now look like the following image.

    Appen med rubrik, underrubrik och textinmatning

  5. Lägg till tre kryssrutor så att vi kan välja vilka API-åtgärder att utföra.Add three Check box controls, so we can choose which API operations to perform. Namnge kontrollerna chkLanguage, chkPhrases och chkSentiment.Name the controls chkLanguage, chkPhrases, and chkSentiment.
  6. Lägga till en knapp, så vi kan anropa API:et när du har valt vilka åtgärder att utföra.Add a button, so we can call the API after selecting which operations to perform. Appen bör nu se ut som på följande bild.The app should now look like the following image.

    Appen med kryssrutor och knapp

  7. Lägg till tre etikettkontroller.Add three Label controls. De första två innehåller resultaten från språk- och känslo-API-anrop; den tredje är bara en introduktion till galleriet längst ned på skärmen.The first two will 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. Lägg till ett Tomt lodrätt galleri och därefter en etikett i galleriet.Add a Blank vertical gallery control, then add a Label control to the gallery. Galleriet ska innehålla resultat från API-anrop med nyckelfraser.The gallery will hold results from the key phrases API call. Appen bör nu se ut som på följande bild.The app should now look like the following image.

    Appen med etiketter och galleri

  9. I den vänstra rutan väljer du Screen1 > ellips (... ) > Ta bort (vi behöver inte den här skärmen för vår app).In the left pane, select Screen1 > ellipsis (. . .) > Delete (we don't need this screen for our app).

Vi håller appen enkel för att fokusera på att anropa API:et för textanalys, men du kan lägga till element, till exempel logik för att visa och dölja kontroller baserat på valda kryssrutor, felhantering om användaren inte har valt några alternativ med mera.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.

Lägga till logik för att göra rätt API-anropAdd logic to make the right API calls

OK, vi har en bra söker app men den gör fortfarande inget.OK, we have a nice-looking app, but it doesn't do anything yet. Vi ordnar det om en stund.We'll fix that in a moment. Men innan vi fördjupar oss är det viktigt att förstå mönstret som appen följer:But before we dive into the details, let's understand the pattern that the app follows:

  1. Appen gör specifika API-anrop som är baserade på vilka kryssrutor som markeras i appen.The app makes specific API calls based on the check boxes selected in the app. När vi klickar eller trycker på Analysera text gör appen 1, 2 eller 3 API-anrop.When we click or tap Analyze text, the app makes 1, 2, or 3 API calls.
  2. Data som API:et returnerar lagras i tre olika samlingar: languageCollect, sentimentCollect och phrasesCollect.Data that the API returns is stored in three different collections: languageCollect, sentimentCollect, and phrasesCollect.
  3. Text -egenskapen för två av etiketterna och Objekt-egenskapen för galleriet uppdateras baserat på vad som finns i de tre samlingarna.The Text property for two of the labels, and the Items property for the gallery, are updated based on what's in the three collections.

Mot den bakgrunden, lägg till formeln för egenskapen OnSelect för vår knapp.With that background, let's add the formula for the OnSelect property of our button. Det är här som allt händer.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)

)

Det är ganska mycket som händer här, så vi får dela upp det:There's a bit going on here, so let's break it down:

  • Om-instruktioner är enkla – om en specifik kryssruta är markerad utförs API-anropet för den åtgärden.The If statements are straightforward – if a specific check box is selected, make the API call for that operation.
  • Ange lämpliga parametrar i varje anrop:Within each call, specify the appropriate parameters:
    • I alla tre anrop anger vi tiTextToAnalyze.Text som indatatexten.In all three calls, we specify tiTextToAnalyze.Text as the input text.
    • I DetectLanguage() hårdkodar vi numberOfLanguagesToDetect som 1, men vi kan skicka den här parametern baserat på logik i appen.In DetectLanguage(), we hard-code numberOfLanguagesToDetect as 1, but we could pass this parameter based on some logic in the app.
    • I KeyPhrases() och DetectSentiment() hårdkodar vi språk som ”en”, men vi kan skicka den här parametern baserat på logiken i appen.In KeyPhrases() and DetectSentiment(), we hard-code language as "en", but we could pass this parameter based on some logic in the app. Vi kan till exempel identifiera språket först och ange den här parametern baserat på vad DetectLanguage() returnerar.For example, we could detect the language first, then set this parameter based on what DetectLanguage() returns.
  • Lägg till resultaten för varje anrop som görs i rätt samling:For each call that is made, add the results to the appropriate collection:
    • För languageCollect lägger vi till namnet på språket som identifierades i texten.For languageCollect, we add the name of the language that was identified in the text.
    • För phrasesCollect lägger vi till keyPhrases som identifierades i texten.For phrasesCollect, we add the keyPhrases that were identified in the text.
    • För sentimentCollect lägger vi till poängen för känslan i texten, vilket är ett värde av 0-1, med 1 som 100 % positivt.For sentimentCollect, we add the sentiment score for the text, which is a value of 0-1, with 1 being 100% positive.

Visa resultatet av API-anropDisplay the results of the API calls

Om du vill visa resultatet av API-anrop, referera till rätt samling i varje kontroll:To display the results of the API calls, reference the appropriate collection in each control:

  1. Ställ in etikettens textegenskap som: "The language detected is " & First(languageCollect).name.Set the Text property of the language label to: "The language detected is " & First(languageCollect).name.

    Funktionen First() returnerar den första (och enda i det här fallet) posten i languageCollect och vi visar det namn (det enda fältet) som är kopplat till posten.The First() function returns the first (and in this case only) record in languageCollect, and we display the name (the only field) associated with that record.

  2. Ställ in etikettens textegenskap som: "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.".

    Den här formeln använder också funktionen First(), hämtar värdet (0-1) från den första och enda posten och formaterar det som en procentandel.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. Ställ in nyckelfrasgalleriets Items-egenskap till: phrasesCollect.Set the Items property of the key phrases gallery to: phrasesCollect.

    Vi arbetar nu i ett galleri så vi inte behöver funktionen First() för att extrahera ett värde.We're now working with a gallery so we don't need the First() function to extract a single value. Vi refererar till samlingen och galleriet visar viktiga fraser som en lista.We reference the collection, and the gallery displays the key phrases as a list.

Kör appenRun the app

Nu när appen är klar så kan vi köra den och se hur det fungerar.Now that the app is finished, let's run it to see how it works. I följande bild är alla tre alternativen är markerade och texten är samma som standardtexten på sidan om API för textanalys.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.

Färdiga appen med data

Om du jämför utdatan från den här appen med sidan om API för textanalys i början av den här artikeln kan se du att vi får samma resultat.If you compare the output of this app to the Text Analytics API page at the beginning of this article, you see that we get the same results.

Vi hoppas att du nu förstår lite mer om API för textanalys och du har sett hur man kan bygga in det i en app.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. Låt oss veta om det finns andra Cognitive Services (eller andra tjänster i allmänhet) som du vill att vi fokuserar på i våra artiklar.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. Som alltid kan du lämna feedback och frågor i kommentarerna.As always, please leave feedback and any questions in the comments.