백서

'데이터에 질문'에서 자연어 상호 작용이 가능하도록 데이터 준비

Tableau의 자연어 기능인 '데이터에 질문'은 Tableau Server 또는 Online에 게시된 모든 데이터 원본에 대해 작동하도록 설계되었습니다. 하지만 '데이터에 질문'의 모든 이점을 활용하기 위해서는 최적의 분석 대화를 지원하도록 데이터 원본을 큐레이션해야 합니다.

'데이터에 질문'을 조직에 배포하기 쉽도록 성공적인 사용자 환경을 위한 데이터 원본 큐레이션 방법 가이드를 준비했습니다.

사람의 질문 이해

'데이터에 질문'은 관련 데이터 유형의 특성을 파악하는 데 컨텍스트를 활용합니다. 즉, 사람의 말을 시간, 공간 또는 수치적 표현이 담긴 구문인 토큰으로 분해하여 의도를 이해합니다. 그런 다음 시각적 모범 사례를 사용해 사용자 의도에 맞는 가장 적절한 비주얼리제이션 유형을 결정합니다.

예를 들어 어떤 사람이 연간 누계(YTD) 매출이 포함된 게시된 데이터 원본에 질문을 하려고 합니다. 이 사람은 '데이터에 질문' 입력란에 “what is the profit over time?”(시간 경과에 따른 누적 수익은?)과 같은 질문을 입력할 수 있습니다. 이 경우 '데이터에 질문'은 'Profit'(수익)을 집계하여 기본 집계 형식인 합계로 내는 식으로 사용자의 의도를 파악합니다. 또한 'time'(시간)이라는 의도를 데이터 원본의 'Order Date'(주문 날짜) 속성에 대하여 해당 연도 수준에서 집계하는 것으로 해석합니다(그림 1).

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

그림 1: "what is the profit over time?(시간 경과에 따른 누적 수익은?)"이라는 표현에 대해 출력된 비주얼리제이션

'데이터에 질문'의 추론 알고리즘은 모든 속성이 예상된 데이터 유형일 때 가장 효과적입니다. 이 경우 예상 데이터 유형은 'Date'(날짜)이며 이로부터 시계열 비주얼리제이션, 즉 시간 경과에 따른 추세가 출력됩니다. 측정값은 예상된 기본 집계 및 숫자 서식을 사용하여 지정해야 합니다.

'데이터에 질문' 기능을 사용하여 게시된 데이터 원본의 계산된 필드, 열 필드, 그룹 필드 및 구간차원 필드에 대해 영어로 된 질문을 할 수 있습니다. 집합, 매개 변수, 결합된 필드, 결합된 집합 또는 계층은 현재 '데이터에 질문'에서 지원하지 않습니다. Tableau는 향후 릴리스에서 이러한 필드 유형에 대한 지원을 추가하려고 노력하고 있습니다.


'데이터에 질문'에서 지원되는 분석 표현식

다섯 가지의 기본 분석 표현식 유형이 있습니다. 사람의 말에는 이러한 표현이 하나 이상 들어갑니다.

'데이터에 질문'에서 지원되는 분석 표현식은 다음과 같습니다.

집계 표현식: 다중 행의 값이 그룹화되어 수학 함수에 기반하는 단일 값을 이룹니다. 예를 들어, '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천 달러 이상 매출 합계)와 같은 숫자 필터나 'Customer Name starts with John'(John으로 시작하는 고객 이름) 또는 'Category contains Manufacturing'(제조 포함 범주)과 같은 범주형 필터가 여기에 포함될 수 있습니다.

제한 식: 필드 도메인의 하위 집합을 반환하는 필터와 흡사하나, 행 하위 집합으로만 제한하는 표현식입니다. 예를 들어, 'top 5 Wineries by sum of Sales'(매출 합계 기준 상위 5개 와이너리) 또는 'bottom Category by average Profit'(평균 수익 기준 하위 범주) 등입니다.

지원되는 분석 기능에 대해 자세히 알아보십시오.

'데이터에 질문'에는 내림차순의 경우 'from largest'(가장 큰 것부터), 평균(average)의 경우 'mean'(평균)과 같이 개념에 대한 일반적인 동의어 몇 가지가 기본으로 제공됩니다. 개수의 경우 'cnt', 평균의 경우 'avg'와 같은 약어도 일부 제공합니다. '데이터에 질문'에 사용자 동의어를 추가하는 방법을 알아보려면 앞으로 이동하십시오.

또한 '데이터에 질문'은 시간과 관련된 표현식인 시간 표현식을 절대값 또는 상대값으로 표현합니다. '데이터에 질문'은 'starts in'(시작 시각), 'ends in'(종료 시각) 및 'between'(사이)과 같은 표현식으로 절대 시간 개념을 지원합니다. 'last 3 years'(지난 3년), 'next quarter'(다음 분기), 'this month'(이번 달), 'today'(오늘) 및 'yesterday'(어제)와 같은 표현식에 해당하는 상대 시간 개념도 지원합니다.

최적의 분석 대화를 위한 데이터 원본 준비

'데이터에 질문'은 Tableau Server 또는 Online에 게시된 모든 데이터 원본에 대해 작동하도록 설계되었습니다. 필터 표현식에 편리한 기본값을 제공하도록 '데이터에 질문' 의미 체계 모델에는 필드에 대한 메타데이터가 추가됩니다. 연속형 숫자 측정값의 경우, 이러한 메타데이터에 'minimum'(최소), 'maximum'(최대), 'average'(평균)와 같은 통계 정보가 포함됩니다. 텍스트 필드의 경우, 메타데이터에 가장 많이 사용되는 값이 포함됩니다.

사용자가 '데이터에 질문'에 필터 표현식을 입력하면 이러한 메타데이터를 사용하여 시스템에서 그 값에 대한 제안 사항을 제공합니다. 예를 들어 아래 그림에서 '$4'는 메타데이터에서 'Price'(가격) 속성 및 'at least'(최소) 필터에 대한 최소값으로 제공됩니다.

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

그림 2: '$4'는 메타데이터에서 'Price'(가격) 속성 및 'at least'(최소) 필터에 대한 최소값으로 제공됩니다.

행 수준 보안이 설정된 데이터 원본의 경우에는 '데이터에 질문'에서 프로파일링이나 인덱싱을 제공하지 않으며, 의미 체계 모델에 필드에 대한 메타데이터를 저장하지도 않습니다. 메타데이터가 없으면, '데이터에 질문'에서 필터 기본값을 제공하지 못 하고(그림 2 참조), 'cheap'(값싼) 또는 'high'(높은)와 같은 비교 개념을 인식하지 못하며, 데이터 패널의 도구 설명에 프로필 데이터가 표시되지 않습니다.

하지만 일부 데이터 원본에 행 수준 보안 요구사항이 있음을 잘 알고 있습니다. 이러한 상황에서는 '데이터에 질문'에서 데이터 원본을 인덱싱할 수 없지만 필터링하려는 정확한 값을 지정하고 이 값을 따옴표 안에 포함하여 '데이터에 질문'의 이점을 계속 이용할 수 있습니다.

예를 들어 '피노 누아 와인을 보유한 캘리포니아의 와이너리'를 확인하려는 경우, 데이터 원본에 행 수준 보안이 있다면 쿼리를 다음과 같이 입력해야 할 것입니다.

Wineries filter State to “California” filter Variety to “Pinot Noir”
(와이너리 '주' 필터를 '캘리포니아'로 '여러 가지' 필터를 '피노 누아'로)

'데이터에 질문'은 날짜, 부울 또는 숫자의 값을 자동으로 해석하여 적절한 필드에 일치시키므로 이러한 유형에는 따옴표를 사용할 필요가 없습니다.

조직에서 인증된 데이터 원본을 이미 게시한 경우, 팀원들은 '데이터에 질문'에서 이러한 원본을 활용할 수 있습니다. 그렇지만 최종 사용자에게 추가로 원본을 공개하거나 '데이터에 질문'에서 분석하기 쉽도록 기존 원본을 변형해볼 수 있습니다. '데이터에 질문' 기능을 최대한 활용하려면 다음 요소를 염두에 두고 데이터를 큐레이션하십시오.



최종 사용자를 감안한 데이터 큐레이션

분석에 적합하도록 데이터를 준비하는 방법을 잘 알 뿐만 아니라 사용자가 자연어로 '데이터에 질문'하는 질문 유형을 예측할 수 있는 데이터 관리자 또는 분석가가 데이터를 주의 깊게 큐레이션할 경우, '데이터에 질문' 사용자는 훨씬 더 성공적으로 질문에 대한 답을 찾을 수 있습니다.

게시된 데이터 원본 큐레이션 모범 사례에 대한 자세한 내용을 알아보십시오.

'데이터에 질문'에 사용하도록 데이터를 큐레이션할 때는 먼저 게시된 데이터 원본을 최대한 단순화합니다. 다시 말해서 사용자가 '데이터에 질문'과의 상호 작용에서 쿼리할 필드 집합을 최소한으로 유지하고 데이터 원본에서 불필요한 필드를 삭제 또는 숨깁니다. '데이터에 질문'은 최대 1,000개의 필드가 있는 데이터 원본을 지원하지만, 모호성이 적을수록 결과는 더 좋아집니다. 또한, 초기화 시간 단축 및 자연어 발언 구문 분석과 관련된 전체 시스템 성능에 도움이 됩니다. 데이터 원본이 느리다면, 필요한 경우 datasource 필터를 적용한 데이터 추출을 사용해 성능을 개선합니다.

'데이터에 질문'에서 쿼리할 데이터 원본을 큐레이션할 때 다음 요소를 고려하십시오.

데이터 준비. 사용자가 데이터 원본을 사용해 답을 구하려는 질문 유형을 예상해 보십시오. 이러한 예상 질문에 답하기 적합하도록 데이터를 구성하려면 데이터 변형, 조인 작업 및 관련 데이터 준비 기능이 필요할 수 있습니다.

적절한 필드 기본값 설정. 각 필드에 올바른 데이터 유형(예: 문자열, 숫자, 지리, 날짜, 날짜/시간, 부울) 및 데이터 필드 역할(예: 불연속형 대 연속형, 측정값 대 차원)을 할당하십시오. 각 측정값에 대해 기본 집계 기능을 할당합니다. 예를 들어 'Sales'(매출)에 대한 적절한 기본값은 SUM일 수 있지만 'Test Score'(시험 점수)의 경우 AVERAGE가 기본값으로 더 적절할 수 있습니다.

퍼센트 및 통화 숫자 형식 설정. '데이터에 질문'은 사람들이 데이터에 질문하기 쉬운 공통된 구어 개념을 지원하도록 '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"(프랑스에서 가장 저렴한 와이너리)라는 말의 경우, 시스템에서 'cheapest'(가장 저렴한)이라는 개념에 대해 'Price'(가격) 통화 속성을 추론해 냅니다. '데이터에 질문'은 'Price'(가격) 메타데이터에서 숫자 범위를 추론합니다. 'cheapest'(가장 저렴한)를 클릭하면 추론한 숫자 값이 세부 조정됩니다.

논리 계층 설정. 논리 계층을 설정하면 사용자가 '데이터에 질문'에서 만든 비주얼리제이션 내에서 세부 단계를 드릴업 또는 드릴다운하며 볼 수 있습니다. 지리적 차원(예: 도시, 주, 국가), 날짜 및 시간(예: 년, 분기, 월) 및 기능상 종속적인 차원(예: 범주 및 하위 범주)에 이러한 논리 계층이 적용됩니다.

다음 경우에 수량 변수에 대한 의미 있는 구간차원 필드를 적절한 구간차원 크기로 생성하십시오.

  • 데이터 원본의 측정값이 아닌 필드의 구간차원 버전 보기.
    예를 들어 'Age'(나이)는, Tableau에서 히스토그램으로 표현할 수 없는 숫자 차원이어서 '데이터에 질문'에서도 마찬가지입니다. 그러나 데이터 원본에 '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)'(연령별, 구간차원)라고 입력하여 차원의 구간차원 형태를 막대 차트로 볼 수 있습니다.

  • 사용자 지정 구간차원 설정을 사용해 '데이터에 질문'에서 히스토그램 답변 유도하기.
    측정값 구간차원 필드를 사용자 지정한 구간차원 크기로 만들면 '데이터에 질문'에 이러한 필드가 표시되는 방법을 세부적으로 제어할 수 있습니다. 아래 예(그림 7)에서 사용자가 “Fare as a histogram”(요금을 히스토그램으로 표시)이라고 입력하면 '데이터에 질문'에서 'Fare (bin)'(요금, 구간차원) 구간차원 필드의 사용자 지정 구간차원 설정을 사용해 히스토그램을 생성합니다.
Figure 6

그림 6: 데이터 패널에서 오른쪽 클릭(Mac에서는 control 클릭)하고 Create(만들기) > Bins(구간차원)를 선택합니다.

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

그림 7: 사용자 지정 구간차원 크기를 사용하는 “Fare as a histogram”(요금을 히스토그램으로 표시) 표현에 대해 출력된 비주얼리제이션.

필드에 고유하고 의미 있는 이름 지정

최종 사용자가 데이터 원본을 더 쉽게 이해하고 사람들이 '데이터에 질문'에서 필요한 답을 얻을 확률이 높아지게 하려면, 데이터 원본의 필드명을 점검해야 합니다.

이상적인 사용자 환경을 만들려면 다음 단계를 수행합니다.

필드 값에 대한 의미 있는 별칭을 지정. Tableau Desktop에서는 별칭(예: 'CustID'는 '고객 ID'임)을 사용하여 사용자 친화적인 필드명을 만들 수 있습니다. 이것은 데이터 큐레이션을 위한 표준 권고 사항입니다. '데이터에 질문'에서는 동의어를 추가함으로써 이 기능을 한층 더 개선할 수 있습니다. 예를 들어 사람들은 실제로는 'Customer ID'(고객 ID)를 가리키는 데 'Customer Number'(고객 번호)를 사용할 수 있습니다. 이 상황에서 '데이터에 질문'에 이러한 동의어를 추가하여 사용자 질문을 지원할 수 있습니다.

속성 차별화. 데이터 원본의 속성에 고유 이름을 지정하면 '데이터에 질문'의 사용자 환경을 개선할 수 있습니다. 표현식이 모호한 경우, '데이터에 질문'은 패턴과 한 글자까지만 다른 거의 일치하는 문자열을 데이터에서 찾아내는데, 이를 퍼지 문자열 일치라고 합니다. 그러면 '데이터에 질문'에 여러 개의 일치 항목이 옵션으로 표시됩니다. 아래 예(그림 8)에서 'Sales'(매출) 단어가 있는 여러 개의 속성이 데이터 원본에 존재합니다. 그렇지만, 'sales'(매출)라고 입력하면 입력 단어 'sales'(매출)와 'Sales Foo' 속성이 두 글자 이상 다르기 때문에 세 개의 속성만 일치하는 것으로 나옵니다.

Figure 8

그림 8

'데이터에 질문'에 제기된 질문이 분석 작업에 직관적으로 사용하기 쉽도록 데이터 원본의 도메인에 의미론적으로 의미 있는 속성의 이름을 지정하는 것도 좋습니다. 예를 들어 해당 데이터 원본에서 각각의 레코드가 지진을 가리킬 때, 'Number of Records'(레코드 수)를 'Number of Earthquakes'(지진 수)로 이름을 바꿔줍니다(그림 9).

Figure 9

그림 9

필드명 점검. '데이터에 질문'에서는 값이 데이터 원본의 필드를 기준으로 필터링됩니다. '데이터에 질문'에서 데이터 필드를 값으로 잘못 해석하지 않도록 필드명을 값으로 지정하지 마십시오(예: 숫자, 날짜 또는 'true'(참) 또는 'false'(거짓)와 같은 부울 값). 또한 성능상의 이유로 '데이터에 질문'에서는 지원되는 분석 표현식과 겹치는 필드가 인덱싱되지 않습니다. 예를 들어 'Average'(평균), 'Sales in 2015'(2015년 매출) 또는 'Most Products Sold'(가장 많이 판매된 제품)와 같은 필드명을 사용하지 마십시오.

지리적 필드 지오코딩. 필드에 지리적 역할이 설정되어 있으면, 데이터 값의 지오코딩이 잘 되어 있는지 확인하십시오. 필드 값 지오코딩이 잘 되어 있으면 '데이터에 질문'에서 지리적 속성으로 인식되어 데이터 패널에 아이콘이 표시됩니다(그림 10). 그러한 속성은 시스템에서 지도를 가리키는 'where'(위치) 토큰을 인식하고 'County'(카운티) 같은 유효한 지리적 속성을 추론하므로, "where are the highest fire fatalities?"(화재 사망률이 가장 높은 지역은?)와 같은 표현을 지원합니다.

그림 10

관련된 계산된 필드 추가

'데이터에 질문'에서는 즉석에서 계산이 만들어지지 않으므로 데이터 원본에 미리 예상 계산을 추가해야 합니다. 예를 들어 'Base (Variable)'(기본급, 변수)의 최소 기본급에 'Commission (Variable)'(커미션, 변수)의 커미션 총액을 더하는 'Total Compensation'(보상금 총액)이라는 계산된 필드를 만들면 사용자가 "what is the total compensation for each sales person?"(영업사원별 보상금 총액은?)과 같은 질문을 입력할 수 있습니다. (그림 11 및 12).

