Edytowanie schematu językowego i dodawanie fraz w programie Power BI Desktop

Umożliwia używanie typowych fraz i języka naturalnego do zadawania pytań dotyczących danych. Jest jeszcze bardziej wydajna, gdy twoje dane odpowiadają. Podczas zadawania pytań i odpowiedzi w usłudze Power BI najlepiej odpowiadać. Możesz edytować schemat językowy, aby poprawić odpowiedzi na pytania i odpowiedzi w celu uzyskania jeszcze lepszych interakcji.

Wszystko zaczyna się od danych przedsiębiorstwa. Tym lepiej model danych, tym łatwiej będzie użytkownikom uzyskać odpowiedzi dotyczące jakości. Jednym ze sposobów ulepszania modelu jest dodanie schematu językowego, który definiuje i kategoryzuje terminologię oraz relacje między nazwami tabel i kolumn w zestawie danych. Program Power BI Desktop to miejsce, w którym zarządzasz schematami językowymi.

Są dwie strony do pytań i odpowiedzi. Pierwsza strona to przygotowanie lub modelowanie. Druga strona polega na zadawaniu pytań i eksplorowaniu danych lub użyciu. W niektórych firmach pracownicy znani jako osoby modelające dane lub administratorzy IT mogą być tymi, którzy tworzą zestawy danych, tworzą modele danych i publikują zestawy danych w usłudze Power BI. Innym zestawem pracowników byłoby to, którzy "zużywają" dane w trybie online. W innych firmach te role mogą być łączone.

Ten artykuł dotyczy osób modelujących dane, osób, które optymalizują zestawy danych, aby zapewnić najlepsze możliwe wyniki pytań i odpowiedzi.

Co to jest schemat językowy?

Schemat językowy opisuje terminy i frazy, które powinny być zrozumiałe dla obiektów w zestawie danych, w tym części mowy, synonimów i fraz. Podczas importowania lub nawiązywania połączenia z zestawem danych usługa Power BI tworzy schemat językowy na podstawie struktury zestawu danych. Podczas zadawania pytań i odpowiedzi szuka dopasowań i relacji w danych, aby ustalić intencję pytania. Na przykład wyszukuje rzeczowniki, czasowniki, przymiotniki, frazy i inne elementy. Szuka relacji, takich jak kolumny są obiektami czasownika.

Prawdopodobnie znasz części mowy, ale frazy mogą być nowym terminem. Fraza polega na tym, jak mówisz o (lub frazie) relacje między elementami. Aby na przykład opisać relację między klientami i produktami, możesz powiedzieć "klienci kupują produkty". Lub opisać relację między klientami a wiekiem, możesz powiedzieć "wiek wskazuje, jak starzy klienci są". Lub aby opisać relację między klientami i numerami telefonów, możesz powiedzieć "klienci mają numery telefonów".

Te frazy mają wiele kształtów i rozmiarów. Niektóre odpowiadają bezpośrednio relacjom w modelu danych. Niektóre odnoszą kolumny z ich tabelami zawierającymi. Inne łączą wiele tabel i kolumn w złożonych relacjach. We wszystkich przypadkach opisują, jak rzeczy są powiązane przy użyciu codziennych terminów.

Schematy językowe są zapisywane w formacie yaml. Ten format jest związany z popularnym formatem JSON, ale zapewnia bardziej elastyczną i łatwiejszą składnię. Schematy językowe można edytować, eksportować i importować do programu Power BI Desktop.

Wymagania wstępne

Konfigurowanie edytora dla plików yaml

Zalecamy edytowanie plików yaml schematu językowego przy użyciu programu Visual Studio Code. Program Visual Studio Code obejmuje wbudowaną obsługę plików yaml i można go rozszerzyć, aby w szczególności zweryfikować format schematu językowego usługi Power BI.

  1. Zainstalowanie programu Visual Studio Code.

  2. Kliknij prawym przyciskiem myszy plik yaml w przykładowym schemacie językowym, który został zapisany wcześniej: QnALinguisticSchema.zip.

  3. Wybierz pozycję Otwórz za pomocą>pozycji Wybierz inną aplikację.

  4. Wybierz pozycję Visual Studio Code , a następnie wybierz pozycję Zawsze.

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

W programie Visual Studio Code zainstaluj rozszerzenie YAML Support by Red Hat (Obsługa YAML przez rozszerzenie Red Hat).

  1. Wybierz kartę Rozszerzenia (ostatnią z menu po lewej stronie) lub CTRL+SHIFT+X.
    Screenshot of the left menu in Visual Studio Code with the Extensions icon highlighted.
  2. Wyszukaj ciąg "yaml" i wybierz pozycję Obsługa YAML firmy Red Hat na liście.
  3. Wybierz pozycję Zainstaluj > ponownie załaduj.

