Modificare lo schema linguistico Q&A e aggiungere formulazioni in Power BI Desktop
È potente usare frasi comuni e linguaggio naturale per porre domande ai dati. È ancora più potente quando i dati rispondono. Quando si pone una domanda a Domande e risposte di Power BI, è consigliabile rispondere correttamente. È possibile modificare lo schema linguistico per migliorare le risposte Q&A per ottenere interazioni ancora migliori.
Tutto inizia con i dati aziendali. Migliore è il modello di dati, più facile sarà che gli utenti ottengano risposte di qualità. Un modo per migliorare il modello consiste nell'aggiungere uno schema linguistico che definisce e classifica la terminologia e le relazioni tra nomi di tabella e colonna nel set di dati. Power BI Desktop è la posizione in cui si gestiscono gli schemi linguistici.
Ci sono due lati per Q&A. Il primo lato è la preparazione o la modellazione. Il secondo lato pone domande ed esplora i dati o usa. In alcune aziende, i dipendenti noti come data modeler o amministratori IT potrebbero essere quelli per assemblare i set di dati, creare i modelli di dati e pubblicare i set di dati in Power BI. Un set diverso di dipendenti sarebbe quello di "consumare" i dati online. In altre aziende, questi ruoli potrebbero essere combinati.
Questo articolo è destinato ai modelli di dati, gli utenti che ottimizzano i set di dati per fornire i migliori risultati di domande e risposte possibili.
Che cos'è uno schema linguistico?
Uno schema linguistico descrive termini e frasi che Q&A deve comprendere per gli oggetti all'interno di un set di dati, incluse parti del parlato, sinonimi e formulazioni. Quando si importa o ci si connette a un set di dati, Power BI crea uno schema linguistico basato sulla struttura del set di dati. Quando si pone una domanda di domande e risposte, cerca corrispondenze e relazioni nei dati per capire l'intenzione della domanda. Ad esempio, cerca sostantivi, verbi, aggettivi, formulazioni e altri elementi. E cerca relazioni, come le colonne che sono oggetti di un verbo.
Probabilmente si ha familiarità con parti del discorso, ma le formulazioni potrebbero essere un nuovo termine. Una formulazione è il modo in cui si parla di (o frase) le relazioni tra le cose. Ad esempio, per descrivere la relazione tra clienti e prodotti, si potrebbe dire "i clienti acquistano prodotti". Oppure per descrivere la relazione tra clienti e età, si potrebbe dire "età indicare quanto sono i clienti vecchi". Oppure per descrivere la relazione tra clienti e numeri di telefono, si potrebbe dire "i clienti hanno numeri di telefono".
Queste formulazioni sono disponibili in molte forme e dimensioni. Alcuni corrispondono direttamente alle relazioni nel modello di dati. Alcune colonne sono correlate con le tabelle contenenti. Altri sono correlati tra più tabelle e colonne in relazioni complesse. In tutti i casi, descrivono come le cose sono correlate usando termini quotidiani.
Gli schemi linguistici vengono salvati in un formato yaml. Questo formato è correlato al formato JSON più diffuso, ma offre una sintassi più flessibile e più facile da leggere. Gli schemi linguistici possono essere modificati, esportati e importati in Power BI Desktop.
Prerequisiti
- Per informazioni sui suggerimenti per la progettazione e il miglioramento del modello di dati, vedere Procedure consigliate per ottimizzare le domande e risposte in Power BI . Fornisce una sezione importante sull'aggiunta di sinonimi.
- Scaricare i file con estensione yaml e pbix di esempio.
- Installare un editor di file yaml. È consigliabile usare Visual Studio Code.
Configurare un editor per i file con estensione yaml
È consigliabile usare Visual Studio Code per modificare i file yaml dello schema linguistico. Visual Studio Code include il supporto predefinito per i file con estensione yaml e può essere esteso per convalidare in modo specifico il formato dello schema linguistico di Power BI.
Installare Visual Studio Code.
Fare clic con il pulsante destro del mouse sul file yaml nello schema linguistico di esempio salvato in precedenza: QnALinguisticSchema.zip.
Selezionare Apri con>Scegli un'altra app.
Selezionare Visual Studio Code e quindi scegliere Sempre.
In Visual Studio Code installare l'estensione YAML Support by Red Hat.
- Selezionare la scheda Estensioni (ultima nel menu a sinistra) o CTRL+MAIUSC+X.
- Cercare "yaml" e selezionare YaML Support by Red Hat (Supporto YAML per Red Hat ) nell'elenco.
- Selezionare Installa > ricaricamento.
Usare schemi linguistici
Esistono due modi per usare gli schemi linguistici. Un modo consiste nel modificare, importare ed esportare il file yaml dalla barra multifunzione in Power BI Desktop. Questo modo è illustrato nell'articolo Esperienza di strumenti Q&A di Power BI. Non è necessario aprire il file yaml per migliorare Q&A.
L'altro modo per modificare uno schema linguistico consiste nell'esportare e modificare direttamente il file yaml. Quando si modifica un file yaml dello schema linguistico, si contrassegnano le colonne nella tabella come elementi grammaticali diversi e si definiscono parole che un collega può usare per formulare una domanda. Ad esempio, si dichiarano le colonne che sono l'oggetto e l'oggetto del verbo. È possibile aggiungere parole alternative che i colleghi possono usare per fare riferimento a tabelle, colonne e misure nel modello.
Prima di poter modificare uno schema linguistico, è necessario aprirlo (esportarlo) da Power BI Desktop. Il salvataggio del file con estensione yaml nella stessa posizione viene considerato l'importazione. Ma è anche possibile importare altri file yaml. Se, ad esempio, si dispone di un set di dati simile e si è già inserito il lavoro aggiungendo parti del parlato, identificando le relazioni, creando formulazioni e creando sinonimi, è possibile usare il file yaml in un file di Power BI Desktop diverso.
Q&A usa tutte queste informazioni insieme a eventuali miglioramenti apportati per fornire una risposta migliore, il completamento automatico e il riepilogo delle domande.
Modificare uno schema linguistico
Quando si esporta lo schema linguistico per la prima volta da Power BI Desktop, la maggior parte o tutto il contenuto nel file viene generato automaticamente dal motore di domande e risposte. Queste entità generate, parole (sinonimi), relazioni e formulazioni vengono designate con un tag State: Generated . Sono inclusi nel file principalmente a scopo informativo, ma possono essere un punto di partenza utile per le proprie modifiche.
Nota
Il file con estensione yaml di esempio incluso in questa esercitazione non contiene i tag State: Generated o State: Deleted perché è stato preparato in modo specifico per questa esercitazione. Per visualizzare questi tag, aprire un file con estensione pbix non modificato nella visualizzazione Relazione ed esportare lo schema linguistico.
Quando si importa di nuovo il file dello schema linguistico in Power BI Desktop, qualsiasi elemento contrassegnato come Stato: generato viene ignorato e rigenerato in un secondo momento. Pertanto, se si desidera modificare alcuni contenuti generati, rimuovere il tag State: Generated corrispondente. Analogamente, se si desidera rimuovere alcuni contenuti generati, modificare il tag State: Generated in State: Deleted in modo che non venga rigenerato quando si importa il file dello schema linguistico.
Esportare, quindi importare un file yaml
In Power BI Desktop aprire il set di dati nella visualizzazione Modello.
Nella scheda Modellazione selezionare Schema>linguistico Esporta schema linguistico.
Selezionare Salva per salvare. Il nome del file termina con .lsdl.yaml.
Aprirlo in Visual Code o in un altro editor.
Nella scheda Modellazione della visualizzazione Modello in Power BI Desktop selezionare Importazione schema>linguistico.
Passare al percorso in cui è stato salvato il file yaml modificato e selezionarlo. Un messaggio Operazione riuscita indica che il file yaml dello schema linguistico è stato importato correttamente.
Formulazioni nello schema linguistico
Una formulazione è il modo in cui si parla di (o frase) le relazioni tra le cose. Ad esempio, per descrivere la relazione tra clienti e prodotti, si potrebbe dire "i clienti acquistano prodotti".
Da dove provengono le formulazioni?
Power BI aggiunge molte formulazioni semplici allo schema linguistico automaticamente in base alla struttura del modello e alle ipotesi in base ai nomi delle colonne. Ad esempio:
- La maggior parte delle colonne è correlata alla tabella contenitore con una formulazione semplice, ad esempio "i prodotti hanno descrizioni".
- Le relazioni del modello comportano formulazioni predefinite per entrambe le direzioni della relazione, ad esempio "gli ordini hanno prodotti" e "i prodotti hanno ordini".
- In base ai nomi delle colonne, alcune relazioni del modello possono avere formulazioni predefinite più complesse, ad esempio "gli ordini vengono spediti nelle città".
Tuttavia, gli utenti a volte parlano di cose in modi in cui Q&A non può indovinare. Pertanto, è possibile aggiungere manualmente formulazioni personalizzate.
Perché aggiungere formulazioni?
Il primo motivo per l'aggiunta di una formulazione consiste nel definire un nuovo termine. Ad esempio, se si vuole essere in grado di chiedere "elencare i clienti meno recenti", è necessario insegnare a Q&A cosa si intende per "vecchio". A tale scopo, aggiungere una formulazione simile a "età indicare quanto sono i clienti vecchi".
Il secondo motivo per l'aggiunta di una formulazione consiste nel risolvere l'ambiguità. La ricerca di parole chiave di base va finora solo quando le parole hanno più di un significato. Ad esempio, "voli a Chicago" non equivale a "voli da Chicago". Ma Q&A non saprà quale si intende se non si aggiungono le formulazioni "voli sono da città di partenza" e "voli sono verso le città di arrivo". Analogamente, Q&A comprenderà solo la distinzione tra "automobili vendute da John a Mary" e "automobili che John ha acquistato da Mary" dopo aver aggiunto le formulazioni "i clienti acquistano automobili dai dipendenti" e "i dipendenti vendono automobili ai clienti".
Il motivo finale per l'aggiunta di una formulazione consiste nel migliorare le riformulazioni. Invece del Q&A che ti riporta "Mostra i clienti e i loro prodotti", sarebbe più chiaro se dicesse "Mostra i clienti e i prodotti acquistati" o "Mostra i clienti e i prodotti che hanno esaminato", a seconda di come ha compreso la domanda. L'aggiunta di formulazioni personalizzate consente ai riformulazioni di essere più esplicite e non ambigue.
Tipi di formulazioni
Per comprendere i diversi tipi di formulazioni, è innanzitutto necessario ricordare un paio di termini grammaticali di base:
- Un sostantivo è una persona, un luogo o una cosa. Esempi: auto, adolescente, Marty, capacità di flusso
- Un verbo è un'azione o uno stato di essere. Esempi: tratteggio, scoppio, divoratore, espulso
- Un aggettivo è una parola descrittiva che modifica un sostantivo. Esempi: potente, magico, dorato, rubato
- Una preposizione è una parola usata prima di un sostantivo per correlarla a un sostantivo, verbo o aggettivo precedente: di, per, vicino, da
- Un attributo è una qualità o una caratteristica di un elemento.
- Un nome è una parola o un insieme di parole in base alle quali una persona, un animale, un luogo o una cosa è nota o a cui si fa riferimento.
Formulazioni degli attributi
Le formulazioni degli attributi sono il cavallo di lavoro di Q&A. Vengono usati quando una cosa funge da attributo di un'altra cosa. Sono semplici, semplici ed eseguono la maggior parte del sollevamento pesante quando non hai definito una formulazione più sottile e più dettagliata. Le formulazioni degli attributi vengono descritte usando il verbo di base "have" ("i prodotti hanno categorie" e "i paesi/aree ospitanti hanno città ospitanti"). Consentono inoltre automaticamente domande con le preposizioni "di" e "per" ("categorie di prodotti" o "ordini per i prodotti") e possessivi ("ordini di John"). Le formulazioni degli attributi vengono usate in questi tipi di domande:
- Quali clienti hanno ordini?
- Elencare le città host per paese/area geografica crescente
- Mostra ordini con chai
- Elencare i clienti con ordini
- Qual è la categoria di ogni prodotto?
- Conte gli ordini di Robert King
Power BI genera la maggior parte delle formulazioni degli attributi necessarie nel modello in base al contenimento di tabelle o colonne e alle relazioni tra modelli. In genere, non è necessario crearli manualmente. Di seguito è riportato un esempio dell'aspetto di una formulazione di attributo all'interno dello schema linguistico:
product_has_category:
Binding: {Table: Products}
Phrasings:
- Attribute: {Subject: product, Object: product.category}
Formulazioni dei nomi
Le formulazioni dei nomi sono utili se il modello di dati contiene una tabella contenente oggetti denominati, ad esempio nomi di atleti o nomi dei clienti. Ad esempio, una formulazione "i nomi dei prodotti sono nomi di prodotti" è essenziale per poter usare i nomi dei prodotti in domande. La formulazione dei nomi abilita anche "named" come verbo (ad esempio, "Elencare i clienti denominati John Smith"). Tuttavia, è più importante quando viene usato in combinazione con altre formulazioni. Consente di usare un valore name per fare riferimento a una determinata riga di tabella. Ad esempio, in "Clienti che hanno acquistato chai", Q&A può indicare il valore "chai" fa riferimento all'intera riga della tabella del prodotto anziché solo a un valore nella colonna nome prodotto. Le formulazioni dei nomi vengono usate in questi tipi di domande:
- Quali dipendenti sono denominati Robert King
- Chi si chiama Ernst Ndel
- Lo sport di Fernand De Mont supponiamo
- Conteggio degli atleti denominati Mary
- Cosa ha comprato Robert King?
Supponendo che sia stata usata una convenzione di denominazione sensata per le colonne dei nomi nel modello(ad esempio, "Name" o "ProductName" anziché "PrdNm"), Power BI genera automaticamente la maggior parte delle formulazioni dei nomi necessarie nel modello. In genere non è necessario crearli manualmente.
Di seguito è riportato un esempio dell'aspetto di una formulazione dei nomi all'interno dello schema linguistico:
employee_has_name:
Binding: {Table: Employees}
Phrasings:
- Name:
Subject: employee
Name: employee.name
Formulazioni aggettivali
Le formulazioni aggettivali definiscono nuovi aggettivi usati per descrivere gli elementi nel modello. Ad esempio, "i clienti felici sono clienti in cui la classificazione > 6" è necessaria per porre domande come "elencare i clienti felici in Des Moines". Esistono diverse forme di formulazioni aggettivali da usare in situazioni diverse.
Le formulazioni aggettivali semplici definiscono un nuovo aggettivo basato su una condizione, ad esempio "i prodotti sospesi sono prodotti dove status = D". Le formulazioni aggettivali semplici vengono usate in questi tipi di domande:
- Quali prodotti sono sospesi?
- Elencare i prodotti sospesi
- Elencare i medagliere d'oro
- Prodotti non ordinati
Di seguito è riportato un esempio dell'aspetto di una formulazione aggettiva semplice all'interno dello schema linguistico:
product_is_discontinued:
Binding: {Table: Products}
Conditions:
- Target: product.discontinued
Operator: Equals
Value: true
Phrasings:
- Adjective:
Subject: product
Adjectives: [discontinued]
Le formulazioni aggettivali di misura definiscono un nuovo aggettivo basato su un valore numerico che indica la misura in cui si applica l'aggettivo, ad esempio "lunghezze indicano per quanto tempo i fiumi sono" e "piccolo paese/regioni hanno piccole aree terrestri". Le formulazioni aggettivali di misura vengono usate in questi tipi di domande:
- Elencare i lunghi fiumi
- Quali fiumi sono i più lunghi?
- Elencare il paese/le regioni più piccole che hanno vinto l'oro nel basket
- Quanto tempo è il Rio Grande?
Di seguito è riportato un esempio dell'aspetto di una formulazione aggettiva di misura all'interno dello schema linguistico:
river_has_length:
Binding: {Table: Rivers}
Phrasings:
- Adjective:
Subject: river
Adjectives: [long]
Antonyms: [short]
Measurement: river.length
Le formulazioni aggettivali dinamiche definiscono un set di nuovi aggettivi in base ai valori di una colonna nel modello, ad esempio "colori descrivono i prodotti" e "gli eventi hanno sessi di eventi". Le formulazioni aggettivali dinamiche vengono usate in questi tipi di domande:
- Elencare i prodotti rossi
- Quali prodotti sono verdi?
- Mostra eventi di pattinaggio per le femmine
- Numero di problemi attivi
Di seguito è riportato un esempio dell'aspetto di una formulazione aggettiva dinamica all'interno dello schema linguistico:
product_has_color:
Binding: {Table: Products}
Phrasings:
- DynamicAdjective:
Subject: product
Adjective: product.color
Formulazioni sostantivali
Le formulazioni sostantivali definiscono nuovi sostantivi che descrivono i subset di elementi nel modello. Spesso includono un tipo di misurazione o condizione specifica del modello. Ad esempio, per il modello potrebbe essere necessario aggiungere formulazioni che distinguono i campioni da medaglie, sport terrestri da sport acquatici, squadre o categorie di età di atleti (adolescenti, adulti, anziani). Per il nostro database di film, potremmo voler aggiungere formulazioni sostantivali per "flop sono film dove profitto < netto 0" in modo da poter porre domande come "contare i flop per anno". Esistono due forme di formulazioni sostantivali da usare in situazioni diverse.
Le formulazioni sostantivali semplici definiscono un nuovo sostantivo in base a una condizione, ad esempio "i collaboratori sono dipendenti dove full time = false" e "campione è atleta dove numero di medaglie >5". Le formulazioni sostantivali semplici vengono usate in questi tipi di domande:
- Quali dipendenti sono terzisti?
- Contare i terzisti a Portland
- Quanti campioni nel 2016
Di seguito è riportato un esempio dell'aspetto di una formulazione sostantivo semplice all'interno dello schema linguistico:
employee_is_contractor:
Binding: {Table: Employees}
Conditions:
- Target: employee.full_time
Operator: Equals
Value: false
Phrasings:
- Noun:
Subject: employee
Nouns: [contractor]
Le formulazioni sostantivali dinamiche definiscono un set di nuovi sostantivi in base ai valori di una colonna nel modello, ad esempio "i processi definiscono subset di dipendenti". Le formulazioni sostantivali dinamiche vengono usate in questi tipi di domande:
- Elencare i cassieri a Chicago
- Quali dipendenti sono baristi?
- Elencare gli arbitro nel 1992
Ecco un esempio dell'aspetto di una formulazione sostantivo dinamica all'interno dello schema linguistico:
employee_has_job:
Binding: {Table: Employees}
Phrasings:
- DynamicNoun:
Subject: employee
Noun: employee.job
Formulazioni di preposizione
Le formulazioni di preposizione vengono usate per descrivere il modo in cui le cose nel modello sono correlate tramite preposizioni. Ad esempio, una formulazione "le città si trovano in paesi/aree geografiche" migliora la comprensione delle domande come "contare le città a Washington". Alcune formulazioni di preposizione vengono create automaticamente quando una colonna viene riconosciuta come entità geografica. Le formulazioni di preposizione vengono usate in questi tipi di domande:
- Contare i clienti a New York
- Elencare i libri sulle lingue
- In quale città si trova Robert King?
- Quanti libri sono di Stephen Pinker?
Di seguito è riportato un esempio dell'aspetto di una formulazione di preposizione all'interno dello schema linguistico:
customers_are_in_cities:
Binding: {Table: Customers}
Phrasings:
- Preposition:
Subject: customer
Prepositions: [in]
Object: customer.city
Formulazioni verbo
Le formulazioni verbo vengono usate per descrivere il modo in cui le cose nel modello sono correlate tramite verbi. Ad esempio, una formulazione "clienti acquista prodotti" migliora la comprensione delle domande come "chi ha acquistato formaggio?" e "cosa ha comprato John?" Le formulazioni verbo sono le più flessibili di tutti i tipi di formulazioni, spesso correlate più di due cose l'una all'altra, ad esempio "i dipendenti vendono prodotti clienti". Le formulazioni verbo vengono usate in questi tipi di domande:
- Chi ha venduto cosa a chi?
- Quale dipendente ha venduto chai a John?
- Quanti clienti sono stati venduti chai da Mary?
- Elencare i prodotti venduti da Mary a John.
- Quali prodotti sospesi sono stati venduti ai clienti di Chicago dai dipendenti di Boston?
Le formulazioni verbo possono anche contenere frasi preposizionali, aggiungendo così alla loro flessibilità, ad esempio "gli atleti vincono medaglie alle competizioni" o "ai clienti vengono assegnati rimborsi per i prodotti". Le formulazioni verbo con frasi preposizionali vengono usate in questi tipi di domande:
- Quanti atleti hanno vinto una medaglia d'oro ai Campionati visa?
- Quali clienti hanno ricevuto un rimborso per il formaggio?
- A quale competizione Danell Leyva ha vinto una medaglia di bronzo?
Alcune formulazioni verbo vengono create automaticamente quando una colonna viene riconosciuta come contenente sia un verbo che una preposizione.
Ecco un esempio dell'aspetto di una formulazione verbo all'interno dello schema linguistico:
customers_buy_products_from_salespeople:
Binding: {Table: Orders}
Phrasings:
- Verb:
Subject: customer
Verbs: [buy, purchase]
Object: product
PrepositionalPhrases:
- Prepositions: [from]
Object: salesperson
Relazioni con più formulazioni
Spesso, una singola relazione può essere descritta in più modi. In questo caso, una singola relazione può avere più di una formulazione. È comune che la relazione tra un'entità di tabella e un'entità di colonna abbia sia una formulazione di attributo che un'altra formulazione. Ad esempio, nella relazione tra il cliente e il nome del cliente, è necessario che sia una formulazione di attributo (ad esempio "clienti hanno nomi") sia una formulazione di nome (ad esempio, "i nomi dei clienti sono i nomi dei clienti"), in modo da poter porre entrambi i tipi di domande.
Ecco un esempio dell'aspetto di una relazione con due formulazioni all'interno dello schema linguistico:
customer_has_name:
Binding: {Table: Customers}
Phrasings:
- Attribute: {Subject: customer, Object: customer.name}
- Name:
Subject: customer
Object: customer.name
Un altro esempio è l'aggiunta della formulazione alternativa "i dipendenti vendono i prodotti dei clienti" alla relazione "i clienti acquistano prodotti dai dipendenti". Non è necessario aggiungere varianti come "i dipendenti vendono prodotti ai clienti" o "i prodotti vengono venduti ai clienti dai dipendenti" perché le varianti "by" e "to" dell'oggetto soggetto e indiretto vengono dedotti automaticamente da Q&A.
Considerazioni e risoluzione dei problemi
Se si apporta una modifica a un file con estensione lsdl.yaml non conforme al formato dello schema linguistico, gli squiggli di convalida indicano il problema:
Altre domande? Chiedere al Community di Power BI
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per