그림 11: 계산된 필드를 만들려면 Analysis(분석) > Create Calculated Field(계산된 필드 만들기)를 선택합니다. 계산된 필드를 편집하려면 데이터 패널에서 계산된 필드를 오른쪽 클릭하고 편집을 선택합니다.

Figure 12

그림 12: 'Base (Variable)'(기본급, 변수)의 최소 기본급에 'Commission (Variable)'(커미션, 변수)의 커미션 총액을 더하는 'Total Compensation'(보상금 총액)이라는 계산된 필드를 만들면 사용자가 "what is the total compensation for each sales person?"(영업사원별 보상금 총액은?)과 같은 질문을 입력할 수 있습니다.

데이터에 사용자 동의어 추가

'데이터에 질문' 필드 패널을 통해 데이터 원본 내에서 필드에 대한 동의어를 지정할 수 있습니다. 예를 들어 자동차 구매에 관한 데이터 원본이 있고 그 필드 중 하나가 'New Vehicle Model'(새 자동차 모델)이라고 가정합니다. 'vehicle purchased'(구매한 차량) 및 'car'(자동차)를 'New Vehicle Model'(새 자동차 모델) 필드의 동의어로 추가하면 'vehicles purchased by city'(도시별 구매 차량)와 같은 자연어 표현을 지원할 수 있습니다(그림 13).

그림 13: 특정 데이터 필드에 대한 동의어를 추가하려면 데이터 원본 필드 위로 마우스오버하여 아래 화살표를 클릭하고 동의어 편집을 선택합니다. 필드명의 동의어를 쉼표로 구분하여 입력합니다.

데이터 액세스 및 거버넌스 구현

'데이터에 질문'에는 Tableau Server 또는 Online을 통해 친숙해진 동일한 보안 및 거버넌스 정책이 적용됩니다. 다음 섹션에서는 '데이터에 질문'에서 인증된 데이터 원본 사용 및 전체 조직의 '데이터에 질문' 액세스 권한 제어에 관한 자세한 정보를 제공합니다.


역할 및 사용 권한 설정

'데이터에 질문'에서 사용하도록 데이터를 큐레이션한 후에는 누가 이 기능에 액세스할지를 제어할 수 있습니다. 사용자가 '데이터에 질문'을 사용하려면 Creator 또는 Explorer 역할 및 Tableau Server 또는 Online의 웹 작성 액세스 권한이 있어야 합니다. Tableau Server 관리자는 웹 작성 기능에 액세스할 수 있는 사용자를 결정하는 데 사이트 수준 사용 권한을 지정할 수 있습니다(그림 14 참조). 분석가와 비즈니스 사용자 모두, 데이터 원본을 탐색하고 즉각적으로 의미 있는 인사이트를 발견하는 쉽고 빠른 방법으로서 '데이터에 질문'의 가치를 발견하게 됩니다.

웹 작성 사용 권한에 대해 자세히 알아보십시오.

그림 14: 사이트 수준에서 사용 권한을 지정하여 웹 작성 기능('데이터에 질문' 포함)에 액세스할 수 있는 사용자를 결정합니다.

인증된 데이터 원본 점검

사용자는 Tableau Server 또는 Online에서 데이터 원본을 인증하여 해당 데이터 원본이 신뢰할 수 있고 큐레이션되었다는 것을 알릴 수 있습니다. 이러한 인증은 기능별로 이루어지지 않으므로 '데이터에 질문'에 한정된 인증은 따로 없습니다. 그렇지만 사용자가 어떤 데이터 원본에 대해 특별히 '데이터에 질문'을 사용하지 않으려면, Tableau Server 사용자 인터페이스의 데이터 원본 설정에서 사용 안 함으로 설정할 수 있습니다(그림 15 및 16 참조).

그림 15

그림 16: 필요한 경우, Tableau Server 또는 Online의 데이터 원본 세부 정보 섹션에서 특정 데이터 원본에 대해 '데이터에 질문' 기능을 사용 안 함으로 설정할 수 있습니다.

'데이터에 질문'으로 조직의 누구나 데이터에 질문할 수 있는 가능성이 생겼습니다. 이 데이터 큐레이션 지침을 따라, 자연어를 사용하는 이상적인 사용자 환경에 맞도록 데이터를 준비하시기 바랍니다.