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. Vi visar hur du ställer in Text Analytics API och ansluter till den med den Text Analytics-anslutningsappen. Sedan ska vi visar hur du skapar en app som anropar API: et.

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.

Introduktion till Microsoft Cognitive Services

Microsofts Cognitive Services är en API-, SDK- och tjänstuppsättning som gör dina program mer intelligenta, engagerande och synliga. 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.

Vi kommer fokuserar på ”språkförståelse” i den här artikeln och kommer att arbeta med API för textanalys. Med detta API kan du identifiera känsla, nyckelfraser, ämnen och språk i texten. Nu sätter vi igång och testar en demonstration av API: et och registrerar dig för en förhandsversion.

Testa API för textanalys

API: et har en online demo – du kan se hur det fungerar och titta på JSON som tjänsten returnerar.

  1. Gå till sidan API för textanalys.

  2. I avsnittet Användning i praktiken anger du exempeltexten eller din egen text. Sedan klickar eller trycker du på Analysera.

    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.

Registrera dig för API för textanalys

API: et är tillgänglig som en kostnadsfri förhandsversion och den är associerad med en Azure-prenumeration. Du kan hantera API:et via Azure Portal.

  1. Om du inte redan har en Azure-prenumeration kan du registrera dig för en kostnadsfri prenumeration.

  2. Logga in till ditt Azure-konto.

  3. Gå till bladet Skapa Cognitive Services i Azure-portalen.

  4. Ange information för API:et för textanalys, som i följande bild. Välj prisnivån F0 (kostnadsfritt).

    Skapa API för textanalys

  5. Klicka eller tryck på Skapa i det nedre vänstra hörnet.

  6. instrumentpanelen klickar eller trycker du på API:et som du nyss skapade.

    Azure-instrumentpanelen

  7. Klicka eller tryck på Nycklar.

    Azure-menyn

  8. Kopiera en av nycklarna till höger på skärmen. Vi använder den här nyckeln senare när vi skapa en anslutning till API:et.

    API-nycklar

Bygga appen

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. Det här är en app med en enda skärm som innehåller liknande funktioner som demonstrationen på sidan API för textanalys. Nu sätter vi igång om skapar den!

Skapa appen och lägg till en anslutningsapp

Först måste vi skapa en tom telefonapp och lägga till en anslutning med anslutningsappen Textanalys. Mer information om dessa uppgifter finns i Skapa en app från grunden och Hantera anslutningar i PowerApps.

  1. I PowerApps Studio, klickar eller trycker du på Arkiv > Ny och sedan under tom app, klickar eller trycker du på telefonlayout.

    Tom app, telefonlayout

  2. I den mellersta rutan klickar eller trycker du på anslut till data.

  3. I den högra rutan, klicka eller tryck på Ny anslutning > textanalys.

    PowerApps-datakällor

  4. Kopiera din nyckel till Kontonyckel och klicka eller tryck på Skapa.

    Anslutningsapp för textanalys

Lägga till kontroller i appen

Nästa steg i att skapa appen är att lägga till alla kontroller. 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. Följande bild visar appen med alla kontroller.

Färdig app

Följ stegen nedan för att skapa den här skärmen. Om ett kontrollnamn anges kommer detta att användas i formuläret i nästa avsnitt.

  1. På fliken Start klickar eller trycker du på Ny Skärm och sedan Rullningsbar skärm.

  2. Screen2 väljer du [Title] och ändrar den till Textanalys.

  3. Lägg till en etikettkontroll för den inledande texten.

  4. Lägg till en textkontroll över så vi kan ange text att analysera. Namnge kontrollen tiTextToAnalyze. Appen bör nu se ut som på följande bild.

    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. Namnge kontrollerna chkLanguage, chkPhrases och chkSentiment.

  6. Lägga till en knapp, så vi kan anropa API:et när du har valt vilka åtgärder att utföra. Appen bör nu se ut som på följande bild.

    Appen med kryssrutor och knapp

  7. Lägg till tre etikettkontroller. 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.

  8. Lägg till ett Tomt lodrätt galleri och därefter en etikett i galleriet. Galleriet ska innehålla resultat från API-anrop med nyckelfraser. Appen bör nu se ut som på följande bild.

    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).

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.

Lägga till logik för att göra rätt API-anrop

OK, vi har en bra söker app men den gör fortfarande inget. Vi ordnar det om en stund. Men innan vi fördjupar oss är det viktigt att förstå mönstret som appen följer:

  1. Appen gör specifika API-anrop som är baserade på vilka kryssrutor som markeras i appen. När vi klickar eller trycker på Analysera text gör appen 1, 2 eller 3 API-anrop.

  2. Data som API:et returnerar lagras i tre olika samlingar: languageCollect, sentimentCollect och 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.

Mot den bakgrunden, lägg till formeln för egenskapen OnSelect för vår knapp. Det är här som allt händer.

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:

  • Om-instruktioner är enkla – om en specifik kryssruta är markerad utförs API-anropet för den åtgärden.
  • Ange lämpliga parametrar i varje anrop:
    • I alla tre anrop anger vi tiTextToAnalyze.Text som indatatexten.
    • I DetectLanguage() hårdkodar vi numberOfLanguagesToDetect som 1, men vi kan skicka den här parametern baserat på logik i appen.
    • I KeyPhrases() och DetectSentiment() hårdkodar vi språk som ”en”, men vi kan skicka den här parametern baserat på logiken i appen. Vi kan till exempel identifiera språket först och ange den här parametern baserat på vad DetectLanguage() returnerar.
  • Lägg till resultaten för varje anrop som görs i rätt samling:
    • För languageCollect lägger vi till namnet på språket som identifierades i texten.
    • För phrasesCollect lägger vi till keyPhrases som identifierades i texten.
    • 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.

Visa resultatet av API-anrop

Om du vill visa resultatet av API-anrop, referera till rätt samling i varje kontroll:

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

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

  3. Ställ in nyckelfrasgalleriets Items-egenskap till: phrasesCollect.

    Vi arbetar nu i ett galleri så vi inte behöver funktionen First() för att extrahera ett värde. Vi refererar till samlingen och galleriet visar viktiga fraser som en lista.

Kör appen

Nu när appen är klar så kan vi köra den och se hur det fungerar. I följande bild är alla tre alternativen är markerade och texten är samma som standardtexten på sidan om API för textanalys.

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.

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. 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. Som alltid kan du lämna feedback och frågor i kommentarerna.