KR20170087435A - 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법 - Google Patents
컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법 Download PDFInfo
- Publication number
- KR20170087435A KR20170087435A KR1020170087060A KR20170087060A KR20170087435A KR 20170087435 A KR20170087435 A KR 20170087435A KR 1020170087060 A KR1020170087060 A KR 1020170087060A KR 20170087060 A KR20170087060 A KR 20170087060A KR 20170087435 A KR20170087435 A KR 20170087435A
- Authority
- KR
- South Korea
- Prior art keywords
- component
- tag
- learning
- data analysis
- data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000007405 data analysis Methods 0.000 claims description 80
- 230000006870 function Effects 0.000 claims description 13
- 238000013528 artificial neural network Methods 0.000 claims description 8
- 238000007477 logistic regression Methods 0.000 claims description 7
- 230000000306 recurrent effect Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
-
- G06F17/27—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2216/00—Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
- G06F2216/03—Data mining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Educational Administration (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Educational Technology (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 전문가의 지식과 경험을 학습하고 이를 바탕으로 비전문가들이 컴포넌트 기반 소프트웨어 분석 도구를 사용시 후속 컴포넌트를 추천함으로써, 단순 선호도 기반 추천을 넘어, 사용하고자 하는 후속 컴포넌트를 정확하게 예측하여 자동으로 추천할 수 있는 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법에 관한 것이다.
본 발명에 의하면, 학습 서버에서 컴포넌트 기반 소프트웨어 분석 도구에 대한 전문가의 지식과 경험을 학습하고, 이를 비전문가에게 제공함으로써 비전문가가 분석하고자 하는 의도를 정확히 파악해서 후속 컴포넌트를 추천할 수가 있다.
또한, 학습 서버는 사용자에 의해 적재된 컴포넌트와 해당 컴포넌트에 대한 사용자의 의도인 태그(tag)를 이용하여 학습함으로써, 종래의 단순 선호도 기반 추천 방식에 비해 월등히 향상된 정확성을 제공할 수 있다.
본 발명에 의하면, 학습 서버에서 컴포넌트 기반 소프트웨어 분석 도구에 대한 전문가의 지식과 경험을 학습하고, 이를 비전문가에게 제공함으로써 비전문가가 분석하고자 하는 의도를 정확히 파악해서 후속 컴포넌트를 추천할 수가 있다.
또한, 학습 서버는 사용자에 의해 적재된 컴포넌트와 해당 컴포넌트에 대한 사용자의 의도인 태그(tag)를 이용하여 학습함으로써, 종래의 단순 선호도 기반 추천 방식에 비해 월등히 향상된 정확성을 제공할 수 있다.
Description
본 발명은 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법에 관한 것으로, 더욱 상세하게는 전문가의 경험과 지식을 기계적으로 학습하고 이를 이용하여 비전문가인 일반인들도 전문가처럼 모듈화(컴포넌트) 기반 IT 관련 도구를 쉽게 사용할 수 있도록 할 수 있는 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법에 관한 것이다.
컴포넌트 기반 소프트웨어 공학(Component-based software engineering, CBSE), 컴포넌트 기반 개발(component-based development, CBD)은 기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 만드는 소프트웨어 개발방법론이다. 소프트웨어를 완제품으로 개발하던 기존 방식과 달리 부품 역할을 하는 소프트웨어 컴포넌트를 각 기능별로 개발하고 각자에 필요한 것을 선택하여 조립함으로써 소프트웨어 개발에 드는 노력과 시간을 절약할 수 있는 최근의 개발방법론이다.
최근에는 이러한 컴포넌트들을 이용하여 테스트 코딩 없이도 사용자가 원하는 분석 또는 작업을 수월하게 할 수 있는 VPL(Visual Programming Language) 도구가 많은 곳에서 사용되고 있다.
VPL(Visual Programming Language, 시각적인 프로그래밍 언어) 도구를 이용하면, 특정 기능을 수행하도록 설정된 컴포넌트들을 선으로 연결하는 방식을 이용함으로써, 별도의 텍스트 코딩을 하지 않고도 사용자가 원하는 분석 또는 작업을 쉽게 할 수가 있는 장점이 있다. 결국, VPL 도구는 컴포넌트에 기반한 소프트웨어 분석 도구의 한 예라고 할 수 있다.
도 8은 이러한 기존의 VPL 데이터 분석 도구 화면의 예이며, 도 9는 기존 VPL 데이터 분석 도구에서 사용되는 컴포넌트의 예와 컴포넌트간의 연결을 설명하는 예이다. 그리고 도 10은 기존 VPL 데이터 분석 도구에서 단순 선호도 기반으로 후속 컴포넌트를 추천하는 예를 나타낸다.
도 9를 참고하면, VPL 데이터 분석 도구를 구성하는 컴포넌트들은 각각이 고유의 기능을 가지고 있는 아이콘 형태로 되어 있어서, VPL 데이터 분석 도구의 사용자가 클릭이나 드래그 등의 방식을 이용하여 컴포넌트와 컴포넌트를 연결함으로써 분석하고자 하는 기능을 쉽게 사용할 수 있도록 되어 있다.
도 8을 참고하면, 사용자가 각 컴포넌트들을 선택하고, 컴포넌트들 간을 선으로 연결(커넥션, Connection)하며, 연결 및 컴포넌트에 대한 설명(어노테이션, Annotation)이 되어 있는 것을 볼 수 있다. 도 8은 최근에 흔히 볼 수 있는 VPL 데이터 분석 도구의 일반적인 형태를 나타내는 것이다.
결국, 사용자는 분석하고자 하는 소스 데이터를 포함하는 최초 컴포넌트를 선택하고, 최초 컴포넌트를 이용하여 분석하고자 하는 기능을 포함하고 있는 컴포넌트를 선택하고, 이를 선으로 연결하는 작업을 해야 한다. 각 단계마다 컴포넌트의 선택시 사용자는 본인이 분석하고자 하는 목적에 맞는 컴포넌트를 선택하여 컴포넌트로 위치시키고, 설명(어노테이션)을 입력할 수 있다.
그러나, 통계나 데이터 분석에 대한 전문가이거나 해당 VPL 데이터 분석 도구의 전문가는 선택된 컴포넌트에 연결되는 후속 컴포넌트를 선택하는데 어려움이 없으나, 비전문가인 일반인이거나 해당 VPL 데이터 분석 도구에 익숙하지 않은 사용자는 후속 컴포넌트를 선택하는데 많은 어려움이 있을 수 밖에 없는 현실이다.
도 10을 참고하면, 이러한 현실을 해결하기 위해 특정 컴포넌트의 후속 컴포넌트 선택시 사용자에 의한 선호도를 표시하여 후속 컴포넌트의 선택에 도움을 주는 방법이 있으나, 이러한 단순 선호도 기반으로 후속 컴포넌트를 추천하는 방식은 전문가의 지식과 경험을 공유하는 방식이 아니기 때문에 후속 컴포넌트의 추천에 정확성이 떨어지며, 선행하는 컴포넌트와 후속 컴포넌트와의 관계를 고려한 추천 방식이 아니기 때문에 복잡한 컴포넌트와의 관계 및 여러 상황을 반영하지 못하는 문제가 있다.
본 발명은 상기와 같은 문제점을 개선하기 위하여 발명된 것으로, 전문가의 지식과 경험을 학습하고 이를 바탕으로 비전문가들이 컴포넌트 기반 소프트웨어 분석 도구를 사용시 후속 컴포넌트를 추천함으로써, 단순 선호도 기반 추천을 넘어, 사용하고자 하는 후속 컴포넌트를 정확하게 예측하여 자동으로 추천할 수 있는 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법을 제공하기 위한 것이다.
상기와 같은 목적을 달성하기 위하여, 본 발명은 컴포넌트 기반 소프트웨어 분석 도구에서 사용자에 의해 적재된 제1 컴포넌트에 해당하는 데이터의 특성과 유형을 추출하고, 사용자에 의해 입력된 정보를 추출하여 사용자의 해당 데이터에 대한 의도인 데이터 분석 태그를 파악하고 학습하는 데이터 분석 태그 학습단계; 상기 데이터 분석 태그를 기반으로 상기 제1 컴포넌트에 순차적으로 연결되는 제2 컴포넌트에 대한 순차적 연관 지식 및 제2 컴포넌트의 속성 설정에 대한 지식을 학습하는 데이터 분석 기법 학습단계; 및 상기 데이터 분석 태그 학습단계에서 학습된 내용을 기초로 사용자에 의해 적재된 컴포넌트에 대해 태그를 파악하고, 파악한 태그와 상기 데이터 분석 기법 학습단계에서 학습된 내용을 기초로 상기 컴포넌트에 연결되는 후속 컴포넌트를 추천하는 컴포넌트 추천단계를 포함하는 것을 특징으로 하는 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법을 제공한다.
또한, 상기 데이터 분석 태그 학습단계 이전에, 컴포넌트에 기반하여 작성된 학습에 사용할 데이터를 수신하면, 데이터를 파싱(parsing)하여 학습 데이터를 구성하는 학습 데이터 구성단계를 더 포함하고, 상기 데이터 분석 태그 학습단계는, 상기 파싱하여 구성된 학습 데이터에서 사용자에 의해 적재된 제1 컴포넌트에 해당하는 데이터의 특성과 유형 및 사용자에 의해 입력된 정보를 추출하는 것을 특징으로 한다.
또한, 상기 데이터 분석 태그 학습단계는, 로지스틱 회귀(Logistic Regression) 함수를 이용하여 학습하고, 각 데이터 분석 태그에 대한 확률값을 산출하는 것을 특징으로 한다.
그리고, 상기 데이터 분석 태그 학습단계는, 로지스틱 회귀(Logistic Regression) 함수를 이용하여 각 데이터 분석 태그별 점수를 산정하는 태그 점수 산출단계; 및 상기 산정된 데이터 분석 태그별 점수를 소프트맥스 회귀(Softmax Regression) 함수를 이용하여 각 데이터 분석 태그별 확률값으로 변환하는 태그 확률값 산출단계를 포함하는 것을 특징으로 한다.
또한, 상기 데이터 분석 기법 학습단계는, 복수 개의 제1 컴포넌트와 상기 데이터 분석 태그 학습단계에서 학습된 복수 개의 데이터 분석 태그와 상기의 각 확률값을 입력값으로 사용하고, 제1 컴포넌트에 연결되는 복수 개의 제2 컴포넌트를 출력값으로 사용하는 순환 신경망(Recurrent Neural Network) 알고리즘을 이용하여 학습하는 것을 특징으로 한다.
그리고, 상기 컴포넌트 추천단계는, 적재된 컴포넌트에 대해 확률값 기반으로 태그를 파악하며, 해당 확률값을 갖는 태그와 사용자에 의해 적재된 컴포넌트에 대해 상기 데이터 분석 기법 학습단계에서 학습된 내용을 기초로 후속 컴포넌트를 추천하며, 상기 후속 컴포넌트에 대해서도 확률값 기반으로 태그를 파악하여 갱신하는 것을 특징으로 한다.
나아가, 상기 컴포넌트 추천단계는, 상기 데이터 분석 태그 학습단계에서 학습된 내용을 기초로 상기 후속 컴포넌트에 대해 태그를 파악하고, 파악한 태그와 상기 데이터 분석 기법 학습단계에서 학습된 내용을 기초로 상기 후속 컴포넌트에 연결되는 추가 후속 컴포넌트를 추천하는 것을 특징으로 한다.
상기와 같은 구성의 본 발명에 따르면, 다음과 같은 효과를 도모할 수 있다.
우선, 비전문가들도 전문가의 지식과 경험을 이용하여 컴포넌트 기반 소프트웨어 분석 도구를 쉽게 사용할 수 있다.
다시 말해서, 학습 서버에서 컴포넌트 기반 소프트웨어 분석 도구에 대한 전문가의 지식과 경험을 학습하고, 이를 비전문가에게 제공함으로써 비전문가가 분석하고자 하는 의도를 정확히 파악해서 후속 컴포넌트를 추천할 수가 있다.
또한, 학습 서버는 사용자에 의해 적재된 컴포넌트와 해당 컴포넌트에 대한 사용자의 의도인 태그(tag)를 이용하여 학습함으로써, 종래의 단순 선호도 기반 추천 방식에 비해 월등히 향상된 정확성을 제공한다.
도 1은 본 발명의 바람직한 실시 예에 따른 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법의 순서도이다.
도 2는 도 1의 데이터 분석 태그 학습 단계에 포함되는 구체적인 단계를 나타낸 순서도이다.
도 3은 본 발명의 바람직한 실시 예에 따른 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법을 구현하기 위한 시스템 구성도를 나타낸다.
도 4는 도 3의 학습 서버에 대한 구체적인 기능 블록도이다.
도 5는 비전문가에게 컴포넌트가 추천되는 과정을 구체적으로 나타낸 예시도이다.
도 6은 태그(의도)에 따라 컴포넌트가 추천되는 예를 나타낸 예시도이다.
도 7은 컴포넌트 추천 유형을 나타내는 예시도이다.
도 8은 기존의 VPL 데이터 분석 도구 화면의 예이다.
도 9는 기존 VPL 데이터 분석 도구에서 사용되는 컴포넌트의 예와 컴포넌트간의 연결을 설명하는 예이다.
도 10은 기존 VPL 데이터 분석 도구에서 단순 선호도 기반으로 후속 컴포넌트를 추천하는 예이다.
도 2는 도 1의 데이터 분석 태그 학습 단계에 포함되는 구체적인 단계를 나타낸 순서도이다.
도 3은 본 발명의 바람직한 실시 예에 따른 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법을 구현하기 위한 시스템 구성도를 나타낸다.
도 4는 도 3의 학습 서버에 대한 구체적인 기능 블록도이다.
도 5는 비전문가에게 컴포넌트가 추천되는 과정을 구체적으로 나타낸 예시도이다.
도 6은 태그(의도)에 따라 컴포넌트가 추천되는 예를 나타낸 예시도이다.
도 7은 컴포넌트 추천 유형을 나타내는 예시도이다.
도 8은 기존의 VPL 데이터 분석 도구 화면의 예이다.
도 9는 기존 VPL 데이터 분석 도구에서 사용되는 컴포넌트의 예와 컴포넌트간의 연결을 설명하는 예이다.
도 10은 기존 VPL 데이터 분석 도구에서 단순 선호도 기반으로 후속 컴포넌트를 추천하는 예이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되는 실시 예를 참조하면 명확해질 것이다.
그러나, 본 발명은 이하에서 개시되는 실시 예로 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이다.
본 명세서에서 본 실시 예는 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
그리고 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
따라서, 몇몇 실시 예에서, 잘 알려진 구성 요소, 잘 알려진 동작 및 잘 알려진 기술들은 본 발명이 모호하게 해석되는 것을 피하기 위하여 구체적으로 설명되지 않는다.
또한, 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭하고, 본 명세서에서 사용된(언급된) 용어들은 실시 예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다.
본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함하며, '포함(또는, 구비)한다'로 언급된 구성 요소 및 동작은 하나 이상의 다른 구성요소 및 동작의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다.
또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참고로 본 발명의 바람직한 실시 예에 대하여 설명한다.
도 1 내지 도 4를 참고하면, 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법은, 먼저 VPL 데이터 분석 도구와 같은 컴포넌트 기반 소프트웨어 분석 도구(200)의 전문가가 해당 분석 도구를 사용한 경험과 지식을 학습 서버(100)로 제공해야 한다. 전문가의 컴포넌트 기반 소프트웨어 분석 도구(200)의 도구 활용 지식 제공 모듈(210)은 네트웍 또는 인터넷을 통해 학습 서버(100)에 해당 분석 도구에 대한 전문가의 지식과 경험을 제공하게 된다(S100).
학습 서버(100)는 전문가 지식 수신부(110), 학습 데이터 구성부(120), 데이터 특성 추출부(130), 데이터 분석 태그 학습부(140), 데이터 분석 기법 학습부(150) 및 학습 데이터 제공부(160)로 구성될 수 있다.
전문가 지식 수신부(110)는 상기 도구 활용 지식 제공 모듈(210)이 전송하는 전문가의 지식과 경험을 수신한다.
학습 데이터 구성부(120)는 컴포넌트에 기반하여 작성된 학습에 사용할 전문가의 데이터를 수신하면, 데이터를 파싱(parsing)하여 학습 데이터를 구성한다(S110).
데이터 특성 추출부(130)는 컴포넌트 기반 소프트웨어 분석 도구(200)에서 사용자(전문가)에 의해 적재된 제1 컴포넌트에 해당하는 데이터의 특성과 유형을 추출하고, 사용자(전문가)에 의해 입력된 정보를 추출한다.
여기서 데이터의 특성은 범주형 데이터인지, 연속형 데이터인지, 라벨 유무, 결측값 유무, 정규분포 수준 등을 포함하며, 데이터의 유형은 해당 데이터가 유통관련 데이터인지, 제조관련 데이터인지, 의료관련 데이터인지 등을 말한다.
또한, 사용자(전문가)에 의해 입력된 정보는 자연어 형태로 사용자(전문가)에 의해 입력되는 정보를 말하며, 사용자에 의해 입력된 정보를 통해 해당 데이터에 대한 사용자의 의도인 태그를 파악할 수가 있다.
도 5를 참고하면, 1번 컴포넌트(데이터 적재)에 대한 초기 태그는 '분류'로 파악되고, 2번 컴포넌트(데이터 컬럼 선택)에 대한 태그는 '예측', '물류'로 파악된 것을 알 수 있다. 이와 같이 각 컴포넌트 마다 사용자의 의도인 태그가 있으며, 데이터 분석 태그 학습부(140)는 태그를 파악하고 학습하는 것이다.
데이터 분석 태그 학습부(140)는 데이터 특성 추출부(130)가 추출한 정보를 이용하여 사용자(전문가)의 해당 데이터에 대한 의도인 데이터 분석 태그(tag)를 파악하고 학습한다(S120).
구체적으로, 데이터 특성 추출부(130)는 학습 데이터 구성부(120)가 파싱하여 구성한 학습 데이터에서 사용자(전문가)에 의해 적재된 제1 컴포넌트에 해당하는 데이터의 특성과 유형 및 사용자에 의해 입력된 정보를 추출한다. 여기서 제1 컴포넌트는 소프트웨어 분석 도구(200)에 제일 처음으로 적재된 컴포넌트뿐만 아니라, 사용자(전문가)에 의해 적재되는 모든 컴포넌트를 포함하는 의미이다. 그리고 하기에서 살펴볼 제2 컴포넌트는 제1 컴포넌트에 후속하여 연결되는 모든 컴포넌트를 포함하는 의미이다.
데이터 분석 태그 학습부(140)가 학습하는 데이터에는 데이터 소스 특성에 해당하는 범주형 데이터인지, 연속형 데이터인지, 라벨 유무, 결측값 유무, 정규분포 수준 등과 같은 데이터 자체의 특성과 해당 데이터가 유통관련 데이터인지, 제조관련 데이터인지, 의료관련 데이터인지 등에 해당하는 데이터 유형뿐만 아니라, 데이터 마이닝(mining) 방법에 해당하는 서술(descriptive), 탐색(exploratory), 분류(classification), 회귀분석(regression), 군집(cluster), 추천(recommendation), 예측(prediction) 등을 포함한다.
데이터 분석 태그 학습부(140)는 로지스틱 회귀(Logistic Regression) 함수를 이용하여 학습하고, 각 데이터 분석 태그에 대한 확률값을 산출한다.
구체적으로, 데이터 분석 태그 학습부(140)는 로지스틱 회귀(Logistic Regression) 함수를 이용하여 각 데이터 분석 태그별 점수를 산정하고(S121), 산정된 데이터 분석 태그별 점수를 소프트맥스 회귀(Softmax Regression) 함수를 이용하여 각 데이터 분석 태그별 확률값으로 변환한다(S122). 로지스틱 회귀와 소프트맥스 회귀는 해당 기술분야의 당업자라면 잘 알 수 있는 내용이므로 구체적인 설명은 생략한다.
도 5를 참고하면, 컴포넌트가 추천될 때마다 갱신되는 태그는 확률값에 기반하여 파악되는 것을 알 수 있다.
데이터 분석 기법 학습부(150)는 상기 데이터 분석 태그 학습부(140)가 학습한 데이터 분석 태그를 기반으로 상기 제1 컴포넌트에 순차적으로 연결되는 제2 컴포넌트에 대한 순차적 연관 지식 및 제2 컴포넌트의 속성 설정에 대한 지식을 학습한다(S130).
구체적으로, 데이터 분석 기법 학습부(150)는 복수 개의 제1 컴포넌트와 상기 데이터 분석 태그 학습부(140)에서 학습된 복수 개의 데이터 분석 태그와 상기의 각 확률값을 입력값으로 사용하고, 제1 컴포넌트에 연결되는 복수 개의 제2 컴포넌트를 출력값으로 사용하는 순환 신경망(Recurrent Neural Network) 알고리즘을 이용하여 학습한다.
예를 들면, 순환 신경망의 입력으로 T개의 데이터 분석 태그값(각각 서로 다른 확률값을 가짐)과 이전 컴포넌트 ID N개를 입력하고, 출력으로는 R개 컴포넌트가 추천될 수 있다.
순환 신경망(Recurrent Neural Network) 알고리즘은 유닛 사이의 연결이 directed cycle을 구성하는 신경망으로서, 기존 신경망과 달리 시계열 데이터 등의 학습이 가능한 것이 특징이다. 본 발명은 선행 컴포넌트와 선행 컴포넌트에서 파악되는 태그 및 후속 컴포넌트에 대한 시계열적인 연관 지식을 학습해야 하기 때문에 순환 신경망을 이용하여 학습하고, 후속 컴포넌트를 추천한다.
학습 서버(100)는 전문가로부터 지식과 경험을 제공받을 때마다 상기의 S100~S130의 과정을 반복하여 학습한다.
학습 서버(100)가 전문가의 지식과 경험을 학습하면, 학습 데이터 제공부(160)는 비전문가의 컴포넌트 기반 소프트웨어 분석 도구(300)로 전문가의 학습된 지식과 경험을 제공한다.
비전문가의 컴포넌트 기반 소프트웨어 분석 도구(300)의 컴포넌트 추천 모듈(310)은 데이터 분석 태그 학습부(140)에서 학습된 내용을 기초로 사용자에 의해 적재된 컴포넌트에 대해 태그를 파악한다. 그런 다음, 파악한 태그와 데이터 분석 기법 학습부(150)에서 학습된 내용을 기초로 상기 컴포넌트에 연결되는 후속 컴포넌트를 추천한다(S140).
구체적으로는, 적재된 컴포넌트에 대해 확률값 기반으로 태그를 파악하며, 해당 확률값을 갖는 태그와 사용자에 의해 적재된 컴포넌트에 대해 상기 데이터 분석 기법 학습부(150)에서 학습된 내용을 기초로 후속 컴포넌트를 추천하며, 상기 후속 컴포넌트에 대해서도 확률값 기반으로 태그를 파악하여 갱신하는 것이다.
그리고, 상기 데이터 분석 태그 학습부(140)에서 학습된 내용을 기초로 상기 후속 컴포넌트에 대해 태그를 파악하고, 파악한 태그와 상기 데이터 분석 기법 학습부(150)에서 학습된 내용을 기초로 상기 후속 컴포넌트에 연결되는 추가 후속 컴포넌트를 추천하게 된다.
도 5를 참고하면, 사용자(비전문가)에 의해 적재된 컴포넌트에 대해 확률값 기반으로 초기 태크인 '분류'를 파악하고, 해당 태그와 사용자에 의해 적재된 컴포넌트를 기초로, 후속 컴포넌트인 '데이터 컬럼 선택'을 추천한다. 후속 컴포넌트에 대해서도 확률값 기반으로 '예측', '물류' 태그를 파악하고 갱신한다.
그리고 후속 컴포넌트에 대해 파악한 태그와 후속 컴포넌트를 기초로 이에 연결되는 추가 후속 컴포넌트인 '결과값 처리'를 추천하게 된다.
도 6을 참고하면, 1번 적재 컴포넌트에 대해서 '군집', '물류/유통' 태그를 파악하고, 이를 기반으로 2번 컴포넌트 '타켓 라벨 선정'을 추천하며, 2번 컴포넌트에 대한 '분류', '물류/유통' 태그를 파악하고, 후속 컴포넌트로 3-2번 컴포넌트를 추천하는 예를 보여주고 있다.
도 10에서 이미 살펴본 바와 같이 기존 VPL 데이터 분석 도구는 단순 선호도 기반으로 추천하게 되어 3-1번 컴포넌트를 추천할 수 있는데, 본 발명의 경우 3-1번 컴포넌트가 빈도나 선호도 측면에서 더 우세할지라도 분석 태그 정보를 활용하여 3-2반 컴포넌트를 추천할 수가 있는 것이다.
도 7을 참고하면, 본 발명의 컴포넌트 추천 모듈(310)은 (1) A 컴포넌트 다음에 B 컴포넌트를 추천하는 단일 추천 방식으로 추천할 수 있음은 물론이고, (2) N 개의 컴포넌트를 연속해서 추천하는 연속 추천 방식으로 추천할 수도 있다. 사용자(비전문가)가 마지막 또는 중간 컴포넌트를 클릭하면 클릭 컴포넌트까지 원클릭(One Click)에 추가하는 것이다.
이상과 같이 본 발명은 학습 서버에서 컴포넌트 기반 소프트웨어 분석 도구에 대한 전문가의 지식과 경험을 학습하고, 이를 비전문가에게 제공함으로써 비전문가가 분석하고자 하는 의도를 정확히 파악해서 후속 컴포넌트를 추천할 수가 있다.
또한, 학습 서버는 사용자에 의해 적재된 컴포넌트와 해당 컴포넌트에 대한 사용자의 의도인 태그(tag)를 이용하여 학습함으로써, 종래의 단순 선호도 기반 추천 방식에 비해 월등히 향상된 정확성을 제공할 수 있다.
본 발명은 상기한 특정의 바람직한 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 되는 것임은 자명하다.
100...학습 서버
110...전문가 지식 수신부
120...학습 데이터 구성부
130...데이터 특성 추출부
140...데이터 분석 태그 학습부
150...데이터 분석 기법 학습부
160...학습 데이터 제공부
200, 300...컴포넌트 기반 소프트웨어 분석 도구
210...도구 활용 지식 제공 모듈
310...컴포넌트 추천 모듈
110...전문가 지식 수신부
120...학습 데이터 구성부
130...데이터 특성 추출부
140...데이터 분석 태그 학습부
150...데이터 분석 기법 학습부
160...학습 데이터 제공부
200, 300...컴포넌트 기반 소프트웨어 분석 도구
210...도구 활용 지식 제공 모듈
310...컴포넌트 추천 모듈
Claims (7)
- 컴포넌트 기반 소프트웨어 분석 도구에서 사용자에 의해 적재된 제1 컴포넌트에 해당하는 데이터의 특성과 유형을 추출하고, 사용자에 의해 입력된 정보를 추출하여 사용자의 해당 데이터에 대한 의도인 데이터 분석 태그를 파악하고 학습하는 데이터 분석 태그 학습단계;
상기 데이터 분석 태그를 기반으로 상기 제1 컴포넌트에 순차적으로 연결되는 제2 컴포넌트에 대한 순차적 연관 지식 및 제2 컴포넌트의 속성 설정에 대한 지식을 학습하는 데이터 분석 기법 학습단계; 및
상기 데이터 분석 태그 학습단계에서 학습된 내용을 기초로 사용자에 의해 적재된 컴포넌트에 대해 태그를 파악하고, 파악한 태그와 상기 데이터 분석 기법 학습단계에서 학습된 내용을 기초로 상기 컴포넌트에 연결되는 후속 컴포넌트를 추천하는 컴포넌트 추천단계를 포함하는 것을 특징으로 하는 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법.
- 청구항 1에 있어서,
상기 데이터 분석 태그 학습단계 이전에,
컴포넌트에 기반하여 작성된 학습에 사용할 데이터를 수신하면, 데이터를 파싱(parsing)하여 학습 데이터를 구성하는 학습 데이터 구성단계를 더 포함하고,
상기 데이터 분석 태그 학습단계는,
상기 파싱하여 구성된 학습 데이터에서 사용자에 의해 적재된 제1 컴포넌트에 해당하는 데이터의 특성과 유형 및 사용자에 의해 입력된 정보를 추출하는 것을 특징으로 하는 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법.
- 청구항 1에 있어서,
상기 데이터 분석 태그 학습단계는,
로지스틱 회귀(Logistic Regression) 함수를 이용하여 학습하고, 각 데이터 분석 태그에 대한 확률값을 산출하는 것을 특징으로 하는 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법.
- 청구항 3에 있어서,
상기 데이터 분석 태그 학습단계는,
로지스틱 회귀(Logistic Regression) 함수를 이용하여 각 데이터 분석 태그별 점수를 산정하는 태그 점수 산출단계; 및
상기 산정된 데이터 분석 태그별 점수를 소프트맥스 회귀(Softmax Regression) 함수를 이용하여 각 데이터 분석 태그별 확률값으로 변환하는 태그 확률값 산출단계를 포함하는 것을 특징으로 하는 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법.
- 청구항 3에 있어서,
상기 데이터 분석 기법 학습단계는,
복수 개의 제1 컴포넌트와 상기 데이터 분석 태그 학습단계에서 학습된 복수 개의 데이터 분석 태그와 상기의 각 확률값을 입력값으로 사용하고, 제1 컴포넌트에 연결되는 복수 개의 제2 컴포넌트를 출력값으로 사용하는 순환 신경망(Recurrent Neural Network) 알고리즘을 이용하여 학습하는 것을 특징으로 하는 컴포턴트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법.
- 청구항 5에 있어서,
상기 컴포넌트 추천단계는,
적재된 컴포넌트에 대해 확률값 기반으로 태그를 파악하며, 해당 확률값을 갖는 태그와 사용자에 의해 적재된 컴포넌트에 대해 상기 데이터 분석 기법 학습단계에서 학습된 내용을 기초로 후속 컴포넌트를 추천하며,
상기 후속 컴포넌트에 대해서도 확률값 기반으로 태그를 파악하여 갱신하는 것을 특징으로 하는 컴포턴트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법.
- 청구항 1에 있어서,
상기 컴포넌트 추천단계는,
상기 데이터 분석 태그 학습단계에서 학습된 내용을 기초로 상기 후속 컴포넌트에 대해 태그를 파악하고, 파악한 태그와 상기 데이터 분석 기법 학습단계에서 학습된 내용을 기초로 상기 후속 컴포넌트에 연결되는 추가 후속 컴포넌트를 추천하는 것을 특징으로 하는 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170087060A KR20170087435A (ko) | 2017-07-10 | 2017-07-10 | 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170087060A KR20170087435A (ko) | 2017-07-10 | 2017-07-10 | 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20170087435A true KR20170087435A (ko) | 2017-07-28 |
Family
ID=59422371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170087060A KR20170087435A (ko) | 2017-07-10 | 2017-07-10 | 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20170087435A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020022669A1 (ko) * | 2018-07-25 | 2020-01-30 | (주)엔터랩 | 인공지능 과제매칭 방법, 장치 및 프로그램 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040055195A (ko) * | 2002-12-20 | 2004-06-26 | 한국전자통신연구원 | 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천장치 및 방법 |
KR20110094804A (ko) * | 2010-02-18 | 2011-08-24 | 국방과학연구소 | 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버와 그 방법 |
KR101591993B1 (ko) * | 2012-10-19 | 2016-02-04 | 페이스북, 인크. | 모바일 장치 사용자의 장래 상태 예측에 관한 방법 |
-
2017
- 2017-07-10 KR KR1020170087060A patent/KR20170087435A/ko not_active Application Discontinuation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040055195A (ko) * | 2002-12-20 | 2004-06-26 | 한국전자통신연구원 | 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천장치 및 방법 |
KR20110094804A (ko) * | 2010-02-18 | 2011-08-24 | 국방과학연구소 | 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버와 그 방법 |
KR101591993B1 (ko) * | 2012-10-19 | 2016-02-04 | 페이스북, 인크. | 모바일 장치 사용자의 장래 상태 예측에 관한 방법 |
Non-Patent Citations (1)
Title |
---|
이선아 외 1명. 소프트웨어 진화 작업을 위한 데이터 마이닝 기반 추천 시스템. 정보과학회지. 한국정보과학회. 2013년, 제31권, 제10호, pp.39-46. * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020022669A1 (ko) * | 2018-07-25 | 2020-01-30 | (주)엔터랩 | 인공지능 과제매칭 방법, 장치 및 프로그램 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10725827B2 (en) | Artificial intelligence based virtual automated assistance | |
CN111984689B (zh) | 信息检索的方法、装置、设备以及存储介质 | |
EP3779723A1 (en) | Data processing model construction method and device, server and client | |
CN100426289C (zh) | 目标变量的自动数据透视生成 | |
CN111444334A (zh) | 数据处理方法、文本识别方法、装置及计算机设备 | |
Dabbagh et al. | An approach for integrating the prioritization of functional and nonfunctional requirements | |
KR20180079995A (ko) | 머신러닝을 기반으로 데이터를 분석하는 프로그램을 생성하기 위한 방법 | |
US20200175076A1 (en) | Training and implementing an audit generation model | |
CA2957454A1 (en) | Interrelation of multiple data streams | |
CN111506803B (zh) | 内容推荐方法、装置、电子设备及存储介质 | |
CN105447038A (zh) | 用于获取用户特征的方法和系统 | |
US11816573B1 (en) | Robust systems and methods for training summarizer models | |
CN105760950A (zh) | 提供或获取预测结果的方法、装置以及预测系统 | |
CN102609539B (zh) | 一种搜索方法和系统 | |
CN112287219A (zh) | 服务需求方与服务提供方匹配方法及装置 | |
CN110516162B (zh) | 一种信息推荐方法、装置、设备及存储介质 | |
CN117377951A (zh) | Web数据收集中的高级响应处理 | |
CN111523315B (zh) | 数据处理方法、文本识别方法、装置及计算机设备 | |
CN113190746A (zh) | 推荐模型的评估方法、装置及电子设备 | |
KR20170087435A (ko) | 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법 | |
US11836591B1 (en) | Scalable systems and methods for curating user experience test results | |
US11748248B1 (en) | Scalable systems and methods for discovering and documenting user expectations | |
CN116401372A (zh) | 知识图谱表示学习方法、装置、电子设备及可读存储介质 | |
CN112200602B (zh) | 用于广告推荐的神经网络模型训练方法及装置 | |
CN114328169A (zh) | 一种动态页面的测试方法及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |