Použitie služieb Cognitive Services v PowerAppsUse Cognitive Services in PowerApps

V tomto článku vám ukážeme, ako zostaviť jednoduchú aplikáciu s plátnom na analýzu textu pomocou služby Microsoft Cognitive Services Text Analytics API.This article shows you how to build a basic canvas app that uses the Microsoft Cognitive Services Text Analytics API to analyze text. Ukážeme vám, ako sa API na analýzu textu nastavuje a ako sa k nemu pripojiť pomocou konektora na analýzu textu.We'll show you how to set up the Text Analytics API, and connect to it with the Text Analytics connector. Potom vám ukážeme, ako vytvoriť aplikáciu s plátnom, ktorá toto rozhranie API volá.Then we'll show you how to create a canvas app that calls the API.

Poznámka

Ak s vytváraním aplikácií v PowerApps začínate, odporúčame vám prečítať si najskôr článok Vytvorenie úplne novej aplikácie.If you are new to building apps in PowerApps, we recommend reading Create an app from scratch before diving into this article.

Úvod k službám Microsoft Cognitive ServicesIntroduction to Microsoft Cognitive Services

Služby Microsoft Cognitive Services sú množinou rozhraní API a SDK a služieb, s pomocou ktorých budú vaše aplikácie inteligentnejšie, pútavejšie a dostupnejšie.Microsoft Cognitive Services are a set of APIs, SDKs, and services available to make your applications more intelligent, engaging, and discoverable. Tieto služby umožňujú do aplikácií jednoducho pridávať inteligentné funkcie, ako napríklad rozpoznávanie emócií a videa, rozpoznávanie obrazu a reči a pochopenie reči a jazyka.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.

V tomto článku sa zameriame na pochopenie jazyka pri práci s API na analýzu textu.We'll focus on "language understanding" for this article, working with the Text Analytics API. Toto rozhranie API umožňuje zisťovať vo vašom texte pocity, kľúčové frázy, témy a jazyk.This API enables you to detect sentiment, key phrases, topics, and language from your text. Začnime tým, že si vyskúšame ukážku rozhrania API a potom sa zaregistrujeme do verzie Preview.Let's get started by trying out a demo of the API, then signing up for a preview version.

Skúška API na analýzu textuTry out the Text Analytics API

Rozhranie API má online ukážku, v ktorej uvidíte, ako to funguje. Môžete si tiež prezrieť formát JSON, ktorý služba vracia.The API has an online demo – you can see how it works, and look at the JSON that the service returns.

  1. Prejdite na stránku rozhrania API na analýzu textu.Go to the Text Analytics API page.

  2. V časti Prezrieť v akcii použite vzorový text alebo zadajte svoj vlastný.In the See it in action section, use the example text, or enter your own text. Potom kliknite alebo ťuknite na Analyzovať.Then click or tap Analyze.

    Ukážka rozhrania API na analýzu textu

  3. Stránka zobrazí formátované výsledky na karte Analyzovaný text a odozvu JSON na karte JSON. JSON je spôsob prezentácie údajov, v tomto prípade ide o údaje vrátené z rozhrania API na analýzu textu.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.

Registrácia pre rozhranie API na analýzu textuSign up for the Text Analytics API

Toto rozhranie API je k dispozícii vo forme bezplatnej verzie Preview a je priradené k predplatnému služby Azure.The API is available as a free preview, and it is associated with an Azure subscription. Rozhranie API môžete spravovať prostredníctvom webu Azure Portal.You manage the API through the Azure portal.

  1. Ak predplatné Azure ešte nemáte, Zaregistrujte si bezplatné predplatné.If you don't already have an Azure subscription, sign up for a free subscription.

  2. Prihláste sa do konta Azure.Sign in to your Azure account.

  3. Na webe Azure Portal prejdite na listu pre vytvorenie Cognitive Services.Go to the Create Cognitive Services blade in the Azure portal.

  4. Zadajte informácie pre rozhranie API na analýzu textu tak, ako je to znázornené na nasledujúcom obrázku.Enter information for the Text Analytics API, like in the following image. Vyberte cenovú úroveň F0 (zdarma).Select the F0 (free) pricing tier.

    Vytvorenie rozhrania API na analýzu textu

  5. V ľavom dolnom rohu kliknite alebo ťuknite na Vytvoriť.In the lower-left corner, click or tap Create.

  6. Na Tabuli kliknite alebo ťuknite rozhranie API, ktoré ste práve vytvorili.On the Dashboard, click or tap the API that you just created.

    Tabuľa Azure

  7. Kliknite alebo ťuknite na Kľúče.Click or tap Keys.

    Ponuka Azure

  8. Skopírujte jeden z kľúčov na pravej strane obrazovky.Copy one of the keys on the right of the screen. Tento kľúč použijete neskôr pri vytváraní pripojenia k rozhraniu API.You use this key later when you create a connection to the API.

    Kľúče rozhrania API

Vytvorenie aplikácieBuild the app

Keď máte rozhranie API na analýzu textu vytvorené a spustené, pripojíte sa k nemu z PowerApps a vytvoríte aplikáciu, ktorá bude toto rozhranie API volať.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. Toto je aplikácia s jednou obrazovkou, ktorá poskytuje podobné funkcie ako ukážka na stránke API na analýzu textu.This is a single screen app that provides functionality similar to the demo on the Text Analytics API page. Pustime sa do práce!Let's get started on building this!

Vytvorenie aplikácie a pridanie pripojeniaCreate the app and add a connection

Najprv vytvorte prázdnu aplikáciu pre telefón a pridajte pripojenie pomocou konektora Analýza textu.First, you create a blank phone app and add a connection with the Text Analytics connector. Ak potrebujete viac informácií o týchto úlohách, prečítajte si články Vytvorenie úplne novej aplikácie a Správa pripojení v PowerApps.If you need more information about these tasks, see Create an app from scratch and Manage your connections in PowerApps.

  1. Na lokalite powerapps.com vyberte možnosť Začať od začiatku > ikona aplikácie Telefón (telefón) > Vytvoriť túto aplikáciu.In powerapps.com, choose Start from blank > Phone app icon (phone) > Make this app.

    Začať od začiatku

  2. Na strednej table aplikácie PowerApps Studio zvoľte Pripojiť sa k údajom.In the middle pane of the PowerApps Studio, choose connect to data.

  3. Na paneli Údaje kliknite alebo ťuknite na Nové pripojenie > Analýza textu.On the Data panel, click or tap New connection > Text Analytics.

  4. Skopírujte svoj kľúč do poľa Kľúč konta, potom kliknite alebo ťuknite na Vytvoriť.Copy your key into Account Key, then click or tap Create.

    Konektor Analýza textu

Pridanie ovládacích prvkov do aplikácieAdd controls to the app

Ďalším krokom pri vytváraní aplikácie je pridanie všetkých ovládacích prvkov.The next step in creating the app is to add all the controls. Pri bežnom vytváraní aplikácií pridávam vzorce do ovládacích prvkov priebežne, avšak v tomto prípade sa najskôr zameriame na ovládacie prvky a až v nasledujúcej časti pridáme niekoľko vzorcov.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. Nasledujúci obrázok zobrazuje aplikáciu so všetkými ovládacími prvkami.The following image shows the app with all the controls.

Vytvorená aplikácia

Na vytvorenie tejto obrazovky použite nasledujúci postup.Follow the steps below to create this screen. Ak je ovládací prvok určený názvom, tento názov sa použije vo vzorci v nasledujúcej časti.If a control name is specified, that name is used in a formula in the next section.

  1. Na karte Domov kliknite alebo ťuknite na Nová obrazovka a potom na Posúvateľná obrazovka.On the Home tab, click or tap New Screen, then Scrollable screen.

  2. Na obrazovke Screen2 vyberte [Názov] a zmeňte ho na Text analysis.On Screen2, select [Title] and change it to Text Analysis.

  3. Pridajte ovládací prvok Označenie pre úvodný text.Add a Label control for the introductory text.

  4. Pridajte ovládací prvok Vstup textu, aby ste mohli zadať text, ktorý sa má analyzovať.Add a Text input control, so you can enter text to analyze. Ovládací prvok pomenujte tiTextToAnalyze.Name the control tiTextToAnalyze. Aplikácia by mal vyzerať ako na nasledujúcom obrázku.The app should now look like the following image.

    Aplikácia s nadpisom, podnadpisom a textovým vstupom

  5. Pridajte tri ovládacie prvky Začiarkavacie políčko, aby ste mohli vybrať, ktoré operácie rozhrania API sa majú vykonať.Add three Check box controls, so you can choose which API operations to perform. Ovládacie prvky pomenujte chkLanguage, chkPhrases a chkSentiment.Name the controls chkLanguage, chkPhrases, and chkSentiment.

  6. Pridajte tlačidlo, aby ste po výbere operácie, ktorá sa má vykonať, mohli volať rozhranie API.Add a button, so you can call the API after selecting which operations to perform. Aplikácia by mal vyzerať ako na nasledujúcom obrázku.The app should now look like the following image.

    Aplikácia so začiarkavacími políčkami a tlačidlom

  7. Pridajte tri ovládacie prvky Označenie.Add three Label controls. Prvé dva budú obsahovať výsledky volania rozhrania API pre jazyk a pocity, tretí je iba na predstavenie v galérii v dolnej časti obrazovky.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. Pridajte ovládací prvok Prázdna zvislá galéria a potom do galérie pridajte ovládací prvok Označenie.Add a Blank vertical gallery control, then add a Label control to the gallery. Galéria bude obsahovať výsledky volania rozhrania API pre kľúčové frázy.The gallery holds results from the key phrases API call. Aplikácia by mal vyzerať ako na nasledujúcom obrázku.The app should now look like the following image.

    Aplikácia s označeniami a galériou

  9. V ľavej table vyberte Screen1 > tri bodky (... ) > Odstrániť (túto obrazovku v aplikácii nepotrebujete).In the left pane, select Screen1 > ellipsis (. . .) > Delete (you don't need this screen for the app).

Túto aplikáciu zachovávame jednoduchú, aby sme sa mohli sústrediť na volanie API na analýzu textu, môžete však do nej pridávať rôzne veci, napríklad logiku na zobrazenie alebo skrytie ovládacích prvkov na základe vybraných začiarkavacích políčok, spracovanie chyby v prípade, kedy používateľ nevyberie žiadnu možnosť a pod.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.

Pridanie logiky na volanie správneho rozhrania APIAdd logic to make the right API calls

V poriadku, máte dobre vyzerajúcu aplikáciu, ktorá však zatiaľ ešte nič nevie.OK, you have a nice-looking app, but it doesn't do anything yet. O chvíľu to napravíte.You'll fix that in a moment. Ale skôr ako sa pustíme do podrobností, skúsme pochopiť základné princípy, ktorými sa aplikácia riadi:But before we dive into the details, let's understand the pattern that the app follows:

  1. Aplikácia volá konkrétne rozhranie API na základe začiarknutých políčok v aplikácii.The app makes specific API calls based on the check boxes selected in the app. Keď kliknete alebo ťuknete na Analyzovať text, aplikácia vykoná jedno, dve alebo tri volania rozhrania API.When you click or tap Analyze text, the app makes 1, 2, or 3 API calls.

  2. Aplikácia ukladá údaje, ktoré rozhranie API vráti, do troch rôznych kolekcií: languageCollect, sentimentCollect, a phrasesCollect.The app stores data that the API returns in three different collections: languageCollect, sentimentCollect, and phrasesCollect.

  3. Na základe obsahu týchto troch kolekcií aplikácia aktualizuje vlastnosť Text pre dve označenia a vlastnosť Items pre galériu.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.

Poďme teda teraz pridať vzorec pre vlastnosť OnSelect tlačidla.With that background, let's add the formula for the OnSelect property of the button. Teraz sa začnú diať všetky tie kúzla.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)

)

Deje sa tu však toho trochu viac, takže si to poďme rozobrať:There's a bit going on here, so let's break it down:

  • Príkazy If sú jednoduché – ak je konkrétne políčko začiarknuté, vykoná volanie rozhrania API pre danú operáciu.The If statements are straightforward – if a specific check box is selected, make the API call for that operation.

  • V rámci každého volania je potrebné určiť príslušné parametre:Within each call, specify the appropriate parameters:

    • V prípade všetkých troch volaní určíte ako vstupný text tiTextToAnalyze.Text.In all three calls, you specify tiTextToAnalyze.Text as the input text.

    • V operácii DetectLanguage() sa numberOfLanguagesToDetect pevne zakóduje ako 1, avšak tento parameter by ste mohli predať na základe nejakej logiky v aplikácii.In DetectLanguage(), numberOfLanguagesToDetect is hard-coded as 1, but you could pass this parameter based on some logic in the app.

    • V operáciách KeyPhrases() a DetectSentiment() sa jazyk pevne zakóduje ako "en", avšak tento parameter by ste mohli predať na základe nejakej logiky v aplikácii.In KeyPhrases() and DetectSentiment(),language is hard-coded as "en", but you could pass this parameter based on some logic in the app. Mohli by ste napríklad najprv zistiť jazyk a potom nastaviť tento parameter na základe toho, čo vráti operácia DetectLanguage().For example, you could detect the language first, then set this parameter based on what DetectLanguage() returns.

  • V prípade každého vykonaného volania sa výsledky pridávajú do príslušnej kolekcie:For each call that is made, add the results to the appropriate collection:

    • Pre kolekciu languageCollect pridajte name jazyka, ktorý bol identifikovaný v texte.For languageCollect, add the name of the language that was identified in the text.

    • Pre kolekciu phrasesCollect pridajte keyPhrases, ktoré boli identifikované v texte.For phrasesCollect, add the keyPhrases that were identified in the text.

    • Pre kolekciu sentimentCollect pridajte pocitové skóre pre text. Má hodnotu 0-1, pričom 1 je 100% pozitívny.For sentimentCollect, add the sentiment score for the text, which is a value of 0-1, with 1 being 100% positive.

Zobrazenie výsledkov volania rozhrania APIDisplay the results of the API calls

Ak chcete zobraziť výsledky volania rozhrania API, odkazujte na príslušnú kolekciu v každom ovládacom prvku:To display the results of the API calls, reference the appropriate collection in each control:

  1. Vlastnosť Text označenia jazyka nastavte na: "The language detected is " & First(languageCollect).name.Set the Text property of the language label to: "The language detected is " & First(languageCollect).name.

    Funkcia First() vráti prvý (a v tomto prípade jediný záznam) v kolekcii languageCollect a aplikácia zobrazí name (jediné pole) priradené k tomuto záznamu.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. Vlastnosť Text označenia pocitu nastavte na: "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.".

    Tento vzorec tiež používa funkciu First(),získa Value (0-1) z prvého a jediného záznamu a potom ju naformátuje ako percento.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. Nastavte vlastnosť Items galérie kľúčových fráz na: phrasesCollect.Set the Items property of the key phrases gallery to: phrasesCollect.

    Teraz pracujete s galériou, preto nepotrebujete funkciu First() na extrakciu jednej hodnoty.You're now working with a gallery so you don't need the First() function to extract a single value. Odkazujete na kolekciu a galéria zobrazuje kľúčové frázy vo forme zoznamu.You reference the collection, and the gallery displays the key phrases as a list.

Spustenie aplikácieRun the app

Teraz, keď je aplikácia dokončená, ju spustite a pozrite sa, ako funguje. Kliknite alebo ťuknite na tlačidlo spustenia aplikácieNow that the app is finished, run it to see how it works: click or tap the run button in the upper right corner Spustenie aplikáciev pravom hornom rohu.. Na nasledujúcom obrázku sú zvolené všetky tri možnosti a text je rovnaký ako predvolený text na stránke rozhrania API na analýzu textu.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.

Hotová aplikácia s údajmi

Ak porovnáte výstup tejto aplikácie so stránkou rozhrania API na analýzu textu, ktorá je uvedená na začiatku tohto článku, zistíte, že výsledky sú rovnaké.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.

Veríme, že teraz už o trochu lepšie rozumiete rozhraniu API na analýzu textu a že sa vám páčilo, ako sme ho do aplikácie začlenili.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. Dajte nám vedieť, či vás zaujímajú aj iné služby Cognitive Services, na ktoré by sme sa mohli v našich článkoch zamerať (alebo iné služby všeobecne).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. Tak ako vždy nám, prosím, svoje pripomienky a otázky napíšte do komentárov.As always, please leave feedback and any questions in the comments.