KR102414637B1 - Method and system for matching sports class based on cohort analysis - Google Patents

Method and system for matching sports class based on cohort analysis Download PDF

Info

Publication number
KR102414637B1
KR102414637B1 KR1020210192021A KR20210192021A KR102414637B1 KR 102414637 B1 KR102414637 B1 KR 102414637B1 KR 1020210192021 A KR1020210192021 A KR 1020210192021A KR 20210192021 A KR20210192021 A KR 20210192021A KR 102414637 B1 KR102414637 B1 KR 102414637B1
Authority
KR
South Korea
Prior art keywords
sports
user
course
information
cohort
Prior art date
Application number
KR1020210192021A
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 KR1020210192021A priority Critical patent/KR102414637B1/en
Application granted granted Critical
Publication of KR102414637B1 publication Critical patent/KR102414637B1/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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Evolutionary Biology (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Development Economics (AREA)
  • Algebra (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 코호트 기반의 스포츠 강좌 매칭 방법은, 수집된 강좌 정보를 포함하는 사용자 정보에 기초하여 사용자별 스포츠 특성을 코호트 분석하는 단계, 상기 스포츠 특성에 기초하여, 다수의 사용자를 코호트 그래프 상에 산점도로 출력하는 단계, 상기 코호트 그래프 상의 인접한 산점도를 기초로 적어도 하나 이상의 사용자를 그룹화하는 단계, 그룹화된 적어도 하나 이상의 사용자에게 그룹별 매칭되는 적어도 하나 이상의 스포츠 강좌로 구성된 제1 리스트를 제공하는 단계, 및 사용자별 상기 강좌 정보에 기초하여 상기 제1 리스트 속한 스포츠 강좌를 대상으로 점수화하여 상기 제1 리스트를 재배열한 사용자별 맞춤형의 제2 리스트를 제공하는 단계를 포함한다. A cohort-based sports course matching method according to an embodiment for realizing the object of the present invention includes the steps of cohort analysis of sports characteristics for each user based on user information including collected course information, and outputting a plurality of users as a scatter plot on the cohort graph based on the Providing a first list consisting of courses, and providing a second list customized for each user by rearranging the first list by scoring sports courses belonging to the first list based on the course information for each user includes

Description

코호트 분석 기반의 스포츠 강좌 매칭 방법 및 시스템{METHOD AND SYSTEM FOR MATCHING SPORTS CLASS BASED ON COHORT ANALYSIS}Sports course matching method and system based on cohort analysis

코호트 분석 기반의 스포츠 강좌 매칭 방법 및 시스템으로, 보다 상세하게는 인공지능의 딥러닝 알고리즘을 이용하여 유사성을 갖는 개인을 군집화하고, 코호트 기반의 군집된 집단 정보에 기초하여 최적화된 스포츠 강좌를 추천할 수 있는 코호트 분석 기반의 스포츠 강좌 매칭 방법 및 시스템에 관한 것이다. As a sports course matching method and system based on cohort analysis, more specifically, it clusters individuals with similarities using deep learning algorithms of artificial intelligence, and recommends optimized sports courses based on cohort-based clustered group information. It relates to a sports course matching method and system based on possible cohort analysis.

현대사회에서 경제성장과 함께 생활환경이 윤택해지고 개인의 여가시간이 증가함에 따라 많은 사람들이 다양한 방법으로 여가시간을 활용하고 있다. 이러한 가운데 체육활동을 통하여 자신의 건강을 유지하고 신체를 단련하려는 국민들의 의식이 높아지고 있으며, 지역이나 직장을 중심으로 자발적인 스포츠 동호인이 늘어나는 한편 유아에서 노인에 이르기까지 모든 연령층에서 스포츠에 참여하고 있다. In modern society, as the living environment is enriched along with economic growth and individual leisure time increases, many people are using their leisure time in various ways. In the midst of this, people's awareness to maintain their health and train their bodies through physical activity is increasing, and voluntary sports clubs are increasing mainly in the local area or workplace, while all age groups, from infants to the elderly, are participating in sports.

사용자의 건강상태, 운동내역 및 선호도를 종합하여 사용자 맞춤형으로 운동을 추천하는 방법이 연구 및 개발되었는데, 이와 관련하여, 선행기술인 한국공개특허 제2009-0000941호(2009년01월08일 공개)에는, 사용자에게 운동행위를 고취시키고, 사용자의 건강 상태 및 운동 선호도, 일반 활동량 등을 고려하여 특정 종목의 운동을 추천하기 위하여, 사용자의 건강상태를 혈압기, 맥박측정기 등의 생체 지수 측정 기기와 기존의 환자 건강상태 데이터베이스를 통한 운동량 및 선호도를 통하여 가장 적절한 운동을 추천해주고, 그 수행 정도를 평가하여 추후 추천시 그 내용을 반영하고, 이를 통하여, 사용자의 건강상태와 운동 수행 내역 그리고 선호도를 모두 종합한 사용자 맞춤형 운동 추천 서비스의 구성이 개시되어 있다.A method of recommending a user-tailored exercise by synthesizing the user's health condition, exercise history, and preference has been researched and developed. , in order to inspire the user to exercise, and to recommend exercise for a specific sport in consideration of the user's health condition, exercise preference, and general activity amount It recommends the most appropriate exercise through the amount and preference of exercise through the patient's health status database, evaluates the degree of performance, and reflects the contents when recommending later. The configuration of a user-customized exercise recommendation service is disclosed.

상술한 구성은 현재 상태를 기반으로 운동내역을 측정하거나 입력받으므로 임의의 사용자가 프로그램에 변화를 주고 싶은 경우나, 난이도를 올리고 싶은 경우 또는 종목을 변경하고 싶은 경우에는 적합한 추천이 어려운 등의 문제점이 있었다.Since the above-described configuration measures or receives exercise details based on the current state, it is difficult to make a suitable recommendation if any user wants to change the program, increase the difficulty, or change the event. there was

아울러, 스포츠 강습을 받는 참여자와 공급자 사이의 정보 비대칭성을 해결하지 못해 개인에게 최적화된 스포츠를 추천할 수 없는 문제점이 있었다. In addition, there was a problem in that it was not possible to recommend a sport optimized for an individual because the information asymmetry between the participant and the provider receiving the sports class could not be resolved.

본 발명은 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention aims to solve the above and other problems.

본 발명의 일 목적은 다수의 사용자의 스포츠 특성 정보를 수집하여, 유사도가 높은 적어도 하나 이상의 구성원을 그룹핑하고, 그룹핑된 군집에 적합한 적어도 하나 이상의 스포츠 강좌를 매칭시키는 동시에, 상기 적어도 하나 이상의 스포츠 강좌에서 개인별 스포츠 특성 정보에 기초하여 사용자 맞춤화된 스포츠 강좌를 추천하는 방법 및 시스템을 제공하는 것이다. One object of the present invention is to collect sports characteristic information of a plurality of users, group at least one member with high similarity, match at least one sports course suitable for the grouped group, and at the same time, in the at least one sports course To provide a method and system for recommending a user-customized sports course based on individual sports characteristic information.

상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 코호트 기반의 스포츠 강좌 매칭 방법은, 수집된 강좌 정보를 포함하는 사용자 정보에 기초하여 사용자별 스포츠 특성을 코호트 분석하는 단계, 상기 스포츠 특성에 기초하여, 다수의 사용자를 코호트 그래프 상에 산점도로 출력하는 단계, 상기 코호트 그래프 상의 인접한 산점도를 기초로 적어도 하나 이상의 사용자를 그룹화하는 단계, 그룹화된 적어도 하나 이상의 사용자에게 그룹별 매칭되는 적어도 하나 이상의 스포츠 강좌로 구성된 제1 리스트를 제공하는 단계, 및 사용자별 상기 강좌 정보에 기초하여 상기 제1 리스트 속한 스포츠 강좌를 대상으로 점수화하여 상기 제1 리스트를 재배열한 사용자별 맞춤형의 제2 리스트를 제공하는 단계를 포함한다. A cohort-based sports course matching method according to an embodiment for realizing the object of the present invention includes the steps of cohort analysis of sports characteristics for each user based on user information including collected course information, and outputting a plurality of users as a scatter plot on the cohort graph based on the Providing a first list consisting of courses, and providing a second list customized for each user by rearranging the first list by scoring sports courses belonging to the first list based on the course information for each user includes

본 발명의 일 실시예에 있어서, 상기 강좌 정보는, 사용자가 수강한 스포츠 강좌 내역, 수강한 스포츠 강좌의 스포츠 자체의 난이도, 수강한 스포츠 강좌의 난이도, 스포츠 강좌를 수강하는 동안 사용자가 기록한 로그북 정보, 강사의 피드백 정보, 스포츠 강좌에 대한 성취도 정보, 스포츠 강좌별 클릭 정보, 스포츠 강좌별 체류 시간 정보 중 적어도 하나를 포함할 수 있다. In one embodiment of the present invention, the course information includes a history of sports lectures taken by the user, the difficulty of the sports itself of the sports lectures taken, the difficulty of the sports lectures taken, and a logbook recorded by the user while taking the sports lectures. It may include at least one of information, feedback information of an instructor, achievement information for sports courses, click information for each sports course, and residence time information for each sports course.

본 발명의 일 실시예에 있어서, 상기 코호트 항목에 대한 정보는 미리 정한 범위에서 수치화되며, 유사한 정보에 대해서는 인접한 수치로 산출되어 상기 코호트 그래프 상의 좌표값으로 나타내어질 수 있다. In an embodiment of the present invention, the information on the cohort item may be digitized within a predetermined range, and similar information may be calculated as an adjacent numerical value and expressed as a coordinate value on the cohort graph.

본 발명의 일 실시예에 있어서, 상기 사용자별 스포츠 특성은 적어도 하나 이상의 코호트 항목의 조합에 대한 정보들로 분석될 수 있다. In an embodiment of the present invention, the sports characteristics for each user may be analyzed as information on a combination of at least one or more cohort items.

본 발명의 일 실시예에 있어서, 코호트 그래프 상에 산점도로 출력하는 단계에서는, 다수의 코호트 항목 중 우선 순위에 따른 일부의 코호트 항목에 기초하여 사용자를 산점도로 출력할 수 있다. In an embodiment of the present invention, in the step of outputting the scatter plot on the cohort graph, the user may be output as a scatter plot based on some cohort items according to priority among a plurality of cohort items.

본 발명의 일 실시예에 있어서, 상기 코호트 항목의 조합은 우선 순위의 2개의 코호트 항목에 의해 이루어지고, 상기 2개의 코호트 항목은 상기 코호트 그래프의 X 축 및 Y 축에 각각 배치될 수 있다. In one embodiment of the present invention, the combination of the cohort items is made by two cohort items of priority, and the two cohort items may be respectively arranged on the X and Y axes of the cohort graph.

본 발명의 일 실시예에 있어서, 상기 사용자를 그룹화하는 단계는, 상기 산점도가 상기 코호트 그래프 상 특정 영역에 치우쳐 있는 경우, 상기 특정 영역을 기준으로 산점도를 재그룹화하는 단계를 더 포함할 수 있다. In an embodiment of the present invention, the grouping of the users may further include regrouping the scatterplot based on the specific area when the scatter plot is biased toward a specific area on the cohort graph.

본 발명의 일 실시예에 있어서, 상기 제1 리스트는, 상기 그룹화된 적어도 하나 이상의 사용자의 강좌 정보를 통계화하여 순위별로 정렬될 수 있다. In an embodiment of the present invention, the first list may be sorted by rank by statisticizing the grouped course information of at least one or more users.

본 발명의 일 실시예에 있어서, 상기 제2 리스트는, 상기 사용자 정보에 포함되는 사용자별 강좌 수강이 가능한 지역적 범위, 시간 및 비용 정보 중 적어도 하나를 포함하는 사용자별 제한 조건 정보가 반영된 스포츠 강좌가 정렬될 수 있다. In one embodiment of the present invention, the second list includes a sports course in which user-specific restriction condition information including at least one of the user-specific course attendance information, time, and cost information included in the user information is reflected. can be sorted.

상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 코호트 기반의 스포츠 강좌 매칭 장치는, 수집된 강좌 정보를 포함하는 사용자 정보에 기초하여 사용자별 스포츠 특성을 코호트 분석하는 분석부, 상기 스포츠 특성에 기초하여, 다수의 사용자를 코호트 그래프 상에 산점도로 출력하는 추출부, 상기 코호트 그래프 상의 인접한 산점도를 기초로 적어도 하나 이상의 사용자를 그룹화하는 사용자 그룹부, 및 그룹화된 적어도 하나 이상의 사용자에게 그룹별 매칭되는 적어도 하나 이상의 스포츠 강좌로 구성된 제1 리스트를 제공하고, 사용자별 상기 강좌 정보에 기초하여 상기 제1 리스트 속한 스포츠 강좌를 대상으로 점수화하여 상기 제1 리스트를 재배열한 사용자별 맞춤형의 제2 리스트를 제공하는 강좌 매칭부를 포함한다.A cohort-based sports course matching apparatus according to an embodiment for realizing the object of the present invention includes an analysis unit for cohort analysis of sports characteristics for each user based on user information including collected course information, the sports characteristics An extractor that outputs a plurality of users as a scatter plot on the cohort graph based on Provides a first list consisting of at least one or more sports lectures, and based on the course information for each user, a second list customized for each user by reordering the first list by scoring sports courses belonging to the first list Includes course matching unit provided.

본 발명의 일 실시 예에 따르면, 사용자 각각의 스포츠 특성과 연관된 연령, 취향, 성격, 실력, 동기, 선호 등 다방면의 개인 데이터(Personal Data)를 수집하고, 유사도 높은 사용자들을 그룹핑하며, 코호트 분석에 의해 그룹핑된 집단에 최적화된 적어도 하나 이상의 스포츠 강좌 리스트를 제공할 수 있다.According to an embodiment of the present invention, personal data in various fields such as age, taste, personality, ability, motivation, preference, etc. associated with each sports characteristic of users are collected, users with high similarity are grouped, and cohort analysis is performed. It is possible to provide a list of at least one or more sports lectures optimized for the group grouped by the

또한, 상기 적어도 하나 이상의 스포츠 강좌들 중에서, 개인별 스포츠 특성 정보에 기초하여, 개인별 맞춤형으로 재정렬된 스포츠 강좌 리스트를 제공할 수 있다. Also, from among the at least one or more sports courses, a list of sports courses rearranged to be customized for each individual may be provided based on individual sports characteristic information.

도 1은 본 발명의 일 실시예에 따른 스포츠 강좌 매칭 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 스포츠 강좌 매칭 서버를 설명하기 위한 블록도이다.
도 3은 도 2의 강좌 매칭부를 설명하기 위한 블록도이다.
도 4는 산점도 기반으로 사용자를 그룹화하는 것을 설명하기 위한 예시도이다.
도 5는 도 4에 도시된 산점도 기반으로 그룹화된 사용자를 재그룹화하는 것을 설명하기 위한 도면이다.
도 6는 본 발명의 일 실시예에 따른 스포츠 강좌 매칭 방법을 설명하기 위한 흐름도이다.
도 7은 도 6는 본 발명의 일 실시예에 따른 스포츠 강좌 매칭 방법을 설명하기 위한 앱 화면 예시도이다.
도 8은 도 6의 스포츠 강좌 매칭 방법에 적용된 코호트 분석을 설명하기 위한 흐름도이다.
1 is a diagram for explaining a sports course matching system according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a sports course matching server included in the system of FIG. 1 .
3 is a block diagram illustrating the course matching unit of FIG. 2 .
4 is an exemplary diagram for explaining grouping of users based on a scatter plot.
FIG. 5 is a diagram for explaining regrouping of grouped users based on the scatterplot shown in FIG. 4 .
6 is a flowchart illustrating a sports course matching method according to an embodiment of the present invention.
7 is an exemplary view of an app screen for explaining a sports course matching method according to an embodiment of the present invention.
8 is a flowchart for explaining a cohort analysis applied to the sports course matching method of FIG. 6 .

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Hereinafter, the embodiments disclosed in the present specification will be described in detail with reference to the accompanying drawings, but the same or similar components are assigned the same reference numbers regardless of reference numerals, and redundant description thereof will be omitted. The suffixes "module" and "part" for components used in the following description are given or mixed in consideration of only the ease of writing the specification, and do not have distinct meanings or roles by themselves. In addition, in describing the embodiments disclosed in the present specification, if it is determined that detailed descriptions of related known technologies may obscure the gist of the embodiments disclosed in this specification, the detailed description thereof will be omitted. In addition, the accompanying drawings are only for easy understanding of the embodiments disclosed in the present specification, and the technical idea disclosed herein is not limited by the accompanying drawings, and all changes included in the spirit and scope of the present invention , should be understood to include equivalents or substitutes.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms including an ordinal number such as 1st, 2nd, etc. may be used to describe various elements, but the elements are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When an element is referred to as being “connected” or “connected” to another element, it is understood that it may be directly connected or connected to the other element, but other elements may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.

본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In the present application, terms such as “comprises” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1개의 유닛이 2개 이상의 하드웨어를 이용하여 실현되어도 되고, 2개 이상의 유닛이 1개의 하드웨어에 의해 실현되어도 된다. In this specification, a "part" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. In addition, one unit may be implemented using two or more hardware, and two or more units may be implemented by one hardware.

본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다.Some of the operations or functions described as being performed by the terminal, apparatus, or device in the present specification may be performed instead of by a server connected to the terminal, apparatus, or device. Similarly, some of the operations or functions described as being performed by the server may also be performed in a terminal, apparatus, or device connected to the server.

본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer-readable codes on a computer-readable recording medium, and the computer-readable recording medium includes all types of recording devices in which data readable by a computer system is stored. . Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like. In addition, the computer-readable recording medium is distributed in a computer system connected to a network, so that the computer-readable code can be stored and executed in a distributed manner.

이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 스포츠 강좌 매칭 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 스포츠 강좌 매칭 시스템(1)은, 적어도 하나의 사용자 단말(100), 스포츠 강좌 매칭 서버(300), 적어도 하나의 수강 이력데이터 제공 서버(400) 및 적어도 하나의 정보제공 서버(500)를 포함할 수 있다. 다만, 이러한 도 1의 스포츠 강좌 매칭 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.1 is a diagram for explaining a sports course matching system according to an embodiment of the present invention. Referring to FIG. 1 , the sports course matching system 1 includes at least one user terminal 100 , a sports course matching server 300 , at least one attendance history data providing server 400 , and at least one information providing server. (500). However, since the sports course matching system 1 of FIG. 1 is only an embodiment of the present invention, the present invention is not limitedly interpreted through FIG. 1 .

이때, 도 1의 각 구성요소들은 일반적으로 네트워크(network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시 된 바와 같이, 적어도 하나의 사용자 단말(100)은 네트워크(200)를 통하여 스포츠 강좌 매칭 서버(300)와 연결될 수 있다. 그리고, 스포츠 강좌 매칭 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 사용자 단말(100), 적어도 하나의 수강이력데이터 제공 서버(400) 및 적어도 하나의 정보제공 서버(500)와 연결될 수 있다. 또한, 적어도 하나의 수강이력데이터 제공 서버(400)는, 네트워크(200)를 통하여 스포츠 강좌 매칭 서버(300)와 연결될 수 있다. 그리고, 적어도 하나의 정보제공 서버(500)는, 네트워크(200)를 통하여 스포츠 강좌 매칭 서버(300)와 연결될 수 있다. At this time, each component of FIG. 1 is generally connected through a network 200 . For example, as shown in FIG. 1 , at least one user terminal 100 may be connected to the sports course matching server 300 through the network 200 . In addition, the sports course matching server 300 may be connected to at least one user terminal 100 , at least one attendance history data providing server 400 and at least one information providing server 500 through the network 200 . have. In addition, the at least one attendance history data providing server 400 may be connected to the sports course matching server 300 through the network 200 . In addition, the at least one information providing server 500 may be connected to the sports course matching server 300 through the network 200 .

여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의 미하는 것으로, 이러한 네트워크의 일 예에는 RF, 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5GPP(5th Generation Partnership Project) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스 (Bluetooth) 네트워크, NFC 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.Here, the network refers to a connection structure in which information exchange is possible between each node, such as a plurality of terminals and servers. Examples of such networks include RF, 3rd Generation Partnership Project (3GPP) network, LTE (Long). Term Evolution) network, 5th Generation Partnership Project (5GPP) network, WIMAX (World Interoperability for Microwave Access) network, Internet, LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network) ), PAN (Personal Area Network), Bluetooth (Bluetooth) network, NFC network, satellite broadcasting network, analog broadcasting network, DMB (Digital Multimedia Broadcasting) network, etc., but are not limited thereto.

하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명 하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.In the following, the term at least one is defined as a term including the singular and the plural, and even if the at least one term does not exist, each element may exist in the singular or plural, and may mean the singular or plural. It will be self explanatory. In addition, that each component is provided in singular or plural may be changed according to embodiments.

적어도 하나의 사용자 단말(100)은, 스포츠 강좌 매칭 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 사용자의 스포츠 특성과 연관된 연령, 취향, 성격, 실력, 동기, 선호 등 다방면의 개인 데이터(Personal Data), 추가로 스포츠 프로그램 수강 이력 등을 입력 및 전송하고, 이에 기반하여 스포츠 프로그램으로서, 개인별 맞춤형의 스포츠 강좌 리스트를 출력하는 사용자의 단말일 수 있다. At least one user terminal 100, using a sports course matching service-related web page, app page, program or application, personal data ( Personal Data), and additionally, a sports program attendance history, etc. may be input and transmitted, and based on this, the user's terminal may output a sports course list customized to each individual as a sports program.

여기서, 적어도 하나의 사용자 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데 스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 사용자 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, 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) 기반의 무선 통신 장치를 포함할 수 있다.Here, the at least one user terminal 100 may be implemented as a computer that can access a remote server or terminal through a network. Here, the computer may include, for example, navigation, a laptop equipped with a web browser (WEB Browser), a desktop, and a laptop (Laptop). In this case, the at least one user terminal 100 may be implemented as a terminal capable of accessing a remote server or terminal through a network. At least one user terminal 100 is, for example, as a wireless communication device that guarantees portability and mobility, navigation, 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) ) terminal, a smart phone, a smart pad, a tablet PC, etc. may include all types of handheld-based wireless communication devices.

스포츠 강좌 매칭 서버(300)는, 스포츠 강좌 매칭 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 또한, 스포츠 강좌 매칭 서버(300)는, 사용자 단말(100)로부터 입력되거나, 또는 스포츠 강좌 매칭 서비스 웹 페이지, 앱 페이지 등 내에서 클릭, 체류 시간 등의 사용자 로그 정보로부터 분석된 사용자의 스포츠 특성과 연관된 연령, 취향, 성격, 실력, 동기, 선호 등 다방면의 개인 데이터(Personal Data)를 기초로 그래프 상의 산점도로 출력하고, 군집화된 산점도에 기초하여 일정 유사도를 갖는 사용자를 군집화하는 서버일 수 있다. 이 때, 산점도를 출력함에 있어서, 정보제공 서버(500)로부터 제공받은 인구통계학적 데이터에 기초할 수 있다. 또한, 스포츠 강좌 매칭 서버(300)는,사용자 단말(100) 또는 수강이력데이터 제공 서버(400)로부터 사용자의 수강이력데이터를 수집하고 이를 분석하는 서버일 수 있다. 또한, 스포츠 강좌 매칭 서버(300)는, 분석결과 추천할 스포츠 프로그램의 리스트를 추출하고, 이를 개인 맞춤형으로 재정렬하여 사용자 단말(100)로 전송하는 서버일 수 있다. 또한, 스포츠 강좌 매칭 서버(300)는, 스포츠 프로그램으로서 사용자 맞춤형의 스포츠 강좌를 추천하기 위하여, 적어도 하나의 정보 제공 서버(500)로부터 개인별 프로파일, 운동의 종류 등의 정보를 수집하고 빅데이터를 구축하여 훈련 및 학습을 진행하는 서버일 수 있다. The sports course matching server 300 may be a server that provides a sports course matching service web page, an app page, a program, or an application. In addition, the sports course matching server 300 includes the user's sports characteristics input from the user terminal 100 or analyzed from user log information such as clicks and residence times in the sports course matching service web page, app page, etc. It may be a server that outputs a scatter plot on a graph based on personal data such as related age, taste, personality, skill, motivation, preference, etc., and clusters users with a certain degree of similarity based on the clustered scatter plot. In this case, in outputting the scatterplot, it may be based on demographic data provided from the information providing server 500 . In addition, the sports course matching server 300 may be a server that collects and analyzes the user's attendance history data from the user terminal 100 or the attendance history data providing server 400 . Also, the sports course matching server 300 may be a server that extracts a list of sports programs to be recommended as a result of the analysis, rearranges them in a personalized manner, and transmits them to the user terminal 100 . In addition, the sports course matching server 300 collects information such as individual profiles and types of exercise from at least one information providing server 500 and builds big data in order to recommend a user-customized sports course as a sports program. Thus, it may be a server that conducts training and learning.

여기서, 스포츠 강좌 매칭 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.Here, the sports course matching server 300 may be implemented as a computer capable of accessing a remote server or terminal through a network. Here, the computer may include, for example, navigation, a laptop equipped with a web browser, a desktop, and a laptop.

적어도 하나의 수강이력데이터 제공 서버(400)는, 스포츠 수강이력관리를 이용한 맞춤형 스포츠 추천 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 수강이력데이터를 스포츠 강좌 매칭 서버(300)로 전송하는 서버일 수 있다. 여기서, 적어도 하나의 수강이력데이터 제공 서버(400)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.At least one attendance history data providing server 400 transmits the attendance history data to the sports course matching server 300 using a web page, an app page, a program or an application related to a customized sports recommendation service using sports attendance history management. It can be a server. Here, the at least one attendance history data providing server 400 may be implemented as a computer capable of accessing a remote server or terminal through a network. Here, the computer may include, for example, navigation, a laptop equipped with a web browser, a desktop, and a laptop.

적어도 하나의 정보제공 서버(500)는, 스포츠 강좌 매칭 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 인구통계학적 데이터, 개인별 프로파일, 스포츠 프로그램의 종류 및 스포츠 강좌 종류 등에 대한 정보를 스포츠 강좌 매칭 서버(300)로 제공하는 서버일 수 있다. 여기서, 적어도 하나의 정보제공 서버(500)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.At least one information providing server 500 uses a sports course matching service related web page, app page, program or application to provide information on demographic data, individual profile, types of sports programs and sports courses, etc. It may be a server that provides the matching server 300 . Here, the at least one information providing server 500 may be implemented as a computer capable of accessing a remote server or terminal through a network. Here, the computer may include, for example, navigation, a laptop equipped with a web browser, a desktop, and a laptop.

도 2는 도 1의 시스템에 포함된 스포츠 강좌 매칭 서버를 설명하기 위한 블록도이다. 도 3은 도 2의 강좌 매칭부를 설명하기 위한 블록도이다. FIG. 2 is a block diagram illustrating a sports course matching server included in the system of FIG. 1 . 3 is a block diagram illustrating the course matching unit of FIG. 2 .

도 2 및 도 3을 참조하면, 스포츠 강좌 매칭 서버(300)는, 수집부(310), 분석부(320), 추출부(330), 사용자 그룹화부(340), 강좌 매칭부(350) 및 전송부(360)를 포함한다.2 and 3 , the sports course matching server 300 includes a collection unit 310 , an analysis unit 320 , an extraction unit 330 , a user grouping unit 340 , a course matching unit 350 and and a transmission unit 360 .

본 발명의 일 실시예에 따른 스포츠 강좌 매칭 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 사용자 단말(100), 적어도 하나의 수강이력데이터 제공 서버(400), 및 적어도 하나의 정보제공 서버(500)로 스포츠 수강이력관리를 이용한 스포츠 강좌 매칭 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 사용자 단말(100), 적어도 하나의 수강이력데이터 제공 서버(400), 및 적어도 하나의 정보제공 서버(500)는, 스포츠 수강이력관리를 이용한 스포츠 강좌 매칭 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 하나의 사용자 단말(100), 적어도 하나의 수강이력데이터 제공 서버(400), 및 적어도 하나의 정보제공 서버(500)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: world wide web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(hypertext mark-up language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(app)을 포함한다.At least one user terminal 100, at least one attendance history data providing server 400, and at least one other server (not shown) operating in conjunction with the sports course matching server 300 according to an embodiment of the present invention When transmitting a sports course matching service application, program, app page, web page, etc. using sports attendance history management to one information providing server 500, at least one user terminal 100 and at least one attendance history data are provided The server 400 and at least one information providing server 500 may install or open a sports course matching service application using sports attendance history management, a program, an app page, a web page, and the like. In addition, the service program may be driven in at least one user terminal 100 , at least one attendance history data providing server 400 , and at least one information providing server 500 by using a script executed in a web browser. . Here, the web browser is a program that enables the use of a web (world wide web) service, and refers to a program that receives and displays hypertext written in HTML (hypertext mark-up language), for example, Netscape, Including Explorer, Chrome, etc. In addition, the application means an application on the terminal, for example, includes an app (app) executed in a mobile terminal (smartphone).

상기 수집부(310)는, 사용자 단말(100)로부터 사용자 정보를 수집하고, 상기 수강이력데이터 제공 서버(400)로부터 제공되는 사용자별 수강 이력을 수집하도록 구성된다. 상기 사용자별 수강 이력은 사용자 정보에 포함된다. 상기 사용자 정보는 사용자별 스포츠 특성 분석을 위한 기초 자료로 사용되며, 후술하는 추출부(330)에서 사용자별 정보에 기초하여, 사용자의 스포츠 특성과 연관된 연령, 취향, 성격, 실력, 동기, 선호 등을 포함하는 다방면의 개인 데이터(Personal Data)를 추출하도록 구성된다. 상기 사용자 정보는 성별, 연령, 동기, 주소, 활동 범위 등과 같이 사용자로부터 직접 입력되는 정보와, 취향, 성격, 실력, 선호 등과 사용자로부터 입력되는 정보로부터 산출되는 정보를 포함한다. 예를 들어, 사용자의 스포츠 성향 등을 파악하기 위하여 질문지법, 즉 다수의 질문에 대한 답변으로부터 추출되는 결과값으로부터 정보를 수집할 수 있다. The collection unit 310 is configured to collect user information from the user terminal 100 and collect the attendance history for each user provided from the attendance history data providing server 400 . The attendance history for each user is included in the user information. The user information is used as basic data for analyzing sports characteristics for each user, and based on the information for each user in the extraction unit 330 to be described later, age, taste, personality, ability, motivation, preference, etc. related to the user's sports characteristics It is configured to extract a variety of personal data (Personal Data) including. The user information includes information directly input from the user, such as gender, age, motive, address, and activity range, and information calculated from information input from the user, such as taste, personality, ability, preference, and the like. For example, information may be collected from a questionnaire method, ie, a result value extracted from answers to a plurality of questions, in order to understand a user's sports tendency.

또한, 상기 수강이력데이터 제공 서버(400)로부터 제공되는 사용자별 수강 이력을 통해 정보가 산출될 수 있다. 예를 들어, 사용자가 수강한 강좌의 스포츠 자체의 난이도, 특정 스포츠 강좌의 상급자반, 중급자반, 초급자반을 수강했는지 여부, 수강이력에 기초한 성취도 등에 의해 사용자별 실력 정보가 추출될 수 있다. 또한, 사용자의 성격 정보는 스포츠와 별개로 MBTI의 결과에 기초하거나, 또는 특정 스포츠와 연관되어 별도로 미리 준비된 스포츠 MBTI에 기초하여 추출하여 수집할 수 있다. In addition, information may be calculated through the attendance history for each user provided from the attendance history data providing server 400 . For example, competency information for each user may be extracted by the difficulty of the sport itself of the course the user took, whether or not the user took the advanced, intermediate, or beginner level of a specific sports course, achievement based on the course history, and the like. In addition, the user's personality information may be extracted and collected based on a result of the MBTI separately from sports or based on a sports MBTI prepared separately in association with a specific sports.

추가로, 상기 수집부(310)는 사용자별로 사용자 단말(100)로부터 전송되거나, 또는 스포츠 강좌 매칭 서비스 웹 페이지, 앱 페이지 등 내에서 클릭, 체류 시간 등의 사용자 로그 정보로부터 분석된 사용자 이용 정보를 기초로 정보를 수집할 수 있다. 이에 따라, 사용자의 스포츠 종목 또는 스포츠 강좌에 대한 취향 정보, 선호 정보를 추출하여 수집할 수 있다. In addition, the collection unit 310 receives user usage information transmitted from the user terminal 100 for each user, or analyzed from user log information such as clicks and residence time in a sports course matching service web page, an app page, etc. Information can be collected on the basis of Accordingly, it is possible to extract and collect the user's taste information and preference information for sports events or sports lectures.

한편, 상기 사용자 단말(100)이 스마트폰으로 구현된 경우, 스마트폰에 내장된 GPS 측위 시스템, WiFi 측위 시스템, 셀룰러(Cellular) 측위 시스템 또는 비콘(beacon) 측위 시스템들을 통해 사용자의 위치 정보를 획득하고, 스마트폰에 내장된 자이로 모듈을 통해 사용자의 활동 정보를 사용자 정보로서 획득할 수 있다. 획득된 사용자의 위치 정보 및/또는 활동 정보는 스포츠 강좌를 추천하는데 이용될 수 있다. On the other hand, when the user terminal 100 is implemented as a smartphone, the user's location information is obtained through a GPS positioning system, a WiFi positioning system, a cellular positioning system, or a beacon positioning system built into the smartphone. In addition, activity information of the user may be acquired as user information through the gyro module built into the smartphone. The obtained location information and/or activity information of the user may be used to recommend a sports course.

한편, 수강이력데이터 제공 서버(400)는, 사용자의 수강이력을 보유한 기관, 센터 등의 서버일 수 있다. 상기 수강이력데이터 제공 서버(400)는 외부 서버 또는 상기 스포츠 강좌 매칭 서버(300)와 동일 서버일 수 있다. 여기서, 스포츠 강좌의 대상이 되는 스포츠는 수영, 발레, 축구, 농구, 야구 등을 모두 포함하고, 어느 특정 스포츠를 지칭하지는 않는다. 한편, 사용자 단말(100)에서 직접 수집부(310)로 적어도 하나의 스포츠 강좌를 수강한 수강이력데이터를 입력 및 전송함으로써 수집되는 것을 배제하지 않는다. On the other hand, the attendance history data providing server 400 may be a server such as an institution or center that holds the user's attendance history. The attendance history data providing server 400 may be an external server or the same server as the sports course matching server 300 . Here, the sports subject to the sports lecture include swimming, ballet, soccer, basketball, baseball, and the like, and do not refer to any specific sports. On the other hand, it does not exclude the collection by directly inputting and transmitting attendance history data of at least one sports course from the user terminal 100 to the collection unit 310 .

상기 분석부(320)는, 상기 사용자 정보를 코호트 분석할 수 있다. 즉, 앞서 설명한 바와 같이, 사용자로부터 입력된 정보, 사용자로부터 입력된 정보로부터 추출된 정보, 서버로부터 제공받은 정보 등 다수의 루트를 통한 정보에 기초하여, 사용자별 스포츠 특성을 코호트 분석한다. 즉, 상기 분석부(320)는, 수집된 강좌 정보를 포함하는 사용자 정보에 기초하여 사용자별 스포츠 특성을 코호트 분석하도록 구성된다. 여기서, 강좌 정보는 사용자별 수강한 강좌에 대한 정보 및 강좌에 대한 사용자의 관심 정보를 포함한다. 예를 들어, 상기 강좌 정보는, 사용자가 수강한 스포츠 강좌 내역, 수강한 스포츠 강좌의 스포츠 자체의 난이도, 수강한 스포츠 강좌의 난이도, 스포츠 강좌를 수강하는 동안 사용자가 기록한 로그북 정보, 강사의 피드백 정보, 스포츠 강좌에 대한 성취도 정보, 스포츠 강좌별 클릭 정보, 스포츠 강좌별 체류 시간 정보 중 적어도 하나를 포함할 수 있다.The analysis unit 320 may perform cohort analysis of the user information. That is, as described above, based on information through multiple routes, such as information input from a user, information extracted from information input from a user, and information provided from a server, a cohort analysis of sports characteristics for each user is performed. That is, the analysis unit 320 is configured to cohort-analyze sports characteristics for each user based on user information including the collected course information. Here, the course information includes information about the course taken by each user and information about the user's interest in the course. For example, the course information may include a history of a sports course taken by the user, the difficulty level of the sport itself of the sports course taken, the difficulty level of the sports course taken, logbook information recorded by the user while taking the sports course, and feedback from the instructor. It may include at least one of information, achievement information for each sports course, click information for each sports course, and residence time information for each sports course.

상기 분석부(320)는 적어도 하나 이상의 코호트 항목의 조합을 통해 사용자별 스포츠 특성을 분석할 수 있다. 예를 들어, 상기 분석부(320)은 다수의 루트를 통하여 수집된 정보별로 가중치를 부여하여 사용자의 스포츠 특성을 분석할 수 있다. 상기 가중치의 경우, 사용자로부터 직접 입력된 정보에 가중치가 부여될 수 있으며, 또는 여러 루트를 통해 동일한 정보가 추출되는 경우 해당 정보에 가중치가 부여될 수 있다. 상기 스포츠 특성은, 코호트 분석을 위한 지표로서, 앞서 설명한, 개인화 데이터인 사용자별 연령, 취향, 성격, 실력, 동기, 선호 등의 코호트 항목으로 분석될 수 있다. 해당 코호트 항목은 하위 코호트 항목으로 세분화될 수 있다. 예를 들어, 실력 코호트 항목 경우, 민첩성, 힘, 체력 등의 코호트 항목으로 세분화될 수 있다. The analysis unit 320 may analyze the sports characteristics for each user through a combination of at least one or more cohort items. For example, the analysis unit 320 may analyze the user's sports characteristics by assigning a weight to each information collected through a plurality of routes. In the case of the weight, a weight may be given to information directly input from a user, or if the same information is extracted through multiple routes, a weight may be assigned to the corresponding information. The sports characteristic, as an index for cohort analysis, may be analyzed as cohort items such as age, taste, personality, ability, motivation, preference, etc. for each user, which are the aforementioned personalized data. Corresponding cohort items may be subdivided into sub-cohort items. For example, in the case of a skill cohort item, it may be subdivided into cohort items such as agility, strength, and stamina.

또한, 상기 각 코호트 항목 정보는 특정 정보 또는 수치화된 정보로 나타낼 수 있다. 예를 들어, 동기 코호트 항목의 경우, 사용자로부터 "다이어트 목적"으로 해당 서비스에 회원 가입 시 입력된 정보에 기초하거나, 또는 이전 수강된 강좌명에서 "다이어트 목적"으로 기재된 강좌가 있는 경우, 해당 정보에 기초하여, 동기 코호트 항목을 "다이어트"로 나타낼 수 있다. 물론, 해당 정보는 우선순위에 따라 적어도 하나 이상의 정보로 나타낼 수 있다. 예를 들어, 다이어트가 1 순위이고, 근력증강 등이 2 순위로 분석될 수 있다. In addition, each cohort item information may be expressed as specific information or numerical information. For example, in the case of a synchronous cohort item, if there is a course that is based on the information entered by the user when signing up for the service for “diet purpose”, or if there is a course described as “diet purpose” in the name of the previously taken course, the information Based on , the synchronized cohort item may be denoted as “diet”. Of course, the corresponding information may be represented as at least one or more pieces of information according to priority. For example, a diet may be analyzed as the 1st priority, and muscle strength enhancement as the 2nd priority.

즉, 상기 분석부(320)는 상기 코호트 항목 정보를 조합한 코호트 분류에 따라 사용자를 분류할 수 있다. 예를 들어, 상기 코호트 분류는 코호트 항목 개수에 따라 2차원, 3차원 또는 N 차원의 코호트 항목 조합된 정보를 나타낼 수 있다. 예를 들어, 연령 정보와 선호 정보가 조합된 코호트 분류가 적용될 수 있다. 한편, 코호트 항목는 정보에 따라 하위 코호트 항목을 가질 수 있다. 예를 들어, 연령 코호크 항목은, 10대 사용자들은 코호트 1, 20대 사용자들은 코호트 2, 30대 사용자들은 코호트 3, 등으로 구성될 수 있다. 물론 각 코호트 1, 코호트 2, 코호트 3은, 각각의 코호트 내에서 세부 분류 기준 (예를 들어서, 초반 중반 후반)에 따라서 코호트 1a, 코호트 1b, 코호트 1c와 같이 서브 코호트(sub cohort)로 세분화될 수 있다. 마찬가지로 코호트 1a 역시 재차 세분화될 수 있다. 즉, N개의 코호트 항목 따라, 사용자별 스포츠 특성을 분석하는 경우, 사용자별로 N개의 코호트에 의해 분류된 스포츠 특성을 갖는 것으로 분류할 수 있다. 한편, 코호트 항목 있어서도 우선 순위가 부여될 수 있다. 예를 들어, 다수의 코호트 항목 중 우선 순위에 따른 일부의 코호트 항목에 기초하여 사용자를 산점도로 출력할 수 있다. 즉, 후술하는 추출부(330)에서 코호트 항목 우선순위에 따라 사용자를 그래프 상에 배치할 수 있고, 사용자의 그룹을 나눌 필요가 있을 때, 차순위의 코호트 항목 따라 사용자를 추가 분류할 수 있다. That is, the analysis unit 320 may classify the user according to the cohort classification combining the cohort item information. For example, the cohort classification may indicate combined information of two-dimensional, three-dimensional, or N-dimensional cohort items according to the number of cohort items. For example, cohort classification in which age information and preference information are combined may be applied. Meanwhile, a cohort item may have a lower cohort item according to information. For example, the age cohawk item may consist of cohort 1 for users in their twenties, cohort 2 for users in their twenties, cohort 3 for users in their 30s, and the like. Of course, each of Cohort 1, Cohort 2, and Cohort 3 can be subdivided into sub-cohorts such as Cohort 1a, Cohort 1b, and Cohort 1c according to the sub-classification criteria (eg, early mid-late) within each cohort. can Likewise, cohort 1a can also be subdivided. That is, when sports characteristics for each user are analyzed according to N cohort items, each user may be classified as having sports characteristics classified by N cohorts. Meanwhile, priority may be given to cohort items as well. For example, the user may be output as a scatter plot based on some cohort items according to priority among a plurality of cohort items. That is, the extraction unit 330, which will be described later, may place users on the graph according to cohort item priorities, and may further classify users according to the next-order cohort item when it is necessary to divide a group of users.

한편, 사용자로부터 입력된 사용자 정보에 기초하여 사용자의 운동 취향, 동기, 선호 정보에 대해 분석하기 위해서는, 인공지능에 기반한 텍스트 분석 기술이 적용될 수 있다. 예를 들어, 서술한 텍스트를 목적에 부합하는 운동으로 분류하기 위한 모델과 모델을 학습할 때 트레이닝 데이터세트(Training Dataset)로 상술한 데이터베이스를 이용할 수도 있다. 이에 따라, 본 발명의 일 실시예는, 데이터베이스의 데이터 텍스트를 입력으로 받아 형태소 단위로 분석하여 운동 분류에 있어 유의미한 정보만을 추출하는 NLP 전처리기와 한 문장에서 추출된 모든 형태소를 미리 정한 기준에 따라 하나의 운동으로 라벨링하는 학습 데이터 생성기, 그리고 생성한 훈련 데이터를 학습하는 CNN 모델을 더 포함할 수도 있다.Meanwhile, in order to analyze a user's exercise taste, motivation, and preference information based on user information input from the user, an artificial intelligence-based text analysis technology may be applied. For example, the above-described database may be used as a training dataset when learning a model and a model for classifying the described text as an exercise that meets the purpose. Accordingly, according to an embodiment of the present invention, an NLP preprocessor that receives data text from a database as input and analyzes it in units of morphemes to extract only meaningful information in exercise classification and all morphemes extracted from a sentence are one according to a predetermined criterion. It may further include a training data generator that labels the movement of , and a CNN model that learns the generated training data.

우선, 자연어 처리를 해야 하는데, 이를 위하여, 본 발명의 일 실시예는, 학습을 위해 수집한 입력 텍스트는 한국어 단어 또는 문장 단위로 구성된다. 한글은 여러 품사가 혼재하는 복잡한 언어 구조를 가지고 있어 NLP 단계를 통해 단어 표현을 적절하게 만들어 주어야 한다. 따라서, 텍스트 파일을 입력으로 받아 형태소 분석기를 사용하여 형태소 단위로 분석한 후 기 설정된 태그에 해당하는 형태소만 추출할 수 있다. 그 다음으로, 학습 데이터 생성을 해야하는데, 한국어 자연어 처리기에서 추출한 형태소 뭉치들을 미리 정한 운동 목적 분류 기준에 따라 하나의 운동으로 라벨링하는 작업을 수행할 수 있다. 예를 들어, 운동 종목 라벨링을 총 다섯 가지 운동인 헬스(유산소), 웨이트 트레이닝, 요가, 필라테스, 수영으로 분류할 수도 있으나, 이에 한정되지는 않는다. 그 다음으로 CNN 모델은, 문장 내의 단어들을 저차원 벡터로 변환한 뒤, 다양한 크기의 필터를 토대로 변환된 단어 벡터와 컨볼루션(Convolution) 변환을 수행한다. 이러한 변환을 통해 얻어진 결과를 하나의 특징 벡터(Feature Vector)로의 최대 풀링(Max Pooling) 및 드롭아웃 정규화(Dropout Normalization) 과정을 거쳐 분류할 수 있다.First, natural language processing should be performed. To this end, according to an embodiment of the present invention, the input text collected for learning is configured in units of Korean words or sentences. Since Hangul has a complex language structure in which several parts of speech are mixed, it is necessary to make appropriate word expressions through the NLP stage. Accordingly, it is possible to receive a text file as an input, analyze it in units of morphemes using a morpheme analyzer, and then extract only morphemes corresponding to a preset tag. Next, learning data needs to be generated, and the task of labeling the morpheme bundles extracted from the Korean natural language processor as one exercise according to a predetermined exercise purpose classification criterion can be performed. For example, the exercise labeling may be classified into a total of five exercises such as fitness (aerobic), weight training, yoga, Pilates, and swimming, but is not limited thereto. Next, the CNN model transforms the words in the sentence into low-dimensional vectors, and then performs convolutional transformation with the transformed word vectors based on filters of various sizes. A result obtained through such transformation can be classified through Max Pooling and Dropout Normalization into one feature vector.

이때, 사용되는 데이터베이스의 텍스트는, 입력의 전처리 과정을 거친 키워드의 모음과 라벨을 콤마(Comma)로 구분하는 형식을 이용할 수 있다. 이러한 데이터를 CNN 모델의 입력으로 사용하기 위해 키워드의 모음을 리스트로 변환하여 라벨과 함께 저장하는 워드 프로세싱(word processing) 과정을 추가로 수행할 수도 있다. 이렇게 생성된 데이터의 색인을 차원이 낮은 벡터로 임베딩하는 것으로 첫번째 레이어를 구성함으로써, 형성된 저차원 벡터를 각각 크기가 다른 필터를 통해 컨볼루션 연산을 수행하고, 이를 하나의 큰 특징 벡터로 병합하는 최대 풀링 과정을 거칠 수 있다. 이때, 컨볼루션 연산을 수행한 결과에 비선형성을 적용할 수 있고, VALID(유효값) 패딩을 통하여 엣지 패딩없이 문장을 슬라이드할 수 있다. 이후, 드롭아웃 정규화 레이어를 통하여 CNN의 오버피팅을 방지할 수 있고, 해당 레이어는 뉴런의 일부를 확률적으로 비활성화하여, 뉴런의 상호 적응을 방지하고 특징을 개별적으로 학습하도록 강제할 수 있다. 마지막으로, 특징 벡터를 통한 행렬 곱셈에 따른 점수가 가장 높은 것으로 라벨을 선택하여 예측할 수 있다. 정규화 확률로 변환된 최종 점수를 토대로 분류 문제에 대한 표준 손실함수인 크로스엔트로피 손실을 사용하여 손실 및 정확도를 계산할 수 있으며, 이를 토대로 테스트 과정에서 정확도를 측정할 수 있다.In this case, the text of the database used may use a format in which a set of keywords that have undergone an input preprocessing process and a label are separated by commas. In order to use this data as an input to the CNN model, a word processing process of converting a collection of keywords into a list and storing them together with a label may be additionally performed. By constructing the first layer by embedding the index of the data generated in this way into a low-dimensional vector, a convolution operation is performed on the formed low-dimensional vectors through filters of different sizes, and the maximum that merges them into one large feature vector. You can go through a pooling process. In this case, non-linearity may be applied to the result of performing the convolution operation, and sentences may be slid without edge padding through VALID (valid value) padding. Thereafter, the overfitting of the CNN can be prevented through the dropout regularization layer, and the layer can probabilistically deactivate some of the neurons, thereby preventing the neurons from mutually adapting and forcing them to learn features individually. Finally, it can be predicted by selecting the label with the highest score according to matrix multiplication through the feature vector. Based on the final score converted to the normalized probability, the loss and accuracy can be calculated using the cross-entropy loss, a standard loss function for classification problems, and based on this, the accuracy can be measured in the testing process.

이하, 도 4 및 5를 참조하여, 추출부(330) 및 사용자 그룹화부(340)를 설명한다.Hereinafter, the extraction unit 330 and the user grouping unit 340 will be described with reference to FIGS. 4 and 5 .

도 4는 산점도 기반으로 사용자를 그룹화하는 것을 설명하기 위한 예시도이다. 도 5는 도 4에 도시된 산점도 기반으로 그룹화된 사용자를 재그룹화하는 것을 설명하기 위한 도면이다.4 is an exemplary diagram for explaining grouping of users based on a scatter plot. FIG. 5 is a diagram for explaining regrouping of grouped users based on the scatterplot shown in FIG. 4 .

상기 추출부(330)는, 사용자별 코호트 항목에 따른 스포츠 특성을 추출하여 사용자를 코호트 그래프 상에 점으로 표시한 산점도를 출력하도록 구성된다. 예를 들어, 도 4의 경우, 2차원의 코호트 그래프 상에 산점도로 표시된 사용자의 분포 예시가 도시된다. 여기서, 코호트 그래프의 각 축은 코호트 항목에 의하며, 도시된 바와 같이, x축과 y축은 코호트 항목 C1 및 C2에 기초할 수 있다. 즉, 2개의 코호트 항목 의해 사용자별 스포츠 특성에 기초하여 사용자를 산점도로 출력할 수 있다. 여기서, C1, C2는 우선 순위의 코호트 항목일 수 있다. 이와 달리, 스포츠 특성을 3개의 코호트 항목으로 나타내는 경우, 코호트 그래프는 3차원 그래프일 수 있다. 즉, 사용자별 산점은 3차원의 좌표값 {x, y, z}을 가질 수 있다. 한편, 코호트 항목 정보는 미리 정해진 값으로 수치화되어 표시될 수 있으며, 해당 수치의 값이 근사할 수록 코호트 항목 정보가 유사한 것으로 취급될 수 있으며, 특정 코호트 항목 정보가 특정 상태 정보를 나타내는 경우, 정도에 따라 낮음과 높음으로 상태로 나열하고, 스케일링을 통해 수치화할 수 있다. 즉, 상기 코호트 항목에 대한 정보는 미리 정한 범위에서 수치화되며, 유사한 정보에 대해서는 인접한 수치로 산출되어 상기 코호트 그래프 상의 좌표값으로 나타내어진다. The extraction unit 330 is configured to extract a sports characteristic according to a cohort item for each user and output a scatter plot in which the user is displayed as a dot on the cohort graph. For example, in the case of FIG. 4 , an example of the distribution of users displayed as a scatter plot on a two-dimensional cohort graph is shown. Here, each axis of the cohort graph is based on the cohort item, and as shown, the x-axis and the y-axis may be based on the cohort items C1 and C2. That is, the user can be output as a scatterplot based on the sports characteristics for each user by the two cohort items. Here, C1 and C2 may be cohort items of priority. Alternatively, when sports characteristics are represented by three cohort items, the cohort graph may be a three-dimensional graph. That is, the scattered points for each user may have three-dimensional coordinate values {x, y, z}. On the other hand, cohort item information may be numerically displayed as a predetermined value, and as the value of the corresponding numerical value is approximated, the cohort item information may be treated as similar. It can be listed as low and high according to the state, and quantified through scaling. That is, information on the cohort item is digitized within a predetermined range, and similar information is calculated as an adjacent numerical value and expressed as a coordinate value on the cohort graph.

한편, 상기 코호트 그래프 상에 사용자별 산점도를 출력하는 방식은 다양한 방법에 의해 수행될 수 있다. 예를 들어, 앞서 설명한 바와 같이 코호트 항목 정보를 수치화하는 방식 또는 정보별 배점에 따라 출력되는 점수, 즉 가공된 정보에 기초하여, 그래프에 출력할 수 있으며, 사용자별로 코호트 항목 정보에 기초하여 사용자 유사도를 분석하고, 해당 값을 기준으로 산점도로 표시할 수 도 있다. 예를 들어, 후자의 경우, 딥러닝 Clustering 알고리즘을 사용해 유저 데이터 (인구통계학적 데이터, 웹/앱 활동 로그, 사용자 정보 등)를 기반으로 유저 유사도를 분석하고, 유저 유사도 분석 값을 기준으로 코호트 그래프 상에 산점도로 표시할 수 있다. Meanwhile, a method of outputting a scatter plot for each user on the cohort graph may be performed by various methods. For example, as described above, it is possible to output to a graph based on the method of digitizing cohort item information or the score output according to the distribution of each information, that is, the processed information, and the user similarity level based on the cohort item information for each user. can be analyzed and displayed as a scatter plot based on the corresponding value. For example, in the latter case, user similarity is analyzed based on user data (demographic data, web/app activity log, user information, etc.) using a deep learning clustering algorithm, and a cohort graph based on the user similarity analysis value It can be plotted as a scatter plot.

상기 사용자 그룹화부(340)는, 상기 코호트 그래프 상에 산점도로 표시된 사용자를 그룹화하도록 구성된다. 예를 들어, 도 4에 도시된 바와 같이, 일정 범위에 배열된 다수의 산점들을 유사한 그룹 G1으로 그룹화하도록 구성된다. 다만, 상기 산점도가 상기 코호트 그래프 상 특정 영역에 치우쳐 있는 경우, 상기 특정 영역을 기준으로 산점도를 재그룹화한다. 즉, 사용자 그룹이 어느 한쪽으로 치우쳐 있어, 일정 갯수의 그룹으로 분류가 어려운 경우, 해당 치우친 그룹을 분석 범위로 설정하여 해당 범위에 속한 사용자를 다시 재그룹화하도록 구성된다. 예를 들어, 도 5에 도시된 바와 같이 G1에 속하는 산점들의 좌표 정보에 기초하여 G1_1 그룹과 G1_2 그룹으로 재그룹화할 수 있다. 즉, 좌표 상으로 코호트 그래프 상에 인접한 산점들을 재그룹할 수 있다. 아울러, 재그룹한 사용자 그룹에 있어서도 추가적인 재그룹이 요구되는 경우, 동일 방식으로 재그룹이 이루어질 수 있다. The user grouping unit 340 is configured to group users displayed as scatter plots on the cohort graph. For example, as shown in FIG. 4 , it is configured to group a plurality of scattered points arranged in a certain range into a similar group G1. However, when the scatterplot is biased toward a specific region on the cohort graph, the scatterplot is regrouped based on the specific region. That is, when a user group is biased to one side and it is difficult to classify it into a certain number of groups, the biased group is set as an analysis range, and users belonging to the corresponding range are regrouped again. For example, as shown in FIG. 5 , the group may be regrouped into a G1_1 group and a G1_2 group based on coordinate information of scattered points belonging to G1. That is, it is possible to regroup adjacent scattered points on the cohort graph in terms of coordinates. In addition, if additional regrouping is required even in the regrouped user group, regrouping may be performed in the same manner.

한편, 상기 사용자 그룹화부(340)는 사용자 재그룹에 있어서, 기존의 코호트 그래프 상에 산점의 좌표 정보에 기초하는 것을 예로 설명하였으나, 이에 한정되지 않는다. 예를 들어, 앞서 설명한 바와 같이 우선순위가 있는 코호트 항목 정보에 따라 일차적으로 사용자 그룹을 그룹화하고, 재그룹이 요구되면, 차순위의 코호트 항목 정보를 추가하여 사용자 그룹의 재그룹이 이루어질 수 있다. 예를 들어, 2차원의 좌표를 갖는 산점에 있어서, 재그룹이 요구되면, 코호트 항목 정보를 추가하여, 3차원의 좌표를 갖는 산점으로 나타낸 다음 산점간의 거리를 기준으로 일정 유사도를 갖는 사용자를 재그룹화 할 수 있다. 물론, 이 후에도 재그룹이 요구되면, 다음 순위의 코호트 항목 정보를 추가하여 4차원 좌표로 나타내어 재그룹을 수행할 수 있다. Meanwhile, although the user grouping unit 340 described as an example that the user regrouping is based on coordinate information of scattered points on an existing cohort graph, the present invention is not limited thereto. For example, as described above, the user group is primarily grouped according to the cohort item information having priority, and when regrouping is requested, the user group may be regrouped by adding the cohort item information of the next priority. For example, in the case of scattered points with two-dimensional coordinates, if regrouping is requested, cohort item information is added, displayed as scattered points with three-dimensional coordinates, and then users with a certain degree of similarity are re-recorded based on the distance between the scattered points. can be grouped. Of course, if regrouping is requested even after this, the regrouping may be performed by adding information on the cohort item of the next rank and representing it in 4D coordinates.

즉, 상기 사용자 그룹화부(340)는 산점도 기반으로 분석범위를 최적화하여 사용자를 세분화 한다. 예를 들어, 재그룹이 요구되는 경우는, 다른 그룹 대비 특정 그룹에 속하는 사용자가 미리 정해진 범위보다 많은 경우, 또는 상기 스포츠 강좌 매칭 서버(300)에서 관리하는 미리 정해진 코호트 항목 매칭되는 스포츠 강좌의 수, 강좌에 수강 가능한 사용자 제한 수 등에 기초할 수 있다. 후자의 경우, 특정 코호트 그래프에 분포하는 사용자들로 구성된 특정 그룹에 매칭되는 스포츠 강좌의 수가 5개이고, 한 강좌 당 수강가능한 사용자 제한 5명인 경우, 특정 그룹에 속한 사용자가 25명에 오차범위를 포함하는 사용자 수보다 많은 경우, 해당 사용자들을 기준으로 재그룹이 이루어진다.That is, the user grouping unit 340 subdivides the user by optimizing the analysis range based on the scatter plot. For example, when regrouping is required, when there are more users belonging to a specific group compared to other groups than a predetermined range, or when the sports course matching server 300 manages the sports course matching number of cohort items matching the number of sports courses , a limit on the number of users who can take a course, and so on. In the latter case, if the number of sports courses matching a specific group composed of users distributed in a specific cohort graph is 5 and the number of users who can take one course is 5, the number of users belonging to the specific group is included in 25 users If there are more users than the number of users, regrouping is made based on the corresponding users.

한편, 이때, 그룹 개념은, 그룹의 프로파일을 기반으로 하여 그룹의 속성에 따른 유사도 계산을 통해 사용자의 속성정보와 유사하거나, 사용자의 선호도가 유사한 그룹을 추천해주는 방식일 수도 있다. 이때, 그룹의 프로파일 정 보가 명확하고 다양한 속성 값을 가지는 경우, 협업 필터링보다는 내용 기반의 그룹 추천 방식으로 구현될 수도 있다. 즉, 그룹은 복수의 개인으로 구성되어 있기 때문에, 개인보다는 그룹을 추천하는 방식을 사용할 수 있다. 이러한, 그룹 방식의 추천은 개인의 만족도를 보장하기 위하여 개인의 선호도와, 수강이력데이터에 대한 평가점수를 계산하여 추천될 수 있다. 초기 추천시 사용자의 평가점수가 부족한 상황을 고려하여 기 생성된 리뷰(후기)나 평점과 개인의 속성정보를 적용하여 그룹 유사도를 계산하는 방식을 이용할 수도 있다.Meanwhile, in this case, the group concept may be a method of recommending a group similar to the user's attribute information or having a similar user's preference through similarity calculation according to the group attribute based on the group profile. In this case, when the group profile information is clear and has various attribute values, it may be implemented as a content-based group recommendation method rather than collaborative filtering. That is, since a group consists of a plurality of individuals, a method of recommending a group rather than an individual may be used. This group-based recommendation may be recommended by calculating an evaluation score for individual preference and attendance history data in order to ensure individual satisfaction. Considering a situation in which the user's evaluation score is insufficient during initial recommendation, a method of calculating the group similarity by applying a previously generated review (review) or rating and individual attribute information may be used.

우선, 그룹 유사도의 평균 및 표준편차를 계산하기 위하여 속성정보와 유클리디안 계산법을 이용할 수 있다 이 때, 개인의 속성별 중심값 계산을 위해 평균과 표준편차를 사용할 수 있고, 속성별 중심값 기반 거리 계산을 위 해 다차원(속성정보)의 수치를 계산할 수 있다. 그리고, 그룹 간 거리 기반의 유사도를 계산할 수 있다. 물론, 상술한 방법 이외에도 다양한 방법이 이용될 수 있으며, 개인별로 각 특성정보를 분석하여 추천을 수행할 수도 있다. 이때, 상술한 그룹의 의미는 인구통계학적으로 유사한 속성을 가진 개인을 모아놓은 그룹을 의미할 수 있다.First, attribute information and the Euclidean calculation method can be used to calculate the mean and standard deviation of group similarity. Multidimensional (attribute information) values can be calculated for distance calculation. And, it is possible to calculate the similarity based on the distance between the groups. Of course, in addition to the above-described method, various methods may be used, and a recommendation may be performed by analyzing each characteristic information for each individual. In this case, the above-described group may mean a group in which individuals having demographically similar attributes are gathered.

이와 달리, 적어도 하나의 정보제공 서버(500)로부터 개인별 프로파일, 체력정보, 및 스포츠 프로그램을 포함하는 로우 데이터를 수집하고, 로우 데이터 내에 포함된 비정형(Unstructed) 데이터, 정형(Structured) 데이터 및 반정형 데이터(Semi-structured)를 정제하고, 메타 데이터로 분류를 포함한 전처리를 실시한 후, 전처리된 데이터를 데이터 마이닝(Data Mining)을 포함하는 분석을 실시할 수 있다. 이때, 데이터 마이닝은, 전처리된 데이터 간의 내재된 관계를 탐색하여 클래스에 대한 훈련 데이터 셋을 학습시켜 새로운 데이터의 클래스를 예측하는 분류(Classification) 또는 클래스 정보 없이 유사성을 기준으로 데이터를 그룹짓는 군집화(Clustering)를 수행할 수 있다. 물론, 이외에도 다양한 마이닝 방법이 존재할 수 있으며, 수집 및 저장되는 빅데이터의 종류나 이후에 요청될 질의(Query)의 종류에 따라 다르게 마이닝될 수도 있다. 이렇게 구축된 빅데이터는, 인공신경망 딥러닝이나 기계학습 등으로 검증과정을 거칠 수도 있다.In contrast, raw data including individual profiles, physical fitness information, and sports programs are collected from at least one information providing server 500 , and unstructured data, structured data, and semi-structured data included in the raw data are collected. After refining data (semi-structured) and performing preprocessing including classification as metadata, the preprocessed data may be analyzed including data mining. At this time, data mining is a classification that predicts a class of new data by learning a training data set for a class by exploring the inherent relationship between preprocessed data, or grouping data based on similarity without class information. clustering) can be performed. Of course, various other mining methods may exist, and mining may be performed differently depending on the type of big data to be collected and stored or the type of query to be requested later. Big data constructed in this way can be verified through artificial neural network deep learning or machine learning.

상기 강좌 매칭부(350)는 일정 유사도를 갖는 사용자들로 구성된 그룹별로 매칭되는 적어도 하나 이상의 스포츠 강좌를 매칭하도록 구성된다. 예를 들어, 상기 강좌 매칭부(350)는 구성원 분석부(351), 강좌 리스트 출력부(353) 및 리스트 재배열부(355)를 포함한다.The course matching unit 350 is configured to match at least one sports course matched for each group of users having a certain degree of similarity. For example, the course matching unit 350 includes a member analysis unit 351 , a course list output unit 353 , and a list rearrangement unit 355 .

상기 구성원 분석부(351)는 분류된 집단 내 구성원인 사용자별 매칭되는 강좌 정보를 분석하도록 구성된다. 예를 들어, 상기 구성원 분석부(351)는, 수강이력데이터 제공 서버(400)로부터 제공되는 사용자별 수강 이력을 수집하도록 구성된다. 상기 사용자별 수강 이력은 사용자의 수강한 강좌 내역, 수강한 강좌의 스포츠 자체의 난이도, 특정 스포츠 강좌의 상급자반, 중급자반, 초급자반을 수강했는지 등 강좌 난이도, 강좌를 수강하는 동안 사용자가 기록한 로그북 정보, 강사의 피드백 정보, 이에 기초한 성취도 등에 의해 사용자별 매칭되는 강좌 정보를 추출할 수 있다. The member analysis unit 351 is configured to analyze matching course information for each user who is a member of the classified group. For example, the member analysis unit 351 is configured to collect the attendance history for each user provided from the attendance history data providing server 400 . The course history for each user includes the course history taken by the user, the difficulty of the sport itself of the course taken, the course difficulty, such as whether the user has taken the advanced, intermediate, or beginner level of a specific sports course, the log recorded by the user while taking the course It is possible to extract course information that matches each user based on book information, feedback information of the instructor, and achievement based on the book information.

또한, 상기 강좌 정보에는 실제 수강한 강좌 정보뿐만 아니라, 수강하진 않았지만 관심이 있는 강좌 정보도 포함된다. 해당 정보는, 사용자별 스포츠 강좌 매칭 서비스 웹 페이지, 앱 페이지 등 내에서 특정 강좌에 대한 클릭, 체류 시간 등의 사용자 로그 정보로부터 분석된 사용자 이용 정보를 기초로 강좌 정보를 추출할 수 있다. 이밖에도, 사용자의 일반적인 기초 정보에 기초한 정보제공 서버(500)로부터 제공받은 강좌에 대한 인구통계학적 데이터에 기초할 수 있다.In addition, the course information includes not only information about courses actually taken, but also information about courses that you have not taken but are interested in. Corresponding information may extract course information based on user usage information analyzed from user log information such as clicks on a specific course in a sports course matching service web page for each user, an app page, and the like. In addition, it may be based on demographic data for a course provided from the information providing server 500 based on the user's general basic information.

상기 강좌 리스트 출력부(353)는 상기 구성원 분석부(351)에서 분석된 구성원별 강좌 정보를 통계 분석한 적어도 하나 이상의 스포츠 강좌를 순위에 따라 리스트를 생성하여 출력한다. 예를 들어, 다수의 구성원에 대한 강좌 정보에 기초하여 매칭되는 적어도 하나 이상의 스포츠 강좌가 출력될 수 있으며, 순위는 구성원에 따라 일치하는 갯수에 따라 정렬할 수 있다. 예를 들어, 구성원 다수가 매칭되는 순위에 따라, 리스트 - 1. 강좌_2 , 2. 강좌_1, 3. 강좌_3, 4.강좌_4 ~ 등으로 배열될 수 있다. 즉, 특정 그룹에 속하는 구성원은 통계적 분석 결과에 의해 해당 스포츠 강좌 리스트를 추천 스포츠 강좌로 제공받는다. The course list output unit 353 generates and outputs a list of at least one sports course obtained by statistically analyzing the course information for each member analyzed by the member analysis unit 351 according to the ranking. For example, at least one matching sports course may be output based on course information for a plurality of members, and the ranking may be sorted according to the number of matching members. For example, according to the order in which a plurality of members are matched, the list may be arranged as 1. Course_2 , 2. Course_1, 3. Course_3, 4. Course_4 ~, and the like. That is, a member belonging to a specific group is provided with the corresponding sports course list as a recommended sports course according to the statistical analysis result.

이와 달리, 상기 강좌 리스트 출력부(353)는 코호트 그래프 상에서 구획된 영역에 매칭된 미리 정해진 적어도 하나 이상의 스포츠 강좌를 출력할 수 있다. 예를 들어, 도 4의 코호트 그래프 상 구획된 영역에 미리 정해진 적어도 하나 이상의 스포츠가 매칭될 수 있다. 예를 들어, A 영역에 강좌_1이 매칭되고, B 영역에 강좌_2가 매칭된다고 할 때, G1 그룹이 A 영역과 B 영역에 포함되는 경우, G1 그룹의 사용자에게 강좌_1과 강좌_2를 매칭시킨다. 이 때, 순위는 G1 그룹의 중심 좌표, 예를 들어, 다수의 산점도 좌표값의 평균 좌표값이 위치하는 영역에 의해 결정될 수 있다. 즉, 평균 좌표값이 A 영역에 위치하는 경우 강좌_1이 우선순위 매칭될 수 있다. 한편, 영역 별 하나의 강좌가 매칭되는 것을 예로 설명하였으나, 영역별로 다수의 강좌가 매칭될 수 있음은 자명하다. Alternatively, the course list output unit 353 may output at least one predetermined sports course matched to the partitioned area on the cohort graph. For example, at least one predetermined sport may be matched to a partitioned area on the cohort graph of FIG. 4 . For example, assuming that course_1 is matched to area A and course_2 is matched to area B, if group G1 is included in area A and area B, users of group G1 receive course_1 and course_ match 2 In this case, the ranking may be determined by the central coordinates of the G1 group, for example, an area in which the average coordinate values of a plurality of scatter plot coordinate values are located. That is, when the average coordinate value is located in area A, the priority of course_1 may be matched. Meanwhile, although it has been described as an example that one course is matched for each area, it is obvious that a plurality of courses can be matched for each area.

상기 리스트 재배열부(355)는 상기 강좌 리스트 출력부(353)에서 출력된 스포츠 강좌 리스트를 사용자별 스포츠 특성에 맞춰 재배열하도록 구성된다. 예를 들어, 상기 리스트 재배열부(355)는, 사용자의 강좌 정보에 기초하여 스포츠 강좌별로 점수화하여 순위에 따라 배열할 수 있다. The list rearranging unit 355 is configured to rearrange the sports course list output from the course list output unit 353 according to the sports characteristics of each user. For example, the list rearranging unit 355 may rank each sports course according to a ranking based on the user's course information.

예를 들어, 사용자의 수강한 강좌 내역, 수강한 강좌의 스포츠 자체의 난이도, 특정 스포츠 강좌의 상급자반, 중급자반, 초급자반을 수강했는지 등 강좌 난이도, 강좌를 수강하는 동안 사용자가 기록한 로그북 정보, 강사의 피드백 정보, 이에 기초한 성취도 등 스포츠 특성에 기초하여 사용자별 추출된 강좌 정보를 점수화할 수 있다. For example, the course history of the course taken by the user, the difficulty of the sport itself of the course taken, the difficulty of the course, such as whether the user took the Advanced, Intermediate or Beginner level of a specific sports course, and logbook information recorded by the user while taking the course , it is possible to score the course information extracted for each user based on the sports characteristics, such as feedback information of the instructor, and achievement based thereon.

또한, 사용자별 스포츠 강좌 매칭 서비스 웹 페이지, 앱 페이지 등 내에서 특정 강좌에 대한 클릭, 체류 시간 등 사용자 로그 정보 등 스포츠 특성에 기초하여 스포츠 강좌를 점수화 할 수 있다. 한편, 점수화를 위한 각 특성 또는 행위별 배점은 미리 결정될 수 있다. 즉, 구매의 경우, 10점, 클릭의 경우, 1점 등이 부여될 수 있다. In addition, a sports course may be scored based on sports characteristics such as user log information such as clicks on a specific course in a sports course matching service web page for each user, an app page, etc., and the residence time. Meanwhile, a score for each characteristic or behavior for scoring may be predetermined. That is, in the case of purchase, 10 points, in the case of a click, 1 point, etc. may be given.

예를 들어, 앞서 설명한 리스트 출력부에서 출력된 리스트는 1. 강좌_2 , 2. 강좌_1, 3. 강좌_3, 4.강좌_4 등등 범위에서, 특정 사용자의 스포츠 특성은, 강좌_1 구매 ( +10 ), 강좌_2 클릭 ( +1 ), 강좌_1 구매 ( +10 )인 경우, 해당 특정 사용자에 특성화하여 재배열된 리스트는 1. 강좌_1 , 2. 강좌_2, 3. 강좌_3, 4.강좌_4 등 일 수 있다. For example, the list output from the list output unit described above is 1. Course_2 , 2. Course_1, 3. Course_3, 4. Course_4, etc. In the range, the sports characteristic of a specific user is, Course_ In the case of 1 purchase ( +10 ), course_2 click ( +1 ), or course_1 purchase ( +10 ), the rearranged list specializing in the specific user is 1. Course_1 , 2. Course_2, It can be 3. Course_3, 4. Course_4, etc.

한편, 상기 재배열된 리스트에는, 사용자 정보에 포함되는 사용자별 제한 조건 정보가 반영될 수 있다. 예를 들어, 상기 제한 조건 정보에는, 사용자별 강좌 학습이 가능한 지역적 범위, 시간, 비용, 강사의 성별 등이 포함될 수 있다. 즉, 재배열된 리스트 상의 스포츠 강좌 중에서 제한 조건에 부합하는 스포츠 강좌에 대해서만 추천 리스트로 제공될 수 있다. 또한, 재배열된 스포츠 강좌에 있어서, 사용자가 이미 수강한 강좌에 대해서는 리스트에서 제외될 수 있다. 이 경우, 수강한 강좌에서 파생되는 강좌가 있는 경우, 파생되는 강좌를 대신 재배열된 리스트 상에 포함시켜 제공할 수 있다. Meanwhile, the rearranged list may reflect user-specific restriction condition information included in the user information. For example, the constraint condition information may include a regional range, time, cost, and gender of an instructor in which course learning for each user is possible. That is, only sports courses that satisfy the restriction condition among sports courses on the rearranged list may be provided as a recommendation list. Also, in the rearranged sports courses, courses that the user has already taken may be excluded from the list. In this case, if there is a course derived from the course taken, the derived course may be included in the rearranged list instead of the provided course.

상기 전송부(360)는, 사용자별 속하는 그룹에 매칭되는 적어도 하나 이상의 스포츠 강좌로 구성된 리스트 및 사용자의 스포츠 특성에 기초하여 재배열된 적어도 하나 이상의 스포츠 강좌로 구성된 리스트 정보를 사용자 단말(100)로 전송할 수 있다. 또는, 상기 전송부(340)는, 사용자에게 각 시기에 어느 스포츠 강좌를 수강하면 좋을지에 대한 정보를 리스트업하여 전송할 수도 있다. The transmitter 360 transmits, to the user terminal 100, a list consisting of at least one sports course matching a group belonging to each user and at least one sports course rearranged based on the user's sports characteristics to the user terminal 100 . can be transmitted Alternatively, the transmission unit 340 may list up information on which sports course to take at each time to the user and transmit the list.

즉, 본 발명의 일 실시 예에 따르면, 사용자 각각의 스포츠 특성과 연관된 연령, 취향, 성격, 실력, 동기, 선호 등 다방면의 개인 데이터(Personal Data)를 수집하고, 유사도 높은 사용자들을 그룹핑하며, 코호트 분석에 의해 그룹핑된 집단에 최적화된 적어도 하나 이상의 스포츠 강좌 리스트를 제공할 수 있다.That is, according to an embodiment of the present invention, personal data of various fields such as age, taste, personality, ability, motivation, preference, etc. associated with each sports characteristic of each user is collected, users with high similarity are grouped, and a cohort It is possible to provide a list of at least one or more sports lectures optimized for the grouped group by analysis.

또한, 상기 적어도 하나 이상의 스포츠 강좌들 중에서, 개인별 스포츠 특성 정보에 기초하여, 개인별 맞춤형으로 재정렬된 스포츠 강좌 리스트를 제공할 수 있다. 또한, 추천되는 적어도 하나의 스포츠 강좌 정보는 시기별 사용자의 상태에 따라 업데이트될 수 있다. Also, from among the at least one or more sports courses, a list of sports courses rearranged to be customized for each individual may be provided based on individual sports characteristic information. In addition, information on at least one recommended sports course may be updated according to a user's status for each period.

이하, 도 6 및 도 7을 참조하여, 본 발명의 일 실시예에 따른 스포츠 강좌 매칭 방법을 설명한다. Hereinafter, a sports course matching method according to an embodiment of the present invention will be described with reference to FIGS. 6 and 7 .

도 6는 본 발명의 일 실시예에 따른 스포츠 강좌 매칭 방법을 설명하기 위한 흐름도이다. 6 is a flowchart illustrating a sports course matching method according to an embodiment of the present invention.

도 7은 도 6는 본 발명의 일 실시예에 따른 스포츠 강좌 매칭 방법을 설명하기 위한 앱 화면 예시도이다.7 is an exemplary view of an app screen for explaining a sports course matching method according to an embodiment of the present invention.

도 1 내지 도 7을 참조하면, 본 발명의 일 실시예에 따른 스포츠 강좌 매칭 방법은, 수집된 사용자 정보에 기초하여 스포츠 특성 분석하는 단계(S100), 스포츠 특성을 기초로 사용자를 그래프 상에 산점도로 표시하는 단계(S200), 산점도를 기준으로 유사도 있는 사용자를 그룹화하는 단계(S300), 그룹별 매칭되는 스포츠 강좌 리스트를 제공하는 단계(S400) 및 사용자 특성에 맞춰 스포츠 강좌 리스트를 재배열하는 단계(S500)를 포함한다. 1 to 7 , the sports course matching method according to an embodiment of the present invention includes a step of analyzing sports characteristics based on the collected user information (S100), and a scatter plot showing users on a graph based on the sports characteristics. (S200), grouping users with similarities based on the scatter plot (S300), providing a sports course list that matches each group (S400), and rearranging the sports course list according to user characteristics (S500).

상기 수집된 사용자 정보에 기초하여 스포츠 특성 분석하는 단계(S100)에서는, 사용자 단말(100)로부터 사용자 정보를 수집하고, 상기 수강이력데이터 제공 서버(400)로부터 제공되는 사용자별 수강 이력을 수집하도록 구성된다. 상기 사용자별 수강 이력은 사용자 정보에 포함된다. 상기 사용자 정보는 사용자별 스포츠 특성 분석을 위한 기초 자료로 사용되며, 후술하는 추출부(330)에서 사용자별 정보에 기초하여, 사용자의 스포츠 특성과 연관된 연령, 취향, 성격, 실력, 동기, 선호 등을 포함하는 다방면의 개인 데이터(Personal Data)를 추출하도록 구성된다. 상기 사용자 정보는 성별, 연령, 동기, 주소, 활동 범위 등과 같이 사용자로부터 직접 입력되는 정보와, 취향, 성격, 실력, 선호 등과 사용자로부터 입력되는 정보로부터 산출되는 정보를 포함한다. 예를 들어, 사용자의 스포츠 성향 등을 파악하기 위하여 질문지법, 즉 다수의 질문에 대한 답변으로부터 추출되는 결과값으로부터 정보를 수집할 수 있다. 예를 들어, 도 7의 (a)와 도시된 바와 같이, 사용자로부터 입력되는 정보를 수집할 수 있다. In the step (S100) of analyzing sports characteristics based on the collected user information, user information is collected from the user terminal 100 and the attendance history for each user provided from the attendance history data providing server 400 is collected. do. The attendance history for each user is included in the user information. The user information is used as basic data for analyzing sports characteristics for each user, and based on the information for each user in the extraction unit 330 to be described later, age, taste, personality, ability, motivation, preference, etc. related to the user's sports characteristics It is configured to extract a variety of personal data (Personal Data) including. The user information includes information directly input from the user, such as gender, age, motive, address, and activity range, and information calculated from information input from the user, such as taste, personality, ability, preference, and the like. For example, information may be collected from a questionnaire method, ie, a result value extracted from answers to a plurality of questions, in order to understand a user's sports tendency. For example, as shown in (a) of FIG. 7 , information input from the user may be collected.