Praca ze schematami językowymi

Istnieją dwa sposoby pracy ze schematami językowymi. Jednym ze sposobów jest edytowanie, importowanie i eksportowanie pliku yaml ze wstążki w programie Power BI Desktop. W ten sposób opisano artykuł Dotyczący narzędzi usługi Power BI. Nie musisz otwierać pliku yaml, aby ulepszyć pytania i odpowiedzi.

Innym sposobem edytowania schematu językowego jest bezpośrednie eksportowanie i edytowanie pliku YAML. Podczas edytowania pliku yaml schematu językowego można tagować kolumny w tabeli jako różne elementy gramatyczne i definiować wyrazy, których współpracownik może użyć do wyrażenia pytania. Na przykład należy podać kolumny, które są tematem i obiektem czasownika. Dodasz alternatywne wyrazy, których współpracownicy mogą używać do odwoływania się do tabel, kolumn i miar w modelu.

Screenshot of a sample linguistic schema .yaml file.

Aby można było edytować schemat językowy, należy otworzyć go (wyeksportować) z programu Power BI Desktop. Zapisanie pliku yaml z powrotem w tej samej lokalizacji jest uznawane za importowanie. Można jednak importować również inne pliki yaml. Jeśli na przykład masz podobny zestaw danych i już pracujesz dodając części mowy, identyfikując relacje, tworząc frazy i tworząc synonimy, możesz użyć tego pliku yaml w innym pliku programu Power BI Desktop.

Pytania i odpowiedzi używają wszystkich tych informacji wraz z wszelkimi ulepszeniami, które umożliwiają uzyskanie lepszej odpowiedzi, automatycznego uzupełniania i podsumowania pytań.

Edytowanie schematu językowego

Podczas pierwszego eksportowania schematu językowego z programu Power BI Desktop większość lub cała zawartość w pliku jest generowana automatycznie przez aparat pytań i pytań. Te wygenerowane jednostki, słowa (synonimy), relacje i frazy są oznaczone tagiem State: Generated . Są one zawarte w pliku głównie w celach informacyjnych, ale może być przydatnym punktem wyjścia dla własnych zmian.

Uwaga

Przykładowy plik yaml dołączony do tego samouczka nie zawiera tagów State: Generated lub State: Deleted , ponieważ został on przygotowany specjalnie do tego samouczka. Aby wyświetlić te tagi, otwórz nieedytowany plik pbix w widoku relacji i wyeksportuj schemat językowy.

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

Podczas importowania pliku schematu językowego z powrotem do programu Power BI Desktop wszystkie elementy oznaczone jako State: Generated (Wygenerowany ) są ignorowane i ponownie generowane. W związku z tym, jeśli chcesz zmienić część wygenerowanej zawartości, usuń odpowiedni tag State: Generated . Podobnie, jeśli chcesz usunąć część wygenerowanej zawartości, zmień tag State: Generated na State: Deleted (Stan: wygenerowany), aby nie był ponownie generowany podczas importowania pliku schematu językowego.

Eksportuj, a następnie zaimportuj plik yaml

  1. W programie Power BI Desktop otwórz zestaw danych w widoku modelu.

  2. Na karcie Modelowanie wybierz pozycję Schemat>językowy Eksportuj schemat językowy.

  3. Zapisz go. Nazwa pliku kończy się ciągiem .lsdl.yaml.

  4. Otwórz go w programie Visual Code lub innym edytorze.

  5. W widoku Model w programie Power BI Desktop na karcie Modelowanie wybierz pozycję Import schematu>językowego.

  6. Przejdź do lokalizacji, w której zapisano edytowany plik yaml i wybierz go. Komunikat o powodzeniu informuje o pomyślnym zaimportowaniu pliku yaml schematu językowego.

    Screenshot of the successful import dialog.

Frazy w schemacie językowym

Fraza polega na tym, jak mówisz o (lub frazie) relacje między elementami. Aby na przykład opisać relację między klientami i produktami, możesz powiedzieć "klienci kupują produkty".

Skąd pochodzą frazy?

Usługa Power BI dodaje wiele prostych fraz do schematu językowego automatycznie na podstawie struktury modelu i odgadnięcia na podstawie nazw kolumn. Na przykład:

  • Większość kolumn odnosi się do zawierającej tabelę z prostymi frazami, takimi jak "products have descriptions".
  • Relacje modelu powodują domyślne frazy dla obu kierunków relacji, takie jak "zamówienia mają produkty" i "produkty mają zamówienia".
  • Na podstawie nazw kolumn niektóre relacje modelu mogą mieć bardziej złożone frazy domyślne, takie jak "zamówienia są wysyłane do miast".

Jednak użytkownicy czasami mówią o rzeczach w sposób, który nie może się odgadnąć. W związku z tym możesz ręcznie dodać własne frazy.

Dlaczego warto dodać frazy?

Pierwszym powodem dodawania fraz jest zdefiniowanie nowego terminu. Jeśli na przykład chcesz mieć możliwość zadawania pytań "lista najstarszych klientów", musisz najpierw nauczyć Q&A, co oznacza "stary". W tym celu należy dodać frazę na przykład "wiek wskazuje, jak starzy klienci są".

Drugim powodem dodawania fraz jest rozwiązanie niejednoznaczności. Wyszukiwanie słów kluczowych w warstwie Podstawowa trwa do tej pory, gdy wyrazy mają więcej niż jedno znaczenie. Na przykład "loty do Chicago" nie jest taki sam jak "loty z Chicago". Ale Q&A nie będzie wiedział, który masz na myśli, chyba że dodasz frazy "loty są z miast odlotów" i "loty są do miast przylotów". Podobnie, Q&A zrozumie tylko rozróżnienie między "samochodami, które John sprzedał Mary" i "samochody, które John kupił od Mary" po dodaniu fraz "klienci kupują samochody od pracowników" i "pracownicy sprzedają samochody klientów".

Ostatnim powodem dodawania fraz jest poprawienie restatacji. Zamiast powtarzać pytania z powrotem do Ciebie "Pokaż klientów i ich produkty", byłoby jaśniejsze, gdyby powiedział: "Pokaż klientów i produkty, które kupili" lub "Pokaż klientów i produkty, które przeglądali", w zależności od tego, jak zrozumiał pytanie. Dodawanie fraz niestandardowych umożliwia bardziej wyraźne i jednoznaczne restamenty.

Rodzaje fraz

Aby zrozumieć różne typy fraz, najpierw musisz pamiętać kilka podstawowych terminów gramatycznych:

  • Rzeczownik jest osobą, miejscem lub rzeczą. Przykłady: samochód, nastolatek, Marty, pojemności flux
  • Czasownik jest akcją lub stanem bycia. Przykłady: hatch, burst, devour, eject
  • Przymiotnik jest wyrazem opisowym, który modyfikuje aun. Przykłady: potężny, magiczny, złoty, skradziony
  • Przyimek jest wyrazem używanym przed rzeczownikiem, aby powiązać go z poprzednią rzeczownikiem, czasownikiem lub przymiotnikiem Przykłady: z, dla, w pobliżu,
  • Atrybut jest jakością lub funkcją czegoś.
  • Nazwa to słowo lub zestaw słów, według których dana osoba, zwierzę, miejsce lub rzecz jest znana lub określana.

Frazy atrybutów

