白皮書

在 Ask Data 中為自然語言互動準備資料

Tableau 的自然語言功能 Ask Data 可用於 Tableau Server 或 Tableau Cloud 上所有已發佈的資料來源。但是,為了充分運用 Ask Data 的所有優勢,您需要規劃資料來源以支援最佳分析對話。

為了協助您在組織中部署 Ask Data,我們整理了本指南,介紹如何規劃資料來源以獲得成功的使用者體驗。

瞭解使用者提出的問題

Ask Data 運用上下文來確定相關資料類型的屬性,將話語分解為令牌,也就是包含時間、空間或數字運算式的標記,藉以瞭解使用者的意圖。接著,Ask Data 會使用視覺最佳實務來確定最合適的視覺化,以滿足使用者的意圖。

假設某人想要針對包含年初至今銷售額的已發佈資料來源提出問題。這些人可以在「Ask Data」輸入方塊中輸入「一段時間內的利潤是多少?」之類的問題。在這種情況下,Ask Data 透過將「利潤」匯總為總和 (預設匯總) 來解析使用者的意圖。 Ask Data 也會將「時間」的意圖解析為資料來源中的「訂單日期」屬性,這個屬性會按其年份匯總 (圖 1)。

Figure 1  Visualization output from the expression “what is the profit over time?”

圖 1: 運算式「一段時間內的利潤是多少?」的視覺化輸出

當所有的屬性都是預期的資料類型時,Ask Data 的推理演算法最有效。在此範例中,預期資料類型為「日期」,會產生時間序列視覺化 (一段時間內的趨勢)。應使用預期的預設匯總和數字格式指定度量。

藉由 Ask Data 功能,您可以用英文針對已發佈資料來源中的計算欄位、列欄位、群組欄位和 Bin 欄位提出問題。Ask Data 目前不支援集合、參數、組合欄位、組合集或階層。Tableau 正努力在以後的版本中新增對這些欄位類型的支援。


Ask Data 中支援的分析運算式

目前有五種基本類型的分析運算式。話語由這些運算式中的一個或多個組成。

Ask Data 支援下列分析運算式:

匯總運算式:將多行的值組合在一起,依據數學函數形成單一值。例如,「Sum of Sales」(銷售總額)、「Average Profit」(平均利潤) 或「Count of Customers」(客戶數)。

群組運算式:用於將資料劃分為資料視覺化中顯示的類別,例如「by Region」(按地區) 或「by Sales」(按銷售額)。

排序運算式:按順序排列資料行的運算式,例如升冪、降冪或字母順序排列。例如,「sort Products in ascending order by sum of Profit」(按利潤總和的升冪排序產品) 或「sort Customer Name in alphabetical order」(以字母順序排序客戶名稱)。

篩選運算式:傳回欄位領域的子集的運算式。這些運算式可以是數字篩選條件,例如「sum of Sales at least $2,000銷」(售總額至少為 2,000 美元) 或分類篩選條件,例如「Customer Name starts with John」(客戶名稱以 John 開頭) 或「Category contains Manufacturing」(類別包含製造)。

限制運算式:運算式類似於傳回欄位領域子集的篩選條件,但會限制子集的行數。例如,「top 5 Wineries by sum of Sales」(按銷售額總計排名前 5 位的酒廠) 或「bottom Category by average Profit」(按平均利潤計算排名最低的類別)。

進一步瞭解支援的分析功能

Ask Data 為這些概念提供一些常見的內建同義詞,例如如「從最大」就表示是降冪,「均值」就是平均值。Ask Data 也提供一些縮寫,例如「cnt」表示計數,「avg」表示平均值等等。請跳至下文瞭解如何在 Ask Data 中新增使用者同義詞。

另外,Ask Data 將時間運算式 (與時間相關的運算式) 表示為絕對或相對。Ask Data 支援絕對時間概念,例如「start in」(開始於)、「end in」(結束於) 和「between」(介於) 之類的運算式,同時也支援相對時間概念,例如「last 3 years」(過去 3 年)、「next quarter」(下一季度)、「this month」(本月)、「今天」(today) 和「yesterday」(昨天) 等運算式。

準備資料來源以進行最佳分析對話

Ask Data 能夠與 Tableau Server 或 Tableau Online 上任何已發佈的資料來源搭配使用。為了提供方便的預設值來使用篩選條件運算式,Ask Data 使用了與欄位有關的中繼資料豐富了語義模型。對於連續數值測量,該中繼資料包括統計資訊,例如「最小值」、「最大值」和「平均值」。對於文字欄位,中繼資料則包含最常出現的值。

使用者在 Ask Data 中輸入篩選條件運算式時,此中繼資料允許系統針對值提供相關的建議。例如,在下圖中,由於中繼資料中「Price」(價格) 屬性的最小值是「$ 4」,因此系統建議使用篩選條件「at least」(至少)。

A user types a filter expression in Ask Data, this metadata allows the system to provide defaults for values.

圖 2:由於中繼資料中「Price」(價格) 屬性的最小值是「$ 4」,因此系統建議使用篩選條件「at least」(至少)。

對於採用行級安全性的資料來源,Ask Data 不會對語義模型中的欄位進行概要分析、編制索引或儲存中繼資料。由於缺少中繼資料,Ask Data 無法提供篩選條件預設值 (如圖 2 所示)、識別比較概念 (例如「便宜」或「高」),或在資料窗格的工具提示中顯示設定檔資料。

但是,我們瞭解某些資料來源有行級安全性的要求。在這些情況下,Ask Data 無法針對您的資料來源編制索引,但您仍然可以藉由指定確切的篩選值並用引號將該值括住來善用 Ask Data 的優勢。

例如,假設您想查看「wineries in california that have pinot noir」(加州有釀造黑皮諾的葡萄酒廠)。如果資料來源採用行級安全性,則需要如下所示輸入查詢內容:

Wineries filter State to “California” filter Variety to “Pinot Noir”

無需針對日期、布林值或數字使用引號,因為 Ask Data 可以自動解釋這些類型的值,並將這些值與適當的欄位比對。

如果您已經為組織發佈經過認證的資料來源,則團隊可以在 Ask Data 中運用這些來源。但您可能希望為一般使用者開啟其他來源或重新整理現有來源,更輕鬆地在 Ask Data 中進行分析。若要充分運用「Ask Data」功能,在整理資料時請僅記以下因素。



整理資料時需考慮到一般使用者

如果資料管理員或分析師瞭解如何準備資料供進行分析,又能預測使用者會使用自然語言對資料提出各種問題,那麼資料在經過他們精心整理後,Ask Data 使用者就能更順利地回答問題。

閱讀有關整理已發佈資料來源最佳實務的詳細資訊。

在為 Ask Data 整理資料時,首先要盡可能簡化已發佈的資料來源。這表示僅保留最小的欄位集供使用者在與 Ask Data 的互動中查詢,並從資料來源中移除 (或隱藏) 不必要的欄位。Ask Data 支援最多 1,000 個欄位的資料來源,但資料越明確越好。這有助於提升整體系統效能,藉以加快初始化時間並解析自然語言。如果資料來源很慢,請使用具有資料來源篩選條件的資料擷取 (如果需要) 來提高效能。

在為 Ask Data 中的查詢整理資料來源時,請考慮下列因素:

準備資料。嘗試預測使用者希望使用資料來源回答的問題類型。可能需要使用資料整理,聯接操作和相關資料準備功能,才能讓資料適合用於回答這些預期的問題。

設定適當的欄位預設值。為每個欄位指定正確的資料類型 (例如字串、數字、地理位置、日期、日期時間、布林值) 和資料欄位角色 (例如,離散與連續、度量與維度)。請為每個度量指派預設的匯總函數。例如,「Sales」(銷售額) 適合的預設值是 SUM,但如果是「Test Score」(測試分數),則 AVERAGE 可能是更好的預設值。

設定百分比和貨幣數字格式。為了支援使用者詢問資料常用的口語概念,Ask Data 包括例如「low」(低)、「high」(高)、「lowest」(最低)、「highest」(最高) 等基本概念,同時也支援貨幣概念,例如「cheap」(便宜) 和「expensive」(昂貴) 等,以及這些概念相對應的同義詞。為了便於瞭解「show me the cheapest wineries in France」(顯示法國最便宜的葡萄酒廠) 等話語,必須將資料來源中的度量設為適當的貨幣格式 (如圖 3 和圖 4 所示)。

Figure 3   Set up measures in the data source with the appropriate currency format.

圖 3:將資料來源中的度量設為適當的貨幣格式。

Figure 4   For the utterance “cheapest wineries in France,” the system infers a currency attribute ‘Price’ for the concept ‘cheapest’.  Ask Data infers a numeric range from the metadata for ‘Price’. Clicking on ‘cheapest’ refines the inferred numerical values.

圖 4:對於「cheapest wineries in France」(法國最便宜的葡萄酒廠) 話語,系統推斷貨幣屬性「Price」(價格) 是表示「cheapest」(最便宜) 的概念。Ask Data 從「Price」(價格) 的中繼資料中推斷出一個數值範圍。按一下「cheapest」(最便宜) 可以重新整理推斷的數值。

設定邏輯階層。這允許使用者在使用 Ask Data 產生的視覺化內容中上鑽查詢和下鑽查詢。這適用於地理維度 (例如城市、州/省、國家/地區),日期和時間 (例如年、季、月) 和功能相關維度 (例如,類別和子類別)。

在下列方案中,為定量變數建立有意義的資料桶欄位 (具有適當的資料桶大小):

  • 查看不是資料來源中度量的欄位的資料桶版本。
    例如,「Age」(年齡) 是一個數字維度,在 Tableau 中無法以直方圖表示,因此使用 Ask Data。但是,在資料來源中為「Age」(年齡) 建立資料桶欄位可讓使用者使用其資料桶版本提出問題 (如圖 5 所示)。
Figure 5 A user can type “by Age (bin)” to view a binned form of the dimension as a bar chart.

圖 5:使用者可以輸入「by Age (bin)」(按年齡 (資料桶)) 以條形圖的格式查看維度的資料桶形式。

  • 使用自訂資料桶設定在 Ask Data 中引發直方圖回應。
    使用自訂資料桶大小建立度量的資料桶欄位可以進一步控制這些欄位在 Ask Data 中的顯示方式。在下面的範例中 (圖 7),使用者可以輸入「Fare as a histogram」(以直方圖顯示票價),Ask Data 將使用資料桶欄位「Fare (bin)」(票價 (資料桶)) 中的自訂資料桶設定來產生直方圖。
Figure 6

圖 6:在「資料」窗格中,按一下滑鼠右鍵 (如果是 Mac,請按住 Control 鍵並按一下),然後選取「建立」>「資料桶」。

Figure 7 Visualization output of the expression, “Fare as a histogram” with custom bin sizes.

圖 7:「Fare as a histogram」(以直方圖顯示票價) 運算式的視覺化輸出 (具有自訂資料桶大小)。

為欄位指定唯一且有意義的名稱

為了讓一般使用者更容易瞭解您的資料來源,並且讓其他人更有機會從 Ask Data 獲得所需的答案,您應該稽核資料來源中的欄位名稱。

採取下列步驟以打造理想的使用者體驗:

為欄位值建立有意義的別名。在 Tableau Desktop 中,您可以使用別名建立簡單易用的欄位名稱 (例如使用「CustID」表示「Customer ID」(客戶 ID))。這是資料管理的標準建議。對於 Ask Data,您可以更進一步新增同義詞。例如,其他人也可以在內部使用「Customer Number」(客戶編號) 來表示「Customer ID」(客戶 ID)。在這些情況下,您可以將這些額外的同義詞新增到 Ask Data 以支援使用者的問題。

區分您的屬性。為資料來源中的屬性指派唯一名稱可以在 Ask Data 中達到更好的使用者體驗。如果運算式不夠明確,則 Ask Data 會查找與資料中的模式大致相符的字串 (最多可達到一個字元的差異),這也稱為模糊字串配對。接著 Ask Data 會顯示多個相符選項供使用者選擇。在下列範例中(圖 8),資料來源中包含多個「Sales」(銷售額) 一詞的屬性。但是,輸入「sales」(銷售額) 僅會出現三個相符的屬性,因為輸入的「sales」(銷售額) 這個字和属性「Sales Foo」(銷售額 Foo) 相差不止一個字元。

Figure 8

圖 8

此外,如果屬性對資料來源領域具有語意上的意義,則建議將這些屬性命名,讓分析任務能夠直覺地理解 Ask Data 中提出的問題。例如,資料來源中的每筆記錄都是表示地震,因此將「Number of Records」(記錄數) 重新命名為「Number of Earthquakes」(地震次數) (圖 9)。

Figure 9

圖 9