상기 단계에서는, 수집된 사용자 정보에 기초하여, 사용자별 스포츠 특성을 분석할 수 있다. 즉, 앞서 설명한 바와 같이, 사용자로부터 입력된 정보, 사용자로부터 입력된 정보로부터 추출된 정보, 서버로부터 제공받은 정보 등 다수의 루트를 통한 정보에 기초하여, 사용자별 스포츠 특성을 분석한다. In the above step, based on the collected user information, it is possible to analyze the sports characteristics for each user. That is, as described above, based on information through multiple routes, such as information input from a user, information extracted from information input from a user, and information provided from a server, sports characteristics for each user are analyzed.

예를 들어, 다수의 루트를 통하여 수집된 정보별로 가중치를 부여하여 사용자의 스포츠 특성을 분석할 수 있다. 상기 가중치의 경우, 사용자로부터 직접 입력된 정보에 가중치가 부여될 수 있으며, 또는 여러 루트를 통해 동일한 정보가 추출되는 경우 해당 정보에 가중치가 부여될 수 있다. 상기 스포츠 특성은, 코호트 분석을 위한 지표로서, 앞서 설명한, 개인화 데이터인 사용자별 연령, 취향, 성격, 실력, 동기, 선호 정보 등의 코호트 항목으로 분석될 수 있다. 해당 코호트 항목 하위 코호트 항목으로 세분화될 수 있다. 예를 들어, 실력 코호트 항목 경우, 민첩성, 힘, 체력 등의 코호트 항목으로 세분화될 수 있다. For example, the user's sports characteristics may be analyzed by assigning a weight to each information collected through a plurality of routes. In the case of the weight, a weight may be given to information directly input from a user, or if the same information is extracted through multiple routes, a weight may be assigned to the corresponding information. The sports characteristic, as an index for cohort analysis, may be analyzed as cohort items such as age, taste, personality, ability, motivation, preference information, etc. for each user, which are the aforementioned personalized data. Corresponding cohort items can be subdivided into sub-cohort items. For example, in the case of a skill cohort item, it may be subdivided into cohort items such as agility, strength, and stamina.

또한, 상기 각 코호트 항목 정보는 특정 정보 또는 수치화된 정보로 나타낼 수 있다. 예를 들어, 동기 코호트 항목 사용자로부터 "다이어트 목적"으로 해당 서비스에 회원 가입 시 입력된 정보에 기초하거나, 또는 이전 수강된 강좌명에서 "다이어트 목적"으로 기재된 강좌가 있는 경우, 해당 정보에 기초하여, 동기 정보 항복이 "다이어트"로 나타낼 수 있다. 물론, 해당 정보는 우선순위에 따라 적어도 하나 이상의 정보로 나타낼 수 있다. 예를 들어, 다이어트가 1 순위이고, 근력증강 등이 2 순위로 분석될 수 있다. In addition, each cohort item information may be expressed as specific information or numerical information. For example, based on the information entered when signing up for the service for “diet purposes” from users of the synchronous cohort, or if there is a course written as “diet purpose” in the course name previously taken, based on that information , synchronous information surrender can be referred to as "diet". Of course, the corresponding information may be represented as at least one or more pieces of information according to priority. For example, a diet may be analyzed as the 1st priority, and muscle strength enhancement as the 2nd priority.

즉, 상기 코호트 항목 정보를 조합한 코호트 분류에 따라 사용자를 분류할 수 있다. 예르 들어, 도 7의 (b)에 도시된 바와 같이, 사용자별 유형을 분류할 수 있다. 예를 들어, 상기 코호트 분류는 코호트 항목 개수에 따라 2차원, 3차원 또는 N 차원의 코호트 항목 조합된 정보를 각 코호트로 나타낼 수 있다. 예를 들어, 연령 정보에 기초한 코호트 분류를 설명하면, 연령별 사용자를 분류하여 형성한 각 사용자 코호트들은 “연령”의 특성을 공유하는 코호트가 된다. 예를 들어서, 10대 사용자들은 코호트 1, 20대 사용자들은 코호트 2, 30대 사용자들은 코호트 3, 등이 된다. 물론 각 플랫폼 기준의 코호트 1, 코호트 2, 코호트 3은, 각각의 코호트 내에서 세부 분류 기준 (예를 들어서, 초반 중반 후반)에 따라서 코호트 1a, 코호트 1b, 코호트 1c와 같이 서브 코호트(sub cohort)로 세분화될 수 있다. 마찬가지로 코호트 1a 역시 재차 세분화될 수 있다. 즉, N개의 코호트 항목 따라, 사용자별 스포츠 특성을 분석하는 경우, 사용자별로 N개의 코호트에 의해 분류된 스포츠 특성을 갖는 것으로 분류할 수 있다. 한편, 코호트 항목 있어서도 우선 순위가 부여될 수 있다. 예를 들어, 후술하는 추출부(330)에서 코호트 항목 우선순위에 따라 사용자를 그래프 상에 배치할 수 있고, 사용자의 그룹을 나눌 필요가 있을 때, 차순위의 코호트 항목 따라 사용자를 추가 분류할 수 있다.That is, the user may be classified according to the cohort classification combining the cohort item information. For example, as shown in (b) of FIG. 7 , types may be classified for each user. For example, the cohort classification may represent the combined information of two-dimensional, three-dimensional, or N-dimensional cohort items for each cohort according to the number of cohort items. For example, when cohort classification based on age information is described, each user cohort formed by classifying users by age becomes a cohort sharing the characteristic of “age”. For example, users in their teens are in Cohort 1, users in their 20s are in Cohort 2, users in their 30s are in Cohort 3, and so on. Of course, Cohort 1, Cohort 2, and Cohort 3 for each platform are sub-cohorts, such as Cohort 1a, Cohort 1b, and Cohort 1c, according to the sub-classification criteria (eg, early mid-late) within each cohort. can be subdivided into Likewise, cohort 1a can also be subdivided. That is, when sports characteristics for each user are analyzed according to N cohort items, each user may be classified as having sports characteristics classified by N cohorts. Meanwhile, priority may be given to cohort items as well. For example, the extraction unit 330 to be described later may place users on the graph according to cohort item priorities, and when it is necessary to divide users into groups, users may be further classified according to the next cohort item. .

상기 스포츠 특성을 기초로 사용자를 그래프 상에 산점도로 표시하는 단계(S200)에서는, 사용자별 코호트에 따른 스포츠 특성을 추출하여 사용자를 코호트 그래프 상에 점으로 표시한 산점도를 출력하도록 구성된다. 예를 들어, 도 4의 경우, 2차원의 코호트 그래프 상에 산점도로 표시된 사용자의 분포 예시가 도시된다. 여기서, 코호트 그래프의 x축과 y축은 코호트 항목 C1 및 C2에 기초할 수 있다. 즉, 2개의 코호트 항목 의해 사용자별 스포츠 특성에 기초하여 사용자를 산점도로 출력할 수 있다. 여기서, C1, C2는 코호트 항목 우선 순위에 따른 코호트 항목 수 있다. 이와 달리, 스포츠 특성을 3개의 코호트 항목으로 나타내는 경우, 코호트 그래프는 3차원 그래프일 수 있다. 즉, 사용자별 산점은 3차원의 좌표값 {x, y, z}을 가질 수 있다. 한편, 코호트 항목 정보는 미리 정해진 값으로 수치화되어 표시될 수 있으며, 해당 수치의 값이 근사할 수록 코호트 항목 정보가 유사한 것으로 취급될 수 있으며, 특정 코호트 항목 정보가 특정 상태 정보를 나타내는 경우, 정도에 따라 낮음과 높음으로 상태로 나열하고, 스케일링을 통해 수치화할 수 있다. In the step of displaying the user as a scatter plot on the graph based on the sports characteristics ( S200 ), it is configured to extract the sports characteristics according to the cohort for each user and output a scatter plot in which the user is displayed as a dot on the cohort graph. For example, in the case of FIG. 4 , an example of the distribution of users displayed as a scatter plot on a two-dimensional cohort graph is shown. Here, the x-axis and y-axis of the cohort graph may be based on cohort items C1 and C2. That is, the user can be output as a scatterplot based on the sports characteristics for each user by the two cohort items. Here, C1 and C2 may be cohort items according to cohort item priority. Alternatively, when sports characteristics are represented by three cohort items, the cohort graph may be a three-dimensional graph. That is, the scattered points for each user may have three-dimensional coordinate values {x, y, z}. On the other hand, cohort item information may be numerically displayed as a predetermined value, and as the value of the corresponding numerical value is approximated, the cohort item information may be treated as similar. It can be listed as low and high according to the state, and quantified through scaling.

한편, 상기 코호트 그래프 상에 사용자별 산점도를 출력하는 방식은 다양한 방법에 의해 수행될 수 있다. 예를 들어, 앞서 설명한 바와 같이 코호트 항목 정보를 수치화하는 방식 또는 정보별 배점에 따라 출력되는 점수, 즉 가공된 정보에 기초하여, 그래프에 출력할 수 있으며, 사용자별로 코호트 항목 정보에 기초하여 사용자 유사도를 분석하고, 해당 값을 기준으로 산점도로 표시할 수 도 있다. 예를 들어, 후자의 경우, 딥러닝 Clustering 알고리즘을 사용해 유저 데이터 (인구통계학적 데이터, 웹/앱 활동 로그, 사용자 정보 등)를 기반으로 유저 유사도를 분석하고, 유저 유사도 분석 값을 기준으로 코호트 그래프 상에 산점도로 표시할 수 있다. Meanwhile, a method of outputting a scatter plot for each user on the cohort graph may be performed by various methods. For example, as described above, it is possible to output to a graph based on the method of digitizing cohort item information or the score output according to the distribution of each information, that is, the processed information, and the user similarity level based on the cohort item information for each user. can be analyzed and displayed as a scatter plot based on the corresponding value. For example, in the latter case, user similarity is analyzed based on user data (demographic data, web/app activity log, user information, etc.) using a deep learning clustering algorithm, and a cohort graph based on the user similarity analysis value It can be plotted as a scatter plot.

상기 산점도를 기준으로 유사도 있는 사용자를 그룹화하는 단계(S300)에서는 상기 코호트 그래프 상에 산점도로 표시된 사용자를 그룹화하도록 구성된다. 예를 들어, 도 4에 도시된 바와 같이, 일정 범위에 배열된 다수의 산점들을 유사한 그룹 G1으로 그룹화하도록 구성된다. 다만, 사용자 그룹이 어느 한쪽으로 치우쳐 있어, 일정 갯수의 그룹으로 분류가 어려운 경우, 해당 치우친 그룹을 분석 범위로 설정하여 해당 범위에 속한 사용자를 다시 재그룹화하도록 구성된다. 예를 들어, 도 5에 도시된 바와 같이 G1에 속하는 산점들의 좌표 정보에 기초하여 G1_1 그룹과 G1_2 그룹으로 재그룹화할 수 있다. 즉, 좌표 상으로 코호트 그래프 상에 인접한 산점들을 재그룹할 수 있다. 아울러, 재그룹한 사용자 그룹에 있어서도 추가적인 재그룹이 요구되는 경우, 동일 방식으로 재그룹이 이루어질 수 있다. In the step of grouping users with similarities based on the scatter plot ( S300 ), the users displayed on the cohort graph as a scatter plot are grouped. For example, as shown in FIG. 4 , it is configured to group a plurality of scattered points arranged in a certain range into a similar group G1. However, if the user group is biased to one side and it is difficult to classify the group into a certain number of groups, the biased group is set as the analysis range and the users belonging to the corresponding range are regrouped again. For example, as shown in FIG. 5 , the group may be regrouped into a G1_1 group and a G1_2 group based on coordinate information of scattered points belonging to G1. That is, it is possible to regroup adjacent scattered points on the cohort graph in terms of coordinates. In addition, if additional regrouping is required even in the regrouped user group, regrouping may be performed in the same manner.

한편, 사용자 재그룹에 있어서, 기존의 코호트 그래프 상에 산점의 좌표 정보에 기초하는 것을 예로 설명하였으나, 이에 한정되지 않는다. 예를 들어, 앞서 설명한 바와 같이 우선순위가 있는 코호트 항목 정보에 따라 일차적으로 사용자 그룹을 그룹화하고, 재그룹이 요구되면, 차순위의 코호트 항목 정보를 추가하여 사용자 그룹의 재그룹이 이루어질 수 있다. 예를 들어, 2차원의 좌표를 갖는 산점에 있어서, 재그룹이 요구되면, 코호트 항목 정보를 추가하여, 3차원의 좌표를 갖는 산점으로 나타낸 다음 산점간의 거리를 기준으로 일정 유사도를 갖는 사용자를 재그룹화 할 수 있다. 물론, 이 후에도 재그룹이 요구되면, 다음 순위의 코호트 항목 정보를 추가하여 4차원 좌표로 나타내어 재그룹을 수행할 수 있다. Meanwhile, although it has been described as an example that the user regroup is based on coordinate information of scattered points on an existing cohort graph, the present invention is not limited thereto. For example, as described above, the user group is primarily grouped according to the cohort item information having priority, and when regrouping is requested, the user group may be regrouped by adding the cohort item information of the next priority. For example, in the case of scattered points with two-dimensional coordinates, if regrouping is requested, cohort item information is added, displayed as scattered points with three-dimensional coordinates, and then users with a certain degree of similarity are re-recorded based on the distance between the scattered points. can be grouped. Of course, if regrouping is requested even after this, the regrouping may be performed by adding information on the cohort item of the next rank and representing it in 4D coordinates.

즉, 산점도 기반으로 분석범위를 최적화하여 사용자를 세분화 한다. 예를 들어, 재그룹이 요구되는 경우는, 다른 그룹 대비 특정 그룹에 속하는 사용자가 미리 정해진 범위보다 많은 경우, 또는 상기 스포츠 강좌 매칭 서버(300)에서 관리하는 미리 정해진 코호트 항목 매칭되는 스포츠 강좌의 수, 강좌에 수강 가능한 사용자 제한 수 등에 기초할 수 있다. 후자의 경우, 특정 코호트 그래프에 분포하는 사용자들로 구성된 특정 그룹에 매칭되는 스포츠 강좌의 수가 5개이고, 한 강좌 당 수강가능한 사용자 제한 5명인 경우, 특정 그룹에 속한 사용자가 25명에 오차범위를 포함하는 사용자 수보다 많은 경우, 해당 사용자들을 기준으로 재그룹이 이루어진다.In other words, users are segmented by optimizing the analysis range based on the scatter plot. For example, when regrouping is required, when there are more users belonging to a specific group compared to other groups than a predetermined range, or when the sports course matching server 300 manages the sports course matching number of cohort items matching the number of sports courses , a limit on the number of users who can take a course, and so on. In the latter case, if the number of sports courses matching a specific group composed of users distributed in a specific cohort graph is 5 and the number of users who can take one course is 5, the number of users belonging to the specific group is included in 25 users If there are more users than the number of users, regrouping is made based on the corresponding users.

상기 그룹별 매칭되는 스포츠 강좌 리스트를 제공하는 단계(S400)에서는 분류된 집단 내 구성원인 사용자별 매칭되는 강좌 정보를 분석하도록 구성된다. 예를 들어, 상기 구성원 분석부(351)는, 수강이력데이터 제공 서버(400)로부터 제공되는 사용자별 수강 이력을 수집하도록 구성된다. 상기 사용자별 수강 이력은 사용자의 수강한 강좌 내역, 수강한 강좌의 스포츠 자체의 난이도, 특정 스포츠 강좌의 상급자반, 중급자반, 초급자반을 수강했는지 등 강좌 난이도, 강좌를 수강하는 동안 사용자가 기록한 로그북 정보, 강사의 피드백 정보, 이에 기초한 성취도 등에 의해 사용자별 매칭되는 강좌 정보를 추출할 수 있다. In the step (S400) of providing a list of sports courses to be matched for each group, it is configured to analyze matching course information for each user who is a member of the classified group. For example, the member analysis unit 351 is configured to collect the attendance history for each user provided from the attendance history data providing server 400 . The course history for each user includes the course history taken by the user, the difficulty of the sport itself of the course taken, the course difficulty, such as whether the user has taken the advanced, intermediate, or beginner level of a specific sports course, the log recorded by the user while taking the course It is possible to extract course information that matches each user based on book information, feedback information of the instructor, and achievement based on the book information.

또한, 상기 강좌 정보에는 실제 수강한 강좌 정보뿐만 아니라, 수강하진 않았지만 관심이 있는 강좌 정보도 포함된다. 해당 정보는, 사용자별 스포츠 강좌 매칭 서비스 웹 페이지, 앱 페이지 등 내에서 특정 강좌에 대한 클릭, 체류 시간 등의 사용자 로그 정보로부터 분석된 사용자 이용 정보를 기초로 강좌 정보를 추출할 수 있다. 이밖에도, 사용자의 일반적인 기초 정보에 기초한 정보제공 서버(500)로부터 제공받은 강좌에 대한 인구통계학적 데이터에 기초할 수 있다.In addition, the course information includes not only information about courses actually taken, but also information about courses that you have not taken but are interested in. Corresponding information may extract course information based on user usage information analyzed from user log information such as clicks on a specific course in a sports course matching service web page for each user, an app page, and the like. In addition, it may be based on demographic data for a course provided from the information providing server 500 based on the user's general basic information.

상기 강좌 리스트 출력부(353)는 상기 구성원 분석부(351)에서 분석된 구성원별 강좌 정보를 통계 분석한 적어도 하나 이상의 스포츠 강좌를 순위에 따라 리스트를 생성하여 출력한다. 예를 들어, 다수의 구성원에 대한 강좌 정보에 기초하여 매칭되는 적어도 하나 이상의 스포츠 강좌가 출력될 수 있으며, 순위는 구성원에 따라 일치하는 갯수에 따라 정렬할 수 있다. 예를 들어, 구성원 다수가 매칭되는 순위에 따라, 리스트 - 1. 강좌_2 , 2. 강좌_1, 3. 강좌_3, 4.강좌_4 ~ 등으로 배열될 수 있다. 즉, 특정 그룹에 속하는 구성원은 통계적 분석 결과에 의해 해당 스포츠 강좌 리스트를 추천 스포츠 강좌로 제공받는다. The course list output unit 353 generates and outputs a list of at least one sports course obtained by statistically analyzing the course information for each member analyzed by the member analysis unit 351 according to the ranking. For example, at least one matching sports course may be output based on course information for a plurality of members, and the ranking may be sorted according to the number of matching members. For example, according to the order in which a plurality of members are matched, the list may be arranged as 1. Course_2 , 2. Course_1, 3. Course_3, 4. Course_4 ~, and the like. That is, a member belonging to a specific group is provided with the corresponding sports course list as a recommended sports course according to the statistical analysis result.

이와 달리, 코호트 그래프 상에서 구획된 영역에 매칭된 미리 정해진 적어도 하나 이상의 스포츠 강좌를 출력할 수 있다. 예를 들어, 도 4의 코호트 그래프 상 구획된 영역에 미리 정해진 적어도 하나 이상의 스포츠가 매칭될 수 있다. 예를 들어, A 영역에 강좌_1이 매칭되고, B 영역에 강좌_2가 매칭된다고 할 때, G1 그룹이 A 영역과 B 영역에 포함되는 경우, G1 그룹의 사용자에게 강좌_1과 강좌_2를 매칭시킨다. 이 때, 순위는 G1 그룹의 중심 좌표, 예를 들어, 다수의 산점도 좌표값의 평균 좌표값이 위치하는 영역에 의해 결정될 수 있다. 즉, 평균 좌표값이 A 영역에 위치하는 경우 강좌_1이 우선순위 매칭될 수 있다. 한편, 영역 별 하나의 강좌가 매칭되는 것을 예로 설명하였으나, 영역별로 다수의 강좌가 매칭될 수 있음은 자명하다.Alternatively, at least one predetermined sports course matching the partitioned area on the cohort graph may be output. For example, at least one predetermined sport may be matched to a partitioned area on the cohort graph of FIG. 4 . For example, assuming that course_1 is matched to area A and course_2 is matched to area B, if group G1 is included in area A and area B, users of group G1 receive course_1 and course_ match 2 In this case, the ranking may be determined by the central coordinates of the G1 group, for example, an area in which the average coordinate values of a plurality of scatter plot coordinate values are located. That is, when the average coordinate value is located in area A, the priority of course_1 may be matched. Meanwhile, although it has been described as an example that one course is matched for each area, it is obvious that a plurality of courses can be matched for each area.

사용자 특성에 맞춰 스포츠 강좌 리스트를 재배열하는 단계(S500)에서는, 출력된 스포츠 강좌 리스트를 사용자별 스포츠 특성에 맞춰 재배열하도록 구성된다. 예를 들어, 사용자의 강좌 정보에 기초하여 스포츠 강좌별로 점수화하여 순위에 따라 배열할 수 있다. 예를 들어, 도 7의 (c)와 같이 순위에 따라 강좌를 추천/매칭할 수 있다. In the step of rearranging the sports course list according to the user characteristics ( S500 ), the output sports course list is configured to rearrange according to the sports characteristics of each user. For example, based on the user's course information, a score may be scored for each sports course and arranged according to a ranking. For example, as shown in (c) of FIG. 7 , courses may be recommended/matched according to the ranking.

예를 들어, 사용자의 수강한 강좌 내역, 수강한 강좌의 스포츠 자체의 난이도, 특정 스포츠 강좌의 상급자반, 중급자반, 초급자반을 수강했는지 등 강좌 난이도, 강좌를 수강하는 동안 사용자가 기록한 로그북 정보, 강사의 피드백 정보, 이에 기초한 성취도 등 스포츠 특성에 기초하여 사용자별 추출된 강좌 정보를 점수화할 수 있다. For example, the course history of the course taken by the user, the difficulty of the sport itself of the course taken, the difficulty of the course, such as whether the user took the Advanced, Intermediate or Beginner level of a specific sports course, and logbook information recorded by the user while taking the course , it is possible to score the course information extracted for each user based on the sports characteristics, such as feedback information of the instructor, and achievement based thereon.

또한, 사용자별 스포츠 강좌 매칭 서비스 웹 페이지, 앱 페이지 등 내에서 특정 강좌에 대한 클릭, 체류 시간 등 사용자 로그 정보 등 스포츠 특성에 기초하여 스포츠 강좌를 점수화 할 수 있다. 한편, 점수화를 위한 각 특성 또는 행위별 배점은 미리 결정될 수 있다. 즉, 구매의 경우, 10점, 클릭의 경우, 1점 등이 부여될 수 있다. In addition, a sports course may be scored based on sports characteristics such as user log information such as clicks on a specific course in a sports course matching service web page for each user, an app page, etc., and the residence time. Meanwhile, a score for each characteristic or behavior for scoring may be predetermined. That is, in the case of purchase, 10 points, in the case of a click, 1 point, etc. may be given.

예를 들어, 앞서 설명한 리스트 출력부에서 출력된 리스트는 1. 강좌_2 , 2. 강좌_1, 3. 강좌_3, 4.강좌_4 등등 범위에서, 특정 사용자의 스포츠 특성은, 강좌_1 구매 ( +10 ), 강좌_2 클릭 ( +1 ), 강좌_1 구매 ( +10 )인 경우, 해당 특정 사용자에 특성화하여 재배열된 리스트는 1. 강좌_1 , 2. 강좌_2, 3. 강좌_3, 4.강좌_4 등 일 수 있다. For example, the list output from the list output unit described above is 1. Course_2 , 2. Course_1, 3. Course_3, 4. Course_4, etc. In the range, the sports characteristic of a specific user is, Course_ In the case of 1 purchase ( +10 ), course_2 click ( +1 ), or course_1 purchase ( +10 ), the rearranged list specializing in the specific user is 1. Course_1 , 2. Course_2, It can be 3. Course_3, 4. Course_4, etc.

한편, 상기 재배열된 리스트에는, 사용자 정보에 포함되는 사용자별 제한 조건 정보가 반영될 수 있다. 예를 들어, 상기 제한 조건 정보에는, 사용자별 강좌 학습이 가능한 지역적 범위, 시간, 비용, 강사의 성별 등이 포함될 수 있다. 즉, 재배열된 리스트 상의 스포츠 강좌 중에서 제한 조건에 부합하는 스포츠 강좌에 대해서만 추천 리스트로 제공될 수 있다. 또한, 재배열된 스포츠 강좌에 있어서, 사용자가 이미 수강한 강좌에 대해서는 리스트에서 제외될 수 있다. 이 경우, 수강한 강좌에서 파생되는 강좌가 있는 경우, 파생되는 강좌를 대신 재배열된 리스트 상에 포함시켜 제공할 수 있다. Meanwhile, the rearranged list may reflect user-specific restriction condition information included in the user information. For example, the constraint condition information may include a regional range, time, cost, and gender of an instructor in which course learning for each user is possible. That is, only sports courses that satisfy the restriction condition among sports courses on the rearranged list may be provided as a recommendation list. Also, in the rearranged sports courses, courses that the user has already taken may be excluded from the list. In this case, if there is a course derived from the course taken, the derived course may be included in the rearranged list and provided instead.

도 8은 도 6의 스포츠 강좌 매칭 방법에 적용된 코호트 분석을 설명하기 위한 흐름도이다.8 is a flowchart for explaining a cohort analysis applied to the sports course matching method of FIG. 6 .

이하, 도 8을 참조하여, 코호트 분석 방법을 설명한다. 본 발명의 코호트 분석 방법은 스포츠 강좌 매칭 서버(300)에서 사용자 정보를 획득한다(S510). 스포츠 강좌 매칭 서버(300)은 획득한 사용자 정보를 스포츠 강좌 매칭 서버(300)의 데이터베이스 또는 메모리부 또는 제3의 저장매체에 저장할 수 있다. 획득한 사용자의 정보를 이용하여 스포츠 강좌 매칭 서버(300)가 코호트를 생성하고 코호트를 분석할 수 있다(S530). 스포츠 강좌 매칭 서버(300)는 분석된 코호트를 기준으로 사용자들을 분류할 수 있다. 즉, 개별 사용자들이 어느 하나의 코호트 또는 2개 이상의 코호트에 속하도록 스포츠 강좌 매칭 서버(300)이 분류할 수 있다.Hereinafter, a cohort analysis method will be described with reference to FIG. 8 . The cohort analysis method of the present invention obtains user information from the sports course matching server 300 (S510). The sports course matching server 300 may store the acquired user information in a database or memory unit of the sports course matching server 300 or a third storage medium. The sports course matching server 300 may generate a cohort and analyze the cohort using the acquired user information (S530). The sports course matching server 300 may classify users based on the analyzed cohort. That is, the sports course matching server 300 may classify individual users so that they belong to any one cohort or two or more cohorts.

이와 같이 스포츠 강좌 매칭 서버(300)에서 생성된 코호트 분석 정보(코호트 기반 사용자의 스포츠 특성)는 데이터베이스에 저장되어(S540) 스포츠 강좌 매칭의 세그먼테이션 단계에서 그대로 사용된다. 이를 위하여 스포츠 강좌 매칭은 저장된 코호트 분석 정보를 호출(S550)하고 호출된 코호트의 지표(식별자)를 확인한다(S560).As such, the cohort analysis information (sports characteristics of the cohort-based user) generated by the sports course matching server 300 is stored in the database (S540) and used as it is in the segmentation step of sports course matching. To this end, sports course matching calls the stored cohort analysis information (S550) and checks the index (identifier) of the called cohort (S560).

앞서 설명한 바와 같이 스포츠 강좌 매칭 서버(300)가 생성한 코호트가 스포츠 강좌 매칭에서 하나의 세그먼트에 대응될 수도 있지만 두 개 이상의 코호트가 하나의 세그먼트에 대응될 수도 있고 두 개의 코호트가 하나의 세그먼트(그룹)에 대응될 수도 있다. 이와 같은 과정을 통하여 스포츠 강좌 매칭 서버(300)는 스포츠 강좌 추천 대상이 되는 세그먼트를 생성하는 세그먼테이션(그룹 분류화)을 수행한다(S570).As described above, the cohort generated by the sports course matching server 300 may correspond to one segment in sports course matching, but two or more cohorts may correspond to one segment, and two cohorts may correspond to one segment (group). ) may correspond to Through this process, the sports course matching server 300 performs segmentation (group classification) for generating a segment to be recommended for a sports course (S570).

세그먼테이션 결과를 토대로 스포츠 강좌 매칭 서버(300)가 대응되는 스포츠 강좌를 매칭시킨다. 한편, 그룹이 특정 세그먼트로 집중되는 경우, 매칭이 전혀 집행되지 않는 세그먼트가 있을 수 있고, 복수의 스포츠 강좌가 한번에 집행되는 세그먼트도 존재할 수 있다. 따라서, 각 세그먼트에 대응되는 스포츠 강좌를 미리 지정시키거나, 예비적으로 스포츠 강좌가 여러 세그먼트를 커버하도록 개설시킬 수 있다. 이에 따라, 그룹별 적어도 하나 이상의 스포츠 강좌가 매칭되도록 할 수 있다. Based on the segmentation result, the sports course matching server 300 matches the corresponding sports course. On the other hand, when a group is focused on a specific segment, there may be a segment in which no matching is executed, and there may be a segment in which a plurality of sports lectures are executed at once. Accordingly, a sports course corresponding to each segment may be designated in advance, or a sports course may be opened to cover several segments in advance. Accordingly, at least one or more sports lectures for each group may be matched.

즉, 본원 발명에서는 단순히 사용자를 그룹별로 세분화하는 것만을 목표로 하는 것이 아니고, 사용자의 특화된 데이터 분석을 통하여 그룹별 및 개인화별 최적의 스포츠 강좌를 매칭시키되, 등록된 스포츠 강좌로서도 적어도 하나의 그룹은 매칭을 시킴으로써, 사용자와 스포츠 강좌간에 매칭을 최적화하는 것이다.That is, in the present invention, the present invention does not simply aim to subdivide the user into groups, but matches the optimal sports course for each group and individualization through the user's specialized data analysis, but at least one group as a registered sports course By matching, it is to optimize the matching between the user and the sports course.

또한, 코호트 또는 세그먼트별로 매칭되는 강좌 수 이들 간의 정보 제시 방법이 달라지므로, 어느 한 코호트에 속하는 다수의 개별사용자들의 특성의 분석결과가 매칭에 반영될 수 있는 것이다. 이런 점에서 단순히 개별 사용자의 정보를 반영하는 종래의 스포츠 매칭과는 본질적으로 상이하다고 할 것이다. In addition, since the number of courses matched for each cohort or segment and the method of presenting information between them are different, the analysis result of the characteristics of a plurality of individual users belonging to one cohort can be reflected in the matching. In this respect, it will be said that it is essentially different from the conventional sports matching that simply reflects the information of individual users.

스포츠 강좌 매칭 서버(300)는 매칭에 따른 사용자의 다양한 반응들을 반영(S590)하여 앞서 설명한 S510 내지 S580의 단계를 반복한다. 이러한 피드백 단계에서는 매칭 또는 매칭에 따른 강좌 수강 후 이에 대한 사용자의 반응여부와 반응률은 물론, 매칭 또는 매칭에 따른 강좌 수강 전후의 사용자 접속현황과 결제현황 정보를 반영할 수 있다. 이를 통하여 등록되는 스포츠 강좌의 라이프 사이클(life cycle) 별로 시시각각 변화하는 사용자들의 반응 변화를 반영하고 이를 업데이트에 따른 매칭 시의 적절하게 반영함으로써 결과적으로 스포츠 강좌가 적절하게 순환될 수 있도록 한다.The sports course matching server 300 repeats steps S510 to S580 described above by reflecting the user's various responses according to the matching (S590). In this feedback step, it is possible to reflect the user's response and response rate after taking a course according to matching or matching, as well as user access status and payment status information before and after taking a course according to matching or matching. Through this, by reflecting changes in users' reactions that change moment by moment for each life cycle of a registered sports course, and appropriately reflecting this change in matching according to an update, as a result, the sports course can be properly cycled.

또한, 스포츠 강좌 매칭 서버(300)는 매칭 또는 매칭에 따른 강좌 수강에 대한 사용자들의 반응, 예를 들어 인앱매출, 구매건수, 유저당 평균 결제금액, 구매 유저당 평균 결제금액, 구매유저수와 구매비율, 애플리케이션 세션수/평균 세션시간 등을 모니터링 하고서 코호트의 기준, 코호트의 개수 등을 변경하여 후속 사용자 분석이 행해지도록 피드백할 수 있다. 또한, 본 발명의 스포츠 강좌 매칭 서버(300)에서는 코호트 특성 분석에 강좌의 진행 패턴, 결제 빈도가 고려될 수 있다. 이 경우, 해당 코호트 특성에 가중치를 적용할 수 있다. In addition, the sports course matching server 300 is a response of users to matching or taking a course according to matching, for example, in-app sales, number of purchases, average payment amount per user, average payment amount per purchase user, number of purchase users and purchase ratio , the number of application sessions/average session time, etc. can be monitored, and the standard of the cohort, the number of cohorts, etc. can be changed to provide feedback for subsequent user analysis. In addition, in the sports course matching server 300 of the present invention, a course progress pattern and payment frequency may be considered in analyzing cohort characteristics. In this case, a weight may be applied to the corresponding cohort characteristic.

전술한 본 발명의 일 실시예에 따른 스포츠 강좌 매칭 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션 (즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 스포츠 강좌 매칭 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.The above-described sports course matching method according to an embodiment of the present invention may be executed by an application basically installed in a terminal (which may include a program included in a platform or operating system, etc. basically installed in the terminal), and a user may be executed by an application (ie, a program) installed directly on the master terminal through an application providing server such as an application store server, an application, or a web server related to the corresponding service. In this sense, the sports course matching method according to an embodiment of the present invention described above is implemented as an application (ie, a program) installed by default in a terminal or directly installed by a user, and a computer-readable recording medium such as a terminal can be recorded in

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a dispersed form, and likewise components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드(또는, 애플리케이션이나 소프트웨어)로서 구현하는 것이 가능하다. 상술한 스포츠 강좌 매칭 방법은 메모리 등에 저장된 코드에 의하여 실현될 수 있다.The present invention described above can be implemented as computer-readable code (or application or software) on a medium in which a program is recorded. The above-described sports course matching method may be realized by a code stored in a memory or the like.

컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 프로세서를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The computer-readable medium includes all types of recording devices in which data readable by a computer system is stored. Examples of computer-readable media include Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. There is also a carrier wave (eg, transmission over the Internet) that is implemented in the form of. In addition, the computer may include a processor. Accordingly, the above detailed description should not be construed as restrictive in all respects but as exemplary. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all modifications within the equivalent scope of the present invention are included in the scope of the present invention.

100: 사용자 단말
200: 네트워크
300: 스포츠 강좌 매칭 서버
310: 수집부
320: 분석부
330: 추출부
340: 사용자 그룹화부
350: 강좌 매칭부
360: 전송부
400: 수강 이력데이터 제공 서버
500: 정보 제공 서버
100: user terminal
200: network
300: sports course matching server
310: collection unit
320: analysis unit
330: extraction unit
340: user grouping unit
350: course matching unit
360: transmission unit
400: server for providing attendance history data
500: information providing server

Claims (10)

분석부, 추출부, 사용자 그룹화부 및 강좌 매칭부를 포함하는 스포츠 강좌 매칭 장치를 이용한 코호트 기반의 스포츠 강좌 매칭 방법에 있어서,
수집된 강좌 정보를 포함하는 사용자 정보에 기초하여 상기 분석부에서 사용자별 스포츠 특성을 코호트 분석하는 단계;
상기 추출부에서 상기 스포츠 특성에 기초하여, 다수의 사용자를 코호트 그래프 상에 산점도로 출력하는 단계;
상기 사용자 그룹화부에서 상기 코호트 그래프 상의 인접한 산점도를 기초로 적어도 하나 이상의 사용자를 그룹화하는 단계;
상기 강좌 매칭부에서 그룹화된 적어도 하나 이상의 사용자에게 그룹별 매칭되는 적어도 하나 이상의 스포츠 강좌로 구성된 제1 리스트를 제공하는 단계; 및
상기 강좌 매칭부에서 사용자별 상기 강좌 정보에 기초하여 상기 제1 리스트 속한 스포츠 강좌를 대상으로 점수화하여 상기 제1 리스트를 재배열한 사용자별 맞춤형의 제2 리스트를 제공하는 단계를 포함하고,
상기 사용자 그룹화부는 상기 산점도가 상기 코호트 그래프 상 특정 영역에 치우쳐 있는 경우, 상기 특정 영역을 기준으로 산점도를 재그룹화하는 단계를 더 포함하는 스포츠 강좌 매칭 방법.
A cohort-based sports course matching method using a sports course matching device including an analysis unit, an extraction unit, a user grouping unit, and a course matching unit, the method comprising:
cohort analysis of sports characteristics for each user in the analysis unit based on user information including the collected course information;
outputting a plurality of users as a scatter plot on a cohort graph based on the sports characteristics in the extraction unit;
grouping at least one user based on an adjacent scatter plot on the cohort graph in the user grouping unit;
providing a first list consisting of at least one sports course matched by group to at least one or more users grouped in the course matching unit; and
In the course matching unit, based on the course information for each user, scoring sports courses belonging to the first list and providing a second list customized for each user in which the first list is rearranged,
The user grouping unit further comprises the step of regrouping the scatter plot based on the specific area when the scatter plot is biased toward a specific area on the cohort graph.
제1 항에 있어서,
상기 강좌 정보는, 사용자가 수강한 스포츠 강좌 내역, 수강한 스포츠 강좌의 스포츠 자체의 난이도, 수강한 스포츠 강좌의 난이도, 스포츠 강좌를 수강하는 동안 사용자가 기록한 로그북 정보, 강사의 피드백 정보, 스포츠 강좌에 대한 성취도 정보, 스포츠 강좌별 클릭 정보, 스포츠 강좌별 체류 시간 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 스포츠 강좌 매칭 방법.
According to claim 1,
The course information includes a history of a sports course taken by the user, the difficulty level of the sports itself of the sports course taken, the difficulty level of the sports course taken, logbook information recorded by the user while taking the sports course, feedback information of the instructor, and sports course A sports course matching method comprising at least one of achievement information, click information for each sports course, and residence time information for each sports course.
제1 항에 있어서,
상기 코호트 항목에 대한 정보는 미리 정한 범위에서 수치화되며, 유사한 정보에 대해서는 인접한 수치로 산출되어 상기 코호트 그래프 상의 좌표값으로 나타내어지는 것을 특징으로 하는 스포츠 강좌 매칭 방법.
According to claim 1,
The information on the cohort item is digitized within a predetermined range, and the information about the cohort item is calculated as an adjacent numerical value for similar information and is expressed as a coordinate value on the cohort graph.
제1 항에 있어서,
상기 사용자별 스포츠 특성은 적어도 하나 이상의 코호트 항목의 조합에 대한 정보들로 분석되는 것을 특징으로 하는 스포츠 강좌 매칭 방법.
According to claim 1,
The sports course matching method, characterized in that the sports characteristics for each user are analyzed as information on a combination of at least one or more cohort items.
제4 항에 있어서,
코호트 그래프 상에 산점도로 출력하는 단계에서는, 다수의 코호트 항목 중 우선 순위에 따른 일부의 코호트 항목에 기초하여 사용자를 산점도로 출력하는 것을 특징으로 하는 스포츠 강좌 매칭 방법.
5. The method of claim 4,
In the step of outputting the scatter plot on the cohort graph, the sports course matching method, characterized in that outputting the user as a scatter plot based on some cohort items according to priority among a plurality of cohort items.
제5 항에 있어서,
상기 코호트 항목의 조합은 우선 순위의 2개의 코호트 항목에 의해 이루어지고, 상기 2개의 코호트 항목은 상기 코호트 그래프의 X 축 및 Y 축에 각각 배치되는 것을 특징으로 하는 스포츠 강좌 매칭 방법.
6. The method of claim 5,
A sports course matching method, characterized in that the combination of the cohort items is made by two cohort items of priority, and the two cohort items are respectively arranged on the X axis and the Y axis of the cohort graph.
삭제delete 제1 항에 있어서,
상기 제1 리스트는, 상기 그룹화된 적어도 하나 이상의 사용자의 강좌 정보를 통계화하여 순위별로 정렬된 것을 특징으로 하는 스포츠 강좌 매칭 방법.
According to claim 1,
The first list is a sports course matching method, characterized in that the grouped at least one user's course information is statistically sorted by rank.
제1항에 있어서,
상기 제2 리스트는, 상기 사용자 정보에 포함되는 사용자별 강좌 수강이 가능한 지역적 범위, 시간 및 비용 정보 중 적어도 하나를 포함하는 사용자별 제한 조건 정보가 반영된 스포츠 강좌가 정렬된 것을 특징으로 하는 스포츠 강좌 매칭 방법.
According to claim 1,
The second list is sports course matching, characterized in that sports courses in which the user-specific restriction condition information including at least one of the available regional range, time, and cost information included in the user information is reflected are sorted Way.
코호트 기반의 스포츠 강좌 매칭 장치에 있어서,
수집된 강좌 정보를 포함하는 사용자 정보에 기초하여 사용자별 스포츠 특성을 코호트 분석하는 분석부;
상기 스포츠 특성에 기초하여, 다수의 사용자를 코호트 그래프 상에 산점도로 출력하는 추출부;
상기 코호트 그래프 상의 인접한 산점도를 기초로 적어도 하나 이상의 사용자를 그룹화하는 사용자 그룹화부; 및
그룹화된 적어도 하나 이상의 사용자에게 그룹별 매칭되는 적어도 하나 이상의 스포츠 강좌로 구성된 제1 리스트를 제공하고, 사용자별 상기 강좌 정보에 기초하여 상기 제1 리스트 속한 스포츠 강좌를 대상으로 점수화하여 상기 제1 리스트를 재배열한 사용자별 맞춤형의 제2 리스트를 제공하는 강좌 매칭부를 포함하고,
상기 사용자 그룹화부는 상기 산점도가 상기 코호트 그래프 상 특정 영역에 치우쳐 있는 경우, 상기 특정 영역을 기준으로 산점도를 재그룹화하는 것을 특징으로 하는 스포츠 강좌 매칭 장치.
In the cohort-based sports course matching device,
an analysis unit for cohort analysis of sports characteristics for each user based on user information including the collected course information;
an extractor for outputting a plurality of users as a scatter plot on a cohort graph, based on the sports characteristics;
a user grouping unit for grouping at least one user based on an adjacent scatter plot on the cohort graph; and
Provide a first list consisting of at least one or more sports courses matched by group to at least one or more grouped users, and score the sports courses belonging to the first list based on the course information for each user to form the first list Includes a course matching unit that provides a second list customized for each user rearranged,
The user grouping unit regroups the scatter plot based on the specific area when the scatter plot is biased toward a specific area on the cohort graph.
KR1020210192021A 2021-12-30 2021-12-30 Method and system for matching sports class based on cohort analysis KR102414637B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210192021A KR102414637B1 (en) 2021-12-30 2021-12-30 Method and system for matching sports class based on cohort analysis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210192021A KR102414637B1 (en) 2021-12-30 2021-12-30 Method and system for matching sports class based on cohort analysis

Publications (1)

Publication Number Publication Date
KR102414637B1 true KR102414637B1 (en) 2022-06-29

Family

ID=82270296

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210192021A KR102414637B1 (en) 2021-12-30 2021-12-30 Method and system for matching sports class based on cohort analysis

Country Status (1)

Country Link
KR (1) KR102414637B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102491204B1 (en) * 2022-07-05 2023-01-19 김채현 Method and system for reservation and management of user-customized postnatal care center based on big data
KR102604759B1 (en) * 2022-08-01 2023-11-20 이승호 Method and system for providing community service based on metaverse

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170030401A (en) * 2015-09-09 2017-03-17 (주)비타소프트 User Group Clustering Method On the Basis of Analysis for Customer Experience Data
KR102137076B1 (en) * 2019-04-15 2020-07-23 최수지 System for providing sports program recommendation service using sports program history data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170030401A (en) * 2015-09-09 2017-03-17 (주)비타소프트 User Group Clustering Method On the Basis of Analysis for Customer Experience Data
KR102137076B1 (en) * 2019-04-15 2020-07-23 최수지 System for providing sports program recommendation service using sports program history data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102491204B1 (en) * 2022-07-05 2023-01-19 김채현 Method and system for reservation and management of user-customized postnatal care center based on big data
KR102604759B1 (en) * 2022-08-01 2023-11-20 이승호 Method and system for providing community service based on metaverse

Similar Documents

Publication Publication Date Title
JP6842538B2 (en) Teacher recommendation method in online education system
Li et al. Intelligent learning system based on personalized recommendation technology
Sagarin et al. An ethical approach to peeking at data
Salehi Application of implicit and explicit attribute based collaborative filtering and BIDE for learning resource recommendation
KR102414637B1 (en) Method and system for matching sports class based on cohort analysis
KR102137076B1 (en) System for providing sports program recommendation service using sports program history data
US12020267B2 (en) Method, apparatus, storage medium, and device for generating user profile
CN110110225B (en) Online education recommendation model based on user behavior data analysis and construction method
Liu et al. Hybrid design for sports data visualization using AI and big data analytics
Ran et al. An improved solution for partner selection of industry-university cooperation
KR102325409B1 (en) Method and system for personal sports curation based on artificial intelligence
Xie et al. Learning tfidf enhanced joint embedding for recipe-image cross-modal retrieval service
Rush et al. Ascertaining teachers’ perceptions of working with adolescents diagnosed with attention‐deficit/hyperactivity disorder
Gong et al. Estimate sentiment of crowds from social media during city events
Liu [Retracted] Internet‐Based Approaches to Designing an Online Fitness Platform
Casals et al. A systematic review of sport-related packages within the R CRAN repository
Ezin et al. 'Fitness that Fits':-A Prototype Model for Workout Video Recommendation
Lee et al. Study on the university students' satisfaction of the wisdom tree massive open online course platform based on parameter optimization intelligent algorithm
Chen et al. Evaluating digital divide based on big wireless logs: a case study among remote tribes in Taiwan
Shabnam Ara et al. A Comprehensive Survey on Usage of Learning Analytics for Enhancing Learner's Performance in Learning Portals
Wen et al. [Retracted] Influence of Short Video Application on College Students’ Mental Health under Big Data Monitoring Environment
Neto et al. Data Mining approach to understand the association between mental disorders and unemployment
CN111444338A (en) Text processing device, storage medium and equipment
Nguyen et al. Training Performance Indications for Amateur Athletes Based on Nutrition and Activity Lifelogs
KR102484522B1 (en) Method and system for providing usability test platform service based on metaverse

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant