KR20170087435A - 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법 - Google Patents

컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법 Download PDF

Info

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
Application number
KR1020170087060A
Other languages
English (en)
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 주식회사 인브레인
Priority to KR1020170087060A priority Critical patent/KR20170087435A/ko
Publication of KR20170087435A publication Critical patent/KR20170087435A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06F17/27
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • 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

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)를 이용하여 학습함으로써, 종래의 단순 선호도 기반 추천 방식에 비해 월등히 향상된 정확성을 제공할 수 있다.

Description

컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법{EXPERT KNOWLEDGE LEARNING AND RECOMMENDATION METHODS OF COMPONENT-BASED SOFTWARE ANALYSIS TOOLS}
본 발명은 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법에 관한 것으로, 더욱 상세하게는 전문가의 경험과 지식을 기계적으로 학습하고 이를 이용하여 비전문가인 일반인들도 전문가처럼 모듈화(컴포넌트) 기반 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을 참고하면, 이러한 현실을 해결하기 위해 특정 컴포넌트의 후속 컴포넌트 선택시 사용자에 의한 선호도를 표시하여 후속 컴포넌트의 선택에 도움을 주는 방법이 있으나, 이러한 단순 선호도 기반으로 후속 컴포넌트를 추천하는 방식은 전문가의 지식과 경험을 공유하는 방식이 아니기 때문에 후속 컴포넌트의 추천에 정확성이 떨어지며, 선행하는 컴포넌트와 후속 컴포넌트와의 관계를 고려한 추천 방식이 아니기 때문에 복잡한 컴포넌트와의 관계 및 여러 상황을 반영하지 못하는 문제가 있다.
공개특허 제10-2003-0044959호(클라이언트 측 메타데이터와 글루 코드를 이용한 컴포넌트 구현 및 조립방법)
본 발명은 상기와 같은 문제점을 개선하기 위하여 발명된 것으로, 전문가의 지식과 경험을 학습하고 이를 바탕으로 비전문가들이 컴포넌트 기반 소프트웨어 분석 도구를 사용시 후속 컴포넌트를 추천함으로써, 단순 선호도 기반 추천을 넘어, 사용하고자 하는 후속 컴포넌트를 정확하게 예측하여 자동으로 추천할 수 있는 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법을 제공하기 위한 것이다.
상기와 같은 목적을 달성하기 위하여, 본 발명은 컴포넌트 기반 소프트웨어 분석 도구에서 사용자에 의해 적재된 제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 데이터 분석 도구에서 단순 선호도 기반으로 후속 컴포넌트를 추천하는 예이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되는 실시 예를 참조하면 명확해질 것이다.
그러나, 본 발명은 이하에서 개시되는 실시 예로 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이다.
본 명세서에서 본 실시 예는 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
그리고 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
따라서, 몇몇 실시 예에서, 잘 알려진 구성 요소, 잘 알려진 동작 및 잘 알려진 기술들은 본 발명이 모호하게 해석되는 것을 피하기 위하여 구체적으로 설명되지 않는다.
또한, 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭하고, 본 명세서에서 사용된(언급된) 용어들은 실시 예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다.
본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함하며, '포함(또는, 구비)한다'로 언급된 구성 요소 및 동작은 하나 이상의 다른 구성요소 및 동작의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다.
또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참고로 본 발명의 바람직한 실시 예에 대하여 설명한다.
도 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...컴포넌트 추천 모듈

