Verwenden von Cognitive Services in PowerAppsUse Cognitive Services in PowerApps

In diesem Artikel wird erläutert, wie Sie eine einfache App erstellen, die die Textanalyse-API von Microsoft Cognitive Services verwendet, um Text zu analysieren.This article shows you how to build a basic app that uses the Microsoft Cognitive Services Text Analytics API to analyze text. Es wird veranschaulicht, wie die Textanalyse-API eingerichtet und mit dem Textanalyse-Connector verbunden wird.We'll show you how to set up the Text Analytics API, and connect to it with the Text Analytics connector. Anschließend wird beschrieben, wie eine App erstellt wird, die die API aufruft.Then we'll show you how to create an app that calls the API.

Hinweis

Wenn Sie mit dem Erstellen von Apps in PowerApps nicht vertraut sind, empfehlen wir Ihnen, App von Grund auf neu erstellen durchzulesen, bevor Sie in diesen Artikel einsteigen.If you are new to building apps in PowerApps, we recommend reading Create an app from scratch before diving into this article.

Einführung in Microsoft Cognitive ServicesIntroduction to Microsoft Cognitive Services

Microsoft Cognitive Services umfasst eine Reihe von verfügbaren APIs, SDKs und Diensten, mit denen Sie Ihre Anwendungen intelligenter, ansprechender und besser strukturiert gestalten können.Microsoft Cognitive Services are a set of APIs, SDKs, and services available to make your applications more intelligent, engaging, and discoverable. Mit diesen Diensten können Sie in Ihren Anwendungen auf einfache Weise intelligente Funktionen hinzufügen – z.B. Stimmungs- und Videoerkennung; Gesichtserkennung, Erkennung von Sprach- und Sehvermögen sowie Verständnis von Spracheingaben und Sprachen.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.

Wir legen in diesem Artikel bei der Arbeit mit der Textanalyse-API den Schwerpunkt auf das „Sprachverständnis“.We'll focus on "language understanding" for this article, working with the Text Analytics API. Anhand dieser API können Sie Stimmung, Schlüsselbegriffe, Themen und Sprache in Ihren Texten erkennen.This API enables you to detect sentiment, key phrases, topics, and language from your text. Schauen wir uns zunächst eine Demo der API an; dabei müssen wir uns für eine Vorschauversion registrieren.Let's get started by trying out a demo of the API, then signing up for a preview version.

Erkunden der Textanalyse-APITry out the Text Analytics API

Für die API ist eine Online-Demo verfügbar: Sie können sich mit ihrer Funktionsweise vertraut machen und den JSON einsehen, der vom Dienst zurückgegeben wird.The API has an online demo – you can see how it works, and look at the JSON that the service returns.

  1. Rufen Sie die Seite Textanalyse-API auf.Go to the Text Analytics API page.

  2. Verwenden Sie im Abschnitt Demo anzeigen den Beispieltext, oder geben Sie einen eigenen Text ein.In the See it in action section, use the example text, or enter your own text. Klicken oder tippen Sie dann auf Analysieren.Then click or tap Analyze.

    Demo zur Textanalyse-API

  3. Auf der Seite werden auf der Registerkarte Analyzed text (Analysierter Text) formatierte Ergebnisse und auf der Registerkarte JSON die JSON-Antwort angezeigt. JSON ist eine Möglichkeit der Darstellung von Daten – in diesem Fall der von der Textanalyse-API zurückgegebenen Daten.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.

Registrieren für die Textanalyse-APISign up for the Text Analytics API

Die API ist als kostenlose Vorschauversion erhältlich und mit einem Azure-Abonnement verbunden.The API is available as a free preview, and it is associated with an Azure subscription. Sie verwalten die API über das Azure-Portal.You manage the API through the Azure portal.

  1. Wenn Sie über kein Azure-Abonnement verfügen, registrieren Sie sich für ein kostenloses Abonnement.If you don't already have an Azure subscription, sign up for a free subscription.

  2. Melden Sie sich bei Ihrem Azure-Konto an.Sign in to your Azure account.

  3. Wechseln Sie zum Blatt zum Erstellen von Cognitive Services im Azure-Portal.Go to the Create Cognitive Services blade in the Azure portal.

  4. Geben Sie Informationen für die Textanalyse-API ein. Siehe dazu die folgende Abbildung.Enter information for the Text Analytics API, like in the following image. Wählen Sie den Tarif F0 (kostenlos).Select the F0 (free) pricing tier.

    Erstellen der Textanalyse-API

  5. Klicken oder tippen Sie unten links auf Erstellen.In the lower-left corner, click or tap Create.

  6. Klicken oder tippen Sie im Dashboard auf die soeben erstellte API.On the Dashboard, click or tap the API that you just created.

    Azure-Dashboard

  7. Klicken oder tippen Sie auf Schlüssel.Click or tap Keys.

    Azure-Menü

  8. Kopieren Sie einen der Schlüssel auf der rechten Bildschirmseite.Copy one of the keys on the right of the screen. Dieser Schlüssel wird später beim Erstellen der Verbindung mit der API verwendet.You use this key later when you create a connection to the API.

    API-Schlüssel

Erstellen der AppBuild the app

Nun ist die Textanalyse-API einsatzbereit, und Sie können eine Verbindung mit der API aus PowerApps herstellen sowie eine App erstellen, die die API aufruft.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. Dies ist eine App mit einem einzigen Bildschirm, die ähnliche Funktionen wie die Demo auf der Seite „Textanalyse-API“ bietet.This is a single screen app that provides functionality similar to the demo on the Text Analytics API page. Legen Sie los!Let's get started on building this!

Erstellen der App und Hinzufügen einer VerbindungCreate the app and add a connection

Zunächst erstellen Sie eine leere Smartphone-App und fügen eine Verbindung mit dem Textanalyse-Connector hinzu.First, you create a blank phone app and add a connection with the Text Analytics connector. Wenn Sie zu diesen Aufgaben weitere Informationen benötigen, lesen Sie die Artikel App von Grund auf neu erstellen und Verwalten der Verbindungen in PowerApps.If you need more information about these tasks, see Create an app from scratch and Manage your connections in PowerApps.

  1. Wählen Sie auf web.powerapps.com die Option Mit leerer App starten > Symbol für Telefon-App (Telefon) > Diese App erstellen aus.In web.powerapps.com, choose Start from blank > Phone app icon (phone) > Make this app.

    Mit leerer App starten

  2. Wählen Sie im mittleren Bereich von PowerApps Studio Mit Daten verbinden aus.In the middle pane of the PowerApps Studio, choose connect to data.

  3. Klicken oder tippen Sie im Bereich Daten auf Neue Verbindung > Textanalyse.On the Data panel, click or tap New connection > Text Analytics.

  4. Kopieren Sie Ihren Schlüssel in Kontoschlüssel, und klicken oder tippen Sie auf Erstellen.Copy your key into Account Key, then click or tap Create.

    Textanalyse-Connector

Hinzufügen von Steuerelementen zur AppAdd controls to the app

Der nächste Schritt beim Erstellen der App besteht im Hinzufügen aller Steuerelemente.The next step in creating the app is to add all the controls. Normalerweise fügen beim Erstellen der Apps den Steuerelementen direkt Formeln hinzu. Hier konzentrieren wir uns jedoch zunächst auf das Erstellen der Apps, und wir fügen erst im nächsten Abschnitt einige Formeln hinzu.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 der folgenden Abbildung wird die App mit allen Steuerelementen veranschaulicht.The following image shows the app with all the controls.

Fertig gestellte App

Befolgen Sie die Schritte unten, um diesen Bildschirm zu erstellen.Follow the steps below to create this screen. Ist ein Steuerelementname angegeben, wird dieser Name in einer Formel im nächsten Abschnitt verwendet.If a control name is specified, that name is used in a formula in the next section.

  1. Klicken oder tippen Sie auf der Registerkarte Start auf Neuer Bildschirm und anschließend auf Scrollbarer Bildschirm.On the Home tab, click or tap New Screen, then Scrollable screen.

  2. Wählen Sie auf Screen2 [Title] aus, und ändern Sie ihn in Text Analysis.On Screen2, select [Title] and change it to Text Analysis.

  3. Fügen Sie ein Bezeichnungs-Steuerelement für den Einführungstext hinzu.Add a Label control for the introductory text.

  4. Fügen Sie ein Texteingabe-Steuerelement hinzu, sodass Sie Text zum Analysieren eingeben können.Add a Text input control, so you can enter text to analyze. Benennen Sie das Steuerelement tiTextToAnalyze.Name the control tiTextToAnalyze. Die App sollte nun wie in der folgenden Abbildung aussehen.The app should now look like the following image.

    App mit Titel, Untertitel und Texteingabe

  5. Fügen Sie drei Kontrollkästchen-Steuerelemente hinzu, sodass Sie auswählen können, welche API-Vorgänge ausgeführt werden sollen.Add three Check box controls, so you can choose which API operations to perform. Benennen Sie die Steuerelemente chkLanguage, chkPhrases und chkSentiment.Name the controls chkLanguage, chkPhrases, and chkSentiment.

  6. Fügen Sie eine Schaltfläche hinzu, sodass Sie die API nach dem Auswählen der auszuführenden Vorgänge aufrufen können.Add a button, so you can call the API after selecting which operations to perform. Die App sollte nun wie in der folgenden Abbildung aussehen.The app should now look like the following image.

    App mit Kontrollkästchen und Schaltfläche

  7. Fügen Sie drei Bezeichnungs-Steuerelemente hinzu.Add three Label controls. Die ersten beiden enthalten die Ergebnisse aus den API-Aufrufen für Stimmungs- und Spracherkennung; das dritte hingegen ist lediglich eine Einführung für den Katalog am unteren Rand des Bildschirms.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. Fügen Sie ein Steuerelement vom Typ Blank vertical gallery (Leerer vertikaler Katalog) hinzu, und fügen Sie dem Katalog ein Bezeichnungs-Steuerelement hinzu.Add a Blank vertical gallery control, then add a Label control to the gallery. Der Katalog enthält Ergebnisse aus dem API-Aufruf für Schlüsselbegriffe.The gallery holds results from the key phrases API call. Die App sollte nun wie in der folgenden Abbildung aussehen.The app should now look like the following image.

    App mit Bezeichnungen und Katalog

  9. Wählen Sie im linken Bereich Screen1 > Auslassungspunkte (. . .) > Löschen aus (dieser Bildschirm wird für die App nicht benötigt).In the left pane, select Screen1 > ellipsis (. . .) > Delete (you don't need this screen for the app).

Diese App ist bewusst einfach gehalten, um sich auf das Aufrufen der Textanalyse-API zu konzentrieren. Natürlich könnten Sie einige Elemente hinzufügen, wie z.B. Logik zum Ein- und Ausblenden von Steuerelementen je nach den aktivierten Kontrollkästchen, Fehlerbehandlung, wenn der Benutzer keine Optionen auswählt usw.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.

Hinzufügen von Logik zum Ausführen der richtigen API-AufrufeAdd logic to make the right API calls

Nun verfügen Sie über eine App, die ganz ordentlich aussieht, damit können aber noch keine Vorgänge ausgeführt werden.OK, you have a nice-looking app, but it doesn't do anything yet. Dies ändern Sie jedoch gleich.You'll fix that in a moment. Bevor wir uns mit den Details beschäftigen, betrachten Sie das Muster, dem die App folgt:But before we dive into the details, let's understand the pattern that the app follows:

  1. Die App führt bestimmte API-Aufrufe aus, je nach den Kontrollkästchen, die in der App aktiviert sind.The app makes specific API calls based on the check boxes selected in the app. Wenn Sie auf Analyze text (Text analysieren) klicken oder tippen, führt die App einen, zwei oder drei API-Aufrufe aus.When you click or tap Analyze text, the app makes 1, 2, or 3 API calls.

  2. Die App speichert von der API zurückgegebene Daten in drei unterschiedlichen Sammlungen: languageCollect, sentimentCollect und phrasesCollect.The app stores data that the API returns in three different collections: languageCollect, sentimentCollect, and phrasesCollect.

  3. Die App aktualisiert die Text-Eigenschaft für zwei der Bezeichnungen und die Items-Eigenschaft für den Katalog entsprechend dem Inhalt der drei Sammlungen.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.

Vor diesem Hintergrund fügen wir nun die Formel für die OnSelect-Eigenschaft der Schaltfläche hinzu.With that background, let's add the formula for the OnSelect property of the button. Hier liegt nun die ganze Zauberei.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)

)

Hier geht einiges vor sich, gehen wir also etwas näher darauf ein:There's a bit going on here, so let's break it down:

  • Die If-Anweisungen sind einfach – wird ein bestimmtes Kontrollkästchen aktiviert, wird der API-Aufruf für den betreffenden Vorgang ausgeführt.The If statements are straightforward – if a specific check box is selected, make the API call for that operation.

  • Geben Sie in jedem Aufruf die entsprechenden Parameter an:Within each call, specify the appropriate parameters:

    • In allen drei Aufrufen geben Sie tiTextToAnalyze.Text als Eingabetext an.In all three calls, you specify tiTextToAnalyze.Text as the input text.

    • In DetectLanguage() ist numberOfLanguagesToDetect als 1 hartcodiert, Sie könnten diesen Parameter aber auch entsprechend einer bestimmten Logik in der App übergeben.In DetectLanguage(), numberOfLanguagesToDetect is hard-coded as 1, but you could pass this parameter based on some logic in the app.

    • In KeyPhrases() und DetectSentiment() ist language als „en“ hartcodiert. Auch dieser Parameter könnte entsprechend einer bestimmten Logik in der App übergeben werden.In KeyPhrases() and DetectSentiment(),language is hard-coded as "en", but you could pass this parameter based on some logic in the app. Sie könnten beispielsweise zuerst die Sprache erkennen und anschließend diesen Parameter entsprechend dem von DetectLanguage() zurückgegebenen Wert festlegen.For example, you could detect the language first, then set this parameter based on what DetectLanguage() returns.

  • Für jeden getätigten Aufruf fügen wir die Ergebnisse der entsprechenden Sammlung hinzu:For each call that is made, add the results to the appropriate collection:

    • Fügen Sie für languageCollect den name der Sprache hinzu, der im Text erkannt wurde.For languageCollect, add the name of the language that was identified in the text.

    • Fügen Sie für phrasesCollect die keyPhrases hinzu, die im Text erkannt wurden.For phrasesCollect, add the keyPhrases that were identified in the text.

    • Fügen Sie für sentimentCollect den Stimmungs-score für den Text hinzu; dies ist ein Wert von 0-1, wobei 1 einer zu 100 % positiven Stimmung entspricht.For sentimentCollect, add the sentiment score for the text, which is a value of 0-1, with 1 being 100% positive.

Anzeigen der Ergebnisse der API-AufrufeDisplay the results of the API calls

Zum Anzeigen der Ergebnisse der API-Aufrufe verweisen Sie auf die entsprechende Sammlung in jedem Steuerelement:To display the results of the API calls, reference the appropriate collection in each control:

  1. Legen Sie die Text-Eigenschaft der Sprachbezeichnung auf folgenden Wert fest: "The language detected is " & First(languageCollect).name.Set the Text property of the language label to: "The language detected is " & First(languageCollect).name.

    Die First()-Funktion gibt den ersten (und in diesem Fall einzigen) Eintrag in languageCollect zurück, und die App zeigt name (das einzige Feld) für den Eintrag an.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. Legen Sie die Text-Eigenschaft der Stimmungsbezeichnung auf folgenden Wert fest: "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.".

    Diese Formel verwendet ebenfalls die First()-Funktion, ruft den Value (0-1) aus dem ersten und einzigen Eintrag ab und formatiert ihn anschließend als Prozentsatz.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. Legen Sie die Items-Eigenschaft des Katalogs mit Schlüsselbegriffen auf folgenden Wert fest: phrasesCollect.Set the Items property of the key phrases gallery to: phrasesCollect.

    Sie arbeiten nun mit einem Katalog, daher benötigen Sie nicht die First()-Funktion zum Abrufen eines Einzelwerts.You're now working with a gallery so you don't need the First() function to extract a single value. Sie verweisen auf die Sammlung, und im Katalog werden die Schlüsselbegriffe als Liste angezeigt.You reference the collection, and the gallery displays the key phrases as a list.

Ausführen der AppRun the app

Nachdem die App jetzt fertig ist, können Sie sie ausführen und sehen, wie sie funktioniert: Klicken oder tippen Sie auf die Schaltfläche zum Ausführen in der rechten oberen EckeNow that the app is finished, run it to see how it works: click or tap the run button in the upper right corner Ausführen der App.. In der folgenden Abbildung sind alle drei Optionen ausgewählt, und der Text entspricht dem Standardtext auf der Seite „Textanalyse-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.

Fertig gestellte App mit Daten

Wenn Sie die Ausgabe dieser App mit der Seite „Textanalyse-API“ zu Beginn dieses Artikels vergleichen, stellen Sie fest, dass die Ergebnisse identisch sind.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.

Wir hoffen, dass Sie nun die Textanalyse-API ein bisschen besser verstehen, und dass Sie etwas Spaß daran hatten, sie in Ihre App einzubinden.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. Teilen Sie uns mit, ob es weitere Cognitive Services (oder generell andere Dienste) gibt, die wir in unseren Artikeln eingehender behandeln sollen.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. Wie immer bitten wir Sie darum, eventuelles Feedback und Fragen in den Kommentaren zu hinterlassen.As always, please leave feedback and any questions in the comments.