KR102623256B1 - 학습 콘텐츠 추천 방법 - Google Patents
학습 콘텐츠 추천 방법 Download PDFInfo
- Publication number
- KR102623256B1 KR102623256B1 KR1020200163605A KR20200163605A KR102623256B1 KR 102623256 B1 KR102623256 B1 KR 102623256B1 KR 1020200163605 A KR1020200163605 A KR 1020200163605A KR 20200163605 A KR20200163605 A KR 20200163605A KR 102623256 B1 KR102623256 B1 KR 102623256B1
- Authority
- KR
- South Korea
- Prior art keywords
- learning
- content
- server
- words
- learning content
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000013145 classification model Methods 0.000 claims abstract description 5
- 238000012552 review Methods 0.000 claims description 14
- 238000012360 testing method Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims 1
- 238000005096 rolling process Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 26
- 239000000284 extract Substances 0.000 description 13
- 238000002405 diagnostic procedure Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 4
- 230000003442 weekly effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000001755 vocal effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 208000026762 inability to speak Diseases 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
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
-
- 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
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
Abstract
학습 콘텐츠 추천 방법이 개시된다. 학습 콘텐츠 추천 방법은, 온라인상에서 디지털 콘텐츠를 수집하는 단계; 상기 수집된 디지털 콘텐츠를 분류 모델에 적용하여 카테고리 리스트를 생성하고, 상기 생성된 카테고리 리스트에 따라 상기 디지털 콘텐츠를 각각 분류하는 단계; 상기 디지털 콘텐츠를 분석하여 단어를 각각 추출한 후 기초 단어 사전을 생성하고, 상기 기초 단어 사전을 이용하여 학습 레벨별 사전을 생성하며, 상기 디지털 콘텐츠의 학습 레벨별 사전의 커버리지 비율을 도출하여 상기 디지털 콘텐츠의 학습 순번을 결정하는 단계; 및 사용자 학습 결과와 상기 디지털 콘텐츠의 학습 순번을 고려하여 학습 콘텐츠를 추천하는 단계를 포함한다.
Description
본 발명은 학습 콘텐츠 추천 방법에 관한 것이다.
기초외국어능력은 직장생활을 하다 보면 직무와 관련하여 다양한 상황에서 요구되기 마련이지만, 대부분의 직업인들은 탁월한 업무능력에도 불구하고 기초외국어를 하지 못해 업무를 제대로 추진하지 못하는 경우가 많다. 국가직무능력표준 (NCS: National Competency Standards)에서 요구하는 직업능력에는 직무수행능력과 직업기초능력이 있고, 이 직업기초능력 중에 하나인 기초외국어능력은 모든 직업인이 공통으로 갖추어야 할 핵심적인 능력이며, 대부분의 직종에서 직무를 성공적으로 수행하는데 필요한 공통적인 능력이다.
외국어능력이 중요해짐에 따라 다양한 외국어 학습을 위한 콘텐츠들이 제공되고 있으나, 종래의 학습 콘텐츠는 학습지와 단어장을 제공하여 학습자가 자발적으로 학습하도록 하는 형식의 학습 방법이 대부분이다.
학습자는 암기하기 힘든 단어들을 마주하게 될 경우, 흥미가 낮아질 뿐만 아니라 계속되는 암기의 어려움 때문에 성취도 또한 낮아지게 되고, 결국 학습 의욕의 저하로 나타난다.
본 발명은 온라인상의 디지털 콘텐츠를 이용하여 학습 콘텐츠로 가공하여 제공할 수 있는 학습 콘텐츠 추천 방법을 제공하기 위한 것이다.
또한, 본 발명은 사용자의 학습 레벨, 유사한 학습자들이 학습한 콘텐츠를 추천할 수 있는 학습 콘텐츠 추천 방법을 제공하기 위한 것이다.
또한, 본 발명은 사용자의 학습 레벨과 유사하며 어려운 콘텐츠와 쉬운 콘텐츠를 구분하여 제공하여 학습 능력 향상을 도모할 수 있는 학습 콘텐츠 추천 방법을 제공하기 위한 것이다.
본 발명의 일 측면에 따르면, 온라인상의 디지털 콘텐츠를 이용하여 학습 콘텐츠로 가공하여 제공할 수 있는 학습 콘텐츠 추천 방법이 제공된다.
본 발명의 실시예에 따른 학습 콘텐츠 추천 방법을 제공함으로써, 온라인상의 디지털 콘텐츠를 이용하여 학습 콘텐츠로 가공하여 제공할 수 있는 이점이 있다.
또한, 본 발명은 사용자의 학습 레벨, 사용자의 학습 목표나 선호도, 유사한 학습자들이 학습한 콘텐츠를 추천할 수 있는 이점도 있다.
또한, 본 발명은 사용자의 학습 레벨과 유사하며 어려운 콘텐츠와 쉬운 콘텐츠를 구분하여 제공하여 학습 능력 향상을 도모할 수 있는 이점도 있다.
도 1은 본 발명의 일 실시예에 따른 언어 학습을 위한 콘텐츠 추천 시스템의 구성을 개략적으로 도시한 도면도 2는 본 발명의 일 실시예에 따른 학습 콘텐츠 데이터베이스를 구축하는 방법을 나타낸 순서도이고, 도 3은 본 발명의 일 실시예에 따른 카테고리 분류를 위한 샘플 데이터를 예시한 도면
도 4는 본 발명의 일 실시예에 따른 학습 콘텐츠를 추천하는 방법을 나타낸 순서도.
도 5는 본 발명의 일 실시예에 따른 진단 테스트 셋을 예시한 도면.
도 6은 본 발명의 일 실시예에 따른 카테고리별 추천 콘텐츠를 예시한 도면.
도 7은 본 발명의 일 실시예에 따른 전체 문서에 대한 추천 콘텐츠를 예시한 도면.
도 8은 본 발명의 일 실시예에 따른 가중치를 반영하여 추천 순서를 정렬한 결과를 도시한 도면.
도 9는 본 발명의 다른 실시예에 따른 콘텐츠 추천 방법을 나타낸 순서도.
도 10은 본 발명의 일 실시예에 따른 유사 학습자들을 선별하기 위한 데이터들을 예시한 도면.
도 11은 본 발명의 일 실시예에 따른 유사한 학습자를 선별한 결과를 예시한 도면.
도 12에는 본 발명의 일 실시예에 따른 선별된 학습자들이 학습한 콘텐츠 목록을 예시한 도면.
도 13은 본 발명의 일 실시예에 따른 가중치를 반영하여 정렬한 결과를 예시한 도면.
도 14는 본 발명의 또 다른 실시예에 따른 콘텐츠 추천 방법을 나타낸 순서도.
도 15는 본 발명의 또 다른 실시예에 따른 유사 콘텐츠 추천 결과를 예시한 도면.
도 16은 본 발명의 또 다른 실시예에 따른 커버리지를 반영한 쉬운 학습 콘텐츠를 분류할 결과를 예시한 도면.
도 17은 본 발명의 또 다른 실시예에 따른 커버리지를 반영한 어려운 학습 콘텐츠를 분류할 결과를 예시한 도면.
도 18은 본 발명의 일 실시예에 따른 콘텐츠 추천 방법을 나타낸 흐름도.
도 4는 본 발명의 일 실시예에 따른 학습 콘텐츠를 추천하는 방법을 나타낸 순서도.
도 5는 본 발명의 일 실시예에 따른 진단 테스트 셋을 예시한 도면.
도 6은 본 발명의 일 실시예에 따른 카테고리별 추천 콘텐츠를 예시한 도면.
도 7은 본 발명의 일 실시예에 따른 전체 문서에 대한 추천 콘텐츠를 예시한 도면.
도 8은 본 발명의 일 실시예에 따른 가중치를 반영하여 추천 순서를 정렬한 결과를 도시한 도면.
도 9는 본 발명의 다른 실시예에 따른 콘텐츠 추천 방법을 나타낸 순서도.
도 10은 본 발명의 일 실시예에 따른 유사 학습자들을 선별하기 위한 데이터들을 예시한 도면.
도 11은 본 발명의 일 실시예에 따른 유사한 학습자를 선별한 결과를 예시한 도면.
도 12에는 본 발명의 일 실시예에 따른 선별된 학습자들이 학습한 콘텐츠 목록을 예시한 도면.
도 13은 본 발명의 일 실시예에 따른 가중치를 반영하여 정렬한 결과를 예시한 도면.
도 14는 본 발명의 또 다른 실시예에 따른 콘텐츠 추천 방법을 나타낸 순서도.
도 15는 본 발명의 또 다른 실시예에 따른 유사 콘텐츠 추천 결과를 예시한 도면.
도 16은 본 발명의 또 다른 실시예에 따른 커버리지를 반영한 쉬운 학습 콘텐츠를 분류할 결과를 예시한 도면.
도 17은 본 발명의 또 다른 실시예에 따른 커버리지를 반영한 어려운 학습 콘텐츠를 분류할 결과를 예시한 도면.
도 18은 본 발명의 일 실시예에 따른 콘텐츠 추천 방법을 나타낸 흐름도.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 명세서 전체에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다. 또한, 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하나 이상의 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 조합으로 구현될 수 있음을 의미한다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 언어 학습을 위한 콘텐츠 추천 시스템의 구성을 개략적으로 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 언어 학습을 위한 콘텐츠 추천 시스템(100)은 사용자 단말(110) 및 서버(120)를 포함하여 구성된다.
사용자 단말(110)은 사용자가 소지한 장치로, 언어 학습을 위한 콘텐츠를 제공받는 장치이다. 사용자 단말(110)은 예를 들어, 이동통신 단말기, 태블릿 PC, 노트북 등과 같이 통신 기능이 구비된 전자 장치일 수 있다.
사용자 단말(110)은 서버(120)에서 언어 학습을 위한 콘텐츠를 제공받고, 이를 이용하여 학습 및 복습을 수행하기 위한 장치이다.
또한, 사용자 단말(110)은 사용자의 학습 취향과 학습 정보를 기초로 다양한 학습 콘텐츠를 서버(120)로부터 제공받아 학습할 수 있다.
서버(120)는 인터넷상의 다양한 디지털 콘텐츠를 가공하여 사용자의 학습 취향과 학습 정보를 기초로 학습 콘텐츠를 추천하여 제공할 수 있는 장치이다.
본 발명의 일 실시예에 따르면, 서버(120)는 온라인상에서 다양한 분야의 디지털 콘텐츠를 수집한 후 이를 분석, 가공하여 학습용 콘텐츠로 생성할 수 있다. 이어, 서버(120)는 사용자 단말(110)의 접속에 상응하여 생성된 학습용 콘텐츠들 중에서 사용자 학습 취향과 학습 정보를 기초로 학습 콘텐츠를 추천하여 제공할 수 있다.
이에 대해서는 하기의 설명에 의해 보다 명확하게 이해될 것이다.
도 2는 본 발명의 일 실시예에 따른 학습 콘텐츠 데이터베이스를 구축하는 방법을 나타낸 순서도이고, 도 3은 본 발명의 일 실시예에 따른 카테고리 분류를 위한 샘플 데이터를 예시한 도면이다.
단계 210에서 서버(120)는 온라인상에서 디지털 콘텐츠를 수집한다.
서버(120)는 온라인상에 공개된 다양한 디지털 콘텐츠를 수집한다. 여기서, 여기서, 디지털 콘텐츠는 온라인상에 게시된 다양한 유형의 콘텐츠일 수 있다. 예를 들어, 뉴스, 논문, 블로그 등과 같이 온라인 상에 게시된 디지털 콘텐츠는 모두 적용될 수 있다.
단계 215에서 서버(120)는 디지털 콘텐츠의 메타 데이터를 추출한다. 여기서, 메타 데이터는 제목, 출처, 작성일, 전체 길이, 문장 수, 평균문장길이, 단어수, 핵심 단어셋, 비핵심 단어셋, 카테고리, 내용 요약, 콘텐츠 레벨, 레벨 커버량 등일 수 있다.
단계 220에서 서버(120)는 디지털 콘텐츠의 카테고리를 분류한다.
이에 대해 보다 상세히 설명하기로 한다.
예를 들어, 서버(120)는 머신러닝 기법을 이용하여 디지털 콘텐츠의 카테고리를 분류할 수도 있다. 보다 상세하게, RoBerta, GTP-3, RandomForest, Bayesian, SVM, LSTM, RNN, CNN, Transformer, BERT 등의 분류 기법 또는 머신러닝 기법, 딥러닝 기법 등을 이용하여 디지털 콘텐츠의 카테고리를 분류할 수 있다.
이하에서는 이해와 설명의 편의를 도모하기 위해 베이지안 분류 모델(Bayesian Classifier)을 이용하여 디지털 콘텐츠의 카테고리를 분류하는 방법에 대해 설명하기로 한다.
베이지안 분류 모델은 조건부 확률을 계산하는 베이지안 정리를 이용한 텍스트 분류 모델이다. 베이지안 정리에 대해 간략하게 설명하면 다음과 같다.
P(A)는 A가 일어날 확률을 나타내며, P(B)는 B가 일어날 확률을 나타내고, P(B|A)는 A가 일어나고 B가 나타날 확률을 나타내며, P(A|B)는 B가 일어나고 A가 나타날 확률을 나타낸다.
P(A|B)는 다음 수학식 1과 같이 나타낼 수 있다.
이러한 베이지안 정리를 활용하여 디지털 콘텐츠의 카테고리 분류에 적용하면 다음과 같이 나타낼 수 있다.
예를 들어, P(과학|입력문서)는 입력 문서가 과학으로 분류될 확률로 정의될 수 있다.
문서가 "과학 뉴스입니다"라면,
예를 들어, 각 카테고리가 분류되어 있는 약 22,000개의 샘플 데이터 셋을 이용하여 카테고리 목록을 다음과 같이 분류할 수 있다. 카테고리 예시는 다음과 같다.
예를 들어, 카테고리 목록은 business, technology, science, art, sports, world, politics, life, education, environment와 같다.
상술한 카테고리 목록은 일 예일 뿐이며, 카테고리 목록을 달라질 수도 있음은 당연하다. 샘플 데이터 셋을 이용하여 카테고리를 추론하여 테스트 셋으로 사용할 수도 있다.
샘플 데이터 셋은 도 3에 도시된 바와 같다. 샘플 데이터 셋과 같이 카테고리가 분류된 데이터 셋을 이용할지라도, 상술한 분류 모델을 이용하여 최종 카테고리 분류 결과는 달라질 수 있다.
단계 225에서 서버(120)는 카테고리 분류 결과를 기초로 디지털 콘텐츠를 각각 분류한다. 즉, 수집된 디지털 콘텐츠 분석 결과를 기초로 카테고리 분류 결과를 구성한 후 디지털 콘텐츠를 분류된 카테고리 목록에 따라 분류할 수 있다.
이를 위해, 서버(120)는 디지털 콘텐츠(예를 들어, 문서)를 각각 벡터화할 수 있다. 예를 들어, Word2Vec, Count Vectorization, TF/IDF 등을 이용하여 문서를 벡터화할 수 있다. 본 발명의 일 실시예에서는 Count Vectorization 기법을 중심으로 설명하기로 한다. 그러나 반드시 Count Vectorization 기법으로 제한되는 것은 아니며, 이외에도 데이터를 벡터화할 수 있는 공지된 기법들이 적용될 수 있음은 당연하다.
"They refuse to permit us to obtain the refuse permit"와 같은 문장을 가정하여 설명하기로 한다.
서버(120)는 해당 문장에서 품사 태깅 기법을 통해 단어를 각각 추출할 수 있다. 즉, "They refuse to permit us to obtain the refuse permit"에서 품사 태깅 기법을 적용하면, ('They', 'PRP'), ('refuse', 'VBP'), ('to', 'TO'), ('permit', 'VB'), ('us', 'PRP'), ('to', 'TO'), ('obtain', 'VB'), ('the', 'DT'), ('refuse', 'NN'), ('permit', 'NN')와 같다.
이와 같이, 품사 태깅 기법을 적용하여 각각의 단어를 분리한 후 단어만 추출하면 다음과 같이 추출될 수 있다.
they, refuse, to, permit, us, to, obtain, the, refuse, permit
이와 같이, 각각의 단어가 추출되면, 서버(120)는 문서에 대한 특징 데이터 셋을 구성할 수 있다. 이때, 서버(120)는 추출된 단어의 출현 빈도를 이용하여 특징 데이터 셋을 구성할 수 있다. 즉, 서버(120)는 추출된 각 단어의 출현 빈도를 도출한 후 출현 빈도가 기준치 미만인 단어는 특징 데이터 셋에서 제외할 수 있다.
즉, 출현 빈도가 일정 기준치 이상인 단어만으로 특징 데이터 셋이 구성될 수 있다. 본 발명의 일 실시예에서는 출현 빈도가 10회 이하인 단어들을 제외하여 특징 데이터 셋을 구성하는 것을 가정하여 설명하나 기준치는 구현시 탄력적으로 변경될 수 있음은 당연하다.
예를 들어, 각 단어와 해당 단어의 출현 빈도가 예를 들어 다음과 같다고 가정하기로 한다.
{'hundreds': 10, 'thousands': 9, 'people': 128, 'marched': 2, 'central': 14, 'london': 15, 'calling': 6, 'referendum': 11, 'mps': 19, 'search': 2, 'way': 45, 'brexit': 37, ??}
서버(120)는 출현 빈도가 10회 이하인 단어들을 제외시킨 후 ['hundreds', 'people', 'central', 'london', 'referendum', 'mps', 'way', 'brexit', 'campaign', 'say']과 같이 특징 데이터 셋을 구성할 수 있다.
이어, 서버(120)는 특징 데이터 셋에 대한 특징 매트릭스를 구성한다. 특징 매트릭스는 특징 데이터 셋에 포함된 단어들의 출현 빈도로 구성될 수 있다.
예를 들어, 특징 데이터 셋이 [hundred, of, thousand, for, is]이라고 가정하기로 하며, 문장이 ('politics', 'Hundreds of thousands of people have marched for another E')라고 가정하기로 한다.
이와 같은 경우, 특징 매트릭스는 [1, 2, 1, 1, 0]과 같이 구성될 수 있다.
서버(120)는 특징 매트릭스를 이용하여 해당 문서를 카테고리에 따라 분류할 수 있다.
단계 230에서 서버(120)는 기초 사전을 구성한다.
기초 사전은 분야별(카테고리별)로 구성될 수 있으며, 카테고리와 무관하게 구성될 수도 있다. 본 발명의 일 실시예에서는 n-gram 모델의 수식을 응용하여 기초 사전을 구축할 수 있다.
이해와 설명의 편의를 도모하기 위해 n-gram에 대해 간략히 설명하기로 한다.
P(다음 단어|현재 단어)는 현재 단어 다음에 다음 단어가 등장할 확률을 나타낸다. 또한 P(다음 단어|현재 단어)는 현재 단어 다음 단어 등장 빈도를 현재 단어 등장 빈도로 나눈 값일 수 있다.
기초 사전을 구성하는 방법에 대해 이하에서 보다 상세히 설명하기로 한다.
기초 사전 구축을 위해, 온라인상에서 수집된 디지털 콘텐츠가 이용될 수 있다. 이때, 디지털 콘텐츠는 검색엔진에 키워드를 입력하여 수집되거나 RSS 피드의 정보를 토대로 수집될 수도 있다.
서버(120)는 온라인상에서 수집된 디지털 콘텐츠를 변환하여 텍스트를 추출할 수 있다. 예를 들어, PDF는 자체 텍스트 변환 기능이 구비되어 있는바 이를 이용하여 서버(120)는 PDF내의 전체 텍스트가 추출될 수 있다. 또한, 이미지 파일의 경우 OCR 변환을 통해 텍스트가 추출될 수도 있다. 또한, SMI 등 자막 파일 유형의 경우 정규 표현식을 이용하여 텍스트가 추출될 수 있으며, HTML 유형의 경우 정규 표현식을 이용하여 텍스트가 추출될 수 있다. 또한, 워드 파일의 경우, 변환 프로그램을 이용하여 텍스트가 추출될 수도 있다.
예를 들어, SMI나 HTML과 같이 마크업 랭귀지 기반 데이터는 태그를 제외한 텍스트를 추출할 수 있다. 예를 들어, 원본 소스 파일이 "<div class="lh s"><b>Reward quality writing.</b> When you spend time reading a story, a portion of your membership fee will go directly to its author.</div>"와 같다고 가정하기로 한다.
서버(120)는 태그들을 제외한 후 텍스트만을 "Reward quality writing. When you spend time reading a story, a portion of your membership fee will go directly to its author."과 같이 추출할 수 있다.
이어, 서버(120)는 언어별 특성을 고려하여 불필요한 특수 문자 등을 제어하여 텍스트를 추출할 수 있다. 예를 들어, 영어를 가정하기로 한다. 영어의 경우, a ~ z 또는 A ~ Z로 구성되므로, 이외의 문자는 모두 제거하여 텍스트가 추출될 수 있다.
영어에 대한 텍스트들이 추출된 후, 서버(120)는 영어의 특성을 고려하여 고유 명사, 비교급, 조동사를 제거하고, 과거형은 현재형으로 변환하며, 부사를 형용사로 변환하고, 동사는 원형으로 변환하며, 복수는 단수로 변환하여 단어가 추출될 수 잇다.
예를 들어, 영어의 경우, 고유 명사, 비교급, 조동사를 제거하며, 과거형을 현재형으로 변환하고, 부사를 형용사로 변환하며, 동사는 원형으로 복수는 단수를 변환하는 등 영어의 특성을 고려하여 텍스트를 추출할 수 있다.
예를 들어, 텍스트가 "Reward quality writing. When you spend time reading a story, a portion of your membership fee will go directly to its author."과 같이 추출된 경우, 언어의 특성을 고려하여 "reward, direct, story, spend, membership, quality, to, of, a, reward, when, go, it, writing, reading, fee, portion, author, time, you"과 같이 단어를 추출할 수 있다.
서버(120)는 추출된 단어를 단어 출현 빈도, 등장한 문서수 순으로 정리할 수 있다. (1) circumvallate, 335, 91, (2) circumvallate, 261, 91 등과 같이 단어 출현 빈도와 등장한 문서수를 각각 정리할 수 있다.
또한, 서버(120)는 각 단어의 단어 출현 빈도와 등장한 문서수를 이용하여 단어별 비율값을 도출하여 추가할 수 있다. 예를 들어, 단어별 비율값은 단어출현빈도를 등장한 문서수로 나눔으로써 계산될 수 있다. (1) circumvallate, 335, 91, 3.6813186813 (2) circumvallate, 261, 91, 2.8681318681와 같이 추가될 수 있다.
또한, 서버(120)는 각 단어에 대한 기준 가중치를 계산하고, 계산된 기준 가중치를 이용하여 최종 가중치를 계산할 수 있다.
우선 기준 가중치를 계산하는 방법에 대해 우선 설명하기로 한다.
예를 들어, 데이터 셋이 다음과 같다고 가정하기로 한다.
(1) circumvallate, 335, 91, 3.6813186813
(2) circumvallate, 261, 91, 2.8681318681
서버(120)는 대상값을 출현빈도로 나누어 기준 가중치를 계산할 수 있다. 위의 두 예시를 가정하여 단어출현빈도의 기준 가중치를 계산하는 경우, (335+261)/2로 계산되며, 등장한 문서수의 기준가중치는 (91+91)/2로 계산되고, 비율값에 대한 기준 가중치는 (3.6813186813+2.8681318681)/2로 계산될 수 있다. 따라서, 단어출현빈도, 등장한 문서수, 비율값 각각에 대한 기준 가중치는 298, 91, 3.2747252747와 같이 계산될 수 있다.
서버(120)는 기준가중치를 이용하여 최종 가중치를 계산할 수 있다.
예를 들어, 단어출현빈도의 가중치는 (단어출현빈도/단어출현빈도의 기준가중치 + 단어 상수)로 계산될 수 있다. 또한, 등장한 문서수의 가중치는 (등장한 문서수/등장한 문서수의 기준가중치 + 문서 상수)와 같이 계산될 수 있다.
최종적으로 가중치는 ((단어출현빈도가중치+등장한 문서수 가중치) x 정밀도 상수)로 계산될 수 있다.
여기서, 단어 상수, 문서 상수 및 정밀도 상수는 구현에 따라 바뀔 수 있음은 당연하다.
데이터 셋을 이용하여 가중치를 계산하는 과정에 대해 설명하기로 한다.
(1) circumvallate, 335, 91, 3.6813186813
(2) circumvallate, 261, 91, 2.8681318681
(1)에 대한 최종 가중치= ((335 / 298 + 31) + (91 / 91 + 36)) * 0.001와 같이 계산되며, (2)에 대한 최종 가중치는 ((261 / 298 + 31) + (91 / 91 + 36)) * 0.001와 같이 계산될 수 있다.
즉, (1) circumvallate, 335, 91, 3.6813186813, 0.06912416107
(2) circumvallate, 261, 91, 2.8681318681, 0.06887583893
와 같이 최종 가중치가 각 단어에 반영될 수 있다.
서버(120)는 최종 가중치를 이용하여 중복 단어를 제거하고, 우선순위에 따라 기초 단어 사전을 정렬할 수 있다.
우선 순위는 최종가중치, 비율값, 등장한문서수, 단어출현빈도 순으로 설정될 수 있으며, 우선순위가 높은 순으로 단어들을 정렬하여 기초 사전을 구축할 수 있다.
예를 들어, "the, of, and, to, a, in, is, for, was, with, ??"등과 같이 기초 사전이 구축될 수 있다.
단계 235에서 서버(120)는 기초 사전을 이용하여 학습 순번 사전(학습 레벨 사전)을 구축한다.
학습 순번 사전(학습 레벨 사전)은 기초 사전을 이용하여 구축될 수 있다. 학습 순번 사전(학습 레벨 사전)은 분야별로 구축될 수도 있으며, 분야와 무관하게 구축될 수도 있다.
서버(120)는 기초 사전에서 상위 n(15,000)개의 단어를 추출한 후 레벨별 단어셋 크기대로 분리한 후 순서대로 레벨을 부여할 수 있다. 예를 들어, 레벨별 단어셋 크기가 150이라고 가정하면, 상위 n개의 단어들이 150개씩 분리되어 100개의 레벨별 단어셋이 생성될 수 있다.
단계 240에서 서버(120)는 학습 분선 사전을 이용하여 콘텐츠의 학습 순번(콘텐츠 레벨)을 결정한다.
이에 대해 보다 상세하게 설명하기로 한다.
학습 순번 사전(학습 레벨 사전)에 포함된 각 단어들이 각각의 콘텐츠에서 추출된 단어들에 어느 정도 포함되는지에 대한 커버리지 비율을 각각 도출하여 해당 콘텐츠의 학습 순번(콘텐츠 레벨)을 결정할 수 있다.
예를 들어, 1순위 사전(레벨)이 "reward, direct, story, spend, membership"이고, 2순위 사전(레벨)이 "portion, author, time, you, is, the"이며, 3순위 사전(레벨)이 "fee, nice, attack, stuck, computer"라고 가정하기로 한다.
특정 콘텐츠의 레벨별 커버리지 비율이 1순위 가전(레벨)은 100%이고, 2순위 사전(레벨)은 80%이며, 3순위 사전(레벨)은 20%로 도출되었다고 가정하기로 한다. 이와 같은 경우, 해당 콘텐츠의 레벨은 1순위로 설정될 수 있다.
그러나 만일 커버리지 비율이 가장 높은 매칭률이 85%인 경우, 서버(120)는 한단계 낮은 2순위로 해당 콘텐츠의 레벨을 설정할 수도 있다.
단계 245에서 서버(120)는 학습 순번이 설정된 콘텐츠를 학습 콘텐츠로서 저장한다.
도 4는 본 발명의 일 실시예에 따른 학습 콘텐츠를 추천하는 방법을 나타낸 순서도이고, 도 5는 본 발명의 일 실시예에 따른 진단 테스트 셋을 예시한 도면이고, 도 6은 본 발명의 일 실시예에 따른 카테고리별 추천 콘텐츠를 예시한 도면이고, 도 7은 본 발명의 일 실시예에 따른 전체 문서에 대한 추천 콘텐츠를 예시한 도면이며, 도 8은 본 발명의 일 실시예에 따른 가중치를 반영하여 추천 순서를 정렬한 결과를 도시한 도면이다. 최초 등록된 사용자에 대한 학습 콘텐츠를 추천하는 방법에 대해 설명하기로 한다.
단계 410에서 서버(120)는 진단 테스트 셋을 구성한다.
진단 테스트 셋은 최초 등록된 사용자에 대한 학습 콘텐츠 추천을 위해 사용자의 학습 레벨을 알아보기 위한 데이터 셋으로, 각각의 레벨별 사전에서 단어들을 추출하여 구성될 수 있다. 도 5에는 진단 테스트 셋의 일 예가 도시되어 있다.
따라서, 진단 테스트 셋은 가장 낮은 레벨에서 가장 높은 레벨까지 복수의 단어들을 포함하여 구성될 수 있다.
또한, 진단 테스트 셋을 구성함에 있어, 사전에 사용자로부터 획득된 사용자 정보를 반영하여 특정 카테고리에 대한 진단 테스트 셋이 구성될 수 있다.
여기서, 사용자 정보는 예를 들어, 사용자가 관심 있는 분야, 키워드, 학습 목적, 신분, 젠더 등일 수 있다.
단계 415에서 서버(120)는 구성된 진단 테스트 셋을 이용하여 진단 퀴즈를 사용자 단말(110)로 제공한다.
이어, 단계 420에서 서버(120)는 사용자 단말(110)로부터 진단 퀴즈 결과를 획득한다.
단계 425에서 서버(120)는 진단 퀴즈 결과를 분석하여 학습 콘텐츠를 사용자 단말(110)로 추천한다.
예를 들어, 서버(120)는 진단 퀴즈 결과를 분석하여 사용자가 오답을 제시한 퀴즈 중 레벨이 가장 낮은 레벨을 사용자 학습 레벨로 결정할 수 있다. 서버(120)는 결정된 학습 레벨에 따른 학습 콘텐츠를 사용자 단말(110)로 추천할 수 있다.
본 발명의 일 실시예에 따르면, 학습 콘텐츠를 추천함에 있어 Doc2Vec을 활용하여 문서들의 특징값을 도출한 후 이를 벡터 스페이스에 임베딩하고, 유사한 콘텐츠들을 도출하여 추천할 수도 있다.
Doc2Vec 이외에도, TF/IDF, Cosine Similarity, Euclidean Method 들이 이용될 수도 있다.
본 발명의 일 실시예에 따르면, 각 콘텐츠들은 토픽 모델링 기법에 기반하여 핵심 데이터들이 추출될 수 있다. 예를 들어, 토픽 모델링 기법은 MG-LDA(Multi Grain Latent Dirichlet Allocation)일 수 있다.
MG-LDA는 토픽을 추출할 문서를 각각 문장 별로 구분한 후, 각 문장의 명사를 추출할 수 있다. 이때, MG-LDA는 전역 주제와 지역 주제를 동시에 추출하는 방식으로, 단어가 특정 토픽에 존재할 확률과 문서에 특정 토픽이 존재할 확률을 결합확률로 추정하여 토픽을 추정할 수 있다.
따라서, 본 발명의 일 실시예에서는 별도의 설명이 없더라도 각 콘텐츠에 대한 핵심 데이터(주제어)가 추출되어 매핑되어 있는 것으로 이해되어야 할 것이다.
서버(120)는 결정된 학습 레벨에 맞는 콘텐츠를 추천함에 있어 사용자 정보를 반영하여 카테고리별 콘텐츠를 추천할 수도 있으며, 전체 문서를 대상으로 콘텐츠를 추천할 수도 있다.
또한, 서버(120)는 추천된 콘텐츠를 취합한 후 가중치를 각각 계산한 후 가중치 순서대로 정렬하여 콘텐츠를 사용자 단말(110)로 추천할 수도 있다.
취합된 콘텐츠의 가중치는 하기 수학식을 이용하여 계산될 수 있다.
여기서, 여기서, r은 read_cnt 문서를 조회한 사용자 수를 나타내고, l은 like_cnt 문서를 마음에 들어한 사용자 수를 나타내며, s는 share_cnt 문서를 다른 사람에게 공유한 사용자 수를 나타내고, rt는 전체 read_cnt를 나타내며, lt는 전체 like_cnt를 나타내고, st는 전체 share_cnt를 나타내며, similarity는 문서 유사도를 나타낸다. 문서 유사도는 예를 들어, TF/IDF, Cosine Similarity, Euclidean Method를 이용하여 도출될 수 있다.
도 6에는 카테고리별 추출된 콘텐츠들이 예시되어 있으며, 도 7에는 전체 문서에서 추출된 콘텐츠들이 예시되어 있다. 도 6 및 도 7과 같이 추출된 콘텐츠들에 대해 가중치를 반영하면, 도 8과 같이 정렬될 수 있다. 계산된 가중치를 이용하여 취합된 콘텐츠들 중 사용자에게 추천되는 콘텐츠의 최종 순서가 도 8과 같이 결정될 수 있다.
도 9는 본 발명의 다른 실시예에 따른 콘텐츠 추천 방법을 나타낸 순서도이고, 도 10은 본 발명의 일 실시예에 따른 유사 학습자들을 선별하기 위한 데이터들을 예시한 도면이며, 도 11은 본 발명의 일 실시예에 따른 유사한 학습자를 선별한 결과를 예시한 도면이고, 도 12에는 본 발명의 일 실시예에 따른 선별된 학습자들이 학습한 콘텐츠 목록을 예시한 도면이며, 도 13은 본 발명의 일 실시예에 따른 가중치를 반영하여 정렬한 결과를 예시한 도면이다.
단계 910에서 서버(120)는 사용자 단말(110)로부터 학습 상태 정보를 획득하고, 이를 이용하여 학습 상태 통계를 집계한다. 사용자 단말(110)
여기서, 학습 통계는 주간 성장 통계, 월간 학습 통계, 주간 단어 학습 통계, 일일 학습 통계 등으로 집계될 수 있다. 서버(120)는 사용자 단말(110)로 제공된 학습 콘텐츠 중 복습 회차별 테스트를 모두 통과한 단어에 대해서는 아는 단어로 설정할 수 있다. 또한, 서버(120)는 리뷰를 시작하여 1단계라도 테스트를 통과하거나, 학습 중 한번이라도 틀린 단어는 학습 중인 단어로 설정할 수 있다. 또한, 서버(120)는 학습을 시작하지 않은 단어는 모르는 단어로 설정할 수 있다. 서버(120)는 각 레벨별로 제공된 학습 콘텐츠에 대한 학습 결과를 사용자 단말(110)로부터 제공받고, 이를 이용하여 주간 성장 통계, 월간 학습 통계, 주간 단어 학습 통계, 일일 학습 통계를 각각 집계할 수 있다.
단계 915에서 서버(120)는 학습 상태 통계 집계 결과를 반영하여 유사한 학습자를 추출할 수 있다.
예를 들어, 서버(120)는 아이디, 선호카테고리, 선호키워드, 학습목적, 직업, 성별, 학습한 콘텐츠 목록, 학습중인 콘텐츠 목록, 학습한 단어 목록을 이용하여 Doc2Vec 으로 학습자들의 특징값을 도출한 후 이를 워드 스페이스에 임베딩할 수 있다.
이어, 서버(120)는 TF/IDF, Cosine Similarity, Euclidean Method 등을 이용하여 유사한 학습자들을 선별할 수 있다.
도 10에는 유사 학습자들을 선별하기 위한 데이터들이 예시되어 있다. 도 10에 도시된 바와 같이, 아이디, 선호카테고리, 선호키워드, 학습목적, 직업, 성별, 학습한 콘텐츠 목록, 학습중인 콘텐츠 목록, 학습한 단어 목록을 이용한 학습자들의 특징값을 도출한 후 이를 이용하여 유사 학습자를 선별할 수 있다.
단계 920에서 서버(120)는 선별된 유사 학습자들이 학습한 학습 콘텐츠를 추출한다. 여기서, 학습 콘텐츠는 카테고리별 콘텐츠일 수도 있으며, 전체 문서를 대상으로 추출될 수도 있다.
단계 925에서 서버(120)는 추출된 콘텐츠에 대한 가중치를 계산한다. 가중치 계산은 도 4에서 수학식2를 참조하여 설명한 바와 동일하므로 중복되는 설명은 생략하기로 한다.
단계 930에서 서버(120)는 가중치에 따른 우선순위로 정렬된 콘텐츠를 사용자 단말(110)로 순서대로 추천한다.
이와 같이, 유사한 학습자들이 학습한 콘텐츠를 사용자 단말(110)로 제공할 수도 있다.
도 11에는 유사한 학습자를 선별한 결과가 예시되어 있으며, 도 12에는 선별된 학습자들이 학습한 콘텐츠 목록이 예시되어 있다. 도 12와 같이 유사한 학습자들이 학습한 콘텐츠들을 추출한 후 가중치를 계산하여 가중치에 따라 정렬하여 도 13에 도시된 바와 같이 추천 순서를 결정하여 사용자 단말(110)로 제공할 수 있다.
도 14는 본 발명의 또 다른 실시예에 따른 콘텐츠 추천 방법을 나타낸 순서도이고, 도 15는 본 발명의 또 다른 실시예에 따른 유사 콘텐츠 추천 결과를 예시한 도면이며, 도 16은 본 발명의 또 다른 실시예에 따른 커버리지를 반영한 쉬운 학습 콘텐츠를 분류할 결과를 예시한 도면이고, 도 17은 본 발명의 또 다른 실시예에 따른 커버리지를 반영한 어려운 학습 콘텐츠를 분류할 결과를 예시한 도면이다.
단계 1410에서 서버(120)는 사용자가 현재 학습하고 있는 학습 콘텐츠와 유사한 콘텐츠를 추출한다.
이는 이미 전술한 바와 같이, Doc2Vec을 활용하여 문서들의 특징값을 도출한 후 이를 벡터 스페이스에 임베딩한 후 TF/IDF, Cosine Similarity, Euclidean Method를 이용하여 유사한 콘텐츠를 추출할 수 있다.
단계 1415에서 서버(120)는 추출된 유사 콘텐츠에 대한 커버리지를 각각 계산한다.
예를 들어, 커버리지는 수학식 3을 이용하여 계산될 수 있다.
여기서, m은 학습자가 아는 단어와 콘텐츠 단어가 일치하는 수를 나타내고, t는 콘텐츠의 총 단어 수를 나타낸다.
즉, 학습 커버리지는 콘텐츠의 전체 단어수 대비 사용자가 아는 단어의 수를 의미한다.
단계 1420에서 서버(120)는 추출된 유사 콘텐츠에 대한 커버리지를 이용하여 쉬운 콘텐츠와 어려운 콘텐츠를 각각 분류한다.
유사 콘텐츠에 대한 커버리지를 이용하여 사용자에게 쉬운 콘텐츠와 어려운 콘텐츠를 각각 분류함에 있어, 사용자 커버리지가 이용될 수 있다.
사용자 커버리지는 테스트 콘텐츠를 대상으로, 사용자가 아는 단어의 커버리지를 도출한 결과이다. 따라서, 사용자 커버리지보다 추출된 유사 콘텐츠의 커버리지가 작으면 쉬운 컨텐츠로 분류되며, 사용자 커버리지가 추출된 유사 콘텐츠의 커버리지보다 작으면 해당 유사 콘텐츠는 어려운 콘텐츠로 분류될 수 있다.
즉, 사용자 커버리지< 유사 콘텐츠의 커버리지이면, 해당 유사 콘텐츠는 쉬운 콘텐츠로 분류되며, 사용자 커버리지>유사 콘텐츠의 커버리지이면, 해당 유사 콘텐츠는 어려운 콘텐츠로 분류될 수 있다.
단계 1425에서 서버(120)는 분류된 결과를 이용하여 쉬운 콘텐츠 또는 어려운 콘텐츠를 사용자 단말(110)로 추천할 수 있다.
이때, 서버(120)는 복수의 쉬운 콘텐츠와 어려운 콘텐츠를 사용자 단말(110)로 추천함에 있어, 도 4에서 설명한 바와 같이, 수학식2를 참조하여 가중치를 계산한 후 이를 이용하여 정렬하여 콘텐츠의 추천 순서를 결정하여 순서대로 추천할 수도 있다.
도 18은 본 발명의 일 실시예에 따른 콘텐츠 추천 방법을 나타낸 흐름도이다.
단계 1810에서 서버(120)는 학습 콘텐츠 데이터베이스를 구축한다.
이는 도 2를 참조하여 설명한 바와 동일하므로 중복되는 설명은 생략하기로 한다.
단계 1815에서 서버(120)는 진단 퀴즈를 사용자 단말(110)로 제공한다.
단계 1820에서 사용자 단말(110)은 서버(120)로부터 제공되는 진단 퀴즈를 학습한 후 학습 결과를 서버(120)로 전송한다.
단계 1825에서 서버(120)는 학습 결과를 고려하여 학습 콘텐츠를 추천하여 사용자 단말(110)로 제공한다.
이는 도 4를 참조하여 설명한 바와 동일하므로 중복되는 설명은 생략하기로 한다.
단계 1830에서 사용자 단말(110)은 서버(120)로부터 추천된 학습 콘텐츠를 학습한다.
사용자 단말(110)은 학습 콘텐츠를 선택한 후 원문 읽기, 리뷰, 테스트, 반복 또는 완료를 통해 학습 콘텐츠를 학습할 수 있다.
단계 1835에서 사용자 단말(110)은 학습 활동 정보를 서버(120)로 전송한다.
단계 1840에서 서버(120)는 사용자 단말(110)로부터 수신된 학습 활동 정보를 이용하여 학습 상태 통계를 집계한다.
이어, 단계 1845에서 서버(120)는 학습 상태 통계 집계 결과를 반영하여 학습 콘텐츠를 추천하여 사용자 단말(110)로 제공한다. 이는 도 9 및 도 14를 참조하여 설명한 바와 동일하므로 중복되는 설명은 생략하기로 한다.
단계 1850에서 사용자 단말(110)은 서버(120)로부터 추천된 학습 콘텐츠를 학습한다. 즉, 사용자 단말(110)은 추천된 학습 콘텐츠를 선택한 후 원문 읽기, 리뷰, 테스트, 반복 또는 완료를 통해 학습 콘텐츠를 학습할 수 있다.
단계 1855에서 서버(120)는 망각 상태 업데이트를 포함한 학습 스케쥴을 관리한다.
예를 들어, 서버(120)는 사용자의 다음 복습 회차의 지정된 기간 이내에 학습 콘텐츠에 대한 테스트 결과가 미반영되는 경우 복습 회차를 강등처리할 수 있다.
예를 들어, 1월 1일에 1회차 학습을 마친 후 3일 이후에 1월 4일이 2회차인 경우, 1월 5일내에 테스트 결과가 미반영되는 경우, 복습 회차가 1회차로 강등될 수 있다. 서버(120)는 테스트를 완료하지 않았더라도 시도한 경우 여유 기일을 부여한 후 강등 여부를 다시 결정할 수 있다.
망각 상태 업데이트에 따라 강등처리되는 경우 해당 회차의 단어 학습 상태가 롤백될 수 있다. 다만, 서버(120)는 다른 콘텐츠를 통해 학습 상태가 갱신되는 단어는 롤백시 제외시킬 수 있다.
단계 1860에서 사용자 단말(110)은 학습 통계 확인 및 복습 요청을 서버(120)로 전송한다.
단계 1865에서 서버(120)는 사용자 단말(110)의 학습 통계 확인 및 복습 요청에 따라 학습 통계 관련 정보 및 복습 관련 콘텐츠를 사용자 단말(110)로 제공한다. 이에 따라 사용자 단말(110)는 학습 통계를 확인하고 복습할 수 있다.
학습 통계를 확인하는 과정은 학습 콘텐츠를 학습하는 과정에서 빈번하게 수행될 수 있으며, 단계 1820 이후에 서버(120)의 동작과는 별개로 사용자 단말(110)에 의해 병렬적으로 수행될 수도 있다.
또한, 사용자 단말(110)은 학습 콘텐츠를 복습하는 과정을 별도로 수행할 수 있으며, 복습은 서버(120)에서 지정된 복습 스케쥴내에서 수행되지 않는 경우, 망각 상태 업데이트시 강등처리될 수도 있다.
이상에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 쉽게 이해할 수 있을 것이다.
Claims (6)
- 콘텐츠 추천 시스템의 서버에 의해 실행되는 학습 콘텐츠 추천 방법으로서,
온라인상에서 디지털 콘텐츠를 수집하는 단계; 상기 수집된 디지털 콘텐츠를 분류 모델에 적용하여 카테고리 리스트를 생성하고, 상기 생성된 카테고리 리스트에 따라 상기 디지털 콘텐츠를 각각 분류하는 단계; 상기 디지털 콘텐츠를 분석하여 단어를 각각 추출한 후 기초 단어 사전을 생성하고, 상기 기초 단어 사전을 이용하여 학습 레벨별 사전을 생성하며, 상기 디지털 콘텐츠의 학습 레벨별 사전의 커버리지 비율을 도출하여 상기 디지털 콘텐츠의 학습 순번을 결정하는 단계; 및 사용자 학습 결과와 상기 디지털 콘텐츠의 학습 순번을 고려하여 학습 콘텐츠를 추천하는 단계를 포함하고,
상기 사용자가 학습중인 학습 콘텐츠와 유사한 콘텐츠를 선별하는 단계; 상기 유사한 콘텐츠에 대한 커버리지를 각각 계산하는 단계; 상기 커버리지를 이용하여 어려운 학습 콘텐츠와 쉬운 학습 콘텐츠를 분류하는 단계; 상기 분류된 어려운 학습 콘텐츠와 쉬운 학습 콘텐츠를 순서대로 사용자 단말로 제공하는 단계를 더 포함하되,
상기 커버리지는 하기 수학식에 따라 상기 사용자가 아는 단어와 상기 유사한 콘텐츠에 포함된 단어와의 일치 여부를 고려하여 계산되는 것을 특징으로 하는 학습 콘텐츠 추천 방법.
[수학식]
여기서, m은 학습자가 아는 단어와 콘텐츠 단어가 일치하는 수를 나타내고, t는 콘텐츠의 총 단어 수를 나타냄.
- 제1 항에 있어서,
상기 기초 단어 사전을 생성함에 있어,
상기 디지털 콘텐츠를 분석하여 추출된 각 단어에 대한 출현 빈도, 문서 등장수 및 비율값을 각각 도출하는 단계-상기 비율값은 상기 출현빈도를 상기 문서 등장수로 나누어 계산됨;
상기 출현빈도, 상기 문서 등장수 및 상기 비율값을 이용하여 상기 각 단어의 가중치를 계산하는 단계; 및
상기 가중치가 높은 순으로 정렬하여 상위 n개의 단어를 추출하여 상기 기초 단어 사전을 생성하는 단계를 포함하는 학습 콘텐츠 추천 방법.
- 제1 항에 있어서,
상기 추천된 학습 콘텐츠의 학습 활동 정보를 사용자 단말로부터 획득하는 단계;
상기 학습 활동 정보를 이용하여 학습 상태 통계를 집계한 후 집계 결과를 이용하여 유사한 학습자를 선별하는 단계-상기 유사한 학습자는 아이디, 선호카테고리, 선호키워드, 학습목적, 직업, 성별, 학습한 콘텐츠 목록, 학습중인 콘텐츠 목록, 학습한 단어 목록을 포함하는 학습자들의 특징값을 도출한 후 워드 스페이스에 임베딩하여 유사한 학습자를 선별함; 및
상기 유사한 학습자가 학습한 학습 콘텐츠를 추출하여 추천하는 단계를 더 포함하는 학습 콘텐츠 추천 방법.
- 제1 항에 있어서,
상기 콘텐츠를 추천하는 단계는,
상기 추출된 학습 콘텐츠별 가중치를 각각 계산하는 단계;
상기 가중치를 이용하여 학습 콘텐츠를 정렬하는 단계; 및
상기 정렬된 순서에 따라 학습 콘텐츠를 순차적으로 추천하는 단계를 포함하는 것을 특징으로 하는 학습 콘텐츠 추천 방법.
- 삭제
- 제1 항에 있어서,
망각 상태를 업데이트하되, 상기 사용자가 추천된 학습 콘텐츠를 지정된 복습 기일이내에 테스트하지 않는 경우 복습 회차를 강등시키거나 레벨의 학습 상태를 롤백시키는 단계를 더 포함하는 학습 콘텐츠 추천 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200163605A KR102623256B1 (ko) | 2020-11-30 | 2020-11-30 | 학습 콘텐츠 추천 방법 |
KR1020230173744A KR20230169907A (ko) | 2020-11-30 | 2023-12-04 | 학습 콘텐츠 추천 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200163605A KR102623256B1 (ko) | 2020-11-30 | 2020-11-30 | 학습 콘텐츠 추천 방법 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230173744A Division KR20230169907A (ko) | 2020-11-30 | 2023-12-04 | 학습 콘텐츠 추천 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220075490A KR20220075490A (ko) | 2022-06-08 |
KR102623256B1 true KR102623256B1 (ko) | 2024-01-09 |
Family
ID=81980957
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200163605A KR102623256B1 (ko) | 2020-11-30 | 2020-11-30 | 학습 콘텐츠 추천 방법 |
KR1020230173744A KR20230169907A (ko) | 2020-11-30 | 2023-12-04 | 학습 콘텐츠 추천 방법 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230173744A KR20230169907A (ko) | 2020-11-30 | 2023-12-04 | 학습 콘텐츠 추천 방법 |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR102623256B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101781458B1 (ko) * | 2016-04-29 | 2017-09-26 | (주)웅진컴퍼스 | 언어 학습 서비스 제공 시스템 및 언어 학습 서비스 제공 방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150141109A (ko) * | 2014-06-09 | 2015-12-17 | 김정아 | 사용자 맞춤 온라인 학습방법 |
KR20180000444A (ko) | 2016-06-23 | 2018-01-03 | 황재민 | 근로자의 직업능력개발을 위한 오투오(On-line to Off-line) 직업영어교육 서비스 |
KR20200044170A (ko) * | 2018-10-05 | 2020-04-29 | 한종현 | 빅데이터를 이용한 사용자 맞춤 언어 학습 패턴 제공 시스템 및 방법 |
-
2020
- 2020-11-30 KR KR1020200163605A patent/KR102623256B1/ko active IP Right Grant
-
2023
- 2023-12-04 KR KR1020230173744A patent/KR20230169907A/ko not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101781458B1 (ko) * | 2016-04-29 | 2017-09-26 | (주)웅진컴퍼스 | 언어 학습 서비스 제공 시스템 및 언어 학습 서비스 제공 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20230169907A (ko) | 2023-12-18 |
KR20220075490A (ko) | 2022-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Stamatatos et al. | Overview of the author identification task at PAN 2014 | |
CN109299865B (zh) | 基于语义分析的心理测评系统及方法、信息数据处理终端 | |
Sunilkumar et al. | A survey on semantic similarity | |
US20090198488A1 (en) | System and method for analyzing communications using multi-placement hierarchical structures | |
CN112307336B (zh) | 热点资讯挖掘与预览方法、装置、计算机设备及存储介质 | |
Lalata et al. | A sentiment analysis model for faculty comment evaluation using ensemble machine learning algorithms | |
CN116070599A (zh) | 智能化题库生成及辅助管理系统 | |
Kochuieva et al. | Usage of Sentiment Analysis to Tracking Public Opinion. | |
Jalal | Text Mining: Design of Interactive Search Engine Based Regular Expressions of Online Automobile Advertisements. | |
CN109871429B (zh) | 融合Wikipedia分类及显式语义特征的短文本检索方法 | |
CN111859955A (zh) | 一种基于深度学习的舆情数据分析模型 | |
KR102434880B1 (ko) | 멀티미디어 플랫폼 기반 지식 공유 서비스 제공 시스템 | |
Rasheed et al. | Conversational chatbot system for student support in administrative exam information | |
KR102623256B1 (ko) | 학습 콘텐츠 추천 방법 | |
CN117235253A (zh) | 一种基于自然语言处理技术的卡车用户隐性需求挖掘方法 | |
Dziczkowski et al. | RRSS-rating reviews support system purpose built for movies recommendation | |
CN113326348A (zh) | 一种博客质量评估方法及工具 | |
Dziczkowski et al. | An autonomous system designed for automatic detection and rating of film reviews | |
Lipka | Modeling Non-Standard Text Classification Tasks | |
Farhadloo | Statistical Methods for Aspect Level Sentiment Analysis | |
Mason | An n-gram based approach to the automatic classification of web pages by genre | |
Yang et al. | Sentiment Distribution of Topic Discussion in Online English Learning: An Approach Based on Clustering Algorithm and Improved CNN | |
Qu et al. | An application of aspect-based sentiment analysis on teaching evaluation | |
Qamar et al. | Text mining | |
Neumeyer | Analyse einer dynamischen Sammlung von Zeitungsartikeln mit inhaltsbasierten Methoden |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
A107 | Divisional application of patent | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |