KR20240011370A - Non face-to-face learning curriculum creation and recommendation system based on coding learning data - Google Patents

Non face-to-face learning curriculum creation and recommendation system based on coding learning data Download PDF

Info

Publication number
KR20240011370A
KR20240011370A KR1020220088730A KR20220088730A KR20240011370A KR 20240011370 A KR20240011370 A KR 20240011370A KR 1020220088730 A KR1020220088730 A KR 1020220088730A KR 20220088730 A KR20220088730 A KR 20220088730A KR 20240011370 A KR20240011370 A KR 20240011370A
Authority
KR
South Korea
Prior art keywords
user
video
learning
face
coding
Prior art date
Application number
KR1020220088730A
Other languages
Korean (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 KR1020220088730A priority Critical patent/KR20240011370A/en
Publication of KR20240011370A publication Critical patent/KR20240011370A/en

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
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • 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
    • 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
    • G06Q50/205Education administration or guidance
    • G06Q50/2057Career enhancement or continuing education service
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

실시예에 따른 비대면 학습 커리큘럼 생성 및 추천 시스템은 사용자의 비디오 시청기록에서 아이디, 시청 비디오 아이디, 타임스팸프, 가장 최근 시청한 비디오 카테고리, 최장 시청 시간을 기록한 비디오 카테고리, 비디오 카테고리 각각의 시청빈도를 포함하는 시청 정보를 추출하여 사용자 별로 저장하는 시청정보 추출모듈; 사용자 단말에 의해 퀴즈 수행이 완료되면, 사용자 각각의 퀴즈 점수를 타임스탬프와 함께 저장하는 사용자 퀴즈 정보 수집모듈; 사용자 단말에 의해 코딩 챌린지 수행이 완료되면, 사용자 각각의 코딩 챌린지 점수를 타임스탬프와 함께 저장하는 사용자 코딩 챌린지 정보 수집 모듈; 및 가장 최근 시청한 비디오 데이터를 상기 퀴즈 점수, 코딩점수 중 적어도 하나에 병합(merging)하여 사용자 별 학습 성과 데이터를 생성하고, 상기 생성된 학습 성과 데이터를 기반으로 사용자에게 추천될 비디오가 포함된 카테고리를 예측하는 분석모듈; 을 포함한다.The non-face-to-face learning curriculum creation and recommendation system according to the embodiment includes ID, watched video ID, timestamp, most recently watched video category, video category recording the longest viewing time, and viewing frequency of each video category from the user's video viewing record. A viewing information extraction module that extracts viewing information including and stores it for each user; When the quiz is completed by the user terminal, a user quiz information collection module that stores each user's quiz score with a timestamp; When the coding challenge is completed by the user terminal, a user coding challenge information collection module that stores each user's coding challenge score with a timestamp; and merging the most recently watched video data with at least one of the quiz score and coding score to generate learning performance data for each user, and a category containing videos to be recommended to the user based on the generated learning performance data. Analysis module to predict; Includes.

Description

코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템{NON FACE-TO-FACE LEARNING CURRICULUM CREATION AND RECOMMENDATION SYSTEM BASED ON CODING LEARNING DATA}Non-face-to-face learning curriculum creation and recommendation system based on coding learning data {NON FACE-TO-FACE LEARNING CURRICULUM CREATION AND RECOMMENDATION SYSTEM BASED ON CODING LEARNING DATA}

본 개시는 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템에 관한 것으로 구체적으로, 코딩 학습을 위한 교육용 비디오를 사용자의 레벨과 학습 성과를 포함하는 코딩학습데이터에 따라 추천하는 시스템 및 방법에 관한 것이다. This disclosure relates to a non-face-to-face learning curriculum creation and recommendation system based on coding learning data. Specifically, it relates to a system and method for recommending educational videos for coding learning according to coding learning data including the user's level and learning performance. will be.

본 명세서에서 달리 표시되지 않는 한, 이 섹션에 설명되는 내용들은 이 출원의 청구항들에 대한 종래 기술이 아니며, 이 섹션에 포함된다고 하여 종래 기술이라고 인정되는 것은 아니다.Unless otherwise indicated herein, the material described in this section is not prior art to the claims of this application, and is not admitted to be prior art by inclusion in this section.

최근 초고속 인터넷 등 통신망이나 모바일 통신망을 통한 데이터 처리기술이 발달하면서, 인터넷 등의 통신만을 이용한 강의나 학습 콘텐츠의 제공이 증가하고 있다. 또한, 스마트폰의 발달로 장소에 관계없이 다양한 학습 콘텐츠의 제공이 가능하다. 이에 따라, 오프라인에서 진행되는 강의도 온라인 수강이 가능하며, 실시간으로 온라인에서 다양한 학습 컨텐츠를 제공받을 수 있다. 특히, 코딩 교육에 대한 요구가 증가하면서, 다양한 전문자격증 및 코딩 실력 향상을 위한 온라인 학습 콘텐츠는 수요자의 니즈를 반영하는 형태로 발전해 나가고 있다.Recently, with the development of data processing technology through communication networks such as high-speed Internet or mobile communication networks, the provision of lectures and learning contents using only communications such as the Internet is increasing. Additionally, with the development of smartphones, it is possible to provide a variety of learning content regardless of location. Accordingly, lectures held offline can also be taken online, and various learning contents can be provided online in real time. In particular, as the demand for coding education increases, online learning content for various professional certifications and improvement of coding skills is developing in a form that reflects the needs of consumers.

그러나, 기존의 학습 콘텐츠 제공 방법은 영상강의를 온라인 상에서 재생하거나, 강의 내용을 문서화하여 해당 문서를 디스플레이하는 방법에 그치고 있다. 또한, 사용자가 온라인에서 문제를 풀 수 있는 컨텐츠를 제공하여도, 이는 단순히 데이터 베이스 상에 저장된 문제 데이터를 제공할 뿐 사용자의 특성을 전혀 고려하지 않는다.However, existing methods of providing learning content are limited to playing video lectures online or documenting lecture contents and displaying the documents. Additionally, even if content that allows users to solve problems online is provided, it simply provides problem data stored in a database and does not take the user's characteristics into account at all.

또한, 종래에는 시스템에서 제공하는 문제에 대한 난이도를 임의로 분류하고 난이도가 고정되어 있어, 실제 사용자의 체감 난이도를 학습 진행에 반영하지 못하는 문제점이 있다. 잘못 설정된 난이도는 왜곡된 학습 결과를 창출하는 문제로 이어지고 있다. In addition, in the related art, the difficulty level of problems provided by the system is arbitrarily classified and the difficulty level is fixed, so there is a problem that the actual user's perceived difficulty level cannot be reflected in the learning process. Incorrectly set difficulty levels lead to the problem of creating distorted learning results.

또한, 사용자가 시스템을 처음 사용할 때 사용자에게 적합한 학습 컨텐츠 추천을 위한 통계가 없어 무작위로 비디오를 추천하고, 초기학습자에 대한 충분한 데이터 수집이 어려워 사용자 패턴을 식별하지 못하는 문제가 있다. 사용자의 시청 패턴은 특정 사용자마다 고유하기 때문에, 시스템이 모델을 이룰 만큼 충분한 데이터를 가지고 있는 경우, 사용자 기반의 공통 머신 러닝 모델을 사용하는 것은 권장되지 않는다. 하지만, 종래 인공지능을 이용한 학습 컨텐츠 추천 시스템의 경우, 사용자 정보를 기반으로 공통 머신 러닝 모델을 통해 적합한 컨텐츠를 추천하는 것이 대부분이다. In addition, when a user first uses the system, there are no statistics to recommend learning content suitable for the user, so videos are randomly recommended, and it is difficult to collect sufficient data on early learners, making it difficult to identify user patterns. Because a user's viewing patterns are unique to any given user, using a common user-based machine learning model is not recommended when the system has enough data to build a model. However, in the case of conventional learning content recommendation systems using artificial intelligence, most recommend appropriate content through a common machine learning model based on user information.

1. 한국 특허등록 제10-2213476호 (2021.02.02)1. Korean Patent Registration No. 10-2213476 (2021.02.02) 2. 한국 특허등록 제10-2283711호 (2021.07.26)2. Korean Patent Registration No. 10-2283711 (2021.07.26)

실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템은 사용자 한 명당 하나의 머신 러닝 모델을 유지하고 비디오를 시청하는 일정기간(예컨대, 매주)마다 새로운 통계를 사용해 사용자의 학습 모델을 훈련하여, 사용자의 학습 레벨 및 성과를 포함하는 코딩학습 데이터를 반영한 최적 코딩 학습 비디오를 추천한다. A non-face-to-face learning curriculum creation and recommendation system based on coding learning data according to an embodiment maintains one machine learning model per user and uses new statistics for a certain period of time (e.g., weekly) when watching videos to update the user's learning model. Through training, it recommends the optimal coding learning video that reflects coding learning data, including the user's learning level and performance.

실시예에서는 사용자에게 시도된 퀴즈 레이블에서 상, 중, 하를 포함하는 퀴즈 난이도 및 퀴즈 결과 데이터를 추출하고, 사용자가 최근 시청한 비디오 카테고리 정보를 병합하여 사용자 학습 레벨에 따른 코딩 학습 비디오를 추천한다.In the embodiment, quiz difficulty and quiz result data, including high, medium, and low, are extracted from the quiz labels attempted by the user, and video category information recently watched by the user is merged to recommend coding learning videos according to the user's learning level. .

또한, 실시예에서는 사용자가 최근 시청한 복수개의 비디오 중 가장 자주 시청하는 비디오 카테고리(frequent_video_category) 및 시청 시간이 가장 긴 비디오 카테고리(highest_duration_category)를 추출하여 추출된 비디오 카테고리 정보가 사용자 별 학습 비디오 추천에 반영되도록 한다.In addition, in the embodiment, the most frequently watched video category (frequent_video_category) and the video category with the longest viewing time (highest_duration_category) are extracted from the plurality of videos that the user has recently watched, and the extracted video category information is reflected in the learning video recommendation for each user. Make it possible.

또한, 실시예에서는 사용자 별 최근의 코딩 챌린지 결과, 퀴즈, 최근 시청 비디오 정보를 분석하여 사용자 학습 결과 및 성취도를 예측할 수 있도록 한다. Additionally, in the embodiment, user learning results and achievement levels can be predicted by analyzing recent coding challenge results, quizzes, and recently viewed video information for each user.

실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템은 사용자의 비디오 시청기록에서 아이디, 시청 비디오 아이디, 타임스팸프, 가장 최근 시청한 비디오 카테고리, 최장 시청 시간을 기록한 비디오 카테고리, 비디오 카테고리 각각의 시청빈도를 포함하는 시청 정보를 추출하여 사용자 별로 저장하는 시청정보 추출모듈; 사용자 단말에 의해 퀴즈 수행이 완료되면, 사용자 각각의 퀴즈 점수를 타임스탬프와 함께 저장하는 사용자 퀴즈 정보 수집모듈; 사용자 단말에 의해 코딩 챌린지 수행이 완료되면, 사용자 각각의 코딩 챌린지 점수를 타임스탬프와 함께 저장하는 사용자 코딩 챌린지 정보 수집 모듈; 및 가장 최근 시청한 비디오 데이터를 상기 퀴즈 점수, 코딩점수 중 적어도 하나에 병합(merging)하여 사용자 별 학습 성과 데이터를 생성하고, 상기 생성된 학습 성과 데이터를 기반으로 사용자에게 추천될 비디오가 포함된 카테고리를 예측하는 분석모듈; 을 포함한다. The non-face-to-face learning curriculum creation and recommendation system based on coding learning data according to the embodiment includes ID, watched video ID, timestamp, most recently watched video category, video category recording the longest viewing time, and video from the user's video viewing record. a viewing information extraction module that extracts viewing information including the viewing frequency of each category and stores it for each user; When the quiz is completed by the user terminal, a user quiz information collection module that stores each user's quiz score with a timestamp; When the coding challenge is completed by the user terminal, a user coding challenge information collection module that stores each user's coding challenge score with a timestamp; and merging the most recently watched video data with at least one of the quiz score and coding score to generate learning performance data for each user, and a category containing videos to be recommended to the user based on the generated learning performance data. Analysis module to predict; Includes.

다른 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 방법에서 (A) 시청정보 추출 모듈은 사용자의 비디오 시청기록에서 아이디, 시청 비디오 아이디, 타임스팸프, 가장 최근 시청한 비디오 카테고리, 최장 시청 시간을 기록한 비디오 카테고리, 비디오 카테고리 각각의 시청빈도를 포함하는 시청 정보를 추출하여 사용자 별로 저장하는 단계; (B) 사용자 퀴즈 정보 수집 모듈은 사용자 단말에 의해 퀴즈 수행이 완료되면, 타임스탬프가 있는 사용자 각각의 퀴즈 점수를 저장하는 단계; (C) 사용자 코딩 챌린지 정보 수집 모듈은 사용자 단말에 의해 코딩 챌린지 수행이 완료되면, 타임스탬프가 있는 사용자 각각의 코딩 챌린지 점수를 저장하는 단계; 및 (D) 분석모듈은 가장 최근 시청한 비디오 데이터를 상기 퀴즈 점수, 코딩점수 중 적어도 하나에 병합(merging)하여 사용자 별 학습 성과 데이터를 생성하고, 상기 생성된 학습 성과 데이터를 기반으로 사용자에게 추천될 비디오가 포함된 카테고리를 예측하는 단계; 를 포함한다.In a non-face-to-face learning curriculum creation and recommendation method based on coding learning data according to another embodiment, (A) the viewing information extraction module extracts ID, watched video ID, timestamp, most recently watched video category from the user's video viewing record, Extracting viewing information including the video category recording the longest viewing time and the viewing frequency of each video category and storing them for each user; (B) the user quiz information collection module stores each user's quiz score with a timestamp when the quiz performance is completed by the user terminal; (C) the user coding challenge information collection module stores the coding challenge score of each user with a timestamp when the coding challenge is completed by the user terminal; And (D) the analysis module generates learning performance data for each user by merging the most recently watched video data with at least one of the quiz score and coding score, and makes recommendations to the user based on the generated learning performance data. predicting a category containing the video to be; Includes.

이상에서와 같은 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템은 사용자의 비디오 시청에 관한 빅데이터 및 사용자 별 학습 레벨과 성과를 포함하는 코딩학습 데이터를 인공지능에 의해 분석하여, 사용자에게 가장 적합한 맞춤형 코딩 학습 비디오를 제공할 수 있다. The non-face-to-face learning curriculum creation and recommendation system based on coding learning data as described above uses artificial intelligence to analyze coding learning data, including big data on users' video viewing and learning levels and performance for each user, to provide the best results to users. We can provide suitable customized coding learning videos.

또한, 코딩 교육 컨텐츠를 장소와 시간에 관계없이 제공할 수 있고, 퀴즈와 코딩 챌린지 분석을 통해 사용자 별 학습 성과를 정확히 예측하고 이를 기반으로 코딩 학습을 위한 비디오를 추천하여 사용자의 코딩 실력 향상을 극대화할 수 있다. In addition, coding education content can be provided regardless of location and time, and through analysis of quizzes and coding challenges, the learning performance of each user is accurately predicted and videos for coding learning are recommended based on this to maximize the improvement of the user's coding skills. can do.

본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 상세한 설명 또는 특허청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.The effects of the present invention are not limited to the effects described above, and should be understood to include all effects that can be inferred from the configuration of the invention described in the detailed description or claims of the present invention.

도 1은 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템 구성을 나타낸 도면
도 2는 실시예에 따른 비디오 추천 서버(100)의 데이터 처리 구성을 나타낸 도면
도 3은 실시예에 따른 같은 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템의 데이터 모델링 과정을 설명하기 위한 도면
도 4는 실시예에 따른 같은 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템의 데이터 처리과정을 나타낸 도면
도 5는 실시예에 따른 같은 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템의 비디오 추천 카테고리 예측을 위한 어플리케이션의 데이터 처리 흐름을 나타낸 도면
도 6은 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 어플리케이션의 학습 이력 정보 인터페이스를 나타낸 도면
도 7은 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 어플리케이션의 맞춤형 강의 추천을 위한 사용자 정보 수집 인터페이스를 나타낸 도면
도 8은 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 어플리케이션에서 사용자 분석 정보를 통해 추천된 강의 리스트를 제공하는 인터페이스를 나타낸 도면
Figure 1 is a diagram showing the configuration of a non-face-to-face learning curriculum creation and recommendation system based on coding learning data according to an embodiment
Figure 2 is a diagram showing the data processing configuration of the video recommendation server 100 according to an embodiment.
Figure 3 is a diagram illustrating the data modeling process of a non-face-to-face learning curriculum creation and recommendation system based on the same coding learning data according to an embodiment.
Figure 4 is a diagram showing the data processing process of a non-face-to-face learning curriculum creation and recommendation system based on the same coding learning data according to an embodiment.
Figure 5 is a diagram showing the data processing flow of the application for predicting the video recommendation category of the non-face-to-face learning curriculum creation and recommendation system based on the same coding learning data according to an embodiment.
Figure 6 is a diagram showing the learning history information interface of a non-face-to-face learning curriculum creation and recommendation application based on coding learning data according to an embodiment.
Figure 7 is a diagram showing a user information collection interface for creating a non-face-to-face learning curriculum based on coding learning data and recommending customized lectures in a recommendation application according to an embodiment.
Figure 8 is a diagram showing an interface that provides a list of recommended lectures through user analysis information in a non-face-to-face learning curriculum creation and recommendation application based on coding learning data according to an embodiment.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 도면부호는 동일 구성 요소를 지칭한다.The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms. The present embodiments are merely provided to ensure that the disclosure of the present invention is complete and to provide common knowledge in the technical field to which the present invention pertains. It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing embodiments of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description will be omitted. The terms described below are terms defined in consideration of functions in embodiments of the present invention, and may vary depending on the intention or custom of the user or operator. Therefore, the definition should be made based on the contents throughout this specification.

도 1은 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템 구성을 나타낸 도면이다. 도 1을 참조하면, 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템은 사용자 단말(200) 및 비디오 추천 서버(100)를 포함하여 구성될 수 있다. Figure 1 is a diagram showing the configuration of a non-face-to-face learning curriculum creation and recommendation system based on coding learning data according to an embodiment. Referring to FIG. 1, a non-face-to-face learning curriculum creation and recommendation system based on coding learning data according to an embodiment may be configured to include a user terminal 200 and a video recommendation server 100.

실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템은 사용자 단말(200)에 설치되는 모바일 어플리케이션과 클라우드 기반 백엔드로 구성될 수 있다. 실시예에서 비디오 추천 서버(100)는 코딩 학습을 위한 비디오 추천 어플리케이션을 분산방식으로 복수의 사용자 단말(200)로 배포하여 제공할 수 있다. 실시예에서 사용자 단말(200)은 비디오 추천 서버로 비디오 자료 검색 요청을 전송하면, 비디오 추천 서버(100)는 코딩학습을 위한 사용자별 맞춤 컨텐츠를 추천한다. 비디오 추천서버(100)는 데이터 베이스 및 파이썬 기반의 API를 포함하여 구성될 수 있다. API는 데이터베이스로 상태 정보 및 머신 러닝 모델을 포함하는 리소스 전송을 요청하면 데이터베이스는 API로 요청한 리소스를 전달한다.A non-face-to-face learning curriculum creation and recommendation system based on coding learning data according to an embodiment may be composed of a mobile application installed on the user terminal 200 and a cloud-based backend. In an embodiment, the video recommendation server 100 may distribute and provide a video recommendation application for coding learning to a plurality of user terminals 200 in a distributed manner. In an embodiment, when the user terminal 200 transmits a video material search request to the video recommendation server, the video recommendation server 100 recommends customized content for each user for coding learning. The video recommendation server 100 may be configured to include a database and a Python-based API. When the API requests the database to transmit resources including state information and machine learning models, the database delivers the requested resources to the API.

실시예에서는 사용자가 단말(200)을 통해 비디오 추천 서버(100)에 업로드 된 비디오들을 시청할 때, 사용자의 과거 시스템에서의 행동에 따라 사용자에게 비디오를 추천할 수 있다. 실시예에서 제공하는 플러터(Flutter) 모바일 어플리케이션은 사용자 단말에 설치되어 학습자가 사용해야 한다. NoSQL 데이터 베이스와 통신하는 Python Flask REST API는 AWS 클라우드에서 호스팅 될 수 있다. 또한, 실시예를 통해 사용자에게 제공되는 코딩 학습 비디오 각각과 퀴즈에는 기술, 레벨, 배열 데이터를 포함하는 레이블이 지정될 수 있다. In an embodiment, when a user watches videos uploaded to the video recommendation server 100 through the terminal 200, videos may be recommended to the user according to the user's past actions in the system. The Flutter mobile application provided in the embodiment must be installed on the user terminal and used by the learner. The Python Flask REST API that communicates with NoSQL databases can be hosted in the AWS Cloud. Additionally, each coding learning video and quiz provided to the user through the embodiment may be assigned a label including skill, level, and arrangement data.

실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템은 사용자 한 명당 하나의 머신 러닝 모델을 유지하고 사용자가 비디오를 시청하는 일정기간(예컨대 7일) 마다 새로운 통계를 사용해 사용자의 모델을 훈련하여, 사용자의 학습 레벨 및 성과를 포함하는 코딩 학습 데이터를 반영한 최적 코딩 학습 비디오를 추천할 수 있다. 또한, 추천된 비디오를 조합하여 비대면 학습 커리큘럼을 생성할 수 있다. 실시예에서 비디오는 코딩 학습을 위한 영상 컨텐츠이다. 실시예에서 제공하는 코딩 학습 코스는 파이썬 계열 코딩 학습, 웹개발 학습, 서버관리 학습, 앱 개발 학습, 컴퓨터 사이언스 학습을 위한 코스를 포함할 수 있다. 실시예에서 파이썬 계열 학습 코스는 파이썬 기초, 파이썬 자료구조, 파이썬 알고리즘, 파이썬 데이터 사이언스, 파이썬 웹서버, 파이썬 마케터 파이썬 업무자동화 학습 카테고리를 포함하여 구성될 수 있다. 웹개발 계열 학습 코스는 HTML, CSS, 반응형 페이지(HTML+CSS), 자바스크립트 기초, 자바스크립트 프론트, 자바스크립트 백엔드, 자바스크립트 비동기처리, API 가져오기, API 서버 만들기, 소켓 채팅, SQL 기초, SQL 실전, 인증 기초, 인증 실전 학습을 위한 카테고리를 포함하여 구성될 수 있다. 실시예에서 서버관리 학습 코스는 리눅스 기초, AWS 설정, HEROKU 설정, NETLIFY 설정, 서버보안 기초, 서버보안 실전(해킹방지) 학습을 위한 카테고리를 포함하여 구성될 수 있다. 실시예에서 앱 개발 코스는 플러터 기초, 플러터 실전, 플러터 프로젝트 파이어 베이스 데이터베이스 학습을 위한 비디오를 포함하여 구성될 수 있다. 또한, 컴퓨터 사이언스 코스는 컴퓨터 기초, 컴퓨터 구조, 통신 기초, 데이터 기초 학습을 위한 카테고리를 포함하여 구성될 수 있다. A non-face-to-face learning curriculum creation and recommendation system based on coding learning data according to an embodiment maintains one machine learning model per user and uses new statistics every certain period (e.g., 7 days) when the user watches a video to update the user's model. By training, the optimal coding learning video that reflects the coding learning data including the user's learning level and performance can be recommended. Additionally, a non-face-to-face learning curriculum can be created by combining recommended videos. In an embodiment, the video is image content for coding learning. Coding learning courses provided in the embodiment may include courses for Python-based coding learning, web development learning, server management learning, app development learning, and computer science learning. In an embodiment, the Python series learning course may be comprised of Python basics, Python data structures, Python algorithms, Python data science, Python web server, and Python marketer Python business automation learning categories. Web development learning courses include HTML, CSS, responsive pages (HTML+CSS), JavaScript basics, JavaScript front, JavaScript backend, JavaScript asynchronous processing, API import, creating an API server, socket chat, SQL basics, It can be structured to include categories for SQL practice, certification basics, and certification practice learning. In an embodiment, the server management learning course may be comprised of categories for learning Linux basics, AWS settings, HEROKU settings, NETLIFY settings, server security basics, and practical server security (anti-hacking) learning. In an embodiment, the app development course may include videos for learning Flutter basics, Flutter practice, and Flutter project Firebase database. Additionally, a computer science course may be organized to include categories for learning computer fundamentals, computer architecture, communication fundamentals, and data fundamentals.

또한, 실시예에서는 사용자에게 시도된 퀴즈 레이블에서 상, 중, 하를 포함하는 퀴즈 난이도 데이터 및 퀴즈 결과 데이터를 추출하여 추출된 데이터를 근거로 판단된 사용자 학습 레벨에 따른 코딩 학습 비디오를 추천한다.Additionally, in the embodiment, quiz difficulty data including high, medium, and low and quiz result data are extracted from the quiz labels attempted by the user, and a coding learning video according to the user's learning level determined based on the extracted data is recommended.

또한, 실시예에서는 사용자가 최근 시청한 복수개의 비디오 중 가장 자주 시청하는 비디오 카테고리(frequent_video_category) 및 시청 시간이 가장 긴 비디오 카테고리(highest_duration_category)를 추출하여 추출된 비디오 카테고리 정보가 사용자 각각의 학습 비디오 추천에 반영되도록 한다.In addition, in the embodiment, the most frequently watched video category (frequent_video_category) and the video category with the longest viewing time (highest_duration_category) are extracted from a plurality of videos that the user has recently watched, and the extracted video category information is used to recommend learning videos for each user. Make sure it is reflected.

또한, 실시예에서는 사용자 각각의 가장 최근 코딩 챌린지 결과, 퀴즈 결과 및 최근 시청 비디오 정보를 분석하여 사용자 학습 결과 및 성취도를 예측할 수 있도록 한다. Additionally, in the embodiment, user learning results and achievement levels can be predicted by analyzing each user's most recent coding challenge results, quiz results, and recently viewed video information.

실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템에서 적어도 하나의 사용자 단말(200)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 사용자 단말(200)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 사용자 단말(200)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 스마트 패드(smartpad), 태블릿 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.In the non-face-to-face learning curriculum creation and recommendation system based on coding learning data according to the embodiment, at least one user terminal 200 may be implemented as a computer capable of accessing a remote server or terminal through a network. Here, the computer may include, for example, a laptop equipped with a navigation system and a web browser, a desktop, a laptop, etc. At this time, at least one user terminal 200 may be implemented as a terminal capable of accessing a remote server or terminal through a network. At least one user terminal 200 is, for example, a wireless communication device that guarantees portability and mobility, and includes navigation, personal communication system (PCS), global system for mobile communications (GSM), personal digital cellular (PDC), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), Wibro (Wireless Broadband Internet) ) It may include all types of handheld-based wireless communication devices such as terminals, smartphones, smartpads, and tablet PCs.

도 2는 실시예에 따른 비디오 추천 서버(100)의 데이터 처리 구성을 나타낸 도면이다. 도 2를 참조하면, 실시예에 따른 비디오 추천 서버(100)는 시청정보 추출모듈(110), 사용자 퀴즈 정보 수집모듈(120), 사용자 코딩 챌린지 정보 수집 모듈(130), 분석모듈(140) 및 비디오 추천 모듈(150)을 포함하여 구성될 수 있다. 본 명세서에서 사용되는 '모듈' 이라는 용어는 용어가 사용된 문맥에 따라서, 소프트웨어, 하드웨어 또는 그 조합을 포함할 수 있는 것으로 해석되어야 한다. 예를 들어, 소프트웨어는 기계어, 펌웨어(firmware), 임베디드코드(embedded code), 및 애플리케이션 소프트웨어일 수 있다. 또 다른 예로, 하드웨어는 회로, 프로세서, 컴퓨터, 집적 회로, 집적 회로 코어, 센서, 멤스(MEMS; Micro-Electro-Mechanical System), 수동 디바이스, 또는 그 조합일 수 있다.Figure 2 is a diagram showing the data processing configuration of the video recommendation server 100 according to an embodiment. Referring to FIG. 2, the video recommendation server 100 according to the embodiment includes a viewing information extraction module 110, a user quiz information collection module 120, a user coding challenge information collection module 130, an analysis module 140, and It may be configured to include a video recommendation module 150. The term 'module' used in this specification should be interpreted to include software, hardware, or a combination thereof, depending on the context in which the term is used. For example, software may be machine language, firmware, embedded code, and application software. As another example, hardware may be a circuit, processor, computer, integrated circuit, integrated circuit core, sensor, Micro-Electro-Mechanical System (MEMS), passive device, or a combination thereof.

시청정보 추출모듈(110)은 사용자의 비디오 시청기록에서 아이디, 시청 비디오 아이디, 타임스팸프, 가장 최근 시청한 비디오 카테고리, 최장 시청 시간을 기록한 비디오 카테고리, 비디오 카테고리 별 시청빈도를 포함하는 시청 정보를 추출하여 사용자 별로 저장한다.The viewing information extraction module 110 extracts viewing information including ID, watched video ID, timestamp, most recently viewed video category, video category recording the longest viewing time, and viewing frequency for each video category from the user's video viewing record. Extract and save for each user.

실시예에서 시청정보 추출모듈(110)은 사용자가 비디오 시청을 마치면, 사용자에 관해 현재 타임 스템프(current time stamp), 비디오 아이디(video_id), 시청시간(watch time), 비디오 카테고리(category of the video)등을 시청정보로 추출하고 추출된 시청정보를 데이터 베이스에 저장한다. 또한, 시청정보 추출모듈(110)은 시청 정보와 별도로 사용자 별 비디오 시청에 대한 기록을 저장할 때마다 최빈 시청 비디오 카테고리 및 최장 시청 비디오 카테고리 데이터를 산출한다. In the embodiment, when the user finishes watching the video, the viewing information extraction module 110 records the current time stamp, video ID, watch time, and category of the video about the user. ), etc. are extracted as viewing information and the extracted viewing information is stored in the database. Additionally, the viewing information extraction module 110 calculates the most-viewed video category and longest-viewed video category data each time it stores a record of video viewing for each user separately from the viewing information.

실시예에서 최빈 시청 비디오 카테고리(frequent_video_category)는 가장 자주 시청하는 비디오 카테고리를 최근 시청한 일정 수(예컨대, 30개)의 비디오에 대해 산출한 것이고, 최장 시청 비디오 카테고리(highest_duration_category) 사용자가 최근 시청한 일정 수(예컨대, 30번)의 시청 기록 중 사용자가 시청하는데 시간을 가장 많이 보낸 비디오 카테고리 정보이다. In an embodiment, the most frequently viewed video category (frequent_video_category) is the most frequently viewed video category calculated for a certain number of recently viewed videos (e.g., 30), and the most frequently viewed video category (highest_duration_category) is the schedule of recently viewed videos by the user. This is information on the video category that the user spent the most time watching among the number (e.g., 30) of viewing records.

사용자 퀴즈 정보 수집모듈(120)은 사용자 단말에 의해 퀴즈 수행이 완료되면, 사용자 각각의 퀴즈 점수를 타임스탬프와 함께 저장한다. 실시예에서 사용자 퀴즈 정보 수집모듈(120)은 타임스탬프와 스코어를 퀴즈 시도마다 기록하고, 사용자 단말에서 시도한 퀴즈의 레이블에서 상,중,하를 포함하는 레벨 정보를 추출하고, 사용자의 퀴즈 점수에 따라 상기 사용자에게 추천하는 퀴즈 레벨을 조정할 수 있다.When a quiz is completed by the user terminal, the user quiz information collection module 120 stores each user's quiz score along with a timestamp. In an embodiment, the user quiz information collection module 120 records a timestamp and score for each quiz attempt, extracts level information including high, middle, and low from the label of the quiz attempted on the user terminal, and adds the information to the user's quiz score. Accordingly, the quiz level recommended for the user can be adjusted.

실시예에서 사용자 퀴즈 정보 수집모듈(120)은 사용자의 퀴즈 점수(score)를 소수점(float) 값으로 저장할 수 있다. 예컨대, 전체 20개의 퀴즈 중 10개의 퀴즈에서 정답을 맞힌 사용자의 점수는 10/20 결과로서 0.5에 해당하는 점수로 저장될 수 있다. 실시예에서는 퀴즈 점수를 저장하기 위한 데이터 필드(quiz_outcome)를 생성하고 생성된 필드에 사용자의 점수를 계산하여 저장된다. 실시예에서 퀴즈 점수를 저장하는 데이터 필드(quiz_outcome)는 기술과 레벨로 구성된 문자열 변수이다. In an embodiment, the user quiz information collection module 120 may store the user's quiz score as a float value. For example, the score of a user who answers 10 quizzes correctly out of a total of 20 quizzes may be stored as a score corresponding to 0.5 as a 10/20 result. In the embodiment, a data field (quiz_outcome) for storing quiz scores is created, and the user's score is calculated and stored in the created field. In the embodiment, the data field (quiz_outcome) that stores the quiz score is a string variable consisting of skill and level.

또한, 사용자 퀴즈 정보 수집 모듈(120)은 시도된 퀴즈의 레이블에서 레벨(easy, medium, hard)을 가져온다. 이후, 사용자의 점수가 반영된 퀴즈 점수가 임계값(예컨대, 0.7)을 초과하는 경우, 이전에 추천한 비디오보다 높은 레벨의 비디오를 추천한다. 만약 이미 제일 높은 레벨의 비디오를 시청 후 퀴즈를 수행한 경우에는 레벨을 변경하지 않는다. 사용자의 퀴즈 점수(score)가 임계값(예컨대, 0.4)을 초과하는 경우 이전 추천된 비디오와 동일한 레벨의 비디오를 추천한다. 또한, 사용자의 퀴즈 점수가 임계값(예컨대, 0.4) 이하인 경우 이전 추천된 비디오 보다 한단계 낮은 레벨의 비디오를 추천한다. 이미 가장 낮은 레벨의 비디오를 추천한 경우, 실시예에서는 추천 레벨을 변경하지 않는다. Additionally, the user quiz information collection module 120 retrieves the level (easy, medium, hard) from the label of the attempted quiz. Afterwards, if the quiz score reflecting the user's score exceeds a threshold (eg, 0.7), a video at a higher level than the previously recommended video is recommended. If you have already watched the highest level video and then taken the quiz, do not change the level. If the user's quiz score exceeds a threshold (eg, 0.4), a video of the same level as the previously recommended video is recommended. Additionally, if the user's quiz score is below a threshold (eg, 0.4), a video at a level one level lower than the previously recommended video is recommended. If the video at the lowest level has already been recommended, the recommendation level is not changed in the embodiment.

실시예에서 사용자 코딩 챌린지 정보 수집 모듈(130)은 타임스탬프와 스코어를 코딩 챌린지 시도마다 기록하고, 사용자 단말에서 시도한 코딩 챌린지의 레이블에서 상, 중, 하를 포함하는 레벨 정보를 추출하고, 사용자의 코딩 챌린지 점수에 따라 사용자에게 추천하는 코딩 학습용 비디오 레벨을 조정할 수 있다. In an embodiment, the user coding challenge information collection module 130 records a timestamp and score for each coding challenge attempt, extracts level information including high, middle, and low from the label of the coding challenge attempted at the user terminal, and Depending on the coding challenge score, you can adjust the level of coding learning videos recommended to users.

실시예에서 사용자 코딩 챌린지 정보 수집 모듈(130)은 사용자 단말에 의해 코딩 챌린지 수행이 완료되면, 사용자 각각의 코딩 챌린지 점수를 타임스탬프와 함께 저장한다. 실시예에서 사용자 코딩 챌린지 정보 수집 모듈(130)은 타임 스탬프(time_Stamp), 점수(score)를 사용자의 각 코딩 챌린지 시도마다 기록한다. 실시예에서 사용자 점수는 소수점(float) 값으로 저장될 수 있다. 예컨대, 사용자가 코딩 챌린지에서 20점 만점에 10점을 기록한 경우, 10/20 결과에 해당하는 0.5로 사용자 점수를 저장할 수 있다. In an embodiment, the user coding challenge information collection module 130 stores each user's coding challenge score along with a timestamp when the coding challenge is completed by the user terminal. In the embodiment, the user coding challenge information collection module 130 records a time stamp (time_Stamp) and a score (score) for each coding challenge attempt by the user. In an embodiment, the user score may be stored as a float value. For example, if a user scores 10 out of 20 in a coding challenge, the user score can be stored as 0.5, which corresponds to a 10/20 result.

이후 실시예에서는 코딩 챌린지 결과를 저장하는 데이터 필드(challenge _outcome)를 생성하고 생성된 필드에 사용자의 점수를 계산하여 저장한다. 실시예에서 코딩 챌린지 결과를 저장하는 데이터 필드(quiz_outcome)는 기술과 레벨로 구성된 문자열 변수가 될 수 있다. In a later embodiment, a data field (challenge_outcome) that stores the coding challenge result is created, and the user's score is calculated and stored in the created field. In an embodiment, the data field (quiz_outcome) that stores the coding challenge result may be a string variable consisting of skill and level.

실시예에서 사용자 코딩 챌린지 정보 수집 모듈(130)은 시도된 코딩 챌린지의 레이블에서 레벨(easy, medium, hard)을 가져온다. 이후, 사용자의 점수가 반영된 코딩 챌린지 점수(score)가 임계값(예컨대, 0.7)을 초과하는 경우, 이전에 추천한 비디오보다 한단계 높은 레벨의 비디오를 추천한다. 만약 이미 제일 높은 레벨의 비디오를 시청 후 비디오를 추천한 경우에는 추천 레벨을 변경하지 않는다. 사용자의 점수가 반영된 코딩 챌린지 결과가 임계값(예컨대, 0.4)을 초과하는 경우 이전 추천된 비디오와 동일한 레벨의 비디오를 추천한다. 또한, 사용자의 점수가 반영된 코딩 챌린지 결과가 임계값(예컨대, 0.4) 이하인 경우 이전 추천된 비디오 보다 한단계 낮은 레벨의 비디오를 추천한다. 이미 가장 낮은 레벨의 비디오를 추천한 경우, 추천 레벨을 변경하지 않는다. In an embodiment, the user coding challenge information collection module 130 retrieves the level (easy, medium, hard) from the label of the attempted coding challenge. Afterwards, if the coding challenge score reflecting the user's score exceeds a threshold (eg, 0.7), a video at a level one level higher than the previously recommended video is recommended. If a video is recommended after already watching the highest level video, the recommendation level does not change. If the coding challenge result reflecting the user's score exceeds a threshold (eg, 0.4), a video of the same level as the previously recommended video is recommended. Additionally, if the coding challenge result reflecting the user's score is below the threshold (eg, 0.4), a video at a level one level lower than the previously recommended video is recommended. If you have already recommended the video at the lowest level, do not change the recommendation level.

분석모듈(140)은 가장 최근 시청한 비디오 데이터를 퀴즈 점수, 코딩점수 중 적어도 하나에 병합하여(merging) 사용자 별 학습 성과 데이터를 생성하고, 생성된 학습 성과 데이터를 기반으로 사용자에게 추천될 비디오가 포함된 카테고리를 예측한다. 실시예에서 분석모듈(140)은 사용자 별 시청 빈도가 가장 많은 비디오, 시청시간이 가장 많은 비디오 카테고리 정보를 추출하고 추출된 카테고리 정보와 가장 최근 퀴즈 결과를 병합한 학습 성과 데이터를 생성한다. 이후, 생성된 데이터를 기반으로 추천될 비디오가 포함될 카테고리를 예측할 수 있다. The analysis module 140 generates learning performance data for each user by merging the most recently watched video data with at least one of the quiz score and coding score, and selects a video to be recommended to the user based on the generated learning performance data. Predict the categories included. In the embodiment, the analysis module 140 extracts video category information with the most viewing frequency and viewing time for each user and generates learning performance data by merging the extracted category information with the most recent quiz results. Afterwards, the category in which the recommended video will be included can be predicted based on the generated data.

실시예에 따른 사용자 별 학습 성과 데이터는 특정 사례 예측을 수행할 때 고려하는 데이터 행(data raw)으로서, 학습 성과 데이터의 각 행은 최근의 코딩 챌린지 점수(challenge_outcome), 퀴즈(quiz_outcome), 최근 비디오 데이터(latest_watched_category, highest_duration_category)의 결합(union)을 통해 생성될 수 있다. 생성된 학습 성과 데이터는 사용자 별 데이터 행 컬렉션에 저장될 수 있다. 실시예에서 분석모듈(140)은 사용자의 학습 성과데이터의 행(row)이 일정 수(예컨대, 100개) 미만인 경우, 이전 데이터 행의 모드 카테고리는 다음 카테고리로 선택할 수 있다.Learning performance data for each user according to the embodiment is a row of data (data raw) considered when performing prediction of a specific case, and each row of learning performance data includes the latest coding challenge score (challenge_outcome), quiz (quiz_outcome), and recent video. It can be created through the union of data (latest_watched_category, highest_duration_category). The generated learning outcome data can be stored in a user-specific data row collection. In an embodiment, when the number of rows of the user's learning performance data is less than a certain number (eg, 100), the analysis module 140 may select the mode category of the previous data row as the next category.

분석모듈(140)은 사용자의 학습 성과 데이터에 포함된 행이 일정 수 (예컨대, 100개) 이상인 경우, 데이터 셋을 위한 분류 모델을 훈련시킨다. 실시예에서 분류 모듈은 결정 트리(Decision Tree) 또는 SVM을 포함할 수 있다. 이후 분석모듈(140)은 분류 모델을 기반으로 추천 비디오 카테고리를 예측한다. 실시예에서는 50번째 혹은 100번째 데이터 행마다 모델을 다시 훈련시킬 수 있다. 또한, 실시예에서 분석 모듈(140)은 예측된 비디오 카테고리를 반영한 학습 코스를 생성할 수 있다. 실시예에서 학습 코스는 학습 커리큘럼으로서, 사용자의 학습 목표, 학습 성과를 반영하여 사용자 각각에게 추천하는 학습 비디오 리스트이다. 실시예에서 비디오 카테고리는 파이썬 계열 코딩 학습, 웹개발 학습, 서버관리 학습, 앱 개발 학습, 컴퓨터 사이언스 학습 등을 포함할 수 있고, 실시예에서는 각 학습 카테고리에 포함된 비디오를 추출하고 추출된 비디오를 조합하여 사용자 별 학습 코스를 생성할 수 있다. The analysis module 140 trains a classification model for the data set when the number of rows included in the user's learning performance data is more than a certain number (eg, 100). In embodiments, the classification module may include a decision tree or SVM. Afterwards, the analysis module 140 predicts a recommended video category based on the classification model. In an embodiment, the model may be retrained every 50th or 100th row of data. Additionally, in an embodiment, the analysis module 140 may generate a learning course that reflects the predicted video category. In the embodiment, the learning course is a learning curriculum and is a list of learning videos recommended to each user by reflecting the user's learning goals and learning outcomes. In the embodiment, the video category may include Python-based coding learning, web development learning, server management learning, app development learning, computer science learning, etc. In the embodiment, the videos included in each learning category are extracted and the extracted videos are By combining them, you can create a learning course for each user.

또한, 실시예에서 분석모듈(140)은 실시 노이즈 대응 외 학습하지 못한 패턴 처리를 위해 학습 외 분포 데이터 탐지(out of distribution detection)과정을 수행할 수 있다. 인공지능에 입력된 학습 외 분포 데이터 탐지는 데이터가 학습된 확률분포 데이터 인지 아닌지 식별하는 것이다. 실시예에서는 학습 외 분포 데이터 탐지를 통해 인공 신경망이 판단하기 어려운 데이터를 걸러내거나 예외 처리하여 안정성과 신뢰성을 높일 수 있도록 한다. 실시예에서는 학습 외 분포 데이터 탐지를 위해서 딥러닝 판정에 대해 얼마나 확신(confidence)하는지를 나타내는 확률 값을 보정(calibration)하거나 학습 외 분포 데이터를 생성적 대립 신경망(GAN, Generative Adversarial Network)으로 생성하고 학습하여 탐지 정확도를 향상시킬 수 있도록 한다. Additionally, in the embodiment, the analysis module 140 may perform an out of distribution detection process outside of learning to process unlearned patterns in addition to responding to real-time noise. Detection of non-learning distribution data input to artificial intelligence is to identify whether the data is learned probability distribution data. In the embodiment, stability and reliability can be improved by detecting distributed data other than learning, filtering out or handling exceptions to data that is difficult for the artificial neural network to judge. In the embodiment, in order to detect non-learning distribution data, a probability value indicating how confident one is in the deep learning decision is calibrated or non-learning distribution data is generated and learned using a generative adversarial network (GAN). This helps improve detection accuracy.

또한, 실시예에서는 예측 정확도를 유지하면서 학습모델의 크기를 줄이기 위해, 연산을 간소화하는 경량 딥러닝 기술을 이용하여 비디오 카테고리를 예측할 수 있도록 한다. 실시예에서는 카테고리 및 비디오 추천을 위해 콘볼루션 신경망(CNN, Convolution Neural Network)에서 콘볼루션 필터를 변형하여 연산 차원을 축소(Reduction)하거나 큰 영향이 없는 신경망의 가중치(weight)를 삭제하는 가지치기, 가중치 값의 부동 소수점을 줄여 연산을 간소화하는 양자화 과정을 수행하여 데이터 경량화를 가능하도록 한다. 또한, 실시예에서는 미리 학습시킨 큰 신경망의 출력을 작은 신경망에서 모방 학습하도록 하여 연산을 간소화하며 정확도를 유지할 수 있도록 한다.Additionally, in the embodiment, in order to reduce the size of the learning model while maintaining prediction accuracy, video categories can be predicted using lightweight deep learning technology that simplifies computation. In the embodiment, for category and video recommendation, a convolutional filter is modified in a convolutional neural network (CNN) to reduce the computational dimension, or pruning to delete weights of the neural network that do not have a significant impact; A quantization process is performed to simplify calculations by reducing the floating point number of the weight value, enabling data lightweighting. Additionally, in the embodiment, the output of a pre-trained large neural network is imitated and learned by a small neural network to simplify computation and maintain accuracy.

비디오 추천 모듈(150)은 사용자에게 카테고리 추천 후, 추천된 카테고리의 비디오 중 사용자의 시청 목록에서 제외된 비디오 목록을 탐지하고, 탐지된 목록의 비디오 시청 URL 및 ID를 사용자 단말로 전송한다. After recommending a category to the user, the video recommendation module 150 detects a list of videos excluded from the user's watch list among the videos in the recommended category, and transmits the video viewing URL and ID of the detected list to the user terminal.

도 3은 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템의 데이터 모델링 과정을 설명하기 위한 도면이다.Figure 3 is a diagram for explaining the data modeling process of a non-face-to-face learning curriculum creation and recommendation system based on coding learning data according to an embodiment.

도 3을 참조하면, 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템사용자의 시청 기록 데이터 및 사용자 데이터를 저장할 “”라는 컬렉션을 생성할 수 있다. 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템은 사용자 컬렉션(a)안의 컨텐츠로 사용자 세부 정보에 해당하는 사용자 아이디, 시청 리스트, 비디오, 퀴즈, 코드 챌린지, 데이터 행, 모델, 행 카운트 데이터를 수집할 수 있다. 비디오 컬렉션(b)안의 컨텐츠로는 타임 스템프, 비디오 아이디, 지속시간, 가장 최근 시청한 비디오의 카테고리, 최장 시청 비디오 카테고리 및 자주 시청한 비디오 카테고리 등이 포함될 수 있다. 퀴즈 컬렉션(c)안의 컨텐츠로는 퀴즈 아이디, 카테고리, 스토어, 퀴즈 결과 등이 포함될 수 있다. 또한, 코드 챌린지 컬렉션(d) 안의 컨텐츠로 챌린지 아이디, 카테고리, 점수, 챌린지 결과 등이 포함될 수 있고, 데이터 행 컬렉션(e) 안의 컨텐츠로, 타임스탬프, 퀴즈 결과, 가장 최근 시청한 비디오 카테고리, 최장 시간 시청한 비디오 카테고리, 자주 시청하는 비디오 카테고리 및 추천 비디오 카테고리 가 포함될 수 있다. Referring to FIG. 3, a non-face-to-face learning curriculum creation and recommendation system based on coding learning data according to an embodiment can create a collection called “” to store the user's viewing history data and user data. A non-face-to-face learning curriculum creation and recommendation system based on coding learning data according to an embodiment includes user ID, watch list, video, quiz, code challenge, data row, model, and data corresponding to user details as content in the user collection (a). Row count data can be collected. Content in the video collection (b) may include timestamp, video ID, duration, most recently viewed video category, most viewed video category, and frequently viewed video category. Content in the quiz collection (c) may include quiz ID, category, store, quiz results, etc. Additionally, content in the code challenge collection (d) may include challenge ID, category, score, challenge result, etc., and content in the data row collection (e) may include timestamp, quiz result, most recently watched video category, and longest. It may include time-viewed video categories, frequently watched video categories, and recommended video categories.

또한, 실시예에서는 시스템의 다른 구성 요소에 있는 요구 사항에 따라 더 많은 컬렉션과 하위 컬렉션을 생성할 수 있다. 도 3에 도시된 사용자 문서(User document)에 있는 모델(model)은 사용자를 위한 기계 학습 분류 모델이고, 행_카운트(row_count)는 새로운 행이 데이터_행(data_rows) 컬렉션에 삽입될 때마다 증가한다. 실시예에서는 row-count mod 50=0 또는 row_id mod 100=0일 때, 사용자 별 학습 모델을 다시 훈련시킬 수 있다. 실시예에서 데이터 행(data_rows) 컬렉션에 있는 타임 존(time zone)을 제외한 모든 데이터는 “hard”와 같은 카테고리를 포함하고 있다. 따라서 실시예에서는 데이터 행(data_rows) 컬렉션에 있는 타임 존(time zone)을 제외한 모든 데이터를 머신 러닝 모델들을 훈련시키고 예측을 하는데 적합한 범주형 타입으로 변환하여 저장해야 한다.Additionally, embodiments may create more collections and sub-collections depending on requirements in other components of the system. The model in the user document shown in Figure 3 is a machine learning classification model for the user, and row_count increases each time a new row is inserted into the data_rows collection. do. In the embodiment, when row-count mod 50=0 or row_id mod 100=0, the learning model for each user can be retrained. In the embodiment, all data except the time zone in the data rows (data_rows) collection contains a category such as “hard”. Therefore, in the embodiment, all data except the time zone in the data_rows collection must be converted to a categorical type suitable for training machine learning models and making predictions and stored.

이하에서는 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 방법에 대해서 차례로 설명한다. 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 방법의 작용(기능)은 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템의 기능과 본질적으로 같은 것이므로 도 1 내지 도 3과 중복되는 설명은 생략하도록 한다.Below, we sequentially explain how to create and recommend a non-face-to-face learning curriculum based on coding learning data. The operation (function) of the non-face-to-face learning curriculum creation and recommendation method based on coding learning data according to the embodiment is essentially the same as the function of the non-face-to-face learning curriculum creation and recommendation system based on coding learning data, so it overlaps with Figures 1 to 3. Any necessary explanations should be omitted.

도 4는 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템의 데이터 처리과정을 나타낸 도면이다.Figure 4 is a diagram showing the data processing process of a non-face-to-face learning curriculum creation and recommendation system based on coding learning data according to an embodiment.

도 4를 참조하면, S100 단계에서는 시청정보 추출모듈에서 사용자의 비디오 시청기록에서 아이디, 시청 비디오 아이디, 타임스팸프, 가장 최근 시청한 비디오 카테고리, 최장 시청 시간을 기록한 비디오 카테고리, 비디오 카테고리 별 시청빈도를 포함하는 시청 정보를 추출하여 사용자 별로 저장한다. S200 단계에서는 사용자 퀴즈 정보 수집 모듈에서 사용자 단말에 의해 퀴즈 수행이 완료되면, 타임스탬프가 있는 사용자 각각의 퀴즈 점수를 저장한다. 실시예에서 S200 단계에서는 타임스탬프와 스코어를 퀴즈 시도마다 기록하고, 사용자 단말에서 시도한 퀴즈의 레이블에서 상중하를 포함하는 레벨 정보를 추출하고, 사용자의 퀴즈 점수에 따라 상기 사용자에게 추천하는 퀴즈 레벨을 조정할 수 있다. Referring to FIG. 4, in step S100, the viewing information extraction module extracts the ID, watched video ID, timestamp, most recently viewed video category, video category recording the longest viewing time, and viewing frequency by video category from the user's video viewing record. Viewing information including is extracted and stored for each user. In step S200, when the quiz performance is completed by the user terminal in the user quiz information collection module, each user's quiz score with a timestamp is stored. In the embodiment, in step S200, a timestamp and score are recorded for each quiz attempt, level information including high, medium, and low is extracted from the label of the quiz attempted on the user terminal, and the quiz level recommended to the user is adjusted according to the user's quiz score. You can.

S300 단계에서는 사용자 코딩 챌린지 정보 수집 모듈에서 사용자 단말에 의해 코딩 챌린지 수행이 완료되면, 타임스탬프가 있는 사용자 각각의 코딩 챌린지 점수를 저장한다. 또한, S300 단계에서는 타임스탬프와 스코어를 코딩 챌린지 시도마다 기록하고, 사용자 단말에서 시도한 코딩 챌린지의 레이블에서 상중하를 포함하는 레벨 정보를 추출하고, 사용자의 코딩 챌린지 점수에 따라 상기 사용자에게 추천하는 코딩 챌린지 레벨을 조정할 수 있다. In step S300, when the coding challenge is completed by the user terminal in the user coding challenge information collection module, each user's coding challenge score with a timestamp is stored. In addition, in step S300, a timestamp and score are recorded for each coding challenge attempt, level information including high, middle, and low is extracted from the label of the coding challenge attempted on the user terminal, and a coding challenge is recommended to the user according to the user's coding challenge score. You can adjust the level.

S400 단계에서는 분석 모듈에서 가장 최근 시청한 비디오 데이터를 상기 퀴즈 점수, 코딩점수 중 적어도 하나에 병합하여 사용자 별 학습 성과 데이터를 생성한다. S500 단계에서는 생성된 학습 성과 데이터를 기반으로 사용자에게 추천될 비디오가 포함된 카테고리를 예측한다. 예컨대, S400 단계에서는 사용자 별 시청 빈도가 가장 많은 비디오(자주 시청하는 비디오), 시청시간이 가장 많은 비디오 카테고리 정보를 추출하고 추출된 카테고리 정보와 가장 최근 퀴즈 결과를 병합한 학습 성과 데이터를 생성하고, 생성된 데이터를 기반으로 추천될 비디오가 포함될 카테고리를 예측할 수 있다. 또한, 실시예에서는 예측된 비디오 카테고리를 반영한 학습 코스를 생성할 수 있다. 실시예에서 학습 코스는 학습 커리큘럼으로서, 사용자의 학습 목표, 학습 성과를 반영하여 사용자 각각에게 추천하는 학습 비디오 리스트이다. 실시예에서 비디오 카테고리는 파이썬 계열 코딩 학습, 웹개발 학습, 서버관리 학습, 앱 개발 학습, 컴퓨터 사이언스 학습 등을 포함할 수 있고, 실시예에서는 각 학습 카테고리에 포함된 비디오를 추출하고 추출된 비디오를 조합하여 사용자 별 학습 코스를 생성할 수 있다.In step S400, the analysis module merges the most recently watched video data with at least one of the quiz score and coding score to generate learning performance data for each user. In step S500, the category containing the video to be recommended to the user is predicted based on the generated learning performance data. For example, in step S400, the most frequently viewed video (frequently watched video) and video category information with the most viewing time for each user are extracted, and learning performance data is generated by merging the extracted category information with the most recent quiz results, Based on the generated data, it is possible to predict the category in which the recommended video will be included. Additionally, in an embodiment, a learning course reflecting the predicted video category may be created. In the embodiment, the learning course is a learning curriculum and is a list of learning videos recommended to each user by reflecting the user's learning goals and learning outcomes. In the embodiment, the video category may include Python-based coding learning, web development learning, server management learning, app development learning, computer science learning, etc. In the embodiment, the videos included in each learning category are extracted and the extracted videos are By combining them, you can create a learning course for each user.

S600 단계에서는 비디오 추천 모듈에서 사용자에게 카테고리 추천 후, 추천된 카테고리의 비디오 중 사용자의 시청 목록에서 제외된 비디오 목록을 탐지하고, 상기 탐지된 목록의 비디오 시청 URL 및 ID를 사용자 단말로 전송한다.In step S600, the video recommendation module recommends a category to the user, detects a list of videos excluded from the user's watch list among the videos in the recommended category, and transmits the video viewing URL and ID of the detected list to the user terminal.

도 5는 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템의 비디오 추천 카테고리 예측을 위한 어플리케이션의 데이터 처리 흐름을 나타낸 도면이다.Figure 5 is a diagram showing the data processing flow of an application for predicting a video recommendation category of a non-face-to-face learning curriculum creation and recommendation system based on coding learning data according to an embodiment.

도 5를 참조하면, S10 단계에서는 사용자 단말에서 비디오 시청을 위한 사용자 인터페이스에 접속한다. S15 단계에서는 서버로 사용자 아이디와 http 요청(request)를 전송하고, S20 단계에서는 가장 최근 접근한 비디오 카테고리로부터 비디오를 전송한다. S25 단계에서는 사용자에게 비디오를 추천하고, S30 단계에서는 사용자 단말에서 비디오를 스트리밍한다. S35 단계에서는 비디오 스트리밍이 완료된다. S40 단계에서는 타임스탬프, 비디오 아이디, 시청시간, 비디오 카테고리, 가장 최근 시청 카테고리, 최장 시청 비디오 카테고리, 최빈 시청 비디오 카테고리 등을 사용자의 새로운 정보로 저장한다. S45 단계에서는 최신 퀴즈 결과를 저장된 사용자의 새로운 정보와 병합하여 사용자별 학습 데이터를 생성하고, 추천될 비디오의 다음 카테고리를 예측한다. 이후, 사용자 별 학습 성과 데이터를 저장한다. Referring to FIG. 5, in step S10, the user terminal accesses a user interface for watching video. In step S15, the user ID and http request are transmitted to the server, and in step S20, the video from the most recently accessed video category is transmitted. In step S25, a video is recommended to the user, and in step S30, the video is streamed from the user terminal. In step S35, video streaming is completed. In step S40, the timestamp, video ID, viewing time, video category, most recently viewed category, longest viewed video category, and most frequently viewed video category are stored as new user information. In step S45, learning data for each user is generated by merging the latest quiz results with new stored user information, and the next category of the video to be recommended is predicted. Afterwards, learning performance data for each user is stored.

S50 단계에서는 사용자별 학습 성과 데이터를 기반으로 예측된 카테고리를 추천 카테고리로 설정하고, 비디오 컬렉션에서 예측된 카테고리를 가장 최근 시청 비디오가 포함된 카테고리로 설정한다. In step S50, the predicted category based on user-specific learning performance data is set as a recommended category, and the predicted category in the video collection is set as the category containing the most recently watched video.

실시예에서는 S13 단계에서 사용자가 퀴즈를 수행한 경우, S16 단계에서 타임스탬프가 있는 사용자 각각의 퀴즈 점수를 API를 통해 전송 후 저장한다. S19 단계에서는 사용자 퀴즈 정보에 대한 문서 생성 후 사용자 별 퀴즈 정보를 저장한다. S14 단계에서 사용자가 코딩 챌린지를 수행한 경우, S17 단계에서는 타임 스탬프가 있는 사용자 각각의 코딩 챌린지 점수를 API를 통해 전송 후 저장한다. S21 단계에서는 사용자 코드 챌린지에 대한 문서 생성 후 사용자 별 코드 챌린지 정보를 저장한다. S22 단계에서는 가장 최근 시청한 비디오 데이터를 퀴즈 점수, 코딩 챌린지 점수 중 적어도 하나에 병합하여 사용자 별 학습 성과 데이터를 생성하고, 사용자에게 추천될 비디오가 포함된 카테고리를 예측한다. S23 단계에서는 사용자 별 학습 성과 데이터를 저장한다. In the embodiment, when a user performs a quiz in step S13, each user's quiz score with a timestamp is transmitted through the API and stored in step S16. In step S19, a document for user quiz information is created and then quiz information for each user is stored. If the user performs a coding challenge in step S14, the coding challenge score for each user with a time stamp is transmitted through the API and stored in step S17. In step S21, a document for a user code challenge is created and code challenge information for each user is stored. In step S22, learning performance data for each user is generated by merging the most recently watched video data with at least one of the quiz score and coding challenge score, and the category containing the video to be recommended to the user is predicted. In step S23, learning performance data for each user is stored.

실시예에 따른 비디오 추천 어플리케이션은 사용자가 어플리케이션에 접속하면, 나의 강의 항목에서 해당 비디오 강의에 관련된 퀴즈를 제공할 수 있다. 실시예에서는 사용자가 퀴즈를 시도하는 경우 시도된 퀴즈 정보를 통해 사용자에게 다음에 시청할 비디오 및 비디오 카테고리를 추천할 수 있다. The video recommendation application according to the embodiment may provide a quiz related to the video lecture in the My Lecture category when the user accesses the application. In an embodiment, when a user attempts a quiz, a video and video category to watch next may be recommended to the user through information on the attempted quiz.

또한, 사용자에게 코드 연습 인터페이스를 제공하고, 사용자는 해당 인터페이스를 통해 직접 코딩을 수행하고 평가받을 수 있다. 실시예에 따른 비디오 추천 시스템은 사용자가 작성한 코드를 평가하고 평가 결과에 따라 시청할 학습 비디오 또는 비디오가 포함된 카테고리를 추천할 수 있다. 또한, 실시예에 따른 비디오 추천 어플리케이션은 학습관리 인터페이스에서 비디오 시청 및 학습 기록 아이콘, 목표 달성 여부, 강의 진행률, 학습 이력, 목표 정보 등을 제공함으로써, 사용자의 학습 성취도를 관리하고 학습 목표 및 학습 진행상황 정보를 사용자에게 제공함으로써 사용자의 학습 동기 부여를 고취할 수 있다. In addition, a code practice interface is provided to users, and users can directly perform coding and be evaluated through the interface. The video recommendation system according to the embodiment may evaluate the code written by the user and recommend a learning video to watch or a category containing the video according to the evaluation result. In addition, the video recommendation application according to the embodiment manages the user's learning achievement and manages the learning goal and learning progress by providing video viewing and learning record icons, goal achievement status, lecture progress, learning history, and goal information in the learning management interface. By providing situational information to users, users' motivation to learn can be encouraged.

도 6은 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 어플리케이션의 학습 이력 정보 인터페이스를 나타낸 도면이다. 도 9를 참조하면, 실시예에 따른 비디오 추천 어플리케이션은 학습 이력 정보 인터페이스를 통해 퀴즈 점수, 퀴즈 응시 여부, 비디오 시청 완료 여부, 코드 연습 수행 여부 등을 표시하여 사용자의 학습 이력을 확인할 수 있도록 한다. Figure 6 is a diagram showing a learning history information interface of a non-face-to-face learning curriculum creation and recommendation application based on coding learning data according to an embodiment. Referring to FIG. 9, the video recommendation application according to the embodiment displays the quiz score, whether or not the user took the quiz, whether or not the video was viewed, whether or not the code exercise was performed, etc. through the learning history information interface, allowing the user to check the learning history.

도 7은 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 어플리케이션의 맞춤형 강의 추천을 위한 사용자 정보 수집 인터페이스를 나타낸 도면이고 도 8은 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 어플리케이션에서 사용자 분석 정보를 통해 추천된 강의 리스트를 제공하는 인터페이스를 나타낸 도면이다. Figure 7 is a diagram showing a user information collection interface for creating a non-face-to-face learning curriculum based on coding learning data and recommending customized lectures of a recommendation application according to an embodiment, and Figure 8 is a non-face-to-face learning curriculum based on coding learning data according to an embodiment. This is a diagram showing an interface that provides a list of recommended lectures through user analysis information in the creation and recommendation application.

도 7을 참조하면, 실시예에 따른 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 어플리케이션은 사용자에게 적합한 강의를 추천하기 위해, 사용자로부터 관심분야, 세부분야, 사용자의 코딩 레벨, 선호하는 학습 방식을 포함하는 사용자 분석 정보를 수집하고 수집된 사용자 분석 정보를 기반으로 맞춤형 강의를 추천할 수 있다.Referring to FIG. 7, a non-face-to-face learning curriculum creation and recommendation application based on coding learning data according to an embodiment receives information from the user on the field of interest, detailed field, coding level of the user, and preferred learning method in order to recommend a course suitable for the user. You can collect user analysis information including and recommend customized lectures based on the collected user analysis information.

이상에서와 같은 코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템은 사용자의 비디오 시청에 관한 빅데이터를 인공지능에 의해 분석하여, 사용자에게 가장 적합한 맞춤형 학습 비디오를 제공할 수 있다. 또한, 코딩 교육 컨텐츠를 장소와 시간에 관계없이 제공할 수 있고, 퀴즈와 코딩 챌린지 분석을 통해 사용자 별 학습 성취도를 정확히 예측하고 이를 기반으로 코딩 학습을 위한 비디오를 추천하여 사용자의 코딩 실력 향상을 극대화할 수 있다. The non-face-to-face learning curriculum creation and recommendation system based on coding learning data as described above analyzes big data about users' video viewing using artificial intelligence and can provide customized learning videos that are most suitable for users. In addition, coding education content can be provided regardless of location and time, and through analysis of quizzes and coding challenges, the learning achievement of each user is accurately predicted and videos for coding learning are recommended based on this to maximize the improvement of the user's coding skills. can do.

개시된 내용은 예시에 불과하며, 특허청구범위에서 청구하는 청구의 요지를 벗어나지 않고 당해 기술분야에서 통상의 지식을 가진 자에 의하여 다양하게 변경 실시될 수 있으므로, 개시된 내용의 보호범위는 상술한 특정의 실시예에 한정되지 않는다.The disclosed content is merely an example, and various modifications and implementations may be made by those skilled in the art without departing from the gist of the claims, so the scope of protection of the disclosed content is limited to the above-mentioned specific scope. It is not limited to the examples.

Claims (10)

코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 시스템에 있어서,
사용자의 비디오 시청기록에서 아이디, 시청 비디오 아이디, 타임스팸프, 가장 최근 시청한 비디오 카테고리, 최장 시청 시간을 기록한 비디오 카테고리, 비디오 카테고리 각각의 시청빈도를 포함하는 시청 정보를 추출하여 사용자 별로 저장하는 시청정보 추출모듈;
사용자 단말에 의해 퀴즈 수행이 완료되면, 사용자 각각의 퀴즈 점수를 타임스탬프와 함께 저장하는 사용자 퀴즈 정보 수집모듈;
사용자 단말에 의해 코딩 챌린지 수행이 완료되면, 사용자 각각의 코딩 챌린지 점수를 타임스탬프와 함께 저장하는 사용자 코딩 챌린지 정보 수집 모듈; 및
가장 최근 시청한 비디오 데이터를 상기 퀴즈 점수, 코딩점수 중 적어도 하나에 병합(merging)하여 사용자 별 학습 성과 데이터를 생성하고, 상기 생성된 학습 성과 데이터를 기반으로 사용자에게 추천될 비디오가 포함된 카테고리를 예측하는 분석모듈; 을 포함하는 비대면 학습 커리큘럼 생성 및 추천 시스템.
In a non-face-to-face learning curriculum creation and recommendation system based on coding learning data,
Viewing information, including ID, watched video ID, timestamp, most recently viewed video category, video category recording the longest viewing time, and viewing frequency of each video category, is extracted from the user's video viewing history and stored for each user. Information extraction module;
When the quiz is completed by the user terminal, a user quiz information collection module that stores each user's quiz score with a timestamp;
When the coding challenge is completed by the user terminal, a user coding challenge information collection module that stores each user's coding challenge score with a timestamp; and
Learning performance data for each user is generated by merging the most recently watched video data with at least one of the quiz score and coding score, and a category containing videos to be recommended to the user is created based on the generated learning performance data. predictive analysis module; Non-face-to-face learning curriculum creation and recommendation system including.
제1항에 있어서, 상기 분석모듈; 은
사용자 별 시청 빈도가 가장 많은 비디오, 시청시간이 가장 많은 비디오 카테고리 정보를 추출하고 추출된 카테고리 정보와 가장 최근 퀴즈 결과를 병합한 학습 성과 데이터를 생성하고, 생성된 학습 성과 데이터를 기반으로 추천될 비디오가 포함될 카테고리를 예측하는 것을 특징으로 하는 비대면 학습 커리큘럼 생성 및 추천 시스템.
The method of claim 1, further comprising: the analysis module; silver
Extract the most frequently viewed video and video category information with the most viewing time by user, generate learning performance data by merging the extracted category information and the most recent quiz results, and recommend videos based on the generated learning performance data. A non-face-to-face learning curriculum creation and recommendation system characterized by predicting the categories to be included.
제1항에 있어서, 상기 사용자 퀴즈 정보 수집모듈; 은
타임스탬프와 점수를 퀴즈 시도마다 기록하고, 사용자 단말에서 시도한 퀴즈의 레이블에서 상, 중, 하를 포함하는 레벨 정보를 추출하고, 사용자의 퀴즈 점수에 따라 상기 사용자에게 추천하는 비디오 레벨을 조정하는 것을 특징으로 하는 비대면 학습 커리큘럼 생성 및 추천 시스템.
The method of claim 1, further comprising: the user quiz information collection module; silver
It records the timestamp and score for each quiz attempt, extracts level information including high, medium, and low from the label of the quiz attempted on the user's terminal, and adjusts the video level recommended to the user according to the user's quiz score. Features a non-face-to-face learning curriculum creation and recommendation system.
제1항에 있어서, 상기 사용자 코딩 챌린지 정보 수집 모듈; 은
타임스탬프와 스코어를 코딩 챌린지 시도마다 기록하고, 사용자 단말에서 시도한 코딩 챌린지의 레이블에서 상, 중, 하를 포함하는 레벨 정보를 추출하고, 사용자의 코딩 챌린지 점수에 따라 상기 사용자에게 추천하는 비디오 레벨을 조정하는 것을 특징으로 하는 비대면 학습 커리큘럼 생성 및 추천 시스템.
The method of claim 1, further comprising: the user coding challenge information collection module; silver
Timestamps and scores are recorded for each coding challenge attempt, level information including high, medium, and low is extracted from the label of the coding challenge attempted on the user's terminal, and a video level recommended to the user is determined according to the user's coding challenge score. A non-face-to-face learning curriculum creation and recommendation system characterized by coordination.
제 1항에 있어서, 상기 비디오 추천 시스템은
사용자에게 카테고리 추천 후, 추천된 카테고리의 비디오 중 사용자의 시청 목록에서 제외된 비디오 목록을 탐지하고, 상기 탐지된 목록의 비디오 시청 URL 및 ID를 사용자 단말로 전송하는 비디오 추천 모듈; 을 더 포함하는 것을 특징으로 하는 비대면 학습 커리큘럼 생성 및 추천 시스템.
The video recommendation system of claim 1, wherein
After recommending a category to the user, a video recommendation module that detects a list of videos excluded from the user's watch list among the videos in the recommended category and transmits the video viewing URL and ID of the detected list to the user terminal; A non-face-to-face learning curriculum creation and recommendation system further comprising:
코딩학습데이터에 기반한 비대면 학습 커리큘럼 생성 및 추천 방법에 있어서,
(A) 시청정보 추출 모듈은 사용자의 비디오 시청기록에서 아이디, 시청 비디오 아이디, 타임스팸프, 가장 최근 시청한 비디오 카테고리, 최장 시청 시간을 기록한 비디오 카테고리, 비디오 카테고리 각각의 시청빈도를 포함하는 시청 정보를 추출하여 사용자 별로 저장하는 단계;
(B) 사용자 퀴즈 정보 수집 모듈은 사용자 단말에 의해 퀴즈 수행이 완료되면, 타임스탬프가 있는 사용자 각각의 퀴즈 점수를 저장하는 단계;
(C) 사용자 코딩 챌린지 정보 수집 모듈은 사용자 단말에 의해 코딩 챌린지 수행이 완료되면, 타임스탬프가 있는 사용자 각각의 코딩 챌린지 점수를 저장하는 단계; 및
(D) 분석모듈은 가장 최근 시청한 비디오 데이터를 상기 퀴즈 점수, 코딩점수 중 적어도 하나에 병합(merging)하여 사용자 별 학습 성과 데이터를 생성하고, 상기 생성된 학습 성과 데이터를 기반으로 사용자에게 추천될 비디오가 포함된 카테고리를 예측하는 단계; 를 포함하는 비대면 학습 커리큘럼 생성 및 추천 방법.
In the method of creating and recommending a non-face-to-face learning curriculum based on coding learning data,
(A) The viewing information extraction module extracts viewing information from the user's video viewing record, including ID, watched video ID, timestamp, most recently viewed video category, video category recording the longest viewing time, and viewing frequency of each video category. Extracting and storing for each user;
(B) the user quiz information collection module stores each user's quiz score with a timestamp when the quiz performance is completed by the user terminal;
(C) the user coding challenge information collection module stores the coding challenge score of each user with a timestamp when the coding challenge is completed by the user terminal; and
(D) The analysis module generates learning performance data for each user by merging the most recently watched video data with at least one of the quiz score and coding score, and recommends to the user based on the generated learning performance data. predicting a category containing a video; Non-face-to-face learning curriculum creation and recommendation method including.
제6항에 있어서, 상기 (D)의 단계; 는
사용자 별 시청 빈도가 가장 많은 비디오, 시청시간이 가장 많은 비디오 카테고리 정보를 추출하고 추출된 카테고리 정보와 가장 최근 코딩 챌린지 결과를 병합한 학습 성과 데이터를 생성하고, 생성된 학습 성과 데이터를 기반으로 추천될 비디오가 포함될 카테고리를 예측하는 것을 특징으로 하는 비대면 학습 커리큘럼 생성 및 추천 방법.
The method of claim 6, wherein step (D); Is
We extract the most frequently viewed video and video category information with the most viewing time for each user, generate learning performance data that merges the extracted category information with the most recent coding challenge results, and recommend recommendations based on the generated learning performance data. A non-face-to-face learning curriculum creation and recommendation method characterized by predicting the categories in which videos will be included.
제6항에 있어서, 상기 (B)의 단계; 는
타임스탬프와 점수를 퀴즈 시도마다 기록하고, 사용자 단말에서 시도한 퀴즈의 레이블에서 상, 중, 하를 포함하는 레벨 정보를 추출하는 단계; 및
사용자의 퀴즈 점수에 따라 상기 사용자에게 추천하는 비디오 레벨을 조정하는 단계; 를 포함하는 것을 특징으로 하는 비대면 학습 커리큘럼 생성 및 추천 방법.
The method of claim 6, wherein step (B); Is
Recording a timestamp and score for each quiz attempt, and extracting level information including high, middle, and low from the label of the quiz attempted on the user terminal; and
adjusting the video level recommended to the user according to the user's quiz score; A non-face-to-face learning curriculum creation and recommendation method comprising:
제6항에 있어서, 상기 (C)의 단계; 는
타임스탬프와 스코어를 코딩 챌린지 시도마다 기록하고, 사용자 단말에서 시도한 코딩 챌린지의 레이블에서 상, 중, 하를 포함하는 레벨 정보를 추출하는 단계;
사용자의 코딩 챌린지 점수에 따라 상기 사용자에게 추천하는 비디오 레벨을 조정하는 단계; 를 포함하는 것을 특징으로 하는 비대면 학습 커리큘럼 생성 및 추천 방법.
The method of claim 6, wherein step (C); Is
Recording a timestamp and score for each coding challenge attempt, and extracting level information including high, middle, and low from the label of the coding challenge attempted on the user terminal;
adjusting the video level recommended to the user according to the user's coding challenge score; A non-face-to-face learning curriculum creation and recommendation method comprising:
제6항에 있어서, 상기 비디오 추천 방법은
(E) 비디오 추천 모듈은 사용자에게 카테고리 추천 후, 추천된 카테고리의 비디오 중 사용자의 시청 목록에서 제외된 비디오 목록을 탐지하고, 상기 탐지된 목록의 비디오 시청 URL 및 ID를 사용자 단말로 전송하는 단계; 를 더 포함하는 것을 특징으로 하는 비대면 학습 커리큘럼 생성 및 추천 방법.
The method of claim 6, wherein the video recommendation method
(E) the video recommendation module recommends a category to the user, detects a video list excluded from the user's watch list among the videos in the recommended category, and transmits the video viewing URL and ID of the detected list to the user terminal; A non-face-to-face learning curriculum creation and recommendation method further comprising:
KR1020220088730A 2022-07-19 2022-07-19 Non face-to-face learning curriculum creation and recommendation system based on coding learning data KR20240011370A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220088730A KR20240011370A (en) 2022-07-19 2022-07-19 Non face-to-face learning curriculum creation and recommendation system based on coding learning data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220088730A KR20240011370A (en) 2022-07-19 2022-07-19 Non face-to-face learning curriculum creation and recommendation system based on coding learning data

Publications (1)

Publication Number Publication Date
KR20240011370A true KR20240011370A (en) 2024-01-26

Family

ID=89714537

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220088730A KR20240011370A (en) 2022-07-19 2022-07-19 Non face-to-face learning curriculum creation and recommendation system based on coding learning data

Country Status (1)

Country Link
KR (1) KR20240011370A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117830046A (en) * 2024-03-06 2024-04-05 长春电子科技学院 Online course data cloud management system based on Internet

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102213476B1 (en) 2020-06-09 2021-02-08 (주)뤼이드 Learning contents recommendation system based on artificial intelligence learning and operation method thereof
KR102283711B1 (en) 2020-09-16 2021-07-30 (주)뤼이드 Learning content recommendation device, system, and operation method for determining recommendation problem by reflecting user's learning effect

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102213476B1 (en) 2020-06-09 2021-02-08 (주)뤼이드 Learning contents recommendation system based on artificial intelligence learning and operation method thereof
KR102283711B1 (en) 2020-09-16 2021-07-30 (주)뤼이드 Learning content recommendation device, system, and operation method for determining recommendation problem by reflecting user's learning effect

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117830046A (en) * 2024-03-06 2024-04-05 长春电子科技学院 Online course data cloud management system based on Internet
CN117830046B (en) * 2024-03-06 2024-05-07 长春电子科技学院 Online course data cloud management system based on Internet

Similar Documents

Publication Publication Date Title
US11670185B2 (en) Adaptive machine learning system
US11514809B2 (en) Educational and content recommendation management system
CN112163165B (en) Information recommendation method, device, equipment and computer readable storage medium
Yao Constructing a user-friendly and smart ubiquitous personalized learning environment by using a context-aware mechanism
US11599802B2 (en) Content based remote data packet intervention
US20190272770A1 (en) Systems and methods for automated content evaluation and delivery
KR101030577B1 (en) Learner adaptive system and method for e-learning
US11354378B2 (en) Web experience augmentation based on local and global content preferences
US20170255867A1 (en) System and method for automated pattern based alert generation
KR20220050037A (en) User knowledge tracking device, system and operation method thereof based on artificial intelligence learning
US10541884B2 (en) Simulating a user score from input objectives
CN113569129A (en) Click rate prediction model processing method, content recommendation method, device and equipment
KR20240011370A (en) Non face-to-face learning curriculum creation and recommendation system based on coding learning data
CN112101231A (en) Learning behavior monitoring method, terminal, small program and server
CN116362359A (en) User satisfaction prediction method, device, equipment and medium based on AI big data
Chen et al. A systematic review for MOOC dropout prediction from the perspective of machine learning
US20240153395A1 (en) Tracking concepts and presenting content in a learning system
Mishra et al. Dynamic identification of learning styles in MOOC environment using ontology based browser extension
KR20220053982A (en) Method for recommanding educational institute based on artificial intelligence
KR102559449B1 (en) Server and method for providing charge-free lerning curation service
KR20210105272A (en) Pre-training modeling system and method for predicting educational factors
KR102412381B1 (en) Learning contents evaluation apparatus, system, and operation method thereof for evaluating a problem based on the predicted correct answer probability for the added problem contents without solving experience
KR102140205B1 (en) Smart education system for child or old person
KR101976537B1 (en) A system and a method for providing contents basedd on analyzing bigdata and a computer readable recording medium to store instructions to perform the method
Hossenally et al. Learning analytics for smart classroom system in a university Campus