Frazy atrybutów są koniem roboczym języka Q&A. Są one używane, gdy jedna rzecz działa jako atrybut innej rzeczy. Są proste, proste i wykonują większość ciężkich operacji podnoszenia, gdy nie zdefiniowano subtelniejszych, bardziej szczegółowych fraz. Frazy atrybutów są opisane przy użyciu podstawowego czasownika "have" ("products have categories" (produkty mają kategorie) i "host countries/regions have host cities" (kraje/regiony hosta mają miasta hostów). Automatycznie zezwalają również na pytania z przyimkami "of" i "for" ("kategorie produktów" lub "zamówienia na produkty") i opętują ("zamówienia Johna"). Frazy atrybutów są używane w tego rodzaju pytaniach:

  • Którzy klienci mają zamówienia?
  • Wyświetlanie listy miast hostów według kraju/regionu rosnącego
  • Pokaż zamówienia, które mają chai
  • Wyświetlanie listy klientów z zamówieniami
  • Jaka jest kategoria każdego produktu?
  • Zlicz zamówienia Roberta Kinga

Usługa Power BI generuje większość fraz atrybutów potrzebnych w modelu na podstawie relacji tabeli lub kolumny i modelu. Zazwyczaj nie trzeba ich tworzyć samodzielnie. Oto przykładowa fraza atrybutu w schemacie językowym:

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

Frazy nazw

Frazy nazw są przydatne, jeśli model danych zawiera tabelę zawierającą nazwane obiekty, takie jak nazwy sportowców lub nazwy klientów. Na przykład fraza "nazwy produktów to nazwy produktów" jest niezbędna do korzystania z nazw produktów w pytaniach. Frazy nazw umożliwiają również "nazwane" jako czasownik (na przykład "Wyświetlanie listy klientów o nazwie John Smith"). Jest to jednak najważniejsze w przypadku użycia w połączeniu z innymi frazami. Umożliwia użycie wartości nazwy do odwoływania się do określonego wiersza tabeli. Na przykład w obszarze "Klienci, którzy kupili chai", Q&A może określić wartość "chai" odnosi się do całego wiersza tabeli produktów, a nie tylko wartości w kolumnie nazwy produktu. Frazy nazw są używane w tego rodzaju pytaniach:

  • Którzy pracownicy noszą nazwę Robert King
  • KtoTo nosi nazwę Ernst Handel
  • Sport Fernand De Montigny
  • Liczba sportowców o imieniu Mary
  • Co kupił Robert King?

Zakładając, że użyto rozsądnej konwencji nazewnictwa kolumn nazw w modelu (na przykład "Name" lub "ProductName", a nie "PrdNm"), usługa Power BI automatycznie generuje większość fraz nazw wymaganych w modelu. Zwykle nie trzeba ich tworzyć samodzielnie.

Oto przykładowa fraza nazw w schemacie językowym:

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

Frazy przymiotnikowe

Frazy przymiotnikowe definiują nowe przymiotniki używane do opisywania elementów w modelu. Na przykład frazy "happy customers are customers where rating > 6" is needed to ask questions like "list the happy customers in Des Moines". Istnieje kilka form fraz przymiotnikowych do użycia w różnych sytuacjach.

Proste frazy przymiotnikowe definiują nowy przymiotnik na podstawie warunku, takiego jak "produkty, które przestały być produktami, w których stan = D". Proste frazy przymiotnikowe są używane w tego rodzaju pytaniach:

  • Które produkty zostały wycofane?
  • Wyświetlanie listy wycofanych produktów
  • Lista złotych medalistów
  • Produkty, które są uporządkowane wstecz

Oto przykładowa prosta fraza przymiotnikowa w schemacie językowym:

product_is_discontinued:

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

Frazy przymiotnikowe pomiaru definiują nowy przymiotnik na podstawie wartości liczbowej, która wskazuje zakres, w jakim ma zastosowanie przymiotnik, na przykład "lengths wskazuje, jak długie są rzeki" i "mały kraj/regiony mają małe obszary lądowe". Frazy przymiotnikowe pomiaru są używane w tego rodzaju pytaniach:

  • Lista długich rzek
  • Które rzeki są najdłuższe?
  • Lista najmniejszych krajów/regionów, które zdobyły złoto w koszykówce
  • Jak długo jest Rio Grande?

Oto przykładowa fraza przymiotnikowa miar w schemacie językowym:

river_has_length:

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

Dynamiczne frazy przymiotnikowe definiują zestaw nowych przymiotników na podstawie wartości w kolumnie w modelu, takich jak "kolory opisują produkty" i "zdarzenia mają płeć zdarzeń". Dynamiczne frazy przymiotnikowe są używane w tego rodzaju pytaniach:

  • Wyświetlanie listy czerwonych produktów
  • Które produkty są zielone?
  • Pokaż wydarzenia łyżwiarskie dla kobiet
  • Liczba problemów, które są aktywne

Oto przykładowa fraza przymiotnikowa dynamiczna wewnątrz schematu językowego:

product_has_color:

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

Frazy rzeczownikowe

Frazy rzeczownikowe definiują nowe rzeczowniki, które opisują podzbiory elementów w modelu. Często obejmują one jakiś typ miary lub warunku specyficznego dla modelu. Na przykład w naszym modelu możemy dodać frazy, które odróżniają mistrzów od medalistów, sportów lądowych od sportów wodnych, zespołów i osób fizycznych lub kategorii wiekowych sportowców (nastolatki, dorośli, seniorzy). Dla naszej bazy danych filmów możemy dodać frazy rzeczownikowe dla "flops to filmy, w których zysk < netto 0", abyśmy mogli zadawać pytania, takie jak "count the flops by year". Istnieją dwie formy fraz rzeczownikowych do użycia w różnych sytuacjach.

Proste frazy rzeczownikowe definiują nową rzeczownik na podstawie warunku, takiego jak "wykonawcy są pracownikami, gdzie pełny czas = fałsz" i "mistrz jest sportowcem, gdzie liczba medali >5. Proste frazy rzeczownikowe są używane w tego rodzaju pytaniach:

  • Którzy pracownicy są wykonawcami?
  • Liczenie wykonawców w Portland
  • Ile mistrzów w 2016 roku

Oto przykładowa prosta fraza rzeczownikowa w schemacie językowym:

employee_is_contractor:

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

Dynamiczne frazy rzeczownikowe definiują zestaw nowych rzeczowników na podstawie wartości w kolumnie w modelu, takich jak "zadania definiują podzestawy pracowników". Dynamiczne frazy rzeczownikowe są używane w tego rodzaju pytaniach:

  • Lista kasjerów w Chicago
  • Którzy pracownicy są baristami?
  • Lista sędziów w 1992 roku

Oto przykładowa fraza dynamiczna rzeczownikowa w schemacie językowym:
employee_has_job:

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

Frazy przyimka

Frazy przyimkowe służą do opisywania, jak elementy w modelu są powiązane za pomocą przyimków. Na przykład fraza "cities are in countries/regions" (Miasta znajdują się w krajach/regionach) poprawia zrozumienie pytań, takich jak "count the cities in Washington" (zliczanie miast w Waszyngtonie). Niektóre frazy przyimka są tworzone automatycznie, gdy kolumna jest rozpoznawana jako jednostka geograficzna. Frazy przyimkowe są używane w tego rodzaju pytaniach:

  • Zlicz klientów w Nowym Jorku
  • Lista książek o językoznawstwie
  • W którym mieście jest Robert King?
  • Ile książek jest autorstwa Stephena Pinkera?

Oto przykładowa fraza przyimka w schemacie językowym:
customers_are_in_cities:

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

Frazy czasownikowe

Frazy czasownikowe służą do opisywania sposobu, w jaki elementy w modelu są powiązane za pomocą czasowników. Na przykład fraza "klienci kupują produkty" poprawia zrozumienie pytań, takich jak "kto kupił ser?" i "co Kupił John?" Frazy czasownikowe są najbardziej elastyczne we wszystkich typach fraz, często odnoszących się do siebie więcej niż dwóch elementów, takich jak "pracownicy sprzedają produkty klientów". Frazy czasownikowe są używane w tego rodzaju pytaniach:

  • KtoTo sprzedał co komu?
  • Który pracownik sprzedał chai Johnowi?
  • Ilu klientów zostało sprzedanych chai przez Mary?
  • Wyświetl listę produktów, które Mary sprzedała Janowi.
  • Które wycofane produkty zostały sprzedane klientom z Chicago przez pracowników Bostonu?

Frazy czasownikowe mogą również zawierać frazy przyimkowe, zwiększając ich elastyczność, takie jak "sportowcy zdobywają medale na konkursach" lub "klienci otrzymują zwroty za produkty". Frazy czasownikowe z frazami przyimkowe są używane w tego rodzaju pytaniach:

  • Ilu sportowców zdobyło złoty medal na Mistrzostwach Wiz?
  • Którzy klienci otrzymali zwrot kosztów sera?
  • Na którym konkursie Danell Leyva zdobył brązowy medal?

Niektóre frazy czasownikowe są tworzone automatycznie, gdy kolumna jest rozpoznawana jako zawierająca czasownik i przyimek.

Oto przykładowa fraza czasownikowa w schemacie językowym:
customers_buy_products_from_salespeople:

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

Relacje z wieloma frazami

Często można opisać jedną relację w więcej niż jeden sposób. W takim przypadku jedna relacja może zawierać więcej niż jedną frazę. Relacje między jednostką tabeli a jednostką kolumny są wspólne, aby frazy atrybutu i inne frazy. Na przykład w relacji między klientem a nazwą klienta potrzebujesz zarówno frazy atrybutu (na przykład "klienci mają nazwy") i frazę nazwy (na przykład "nazwy klientów są nazwami klientów"), aby zadać oba typy pytań.

Oto przykład sposobu, w jaki relacja z dwoma frazami wygląda wewnątrz schematu językowego:
customer_has_name:

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

Innym przykładem może być dodanie alternatywnej frazy "pracownicy sprzedają produkty klientów" do relacji "klienci kupują produkty od pracowników". Nie musisz dodawać odmian, takich jak "pracownicy sprzedają produkty klientom" ani "produkty są sprzedawane klientom przez pracowników", ponieważ odmiany "by" i "to" tematu i obiektu pośredniego są wnioskowane automatycznie przez Q&A.

Zagadnienia i rozwiązywanie problemów

Jeśli wprowadzisz zmianę w pliku lsdl.yaml, który nie jest zgodny z formatem schematu językowego, zygzaki weryfikacji wskazują problem:

Screenshot of a sample .yaml file showing errors.

Masz więcej pytań? Zapytaj Społeczność usługi Power BI