KR20060045677A - 목표 변수를 위한 데이터 전망 자동 생성 시스템 및 방법 - Google Patents

목표 변수를 위한 데이터 전망 자동 생성 시스템 및 방법 Download PDF

Info

Publication number
KR20060045677A
KR20060045677A KR1020050030779A KR20050030779A KR20060045677A KR 20060045677 A KR20060045677 A KR 20060045677A KR 1020050030779 A KR1020050030779 A KR 1020050030779A KR 20050030779 A KR20050030779 A KR 20050030779A KR 20060045677 A KR20060045677 A KR 20060045677A
Authority
KR
South Korea
Prior art keywords
variable
data
adjustment
variables
machine learning
Prior art date
Application number
KR1020050030779A
Other languages
English (en)
Other versions
KR101130524B1 (ko
Inventor
알란 폴팅
보 티에쏜
칼 엠. 카디에
크리스토퍼 에이. 미크
데이비드 이. 헥커맨
데이비드 엠. 칙커링
에릭 비. 비게사
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20060045677A publication Critical patent/KR20060045677A/ko
Application granted granted Critical
Publication of KR101130524B1 publication Critical patent/KR101130524B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Air Conditioning Control Device (AREA)
  • Feedback Control In General (AREA)

Abstract

본 발명은 기계 학습 기술을 이용하여 주어진 목표 변수에 대한 조정 변수의 자동 생성을 제공한다. 본 발명은 주어진 목표 변수에 대한 최적의 목표 변수 예측기를 결정 및 분석하고, 이를 이용하여 목표 변수에 대한 정보를 사용자에게 쉽게 전달한다. 본 발명은 목표 변수 예측기로서 이용되는 연속 및 이산 변수를 자동적으로 이산화하여 이들 변수의 입도를 설정한다. 본 발명의 다른 예들에서는, 복잡도 및/또는 효용도 파라미터를 지정하여 조정 변수의 복잡도 및/또는 효용도에 대한 최적 목표 변수 예측기의 분석을 통해 데이터 전망의 생성을 용이하게 한다. 또한, 본 발명은 조정 변수(즉, 목표 변수 예측기)를 조정하여 최적 뷰를 제공하고, 그리고/또는 사용자로부터 제어 입력을 받아들여 데이터 전망의 생성을 유도/제어할 수 있다.
데이터 전망, 기계 학습 기술, 조정 변수, 목표 변수, 복잡도 파라미터, 효용도 파라미터

Description

목표 변수를 위한 데이터 전망 자동 생성 시스템 및 방법{AUTOMATIC DATA PERSPECTIVE GENERATION FOR A TARGET VARIABLE}
도 1은 본 발명의 양상에 따른 데이터 전망 자동 생성 시스템의 블록도.
도 2는 본 발명의 양상에 따른 데이터 전망 자동 생성 시스템의 다른 블록도.
도 3은 본 발명의 양상에 따른 데이터 전망 자동 생성 시스템의 또 다른 블록도.
도 4는 본 발명의 양상에 따른 데이터베이스로부터의 정보를 나타낸 테이블도.
도 5는 본 발명의 양상에 따른 데이터베이스로부터의 주어진 목표 변수에 대한 데이터 전망을 나타낸 테이블도.
도 6은 본 발명의 양상에 따른 완전한 의사결정 트리를 나타낸 그래프도.
도 7은 본 발명의 양상에 따른 의사결정 트리를 나타낸 그래프도.
도 8은 본 발명의 양상에 따른 데이터 전망 자동 생성을 용이하게 하는 방법의 흐름도.
도 9는 본 발명의 양상에 따른 데이터 전망 자동 생성을 용이하게 하는 방법의 다른 흐름도.
도 10은 본 발명의 양상에 따른 데이터 전망 자동 생성을 용이하게 하는 방법의 또 다른 흐름도.
도 11은 본 발명의 양상에 따른 데이터 전망 자동 생성을 용이하게 하는 방법의 또 다른 흐름도.
도 12는 본 발명이 작용할 수 있는 예시적인 운영 환경을 도시한 도면.
도 13은 본 발명이 작용할 수 있는 다른 예시적인 운영 환경을 도시한 도면.
<도면의 주요부분에 대한 부호의 설명>
100: 데이터 전망 자동 생성 시스템
102: 데이터 전망 생성 컴포넌트
104: 입력 데이터
106: 데이터베이스
108: 출력 데이터
본 발명은 일반적으로 데이터 가공(data mining)에 관한 것으로, 특히 사용자 지정 입력에 기초한 데이터 전망(data perspective)의 조정 변수를 자동 생성하는 시스템 및 방법에 관한 것이다.
정보를 디지털화하면 매우 작은 공간에 엄청난 양의 데이터를 저장할 수 있다. 이를 통해, 예컨대 전집류 같은 방대한 서적의 내용을 하나의 컴퓨터 하드 드 라이브에 저장할 수가 있다. 이것이 가능한 이유는 데이터가 디지털 인코딩 장치를 통해 2진수로 변환되어 하드 드라이브, CD-ROM 디스크, 플로피 디스크 등의 각종 디지털 저장 매체에 저장되기 때문이다. 디지털 저장 기술의 진보에 따라서, 저장 장치의 저장 밀도가 더욱 더 높아져 소정의 공간 내에 데이터를 더욱 더 많이 저장할 수 있게 되는데, 이 때, 저장되는 데이터의 밀도는 주로 물리적 특성이나 제조 공정에 의해 제한된다.
저장 용량이 증가함에 따라서, 효과적인 데이터 검색이라는 과제가 대두되고, 이에 따라 데이터에 쉽게 액세스할 수 있도록 하는 것이 가장 중요한 문제로 부각되고 있다. 예컨대, 어떤 도서관에 어떤 특정의 서적이 있지만 그 위치를 모른다면, 그 서적을 읽으려는 자에게는 아무런 도움을 주지 못한다. 마찬가지로, 데이터에 쉽게 액세스할 수 없다면 데이터를 디지털화한 것만 가지고는 진보를 이룩했다고는 볼 수 없다. 그래서 효율적인 데이터 검색을 용이하게 하는 데이터 구조가 만들어졌다. 이 데이터 구조를 일반적으로 "데이터베이스"라고 한다. 데이터베이스는 데이터에 효율적으로 액세스할 수 있도록 하는 어떤 구조화된 포맷으로 데이터를 내장하고 있다. 데이터 저장 방식을 구조화하게 되면, 구조화하지 않은 경우 보다 데이터를 더 효율적으로 검색할 수가 있다. 게다가 색인이나 기타 조직화 기술도 적용될 수가 있다. 더욱이, 데이터 자체는 물론 데이터 간의 관계도 저장될 수 있는데, 이는 데이터의 가치를 한층 더 높이게 되는 것이다.
데이터베이스 개발 초기에는 데이터베이스 사용자는 "원 데이터(raw data)", 즉 데이터베이스에 들어왔었던 그대로 보이는 데이터를 보게 될 것이다. 궁극적으 로 데이터베이스 기술은 데이터를 더 효율적으로 포맷하고, 조작하고 보이게 할 수 있도록 개발되었다. 따라서, 예컨대 사용자는 수학적 연산자를 데이터에 적용하여 리포트를 작성할 수 있게 까지 되었다. 영업 영위자들의 경우에는 개별 매상고만을 저장하고 있었던 데이터베이스 내의 데이터로부터 "총 매상고"와 같은 정보에 액세스할 수 있었다. 사용자에게 편리한 포맷으로 데이터를 더 쉽게 검색하고 표시하도록 사용자 인테페이스의 개발도 계속되어 왔다. 사용자들은 개별 매상고로부터의 총 매상고와 같이 데이터를 여러가지 형태로 보이게 하는 것이 데이터베이스 내의 원데이터로부터 추가적인 정보를 얻을 수 있게 한다는 것을 인식하게 되었다. 이러한 추가 정보 수집 행위는 "데이터 가공(data mining)"이라 하며 "메타 데이터(meta data)"(즉, 데이터에 대한 데이터)를 생성한다. 이와 같은 데이터 가공에 의해서 원데이터로부터 가치있는 추가적인 정보를 추출해 낼 수 있다. 이는 특히 데이터베이스의 원 입력 데이터 단독으로부터 얻는 결과 이외에도, 영업 매상고와 생산고를 설명해 주는 정보를 확인할 수 있는 영업 분야에서 유용하다.
따라서, 데이터 조작에 의해서 원데이터로부터 중요한 정보를 추출해 낼 수 있다. 이러한 데이터 조작은 저장된 데이터의 디지털 속성 때문에 가능하다. 수작업보다 훨씬 더 빠른 여러 가지 양상으로부터 엄청난 량의 디지털 데이터를 볼 수 있다. 데이터의 새로운 전망에 의해서 사용자는 데이터에 대한 통찰력을 더 얻을 수 있다. 이것은 영업의 승패를 좌우할 수 있는 아주 강력한 개념이다. 예컨대 경향 분석, 인과 관계 분석, 영향 조사, 및 예측은 데이터베이스 내로 들어온 원데이터로부터 결정될 수 있으며, 그 가치와 시의 적절성은 사용자가 디지털화된 정보에 직관적으로 쉽게 액세스함으로써 서술된다.
현재, 데이터 가공 능력을 증가시키려는 데이터 조작을 위해서는 사용자는 많은 것을 입력해야 할 뿐만 아니라 데이터를 가장 잘 보이게 하는 조작 프로그램을 이용하여 원하는 파라미터를 추출할 줄도 알아야 한다. 이것은 사용자가 데이터에 대한 정통한 지식을 가져야 함은 물론 데이터로부터 얻을 수 있는 것이 무엇인지에 대해 안목도 가져야 함을 의미한다. 이러한 사전 지식없이는, 사용자는 원하는 추가적 정보(가공된 데이터)를 검색하기 위하여 데이터의 올바른 전망에 적중하도록 바라는 무계획적인 방식('hit and miss' approach)을 시도하게 된다. 이러한 방식은 통상적으로 보통의 사용자로서는 할 수 없는 일이며, 그리고/또는 고급 사용자라 하더라도 시간이 너무 많이 소요되는 일이다. 저장된 데이터는 일반적으로 그 양이 너무 방대할 뿐만 아니라 데이터 간의 관계도 너무 복잡하기 때문에 사용자가 적절하고 가치있는 정보를 얻기 위해 데이터를 가공하는 유용한 방법을 효율적으로 개발하기기 어렵다. 따라서, 사용자가 자신이 추출하고자 하는 특정 정보(즉, "목표 변수(target variable)")가 무엇인지 알고 있다 하더라도, 원하는 가공 데이터를 제공해 줄 데이터의 전망을 보여줄 수 있는 정확한 차원 파라미터 (예컨대, 뷰잉(viewing) 파라미터)도 알아야 한다.
아래의 설명은 본 발명의 양상들의 기본적인 이해를 위한 발명의 간단한 요약이다. 이 요약은 포괄적인 개관이 아니다. 이것은 본 발명의 핵심/중요 요소를 확인하거나 본 발명의 범위를 정하려는 것이 아니다. 요약의 목적은 후술될 본 발 명의 상세한 설명에 대한 서두로서 본 발명의 일부 개념을 단순화한 형태로 제시하는 것이다.
본 발명은 일반적으로 데이터 가공에 관한 것으로, 특히 사용자 지정 입력에 기초하여 데이터 전망의 자동 생성을 제공하는 시스템 및 방법에 관한 것이다. 기계 학습 기술은 주어진 목표 변수에 대한 조정 변수의 자동 생성을 제공하기 위해 도입된다. 이 기술을 이용하여 사용자 요구 파라미터와 데이터베이스로부터 예컨대 피봇(pivot) 테이블 및/또는 OLAP 큐브 뷰어와 같은 데이터 전망을 구축할 수 있다. 데이터 전망 자동 생성을 제공함으로써, 미숙련자라도 데이터베이스로부터 가치있는 추가 정보를 수집하거나 '데이터 가공'할 수가 있게 된다. 본 발명에서는, 주어진 목표 변수에 대한 최적의 목표 변수 예측기를 결정 및 분석하고, 이를 이용하면 목표 변수에 대한 정보를 사용자에게 쉽게 전달할 수 있게 된다. 본 발명에서는 목표 변수 예측기로서 이용되는 연속 및 이산 변수를 자동적으로 이산화하여 이들 변수의 입도(granularity)를 설정하고 사용자로의 정보 전달 능력을 향상시킨다.
본 발명의 다른 예들에서는, 최적 목표 변수 예측기와 그 복잡도(예컨대, 조정 변수의 복잡도)의 세트를 결정하는데 있어 데이터 전망의 자동 생성을 용이하게 하기 위하여 사용자가 복잡도 파라미터를 지정할 수 있다. 또한, 본 발명에서는, 조정 변수(즉, 목표 변수 예측기)를 조정하여 최적 뷰를 제공하고, 그리고/또는 사용자로부터 제어 입력을 받아들여 데이터 전망의 생성을 유도/제어할 수 있다. 따라서, 본 발명은 초심자에게도 강력하고 직관적인 수단을 제공하여 데이터베이스가 아무리 크고 복잡하더라도 그 데이터베이스로부터의 정보를 신속하게 가공할 수 있게 한다.
상기 목적 및 기타 관련 목적을 달성하기 위하여, 발명의 상세한 설명부와 도면에서 본 발명의 특정 양상들에 대해 설명하게 될 것이다. 그러나, 설명되는 양상들은 본 발명의 원리가 이용될 수 있는 여러 가지 양상의 극히 일부에 불과한 것이며, 본 발명은 그러한 모든 양상과 그 등가물도 포함하는 것이다. 본 발명의 기타 이점과 신규한 특성은 첨부 도면을 참조한 이하의 상세한 설명으로부터 명백하게 드러날 것이다.
이하, 도면을 참조로 본 발명에 대해 설명한다. 도면 전체를 통해, 동일 도면 부호는 동일 구성요소를 나타내다. 하기의 발명의 상세한 설명에서는 설명 목적상 본 발명의 철저한 이해를 위해서 많은 특정의 세부 사항들을 제시한다. 그러나, 본 발명은 이러한 세부 사항없이도 실시될 수 있다. 여러 가지 예에서, 본 발명을 용이하게 설명하기 위하여 공지의 구조물과 장치들이 블록도 형태로 도시된다.
본 출원에서 사용된 용어 "컴포넌트"는 컴퓨터 관련 실체, 즉, 하드웨어, 하드웨어와 소프트웨어의 결합, 소프트웨어, 또는 실행 중인 소프트웨어를 의미한다. 예컨대, 컴포넌트로는 프로세서에서 실행되고 있는 프로세스, 프로세서, 객체, 실행파일, 실행 스레드(thread), 프로그램, 및/또는 컴퓨터를 들 수 있겠으나, 이에 한정되는 것은 아니다. 예컨대, 서버에서 실행되는 애플리케이션과 그 서버 모두 가 컴퓨터 컴포넌트가 될 수 있다. 프로세스 및/또는 실행 스레드 내에는 하나 또는 그 이상의 컴포넌트가 상주할 수 있으며, 컴포넌트가 하나의 컴퓨터에 국소화되고 그리고/또는 2 또는 그 이상의 컴퓨터 간에 분산되어 있을 수 있다. "스레드"는 운영 체제 커널(kernel)이 실행을 위해 스케쥴하는 프로세스 내의 실체이다. 당업계에 잘 알려져 있는 바와 같이, 각 스레드는 스레드의 실행과 관련된 휘발성 데이터인 관련 "컨텍스트(context)"를 갖고 있다. 스레드의 컨텍스트는 시스템 레지스터의 내용과, 스레드의 프로세스에 속하는 가상 어드레스를 포함한다. 따라서, 스레드의 컨텍스트를 포함하는 실제 데이터는 이것이 실행됨에 따라 변화한다.
본 발명은 데이터 전망을 자동적으로 생성함으로써 사용자가 데이터베이스의 데이터 가공을 용이하게 행할 수 있도록 도움을 주는 시스템 및 방법을 제공한다. 본 발명의 일례에서, 사용자는 목적하는 데이터를 선택하고, 목표 변수, 집단화 함수(aggregation function), 및 도출된 테이블의 복잡도을 결정하는 "복잡도" 파라미터를 지정한다. 그러면, 본 발명은 기계 학습 기법을 이용하여, 예컨대 마이크로소프트 엑셀 브랜드 스프레드시트 피봇 테이블(피봇 테이블은 사용자가 스프레드시트 및/또는 데이터베이스 테이블 내의 데이터의 선택된 열과 행을 재구성 및 요약하여 목적하는 데이터의 원하는 뷰(view), 즉, "전망"을 얻을 수 있도록 해주는 데이터 뷰잉 도구임)의 톱(top) 세트와 레프트(left) 세트와 같은 데이터 전망에 어떤 조정 변수가 포함되는 가를 알아낸다. 또한, 이들 각 변수의 입도(granularity)는 연속 및 이산 변수 모두의 자동 이산화(discretization)에 의해 결정된다. 연속 변수의 범위는 자동으로 평가되어 최적 변수 범위를 위해 새로운 대표 변수가 지정된다. 이에 따라서 본 발명은 목표 변수를 위해서 최적 예측기/조정 변수를 가진 데이터의 최적 뷰/전망을 제공할 수 있다. 유사하게, 본 발명은 OLAP 큐브(cube) 등의 차원(예측기/조정 변수)을 제공하는데 이용될 수 있다. OLAP 큐브는 빠르고 확실한 대화식 프로세스를 통해 정보를 통찰할 수 있는 전체 데이터의 다차원적 뷰이다.
도 1에는 본 발명의 양상에 따른 데이터 전망 자동 생성 시스템(100)의 블록도가 도시되어 있다. 데이터 전망 자동 생성 시스템(100)은 입력 데이터(104)를 수신하고 데이터베이스(106)에 액세스하는 데이터 전망 생성 컴포넌트(102)를 포함한다. 이 컴포넌트(102)는 피봇 테이블 및/또는 OLAP 큐브 등을 포함하는(그러나, 이에 한정되는 것은 아님) 출력 데이터(108)를 자동적으로 생성한다. 본 발명의 다른 예들도 주어진 목표 변수에 대한 예측기/조정 변수의 자동 생성원으로 이용될 수 있다. 따라서, 본 발명은 완성된 피봇 테이블 및/또는 OLAP 큐브 등을 완전히 생성하지 않고서도(즉, 집단화 함수를 이용하지 않고서도) 시스템에 이용될 수 있다. 입력 데이터(104)는 예컨대 목표 변수와 목적하는 데이터와 같은 정보를 제공한다. 이들 파라미터들에 의해서 본 발명은 목표 변수를 가장 잘 예측하는 조정 변수를 자동적으로 분석하여 생성할 수 있다. 데이터 전망 생성 컴포넌트(102)는 데이터베이스(106)에 액세스하여 입력 데이터(104)에 기초하여 데이터 전망을 생성하는데 이용되는 관련 데이터를 검색한다. 입력 데이터(104)는 일반적으로 데이터 전망을 생성하는데 이용되는 파라미터를 선택하는 사용자(110)로부터 나온다.
당업자라면 선택적인 다른 데이터 소스(112)로 나타낸 바와 같이 본 발명은 추가적인 데이터 소스를 이용할 수 있음을 잘 알 것이다. 다른 데이터 소스(112)는 입력 데이터(104) 및/또는 데이터 전망 생성 컴포넌트(102)에 파라미터를 공급할 수 있다. 다른 데이터 소스(112)는 환경 컨텍스트 데이터(예컨대, 사용자 컨텍스트 데이터), 사용자 프로필 데이터, 전체 시스템 효용 정보(예컨대, 어떤 결과를 항상 비용 절감과 관련짓도록 설계된 시스템), 대안적인 가용 데이터베이스 데이터(예컨대, 목표 변수의 더 좋은 예측기를 제공할 수 있는 다른 소스로부터의 데이터 선택 및/또는 검색에 관한 분석 정보) 등을 포함할 수 있지만, 이에 한정되는 것은 아니다.
본 발명의 다른 예들에서, 사용자(110)는 데이터 전망 생성 컴포넌트(102)와 대화하여 데이터 전망 자동 생성에 관한 사용자 제어/피드백을 제공할 수 있다. 예컨대, 사용자(110)는 데이터 전망이 구축되기 전에 상기 자동 선택된 조정 변수를 검토, 조정 및/또는 거부할 수 있다. 또한, 본 발명은 적당한 데이터베이스 선택, 데이터 소스, 및/또는 연속적인 조정 변수의 범위의 적정성과 같은 추가적인 제어/피드백을 이용할 수 있다. 이들 예는 예시적일 뿐이며 본 발명의 범위를 한정하는 것은 아니다.
도 2를 참조로 설명하면, 본 발명의 양상에 따른 데이터 전망 자동 생성 시스템(200)의 다른 블록도가 도시되어 있다. 데이터 전망 자동 생성 시스템(200)은 사용자(208)로부터 입력 데이터(210-220)를 수신하여 이 입력 데이터(210-220)에 기초하여 출력 데이터(224)를 자동적으로 생성하는 데이터 전망 생성 컴포넌트(202)와, 데이터베이스(222)를 포함한다. 본 발명의 본 예에서, 입력 데이터(210- 220)는 목적 데이터(210), 목표 변수(212), 복잡도 파라미터(214), 효용도 파라미터(216), 집단화 함수(218), 및 기타 입력 데이터(220)로 구성된다. 통상적으로는 사용자(208)가 입력 데이터(210-220)를 제공하지만, 본 발명의 다른 예에서는 사용자(208) 이외의 다른 소스로부터 입력 데이터(210-220)를 받아 들일 수 있다. 그리고, 본 발명의 예에서는 입력 데이터(210-220)로 나타낸 데이터 모두를 필요로 하는 것은 아니다. 본 발명의 예는 입력 데이터로서 목적 데이터(210)와 목표 변수(212)만 있어도 제대로 작동한다. 본 발명의 예는 디폴트로 고정된 복잡도 파라미터를 취하고, 및/또는 내부적 및 또는 외부적으로 생성된 동적 복잡도 파라미터를 입력 데이터 복잡도 파라미터(214)로 활용할 수 있다. 유사하게, 효용도 파라미터(216)는 선택적 입력 데이터일 수 있고, 그리고/또는 사용자 선호도 및/또는 프로필 등에 기초하여 내부적으로 생성될 수도 있다. 본 발명의 다른 예는 조정 변수를 출력 데이터(224)로서 생성하며, 그러므로 집단화 함수(218)를 활용/요구하지 않는다. 집단화 함수(218)는 예컨대 피봇 테이블의 합산 기능과 같은 데이터 전망의 구축 중에 이용될 수 있다. 기타 입력 데이터(220)로는 환경 데이터, 사용자 프로필 데이터, 사용자 선호도, 전체적인 시스템 기능 목적 등을 들 수 있으나, 이에 한정되는 것은 아니다.
데이터 전망 생성 컴포넌트(202)는 변수 결정 컴포넌트(204)와 데이터 전망 빌더(builder) 컴포넌트(206)로 이루어진다. 본 발명의 전형적인 예에서 변수 결정 컴포넌트(204)는 목적 데이터(210), 목표 변수(212), 및 복잡도 파라미터(214)를 수신한다. 이 컴포넌트(204)는 이들 입력을 이용하여 데이터베이스(222)에 기 초하여 목표 변수(212)의 최적 예측기/조정 변수를 식별하고 결정한다. 변수 결정 컴포넌트(204)는 또한 식별된 연속적인 조정 변수의 범위를 포함하는 조정 변수의 입도를 자동적으로 결정한다. 이 컴포넌트는 목적 변수(212)의 최적 예측기를 용이하게 찾을 수 있는 기계 학습 기술을 이용한다. 데이터 전망 빌더 컴포넌트(206)는 선택된 조정 변수들 수신하여, 이들 조정 변수, 데이터베이스(222) 및 집단화 함수(218)에 기초하여 데이터 전망을 구축한다. 데이터 전망 빌더 컴포넌트(206)는 데이터 전망을 출력 데이터(224)로서 출력한다. 데이터 전망은 피봇 테이블 및/또는 OLAP 큐브 등일 수 있으나, 이에 한정되는 것은 아니다. 본 발명의 다른 예에서는, 집단화 함수(218)를 이용하지 않으며, 데이터 전망 빌더 컴포넌트(206)는 선택적인 것이며, 출력 데이터(224)는 변수 결정 컴포넌트(204)로부터의 상기 식별된 조정 변수로 이루어진다.
변수 결정 컴포넌트(204)는 조정 변수 특성 입력을 이용하여 조정 변수의 식별을 제어하고 이 식별에 영향을 미칠 수 있다. 본 발명의 다른 예는 이들 조정 변수 특성 입력을 이용하지 않는다. 이들 입력으로는 복잡도 파라미터(214), 효용도 파라미터(216) 등을 들 수 있다. 조정 변수 특성 입력은 원하는 특성들을 데이터 전망 내에 통합시키려는 기계 학습 프로세스에서 변수 결정 컴포넌트(214)에 의해 이용된다. 이들 특성으로는 데이터 전망의 복잡도, 데이터 전망의 효용도 등을 들 수 있으나, 이에 한정되는 것은 아니다. 당업자라면 이들 특성은 본 발명의 범위 내에 들 수 있음을 잘 알 것이다.
도 3을 참조로 설명하면, 본 발명의 양상에 따른 데이터 전망 자동 생성 시 스템(300)의 또 다른 블록도가 도시되어 있다. 데이터 전망 자동 생성 시스템(300)은 입력 데이터(304)를 수신하여 이 입력 데이터(304)에 기초하여 출력 데이터(306)를 자동적으로 생성하는 데이터 전망 생성 컴포넌트(302)와, 데이터베이스(미도시)를 포함한다. 입력 데이터(304)로서는 목표 변수와 목적 데이터를 들 수 있으나, 이에 한정되는 것은 아니다. 데이터 전망 생성 컴포넌트(302)는 선택적 데이터 프리필터(pre-filter) 컴포넌트(308), 변수 결정 컴포넌트(310), 및 데이터 전망 빌더 컴포넌트(312)로 구성된다. 선택적 데이터 프리필터 컴포넌트(308)는 입력 데이터(304)를 수신하여. 예컨대 선택적 사용자 컨텍스트 데이터(320)에 기초하여 입력 데이터(304)의 필터링을 수행한다. 이에 의해서 입력 데이터(304)는 처리되기 전에, 데이터 전망 생성 컴포넌트(302)에 의해 어떤 데이터가 어떻게 이용되는가 하는 데에 있어 유연성을 가질 수 있도록 조정될 수 있다. 변수 결정 컴포넌트(310)는 변수 최적화기 컴포넌트(314), 의사결정 트리 생성기 컴포넌트(316), 및 의사결정 트리 평가기 컴포넌트(318)로 이루어진다. 변수 최적화기 컴포넌트(314)는 데이터 프리필터 컴포넌트(308)로부터 선택적으로 필터링된 입력 데이터를 수신하여, 완성형 의사결정 트리 학습기와 같은 기계 학습 기술을 이용하여 목표 변수에 대한 최적의 예측기를 식별한다. (완성형 의사결정 트리라 함은 트리 내의 모든 경로가 트리에서 사용된 모든 예측기 변수의 값범위의 고유 집합을 정의하고 이들 변수의 값의 모든 조합이 트리에 포함되는 것을 의미한다.) 따라서, 본 발명의 본 예에서, 예측기 변수가 없는 것(이것은 예측기가 없는 보통의 의사결정 트리에 해당함) 부터 시작하여, 변수 결정 컴포넌트(310)는 그리디 방식(greedy way) 으로 다음과 같이 예측기 변수와 그들의 입도의 최적 집합을 결정한다. 의사결정 트리 생성기 컴포넌트(316)는 변수 최적화기 컴포넌트(314)로부터 초기 데이터를 수신하여, 현재의 최적 의사결정 트리보다 예측기 변수가 하나 더 많거나 현재의 최적 의사결정 트리 내에 하나 이상의 변수의 분할을 가진 완성형 의사결정 트리를 생성한다. 이러한 또 다른 완성형 의사결정 트리의 스코어는 의사결정 트리 평가기 컴포넌트(318)에 의해 평가된다. 그러면, 변수 최적화기 컴포넌트(314)는 의사결정 트리 스코어를 수신하여 그 특정 트리가 현재 최고의 스코아를 가진 완성형 의사결정 트리인지 여부에 대해 판단한다. 변수 결정 컴포넌트(310)는 조정 변수와 그들의 입도의 최고 스코어링 집합이 구해질 때까지 의사결정 트리 구축, 평가, 및 최적화 판단을 계속한다. 데이터 전망 빌더 컴포넌트(312)는 최적화 조정 변수를 수신하여, 집단화 함수(322)를 이용하여 출력 데이터(306)로서 출력되는 데이터 전망을 자동적으로 구축한다.
상기 예시적인 시스템은 본 발명에 의해 제공된 프로세스들을 채용하는데 이용된다. 이들 프로세스에 의해서 미숙련자라 하더라도 데이터 가공을 효율적으로 수행할 수 있다. 본 발명은 이것을 데이터 전망의 자동 생성을 제공하는 기계 학습 기술을 이용함으로써 달성한다. 이 기술을 본 발명에 통합시키는 방법을 더 잘 이해하기 위해서는 예컨대 피봇 테이블과 같은 여러 가지 데이터 전망의 편집(compilation) 컴포넌트를 이해하는 것이 도움이 된다. 피봇 테이블은 데이터베이스로부터의 많은 데이터를 효율적으로 조합하고 비교하는 대화식 테이블이다. 피봇 테이블의 행과 열은 목적하는 영역의 세부 사항의 표시를 포함하여 소소 데이터 의 여러 가지 서로 다른 요약들을 보여주기 위하여 조작될 수 있다. 이들 데이터 전망은 사용자가 관련된 전체를 분석하고자 할 때에, 특히 합산할 숫자 리스트가 길고 각 숫자에 대한 몇 가지 사실을 비교하고자 할 때에 이용될 수 있다.
피봇 테이블에 대한 기술적으로 더 자세히 나타낸 것은 사용자가 일부 변수의 값을 조정하면서 목표 변수의 전체 기능을 볼 수 있는 테이블이다. 조정 변수는 피봇 테이블에서 두 세트, 즉 톱 세트와 레프트 세트로 나뉘어진다. 테이블은 톱 세트의 변수 영역의 교차곱(cross product)에서의 모든 값 집합에 대한 열을 포함한다. 테이블은 레프트 세트의 변수 영역의 교차곱에서의 모든 값 집합에 대한 행을 포함한다. 예컨대, 톱 세트가 각각 2 또는 3개의 상태를 가진 2개의 이산 변수로 이루어져 있다면, 테이블은 6개의 열을 가지게 될 것이며, 레프트 변수에 의해 정의되는 행에 대해서도 마찬가지이다. 테이블 내의 각 셀은 데이터가 그 셀에 대응하는 톱 세트와 레프트 세트 양자에 대해 주어진 값 집합으로 한정되면 목표 변수에 대한 전체 기능을 포함한다.
예컨대, 지역별, 판매 대리인별, 월별 매상고를 포함하는 매상고 데이터가 있다고 하자. 데이터의 부분 집합은 데이터베이스로부터의 데이터를 나타낸 테이블(400)을 도시한 도 4에 보여진 것처럼 보일 수 있다. 데이터에서 변수(즉, 열)는 지역(402), 판매 대리인(404), 월(406), 및 매상고(408)이다. 매상고(408)를 목표 변수로서 이용하고 합계()를 집단화 함수로서 이용하면, 지역(402)을 피봇 테이블의 톱 세트의 조정 변수로서 선택하고(즉, 톱 세트가 단일 변수 영역(402)을 포함한다고 명기하고), 판매 대리인(404)을 테이블의 레프트 세트의 조정 변수로서 선택하고(즉, 레프트 세트가 단일 변수 판매 대리인(404)을 포함한다고 명기하고), 집단화 함수를 합계()로 설정함으로써 각 지역과 각 판매 대리인에 대한 매상 합계를 보는데 피봇 테이블이 이용될 수 있다. 이렇게 하면, 주어진 목표 변수(예컨대 매상고)에 대한 데이터 전망(예컨대 피봇 테이블)을 보여주는 도 5에 도시된 테이블(500)이 만들어진다.
전술한 것과 같은 간단한 데이터 예에 있어서는 피봇 테이블에서 이용할 적당한 조정 변수(즉, 예측기 변수)를 선택하는 것이 쉬울 수 있다. 많은 데이터 레코드 및/또는 이들 레코드로부터 선택할 많은 변수를 가진 더 복잡한 상황에서는 훨씬 더 어렵다. 이와 관련하여 본 발명은 두 가지 관련 문제를 부분적으로 해결한ㄴ다. 더 자세히 후술하는 바와 같이, 본 발명은 조정 변수들과 이들 변수 각각에 대한 세부 사항(또는 입도)을 자동적으로 선택한다.
기본적으로 본 발명은 먼저 입력 변수 세트와 이들 변수들에 대한 입도를 식별한다. 그런 다음, 임의의 입력 데이터 세트와 그 해당 입도에 대해서, 예컨대 피봇 테이블을 생성하기 위하여 해당 완성형 의사결정 트리를 평가하여 입력 데이터 세트의 질을 판단한다. 완성형 의사결정 트리는 트리 내의 모든 경로가 트리에서 사용된 모든 예측기 변수의 값범위의 고유 집합을 규정하고 이들 변수의 값의 모든 조합이 트리에 포함되도록 정의된다. 예컨대, 도 6에는 완성형 의사결정 변수의 그래프(600)가 도시되어 있다. 이 예에서는 3개의 입력 변수(A, B, C)가 있다. 여기서, A와 B는 2진 변수이고 C는 3진 변수이다. 이 예에서 2진 상태는 0과 1값으로 나타낸다. 그러나, 0과 1값은 단지 대표적인 것일 뿐이고, 당업자라면 이 상태는 이산적 실체들 및/또는 연속적 실체의 범위일 수 있다는 것을 잘 알 것이다. 완성형 의사결정 트리는 또한 변수(A, B, C)에 대해 2*2*3 = 12개의 서로 다른 가능한 조합 각각에 대한 독립된 잎(leaf)을 제공한다. (많은 가능한) 완성형 의사결정 트리 중 하나는 그래프(600)에서 나타나 있는 바와 같이 변수(A) 상에서는 루트 스플릿(root split)을, 변수(B) 상에서는 다음 레벨의 모든 스플릿을, 그리고 변수(C) 상에서는 제3 레벨의 모든 스플릿을 갖고 있다. 점선(602)은 가능한 조합 #3가 최고의 평가 스코어를 제공하도록 가능한 최적 평가 경로를 나타낸다.
후보 예측기 변수들과 그 해당 입도들은 "표준(normal)" 의사결정 트리 발견법을 이용하여 동시에 식별된다. 따라서, 주어진 의사결정 트리에 대해서 예측기 변수는 트리에 의해서 트리에서 분할(split)되었던 모든 변수로서 정의되며, 입도는 스플릿 포인트 그 자체로서 정의된다. 예컨대, 트리가 한 브랜치 아래로 X=2를 갖고 다른 브랜치 상에는 X=1 또는 3을 갖는 3진 변수(X) 상에 스플릿을 포함하고, 또, 한 브랜치 아래로 Y<5를 갖고 다른 브랜치 아래로는 Y≥5를 갖는 연속 변수(Y) 상에 스플릿을 포함한다고 가정하자. 그러면, 이 트리는 이산적인 두 개의 '새로운' 변수(X', Y')를 정의하게 되는데, 여기서, X'는 두 개의 값 "2"와 "1" 또는 "3"를 갖고, Y'는 두 개의 값 "<5"와 "≥5"를 갖는다. 만일 예컨대 X=1은 한 브랜치 아래로 내려가고 X=2 또는 3은 다른 브랜치 아래로 내려가는 X 상에서 트리에 새로운 스플릿이 부가된다면, 이 새로운 트리는 3개의 값(1, 2, 3)을 갖는 새로운 변수(X'')를 정의한다. 그러므로, 예측기 변수의 상태는 스플릿에 의해 정의된 범위들의 교차에 의해 정의된다. 따라서, 단일의 의사결정 트리는 예측기 변수 세트 와 이들 변수의 대응값으로 변환된다.
본 발명에 의해 채용된 발견법을 이용하면 단일 의사결정 트리를 학습하여 그 의사결정 트리의 서브 트리를 탐색해 보아 양호한 세트의 예측기 변수와 입도를 찾을 수 있다. 일반적으로 고려되는 첫번째 서브 트리는 예측기 변수가 없다는 것에 해당하는 루트 노드이다. 이 트리에서 시작하여, 고려할 '다음' 트리는 전체 트리로부터의 단일 스플릿을 부가함으로써 선택된다. 따라서, 첫번째 트리 다음에는 가능한 다음 번 트리만이 단일 루트 스플릿을 가지는 트리이다. 부가될 수 있는 스플릿이 복수 개있다면, 최적의 예측기-변수 및 입도 스코어를 가진(즉, 대응하는 완성형 트리 스코어를 평가하는) 것이 이용된다. 현재의 트리 확장은 스코어를 증가시키는 추가적인 스플릿이 없는 경우에(즉, 현재의 트리가 전체 트리로 확장된 경우에) 정지된다.
본 발명의 일 례에서, 사용자는 단순히 (1) 목적 데이터를 선택하고, (2) 목표 데이터를 지정하고, (3) 집단화 함수를 지정하고, 그리고 (4) 도출된 테이블의 복잡도을 결정하는 "복잡도" 파라미터를 지정한다. 그러면, 본 발명은 기계 학습 기술을 이용하여 톱 세트와 레프트 세트에 어떤 변수가 포함되는 가를 식별한다. 게다가, 이들 변수 각각의 입도는 연속 및 이산 변수의 지동 이산화에 의해 결정된닌다. 종래에는, 만일 연속 변수가 톱 세트나 레프트 세트의 구성원으로서 지정된다면, 그 데이터에서의 그 변수의 값은 독립적인 범주(categorical) 상태로서 취급된다. 예컨대, 데이터가 변수 "나이(age)"를 포함하고 있고 데이터에 98가지 나이가 있다면, 종래의 피봇 테이블은 나이를 98가지 상태를 가진 범주 변수로 취급한 다. "나이"를 피봇 테이블의 톱(레프트) 세트에 부가한 결과는 열(행) 수에 98이 곱해진 것인데, 이 결과는 각 개별적인 나이로 데이터를 보는 데 그다지 유용하지 않을 것이다. 본 발명은 연속 변수의 관심있는 범위를 자동적으로 검출하여 그 범위에 대응하는 새로운 변수를 생성한다. 예컨대, 본 발명은 나이>25 또는 나이≤25 인지를 아는 것이 중요하다고 판단할 수 있는데, 이 경우에, 본 발명은 이들 범위에 대응하는 두 개의 값을 가진 새로운 범주 변수를 생성하고, 이 새로운 변수를 데이터 전망 내에 삽입한다. 색상과 같은 범주 변수에 있어서는 본 발명의 자동 이산화는 상태들을 그룹화할 수 있다. 예컨대, 적색, 녹색, 및 청색의 3가지 색상이 있다면, 본 발명은 적색 대 임의의 다른 색상이 더 관심있는 (변형된) 변수임을 검출하고, 이것을 피봇 테이블의 톱 세트 또는 레프트 세트의 구성원으로 이용할 수 있다.
본 발명의 일 례는 피봇 테이블이 톱 세트와 레프트 세트에서의 모든 변수 중 목표 변수에 대한 완성형 테이블(또는 등가적으로 완성형 의사결정 트리)로 해석될 수 있다는 사실을 이용하여 동작한다. 이 상황에서 어느 변수가 목표 변수를 예측하는데 가장 좋은 가를 식별하는 표준 학습 알고리즘이 존재한다. 예컨대, 잠재적인 예측기 변수가 모두 이산적이라면, 예측기를 선택하는데 그리디(greedy) 검색 알고리즘이 이용될 수 있다. 연속 변수가 있는 경우에는, 이 검색 알고리즘은 이 변수를 여러 가지로 이산화한 것을 예측기로서 부가하는 것을 고려할 수도 있다. 유사하게, 이 검색 알고리즘은 범주 변수의 상태의 여러 가지 그룹화를 고려할 수 있다.
본 발명의 다른 예는 다음의 매우 간단한 검색 알고리즘을 이용하여 예측기를 식별한다. 먼저, 표준 그리디 알고리즘을 이용하는 목표 변수에 대해 (정규) 의사결정 트리가 학습된다. 그 다음, 그 의사결정 트리를 이용하여 예측기 변수들이 그리디 방식으로 부가된다. 의사결정 트리의 서브 트리는 이 변수들의 해당 이산화를 가지고서 예측기 변수 세트를 정의한다는 것에 주목하는 것이 중요하다. 루트 노드만으로 구성된 서브 트리에서 시작하여, 해당 변수들에 대한 완성형 의사결정 트리 스코어가 증가하지 않을 때까지 잎 노드의 자손을 포함시킴으로써 서브 트리가 그리디 방식으로 확장된다. 이 프로세스 중에 특정의 서브 트리는 완성되지 않을 수 있다. 이 경우에 트리는 이 단계에서 고려 중인 변수에 대한 완성형 트리로 확장된다.
당업자라면 완성형 의사결정 트리 스코어는 여러 가지 많은 방식으로 정의될 수 있다는 것을 잘 알 것이다. 본 발명의 일 례는 (예컨대, 주어진 목표 예측기에 대한 조건적 로그 우도(log-likelihood)로 측정된) 의사결정 트리에 대한 데이터 적합도를 이 트리에 따라 구축된 (예컨대, 예측기 변수에 대한 상태의 교차곱에 의해 주어진 피봇 테이블 내의 셀 수로 측정된) 피봇 테이블의 시각적 복잡도와 비교하는 스코어를 이용한다. 완성형 의사결정 트리 스코어는 다음과 같이 정의된다.
스코어 = 조건적 로그 우도 - c* 시각적 복잡도
여기서, c는 사용자가 선택하는 "복잡도" 인자이다. 그 외에도 사용자는 도출된 피봇 테이블 내의 변수의 수 및/또는 셀의 수에 대한 한계를 지정할 수 있다.
예컨대, 도 7에는 본 발명의 일 양상에 따른 학습 의사결정 트리를 나타낸 그래프(700)가 도시되어 있다. 처음에는 서브 트리는 어떤 예측기에도 대응하지 않는 단순히 노드 A(702)이다. 의사결정 트리는 잎 B(704)와 C(706)로 이루어진 트리를 고려하여 확장된다. 이 서브 트리는 대응하는 단일의 2진 예측기, 즉, 상태 "<25" 및 ">25"를 가진 DAge(Age가 이산화된 것)를 갖는다. 이 서브 트리는 완성형이며, DAge를 목표 변수의 예측기로서 부가함으로써 완성형 의사결정 트리 스코어가 증가한다고 가정하면, 다음에 새로운 잎 노드가 B(704), D(708), E(710)가 되도록 노드 C(706)가 확장된다. 그러면, 두 개의 예측기, 즉 DAge와 성별(Gender)가 있게 된다. 이 의사결정 서브 트리는 완성된 것이 아니지만, B(704) 아래에 (가공의) Gender 스플릿을 부가함으로써 완성형으로 될 수 있다. DAge만 있는 것보다 이들 두 개의 예측기가 있는 것이 완성 의사결정 트리 스코어가 더 좋아진다고 가정하면, D(708)는 서브 트리의 잎이 B(704), F(712), G(714), E(710)가 되도록 확장된다. 그러면, 여전히 두 개의 예측기가 있게 되지만, Age의 이산화가 다르다. 즉 이 서브 트리는 상태 {<25, (25,65),≥65}를 가진 변수 DAge2를 정의한다. 다시, 대응하는 (가공의) 완성형 의사결정 트리가 구축되고, 그리고 예측기 DAge2와 Gender에 대한 완성형 의사결정 트리 스코어가 예측기 DAge와 Gender에 대한 스코어보다 더 좋다면, 대신에 DAge2가 이용된다. 이 예에서는 확장하는 잎 노드는 항상 한 개이었다. 만일 복수의 잎 노드가 있다면, 각 확장은 전처럼 스코어를 기록하며, 완성형 의사결정 트리 스코어를 가장 크게 증가시키는 확장(이것이 있는 경우)이 다음 번에 행해진다.
본 발명의 이 예의 마지막 양상은, 주어진 예측기 변수 세트에 대해서 톱 세트에 포함될 변수와 레프트 세트에 포함될 변수를 결정하는 것이다. 차트가 시각적으로 아주 호소력을 갖도록 변수가 선택될 수 있다. 예컨대, 변수는 도출된 피봇 테이블에서 열 수가 행 수와 대략 같도록 배열될 수 있다.
당업자라면 본 발명이 OLAP 큐브에서 차원 계층(dimension hierarchy)과 같은 데이터 전망의 다른 양상을 자동적으로 구축하는데 이용될 수 있음을 잘 알 것이다. 특히, 변수의 그룹화와 이산화가 이 계층을 정의한다.
전술한 예시적인 시스템을 고려하여, 본 발명에 따라 구현될 수 있는 방법은 도 8 내지 11의 플로우차트를 참조로 더 잘 이해될 것이다. 설명의 간단하게 하기 위하여 이 방법이 일련의 블록들로 나타나 있지만, 본 발명은 이 블록 순서에 한정되는 것은 아니며, 본 발명에 따라서 여기에 나타난 어떤 블록들은 다른 블록들과는 다른 순서로 그리고/또는 동시에 수행될 수 있음을 알아야 한다. 더욱이, 도시된 블록들은 본 발명에 따른 방법을 구현하는데 반드시 요구되는 것은 아니다.
본 발명은 하나 또는 그 이상의 구성요소에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어로 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 업무를 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 객체, 데이터 구조 등을 포함한다. 통상적으로, 프로그램 모듈의 기능은 본 발명의 여러 가지 예에서 원하는 대로 조합 또는 분산될 수 있다.
도 8에는 본 발명의 양상에 따른 데이터 전망 자동 생성을 용이하게 하는 방법(800)의 흐름도가 도시되어 있다. 방법(800)은 단계(802)에서 시작하여 목표 변 수, 목적 데이터, 및 선택적 집단화 함수를 입력한다(단계 804). 집단화 함수는 데이터 전망을 구축하는데 이용되나, 본 발명은 실제로 데이터 전망을 구축하기 전에도 조정 변수를 처리하여 이용할 수 있다. 따라서, 집단화 함수는 주어진 목표에 대한 조정 변수를 결정하는데 반드시 필요한 것은 아니다. 그 다음, 기계 학습 기술을 이용하여 목표 변수를 가장 잘 예측하는 조정 변수가 자동적으로 결정된다(단계 806). 기계 학습 기술은 의사결정 트리 학습, 인공 신경망, 베이지안 학습(Bayesian learning), 실례 기반 학습(instance based learning) 등이 있으나, 이에 한정되는 것은 아니다. 기본적으로, 제시된 조정 변수 각각은 기계 학습 기술을 이용하여 변수와 입도의 최적 세트가 결정될 때까지 평가된다. 이것은 본 발명의 다른 예에서 사용자에 의해 영향을 받을 수도 있는 자동화된 단계이다. 사용자는 선택된 조정 변수, 그 특징(예컨대, 세부 사항, 입도, 범위 등), 및/또는 프로세스의 다른 양상을 검토하여, 이들을 한정, 변경, 및/또는 재개(re-initiating)함으로써 이들 요소의 결정에 영향을 미칠 수 있다. 조정 변수가 자동적으로 일단 선택되고 나면, 이 선택된 조정 변수와 집단화 함수를 이용하여 데이터 저남이 생성된다(단계 808). 데이터 전망은 피봇 테이블 및/또는 OLAP 큐브 등일 수 있으나, 이에 한정되는 것은 아니다. 전술한 바와 같이, 본 발명의 다른 예에서는 데이터 전망의 실제 생성은 선택적인 것이며, 본 발명은 데이터 전망을 생성하지 않고 조정 변수만 출력할 수도 있다. 실제 데이터 전망의 보기(view)도 본 발명에 의해 자동적으로 조정될 수 있으며(단계 810), 단계(812)에서 흐름도가 종료한다. 기계 학습 기술 및/또는 사용자 인터페이스 한계 등은 도출된 초기 데이터 전망 보 기에 적용된다. 이에 의해서 데이터 전망은 사용자가 보고, 본 발명에 의해 제공된 자동화된 프로세스에 의해 데이터베이스로부터 가공된 정보를 퍼뜨리는데 있어 그 값을 증가시키기 위하여 더 향상될 수가 있다.
도 9를 참조로 본 발명의 양상에 따른 데이터 전망 자동 생성을 용이하게 하는 방법(900)의 다른 흐름도에 대해서 설명한다. 이 방법(900)은 주어진 목표 변수의 최적 예측기(즉, 조정 변수)의 특성과, 연속한 예측기들의 목적하는 범위를 나타내는 새로운 변수의 생성을 자동적으로 결정하기 위한 프로세스를 나타낸다. 방법(900)은 단계(902)에서 시작하여, 선택된 조정 변수를 제공한다(단계 904). 선택된 조정 변수는 전술한 종래의 기계 학습 기술을 통해 선택된 것으로서 이산 변수와 연속 변수 모두를 포함할 수 있다. 그 다음, 변수의 자동 이산화를 통해 상기 선택된 조정 변수의 입도가 결정된다 (단계 906). 변수의 이산화는 완성형 의사결정 트리 프로세스 등과 같은 기계 학습 기술을 이용할 수 있다. 기계 학습 기술로부터 얻어진 최고 스코어를 가진 이산화된 변수는 데이터 전망 생성을 위해 선택된다. 만일 선택된 조정 변수가 연속 변수를 포함한다면, 그 연속 변수의 목적하는 범위가 검출된다(단계 908). 목적하는 범위는 높은 정보 내용 밀도 범위, 사용자 선호 범위(즉, 사용자 제어 입력), 높은 확률/우도 범위, 및/또는 효율적 데이터 보기 범위 등이 있을 수 있으나, 이에 한정되는 것은 아니다. 일단 범위가 선택되고 나면, 본 발명은 그 범위에 해당하는 새로운 변수를 생성할 수 있다(단계 910). 범주 변수에 대해서는, 데이터 전망에서 이용하기 위하여 자동 이산화 단계가 상태들을 그룹화할 수 있다. 그 다음, 새로운 조정 변수(있는 경우) 및/또는 조정 변수 특성이 출력되고(단계 912), 단계(914)에서 흐름도가 종료된다.
도 10에는 본 발명의 양상에 따른 데이터 전망 자동 생성을 용이하게 하는 방법(1000)의 또 다른 흐름도가 도시되어 있다. 방법(1000)은 단계(1002)에서 시작하여, 목표 변수, 목적 데이터, 변수 선택 파라미터, 및 선택적 집단화 함수(1004)를 입력한다(단계 1004). 전술한 바와 같이, 집단화 함수는 데이터 전망를 구축하는데 이용된다. 그러나, 본 발명은 실제로 데이터 전망을 구축하기 전에도 조정 변수를 처리하여 이용할 수 있다. 따라서, 집단화 함수는 주어진 목표에 대한 조정 변수를 결정하는데 반드시 필요한 것은 아니다. 본 발명의 이 예에서 조정 변수를 선택하는 것은 변수 선택 파라미터를 설명하면서 목표 변수를 가장 잘 예측하는 변수를 기계 학습 기술을 통해 결정하는 것에 기초한다(1006). 이용된 기계 학습 기술은 예컨대 완성형 의사결정 트리 학습 프로세스를 포함할 수 있다. 변수 선택 파라미터는 복잡도 및/또는 효용도 등과 같은 파라미터일 수 있으나, 이에 한정되는 것은 아니다. 따라서, 사용자는 복잡도 파라미터 및/또는 효용도 파라미터를 입력함으로써 자동화된 데이터 전망 생성 프로세스에 영향을 미칠 수 있다. 그러면, 기계 학습 프로세스는 조정 변수의 최적 예측기 양상을 설명할 뿐만 아니라 복잡도 및/또는 효용도 등과 같은 그 선택 파라미터도 설명하게 된다. 따라서, 본 발명의 이 예에서는, 예측기 변수가 없는 것(예측기가 없는 보통의 의사결정 트리에 해당함)에서부터 시작하여, 예측기 변수와 그 입도의 최적 세트를 선택하기 위한 결정이 다음과 같이 그리디 방식으로 행해진다. 초기 데이터가 입력되고, 현재 최적 의사결정 트리보다 예측기 변수를 하나 더 가지거나 현재 최적 의 사결정 트리 내의 변수의 스플릿을 하나 더 가진 완성형 의사결정 트리가 생성된다. 그 다음, 이 완성형 의사결정 트리의 스코어를 평가하여, 그 특정 트리가 이제 현재 최고 스코어링 완성형 의사결정 트리인지 여부를 판단한다. 의사결정 트리 구축, 령가, 및 최적화 판단은 조정 변수와 그 입도의 최고 스코어링 세트가 구해질 때까지 계속된다. 일단 조정 변수들이 그들의 특성과 함께 결정되고 나면, 이 변소와 특성을 이용하여 데이터 전망이 생성되고(단계 1008), 단계(1010)에서 흐름도가 종료된다. 데이터 전망의 실제 생성은 본 발명을 구현하는데 반드시 필요한 것은 아니라는 것에 유의해야 한다. 조정 변수만을 제공하도록 할 수 있다.
도 11에는 본 발명의 양상에 따른 데이터 전망 자동 생성을 용이하게 하는 방법(1100)의 또 다른 흐름도가 도시되어 있다. 방법(1100)은 의사결정 트리 기계 학습 기술을 통해 이용되는 발견 프로세스이다. 방법(1100)은 단계(1102)에서 시작하여, 먼저 그리디 알고리즘을 통해 목표 변수에 대해 정규의 의사결정 트리를 학습한다(단계 1104). 그 다음, 현재의 최적 정규 서브 트리가 루트 노드로서 초기화되고 스코어가 기록된다(단계 1106). 현재의 최적 정규 서브 트리 스코어는 이 스코어로 설정된다(단계 1107). 그 다음, 현재의 최적 정규 서브 트리가 학습된 정규 의사결정 트리와 같은 것인지 여부에 대해 판단한다(단계 1108). 만일 같다면, 단계(1110)에서 흐름도가 종료된다. 만일 같지 않다면, 최적의 다른스코어가 마이너스 무한대로 설정된다(단계 1112). 그 다음, 현재 최적 서브 트리보다 스플릿이 하나 더 많고 상기 학습된 정규 의사결정 트리에 따르는 대안 서브 트리가 생성된다(단계 1114). 이 대안 서브 트리로부터 대안 완성형 서브 트리가 구축 되고(단계 1118) 스코어를 기록한다(단계 1120). 그 다음, 대안 완성형 서브 트리 스코어가 최적의 대안 완성형 서브 트리 스코어보다 큰지 여부에 대해 판단한다(단계 1122). 만일 더 크다면, 최적 대안 (비완성형) 서브 트리는 대안 (비완성형) 서브 트리와 같게 설정되고 최적 대안 스코어는 대안 스코어와 같게 설정하고(단계 1124), 그 다음에 고려할 스플릿들이 더 있는지에 대해 판단한다(단계 1126). 만일 더 있다면, 다음 대안이 생성되고(단계 1114) 전술한 바와 같이 계속된다. 만일 고려할 대안이 더 이상 없다면, 최적 대안 스코어가 최적 정규 서브 트리 스코어보다 더 큰지를 판단한다(단계 1128). 크지 않다면 단계(1110)에서 흐름도는 종료된다. 만일 더 크다면, 최적 정규 서브 트리는 현재 최적 대안 정규 서브트리와 같게 설정되고 최적 정규 서브 트리 스코어는 최적 대안 스코어와 같게 설정된다(단계 1130). 그 다음, 현재 최적 정규 서브 트리가 상기 학습된 정규 의사결정 트리와 같은지를 판단하는 단계(단계 1108)로 되돌아가 전술한 바와 같은 단계들을 반복한다. 이 발견 프로세스는 조정 변수, 그 범위 및/또는 입도 등의 선택을 평가하는데 이용될 수 있다.
본 발명의 여러 가지 양상을 구현하기 위한 추가적인 상황을 제공하기 위하여, 도 12와 다음의 설명은 본 발명의 여러 양상이 구현될 수 있는 적당한 컴퓨팅 환경(1200)의 간단하고 일반적인 설명을 제공하기 위한 것이다. 지금까지는 로컬 컴퓨터 및/또는 원격 컴퓨터 상에서 실행되는 컴퓨터 프로그램의 컴퓨터 실행가능 명령어로 본 발명을 설명하였지만, 당업자라면 다른 프로그램 모듈의 조합으로 본 발명이 구현될 수도 있음을 잘 알 것이다. 일반적으로, 프로그램 모듈은 특정 업 무를 수행하고 그리고/또는 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조 등을 포함한다. 더욱이, 당업자라면 본 발명의 방법은 퍼스널 컴퓨터, 휴대용 컴퓨팅 장치, 마이크로프로세서 기반 및/또는 프로그램가능 가전 기기는 물론 단일 프로세서 또는 다중 프로세서 컴퓨터 시스템, 미니 컴퓨터, 메인프레임 컴퓨터 등(각각은 하나 또는 그 이상의 고난련 장치와의 통신이 가능함)을 포함하는 다른 컴퓨터 시스템 구성으로 실시될 수 있음을 잘 알 것이다. 본 발명의 예시된 양상은 통신망을 통해 연결되어 있는 원격 프로세싱 장치에 의해 특정 업무가 수행되는 분산형 컴퓨팅 환경에서 실시될 수도 있다. 그러나, 본 발명의 전부는 아니더라도 일부 양상은 독립형 컴퓨터 상에 실시될 수 있다. 분산형 컴퓨팅 환경에서 프로그램 모듈은 로컬 및/또는 원격 메모리 저장 장치에 위치할 수 있다.
본 출원에서 사용된 용어 "컴포넌트"는 컴퓨터 관련 실체, 즉 하드웨어, 하드웨어와 소프트웨어의 결합, 소프트웨어나, 실행 중인 소프트웨어를 말한다. 예컨대, 컴포넌트는 프로세서 상에서 실행되는 프로세스, 프로세서, 객체, 실행 가능파일, 실행 스레드, 프로그램, 및 컴퓨터일 수 있으나, 이에 한정되는 것은 아니다. 예컨대, 서버 상에서 실행되는 애플리케이션 및/또는 서버 그 자체가 컴포넌트일 수 있다. 그 외에도 컴포넌트는 하나 또는 그 이상의 세부 컴포넌트를 포함할 수 있다.
도 12를 참조로 설명하면, 본 발명의 여러 양상을 구현하기 위한 예시적인 시스템 환경(1200)은 처리 장치(1204), 시스템 메모리(1206), 및 시스템 버스 (1208)를 포함하는 종래의 컴퓨터(1202)를 포함하며, 시스템 버스(1208)는 시스템 메모리 등과 같은 여러 가지 시스템 컴포넌트를 처리 장치(1204)에 연결시킨다. 처리 장치(1204)는 상업적으로 입수가능한 또는 전용의 프로세서일 수 있다. 그 외에도, 처리 장치는 병렬로 연결되어 있는 하나 이상의 프로세서로 구성된 멀티 프로세서로 구현될 수 있다.
시스템 버스(1208)는 메모리 버스나 메모리 제어기, 주변 버스, 및 로컬 버스를 포함하는 몇 가지 종류의 버스 구조 중 임의의 것이 될 수 있다. 이 중 로컬 버스는 예컨대 PCI, VESA, 마이크로채널, ISA, 및 EISA와 같은 다양한 종래의 버수 구조 중 임의의 것을 이용한다. 시스템 메모리(1206)는 리드 온리 메모리(ROM)(1210) 및 랜덤 액세스 메모리(RAM)(1212)를 포함한다. ROM(1210)에는 기동 중에 컴퓨터(1202) 내의 요소들 간의 정보 전달을 돕는 기본 루틴을 내장하는 기본 입/출력 시스템(BIOS)이 저장되어 있다.
컴퓨터(1202)는 또한 예컨대 하드 디스크 드라이브(1216), 예컨대 착탈식 디스크(1220)에 읽고 쓰는 자기 디스크 드라이브(1218), 및 예컨대 CD-ROM 디스크나 기타 광 매체에 읽고 쓰는 광 디스크 드라이브(1222)를 포함할 수 있다. 하드 디스크 드라이브(1216), 자기 디스크 드라이브(1218), 및 광 디스크 드라이브(1222)는 각각 하드 디스크 드라이브 인터페이스(1226), 자기 디스크 드라이브 인터페이스(1228), 및 광 디스크 드라이브 인터페이스(1230)에 의해 시스템 버스(1208)에 연결되어 있다. 드라이브들(1216 내지 1222)과 그 관련 컴퓨터 판독가능 매체는 컴퓨터(1202)에 데이터, 데이터 구조, 컴퓨터 실행가능 명령어 등의 불휘발성 저장 을 제공한다. 상기 컴퓨터 판독가능 매체는 하드 디스크, 착탈식 자기 디스크, 및 CD를 말하는 것이지만, 당업자라면 자기 카세트, 플래시 메모리 카드, 디지털 비디오 디스크, 베르누이 카트리지(Bernoulli cartridge) 등과 같이 컴퓨터에 의해 판독될 수 있는 다른 종류의 매체도 예시적인 운영 환경(1200)에서 사용될 수 있고 또 그와 같은 매체는 본 발명의 방법을 수행하기 위한 컴퓨터 실행가능 명령어를 포함할 수 있음을 잘 알 것이다.
드라이브들(1216 내지 1222) 및 RAM(1212)에는 운영 체제(1232), 하나 또는 그 이상의 응용 프로그램(1234), 기타 프로그램 모듈(1236), 및 프로그램 데이터(1238)를 포함하는 많은 프로그램 모듈이 저장될 수 있다. 운영 체제(1232)는 적당한 운영 체제 또는 운영 체제들의 조합이면 된다. 예컨대, 응용 프로그램(1234)과 프로그램 모듈(1236)은 본 발명의 양상에 따른 데이터 전망 자동 생성 방식을 포함할 수 있다.
사용자는 키보드(1240)와 포인팅 장치(예컨대, 마우스(1242))와 같은 하나 또는 그 이상의 사용자 입력 장치를 통해 컴퓨터(1202)에 명령과 정보를 입력해 넣을 수 있다. 다른 입력 장치(미도시)는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 무선 리모트, 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 장치는 대개는 시스템 버스(1208)에 연결된 시리얼 포트 인터페이스(1244)를 통해 처리 장치(1204)에 연결되나, 병렬 포트, 게임 포트 또는 범용 직렬 버스(USB)와 같은 다른 인터페이스에 의해서 연결될 수도 있다. 모니터(1246)나 기타 다른 종류의 디스플레이 장치도 비디오 어댑터(1248)와 같은 인터페이스를 통해 시스템 버스(1208)에 연결된다. 모니터(1246) 외에도, 컴퓨터(1202)는 스피커, 프린터 등과 같은 다른 주변 출력 장치(미도시)를 포함할 수 있다.
컴퓨터(1202)는 하나 또는 그 이상의 원격 컴퓨터(1260)에의 논리적 연결을 이용하여 네트워크화된 환경에서 작동할 수 있다. 원격 컴퓨터(1260)는 워크스테이션, 서버 컴퓨터, 라우터, 피어(peer) 디바이스 또는 기타 공통 네트워크 노드일 수 있으며, 도 12에는 간략화를 위해 메모리 저장 장치(1262)만이 도시되어 있지만, 통상적으로 컴퓨터(1202)와 관련하여 전술된 요소들을 많이 또는 전부 포함한다. 도 12에 도시된 논리적 연결은 근거리 통신망(LAN)(1264)와 원거리 통신망(WAN)(1266)을 포함할 수 있다. 이와 같은 네트워킹 환경은 사무실, 기업 규모(enterprise-wide) 컴퓨터 네트워크, 인트라넷, 및 인터넷에서 흔하게 볼 수 있는 것이다.
예컨대, LAN 네트워킹 환경에서는 컴퓨터(1202)는 네트워크 인터페이스 또는 어댑터(1268)를 통해 LAN(1264)에 연결된다. WAN 네트워킹 환경의 경우에는 컴퓨터(1202)는 통상적으로 모뎀(예컨대, 전화, DSL, 케이블 등)(1270)을 포함하거나, LAN 상의 통신 서버에 연결되거나, 인터넷 같은 WAN(1266)을 통해 통신을 설정하는 기타 수단을 가진다. 모뎀(1270)은 컴퓨터(1202)에 대해 내장형 또는 외장형일 수 있는데, 시리얼 포트 인터페이스(1244)를 통해 시스템 버스(1208)에 연결된다. 네트워크화된 환경에서는, 프로그램 모듈(응용 프로그램(1234) 포함) 및/또는 프로그램 데이터(1238)는 원격 메모리 저장 장치(1262)에 저장될 수 있다. 도시된 네트워크 연결은 예시적인 것이며, 본 발명의 양상을 실시할 때에 기타 다른 수단(예컨 대 유무선)을 사용하여 컴퓨터들(1202, 1260) 간의 통신 링크를 설정할 수 있음은 물론이다.
컴퓨터 프로그래밍 분야의 전문가의 관례에 따라서, 본 발명을 달리 표시하지 않은 한, 컴퓨터(1202) 또는 원격 컴퓨터(1260)와 같은 컴퓨터에 의해 수행되는 행위와 동작의 기호 표현을 참조로 설명하였다. 그와 같은 행위와 동작은 때로는 컴퓨터 실행가능이라고 말한다. 행위와 기호적으로 표현된 동작은 처리 장치(1204)에 의한 데이터 비트를 표현하는 전기적 신호의 조작(이 조작에 의해서 전기적 신호 표현이 변환 또는 편집 정리됨)과, 메모리 시스템(시스템 메모리(1206), 하드 디스크 드라이브(1216), 플로피 디스크(1220), CD-ROM(1224), 및 원격 메모리(1262)를 포함함) 내의 메모리 위치에의 데이터 비트의 유지를 포함하며, 이에 따라서 컴퓨터 시스템의 동작을 재구성하거나 변경하는 것은 물론 기타 다른 신호 처리를 행할 수 있다. 그와 같은 데이터 비트가 유지되는 메모리 위치는 데이터 비트에 대응하는 특정의 전기적, 자기적, 또는 광학적 특성을 가진 물리적 위치이다.
도 13은 본 발명과 상호작용할 수 있는 예시적인 컴퓨팅 환경(1300)의 다른 블록도이다. 시스템(1300)은 하나 또는 그 이상의 클라이언트(1302)를 포함하는 시스템을 나타낸 것이다. 클라이언트(1302)는 하드웨어 및/또는 소프트웨어(예컨대, 스레드, 프로세스, 컴퓨팅 장치)일 수 있다. 시스템(1300)은 또한 하나 또는 그 이상의 서버(1304)를 포함한다. 서버(1304)도 하드웨어 및/또는 소프트웨어(예컨대, 스레드, 프로세스, 컴퓨팅 장치)일 수 있다. 서버(1304)는 예컨대 본 발명을 이용하여 변환을 수행하는 스레드를 내장할 수 있다. 클라이언트(1302)와 서버 (1304) 간의 한 가지 가능한 통신은 2 또는 그 이상의 컴퓨터 프로세스 간에 전송되기에 적합한 데이터 패킷 형태로 이루어질 수 있다. 시스템(1300)은 클라이언트(1302)와 서버(1304) 간의 통신을 용이하게 하기 위하여 이용될 수 있는 통신 프레임워크(1308)를 포함한다. 클라이언트(1302)는 클라이언트(1302)의 로컬 정보를 저장하기 위해 이용될 수 있는 하나 또는 그 이상의 클라이언트 데이터 저장 장치(1310)에 연결된다. 유사하게, 서버(1304)는 서버(1304)의 로컬 정보를 저장하기 위해 이용될 수 있는 하나 또는 그 이상의 서버 데이터 저장 장치(1306)에 연결된다.
본 발명의 일 례에서, 데이터 전망 생성을 용이하게 하는 2 또는 그 이상의 컴퓨터 컴포넌트 간에 전달된 데이터 패킷은 적어도 그 일부는 데이터베이스의 목표 변수를 포함하는 사용자 지정 데이터를 적어도 부분적으로 이용하여 데이터베이스로부터 목표 변수의 데이터 전망의 적어도 하나의 조정 변수를 자동적으로 생성하는 데이터 전망 생성 시스템에 관한 정보로 구성된다.
본 발명의 시스템 및/또는 방법은 데이터 전망 자동 생성을 용이하게 하는 컴퓨터 컴포넌트 및 비컴퓨터 관련 컴포넌트에서 이용될 수 있다. 더욱이, 당업자라면 본 발명의 시스템 및/또는 방법은 컴퓨터 서버 및/또는 휴대용 전자 기기 등을 포함하나, 이에 한정되지 않는 다양한 전자 관련 기술에서 이용될 수 있음을 잘 알 것이다.
지금까지는 본 발명의 예들에 대해서 설명하였다. 물론 본 발명을 설명하기 위하여 구성요소와 방법의 생각할 수 있는 모든 조합을 기술하는 것은 불가능하지 만, 당업자라면 본 발명을 여러가지로 조합하고 변형시킬 수 있음을 잘 알 것이다. 따라서, 본 발명은 첨부된 청구범위의 본질과 범위 내에 드는 그와 같은 수정, 변경, 변형을 모두 포함한다. 더욱이, 용어 "포함한다"가 상세한 설명과 청구범위에 사용된 경우에, 이 용어는 용어 "이루어진다"가 청구항에서 전통적인 용어로서 사용될 때에 이 용어 "이루어진다"가 해석되는 것과 유사한 의미로 해석되어 진다.
본 발명은 미숙련자에게도 강력하고 직관적인 수단을 제공하여 데이터베이스가 아무리 크고 복잡하더라도 그 데이터베이스로부터의 정보를 신속하게 가공할 수 있게 하는 효과가 있다.

Claims (42)

  1. 데이터 전망 생성을 용이하게 하는 시스템에 있어서,
    데이터베이스로부터의 목표 변수를 포함하여 사용자 지정 입력 데이터를 수신하는 컴포넌트; 및
    상기 목표 변수의 데이터 전망을 위하여 상기 사용자 지정 입력 데이터와 상기 데이터베이스의 적어도 일부로부터 도출된 적어도 하나의 조정 변수의 자동 생성을 제공하는 생성 컴포넌트
    를 포함하는 시스템.
  2. 제1항에 있어서, 상기 데이터 전망은 피봇 테이블과 온라인 분석 처리(OLAP) 큐브로 구성된 그룹으로부터 선택된 적어도 하나를 포함하는 시스템.
  3. 제1항에 있어서, 적어도 하나의 자동 생성된 조정 변수를 이용하여 상기 데이터 전망을 자동적으로 생성하는 데이터 전망 컴포넌트를 더 포함하는 시스템.
  4. 제3항에 있어서, 상기 데이터 전망 컴포넌트는 기계 학습 기술의 적어도 일부에 기초하여 사용자에게의 상기 데이터 전망의 프리젠테이션(presentation)을 향상시키기 위하여 상기 데이터 전망의 사용자 뷰(view)를 자동적으로 추가적으로 조정하는 시스템.
  5. 제4항에 있어서, 적어도 하나의 사용자 제어 입력을 이용하는 시스템.
  6. 제1항에 있어서, 상기 생성 컴포넌트는 상기 조정 변수의 자동 생성을 용이하게 하는 적어도 한 가지 기계 학습 기술을 이용하는 시스템.
  7. 제6항에 있어서, 상기 기계 학습 기술은 상기 목표 변수의 상기 데이터 전망의 톱 세트(top set)와 레프트 세트(left set)로 구성된 그룹으로부터 선택된 적어도 하나에 대한 적어도 하나의 조정 변수를 식별하는 시스템.
  8. 제7항에 있어서, 상기 조정 변수는 사용자 제어 입력을 통해 제어가능한 시스템.
  9. 제7항에 있어서, 상기 기계 학습 기술은 상기 조정 변수의 복잡도에 대한 상기 목표 변수의 예측 능력에 기초하여 상기 조정 변수를 식별하는 시스템.
  10. 제9항에 있어서, 상기 기계 학습 기술은 상기 조정 변수를 식별하는데 변수의 효용도를 추가적으로 적용하는 시스템.
  11. 제7항에 있어서, 상기 기계 학습 기술은 상기 조정 변수의 식별을 용이하게 하는 적어도 하나의 완성형 의사결정 트리를 이용하는 시스템.
  12. 제11항에 있어서, 상기 기계 학습 기술은 적어도 하나의 발견법을 이용하여 상기 완성형 의사결정 트리를 구축하는 시스템.
  13. 제7항에 있어서, 상기 조정 변수는 이산 조정 변수와 연속 조정 변수로 구성된 그룹으로부터 선택된 적어도 하나를 포함하는 시스템.
  14. 제13항에 있어서, 상기 기계 학습 기술은 이산화를 통해 상기 조정 변수의 입도(granularity)를 자동적으로 추가적으로 결정하는 시스템.
  15. 제14항에 있어서, 상기 입도는 사용자 제어 입력을 통해 조정가능한 시스템.
  16. 제14항에 있어서, 상기 기계 학습 기술은 상기 조정 변수의 복잡도에 대한 상기 목표 변수의 예측 능력에 기초하여 상기 조정 변수의 상기 입도를 결정하는 시스템.
  17. 제16항에 있어서, 상기 기계 학습 기술은 상기 조정 변수의 상기 입도를 식별하는데 조정 변수의 입도의 효용도를 추가적으로 적용하는 시스템.
  18. 제16항에 있어서, 상기 기계 학습 기술은 상기 조정 변수의 상기 입도의 결정을 용이하게 하는 적어도 하나의 완성형 의사결정 트리를 이용하는 시스템.
  19. 제18항에 있어서, 상기 기계 학습 기술은 적어도 하나의 발견법을 이용하여 상기 완성형 의사결정 트리를 구축하는 시스템.
  20. 제13항에 있어서, 상기 기계 학습 기술은 상기 연속 조정 변수의 적어도 하나의 범위를 자동적으로 결정하고, 상기 범위를 새로운 조정 변수로 나타내는 시스템.
  21. 제20항에 있어서, 상기 범위는 사용자 제어 입력을 통해 조정가능한 시스템.
  22. 제20항에 있어서, 상기 기계 학습 기술은 상기 조정 변수의 복잡도에 대한 상기 목표 변수의 예측 능력에 기초하여 상기 연속 조정 변수의 범위를 결정하는 시스템.
  23. 제22항에 있어서, 상기 기계 학습 기술은 상기 연속 조정 변수의 범위를 식별하는데 연속 변수의 범위의 효용도를 추가적으로 적용하는 시스템.
  24. 제22항에 있어서, 상기 기계 학습 기술은 상기 연속 조정 변수의 상기 범위 의 결정을 용이하게 하는 적어도 하나의 완성형 의사결정 트리를 이용하는 시스템.
  25. 제24항에 있어서, 상기 기계 학습 기술은 적어도 하나의 발견법을 이용하여 상기 완성형 의사결정 트리를 구축하는 시스템.
  26. 데이터 전망 생성을 용이하게 하는 방법에 있어서,
    데이터베이스로부터의 목표 변수를 포함하여 사용자 지정 입력 데이터를 수신하는 단계; 및
    상기 목표 변수의 데이터 전망을 위하여 상기 사용자 지정 입력 데이터와 상기 데이터베이스의 적어도 일부로부터 도출된 적어도 하나의 조정 변수를 자동적으로 생성하는 단계
    를 포함하는 데이터 전망 생성 방법.
  27. 제26항에 있어서, 상기 데이터 전망 자동 생성 단계는 상기 조정 변수의 자동 생성을 용이하게 하는 적어도 한 가지 기계 학습 프로세스를 이용하는 단계를 더 포함하는 데이터 전망 생성 방법.
  28. 제27항에 있어서, 상기 기계 학습 프로세스는
    상기 목표 변수의 상기 데이터 전망의 톱 세트와 레프트 세트로 구성된 그룹으로부터 선택된 적어도 하나에 대한 적어도 하나의 조정 변수를 식별하는 단계 - 상기 조정 변수는 상기 조정 변수의 복잡도에 대한 상기 목표 변수의 예측 능력에 기초하여 식별됨 ;
    이산 조정 변수의 입도를 자동적으로 결정하는 단계 - 상기 조정 변수의 입도는 상기 조정 변수의 복잡도에 대한 상기 목표 변수의 예측 능력에 기초함 - ; 및
    연속 조정 변수의 적어도 하나의 범위를 결정하고, 상기 범위를 새로운 조정 변수로서 나타내는 단계 - 상기 조정 변수의 범위는 상기 조정 변수의 복잡도에 대한 상기 목표 변수의 예측 능력에 기초함 -
    를 포함하는 방법.
  29. 제28항에 있어서, 상기 조정 변수 식별 단계는
    상기 목표 변수를 가장 잘 예측하는 적어도 하나의 최적 조정 변수 및 그 입도를 결정하기 위하여, 적어도 한 가지 발견법을 이용하여 구축되는 적어도 하나의 완성형 의사결정 트리를 이용하는 단계를 포함하는 방법.
  30. 제29항에 있어서, 상기 발견법은
    상기 완성형 의사결정 트리를 포함하는 단일 의사결정 트리를 학습하는 단계;
    상기 단일 의사결정 트리를 예측기 변수와 상기 예측기 변수의 대응 값의 세트로 변환시키는 단계; 및
    예측기 변수와 그 입도의 적어도 하나의 최적 세트를 찾기 위하여 상기 단일 의사결정 트리의 적어도 하나의 서브 트리를 탐색하는 단계
    를 포함하는 방법.
  31. 제30항에 있어서, 상기 적어도 하나의 서브 트리 탐색 단계는
    예측기 변수를 갖지 않는 루트 노드를 가진 제1 서브 트리를 선택하는 단계;
    상기 단일 의사결정 트리로부터, 최적 스코어를 위한 스플릿의 평가를 통해 선택된 단일 스플릿을 부가함으로써 제2 서브 트리를 선택하는 단계; 및
    상기 최적 스코어를 증가시키는 추가 스플릿이 발생하지 않는 사건과 상기 제2 서브 트리가 발생하는 사건으로 구성된 그룹으로부터 선택된 적어도 하나가 상기 단일 의사결정 트리와 같을 때에 동작을 중지하는 단계
    를 포함하는 방법.
  32. 제28항에 있어서, 적어도 하나의 사용자 제어 입력에 기초하여, 조정 변수, 조정 변수의 입도, 및 연속 조정 변수의 범위로 구성된 그룹으로부터 선택된 적어도 하나를 조정하는 단계를 더 포함하는 방법.
  33. 제28항에 있어서, 조정 변수, 조정 변수의 입도, 및 연속 조정 변수의 범위로 구성된 그룹으로부터 선택된 적어도 하나를 식별 및/또는 결정하는 것을 용이하게 하는 효용도 값을 적용하는 단계를 더 포함하는 방법.
  34. 제26항에 있어서, 적어도 하나의 자동 생성된 조정 변수를 이용하여 데이터 전망을 자동적으로 생성하는 단계 더 포함하는 방법.
  35. 제34항에 있어서, 기계 학습 기술의 적어도 일부에 기초하여 사용자에게의 상기 데이터 전망의 프리젠테이션을 향상시키기 위하여 상기 데이터 전망의 뷰를 자동적으로 조정하는 단계를 더 포함하는 방법.
  36. 제35항에 있어서, 적어도 하나의 사용자 제어 입력을 이용하는 방법.
  37. 제26항에 있어서, 상기 데이터 전망은 피봇 테이블과 온라인 분석 처리(OLAP) 큐브로 구성된 그룹으로부터 선택된 적어도 하나를 포함하는 방법.
  38. 데이터 전망 생성을 용이하게 하는 시스템에 있어서,
    데이터베이스로부터의 목표 변수를 포함하여 사용자 지정 입력 데이터를 수신하기 위한 수단; 및
    상기 목표 변수의 데이터 전망을 위하여 상기 사용자 지정 입력 데이터와 상기 데이터베이스의 적어도 일부로부터 도출된 적어도 하나의 조정 변수를 자동적으로 생성하기 위한 수단
    을 포함하는 시스템.
  39. 2 또는 그 이상의 컴퓨터 컴포넌트들 간에 전달되며, 데이터 전망 생성을 용이하게 하는 데이터 패킷으로서,
    데이터베이스의 목표 변수를 포함하여 사용자 지정 데이터를 적어도 부분적으로 이용하여 상기 데이터베이스로부터 상기 목표 변수의 데이터 전망의 적어도 하나의 조정 변수를 자동적으로 생성하는 데이터 전망 생성 시스템에 관한 정보를 포함하는 데이터 패킷.
  40. 제1항의 시스템의 컴퓨터 실행가능 컴포넌트를 저장한 컴퓨터 판독가능 매체.
  41. 컴퓨터, 서버, 및 휴대용 전자 장치로 구성된 그룹으로부터 선택된 적어도 하나를 포함하는 제26항의 방법을 이용하는 장치.
  42. 컴퓨터, 서버, 및 휴대용 전자 장치로 구성된 그룹으로부터 선택된 적어도 하나를 포함하는 제1항의 시스템을 이용하는 장치.
KR1020050030779A 2004-04-14 2005-04-13 목표 변수를 위한 데이터 전망 자동 생성 KR101130524B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/824,108 US7225200B2 (en) 2004-04-14 2004-04-14 Automatic data perspective generation for a target variable
US10/824,108 2004-04-14

Publications (2)

Publication Number Publication Date
KR20060045677A true KR20060045677A (ko) 2006-05-17
KR101130524B1 KR101130524B1 (ko) 2012-03-28

Family

ID=34939156

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050030779A KR101130524B1 (ko) 2004-04-14 2005-04-13 목표 변수를 위한 데이터 전망 자동 생성

Country Status (5)

Country Link
US (1) US7225200B2 (ko)
EP (1) EP1587008A3 (ko)
JP (1) JP4233541B2 (ko)
KR (1) KR101130524B1 (ko)
CN (1) CN100426289C (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10233609A1 (de) * 2002-07-24 2004-02-19 Siemens Ag Verfahren zur Ermittlung einer in vorgegebenen Daten vorhandenen Wahrscheinlichkeitsverteilung
EP1577792B1 (en) * 2004-03-16 2010-10-13 Sap Ag A method, computer program product and data processing system for displaying a plurality of data objects
US20050234761A1 (en) * 2004-04-16 2005-10-20 Pinto Stephen K Predictive model development
EP1643364A1 (en) * 2004-09-30 2006-04-05 Sap Ag Systems and methods for general aggregation of characteristics and key figures
WO2006066556A2 (de) * 2004-12-24 2006-06-29 Panoratio Database Images Gmbh Relationale komprimierte datenbank-abbilder (zur beschleunigten abfrage von datenbanken)
US7587410B2 (en) * 2005-03-22 2009-09-08 Microsoft Corporation Dynamic cube services
US8457997B2 (en) * 2005-04-29 2013-06-04 Landmark Graphics Corporation Optimization of decisions regarding multiple assets in the presence of various underlying uncertainties
EP1941432A4 (en) 2005-10-25 2011-04-20 Angoss Software Corp STRATEGY TREES FOR DATA MINING
US20080172671A1 (en) * 2007-01-11 2008-07-17 International Business Machines Corporation Method and system for efficient management of resource utilization data in on-demand computing
US8645390B1 (en) * 2007-08-31 2014-02-04 Google Inc. Reordering search query results in accordance with search context specific predicted performance functions
US8001158B2 (en) * 2007-12-13 2011-08-16 Hewlett-Packard Development Company, L.P. Systems and processes for evaluating database complexities
US8015129B2 (en) * 2008-04-14 2011-09-06 Microsoft Corporation Parsimonious multi-resolution value-item lists
CA2708911C (en) 2009-07-09 2016-06-28 Accenture Global Services Gmbh Marketing model determination system
CA2712569C (en) 2009-08-31 2016-04-26 Accenture Global Services Gmbh Adaptive analytics multidimensional processing system
US20120005151A1 (en) * 2010-07-01 2012-01-05 Vineetha Vasudevan Methods and systems of content development for a data warehouse
US8712989B2 (en) 2010-12-03 2014-04-29 Microsoft Corporation Wild card auto completion
US8774515B2 (en) * 2011-04-20 2014-07-08 Xerox Corporation Learning structured prediction models for interactive image labeling
US9135233B2 (en) 2011-10-13 2015-09-15 Microsoft Technology Licensing, Llc Suggesting alternate data mappings for charts
US10061473B2 (en) 2011-11-10 2018-08-28 Microsoft Technology Licensing, Llc Providing contextual on-object control launchers and controls
US8793567B2 (en) * 2011-11-16 2014-07-29 Microsoft Corporation Automated suggested summarizations of data
US9275334B2 (en) 2012-04-06 2016-03-01 Applied Materials, Inc. Increasing signal to noise ratio for creation of generalized and robust prediction models
US9304746B2 (en) * 2012-06-07 2016-04-05 Carmel-Haifa University Economic Corporation Ltd. Creating a user model using component based approach
CN104428734A (zh) 2012-06-25 2015-03-18 微软公司 输入法编辑器应用平台
US9563674B2 (en) * 2012-08-20 2017-02-07 Microsoft Technology Licensing, Llc Data exploration user interface
US10001897B2 (en) 2012-08-20 2018-06-19 Microsoft Technology Licensing, Llc User interface tools for exploring data visualizations
BR112015027371A2 (pt) * 2013-05-31 2017-08-29 Landmark Graphics Corp Método para determinação de importância de atributos, e, dispositivo transportador de programa não transitório
US10416871B2 (en) 2014-03-07 2019-09-17 Microsoft Technology Licensing, Llc Direct manipulation interface for data analysis
US10824799B2 (en) 2014-06-30 2020-11-03 Microsoft Technology Licensing, Llc Summary data autofill
US20170011418A1 (en) 2015-05-29 2017-01-12 Claude Denton System and method for account ingestion
US10410258B2 (en) 2015-05-29 2019-09-10 Nanigans, Inc. Graphical user interface for high volume data analytics
JP7098327B2 (ja) 2015-11-25 2022-07-11 ドットデータ インコーポレイテッド 情報処理システム、関数作成方法および関数作成プログラム
US10140344B2 (en) 2016-01-13 2018-11-27 Microsoft Technology Licensing, Llc Extract metadata from datasets to mine data for insights
JP7069029B2 (ja) * 2016-10-31 2022-05-17 ドットデータ インコーポレイテッド 自動予測システム、自動予測方法および自動予測プログラム
CN110476159A (zh) 2017-03-30 2019-11-19 日本电气株式会社 信息处理系统、特征值说明方法和特征值说明程序
US10581953B1 (en) * 2017-05-31 2020-03-03 Snap Inc. Real-time content integration based on machine learned selections
CN107562821A (zh) * 2017-08-17 2018-01-09 平安科技(深圳)有限公司 基于数据库的数据透视方法、装置和计算机存储介质
EP3696686A4 (en) 2017-10-05 2021-07-07 dotData, Inc. DEVICE FOR GENERATING CHARACTERISTIC VALUES, METHOD FOR GENERATING CHARACTERISTIC VALUES, AND PROGRAM FOR GENERATING CHARACTERISTIC VALUES
KR20200068043A (ko) * 2018-11-26 2020-06-15 전자부품연구원 영상 기계학습을 위한 객체 gt 정보 생성 방법 및 시스템
CN112783890B (zh) * 2019-11-08 2024-05-07 珠海金山办公软件有限公司 一种生成数据透视表行的方法及装置
CN115618193A (zh) * 2022-12-01 2023-01-17 北京维恩咨询有限公司 基于数据透视表的超级时间维度分析方法、装置和设备

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537589A (en) 1994-06-30 1996-07-16 Microsoft Corporation Method and system for efficiently performing database table aggregation using an aggregation index
JPH1010995A (ja) 1996-06-20 1998-01-16 Fujitsu General Ltd 液晶プロジェクタ照明装置
US6191792B1 (en) 1997-02-10 2001-02-20 Nippon Telegraph And Telephone Corporation Scheme for automatic data conversion definition generation according to data feature in visual multidimensional data analysis tool
JP3431482B2 (ja) * 1998-01-23 2003-07-28 株式会社日立情報システムズ 分類項目解析方法及びこのプログラムを記録した記録媒体
US6430545B1 (en) * 1998-03-05 2002-08-06 American Management Systems, Inc. Use of online analytical processing (OLAP) in a rules based decision management system
US6298342B1 (en) 1998-03-16 2001-10-02 Microsoft Corporation Electronic database operations for perspective transformations on relational tables using pivot and unpivot columns
US6044366A (en) 1998-03-16 2000-03-28 Microsoft Corporation Use of the UNPIVOT relational operator in the efficient gathering of sufficient statistics for data mining
US6374251B1 (en) 1998-03-17 2002-04-16 Microsoft Corporation Scalable system for clustering of large databases
US6216134B1 (en) 1998-06-25 2001-04-10 Microsoft Corporation Method and system for visualization of clusters and classifications
US6360224B1 (en) 1999-04-23 2002-03-19 Microsoft Corporation Fast extraction of one-way and two-way counts from sparse data
US6411313B1 (en) 1999-06-14 2002-06-25 Microsoft Corporation User interface for creating a spreadsheet pivottable
US6626959B1 (en) 1999-06-14 2003-09-30 Microsoft Corporation Automatic formatting of pivot table reports within a spreadsheet
US6405207B1 (en) 1999-10-15 2002-06-11 Microsoft Corporation Reporting aggregate results from database queries
US6484163B1 (en) 2000-03-01 2002-11-19 International Business Machines Corporation Technique for data mining of large scale relational databases using SQL
US6519599B1 (en) 2000-03-02 2003-02-11 Microsoft Corporation Visualization of high-dimensional data
US6505185B1 (en) 2000-03-30 2003-01-07 Microsoft Corporation Dynamic determination of continuous split intervals for decision-tree learning without sorting
EP1195694A3 (en) 2000-10-06 2006-01-11 International Business Machines Corporation Automatic determination of OLAP Cube dimensions
US7818286B2 (en) * 2001-01-22 2010-10-19 Sas Institute Inc. Computer-implemented dimension engine
US20040193633A1 (en) 2003-03-28 2004-09-30 Cristian Petculescu Systems, methods, and apparatus for automated dimensional model definitions and builds utilizing simplified analysis heuristics
US7089266B2 (en) * 2003-06-02 2006-08-08 The Board Of Trustees Of The Leland Stanford Jr. University Computer systems and methods for the query and visualization of multidimensional databases
US20050021489A1 (en) * 2003-07-22 2005-01-27 Microsoft Corporation Data mining structure

Also Published As

Publication number Publication date
US7225200B2 (en) 2007-05-29
JP4233541B2 (ja) 2009-03-04
JP2005302040A (ja) 2005-10-27
EP1587008A3 (en) 2006-07-05
CN1684068A (zh) 2005-10-19
CN100426289C (zh) 2008-10-15
EP1587008A2 (en) 2005-10-19
US20050234960A1 (en) 2005-10-20
KR101130524B1 (ko) 2012-03-28

Similar Documents

Publication Publication Date Title
KR101130524B1 (ko) 목표 변수를 위한 데이터 전망 자동 생성
El-Assady et al. Progressive learning of topic modeling parameters: A visual analytics framework
JP5492187B2 (ja) 編集距離および文書情報を使用する検索結果順位付け
US9081852B2 (en) Recommending terms to specify ontology space
Shukran et al. Artificial bee colony based data mining algorithms for classification tasks
JP5025891B2 (ja) 単純化された発見型分析(analysisheuristics)を利用する自動化されたディメンション・モデルの定義および構築のためのシステム、方法および装置
CN110880019B (zh) 通过无监督域适应训练目标域分类模型的方法
Eshtehardian et al. Time–cost optimization: using GA and fuzzy sets theory for uncertainties in cost
US20020069197A1 (en) Method and apparatus for categorizing information, and a computer product
US20090094231A1 (en) Selecting Tags For A Document By Analyzing Paragraphs Of The Document
EP1970820A1 (en) Information processing device and method, and program
CN110599839A (zh) 一种基于智能组卷和文本分析评阅的在线考试方法和系统
CN111309927B (zh) 一种基于知识图谱挖掘的个性化学习路径推荐方法及系统
CN111126865B (zh) 一种基于科技大数据的技术成熟度判断方法和系统
JP2007207218A (ja) 情報処理装置および方法、並びにプログラム
CN110956277A (zh) 一种交互式的迭代建模系统及方法
Walsh et al. I-optimal or G-optimal: Do we have to choose?
CN114330716A (zh) 一种基于cart决策树的大学生就业预测方法
CN114297025A (zh) 数据中心资源分析系统及方法、存储介质及电子设备
CN111708919B (zh) 一种大数据处理方法及系统
Scherger et al. A systematic overview of the prediction of business failure
Bednarik et al. Efficiency analysis of quality threshold clustering algorithms
Shier et al. Manifold learning methods for visualization and browsing of drum machine samples
Johnson et al. Web content mining using genetic algorithm
JP2000040079A (ja) 並列データ分析装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150217

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee