KR20200084816A - 콜드 스타트를 해결하기 위한 신규 컨텐츠 분석 분석 방법, 장치 및 컴퓨터 프로그램 - Google Patents

콜드 스타트를 해결하기 위한 신규 컨텐츠 분석 분석 방법, 장치 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20200084816A
KR20200084816A KR1020200063446A KR20200063446A KR20200084816A KR 20200084816 A KR20200084816 A KR 20200084816A KR 1020200063446 A KR1020200063446 A KR 1020200063446A KR 20200063446 A KR20200063446 A KR 20200063446A KR 20200084816 A KR20200084816 A KR 20200084816A
Authority
KR
South Korea
Prior art keywords
vector
framework
new
metadata
modeling
Prior art date
Application number
KR1020200063446A
Other languages
English (en)
Other versions
KR102269606B1 (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 (주)뤼이드
Priority to KR1020200063446A priority Critical patent/KR102269606B1/ko
Publication of KR20200084816A publication Critical patent/KR20200084816A/ko
Application granted granted Critical
Publication of KR102269606B1 publication Critical patent/KR102269606B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education

Abstract

본 발명은 신규 학습 콘텐츠의 모델링 벡터 생성 방법, 장치 및 컴퓨터 프로그램에 관한 것이다. 본 발명은 신규 문제의 모델링 벡터를 생성하는 방법에 있어서, 임의의 문제에 대하여, 상기 문제의 특성을 나타내는 하나 이상의 문제 특성 정보를 각각 벡터화하는 a단계, 벡터화된 문제 특성 정보를 결합하여 문제 메타데이터를 생성하는 b단계, 하나 이상의 문제 메타데이터를 데이터 분석 프레임워크에 적용하여 상기 데이터 분석 프레임워크를 학습시키는 c단계, 상기 a 내지 b 단계를 통해 상기 신규 문제에 대한 신규문제 메타데이터를 생성하고, 상기 신규문제 메타데이터를 상기 학습된 데이터 분석 프레임워크에 적용하여 상기 신규 문제의 모델링 벡터를 생성하는 d 단계를 포함하며, 상기 문제 특성 정보는 문제 내용, 문제에 포함된 이미지, 음원 특징, 음원 길이, 문제 길이, 결합 문제 수 또는 문제가 속한 단원 정보 중 적어도 하나를 포함하는 것을 일 특징으로 한다. 본 발명에 의하면, 문제 그 자체만으로도 문제가 어떤 특성을 가지고 있는지를 모델링할 수 있어, 사용자의 신규 문제에 대한 풀이 결과를 수집하지 않고도 신규 문제에 대한 분석 및 활용이 가능하다.

Description

콜드 스타트를 해결하기 위한 신규 컨텐츠 분석 분석 방법, 장치 및 컴퓨터 프로그램 {METHOD, APPARATUS AND COMPUTER PROGRAM FOR ANALYZING NEW CONTENTS FOR SOLVING COLD START}
본 발명은 신규 학습 콘텐츠 분석 방법, 장치 및 컴퓨터 프로그램에 관한 것으로, 보다 구체적으로 풀이 결과 데이터가 없어 분석이 어려운 신규 문제의 경우 그 자체로 특징을 분석할 수 있도록 하는 기계학습 모델링을 위한 신규 학습 콘텐츠 분석 방법, 장치 및 컴퓨터 프로그램에 관한 것이다.
최근 들어, 문제 풀이 결과를 학습하여 문제의 특성 및 사용자의 특성을 파악하여 제공하거나, 이를 바탕으로 개인 맞춤형 콘텐츠가 제공하는 서비스가 증가하는 추세이다.
예를 들어, 일본등록특허 제4447411호(발명의 명칭: 학습자 습득 특성 분석 시스템, 방법 및 프로그램, 공개일: 2006.03.16.)의 경우, 각 학습자에 대해 득점이나 편차치, 소속 타입에 맞추어 자동 선택된 교재 등의 결과 정보를 제공하고, 각 학습자가 자신의 습득 경향과 각 학습자에게 가까운 소속 타입의 습득 경향이나 항목의 실수 특성을 알 수 있도록 한다.
한국등록특허 제10-1773065호(발명의 명칭: 개인 맞춤형 교육 컨텐츠를 제공하는 방법, 장치 및 컴퓨터 프로그램)의 경우, 복수의 사용자에 대한 하나 이상의 문제 풀이 결과 데이터를 수집하여, 문제 사이의 유사도를 계산하고 계산 결과를 문제에 인덱싱한다.
즉, 종래의 머신러닝을 적용한 학습 데이터의 분석은 각 문제에 대한 사용자의 문제 풀이 결과를 바탕으로 한다. 따라서 신규 유입된 사용자나 문제의 경우, 해당 사용자나 문제에 대한 데이터가 축적되기 전에는 분석 결과를 제공할 수 없으며, 그 특성이 분석된 문제 풀(pool)에 넣어 사용하는 것도 불가능하다. 그러나 사용자의 문제 풀이 결과를 수집하는 데는 적지 않은 시간이 소요된다는 점에서, 신규 문제를 모델링할 수 있는 새로운 방법이 요구된다.
본 발명은 문제 그 자체만으로도 문제가 어떤 특성을 가지고 있는지를 모델링 함으로써, 신규 문제에 대한 즉각적인 활용을 가능하게 하는 것을 일 목적으로 한다.
본 발명은 문제의 내용을 분석함에 있어서 문제에 포함된 각 단어들이 컨텍스트 내에서 갖는 함의를 문제 모델링에 반영하는 것을 다른 목적으로 한다.
이러한 목적을 달성하기 위한 본 발명은 신규 문제의 모델링 벡터를 생성하는 방법에 있어서, 임의의 문제에 대하여, 상기 문제의 특성을 나타내는 하나 이상의 문제 특성 정보를 각각 벡터화하는 a단계, 벡터화된 문제 특성 정보를 결합하여 문제 메타데이터를 생성하는 b단계, 하나 이상의 문제 메타데이터를 데이터 분석 프레임워크에 적용하여 상기 데이터 분석 프레임워크를 학습시키는 c단계, 상기 a 내지 b 단계를 통해 상기 신규 문제에 대한 신규문제 메타데이터를 생성하고, 상기 신규문제 메타데이터를 상기 학습된 데이터 분석 프레임워크에 적용하여 상기 신규 문제의 모델링 벡터를 생성하는 d 단계를 포함하며, 상기 문제 특성 정보는 문제 내용, 문제에 포함된 이미지, 음원 특징, 음원 길이, 문제 길이, 결합 문제 수 또는 문제가 속한 단원 정보 중 적어도 하나를 포함하는 것을 일 특징으로 한다.
전술한 바와 같은 본 발명에 의하면, 문제 그 자체만으로도 문제가 어떤 특성을 가지고 있는지를 모델링할 수 있어, 사용자의 신규 문제에 대한 풀이 결과를 수집하지 않고도 신규 문제에 대한 분석 및 활용이 가능하다.
또한, 본 발명에 의하면 문제의 내용을 분석함에 있어서 문제에 포함된 각 단어들이 컨텍스트 내에서 갖는 함의를 문제 모델링에 반영할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 신규 문제 모델링 벡터 생성 방법을 도시한 순서도,
도 2는 본 발명의 일 실시 예에 따른 문제 내용의 벡터화 방법을 설명하기 위한 도면,
도 3은 본 발명의 일 실시 예에 따른 풀이 결과 데이터를 이용한 프레임워크 학습 방법을 설명하기 위한 도면,
도 4는 본 발명의 일 실시 예에 따른 프레임워크 학습 방법을 설명하기 위한 도면이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용되며, 명세서 및 특허청구의 범위에 기재된 모든 조합은 임의의 방식으로 조합될 수 있다. 그리고 다른 식으로 규정하지 않는 한, 단수에 대한 언급은 하나 이상을 포함할 수 있고, 단수 표현에 대한 언급은 또한 복수 표현을 포함할 수 있음이 이해되어야 한다.
종래에는 컨텐츠와 사용자를 분석하기 위해 해당 과목의 개념들을 전문가에 의해 수작업으로 정의하고 해당 과목에 대한 각 문제가 어떤 개념을 포함하고 있는지 전문가가 개별적으로 판단하여 태깅하는 방식을 따랐다. 이후 각 사용자가 특정 개념에 대해 태깅된 문제들을 풀어본 결과 정보를 토대로 학습자의 실력을 분석하는 것이다. 그러나 이와 같은 방법은 태그 정보가 사람의 주관에 따라 정해지는 문제점이 있었다. 사람마다 난이도를 평가하는 기준이 상이하기 때문에 결과 데이터에 대한 신뢰도가 높지 않았다.
최근 들어 인공신경망을 이용한 기계학습이 여러 분야에 활용되면서, 머신 러닝 프레임워크를 이용하여 데이터 처리 과정에 사람의 개입을 배제하려는 노력이 확산되고 있다. 즉, 사용자 문제 풀이 결과 로그를 수집하고, 사용자와 문제로 구성된 다차원 공간을 구성하고, 사용자가 문제를 맞았는지 틀렸는지를 기준으로 다차원 공간에 값을 부여하여 각각의 사용자 및 문제에 대한 벡터를 계산하는 방식으로 사용자 및/또는 문제를 모델링하는 것이다.
이렇게 사용자 또는 문제에 대한 특성에 대응되는 다차원 공간상의 한 점을 부여하는 것을 임베딩(embedding)한다 또는 벡터화한다고 명명할 수 있다. 또한, 이렇게 임의의 객체에 대응하여 부여된 다차원 공간상의 한 점을 모델링 벡터, 벡터화된 객체, 객체 벡터라고 부를 수 있다. 즉, 임베딩하고자 하는 객체가 문제라면 문제 특성(feature)를 나타내는 다차원 공간상의 한 점은 문제 모델링 벡터, 벡터화된 문제, 문제 벡터로 명명 가능하며, 임베딩하고자 하는 객체가 사용자라면 해당 사용자의 특성을 나타내는 다차원 공간상의 한 점은 사용자 모델링 벡터, 벡터화된 사용자, 사용자 벡터로 명명할 수 있다.
이렇게 사용자 특성 또는 문제 특성을 벡터화하면, 전체 문제에서 특정 문제의 위치, 상기 문제와 유사한 그룹으로 클러스터링할 수 있는 다른 문제, 다른 문제와 특정 문제의 유사도 등을 수학적으로 계산하는 것이 가능해진다. 뿐만 아니라 벡터의 차원(dimension)에 대응하는 속성을 기준으로 사용자 또는 문제를 클러스터링하는 것도 가능하다. 본 발명에서는 사용자 벡터 또는 문제 벡터들이 어떤 특성 내지는 속성을 포함하고 있는지는 제한하여 해석될 수 없으나, 일 예로 문제 벡터의 경우 문제가 어떤 개념으로 구성되어 있는지(개념 구성도)를 포함할 수 있다.
이하에서는 본 발명의 일 실시 예에 따라 객체의 특성을 나타낼 수 있는 모델링 벡터 생성 방법에 대해 자세히 살펴보기로 한다. 설명의 편의를 위하여 본 명세서는 모델링 벡터로 임베딩하고자 하는 객체가 신규 문제인 경우의 예를 중심으로 설명한다. 그러나 이는 일 실시 예에 불과하며, 본 발명은 사용자, 문제, 보기, 학습 콘텐츠 등 다양한 객체에 적용될 수 있음에 유의한다.
도 1은 본 발명의 일 실시 예에 따른 신규 문제의 모델링 벡터 생성 방법을 설명하기 위한 도면이다.
도 1을 참조하면, 서버는 임의의 문제에 대하여, 문제의 특성을 나타내는 하나 이상의 문제 특성 정보를 각각 벡터화할 수 있다(S100). 여기서 문제 특성 정보는 문제 내용, 문제의 주제(분야), 문제에 포함된 이미지, 음원 특징(음원을 녹음한 화자의 국적, 억양, 주파수), 음원 길이, 문제 길이, 결합 문제(하나의 지문에 여러 개의 문제가 결합되어 있는 문제)의 수 또는 문제가 속한 단원(파트)의 종류, 언어의 종류(영어, 중국어, 일본어, 한국어 등), 문제의 종류(듣기, 읽기, 쓰기, 문법 등) 중 적어도 하나를 포함할 수 있다.
예를 들어, 음원의 특징을 벡터화 하고자 하는 경우, 기 설정된 구간 단위 별 평균 주파수 값을 각 차원에 대입시키는 방식으로 음원 특성을 임베딩할 수 있다. 음원의 길이, 파트의 종류 등 상기 문제 특성 정보 각각을 기 설정된 방식으로 임베딩할 수 있음은 물론이다. 벡터화된 문제 특성 정보는 서로 다른 차원을 가질 수 있다. 예를 들어, 음원 길이의 경우 다양한 특성을 포함하지는 않으므로, 저차원 벡터에 임베딩될 수 있다. 그러나 음원 특성 또는 문제 내용의 경우 어떠한 방식으로 벡터화하는지에 따라 차원이 크게 증가할 수 있다.
문제 내용을 벡터화하는 도 2의 실시 예를 살펴보자.
문제 내용에는 복수의 단어가 포함된다. 서버는 복수의 단어 각각에 임의의 n차원 벡터를 부여할 수 있다. 서버는 제1 단어에 부여된 제1 벡터를 인코딩 프레임워크(130)에 적용하여 저차원의 제2 벡터를 획득할 수 있다(S103). 서버는 제2 벡터를 디코딩 프레임워크(150)에 적용하여 n차원의 제3 벡터를 획득할 수 있는데(S105), 제3 벡터가 제1 단어로부터 기 설정된 거리 내에 포함되는 제2 단어에 임의로 부여된 제4 벡터에 상응하도록 인코딩 프레임워크(130) 및 디코딩 프레임워크(150)를 학습시킨다.
여기서 인코딩 프레임워크(130)와 디코딩 프레임워크(150)는 심층 신경망(Deep Neural Network)구조를 가지며, 비선형 변환기법의 조합을 통해 벡터 값을 모델링한다.
인코딩 프레임워크(130)와 디코딩 프레임워크(150)는 입력되는 값을 이용해 임의로 설정된 가중치 초기값이 최적의 가중치에 가까워지도록 가중치를 계속해서 갱신한다. 인코딩 프레임워크(130)는 벡터의 차원을 낮출 수 있으며, 디코딩 프레임워크(150)는 저차원으로 부호화된 벡터를 다시 원래의 차원으로 복구(reconstruction)시키는 것을 특징으로 한다.
예를 들어, 문제 내용에 “I like an apple”이라는 문장이 포함되는 경우, 서버는 I=(1,0,0,0), like =(0,1,0,0), an=(0,0,1,0), apple=(0,0,0,1)의 4차원 벡터를 부여할 수 있다. 각 단어를 임베딩함에 있어서, 본 발명의 서버는 I가 문장 내에서 다른 단어들과 갖는 관계를 모델링 벡터에 반영하는 것을 일 목적으로 한다.
인코딩 프레임워크(130)의 가중치 행렬을 w1, 디코딩 프레임워크(150)의 가중치 행렬을 w2라고 가정하자. I에 대응하는 제1 벡터(v1=(1,0,0,0))을 인코딩 프레임워크(130)에 입력하면, 인코딩 프레임워크(130)에서 출력되는 제2 벡터(v2)는 다음과 같이 나타낼 수 있다.
Figure pat00001
즉, 인코딩 프레임워크(130)에 4차원의 제1 벡터를 적용하면 2차원의 제2 벡터를 얻을 수 있다. 위 내용은 본 발명을 설명하기 위한 일 실시 예로, 실제로 문제에 사용되는 단어의 개수는 수십 만 개 이상이 될 수 있으며, 이러한 경우 인코딩 프레임워크(130)에 입력되는 제1 벡터의 차수는 수십만 차수이며, 인코딩 프레임워크(130)의 가중치 행렬을 어떻게 설정하는지에 따라 상기 인코딩 프레임워크(130)에서 출력되는 제2 벡터의 차수는 천분의 일, 만분의 일 수준의 저차원으로 변환될 수 있다.
디코딩 프레임워크(150)의 가중치 행렬 w2의 초기값은 인코딩 프레임워크(130)의 가중치 행렬 w1의 전치 행렬일 수 있다. 즉, w1이 m x n 행렬이라면, w2 는 n x m 행렬일 수 있으며, 따라서 저차원(k차원)의 제2 벡터에 디코딩 프레임워크(150)를 적용하면 n차원의 제3 벡터가 출력될 수 있다. 즉, 제3 벡터는 다음과 같이 표시할 수 있다.
Figure pat00002
본 발명의 서버는 디코딩 프레임워크(150)가 제3 행렬(v3)이 인접한 다른 단어에 상응하도록 디코딩 프레임워크(150)의 가중치(w2)를 갱신할 수 있다. 예를 들어, 제3벡터 v3=(v31,v32,v33,v34)가 like에 부여된 (0,1,0,0)가 되도록 w2를 갱신하고, v3이 an에 부여된 (0,0,1,0)가 되도록 w2를 갱신하고, v3이 apple에 대응되는 (0,0,0,1)에 상응하도록 w2를 갱신하는 방식으로 디코딩 프레임워크(150)를 학습시킬 수 있다.
문제 내용을 벡터화하는 단계 100에서, 서버는 제1 단어의 벡터화를 위해 제1 단어로부터 기 설정된 거리 내에 포함되는 하나 이상의 제2 단어 각각에 대하여 상술한 단계 101 내지 105를 반복 수행할 수 있다. 예를 들어, 각 단어의 임베딩에 있어서 해당 단어 뒤쪽 방향의 3개 단어를 임베딩에 사용하는 경우를 가정하자. I like an apple라는 문장에서, I를 임베딩하기 위하여 서버는 I에 부여된 제1 벡터 (1,0,0,0)를 인코딩 프레임워크(130)와 디코딩 프레임워크(150)에 순차적으로 적용하여 제3 벡터를 획득한다. 서버는 제3 벡터가 like에 부여된 제2 벡터 (0,1,0,0)에 상응하도록 인코딩 프레임워크(130) 및 디코딩 프레임워크(150)를(이하, ‘프레임워크(100)’라 함) 학습시키고, 다음 단계에서는 제3 벡터가 an에 부여된 제2 벡터 (0,0,1,0)에 상응하도록 프레임워크(100)를 학습시키고, 다음 단계에서는 제3 벡터가 apple에 부여된 제2 벡터 (0,0,0,1)에 상응하도록(차이를 줄이는 방향으로) 프레임워크(100)를 학습시킬 수 있다.
그리고 서버는 이러한 방식으로 학습이 완료된 인코딩 프레임워크(130)에 제1 벡터를 입력하고, 인코딩 프레임워크(130)에서 제1 벡터에 맵핑되는 저차원의 제2 벡터를 단어 I의 벡터값, 즉 단어 I의 벡터값으로 설정할 수 있다.
서버는 I의 벡터값을 획득한 방식으로 like, an, apple 각 단어의 벡터값을 얻어낼 수 있다. 이 때 최종적으로 얻어지는 각 단어의 벡터값은 제2 벡터에 해당하는 저차원 벡터일 수 있다.
본 발명의 서버는 프레임워크(100)의 출력값이 입력값과 동일해지도록 프레임워크(100)를 학습시키는 것이 아니라, 프레임워크(100)의 출력값이 인접한 단어들에 부여된 임의의 벡터값에 대응되도록 프레임워크(100)를 학습시킴으로써, 각 단어와 다른 단어들 간의 관계를 임베딩에 반영할 수 있도록 한다는 점에서 종래 방식과 차이가 있다.
상술한 예시에서는 설명의 편의를 위하여 하나의 문장에 포함된 단어 임베딩 방법을 설명하였으나, 본 발명을 실제 학습 컨텐츠에 적용함에 있어서 서버는 문제 내용에 포함된 수백개의 단어 각각에 대한 임의의 벡터값에 부여하고 하나의 문단 내지는 문제 내용 전체에 포함된 단어들과의 관계를 모두 반영할 수 있도록 프레임워크(100)를 학습시킬 수 있다. 또한 이러한 과정을 통해 서버는 각 단어, 각 문장, 각 문단, 각 문제 내용을 하나의 저차원 벡터로 모델링할 수 있다.
뿐만 아니라, 이미지 및 이미지를 설명하는 보기가 포함된 듣기 문제의 경우 서버는 이미지와 보기 간 관계를 위와 같은 방식으로 모델링할 수 있다. 이 경우 서버는 이미지에 포함된 이미지 특징 정보에 임의의 벡터를 부여하는 방식으로 초기값을 설정한 후, 보기 단어에 부여된 벡터와 이미지에 부여된 벡터가 서로 상응하도록 프레임워크(100)를 학습시키는 방식으로 이미지 또는 보기를 저차원 모델링벡터에 임베딩할 수 있다.
상술한 바와 같이 문제 내용을 벡터화하는 것 이외에도, 서버는 문제의 주제(분야)에 기 설정된 벡터값을 맵핑시키거나, 문제에 포함된 이미지의 픽셀값, 디스크립터 등을 이용하여 이미지를 벡터화할 수 있다. 또한 서버는 문제 길이 또는 구간을 벡터값에 대응시키는 방식으로 문제 길이를 벡터화할 수 있다. 언어의 종류, 문제의 종류, 단원(파트) 종류 역시 기 설정된 벡터값에 대응시킬 수 있다.
다시 도 1을 참조하면, 서버는 이와 같이 벡터화된 각종 문제 특성 정보를 결합하여 문제 메타데이터를 생성할 수 있다(S200). 문제 메타데이터는 벡터화된 문제 특성 정보를 이어붙인 형태일 수 있다. 예를 들어, 임의의 문제 A에 관하여, 벡터화된 문제 내용이 [0.3, 0.6, 0.3, 0.1]이고, 벡터화된 음원 특징이 [0.1, 0.2, 0.3], 벡터화된 문제 길이가 [0.2], 벡터화된 파트 정보가 [0.7]이면, 문제 A의 문제 메타데이터는 [0.3, 0.6, 0.3, 0.1, 0.1, 0.2, 0.3, 0.2, 0.7]와 같이 생성될 수 있다.
다음으로 서버는 하나 이상의 문제 메타데이터를 데이터 분석 프레임워크에 적용하여 데이터 분석 프레임워크를 학습시킬 수 있다(S300). 단계 300에서의 학습은 풀이 결과를 보유하고 있는 문제를 사용하여 이루어질 수도 있고(도 3 설명 참조), 신규 문제만으로 이루어질 수도 있다(도 4 설명 참조).
도 3을 참조하면, 서버는 단계 300에서 문제 메타데이터를 데이터 분석 프레임워크에 적용한 제1 문제 모델링 벡터가 문제에 대한 사용자의 풀이 결과 데이터를 이용하여 기 생성된 문제의 제2 모델링 벡터에 상응하도록 데이터 분석 프레임워크를 학습시킬 수 있다.
예를 들어, 서버는 아무런 풀이 결과 데이터가 존재하지 않는 신규 문제의 모델링 벡터를 생성하기 위하여, 문제 데이터베이스를 구성하는 문제 중 풀이 결과 데이터를 보유하고 있는 문제를 이용하여 데이터분석 프레임워크(300)을 학습시킬 수 있다. 데이터분석 프레임워크(50)는 종래 사용되는 풀이 결과 데이터를 이용한 데이터 분석 프레임워크이며, 데이터분석 프레임워크(300)은 문제 메타데이터를 이용하여 문제를 모델링하기 위한 본 발명의 일 실시 예에 따른 프레임워크이다.
서버는 우선적으로 사용자의 풀이 결과 데이터를 보유한 문제 A에 데이터분석 프레임워크(50)를 적용하여 문제 A의 풀이 결과 모델링 벡터(55)를 획득할 수 있다. 그리고 서버는 문제 A에 본 발명의 단계 100 내지 200를 적용하여 문제 A의 메타데이터를 획득할 수 있으며, 문제 A의 메타데이터에 데이터분석 프레임워크(300)을 적용하여 문제 A 메타데이터에 대응하는 메타 모델링 벡터(305)를 얻을 수 있다.
즉, 서버는 종래 방식으로 문제 A의 풀이 결과 모델링 벡터(55)를 획득하고, 메타데이터를 이용하여 모델링 벡터를 생성하는 본 발명의 일 실시 예에 따라 문제 A의 메타 모델링 벡터(305)를 획득하여, 두 벡터 값의 차이를 줄이는 방향으로 데이터분석 프레임워크(300)을 학습시킬 수 있다.
학습이 완료된 후 서버는 신규 문제가 유입되면 신규 문제에 대하여 단계 100 내지 단계 200을 수행하여 신규문제 메타데이터를 생성하고, 신규문제 메타데이터를 단계 300에서 학습된 데이터 분석 프레임워크에 적용하여 신규 문제의 모델링 벡터를 생성할 수 있다(S400). 따라서 이후에 생성되는 신규 문제의 경우에는 사용자의 풀이 결과 데이터 없이도 문제 그 자체만으로 모델링 벡터를 생성할 수 있으며, 모델링 벡터가 생성되면 이를 바탕으로 유사 속성(feature)를 갖는 문제들을 클러스터링할 수 있다. 나아가 본 발명에 의하면 맞춤형 문제 제공, 사용자의 풀이 결과 데이터를 수집하기 위한 진단 문제 세트의 구성 등이 용이해진다.
데이터분석 프레임워크(300)을 학습시키는 단계 300의 또 다른 실시 예를 도 4를 참고하여 설명한다. 도 4는 사용자 풀이 결과 데이터 없이 본 발명의 데이터분석 프레임워크(300)을 학습시킬 수 있는 방법의 일 실시 예이다. 따라서 도 4의 실시 예에 따르면, 서버는 기존 데이터를 전혀 이용하지 않고 신규 문제만으로도 신규 문제의 모델링 벡터를 생성할 수 있다.
도 4를 참조하면, 서버는 단계 100 내지 단계 200을 거쳐 생성된 문제 메타 데이터를 인코딩 프레임워크에 적용하여 저차원의 제1 문제 벡터를 획득하고(S303), 제1 문제 벡터를 디코딩 프레임워크에 적용하여 k차원의 제2 문제 벡터를 획득할 수 있다(S355). 서버는 데이터분석 프레임워크(300)에서 출력된 제2 문제 벡터가 처음에 데이터분석 프레임워크(300)에 입력했던 문제 메타데이터에 상응하도록(차이가 줄어들도록) 인코딩 프레임워크(330) 및 디코딩 프레임워크(350)를 학습시킬 수 있다.
학습이 진행될수록 인코딩 프레임워크(330) 및 디코딩 프레임워크(350)를 구성하는 심층 신경망의 각 레이어 가중치는 계속해서 갱신되며 서버는 신규 문제의 메타데이터에 학습이 완료된 인코딩 프레임워크(330)를 적용함으로써 저차원의 신규 문제 모델링 벡터를 도출할 수 있다(S400)
저차원 벡터를 신규 문제 모델링 벡터로 사용하는 이유는, 낮은 차원의 벡터값을 이용하면 이후 모델링 벡터를 이용한 데이터 처리(클러스터링, 데이터 분류 등)에 소모되를 리소스를 줄일 수 있기 때문이다. 뿐만 아니라 모델링 벡터를 이용하여 인공신경망을 학습시키는 경우 벡터값의 차원이 낮으면 학습량도 줄어드는 장점이 있다.
또한 본 발명의 일 실시 예에서는 각각의 학습 컨텐츠들을 벡터화된 메타데이터로 구성하고 이를 다시 저차원의 벡터에 임베딩함으로써 컨텐츠를 하나의 벡터에 대응시키는데, 전술한 과정을 통해 문제 각각의 특성(feature)을 나타내는 모델링 벡터가 더욱 강건해질 뿐 아니라, 메타데이터에 포함되어있는 노이즈도 제거되는 효과가 있다.
전술한 신규 학습 콘텐츠의 모델링 벡터 생성 방법은 각 실시 예 중 어느 하나를 실행시키기 위하여 컴퓨터 판독 가능 매체에 저장된 신규 문제 모델링 벡터 생성 프로그램을 통해 서버 또는 단말에서 구현될 수 있다.
본 명세서에서 생략된 일부 실시 예는 그 실시 주체가 동일한 경우 동일하게 적용 가능하다. 또한, 전술한 본 발명은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.

Claims (5)

  1. 서버가 신규 문제의 모델링 벡터를 생성하는 방법에 있어서,
    임의의 문제에 대하여, 상기 문제의 특성을 나타내는 하나 이상의 문제 특성 정보를 각각 벡터화하는 a단계;
    벡터화된 문제 특성 정보를 결합하여 문제 메타데이터를 생성하는 b단계;
    하나 이상의 문제 메타데이터를 데이터 분석 프레임워크에 적용하여 상기 데이터 분석 프레임워크를 학습시키는 c단계;
    상기 a 내지 b 단계를 통해 상기 신규 문제에 대한 신규문제 메타데이터를 생성하고, 상기 신규문제 메타데이터를 상기 학습된 데이터 분석 프레임워크에 적용하여 상기 신규 문제의 모델링 벡터를 생성하는 d 단계를 포함하며,
    상기 c단계는,
    상기 문제 메타데이터를 상기 데이터 분석 프레임워크에 적용한 제1 문제 모델링 벡터가 상기 문제에 대한 사용자의 풀이 결과 데이터를 이용하여 기 생성된 상기 문제의 제2 모델링 벡터에 상응하도록 상기 데이터 분석 프레임워크를 학습시키는 단계를 포함하는 것을 특징으로 하는 신규 문제 모델링 벡터 생성 방법.
  2. 제1항에 있어서,
    상기 c 단계는
    k 차원의 상기 문제 메타데이터를 인코딩 프레임워크에 적용하여 저차원의 제1 문제 벡터를 획득하는 c-1 단계;
    상기 제1 문제 벡터를 디코딩 프레임워크에 적용하여 k차원의 제2 문제 벡터를 획득하는 c-2 단계;
    상기 제2 문제 벡터가 상기 문제 메타데이터에 상응하도록 상기 c-1 내지 c-2 단계를 반복하여 상기 인코딩 프레임워크 및 상기 디코딩 프레임워크를 학습시키는 c-3 단계;
    학습이 완료되는 시점의 상기 제2 문제 벡터를 상기 문제 메타데이터의 모델링 벡터로 설정하는 c-4 단계를 포함하는 신규 문제 모델링 벡터 생성 방법.
  3. 제1항에 있어서,
    상기 문제 특성 정보가 문제 내용이고, 상기 문제 내용은 복수의 단어를 포함하는 경우,
    상기 a 단계는
    상기 복수의 단어 각각에 임의의 n차원 벡터를 부여하는 a-1 단계;
    제1 단어에 부여된 제1 벡터를 인코딩 프레임워크에 적용하여 저차원의 제2 벡터를 획득하는 a-2 단계;
    상기 제2 벡터를 디코딩 프레임워크에 적용하여 n차원의 제3 벡터를 획득하는 a-3 단계;
    상기 제3 벡터가 상기 제1 단어로부터 기 설정된 거리 내에 포함되는 제2 단어에 임의로 부여된 제4 벡터에 상응하도록 상기 인코딩 프레임워크 및 상기 디코딩 프레임워크를 학습시키는 a-4 단계;
    하나 이상의 제2 단어 각각에 대하여 상기 a-2 내지 a-4 단계를 반복 수행하여 최종 도출된 제 2 벡터를 상기 제1 단어의 벡터값으로 설정하는 a-5단계;
    상기 복수의 단어 각각에 대하여 상기 a-2 내지 a-5 단계를 수행하여 단어별 벡터값을 획득하고, 상기 단어별 벡터값을 이용하여 상기 문제 내용을 벡터화하는 단계를 포함하는 신규 문제 모델링 벡터 생성 방법.
  4. 컴퓨터에 제1항 내지 제4항의 방법 중 어느 하나의 방법을 실행시키기 위하여 컴퓨터 판독 가능 매체에 저장된 신규 문제 모델링 벡터 생성 응용 프로그램.
  5. 제1항 내지 제4항의 방법 중 어느 하나의 방법에 따라 신규 문제 모델링 벡터를 생성하는 서버.
KR1020200063446A 2018-01-02 2020-05-27 콜드 스타트를 해결하기 위한 신규 컨텐츠 분석 분석 방법, 장치 및 컴퓨터 프로그램 KR102269606B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200063446A KR102269606B1 (ko) 2018-01-02 2020-05-27 콜드 스타트를 해결하기 위한 신규 컨텐츠 분석 분석 방법, 장치 및 컴퓨터 프로그램

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180000026A KR102117908B1 (ko) 2018-01-02 2018-01-02 기계학습 모델링을 위한 신규 학습 콘텐츠 분석 방법, 장치 및 컴퓨터 프로그램
KR1020200063446A KR102269606B1 (ko) 2018-01-02 2020-05-27 콜드 스타트를 해결하기 위한 신규 컨텐츠 분석 분석 방법, 장치 및 컴퓨터 프로그램

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180000026A Division KR102117908B1 (ko) 2018-01-02 2018-01-02 기계학습 모델링을 위한 신규 학습 콘텐츠 분석 방법, 장치 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20200084816A true KR20200084816A (ko) 2020-07-13
KR102269606B1 KR102269606B1 (ko) 2021-06-25

Family

ID=67254990

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020180000026A KR102117908B1 (ko) 2018-01-02 2018-01-02 기계학습 모델링을 위한 신규 학습 콘텐츠 분석 방법, 장치 및 컴퓨터 프로그램
KR1020200063446A KR102269606B1 (ko) 2018-01-02 2020-05-27 콜드 스타트를 해결하기 위한 신규 컨텐츠 분석 분석 방법, 장치 및 컴퓨터 프로그램

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020180000026A KR102117908B1 (ko) 2018-01-02 2018-01-02 기계학습 모델링을 위한 신규 학습 콘텐츠 분석 방법, 장치 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (2) KR102117908B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102501446B1 (ko) * 2019-10-11 2023-02-21 숭실대학교 산학협력단 문서 맥락 기반 커버리지를 이용한 자동 요약 방법, 이를 수행하기 위한 기록 매체 및 장치
KR20220169883A (ko) * 2021-06-21 2022-12-28 (주)뤼이드 외국어 학습자의 어휘 실력 예측과 향상을 위한 딥러닝 기반의 단어 추천 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007157006A (ja) * 2005-12-08 2007-06-21 National Institute Of Information & Communication Technology 質問応答装置、質問応答方法および質問応答プログラム
JP2008129449A (ja) * 2006-11-22 2008-06-05 Yahoo Japan Corp 問題自動作成装置、問題自動作成方法、及びコンピュータプログラム
KR20170034106A (ko) * 2015-09-18 2017-03-28 아주대학교산학협력단 사용자 적정 난이도 문제 추천 장치 및 그 방법
KR20170100265A (ko) * 2016-02-25 2017-09-04 (주)뤼이드 객관식 문항 학습 데이터를 분석하는 방법, 장치 및 컴퓨터 프로그램

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007157006A (ja) * 2005-12-08 2007-06-21 National Institute Of Information & Communication Technology 質問応答装置、質問応答方法および質問応答プログラム
JP2008129449A (ja) * 2006-11-22 2008-06-05 Yahoo Japan Corp 問題自動作成装置、問題自動作成方法、及びコンピュータプログラム
KR20170034106A (ko) * 2015-09-18 2017-03-28 아주대학교산학협력단 사용자 적정 난이도 문제 추천 장치 및 그 방법
KR20170100265A (ko) * 2016-02-25 2017-09-04 (주)뤼이드 객관식 문항 학습 데이터를 분석하는 방법, 장치 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
KR102117908B1 (ko) 2020-06-02
KR102269606B1 (ko) 2021-06-25
KR20190082453A (ko) 2019-07-10

Similar Documents

Publication Publication Date Title
CN112015859A (zh) 文本的知识层次抽取方法及装置、计算机设备及可读介质
CN112949786A (zh) 数据分类识别方法、装置、设备及可读存储介质
CN107644011A (zh) 用于细粒度医疗实体提取的系统和方法
CN113140254B (zh) 元学习药物-靶点相互作用预测系统及预测方法
CN111242948B (zh) 图像处理、模型训练方法、装置、设备和存储介质
CN112487139A (zh) 基于文本的自动出题方法、装置及计算机设备
CN112883193A (zh) 一种文本分类模型的训练方法、装置、设备以及可读介质
CN113722474A (zh) 文本分类方法、装置、设备及存储介质
CN111666416A (zh) 用于生成语义匹配模型的方法和装置
CN113821668A (zh) 数据分类识别方法、装置、设备及可读存储介质
KR20200084816A (ko) 콜드 스타트를 해결하기 위한 신규 컨텐츠 분석 분석 방법, 장치 및 컴퓨터 프로그램
Zhu et al. Big data image classification based on distributed deep representation learning model
CN115222443A (zh) 客户群体划分方法、装置、设备及存储介质
CN116402166B (zh) 一种预测模型的训练方法、装置、电子设备及存储介质
CN113569018A (zh) 问答对挖掘方法及装置
Li Analysis of professional psychological adaptability of students majoring in hotel management and digital operation for higher vocational education under deep learning
CN115762721A (zh) 一种基于计算机视觉技术的医疗影像质控方法和系统
CN115033700A (zh) 基于相互学习网络的跨领域情感分析方法、装置以及设备
CN113901793A (zh) 结合rpa和ai的事件抽取方法及装置
Costa et al. Oadaboost an adaboost Variant for Ordinal Classification
CN109190556B (zh) 一种公证意愿真实性鉴别方法
CN114139531B (zh) 一种基于深度学习的医疗实体预测方法及系统
CN116266266B (zh) 多音字消歧方法、装置、设备及存储介质
CN114329040B (zh) 音频数据处理方法、装置、存储介质、设备及程序产品
CN113505213B (zh) 关键句提取方法、系统、计算机可读存储介质

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant