Dela via


Redigera språkschema för frågor och svar och lägg till fraser i Power BI Desktop

Det är kraftfullt att använda vanliga fraser och naturligt språk för att ställa frågor om dina data. Det är ännu kraftfullare när dina data svarar. När du ställer frågor och svar om Power BI gör det ett bra försök att svara korrekt. Du kan redigera språkschemat för att förbättra Q&A-svaren för ännu bättre interaktioner.

Allt börjar med dina företagsdata. Ju bättre datamodellen är, desto enklare blir det för användarna att få kvalitetssvar. Ett sätt att förbättra modellen är att lägga till ett språkschema som definierar och kategoriserar terminologi och relationer mellan tabell- och kolumnnamn i datamängden. I Power BI Desktop hanterar du dina språkscheman.

Det finns två sidor i Q&A. Den första sidan är förberedelsen eller modellering. Den andra sidan är att ställa frågor och utforska data eller konsumera. I vissa företag kan anställda som kallas datamodellerare eller IT-administratörer vara de som monterar datauppsättningarna, skapar datamodellerna och publicerar datauppsättningarna till Power BI. En annan uppsättning anställda skulle vara de som "konsumerar" data online. I andra företag kan dessa roller kombineras.

Den här artikeln gäller för datamodellerarna, de personer som optimerar datauppsättningar för att ge bästa möjliga Q&A-resultat.

Vad är ett språkschema?

Ett språkschema beskriver termer och fraser som Q&A bör förstå för objekt i en datauppsättning, inklusive delar av tal, synonymer och fraser. När du importerar eller ansluter till en datauppsättning skapar Power BI ett språkschema baserat på datamängdens struktur. När du ställer frågor och svar letar den efter matchningar och relationer i data för att ta reda på avsikten med din fråga. Den söker till exempel efter substantiv, verb, adjektiv, fraser och andra element. Och den letar efter relationer, som vilka kolumner som är objekt i ett verb.

Du är förmodligen bekant med delar av tal, men fraser kan vara en ny term. En frasering är hur du pratar om (eller fras) relationerna mellan saker. Om du till exempel vill beskriva relationen mellan kunder och produkter kan du säga "kunder köper produkter". Eller för att beskriva relationen mellan kunder och åldrar kan du säga "åldrar anger hur gamla kunder är". Eller för att beskriva relationen mellan kunder och telefonnummer kan du säga "kunder har telefonnummer".

Dessa fraser finns i många former och storlekar. Vissa motsvarar direkt relationer i datamodellen. Vissa relaterar kolumner med sina innehållande tabeller. Andra relaterar flera tabeller och kolumner tillsammans i komplexa relationer. I samtliga fall beskriver de hur saker och ting är relaterade med hjälp av vardagliga termer.

Språkscheman sparas i ett .yaml-format. Det här formatet är relaterat till det populära JSON-formatet men ger en mer flexibel och lättläst syntax. Språkscheman kan redigeras, exporteras och importeras till Power BI Desktop.

Förutsättningar

Konfigurera en redigerare för .yaml-filer

Vi rekommenderar att du använder Visual Studio Code för att redigera .yaml-filer för språkschemat. Visual Studio Code innehåller inbyggt stöd för .yaml-filer och kan utökas för att specifikt validera språkschemaformatet för Power BI.

  1. Installera Visual Studio Code.

  2. Högerklicka på .yaml-filen i det språkschema för exempel som du sparade tidigare: QnALinguisticSchema.zip.

  3. Välj Öppna med>Välj en annan app.

  4. Välj Visual Studio Code och välj sedan Alltid.

    Screenshot of the dialog that shows a list of programs to open the file. Visual Studio Code and Always are highlighted.

I Visual Studio Code installerar du YAML Support by Red Hat-tillägget.

  1. Välj fliken Tillägg (den sista i den vänstra menyn) eller CTRL+SKIFT+X.
    Screenshot of the left menu in Visual Studio Code with the Extensions icon highlighted.
  2. Sök efter "yaml" och välj YAML-stöd av Red Hat i listan.
  3. Välj Installera > på nytt.

Arbeta med språkscheman

Det finns två sätt att arbeta med språkscheman. Ett sätt är att redigera, importera och exportera .yaml från menyfliksområdet i Power BI Desktop. På så sätt beskrivs i artikeln om Q&A-verktyg i Power BI. Du behöver inte öppna .yaml-filen för att förbättra Q&A.

Det andra sättet att redigera ett språkschema är att exportera och redigera .yaml-filen direkt. När du redigerar en yaml-fil för språkschemat taggar du kolumner i tabellen som olika grammatiska element och definierar ord som en kollega kan använda för att formulera en fråga. Du anger till exempel de kolumner som är ämnet och verbets objekt. Du lägger till alternativa ord som kollegor kan använda för att referera till tabeller, kolumner och mått i din modell.

Screenshot of a sample linguistic schema .yaml file.

Innan du kan redigera ett språkschema måste du öppna (exportera) det från Power BI Desktop. Att spara .yaml-filen på samma plats anses vara import. Men du kan också importera andra .yaml-filer i stället. Om du till exempel har en liknande datauppsättning och du redan har lagt till arbete med att lägga till delar av tal, identifiera relationer, skapa fraser och skapa synonymer, kan du använda .yaml-filen i en annan Power BI Desktop-fil.

Q&A använder all denna information tillsammans med eventuella förbättringar som du gör för att ge ett bättre svar, automatiskt slutförande och sammanfattning av frågorna.

Redigera ett språkschema

När du först exporterar språkschemat från Power BI Desktop genereras det mesta eller allt innehåll i filen automatiskt av Q&A-motorn. Dessa genererade entiteter, ord (synonymer), relationer och fraser betecknas med taggen Tillstånd: Genererad . De ingår främst i filen i informationssyfte, men kan vara en användbar startpunkt för dina egna ändringar.

Kommentar

Exempelfilen .yaml som ingår i den här självstudien innehåller inte Tillstånd: Genererad eller Delstat: Borttagna taggar eftersom den har förberetts specifikt för den här självstudien. Om du vill se dessa taggar öppnar du en oredigerad .pbix-fil i relationsvyn och exporterar språkschemat.

Screenshot of a sample .yaml file showing State: Generated.

När du importerar tillbaka språkschemafilen till Power BI Desktop ignoreras allt som har markerats med Tillstånd: Genererad och återskapas senare. Om du vill ändra ett visst genererat innehåll tar du därför bort motsvarande tagg State: Generated (Tillstånd: Genererad ). Om du vill ta bort en del genererat innehåll ändrar du på samma sätt taggen Tillstånd: Genererad till Tillstånd: Borttagen så att den inte återskapas när du importerar språkschemafilen.

Exportera och importera sedan en .yaml-fil

  1. Öppna datauppsättningen i modellvyn i Power BI Desktop.

  2. På fliken Modellering väljer du Språkschema>Exportera språkschema.

  3. Spara den. Filnamnet slutar med .lsdl.yaml.

  4. Öppna den i Visual Code eller i en annan redigerare.

  5. I modellvyn i Power BI Desktop går du till fliken Modellering och väljer Importera språkschema>.

  6. Gå till den plats där du sparade den redigerade .yaml-filen och välj den. Ett meddelande om att det lyckades visas att yaml-filen för språkschemat har importerats.

    Screenshot of the successful import dialog.

Fraser i språkschemat

En frasering är hur du pratar om (eller fras) relationerna mellan saker. Om du till exempel vill beskriva relationen mellan kunder och produkter kan du säga "kunder köper produkter".

Varifrån kommer fraser?

Power BI lägger till många enkla fraser i språkschemat automatiskt baserat på modellens struktur och gissningar baserat på kolumnnamnen. Till exempel:

  • De flesta kolumner relaterar till deras innehållande tabell med en enkel frasering, till exempel "produkter har beskrivningar".
  • Modellrelationer resulterar i standardfraser för båda riktningarna i relationen, till exempel "beställningar har produkter" och "produkter har beställningar".
  • Baserat på deras kolumnnamn kan vissa modellrelationer ha mer komplexa standardfraser, till exempel "beställningar skickas till städer".

Men användarna pratar ibland om saker på sätt som Q&A inte kan gissa. Därför kanske du vill lägga till egna fraser manuellt.

Varför lägga till fraser?

Den första anledningen till att lägga till en frasering är att definiera en ny term. Om du till exempel vill kunna fråga "lista de äldsta kunderna" måste du först lära Q&A vad du menar med "gammal". Du skulle göra det genom att lägga till en frasering som "åldrar anger hur gamla kunder är".

Det andra skälet till att lägga till en frasering är att lösa tvetydighet. Grundläggande nyckelordssökning går bara så långt när ord har mer än en betydelse. Till exempel är "flyg till Chicago" inte detsamma som "flyg från Chicago". Men Q&A vet inte vilken du menar om du inte lägger till fraserna "flyg är från avgångsstäder" och "flyg är till ankomststäder". På samma sätt kommer Q&A bara att förstå skillnaden mellan "bilar som John sålde till Mary" och "bilar som John köpte från Mary" efter att du lagt till fraserna "kunder köper bilar från anställda" och "anställda säljer kundbilar".

Det sista skälet till att lägga till en frasering är att förbättra omformuleringarna. I stället för att Q&A ekar tillbaka till dig "Visa kunderna och deras produkter" skulle det vara tydligare om det stod "Visa kunderna och de produkter de köpte" eller "Visa kunderna och de produkter de granskade", beroende på hur det förstod frågan. Genom att lägga till anpassade fraser kan omformuleringar vara mer explicita och entydiga.

Typer av fraser

För att förstå de olika typerna av fraser måste du först komma ihåg några grundläggande grammatiktermer:

  • Ett substantiv är en person, plats eller sak. Exempel: bil, tonåring, Marty, fluxkondensator
  • Ett verb är en åtgärd eller ett tillstånd av att vara. Exempel: hatch, burst, devour, eject
  • Ett adjektiv är ett beskrivande ord som ändrar ett substantiv. Exempel: kraftfull, magisk, gyllene, stulen
  • En preposition är ett ord som används före ett substantiv för att relatera det till ett tidigare substantiv, verb eller adjektivExempel: av, för, nära, från
  • Ett attribut är en kvalitet eller funktion i något.
  • Ett namn är ett ord eller en uppsättning ord som en person, ett djur, en plats eller en sak är känd eller refererad till.

Attributfraser

Attributfraser är arbetshästen i Q&A. De används när en sak fungerar som ett attribut för en annan sak. De är enkla, enkla och utför de flesta tunga lyft när du inte har definierat en subtilare, mer detaljerad frasering. Attributfraser beskrivs med hjälp av det grundläggande verbet "have" ("produkter har kategorier" och "värdländer/regioner har värdstäder"). De tillåter också automatiskt frågor med prepositionerna "av" och "för" ("produktkategorier" eller "beställningar för produkter") och possessiva ("Johns beställningar"). Attributfraser används i den här typen av frågor:

  • Vilka kunder har beställningar?
  • Lista värdstäder efter land/region stigande
  • Visa beställningar som har chai
  • Visa en lista över kunder med beställningar
  • Vad är kategorin för varje produkt?
  • Räkna Robert Kings order

Power BI genererar de flesta attributfraser som behövs i din modell baserat på tabell- eller kolumn-inneslutning och modellrelationer. Vanligtvis behöver du inte skapa dem själv. Här är ett exempel på hur en attributfras ser ut i språkschemat:

product_has_category:
  Binding: {Table: Products}
  Phrasings:
  - Attribute: {Subject: product, Object: product.category}

Namnfraser

Namnfraser är användbara om datamodellen har en tabell som innehåller namngivna objekt, till exempel idrottsnamn eller kundnamn. Formuleringen "produktnamn är namn på produkter" är till exempel viktig för att kunna använda produktnamn i frågor. Namnfrasering möjliggör även "namngiven" som ett verb (till exempel "Listkunder med namnet John Smith"). Det är dock viktigast när det används i kombination med andra fraser. Det gör att ett namnvärde kan användas för att referera till en viss tabellrad. I "Kunder som har köpt chai" kan Q&A till exempel se värdet "chai" refererar till hela raden i produkttabellen i stället för bara ett värde i kolumnen produktnamn. Namnfraser används i den här typen av frågor:

  • Vilka anställda heter Robert King
  • Vem heter Ernst Händel
  • Fernand De Montignys sport
  • Antal idrottare som heter Mary
  • Vad köpte Robert King?

Förutsatt att du använde en lämplig namngivningskonvention för namnkolumner i din modell (till exempel "Namn" eller "ProductName" i stället för "PrdNm" genererar Power BI de flesta namnfraser som behövs i din modell automatiskt. Du behöver vanligtvis inte skapa dem själv.

Här är ett exempel på hur en namnfras ser ut i språkschemat:

employee_has_name:
  Binding: {Table: Employees}
  Phrasings:
  - Name:
      Subject: employee
      Name: employee.name

Adjektivfraser

Adjektivfraser definierar nya adjektiv som används för att beskriva saker i din modell. Till exempel behövs "nöjda kunder är kunder där betyg > 6"-fraser behövs för att ställa frågor som "lista de lyckliga kunderna i Des Moines". Det finns flera former av adjektivfraser att använda i olika situationer.

Enkla adjektivfraser definierar ett nytt adjektiv baserat på ett villkor, till exempel "utgångna produkter är produkter där status = D". Enkla adjektivfraser används i den här typen av frågor:

  • Vilka produkter upphör?
  • Visa en lista över produkter som upphört
  • Lista guldmedaljörerna
  • Produkter som är restorderade

Här är ett exempel på hur en enkel adjektivfras ser ut i språkschemat:

product_is_discontinued:

Binding: {Table: Products}
  Conditions:
  - Target: product.discontinued
    Operator: Equals
    Value: true
  Phrasings:
  - Adjective:
      Subject: product
      Adjectives: [discontinued]

Adjektivfraser för mätning definierar ett nytt adjektiv baserat på ett numeriskt värde som anger i vilken utsträckning adjektivet gäller, till exempel "längder anger hur långa floder är" och "små land/regioner har små landområden". Adjektivfraser för mätning används i dessa typer av frågor:

  • Lista de långa floderna
  • Vilka floder är de längsta?
  • Lista de minsta land/regioner som vann guld i basket
  • Hur länge är Rio Grande?

Här är ett exempel på hur en måttadjektivfras ser ut i språkschemat:

river_has_length:

Binding: {Table: Rivers}
 Phrasings:
 - Adjective:
     Subject: river
     Adjectives: [long]
     Antonyms: [short]
     Measurement: river.length

Dynamiska adjektivfraser definierar en uppsättning nya adjektiv baserat på värden i en kolumn i modellen, till exempel "färger beskriver produkter" och "händelser har händelsekön". Dynamiska adjektivfraser används i den här typen av frågor:

  • Visa en lista över de röda produkterna
  • Vilka produkter är gröna?
  • Visa skridskotävlingar för kvinnor
  • Räkna problem som är aktiva

Här är ett exempel på hur en dynamisk adjektivfras ser ut i språkschemat:

product_has_color:

Binding: {Table: Products}
  Phrasings:
  - DynamicAdjective:
      Subject: product
      Adjective: product.color

Substantivfraser

Substantivfraser definierar nya substantiv som beskriver delmängder av saker i din modell. De innehåller ofta någon typ av modellspecifik mätning eller villkor. För vår modell kanske vi till exempel vill lägga till fraser som skiljer mästare från medaljörer, landsporter från vattensporter, lag kontra individer eller ålderskategorier av idrottare (tonåringar, vuxna, seniorer). För vår filmdatabas kanske vi vill lägga till substantivfraser för "floppar är filmer där nettovinst < 0" så att vi kan ställa frågor som "räkna flopparna per år". Det finns två former av substantivfraser att använda i olika situationer.

Enkla substantivfraser definierar ett nytt substantiv baserat på ett villkor, till exempel "entreprenörer är anställda där heltid = falskt" och "mästare är idrottare där antalet medaljer >5." Enkla substantivfraser används i den här typen av frågor:

  • Vilka anställda är entreprenörer?
  • Räkna entreprenörerna i Portland
  • Hur många mästare 2016

Här är ett exempel på hur en enkel substantivfras ser ut i språkschemat:

employee_is_contractor:

Binding: {Table: Employees}
  Conditions:
  - Target: employee.full_time
    Operator: Equals
    Value: false
  Phrasings:
  - Noun:
      Subject: employee
      Nouns: [contractor]

Dynamiska substantivfraser definierar en uppsättning nya substantiv baserat på värden i en kolumn i modellen, till exempel "jobb definierar delmängder av anställda". Dynamiska substantivfraser används i den här typen av frågor:

  • Lista kassörerna i Chicago
  • Vilka anställda är baristor?
  • Lista domarna 1992

Här är ett exempel på hur en dynamisk substantivfras ser ut i språkschemat:
employee_has_job:

Binding: {Table: Employees}
 Phrasings:
 - DynamicNoun:
     Subject: employee
     Noun: employee.job

Prepositionsfraser

Prepositionsfraser används för att beskriva hur saker i din modell är relaterade via prepositioner. En "städer finns i länder/regioner" förbättrar till exempel förståelsen för frågor som "räkna städerna i Washington". Vissa prepositionsfraser skapas automatiskt när en kolumn identifieras som en geografisk entitet. Prepositionsfraser används i den här typen av frågor:

  • Räkna kunderna i New York
  • Visa en lista över böcker om lingvistik
  • Vilken stad är Robert King i?
  • Hur många böcker är av Stephen Pinker?

Här är ett exempel på hur en prepositionsfras ser ut i språkschemat:
customers_are_in_cities:

Binding: {Table: Customers}
 Phrasings:
 - Preposition:
     Subject: customer
     Prepositions: [in]
     Object: customer.city

Verbfraser

Verbfraser används för att beskriva hur saker i din modell är relaterade via verb. Till exempel förbättrar en "kunder köper produkter"-frasering förståelsen för frågor som "vem köpte ost?" och "vad köpte John?" Verbfraser är de mest flexibla av alla typer av fraser, som ofta relaterar mer än två saker till varandra, till exempel "anställda säljer kunders produkter". Verbfraser används i den här typen av frågor:

  • Vem sålde vad till vem?
  • Vilken anställd sålde chai till John?
  • Hur många kunder såldes chai av Mary?
  • Lista de produkter som Mary sålde till John.
  • Vilka utgångna produkter såldes till Chicago-kunder av Boston-anställda?

Verbfraser kan också innehålla prepositionsfraser, vilket ökar deras flexibilitet, till exempel "idrottare vinner medaljer vid tävlingar" eller "kunder får återbetalningar för produkter.". Verbfraser med prepositionsfraser används i dessa typer av frågor:

  • Hur många idrottare vann en guldmedalj vid Visa Championships?
  • Vilka kunder fick återbetalning för ost?
  • Vid vilken tävling vann Danell Leyva en bronsmedalj?

Vissa verbfraser skapas automatiskt när en kolumn identifieras som innehåller både ett verb och en preposition.

Här är ett exempel på hur en verbfras ser ut i språkschemat:
customers_buy_products_from_salespeople:

Binding: {Table: Orders}
  Phrasings:
  - Verb:
      Subject: customer
      Verbs: [buy, purchase]
      Object: product
      PrepositionalPhrases:
      - Prepositions: [from]
        Object: salesperson

Relationer med flera fraser

Ofta kan en enda relation beskrivas på mer än ett sätt. I det här fallet kan en enda relation ha mer än en frasering. Det är vanligt att relationen mellan en tabellentitet och en kolumnentitet har både en attributfras och en annan frasering. I relationen mellan kund- och kundnamn vill du till exempel ha både en attributfras (till exempel "kunder har namn") och en namnfras (till exempel "kundnamn är namnen på kunderna"), så att du kan ställa båda typerna av frågor.

Här är ett exempel på hur en relation med två fraser ser ut i språkschemat:
customer_has_name:

Binding: {Table: Customers}
Phrasings:
  - Attribute: {Subject: customer, Object: customer.name}
  - Name:
      Subject: customer
      Object: customer.name

Ett annat exempel skulle vara att lägga till den alternativa frasen "anställda säljer kunders produkter" till relationen "kunder köper produkter från anställda". Du behöver inte lägga till varianter som "anställda säljer produkter till kunder" eller "produkter säljs till kunder av anställda" eftersom variationerna "by" och "till" för ämnet och indirekta objekt automatiskt härleds av Q&A.

Överväganden och felsökning

Om du gör en ändring i en .lsdl.yaml-fil som inte överensstämmer med språkschemaformatet anger valideringsväxlingarna problemet:

Screenshot of a sample .yaml file showing errors.

Har du fler frågor? Fråga Power BI Community