檢查欄位名稱。Ask Data 會根據資料來源中的欄位來篩選值。避免將欄位命名為值,以防止 Ask Data 將資料欄位誤解為值 (諸如數字、日期或布林值,例如「true」或「false」)。此外,基於效能原因,Ask Data 不會對於與支援的分析運算式重疊的欄位編制索引。例如,避免使用「平均」、「2015 年銷售額」或「銷售量最大的產品」等欄位名稱。

對地理欄位進行地理編碼。對於具有地理角色的欄位,請確保資料值已成功進行地理編碼。值已成功進行地理編碼的欄位在 Ask Data 中會被識別為地理屬性,在資料窗格中會以圖示指示 (圖 10)。這類屬性支援像是「where are the highest fire fatalities?」(哪個地方火災死亡率?) 之類的話語,系統識別令牌「where」(哪個地方) 以指示地圖並推斷出有效的地理屬性,例如「County」(縣)。

圖 10

新增相關的計算欄位

Ask Data 無法建立動態計算,因此您需要提前將預期的計算新增到資料來源中。例如,建立名稱為「Total Compensation」(總薪酬) 的計算欄位,將「Base (Variable)」(基礎 (變數)) 中的最低基本工資與「Commission (Variable)」(佣金 (變數)) 的總佣金相加,允許使用者輸入「what is the total compensation for each sales person?」(每位銷售人員的總薪酬是多少?) 等問題。(圖 11 和 12)。

圖 11:若要建立計算欄位,請選取「分析」>「建立計算欄位」。若要編輯計算欄位,請以滑鼠右鍵按一下「資料」窗格中的計算欄位,然後選取「編輯」。

Figure 12

圖 12:建立名稱為「Total Compensation」(總薪酬) 的計算欄位,將「Base (Variable)」(基礎 (變數)) 中的最低基本工資與「Commission (Variable)」(佣金 (變數)) 的總佣金相加,允許使用者輸入「what is the total compensation for each sales person?」(每位銷售人員的總薪酬是多少?) 等問題。

使用使用者同義詞讓資料更豐富

您可以透過「Ask Data」欄位窗格為資料來源中的欄位定義同義詞。例如,假設您有關於汽車購買情況的資料來源,其中一個欄位是「New Vehicle Model」(新車車型)。新增「vehicle purchased」(購買的汽車) 和「car」(汽車) 做為「New Vehicle Model」(新車車型) 欄位的同義詞,即可支援「vehicles purchased by city」(各城市購買的汽車) 之類的自然語言話語 (圖 13)。

圖 13:若要為特定資料欄位新增同義詞,請將滑鼠游標懸停在資料來源欄位上,按一下向下箭頭,然後選擇「編輯同義詞」。輸入欄位名稱的同義詞,中間以逗號分隔。

啟用資料存取和治理

Ask Data 的安全性和治理措施與您在 Tableau Server 或 TableauOnline 中熟悉的相同安全性和治理措施是一樣的。下列部分提供將認證資料來源與 Ask Data 搭配使用以及控制整個組織對 Ask Data 的存取有關的詳細資訊。


設定角色和權限

為 Ask Data 整理資料後,您就可以控制哪些人有權存取該功能。若要使用 Ask Data,使用者需要 Creator 或 Explorer 角色,並且具有可以在 Tableau Server 或 Tableau Online 上進行 Web 製作的存取權限。Tableau Server 管理員可以在網站層級指定權限,以確定哪些人有權存取 Web 製作功能 (如圖 14 所示)。分析師和業務使用者都會發現 Ask Data 的價值,這是一種快速簡便的方法,可以快速、輕鬆地找到資料來源,並立即得到有意義的見解。

詳細瞭解 Web 製作權限

圖 14:在網站層級指定權限,以確定哪些人有權存取 Web 製作功能 (包括 Ask Data)。

檢查認證資料來源

使用者可以在 Tableau Server 或 Tableau Online 上認證資料來源,以表示該資料來源是受信任而且受到管理。這項認證並不是功能專屬的認證,也沒有 Ask Data 專屬的認證。但是,如果使用者想要特別針對資料來源停用 Ask Data,則可以在 Tableau Server 使用者介面的資料來源設定中執行此操作 (如圖 15 和 16 所示)。

圖 15

圖 16:如果需要,可以在 Tableau Server 或 Tableau Online 的資料來源詳細資訊部分中針對某些資料來源停用 Ask Data。

Ask Data 讓您組織中的每個人都能提出與其資料相關的問題。遵循這些資料整理指南將有助於您使用自然語言準備資料,以打造理想的使用者體驗。