Claims (7)

  1. 컴포넌트 기반 소프트웨어 분석 도구에서 사용자에 의해 적재된 제1 컴포넌트에 해당하는 데이터의 특성과 유형을 추출하고, 사용자에 의해 입력된 정보를 추출하여 사용자의 해당 데이터에 대한 의도인 데이터 분석 태그를 파악하고 학습하는 데이터 분석 태그 학습단계;
    상기 데이터 분석 태그를 기반으로 상기 제1 컴포넌트에 순차적으로 연결되는 제2 컴포넌트에 대한 순차적 연관 지식 및 제2 컴포넌트의 속성 설정에 대한 지식을 학습하는 데이터 분석 기법 학습단계; 및
    상기 데이터 분석 태그 학습단계에서 학습된 내용을 기초로 사용자에 의해 적재된 컴포넌트에 대해 태그를 파악하고, 파악한 태그와 상기 데이터 분석 기법 학습단계에서 학습된 내용을 기초로 상기 컴포넌트에 연결되는 후속 컴포넌트를 추천하는 컴포넌트 추천단계를 포함하는 것을 특징으로 하는 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법.
  2. 청구항 1에 있어서,
    상기 데이터 분석 태그 학습단계 이전에,
    컴포넌트에 기반하여 작성된 학습에 사용할 데이터를 수신하면, 데이터를 파싱(parsing)하여 학습 데이터를 구성하는 학습 데이터 구성단계를 더 포함하고,
    상기 데이터 분석 태그 학습단계는,
    상기 파싱하여 구성된 학습 데이터에서 사용자에 의해 적재된 제1 컴포넌트에 해당하는 데이터의 특성과 유형 및 사용자에 의해 입력된 정보를 추출하는 것을 특징으로 하는 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법.
  3. 청구항 1에 있어서,
    상기 데이터 분석 태그 학습단계는,
    로지스틱 회귀(Logistic Regression) 함수를 이용하여 학습하고, 각 데이터 분석 태그에 대한 확률값을 산출하는 것을 특징으로 하는 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법.
  4. 청구항 3에 있어서,
    상기 데이터 분석 태그 학습단계는,
    로지스틱 회귀(Logistic Regression) 함수를 이용하여 각 데이터 분석 태그별 점수를 산정하는 태그 점수 산출단계; 및
    상기 산정된 데이터 분석 태그별 점수를 소프트맥스 회귀(Softmax Regression) 함수를 이용하여 각 데이터 분석 태그별 확률값으로 변환하는 태그 확률값 산출단계를 포함하는 것을 특징으로 하는 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법.
  5. 청구항 3에 있어서,
    상기 데이터 분석 기법 학습단계는,
    복수 개의 제1 컴포넌트와 상기 데이터 분석 태그 학습단계에서 학습된 복수 개의 데이터 분석 태그와 상기의 각 확률값을 입력값으로 사용하고, 제1 컴포넌트에 연결되는 복수 개의 제2 컴포넌트를 출력값으로 사용하는 순환 신경망(Recurrent Neural Network) 알고리즘을 이용하여 학습하는 것을 특징으로 하는 컴포턴트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법.
  6. 청구항 5에 있어서,
    상기 컴포넌트 추천단계는,
    적재된 컴포넌트에 대해 확률값 기반으로 태그를 파악하며, 해당 확률값을 갖는 태그와 사용자에 의해 적재된 컴포넌트에 대해 상기 데이터 분석 기법 학습단계에서 학습된 내용을 기초로 후속 컴포넌트를 추천하며,
    상기 후속 컴포넌트에 대해서도 확률값 기반으로 태그를 파악하여 갱신하는 것을 특징으로 하는 컴포턴트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법.
  7. 청구항 1에 있어서,
    상기 컴포넌트 추천단계는,
    상기 데이터 분석 태그 학습단계에서 학습된 내용을 기초로 상기 후속 컴포넌트에 대해 태그를 파악하고, 파악한 태그와 상기 데이터 분석 기법 학습단계에서 학습된 내용을 기초로 상기 후속 컴포넌트에 연결되는 추가 후속 컴포넌트를 추천하는 것을 특징으로 하는 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법.
KR1020170087060A 2017-07-10 2017-07-10 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법 KR20170087435A (ko)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020022669A1 (ko) * 2018-07-25 2020-01-30 (주)엔터랩 인공지능 과제매칭 방법, 장치 및 프로그램

Citations (3)

* Cited by examiner, † Cited by third party
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 페이스북, 인크. 모바일 장치 사용자의 장래 상태 예측에 관한 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
이선아 외 1명. 소프트웨어 진화 작업을 위한 데이터 마이닝 기반 추천 시스템. 정보과학회지. 한국정보과학회. 2013년, 제31권, 제10호, pp.39-46. *

Cited By (1)

* Cited by examiner, † Cited by third party
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