Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Microsoft Power BI Desktop är ett kostnadsfritt program som låter dig ansluta till, transformera och visualisera dina data. Extrahering av nyckelfraser, en av funktionerna i Azure AI Language, ger bearbetning av naturligt språk. Den kan ta rå ostrukturerad text och utvinna de viktigaste fraserna, analysera avsikter och identifiera välkända koncept, till exempel varumärken. Tillsammans kan dessa verktyg hjälpa dig att snabbt se vad kunderna talar om och vad de anser om det.
I den här tutorialen lär du dig följande:
- Använda Power BI Desktop för att importera och transformera data
- Skapa en anpassad funktion i Power BI Desktop
- Integrera Power BI Desktop med funktionen extrahering av nyckelfraser i Azure AI Language
- Använd extrahering av nyckelfraser för att få de viktigaste fraserna från kundfeedback
- Skapa ett ordmoln från kundåterkoppling
Förutsättningar
- Microsoft Power BI Desktop. Hämta utan kostnad.
- Ett Microsoft Azure-konto. Skapa ett kostnadsfritt konto eller logga in.
- En språkresurs. Om du inte har en kan du skapa en.
- Den språkresursnyckel som genererades åt dig när du skapade resursen.
- Kundkommentarer. Du kan använda våra exempeldata eller dina egna data. Den här handledningen utgår från att du använder vår exempeldatadata.
Hämta kundinformation
Kom igång genom att öppna Power BI Desktop och läsa in filen med kommaavgränsat värde (CSV) som du laddade ned som en del av förutsättningarna. Den här filen representerar en dags hypotetisk aktivitet i ett supportforum hos ett fiktivt småföretag.
Kommentar
Power BI kan använda data från en mängd olika webbaserade källor, till exempel SQL-databaser. Mer information finns iPower Query-dokumentationen.
I huvudfönstret i Power BI Desktop väljer du menyfliksområdet Start. I gruppen Externa data på menyfliken öppnar du listrutan Hämta data och väljer Text/CSV.
Dialogrutan Öppna visas. Gå till mappen Nedladdningar eller till mappen där du laddade ned CSV-filen. Välj namnet på filen och sedan knappen Öppna . Dialogrutan för CSV-import visas.
I dialogrutan CSV-import kan du kontrollera att Power BI Desktop korrekt identifierade teckenuppsättningen, avgränsare, rubrikrader och kolumntyper. Den här informationen är korrekt, så välj Läs in.
Om du vill se inlästa data väljer du knappen Datavy till vänster på Power BI-arbetsytan. En tabell med våra data öppnas, t.ex. i Microsoft Excel.
Förbered datan
Du kan behöva transformera dina data i Power BI Desktop innan bearbetning av extrahering av nyckelfraser.
Våra exempeldata inkluderar en subject-kolumn och en comment-kolumn. Med funktionen slå ihop kolumner i Power BI Desktop kan du extrahera nyckelfraser från data i båda dessa kolumner, i stället för endast kolumnen comment.
I Power BI Desktop väljer du menyfliksområdet Start. I gruppen Externa data väljer du Redigera frågor.
Välj FabrikamComments i frågelistan på vänster sida av fönstret om det inte redan är valt.
Välj nu båda kolumnerna, subject och comment, i tabellen. Du kan behöva rulla vågrätt för att se dessa kolumner. Välj först kolumnrubriken subject och håll sedan ned kontrollnyckeln och välj kolumnrubriken comment .
Välj menyfliksområdet Transformera. I gruppen Textkolumner i menyfliksområdet väljer du Slå samman kolumner. Dialogrutan Slå ihop kolumner visas.
I dialogrutan Sammanfoga kolumner väljer du Tab som avgränsare och väljer sedan OK.
Du kan också överväga att filtrera bort tomma meddelanden med filtret Ta bort tomma, eller ta bort icke utskrivbara tecken med rensa-funktionen. Om det i dina data finns en kolumn som kolumnen spamscore i vår exempelfil kan du hoppa över skräpkommentarer med hjälp av ett nummerfilter.
Förstå API:et
Extrahering av nyckelfraser kan bearbeta upp till tusen textdokument per HTTP-begäran. Power BI föredrar att hantera poster en i taget, så i den här självstudien innehåller dina anrop till API:et bara ett enda dokument vardera. Nyckelfras-API:et kräver följande fält för varje dokument som bearbetas.
| Fält | beskrivning |
|---|---|
id |
En unik identifierare för det här dokumentet inom begäran. Svaret innehåller även det här fältet. På så sätt kan du enkelt koppla de extraherade nyckelfraserna med det dokument de kom från, om du bearbetar flera dokument. I denna självstudie, eftersom du endast bearbetar ett dokument per förfrågan, kan du hårdkoda värdet för id så att det är detsamma för varje förfrågan. |
text |
Texten som ska bearbetas. Värdet för det här fältet kommer från kolumnen Merged som du skapade i föregående avsnitt och som innehåller den kombinerade ämnesrad- och kommentarstexten. Enligt nyckelfras-API:et får dessa data inte vara längre än cirka 5 120 tecken. |
language |
Koden för det naturliga språket som dokumentet är skrivet i. Alla meddelanden i exempelfilen är skrivna på engelska så du kan hårdkoda värdet en för detta fält. |
Skapa anpassad funktion
Nu är du redo att skapa den anpassade funktion som integrerar Power BI och extrahering av nyckelfraser. Funktionen tar emot texten som ska behandlas som parameter. Den konverterar data till och från det nödvändiga JSON-formatet och gör en HTTP-begäran till nyckelfras-API:n. När vi har tolkat svaret returnerar funktionen en sträng från API:et som innehåller en kommaavgränsad lista över extraherade nyckelfraser.
Kommentar
De anpassade funktionerna i Power BI Desktop är skrivna med Power Query M-formelspråket, även kallat M. M är ett funktionellt programmeringsspråk som baseras på F#. Du behöver dock inte vara programmerare för att slutföra den här självstudien; den nödvändiga koden ingår.
Kontrollera att du fortfarande befinner dig i frågeredigerarfönstret i Power BI Desktop. Om du inte är det väljer du menyfliksområdet Start och i gruppen Externa data väljer du Redigera frågor.
Nu, i Startfliksområdet i gruppen Ny fråga öppnar du listrutan Ny källa och väljer Tom fråga.
En ny fråga, inledningsvis med namnet Query1 visas i listan med frågor. Dubbelklicka på den här posten och ge den namnet KeyPhrases.
I menyfliksområdet Start i gruppen Fråga väljer du nu Avancerad redigerare för att öppna fönstret Avancerad redigerare. Ta bort den kod som redan finns i fönstret och klistra in följande kod.
Kommentar
Ersätt följande exempelslutpunkt (som innehåller <your-custom-subdomain>) med slutpunkten som genererats för språkresursen. Du hittar den här slutpunkten genom att logga in på Azure Portal, navigera till resursen och välja Nyckel och slutpunkt.
// Returns key phrases from the text in a comma-separated list
(text) => let
apikey = "YOUR_API_KEY_HERE",
endpoint = "https://<your-custom-subdomain>.cognitiveservices.azure.com/text/analytics" & "/v3.0/keyPhrases",
jsontext = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(text), 5000))),
jsonbody = "{ documents: [ { language: ""en"", id: ""0"", text: " & jsontext & " } ] }",
bytesbody = Text.ToBinary(jsonbody),
headers = [#"Ocp-Apim-Subscription-Key" = apikey],
bytesresp = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
jsonresp = Json.Document(bytesresp),
keyphrases = Text.Lower(Text.Combine(jsonresp[documents]{0}[keyPhrases], ", "))
in keyphrases
Ersätt YOUR_API_KEY_HERE med din språkresursnyckel. Du kan också hitta den här nyckeln genom att logga in på Azure Portal, navigera till språkresursen och välja sidan Nyckel och slutpunkt. Se till att lämna citattecknen före och efter nyckeln. Välj sedan Klar.
Använda anpassad funktion
Du kan nu hämta nyckelfraser i var och en av våra kundkommentarer med den anpassade funktionen. Vi lagrar dem i en ny kolumn i tabellen.
Växla tillbaka till frågan FabrikamComments i frågeredigerarfönstret i Power BI Desktop. Välj menyfliksområdet Lägg till kolumn. I gruppen Allmänt väljer du Anropa anpassad funktion.
Dialogrutan Anropa anpassad funktion visas. Ange i keyphrases. I Funktionsfråga väljer du den anpassad funktionen som du skapade, KeyPhrases.
Ett nytt fält visas i dialogrutan text (valfritt). Det här fältet frågar vilken kolumn som ska användas för att ange värden för text -parametern i nyckelfras-API:et. (Kom ihåg att du redan hårdkodade värdena för parametrarna language och id .) Välj Merged (den kolumn som du skapade tidigare genom att sammanfoga ämnes- och meddelandefälten) i den nedrullningsbara menyn.
Välj slutligen OK.
Om allt är klart anropar Power BI din anpassade funktion en gång för varje rad i tabellen. Den skickar frågor till nyckelfras-API:et och lägger till en ny kolumn i tabellen där resultaten lagras. Men innan det händer kan du behöva ange autentiserings- och sekretessinställningar.
Autentisering och sekretess
När du stänger dialogrutan Anropa anpassad funktion visas en banderoll där du uppmanas att ange hur du vill ansluta till nyckelfras-API:et.
Välj Redigera autentiseringsuppgifter, kontrollera att Anonymous är markerat i dialogrutan och välj sedan Anslut.
Kommentar
Du väljer Anonymous eftersom extrahering av nyckelfraser autentiserar begäranden med hjälp av din åtkomstnyckel, så Power BI behöver inte ange autentiseringsuppgifter för själva HTTP-begäran.
Om du ser banderollen Redigera autentiseringsuppgifter även efter att du har valt anonym åtkomst kontrollerar du om du klistrade in språkresursnyckeln i koden i den KeyPhrasesanpassade funktionen.
Nu kan ett meddelande visas där du uppmanas att ange information om datakällornas sekretess.
Välj Fortsätt och välj Public för var och en av datakällorna i dialogrutan. Välj sedan Spara.
Skapa ordmoln
När du har adress med eventuella banderoller som visas väljer du Stäng och använd i menyfliksområdet Start för att stänga frågeredigeraren.
Det tar en stund innan Power BI Desktop har slutfört nödvändiga HTTP-begäranden. För varje rad i tabellen innehåller den nya keyphrases-kolumnen nyckelfraser som identifieras i texten av nyckelfras-API:et.
Nu använder du den här kolumnen för att generera ett ordmoln. Kom igång genom att välja knappen Rapport i power BI Desktop-huvudfönstret till vänster om arbetsytan.
Kommentar
Varför generera ett ordmoln med extraherade nyckelfraser i stället för hela texten i varje kommentar? Nyckelfraser förser oss med de viktiga orden från kundkommentarerna, inte bara de vanligaste orden. Ordstorleken i det resulterande molnet korrelerar inte heller med den frekventa användningen av ett ord i ett relativt litet antal kommentarer.
Installera den anpassade visualiseringen för ordmoln om du inte redan har den. I panelen Visualiseringar till höger om arbetsytan väljer du de tre punkterna (...) och väljer Importera från marknad. Om ordet "moln" inte finns bland de visualiseringsverktyg som visas i listan kan du söka efter "molnet" och välja knappen Lägg till bredvid det visuella Word Cloud-objektet. Power BI installerar ordmolnsvyn och bekräftar att installationen slutfördes.
Välj först ikonen Word Cloud i panelen Visualiseringar.
En ny rapport visas i arbetsytan. Dra fältet keyphrases från fältpanelen till kategorifältet på panelen Visualiseringar. Ordmolnet visas i rapporten.
Växla nu till sidan Format på panelen Visualiseringar. I kategorin Stoppord slår du på Standard-stoppord för att ta bort korta och vanliga ord som 'av' från molnet. Men eftersom vi visualiserar nyckelfraser kanske de inte innehåller stoppord.
Rulla nedåt i panelen och inaktivera Rotera text och rubrik.
Välj verktyget Fokusläge i rapporten för att få en bättre titt på vårt ordmoln. Verktyget expanderar ordmolnet så att hela arbetsytan fylls.
Använda andra funktioner
Azure AI Language tillhandahåller även attitydanalys och språkidentifiering. Språkidentifieringen är särskilt användbart om du får kundfeedback på andra språk än engelska.
Båda dessa andra API:er liknar nyckelfras-API:et. Det innebär att du kan integrera dem med Power BI Desktop med hjälp av anpassade funktioner som nästan är identiska med den som du skapade i den här självstudien. Skapa bara en tom fråga och klistra in lämplig kod i Avancerad redigerare, som du gjorde tidigare. (Glöm inte din åtkomstnyckel!) Använd sedan funktionen för att lägga till en ny kolumn i tabellen som tidigare.
Funktionen Attitydanalys nedan returnerar en etikett som anger hur positiv attityden som uttrycks i texten är.
// Returns the sentiment label of the text, for example, positive, negative or mixed.
(text) => let
apikey = "YOUR_API_KEY_HERE",
endpoint = "<your-custom-subdomain>.cognitiveservices.azure.com" & "/text/analytics/v3.1/sentiment",
jsontext = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(text), 5000))),
jsonbody = "{ documents: [ { language: ""en"", id: ""0"", text: " & jsontext & " } ] }",
bytesbody = Text.ToBinary(jsonbody),
headers = [#"Ocp-Apim-Subscription-Key" = apikey],
bytesresp = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
jsonresp = Json.Document(bytesresp),
sentiment = jsonresp[documents]{0}[sentiment]
in sentiment
Här är två versioner av en språkidentifieringsfunktion. Den första returnerar ISO-språkkoden (t.ex. en för engelska), och den andra returnerar ett smeknamn (t.ex. English). Du kanske märker att bara den sista raden i texten skiljer sig åt mellan de två versionerna.
// Returns the two-letter language code (for example, 'en' for English) of the text
(text) => let
apikey = "YOUR_API_KEY_HERE",
endpoint = "https://<your-custom-subdomain>.cognitiveservices.azure.com" & "/text/analytics/v3.1/languages",
jsontext = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(text), 5000))),
jsonbody = "{ documents: [ { id: ""0"", text: " & jsontext & " } ] }",
bytesbody = Text.ToBinary(jsonbody),
headers = [#"Ocp-Apim-Subscription-Key" = apikey],
bytesresp = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
jsonresp = Json.Document(bytesresp),
language = jsonresp [documents]{0}[detectedLanguage] [name] in language
// Returns the name (for example, 'English') of the language in which the text is written
(text) => let
apikey = "YOUR_API_KEY_HERE",
endpoint = "https://<your-custom-subdomain>.cognitiveservices.azure.com" & "/text/analytics/v3.1/languages",
jsontext = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(text), 5000))),
jsonbody = "{ documents: [ { id: ""0"", text: " & jsontext & " } ] }",
bytesbody = Text.ToBinary(jsonbody),
headers = [#"Ocp-Apim-Subscription-Key" = apikey],
bytesresp = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
jsonresp = Json.Document(bytesresp),
language =jsonresp [documents]{0}[detectedLanguage] [name] in language
Här är en variant av nyckelfrasfunktionen som redan visas. Den returnerar fraserna som listobjekt snarare än som en sträng med kommaseparerade fraser.
Kommentar
Att använda en enda sträng förenklade vårt ordmolnsexempel. En lista är å andra sidan ett mer flexibelt format för att arbeta med returnerade fraser i Power BI. Du kan ändra listobjekten i Power BI Desktop. Använd gruppen Strukturerad kolumn på frågeredigerarens transformeringsmenyflik.
// Returns key phrases from the text as a list object
(text) => let
apikey = "YOUR_API_KEY_HERE",
endpoint = "https://<your-custom-subdomain>.cognitiveservices.azure.com" & "/text/analytics/v3.1/keyPhrases",
jsontext = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(text), 5000))),
jsonbody = "{ documents: [ { language: ""en"", id: ""0"", text: " & jsontext & " } ] }",
bytesbody = Text.ToBinary(jsonbody),
headers = [#"Ocp-Apim-Subscription-Key" = apikey],
bytesresp = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
jsonresp = Json.Document(bytesresp),
keyphrases = jsonresp[documents]{0}[keyPhrases]
in keyphrases
Nästa steg
Läs mer om Azure AI Language, formelspråket Power Query M eller Power BI.