KR102071197B1 - Control method, device and system of knowledge sharing platform for content management of coding education game - Google Patents

Control method, device and system of knowledge sharing platform for content management of coding education game Download PDF

Info

Publication number
KR102071197B1
KR102071197B1 KR1020190169250A KR20190169250A KR102071197B1 KR 102071197 B1 KR102071197 B1 KR 102071197B1 KR 1020190169250 A KR1020190169250 A KR 1020190169250A KR 20190169250 A KR20190169250 A KR 20190169250A KR 102071197 B1 KR102071197 B1 KR 102071197B1
Authority
KR
South Korea
Prior art keywords
data
character
server
learning
price
Prior art date
Application number
KR1020190169250A
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 KR1020190169250A priority Critical patent/KR102071197B1/en
Application granted granted Critical
Publication of KR102071197B1 publication Critical patent/KR102071197B1/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/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • 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/0601Electronic shopping [e-shopping]
    • G06Q30/0613Third-party assisted
    • G06Q30/0619Neutral agent
    • 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/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance

Abstract

Disclosed is a knowledge sharing platform for providing an environment where various knowledge content may be traded. According to the present invention, a method for controlling the knowledge sharing platform comprises the steps of: generating at least one piece of data of coding education content, a character, an APK file, a package, and design content by a seller terminal; transmitting the generated data to a server by the seller terminal; determining price of the received data by the server; registering the received data to the platform by the server; and transmitting the data to a purchaser terminal by the server if a user instruction for purchasing the data is received from the purchaser terminal.

Description

코딩교육 게임 컨텐츠 관리를 위한 지식 공유 플랫폼의 제어 방법, 장치 및 시스템{CONTROL METHOD, DEVICE AND SYSTEM OF KNOWLEDGE SHARING PLATFORM FOR CONTENT MANAGEMENT OF CODING EDUCATION GAME}CONTROL METHOD, DEVICE AND SYSTEM OF KNOWLEDGE SHARING PLATFORM FOR CONTENT MANAGEMENT OF CODING EDUCATION GAME}

본 발명은 코딩교육 게임 컨텐츠 관리를 위한 지식 공유 플랫폼의 제어 방법, 장치 및 시스템에 관한 것이다. The present invention relates to a method, apparatus and system for controlling a knowledge sharing platform for coding education game content management.

IT 기술의 발전에 따라, 다양한 지식을 공유하기 위한 필요성이 증가하고 있다. 예를 들어, 코딩 교육을 위한 컨텐츠, 작성된 프로그래밍 파일, 디자인 컨텐츠 등을 공유할 수 있는 플랫폼 구축에 대한 필요성이 증가하고 있다.With the development of IT technology, the need to share a variety of knowledge is increasing. For example, there is an increasing need for a platform for sharing content for coding education, written programming files, and design content.

종래의 다양한 컨텐츠 거래 플랫폼은 단순히 컨텐츠를 등록하고 매매할 수 있는 특징만을 가지고 있는 경우가 대부분이다. 그러나 지식 컨텐츠의 특성 상 컨텐츠의 거래뿐만 아니라 컨텐츠를 보호할 필요성 또한 존재하며, 나아가 지식 컨텐츠의 가치를 평가하는 방법이 중요한 실정이다.Most of the conventional various content trading platforms have only the characteristics of simply registering and trading content. However, due to the nature of knowledge contents, there is also a need to protect contents as well as transaction of contents, and furthermore, it is an important situation to evaluate the value of knowledge contents.

나아가, 기술의 발전과 함께 사용자에게 다양한 경험을 제공하는 가상 공간을 구축하는 기술들이 개발되고 있다. 가상현실(Virtual Reality)은 컴퓨터로 만들어 놓은 가상의 세계에서 사람이 실제와 같은 체험을 할 수 있도록 하는 기술이며, 가상현실(VR·virtual reality)과 현실 세계에 가상정보를 더해 보여주는 기술인 증강현실(AR:augmented reality)을 혼합한 기술은 혼합현실(MR:mixed reality)이라고 한다. VR과 AR, MR은 모두 실제로 존재하지 않은 현실을 구현해 사람이 이를 인지할 수 있도록 하는 기술이라는 점에서 공통점이 있다. 다만 AR은 실제 현실에 가상의 정보를 더해 보여 주는 방식이고, VR은 모두 허구의 상황이 제시된다는 점에서 차이가 있다. MR은 AR과 VR을 혼합해 현실 배경에 현실과 가상의 정보를 혼합시켜 제공하는데, 대용량 데이터를 처리할 수 있는 기술이 필요하다.Furthermore, with the development of technology, technologies for constructing a virtual space providing various experiences to users have been developed. Virtual reality is a technology that enables a person to experience life in a virtual world created by a computer, and augmented reality (VR) is a technology that adds virtual information to the real world. A technology that mixes AR: augmented reality is called mixed reality (MR). VR, AR, and MR are common in that they are technologies that enable people to recognize reality by realizing a reality that does not exist. However, AR is a method of adding virtual information to the real world, and VR is different in that a fictional situation is presented. MR mixes AR and VR to provide real and virtual information in a mixed background, and requires a technology capable of processing large amounts of data.

이때, 대용량 데이터의 처리에는 대용량 데이터를 전송하는 기술이 포함된다. 종래에는 대용량 데이터를 빠르게 전송하는 것에 문제점이 있었으나, 근래에는 28GHz의 초고대역 주파수를 사용하며, 최고 다운로드 속도가 20Gbps에 달하는 5세대 이동통신(5G Networks)의 보급이 시작되어, 가상 공간을 구축하데 발생하는 기술적 문제들을 보완하고 있다.At this time, the processing of large-capacity data includes a technique for transmitting large-capacity data. In the past, there was a problem in transmitting large amounts of data quickly, but recently, the use of ultra-high frequency of 28 GHz and the dissemination of the 5th generation mobile communication (5G Networks), which reaches the maximum download speed of 20 Gbps, began to build a virtual space It complements the technical problems that arise.

이러한 상황 속에서, 다양한 지식 컨텐츠를 효과적으로 보호하기 위한 지식 공유 플랫폼을 구현하는 방안이 필요한 시점이다.In this situation, it is time to implement a knowledge sharing platform to effectively protect various knowledge contents.

등록특허공보 제10-1783476호, 2017.10.10 공개Registered Patent Publication No. 10-1783476, October 10, 2017

본 발명이 해결하고자 하는 과제는 본 발명은 코딩교육 게임 컨텐츠 관리를 위한 지식 공유 플랫폼의 제어 방법, 장치 및 시스템을 제공하는 것이다.The problem to be solved by the present invention is to provide a control method, apparatus and system for a knowledge sharing platform for coding education game content management.

본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 지식 공유 플랫폼의 제어 방법은, 판매자 단말이 코딩 교육 컨텐츠, 캐릭터, APK 파일, 패키지 및 디자인 컨텐츠 중 적어도 하나의 데이터를 생성하는 단계; 상기 판매자 단말이 상기 생성된 적어도 하나의 데이터를 상기 서버로 전송하는 단계; 상기 서버가, 상기 수신된 적어도 하나의 데이터의 가격을 판단하는 단계; 상기 서버가, 상기 수신된 적어도 하나의 데이터를 상기 플랫폼에 등록하는 단계; 및 상기 서버가, 구매자 단말로부터 상기 적어도 하나의 데이터를 구매하기 위한 사용자 명령을 수신하면, 상기 구매자 단말로 상기 적어도 하나의 데이터를 전송하는 단계; 를 포함한다.A control method of a knowledge sharing platform according to an aspect of the present invention for solving the above-described problems includes: a seller terminal generating at least one data among coding education contents, characters, APK files, packages, and design contents; The seller terminal transmitting the generated at least one data to the server; Determining, by the server, the price of the received at least one data; The server registering the received at least one data with the platform; And when the server receives a user command for purchasing the at least one data from a buyer terminal, transmitting the at least one data to the buyer terminal. It includes.

이때, 상기 적어도 하나의 데이터가 캐릭터에 대한 데이터인 경우, 상기 적어도 하나의 데이터를 생성하는 단계는, 상기 서버가, 상기 판매자 단말로부터 생성될 캐릭터에 대한 정보를 수신하여 캐릭터를 생성하는 단계; 상기 서버가, 상기 판매자 단말로 상기 캐릭터를 학습시키기 위한 카테고리 정보를 전송하는 단계; 상기 전송된 카테고리 정보 중 적어도 하나에 대한 카테고리 정보를 상기 판매자 단말로부터 수신하는 단계; 및 상기 수신된 카테고리 정보를 바탕으로 캐릭터를 학습시키는 단계; 를 포함할 수 있다.In this case, when the at least one data is data for a character, the generating of the at least one data may include: the server receiving information about a character to be generated from the seller terminal to generate a character; Transmitting, by the server, category information for learning the character to the seller terminal; Receiving category information for at least one of the transmitted category information from the seller terminal; And learning a character based on the received category information. It may include.

이때, 상기 적어도 하나의 데이터가 APK 파일과 관련된 데이터인 경우, 상기 제어 방법은, 상기 APK 파일과 관련된 데이터로부터 적어도 하나의 패키지 데이터를 추출하는 단계; 를 포함하고, 상기 적어도 하나의 패키지 데이터를 추출하는 단계는, 상기 판매자 단말로부터 패키지에 대한 크기 정보, 기능 정보, 클래스 정보, 함수 정보 중 적어도 하나에 대한 조건을 수신하는 단계; 및 상기 수신된 조건을 바탕으로 상기 APK 파일로부터 적어도 하나의 패키지 데이터를 추출하는 단계;를 포함할 수 있다.At this time, when the at least one data is data related to the APK file, the control method includes: extracting at least one package data from data related to the APK file; The step of extracting the at least one package data includes: receiving conditions for at least one of size information, function information, class information, and function information about the package from the seller terminal; And extracting at least one package data from the APK file based on the received condition.

이때, 상기 학습시키는 단계는, 상기 수신된 카테고리 정보에 대응되는 학습데이터 및 상기 판매자 단말로부터 수신한 학습데이터를 수신하는 단계; 및 상기 수신된 학습데이터를 인공지능모델에 입력하여 학습시키는 단계; 를 더 포함하고, 상기 등록하는 단계는, 상기 적어도 하나의 데이터가 학습된 캐릭터와 관련된 데이터인 경우, 상기 인공지능모델에 입력된 학습데이터를 바탕으로 상기 캐릭터에 대한 요약 정보를 생성하는 단계; 및 상기 요약 정보를 상기 캐릭터와 함께 등록하는 단계; 를 포함할 수 있다.At this time, the step of learning comprises: receiving learning data corresponding to the received category information and learning data received from the seller terminal; And learning by inputting the received learning data into an artificial intelligence model. Further comprising, the step of registering, when the at least one data is data related to the learned character, generating summary information about the character based on the learning data input to the artificial intelligence model; And registering the summary information together with the character. It may include.

이때, 상기 적어도 하나의 데이터가 APK 파일 및 패키지 중 적어도 하나에 대한 데이터인 경우, 상기 제어 방법은, 상기 등록된 복수의 데이터 중 상기 APK 파일 또는 상기 패키지와 기 설정된 비율 이상 매칭되는 데이터가 존재하는지 판단하는 단계; 상기 매칭되는 데이터가 존재하는 경우, 상기 APK 파일 또는 상기 패키지가 저작권에 위반됨을 알리는 메시지를 상기 판매자 단말로 전송하는 단계; 및 상기 매칭되는 데이터가 존재하지 않는 경우, 상기 APK 파일 또는 상기 패키지를 저작권 등록할 것을 안내하는 메시지를 상기 판매자 단말로 전송하는 단계; 를 포함할 수 있다.At this time, if the at least one data is data for at least one of the APK file and the package, the control method may include whether there is data matching a predetermined ratio or more with the APK file or the package among the registered plurality of data. Judging; If the matching data exists, transmitting a message indicating that the APK file or the package is in violation of copyright to the seller terminal; And when the matching data does not exist, transmitting a message informing the copyright registration of the APK file or the package to the seller terminal. It may include.

이때, 상기 수신된 적어도 하나의 데이터의 가격을 판단하는 단계는, 상기 등록된 복수의 데이터를 클러스터링하여 복수의 클러스터를 획득하는 단계; 상기 수신된 적어도 하나의 데이터가 포함된 제1 클러스터를 획득하는 단계; 및 상기 제1 클러스터에 포함된 복수의 데이터의 가격 및 판매 횟수를 바탕으로 상기 수신된 적어도 하나의 데이터의 가격을 판단하는 단계; 를 포함할 수 있다.At this time, the step of determining the price of the received at least one data includes: obtaining a plurality of clusters by clustering the registered plurality of data; Obtaining a first cluster containing the received at least one data; And determining prices of the received at least one data based on price and number of sales of the plurality of data included in the first cluster. It may include.

이때, 상기 제어 방법은, 상기 제1 클러스터에 포함된 복수의 데이터의 개수 및 상기 판단된 적어도 하나의 데이터의 가격을 바탕으로 플랫폼 수수료를 판단하는 단계; 및 상기 구매자 단말이 상기 적어도 하나의 데이터를 구매하면, 상기 적어도 하나의 데이터에 대해 판단된 상기 플랫폼 수수료를 상기 플랫폼에 지급하는 단계;를 더 포함할 수 있다.At this time, the control method may include: determining a platform fee based on the number of the plurality of data included in the first cluster and the determined price of the at least one data; And when the purchaser terminal purchases the at least one data, paying the platform fee determined for the at least one data to the platform.

이때, 상기 요약 정보를 획득하는 단계는, 상기 인공지능 모델에 입력된 학습데이터 중, 상기 판매자 단말의 사용자 개인 정보와 관련된 학습데이터를 삭제하는 단계; 를 더 포함할 수 있다. At this time, the step of acquiring the summary information includes: deleting learning data related to user personal information of the seller terminal from among learning data input to the artificial intelligence model; It may further include.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific matters of the present invention are included in the detailed description and drawings.

상술한 본 발명의 다양한 실시예에 따라, 플랫폼은 다양한 지식 컨텐츠를 거래할 수 있는 환경을 제공할 수 있다.According to various embodiments of the present invention described above, the platform may provide an environment capable of trading various knowledge contents.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 발명의 일 실시예에 따른 지식 공유 플랫폼을 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 서버의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 지식 공유 플랫폼의 동작을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 거래되는 데이터가 캐릭터 데이터인 경우를 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 거래되는 데이터가 프로그래밍 파일인 경우를 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 거래되는 데이터의 요약 정보를 생성하는 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 지식 공유 플랫폼에 등록된 데이터가 저작권에 위반되는지 여부를 판단하는 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 거래되는 데이터의 가격을 판단하는 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 데이터 거래 시, 플랫폼에게 지급되는 수수료를 판단하는 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 장치의 구성도이다.
1 is a block diagram illustrating a knowledge sharing platform according to an embodiment of the present invention.
2 is a block diagram illustrating the configuration of a server according to an embodiment of the present invention.
3 is a flowchart illustrating the operation of the knowledge sharing platform according to an embodiment of the present invention.
4 is a flowchart illustrating a case in which data traded in a knowledge sharing platform according to an embodiment of the present invention is character data.
5 is a flowchart illustrating a case in which data traded in a knowledge sharing platform according to an embodiment of the present invention is a programming file.
6 is a flowchart illustrating a method of generating summary information of data traded in a knowledge sharing platform according to an embodiment of the present invention.
7 is a flowchart illustrating a method for determining whether data registered in the knowledge sharing platform according to an embodiment of the present invention is in violation of copyright.
8 is a flowchart illustrating a method of determining a price of data traded in a knowledge sharing platform according to an embodiment of the present invention.
9 is a flowchart for explaining a method of determining a fee paid to a platform when trading data in a knowledge sharing platform according to an embodiment of the present invention.
10 is a configuration diagram of an apparatus according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention, and methods for achieving them will be clarified with reference to embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, only the present embodiments allow the disclosure of the present invention to be complete, and are common in the technical field to which the present invention pertains. It is provided to fully inform the skilled person of the scope of the present invention, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for describing the embodiments and is not intended to limit the present invention. In this specification, the singular form also includes the plural form unless otherwise specified in the phrase. As used herein, “comprises” and / or “comprising” does not exclude the presence or addition of one or more other components other than the components mentioned. Throughout the specification, the same reference numerals refer to the same components, and “and / or” includes each and every combination of one or more of the mentioned components. Although "first", "second", etc. are used to describe various components, it goes without saying that these components are not limited by these terms. These terms are only used to distinguish one component from another component. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used as meanings commonly understood by those skilled in the art to which the present invention pertains. In addition, terms defined in the commonly used dictionary are not ideally or excessively interpreted unless explicitly defined.

명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.The term "part" or "module" as used in the specification means a hardware component such as software, FPGA or ASIC, and "part" or "module" performs certain roles. However, "part" or "module" is not meant to be limited to software or hardware. The "unit" or "module" may be configured to be in an addressable storage medium or may be configured to reproduce one or more processors. Thus, as an example, “part” or “module” means components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, Includes procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays and variables. The functionality provided within components and "parts" or "modules" can be combined into a smaller number of components and "parts" or "modules" or into additional components and "parts" or "modules" Can be further separated.

공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.The spatially relative terms “below”, “beneath”, “lower”, “above”, “upper”, etc., are as shown in the figure. It can be used to easily describe a correlation between a component and other components. The spatially relative terms should be understood as terms including different directions of components in use or operation in addition to the directions shown in the drawings. For example, if a component shown in the drawing is flipped over, the component described as "below" or "beneath" the other component will be placed "above" the other component. You can. Thus, the exemplary term “below” can include both the directions below and above. Components can also be oriented in different directions, and thus spatially relative terms can be interpreted according to orientation.

본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.In the present specification, the computer means all kinds of hardware devices including at least one processor, and may be understood as a meaning encompassing software configurations operating in the corresponding hardware device according to embodiments. For example, a computer may be understood as meaning including, but not limited to, a smartphone, a tablet PC, a desktop, a laptop, and user clients and applications running on each device.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.Each step described in this specification is described as being performed by a computer, but the subject of each step is not limited thereto, and according to an embodiment, at least some of the steps may be performed in different devices.

도 1은 본 발명의 일 실시예에 따른 지식 공유 플랫폼을 설명하기 위한 블록도이다.1 is a block diagram illustrating a knowledge sharing platform according to an embodiment of the present invention.

지식 공유 플랫폼은 복수의 판매자 단말(10), 서버(20) 및 복수의 구매자 단말(30)로 구성될 수 있다.The knowledge sharing platform may be composed of a plurality of seller terminals 10, a server 20, and a plurality of buyer terminals 30.

본 발명에 따른 복수의 판매자 단말(10) 및 복수의 구매자 단말(30)은 스마트 폰으로 구현될 수 있으나, 이는 일 실시예에 불과할 뿐, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC (desktop PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. The plurality of seller terminals 10 and the plurality of buyer terminals 30 according to the present invention may be implemented as a smart phone, but this is only an example, and includes a smart phone, a tablet personal computer (PC), Mobile phone, video phone, e-book reader, desktop PC, laptop PC, netbook computer, workstation, server, PDA (personal digital assistant), a portable multimedia player (PMP), an MP3 player, a mobile medical device, a camera, or a wearable device.

또 다른 실시 예로, 판매자 단말(10) 또는 구매자 단말(30)은 가전 제품(home appliance)일 수 있다. 가전 제품은, 예를 들면, 텔레비전, DVD 플레이어(Digital Video Disk player), 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync?, 애플TV?, 또는 구글 TV?), 게임 콘솔(예: Xbox?, PlayStation?), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.As another embodiment, the seller terminal 10 or the buyer terminal 30 may be a home appliance. Household appliances include, for example, televisions, DVD players (Digital Video Disk players), audio, refrigerators, air conditioners, vacuum cleaners, ovens, microwave ovens, washing machines, air cleaners, set-top boxes, and home automation. Home automation control panel, security control panel, TV box (eg Samsung HomeSync ?, Apple TV ?, or Google TV?), Game console (eg Xbox ?, PlayStation?), Electronics It may include at least one of a dictionary, an electronic key, a camcorder, or an electronic picture frame.

복수의 판매자 단말(10)은 제1 판매자 단말(11), 제2 판매자 단말(12) 및 제3 판매자 단말(13)을 포함할 수 있으며, 복수의 구매자 단말(30)은 제1 구매자 단말(31), 제2 구매자 단말(32) 및 제3 구매자 단말(33)을 포함할 수 있으나, 이에 한정되는 것은 아니며, 필요에 따라 다양한 수의 판매자 단말 및 구매자 단말을 포함할 수 있음은 물론이다.The plurality of seller terminals 10 may include a first seller terminal 11, a second seller terminal 12, and a third seller terminal 13, and the plurality of buyer terminals 30 may include a first buyer terminal ( 31), may include a second buyer terminal 32 and a third buyer terminal 33, but is not limited thereto, and may include a variety of seller terminals and buyer terminals as needed.

한편, 본 발명에서는 설명의 편의를 위해 특별히 지정하는 경우가 아닌 한, 제1 판매자 단말(11), 제2 판매자 단말(12) 및 제3 판매자 단말(13)을 판매자 단말(10)로, 제1 구매자 단말(31), 제2 구매자 단말(32) 및 제3 구매자 단말(33)을 구매자 단말(30)로 표현한다.On the other hand, in the present invention, unless specifically designated for convenience of description, the first seller terminal 11, the second seller terminal 12 and the third seller terminal 13 as the seller terminal 10, the The buyer terminal 31, the second buyer terminal 32, and the third buyer terminal 33 are represented as the buyer terminal 30.

판매자 단말(10) 및 구매자 단말(30)은 다양한 지식 컨텐츠를 판매하는 사용자의 단말과 구매하는 사용자의 단말을 구분하여 놓은 것일 뿐, 판매자 단말(10) 및 구매자 단말(30) 각각은 자유롭게 다양한 컨텐츠를 생성할 수 있음은 물론이며, 판매자 단말(10) 및 구매자 단말(30)이 서로 변경될 수도 있음은 물론이다.The seller terminal 10 and the buyer terminal 30 are merely a terminal of a user who sells various knowledge contents and a user's terminal that are purchased, and each of the seller terminal 10 and the buyer terminal 30 is free to use various contents. Of course, the seller terminal 10 and the buyer terminal 30 may be changed from each other.

서버(20)는 판매자 단말(10)과 구매자 단말(30)로부터 지식 컨텐츠에 대한 데이터를 전송 및 수신하기 위한 구성이다. 지식 컨텐츠의 거래를 위해 서버(20)는 후술하는 다양한 기능들을 수행할 수 있다.The server 20 is configured to transmit and receive data for knowledge content from the seller terminal 10 and the buyer terminal 30. For the transaction of knowledge content, the server 20 may perform various functions described below.

도 2는 본 발명의 일 실시예에 따른 서버의 구성을 설명하기 위한 블록도이다.2 is a block diagram illustrating the configuration of a server according to an embodiment of the present invention.

본 발명의 다양한 실시예에 따라, 서버(20)는, 코딩교육게임 관리 모듈(21), 캐릭터 관리 모듈(22), 프로그래밍파일 관리 모듈(23), 프로그래밍 명령어 관리 모듈(24) 및 2D/3D 디자인 관리 모듈(25)을 포함할 수 있다.According to various embodiments of the present invention, the server 20 includes a coding education game management module 21, a character management module 22, a programming file management module 23, a programming instruction management module 24 and 2D / 3D Design management module 25 may be included.

코딩교육게임 관리 모듈(21)은 판매자 단말(10)로부터 코딩교육 게임에 대한 컨텐츠를 수신하여 구매자 단말(30)로 전송하는 것을 제어하기 위한 모듈이다.The coding education game management module 21 is a module for controlling the reception of content for the coding education game from the seller terminal 10 and transmission to the buyer terminal 30.

일 실시예로, 코딩교육게임은 가상로봇을 이용한 증강현실 자기주도 코딩교육 학습 시스템을 포함하는 프로그램일 수 있다. 본 발명에 따른 코딩교육 게임은, 카메라를 포함하는 판매자 단말(10) 또는 구매자 단말(30)에 의하여 수행될 수 있다. In one embodiment, the coding education game may be a program including an augmented reality self-directed coding education learning system using a virtual robot. The coding education game according to the present invention may be performed by the seller terminal 10 or the buyer terminal 30 including the camera.

일 실시예로, 본 발명에서 거래되는 코딩교육 게임은, 코딩교육 컨텐츠를 획득하는 제1단계, 상기 코딩교육 컨텐츠에 포함된 하나 이상의 포인트를 선택하는 제2단계, 상기 카메라로부터 촬영된 영상을 획득하는 제3단계, 상기 촬영된 영상을 인식하고, 상기 촬영된 영상에 포함된 하나 이상의 객체와 상기 하나 이상의 포인트를 매칭하는 제4단계, 상기 촬영된 영상 및 상기 매칭된 하나 이상의 포인트를 표시하는 제5단계, 상기 촬영된 영상에 가상의 로봇을 표시하는 제6단계, 상기 가상의 로봇의 움직임을 제어하기 위한 하나 이상의 명령어를 각각 포함하는 하나 이상의 명령어 블록을 표시하는 제7단계, 상기 표시된 하나 이상의 명령어 블록에 대한 사용자 입력에 기초하여 상기 하나 이상의 명령어 블록을 상기 하나 이상의 포인트에 배치하는 제8단계, 상기 하나 이상의 명령어 블록이 배치된 순서에 따라 상기 가상의 로봇을 제어하되, 상기 가상의 로봇은 상기 하나 이상의 포인트를 따라 이동하고, 각각의 포인트에 배치된 명령어 블록에 대응하는 명령을 수행하는, 제9단계 및 상기 제어 결과에 따른 상기 가상의 로봇의 움직임을 표시하는 제10단계를 포함할 수 있다.In one embodiment, the coding education game traded in the present invention comprises: a first step of acquiring coding education content, a second step of selecting one or more points included in the coding education content, and obtaining an image captured from the camera A third step of recognizing the captured image, and a fourth step of matching the one or more objects with the one or more points included in the captured image, and displaying the captured image and the matched one or more points Step 5, a sixth step of displaying a virtual robot on the captured image, a seventh step of displaying one or more command blocks each including one or more commands for controlling the movement of the virtual robot, the one or more displayed Eighth stage to place the one or more instruction blocks at the one or more points based on user input to the instruction block , Controlling the virtual robot in the order in which the one or more command blocks are arranged, wherein the virtual robot moves along the one or more points, and executes a command corresponding to the command block disposed at each point, A ninth step and a tenth step of displaying the movement of the virtual robot according to the control result may be included.

이때, 상기 제1단계는, 상기 코딩교육 컨텐츠에 포함된 미션을 획득하는 제11단계 및 상기 미션을 표시하는 제12단계를 포함하고, 상기 제9단계는, 상기 제어 결과에 따른 상기 미션의 달성여부를 판단하는 제13단계 및 상기 미션의 달성여부에 따른 피드백을 표시하는 제14단계를 포함할 수 있다.In this case, the first step includes an eleventh step of acquiring a mission included in the coding education content and a twelfth step of displaying the mission, and the ninth step is achieved of the mission according to the control result. It may include a 13th step of judging whether or not and a 14th step of displaying feedback according to whether the mission is accomplished.

이때, 상기 제13단계는, 상기 하나 이상의 객체와 상기 가상의 로봇 간의 인터랙션을 판단하는 제15단계 및 상기 인터랙션에 기초하여 상기 하나 이상의 포인트 각각에서의 미션 달성여부를 판단하는 제16단계를 포함하고, 상기 제14단계는, 상기 하나 이상의 포인트 각각에서의 미션 달성여부에 따른 피드백을 표시하는, 제17단계를 포함할 수 있다.In this case, the thirteenth step includes a fifteenth step of determining an interaction between the one or more objects and the virtual robot, and a sixteenth step of determining whether a mission is achieved at each of the one or more points based on the interaction. , The 14th step may include a 17th step of displaying feedback according to whether or not the mission is achieved at each of the one or more points.

이때, 상기 제15단계는, 상기 하나 이상의 객체와 상기 가상의 로봇 간의 하나 이상의 접점을 판단하는 제18단계, 상기 하나 이상의 접점 각각에 대응하는 상기 하나 이상의 객체 및 상기 가상의 로봇의 부위를 판단하는 제19단계 및 상기 하나 이상의 접점의 위치, 움직임 및 상기 하나 이상의 접점 각각에 대응하는 부위에 기초하여 상기 인터랙션을 판단하는 제20단계를 포함할 수 있다.In this case, the 15th step is a 18th step of determining one or more contact points between the one or more objects and the virtual robot, and determining a part of the one or more objects and the virtual robot corresponding to each of the one or more contact points. The 19th step and the 20th step of determining the interaction based on the location, movement of the one or more contact points, and a portion corresponding to each of the one or more contact points may be included.

이때, 상기 제20단계는, 상기 하나 이상의 접점에 포함된 제1접점을 제2접점 및 제3접점으로 분할하는 제21단계, 상기 제2접점 및 상기 제3접점의 움직임을 추적하는 제22단계, 상기 제2접점 및 상기 제3접점 간의 거리가 소정의 기준값 이상으로 멀어지는 경우, 상기 제2접점 및 상기 제3접점 각각에 대응하는 상기 하나 이상의 객체 및 상기 가상의 로봇의 부위를 판단하는 제23단계 및 상기 제2접점 및 상기 제3접점의 위치, 움직임 및 상기 제2접점 및 상기 제3접점에 각각 대응하는 부위에 기초하여 상기 인터랙션을 판단하는 제24단계를 포함할 수 있다.In this case, the twentieth step is a twenty-first step of dividing the first contact included in the one or more contacts into second and third contacts, and a second step of tracking the movements of the second and third contacts. , When the distance between the second contact and the third contact is greater than a predetermined reference value, determining the part of the one or more objects corresponding to each of the second contact and the third contact and the virtual robot; And a 24th step of determining the interaction based on the position of the second contact point and the third contact point, the movement, and a portion corresponding to the second contact point and the third contact point, respectively.

이때, 상기 제11단계는, 상기 하나 이상의 객체의 종류를 판단하는 제25단계, 상기 촬영된 영상에 포함된 상기 하나 이상의 객체의 위치 및 종류에 기초하여 상기 가상의 로봇의 이동경로를 생성하는 제26단계, 상기 가상의 로봇이 상기 이동경로를 따라 이동하도록 하는 제1미션을 획득하는 제27단계 및 상기 가상의 로봇이 상기 하나 이상의 객체 중 적어도 하나와 소정의 인터랙션을 수행하도록 하는 제2미션을 획득하는 제28단계를 포함할 수 있다.At this time, the eleventh step is a step 25 of determining the type of the one or more objects, and generating a movement path of the virtual robot based on the location and type of the one or more objects included in the captured image. Step 26, a step 27 of acquiring a first mission for the virtual robot to move along the movement path and a second mission of allowing the virtual robot to perform a predetermined interaction with at least one of the one or more objects It may include the 28th step of obtaining.

이때, 상기 제11단계는, 상기 이동경로 상에 하나 이상의 가상의 객체를 생성 및 표시하는 제29단계, 상기 하나 이상의 가상의 객체의 종류를 결정하는 제30단계, 상기 하나 이상의 가상의 객체의 위치 및 종류에 기초하여 상기 이동경로를 업데이트하는 제31단계, 상기 가상의 로봇이 상기 업데이트된 이동경로를 따라 이동하도록 하는 제3미션을 획득하는 제32단계 및 상기 가상의 로봇이 상기 하나 이상의 가상의 객체 중 적어도 하나와 소정의 인터랙션을 수행하도록 하는 제4미션을 획득하는 제33단계를 포함할 수 있다.In this case, the eleventh step includes the step of generating and displaying one or more virtual objects on the moving path, the step of determining the type of the one or more virtual objects, and the position of the one or more virtual objects. And a 31st step of updating the movement path based on the type, a 32nd step of acquiring a third mission to allow the virtual robot to move along the updated movement path, and the virtual robot to perform the one or more virtual movements. It may include a step 33 of obtaining a fourth mission to perform a predetermined interaction with at least one of the objects.

이때, 상기 제8단계는, 상기 하나 이상의 명령어 블록 중 적어도 일부를 상기 가상의 로봇에 배치하는 제34단계를 더 포함하고, 상기 제9단계는, 상기 가상의 로봇에 배치된 명령어 블록에 대응하는 명령을 수행하는 제35단계, 상기 하나 이상의 포인트에 도착하는 경우, 상기 도착한 포인트에 배치된 명령어 블록에 대응하는 명령을 수행하는 제36단계 및 상기 가상의 로봇에 배치된 명령어 블록에 대응하는 명령과, 상기 도착한 포인트에 배치된 명령어 블록에 대응하는 명령이 충돌하는 경우, 동작을 정지하고 피드백을 표시하는 제37단계를 더 포함할 수 있다.In this case, the eighth step further includes a 34th step of placing at least a part of the one or more command blocks on the virtual robot, and the ninth step corresponds to a command block disposed on the virtual robot. A 35th step of executing a command, a 36th step of executing a command corresponding to a command block disposed at the arrival point when arriving at the one or more points, and a command corresponding to a command block disposed in the virtual robot; When the command corresponding to the command block disposed at the arrival point collides, the operation may be stopped and a 37th step of displaying feedback may be further included.

캐릭터 관리 모듈(22)은 판매자 단말(10)에서 생성된 캐릭터를 구매자 단말(30)으로 전송하는 것을 제어하기 위한 구성이다. 나아가, 캐릭터 관리 모듈(22)은, 판매자 단말(10)이 판매하고자 하는 캐릭터의 생성을 위한 동작을 수행할 수 있다. 즉, 판매자 단말(10)은 캐릭터 관리 모듈(22)을 이용하여 캐릭터를 생성, 학습시키고, 학습된 캐릭터를 구매자 단말(30)에게 제공할 수 있다.The character management module 22 is a configuration for controlling the transmission of the character generated in the seller terminal 10 to the buyer terminal 30. Furthermore, the character management module 22 may perform an operation for generating a character to be sold by the seller terminal 10. That is, the seller terminal 10 may generate and learn a character using the character management module 22 and provide the learned character to the buyer terminal 30.

일 실시예로, 캐릭터는 판매자 단말(10) 및 서버(20)의 동작에 의해 생성되고 학습될 수 있다. 서버(20)는 판매자 단말(10)로부터 캐릭터 생성을 요청 받아 캐릭터를 생성할 수 있다. 생성된 캐릭터는 판매자 단말(10) 또는 구매자 단말(30)에 의해 사용될 수 있다. 이때, 캐릭터는 음성인식을 수행하고, 사용자 음성에 대응되는 결과를 음성으로 출력할 수 있다. 이를 위해, 판매자 단말(10) 또는 구매자 단말(30)은 마이크 및 스피커를 포함할 수 있으며, 판매자 단말(10) 또는 구매자 단말(30)은 사용자 음성을 수신하여 캐릭터에게 전달하고, 캐릭터로부터 생성된 답변은 스피커를 통해 출력될 수 있다.In one embodiment, the character may be generated and learned by the operation of the seller terminal 10 and the server 20. The server 20 may generate a character by receiving a character creation request from the seller terminal 10. The generated character can be used by the seller terminal 10 or the buyer terminal 30. At this time, the character may perform voice recognition and output a result corresponding to the user's voice through voice. To this end, the seller terminal 10 or the buyer terminal 30 may include a microphone and a speaker, and the seller terminal 10 or the buyer terminal 30 receives the user voice and delivers it to the character, and is generated from the character The answer can be output through the speaker.

프로그래밍파일 관리 모듈(23)은 APK 파일과 같이 실행 가능한 완성된 파일을 관리하기 위한 구성이다. 판매자 단말(10)은 프로그래밍 파일을 서버(20)에 등록하고, 구매자 단말(30)로 전송할 수 있다. 설명의 편의를 위해, 이하 본 발명에서는 프로그래밍파일을 APK파일인 경우로 한정하여 설명하나, 다양한 실행 가능한 프로그래밍 파일에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다.The programming file management module 23 is a configuration for managing a completed executable file such as an APK file. The seller terminal 10 may register the programming file with the server 20 and transmit it to the buyer terminal 30. For convenience of description, hereinafter, the programming file is limited to the case of an APK file, but the technical idea of the present invention can be applied to various executable programming files.

프로그래밍 명령어 모듈(24)은 자연어에 가까운 프로그래밍 명령어들을 관리하기 위한 모듈로, 프로그램을 제작하기 위한 프로그램 압축 명령어를 관리하기 위한 모듈이다. 설명의 편의를 위해, 본 발명에서는 프로그래밍 명령어를 패키지로 한정하여 설명하나, 다양한 명령어들에 대하여도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 이때, 패키지란 관련 클래스, 함수나 인터페이스 집합에 대한 구성으로, 하나 또는 복수의 동작을 수행하기 위한 모듈일 수 있다. 패키지를 이용함으로써, 구매자 단말(30)은 몇 개의 패키지를 구입하여 복잡한 게임, SNS 등을 만드는데 사용할 수 있다.The programming instruction module 24 is a module for managing programming instructions that are close to natural language, and is a module for managing program compression instructions for producing a program. For convenience of description, in the present invention, programming instructions are limited to packages, but the technical spirit of the present invention can be applied to various instructions. In this case, the package is a configuration for a set of related classes, functions, or interfaces, and may be a module for performing one or more operations. By using the package, the purchaser terminal 30 can purchase several packages and use them to make a complex game, SNS, or the like.

2D/3D 디자인 관리 모듈(25)은, 프로그램 제작에 필요한 캐릭터, UX/UI 아이콘, 이모티콘, 서체와 같은 다양한 디자인 컨텐츠를 관리하기 위한 모듈이다.The 2D / 3D design management module 25 is a module for managing various design contents such as characters, UX / UI icons, emoticons, and fonts required for program production.

상술한 다양한 모듈에 의해, 서버(20)는 판매자 단말(10) 또는 구매자 단말(30)과 연동되어 다양한 컨텐츠의 제작을 도울 수 있으며, 제작된 컨텐츠를 거래하기 위한 플랫폼 환경을 조성할 수 있다.By the various modules described above, the server 20 can be linked with the seller terminal 10 or the buyer terminal 30 to help the production of various contents, and can create a platform environment for trading the produced contents.

이하에서는 도 3 내지 도 9를 이용하여 본 발명에 따른 구체적인 실시예들에 대하여 설명한다.Hereinafter, specific embodiments according to the present invention will be described with reference to FIGS. 3 to 9.

도 3은 본 발명의 일 실시예에 따른 지식 공유 플랫폼의 동작을 설명하기 위한 흐름도이다.3 is a flowchart illustrating the operation of the knowledge sharing platform according to an embodiment of the present invention.

단계 S110에서, 판매자 단말(10)은 코딩 교육 컨텐츠, 캐릭터, APK 파일, 패키지 및 디자인 컨텐츠 중 적어도 하나의 데이터를 생성할 수 있다. 상술한 바와 같이, 판매자 단말(10)에서 생성되는 적어도 하나의 데이터는 서버(20)와 연동되어 생성될 수 있음은 물론이다.In step S110, the seller terminal 10 may generate at least one data among coding education contents, characters, APK files, packages, and design contents. As described above, of course, at least one data generated in the seller terminal 10 may be generated in conjunction with the server 20.

단계 S120에서, 판매자 단말(10)은 코딩 교육 컨텐츠, 캐릭터, APK 파일, 패키지 및 디자인 컨텐츠 중 적어도 하나의 데이터를 서버(20)로 전송할 수 있다.In step S120, the seller terminal 10 may transmit at least one data among coding education contents, characters, APK files, packages, and design contents to the server 20.

단계 S130에서, 서버(20)는 판매자 단말(10)로부터 수신한 적어도 하나의 데이터의 가격을 판단할 수 있다.In step S130, the server 20 may determine the price of at least one data received from the seller terminal 10.

단계 S140에서, 서버(20)는 판매자 단말(10)로부터 수신한 적어도 하나의 데이터를 플랫폼에 등록할 수 있다.In step S140, the server 20 may register at least one data received from the seller terminal 10 to the platform.

단계 S150에서, 구매자 단말(30)로부터 등록된 적어도 하나의 데이터를 구매하기 위한 사용자 명령을 수신하면, 서버(20)는 구매자 단말(30)로 적어도 하나의 데이터를 전송할 수 있다.In step S150, upon receiving a user command for purchasing at least one data registered from the buyer terminal 30, the server 20 may transmit at least one data to the buyer terminal 30.

구체적으로, 구매자 단말(30)은 등록된 적어도 하나의 데이터를 구매하기 위한 사용자 명령 및 적어도 하나의 데이터에 대응되는 결제 포인트를 서버(20)로 전송할 수 있다. 서버(20)는 수신한 결제 포인트가 적어도 하나의 데이터의 가격과 동일한 경우, 적어도 하나의 데이터를 구매자 단말(30)로 전송할 수 있다.Specifically, the purchaser terminal 30 may transmit a user command for purchasing the registered at least one data and a payment point corresponding to the at least one data to the server 20. The server 20 may transmit at least one data to the purchaser terminal 30 when the received payment point is equal to the price of at least one data.

한편, 본 발명의 다양한 실시예에 따라, 데이터 판매는 QR 코드를 이용하여 이뤄질 수 있다. QR코드는 Quick Response Code의 약자로 흑백 격자무늬 패턴으로 정보를 나타내는 매트릭스 형식의 이차원 바코드의 일종으로 일본의 덴소 웨이브사가 개발하여 1994년에 발표하였으며, 다른 2D 바코드들에 비해 빠른 속도 및 많은 데이터를 저장할 수 있다는 장점을 가지고 있다. 서버(20)는 적어도 하나의 데이터가 플랫폼에 등록되면, 등록된 데이터에 대응되는 QR 코드를 생성하여 함께 등록할 수 있다. QR 코드를 이용함으로써, 구매자 단말(30)이 데이터 구매를 원하는 경우, QR코드를 통해 데이터를 구매할 수 있다.Meanwhile, according to various embodiments of the present invention, data sales may be performed using a QR code. QR code is an abbreviation of Quick Response Code. It is a kind of matrix-type two-dimensional barcode that displays information in a black and white grid pattern. It was developed and published in 1994 by Denso Wave Inc. of Japan. It has the advantage of being able to store. When at least one data is registered on the platform, the server 20 may generate and register a QR code corresponding to the registered data. By using a QR code, when the purchaser terminal 30 wants to purchase data, it can purchase data through the QR code.

도 4는 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 거래되는 데이터가 캐릭터 데이터인 경우를 설명하기 위한 흐름도이다.4 is a flowchart illustrating a case in which data traded in a knowledge sharing platform according to an embodiment of the present invention is character data.

단계 S210에서, 적어도 하나의 데이터가 캐릭터에 대한 데이터인 경우, 서버(20)는 판매자 단말(10)로부터 생성될 캐릭터에 대한 정보를 수신하여 캐릭터를 생성할 수 있다.In step S210, when at least one data is data for a character, the server 20 may generate information by receiving information about the character to be generated from the seller terminal 10.

이때 생성되는 캐릭터는 기본적인 기능만을 포함하는 캐릭터로, 사용자 명령에 따라 새로운 기능들을 학습 시킬 수 있다.The generated character is a character that includes only basic functions, and new functions can be learned according to a user command.

단계 S220에서, 서버(20)는 캐릭터를 학습시키기 위한 카테고리 정보를 판매자 단말(10)로 전송할 수 있다. 즉, 서버(20)는 캐릭터를 학습시키기 위한 사용자 명령이 입력되면, 사용자 명령을 바탕으로 캐릭터를 학습 시킬 수 있다.In step S220, the server 20 may transmit category information for learning a character to the seller terminal 10. That is, when a user command for learning a character is input, the server 20 may train the character based on the user command.

단계 S230에서, 서버(20)는 판매자 단말(10)로부터 적어도 하나의 카테고리 정보를 수신할 수 있다.In step S230, the server 20 may receive at least one category information from the seller terminal 10.

단계 S240에서, 서버(20)는 수신된 카테고리 정보를 바탕으로 캐릭터를 학습시킬 수 있다.In step S240, the server 20 may train the character based on the received category information.

이때, 카테고리 정보는, 캐릭터를 학습시키기 위한 다양한 카테고리에 대한 정보일 수 있다. 일 실시예로, 카테고리 정보는, 어학 카테고리, 스포츠 카테고리, 쇼핑 카테고리, 교육 카테고리 등 다양한 카테고리에 대한 정보일 수 있다. 이러한 카테고리 정보는 카테고리 정보를 세분화한 세부 카테고리 정보를 더 포함할 수 있다. 예를 들어, 카테고리는 제1 카테고리, 제1 카테고리를 세분화한 제2 카테고리, 제2 카테고리를 세분화한 제3 카테고리 등을 더 포함할 수 있다.In this case, the category information may be information about various categories for learning a character. In one embodiment, the category information may be information on various categories such as a language category, a sports category, a shopping category, and an education category. The category information may further include detailed category information in which the category information is subdivided. For example, the category may further include a first category, a second category in which the first category is subdivided, a third category in which the second category is subdivided, and the like.

일 실시예로, 카테고리 정보는 어린이를 대상으로 하는 성장형 캐릭터와 관련된 카테고리 정보일 수 있다. 이때, 성장형 캐릭터와 관련된 카테고리 정보는, 제1 카테고리로 교육 학습 카테고리, 감정 학습 카테고리 등을 포함할 수 있다. 교육 학습 카테고리에 대한 제2 카테고리는 수학 카테고리, 영어 카테고리, 사회 카테고리, 과학 카테고리 등 교과목과 관련된 카테고리일 수 있으며, 감정 학습 카테고리는 기쁨 카테고리, 슬픔 카테고리, 행복 카테고리, 불안 카테고리등 다양한 감정과 관련된 카테고리일 수 있다.In one embodiment, the category information may be category information related to a growth-type character targeting children. At this time, the category information related to the growth-type character may include an education learning category, an emotion learning category, and the like as the first category. The second category for the education learning category may be a category related to subjects such as a math category, an English category, a social category, a science category, and the emotion learning category is a category related to various emotions such as a joy category, a sadness category, a happiness category, an anxiety category, etc. Can be

서버(20)는 선택된 카테고리 정보에 대한 학습 데이터를 수신하여 캐릭터를 학습시킬 수 있다. 예를 들어, 선택된 카테고리가 사회 카테고리인 경우, 서버(20)는 사용자로부터 학습 데이터를 입력 받아 사회 교과목을 학습하기 위한 인공지능 모델을 학습시킬 수 있다. The server 20 may receive the learning data for the selected category information to train the character. For example, when the selected category is a social category, the server 20 may receive learning data from a user and train an artificial intelligence model for learning a social subject.

이때, 사용자로부터 입력 받는 학습 데이터는 어린이가 학교 또는 학원 등에서 습득한 지식과 관련된 데이터일 수 있다. 예를 들어, 학습 데이터는 학교 또는 학원 등에서 필기한 필기 노트에 대한 데이터일 수 있다. 서버(20)는 필기 노트에 대한 이미지 파일을 수신하고, 수신된 이미지 파일을 OCR 기법을 통해 이미지로부터 텍스트를 추출할 수 있다. 필요에 따라 필기 노트 이미지에 그림, 도표, 그래프 등의 비텍스트가 포함된 경우, 서버(20)는 해당 비텍스트 데이터를 이미지화 하여 학습 데이터를 생성할 수 있음은 물론이다. 다만, 학습 데이터는 이에 한정되는 것은 아니고, 사용자 음성, 사용자가 수집한 웹사이트 정보, 블로그 정보, 읽은 책의 정보 등 다양한 데이터일 수 있음은 물론이다.In this case, the learning data received from the user may be data related to knowledge acquired by a child at a school or academy. For example, the learning data may be data for handwritten notes written at a school or academy. The server 20 may receive an image file for a handwritten note, and extract the text from the image through the OCR technique on the received image file. If necessary, if the handwritten note image includes non-texts such as pictures, diagrams, and graphs, the server 20 can generate learning data by imaging the non-text data. However, the learning data is not limited to this, and may be various data such as user voice, website information collected by the user, blog information, information of the book read.

학습된 캐릭터를 이용하기 위한 사용자 명령이 입력되면, 서버(20)는 사용자 명령에 대한 결과를 캐릭터를 통해 출력할 수 있다. 이때, 사용자 명령은 사용자 질문을 포함하는 음성 신호일 수 있다. When a user command for using the learned character is input, the server 20 may output a result of the user command through the character. In this case, the user command may be a voice signal including a user question.

한편, 사용자 명령에 대한 결과는 사용자로부터 입력된 학습 데이터를 바탕으로 결정될 수 있다. 예를 들어, 사용자가 입력한 학습 데이터가 초등학교 1학년 사회 교과와 관련된 학습데이터이고, 사용자가 사회 과목에 대한 내용을 질의하는 사용자 명령을 생성한 경우, 서버(20)는 입력된 초등학교 1학년 사회 교과의 범위 내에서 답변을 생성할 수 있다. 서버(20) 초등학교 1학년 사회 교과의 범위이더라도 사용자가 입력하지 않은 학습데이터에 대한 답변은 출력할 수 없다.Meanwhile, a result of the user command may be determined based on learning data input from the user. For example, if the learning data input by the user is learning data related to the social studies of the first grader of the elementary school, and the user generates a user command to query the content of the social subject, the server 20 enters the first grader society of the elementary school Answers can be generated within the scope of the subject. Even if it is the scope of the social education subject of the first grade of the server 20, an answer to the learning data that the user has not input cannot be output.

따라서, 복수의 사용자가 생성하는 복수의 캐릭터는 복수의 사용자 각각이 입력하는 학습데이터에 따라 다르게 학습될 수 있다. 많은 학습데이터를 입력한 캐릭터는 적은 학습데이터를 입력한 캐릭터보다 더 똑똑한 캐릭터로 성장할 수 있다. 따라서, 사용자는 자신의 캐릭터를 성장시켜 다른 캐릭터보다 더 나은 캐릭터를 만드는데 흥미를 느끼고, 이를 위해 더 많은 노력을 기울일 수 있게 된다. Accordingly, a plurality of characters generated by a plurality of users may be learned differently according to learning data input by each of the plurality of users. A character that has entered a lot of learning data can grow into a smarter character than a character that has entered less learning data. Therefore, the user is interested in making a character better than other characters by growing his character, and can make more efforts to do this.

한편, 서버(20)는 기 설정된 시간동안 캐릭터에게 학습데이터가 입력되지 않거나, 캐릭터에게 질의를 하지 않은 경우, 캐릭터를 삭제시킬 수 있다. 즉, 서버(20)는 이용되지 않는 캐릭터를 삭제하여 사용자가 자신의 캐릭터가 삭제되지 않도록 꾸준히 관리를 할 수 있도록 유도할 수 있다. On the other hand, the server 20 may delete the character when learning data is not input to the character or a query is not made to the character for a predetermined time. That is, the server 20 may induce the user to steadily manage his / her character so that the character is not deleted by deleting the unused character.

또 다른 실시예로, 카테고리 정보는 감정 학습 카테고리일 수 있다. 서버(20)는 판매자 단말(10)로부터 다양한 인터랙션을 수신하여, 사용자 인터랙션에 따른 감정을 판단할 수 있다. 즉, 서버(20)는 사용자 감정과 관련된 학습 데이터를 이용하여 캐릭터를 학습시킬 수 있다. 캐릭터는 입력되는 사용자의 감정과 관련된 학습 데이터에 따라 캐릭터 자신의 성격을 구축할 수 있다.In another embodiment, the category information may be an emotion learning category. The server 20 may receive various interactions from the seller terminal 10 and determine emotions according to user interactions. That is, the server 20 may train a character using learning data related to user emotion. The character may build his character's personality according to the input user's emotion-related learning data.

일 실시예로, 캐릭터가 사용자 데이터에 대한 반응을 출력한 후, 출력된 캐릭터의 반응에 대한 사용자 인터랙션에 따라 캐릭터의 성격이 결정될 수 있다. 예를 들어, 캐릭터의 반응 출력에 대한 사용자 인터랙션이 ‘칭찬’ 인터랙션인 경우, 캐릭터의 성격은 자신감 넘치는 성격일 수 있다. 또는 캐릭터의 반응 출력에 대한 사용자 인터랙션이 ‘꾸짖음’ 인터랙션인 경우, 캐릭터의 성격은 소심한 성격일 수 있다. 또 다른 실시예로, 캐릭터의 성격은 사용자 데이터를 분석하여 획득된 사용자의 성격과 유사한 성격일 수 있다.In one embodiment, after the character outputs a response to the user data, the character's personality may be determined according to the user interaction with the response of the output character. For example, when the user interaction with the character's reaction output is a 'praise' interaction, the character's personality may be a character full of confidence. Alternatively, when the user interaction with the response output of the character is an interaction with a 'crowd', the character's personality may be a timid personality. In another embodiment, the character's personality may be a personality similar to the user's personality obtained by analyzing user data.

즉, 캐릭터의 성격은 사용자와의 인터랙션이 수행됨에 따라 변경되거나, 확장되거나, 축소될 수 있다. 생성된 캐릭터의 성격에 따라 동일한 상황에서 캐릭터가 출력하는 반응이 달라질 수 있다.That is, the character's personality can be changed, expanded, or reduced as the interaction with the user is performed. Depending on the character of the created character, the response that the character outputs in the same situation may be different.

따라서, 복수의 사용자가 생성하는 복수의 캐릭터는 복수의 사용자 각각이 입력하는 학습데이터에 따라 다르게 학습될 수 있다. 많은 학습데이터를 입력한 캐릭터는 적은 학습데이터를 입력한 캐릭터보다 더 감정이 풍부한 캐릭터로 성장할 수 있다.Accordingly, a plurality of characters generated by a plurality of users may be learned differently according to learning data input by each of the plurality of users. A character that has entered a lot of learning data can grow into a character with more emotion than a character that has entered less learning data.

다만, 이에 한정되는 것은 아니며, 카테고리 정보는 번역을 위한 어학 카테고리 정보일 수 있다. 이때, 어학 카테고리의 세부 카테고리는 한국어, 일본어, 중국어, 영어 등 언어의 종류를 구성하는 제1 세부 카테고리, 번역, 쓰기, 읽기, 말하기, 듣기 등 언어에 대한 행위를 나타내는 제2 세부 카테고리, 각각의 카테고리의 학습의 정도를 결정하는 제3 세부 카테고리 등으로 구성될 수 있다. However, the present invention is not limited thereto, and the category information may be language category information for translation. At this time, the sub-categories of the language category include the first sub-category constituting the type of language such as Korean, Japanese, Chinese, and English, and the second sub-category representing translation, writing, reading, speaking, and listening to language, and each And a third detailed category for determining the degree of learning of the category.

이때 제3 세부 카테고리는 예를 들어, 영어 번역 카테고리에 대한 학습의 정도와 관련된 카테고리로, 초급자 수준의 번역, 중급자 수준의 번역, 고급자 수준의 번역 등 번역 수준을 결정하기 위한 세부 카테고리일 수 있다. 일반적으로, 학습의 정도가 높은 캐릭터는 학습의 정도가 낮은 캐릭터보다 많은 리소스(데이터 량, 비용 등)를 필요로 한다. 따라서, 가용한 리소스 양에 따라 카테고리를 분류하여 사용자 선택에 따라 캐릭터를 학습 시킬 수 있다. In this case, the third detailed category is, for example, a category related to the degree of learning about the English translation category, and may be a detailed category for determining a translation level such as a beginner level translation, an intermediate level translation, and an advanced level translation. In general, a character with a high degree of learning requires more resources (amount of data, cost, etc.) than a character with a low degree of learning. Therefore, it is possible to classify categories according to the amount of available resources to train characters according to user selection.

사용자는 서버(20)로부터 제공된 카테고리 정보 중 적어도 하나를 선택하여 캐릭터를 학습 시킬 수 있다. 이때, 캐릭터를 학습 시키는 과정은 기 저장된 학습 모듈을 전송하는 방식으로 구성될 수도 있다. 그러나, 캐릭터를 학습 시키는 과정은 인공 지능 모델을 통해 구현될 수도 있다.The user can select at least one of the category information provided from the server 20 to train the character. At this time, the process of learning the character may be configured by transmitting a pre-stored learning module. However, the process of learning a character may be implemented through an artificial intelligence model.

한편, 서버(20)는 학습된 캐릭터를 지속적으로 학습시킬 수 있다. 구체적으로, 서버(20)는 캐릭터에 학습된 카테고리 정보와 관련된 데이터가 입력되면, 캐릭터를 업데이트 할 수 있다. 이때, 업데이트를 위한 데이터는 판매자 단말(10)로부터 제공 받을 수 있다. 다만, 이에 한정되는 것은 아니고, 서버(20)가 업데이트될 데이터를 선별하여 캐릭터를 학습 시킬 수도 있다. 예를 들어, 학습된 카테고리 정보에 대응되는 데이터를 다양한 방법을 통해 수신하면, 서버(20)는 수신한 데이터를 바탕으로 캐릭터를 업데이트 할 수 있다.Meanwhile, the server 20 may continuously learn the learned character. Specifically, when data related to the learned category information is input to the character, the server 20 may update the character. At this time, the data for the update may be provided from the seller terminal 10. However, the present invention is not limited thereto, and the server 20 may select the data to be updated to train the character. For example, if data corresponding to the learned category information is received through various methods, the server 20 may update the character based on the received data.

일 실시예로, 캐릭터가 초급자 수준의 영어(중국어, 일본어 등 다양한 언어의 경우 또한 같다) 번역을 학습한 상태인 경우를 가정한다. 판매자 단말(10)은 영어 번역 학습을 위한 다양한 영어(및 그의 번역 데이터)를 서버(20)로 제공하고, 서버(20)는 제공된 데이터를 이용하여 캐릭터를 학습시킬 수 있다. 처음에는 초급자 수준의 영어 번역이 가능했던 캐릭터는, 지속적인 학습을 통해 영어 번역의 수준을 높여갈 수 있다. In one embodiment, it is assumed that the character is in a state of learning a translation at the beginner level of English (which is also the same for various languages such as Chinese and Japanese). The seller terminal 10 provides various English (and its translation data) for learning English translation to the server 20, and the server 20 can learn a character using the provided data. Characters that were able to translate English at the beginner level at the beginning can improve the level of English translation through continuous learning.

나아가, 단말이 제공한 데이터를 이용하여 학습이 수행되므로, 단말의 사용자에게 개인화된 캐릭터가 획득될 수 있다. 즉, 단말로부터 제공받은 데이터는 단말의 사용자가 관심 있거나, 자주 사용하는 단어 또는 문장등과 관련된 데이터일 수 있다. 따라서, 학습된 캐릭터 데이터는 사용자의 관심 분야를 더욱 잘 번역할 수 있게 되며 개인화된 캐릭터가 생성될 수 있는 효과가 존재한다. 예를 들어, 단말의 사용자가 자신의 관심 분야인 스포츠 분야에 대한 데이터를 지속적으로 제공하여 캐릭터를 학습시킨 경우, 캐릭터는 다른 분야에 대한 번역의 품질보다 스포츠 분야에서의 번역의 품질이 더 높을 것이다. Furthermore, since learning is performed using data provided by the terminal, a personalized character can be obtained to the user of the terminal. That is, the data provided from the terminal may be data related to words or sentences frequently used by the user of the terminal or frequently used. Therefore, the learned character data can better translate the user's interests, and there is an effect that a personalized character can be generated. For example, if a user of a terminal trains a character by continuously providing data on a sports field that is his / her interest field, the character will have a higher quality of translation in the sports field than a quality of translation for other fields. .

나아가, 처음부터 원어민 수준의 영어 번역을 학습한 캐릭터와 비교할 때, 사용자가 필요한 분야에 대한 번역 능력만을 향상 시킴으로써 학습을 위한 데이터의 양을 줄이고, 캐릭터의 용량을 줄일 수 있는 효과가 존재한다.Furthermore, when comparing English translations from the beginning with native-level English translations, the user has the effect of reducing the amount of data for learning and reducing the capacity of characters by improving only the translation ability for the required field.

한편, 상술한 실시예에서는, 판매자 단말(10)이 카테고리 정보를 전송하여 서버(20)가 캐릭터를 학습 시키는 것으로 설명하였으나, 이에 한정되는 것은 아니다. 본 개시에 따른 일 실시예로, 서버(20)는 판매자 단말(10)로부터 단말의 사용자 정보를 수신하고, 수신된 사용자 정보를 바탕으로 캐릭터를 학습 시킬 수 있음은 물론이다. 이때, 사용자 정보란, 단말을 통해 수집된 사용자의 생체 정보, 단말을 통해 수집된 단말의 사용 히스토리 기록(사용 히스토리 기록은 일정 정보, 사용한 어플리케이션의 종류, 사용 시간, 접속한 웹사이트 주소, 접속 시간, 알람 설정 시간, 단말 사용 시간 및 분포 등 단말을 통한 모든 사용자 명령 중 적어도 하나일 수 있다.)Meanwhile, in the above-described embodiment, it has been described that the server 20 learns a character by transmitting the category information by the seller terminal 10, but is not limited thereto. In one embodiment according to the present disclosure, the server 20 may receive user information of the terminal from the seller terminal 10 and, of course, can learn a character based on the received user information. At this time, the user information is biometric information of the user collected through the terminal, and the usage history record of the terminal collected through the terminal (use history records are schedule information, type of application used, usage time, accessed website address, and access time) , It may be at least one of all user commands through the terminal, such as alarm setting time, terminal use time and distribution.)

즉, 캐릭터는 각각의 단말의 개인적인 사용 양태에 따라 학습되어 개인화된 캐릭터로 활용될 수 있다.That is, the character may be learned according to the personal use mode of each terminal and used as a personalized character.

이 경우, 판매자 단말(10)은 캐릭터 생성 및 선택된 카테고리 정보에 따라 캐릭터를 학습시키는 정도에 따라 서버(20)에 비용을 지불할 수 있다. 구체적으로, 판매자 단말(10)은 캐릭터 생성 비용, 선택된 카테고리에 따른 학습데이터에 대한 비용 및, 선택된 학습데이터로 캐릭터를 학습시키기 위한 비용을 서버(20)에게 지불할 수 있다.In this case, the seller terminal 10 may pay the server 20 according to the degree of learning the character according to the character creation and the selected category information. Specifically, the seller terminal 10 may pay the server 20 a cost for generating a character, a cost for learning data according to the selected category, and a cost for learning a character with the selected learning data.

즉, 캐릭터 생성, 카테고리 정보 제공, 선택된 카테고리에 따라 캐릭터를 학습시키기 위한 학습데이터는 서버(20)의 리소스를 이용하는 것으로, 판매자 단말(10)은 서버(20)에 포인트를 지불하여 캐릭터를 생성 및 학습 시킬 수 있다. 그러나, 판매자 단말(10)이 직접 학습데이터를 제공하는 경우, 판매자 단말(10)은 학습데이터에 대한 비용은 서버(20)에 지불하지 않고, 제공되는 학습데이터로 캐릭터를 학습 시키는 비용만을 제공할 수 있음은 물론이다.That is, the character creation, the provision of category information, and the learning data for learning the character according to the selected category use resources of the server 20, and the seller terminal 10 generates a character by paying points to the server 20 and You can learn. However, when the seller terminal 10 directly provides the learning data, the seller terminal 10 does not pay the server 20 for the learning data, but provides only the cost of learning the character with the provided learning data. Of course it can.

따라서, 판매자 단말(10)은 자신의 리소스를 이용하여 활용 가능한 범위 내에서 캐릭터를 학습시킬 수 있다.Therefore, the seller terminal 10 can learn a character within a range that can be utilized by using its own resources.

한편, 학습된 캐릭터는 APK 파일의 형태로 저장될 수 있다. 이 경우, APK 파일을 실행하면, 판매자 단말(10) 또는 구매자 단말(30)은 실행된 APK 파일에 대응되는 캐릭터를 화면에 표시할 수 있다.Meanwhile, the learned character may be stored in the form of an APK file. In this case, when the APK file is executed, the seller terminal 10 or the buyer terminal 30 may display a character corresponding to the executed APK file on the screen.

한편, 상술한 다양한 학습은 인공 지능 시스템을 통해 구현될 수 있다. 인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.Meanwhile, the various learnings described above may be implemented through an artificial intelligence system. The Artificial Intelligence (AI) system is a computer system that realizes human-level intelligence, and unlike the existing Rule-based smart system, the machine learns, judges, and becomes intelligent. As the AI system is used, the recognition rate is improved and the user's taste can be understood more accurately, and the existing Rule-based smart system is gradually being replaced by the deep learning-based AI system.

인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.Artificial intelligence technology is composed of machine learning (deep learning) and elemental technologies utilizing machine learning.

기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.Machine learning is an algorithm technology that classifies / learns the characteristics of input data by itself, and element technology is a technology that simulates functions such as cognition and judgment of the human brain by using machine learning algorithms such as deep learning. It consists of technical fields such as understanding, reasoning / prediction, knowledge expression, and motion control.

구체적으로, 딥 러닝은 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstractions, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는 기계학습(machine learning) 알고리즘의 집합으로 정의된다. 딥 러닝은 큰 틀에서 사람의 사고방식을 컴퓨터에게 가르치는 기계학습의 한 분야로 볼 수 있다. Specifically, deep learning is a machine learning algorithm that attempts to achieve a high level of abstraction (abstracts, summarizing the core content or functions in a large amount of data or complex data) through a combination of several nonlinear transformation methods. It is defined as a set of Deep learning can be seen as a field of machine learning that teaches a person's mindset to computers in a large framework.

어떠한 데이터가 있을 때 이를 컴퓨터가 알아 들을 수 있는 형태(예를 들어 영상의 경우는 픽셀정보를 열벡터로 표현하는 등)로 표현(representation)하고 이를 학습에 적용하기 위해 많은 연구(어떻게 하면 더 좋은 표현기법을 만들고 또 어떻게 이것들을 학습할 모델을 만들지에 대한)가 진행되고 있다. 이러한 노력의 결과로 다양한 딥 러닝 기법들이 개발되었다. 딥 러닝 기법들로는 심층 신경망(Deep Neural Networks, DNN), 합성곱 신경망(Convolutional deep Neural Networks, CNN), 순환 신경망(Reccurent Neural Network, RNN) 및 심층 신뢰 신경망(Deep Belief Networks, DBN)을 예로 들 수 있다. When there is some data, it is represented in a form that can be understood by a computer (for example, in the case of an image, pixel information is expressed as a column vector), and a lot of research (how to do better) to apply it to learning (How to make expression techniques and how to make models to learn them) is going on. As a result of these efforts, various deep learning techniques have been developed. Deep learning techniques include Deep Neural Networks (DNN), Convolutional Deep Neural Networks (CNN), Reccurent Neural Network (RNN) and Deep Belief Networks (DBN). have.

심층 신경망(Deep Neural Networks, DNN)은 입력 계층(input layer)과 출력 계층(output layer) 사이에 복수개의 은닉 계층(hidden layer)들로 이뤄진 인공신경망(Artificial Neural Network, ANN)이다.Deep Neural Networks (DNN) are artificial neural networks (ANNs) composed of a plurality of hidden layers between an input layer and an output layer.

이때, 심층 신경망의 구조는 퍼셉트론(perceptron)으로 구성될 수 있다. 퍼셉트론은 여러 개의 입력 값(input)과 하나의 프로세서(prosessor), 하나의 출력 값으로 구성된다. 프로세서는 여러 개의 입력 값에 각각 가중치를 곱한 후, 가중치가 곱해진 입력 값들을 모두 합한다. 그 다음 프로세서는 합해진 값을 활성화함수에 대입하여 하나의 출력 값을 출력한다. 만약 활성화함수의 출력 값으로 특정한 값이 나오기를 원하는 경우, 각 입력 값에 곱해지는 가중치를 수정하고, 수정된 가중치를 이용하여 출력 값을 다시 계산할 수 있다. 이때, 각각의 퍼셉트론은 서로 다른 활성화함수를 사용할 수 있다. 또한 각각의 퍼셉트론은 이전 계층에서 전달된 출력들을 입력으로 받아들인 다음, 활성화 함수를 이용해서 출력을 구한다. 구해진 출력은 다음 계층의 입력으로 전달된다. 상술한 바와 같은 과정을 거치면 최종적으로 몇 개의 출력 값을 얻을 수 있다. At this time, the structure of the deep neural network may be composed of perceptron. Perceptron is composed of several input values (input), one processor (prosessor), and one output value. The processor multiplies several input values by weights, and then sums the input values multiplied by the weights. Then, the processor substitutes the summed value into the activation function to output one output value. If a specific value is desired as the output value of the activation function, the weight multiplied by each input value may be corrected, and the output value may be recalculated using the modified weight. At this time, each perceptron may use a different activation function. In addition, each perceptron takes the outputs from the previous layer as inputs, and then uses the activation function to obtain the outputs. The obtained output is passed to the next layer of input. After the process as described above, several output values can be finally obtained.

개시된 일 실시예에 따르면, 서버(20)는 사용자의 다양한 사용자 정보를 판매자 단말(10)로부터 수집하여, 딥러닝에 활용되는 가중치를 설정하는데 사용할 수 있다. 이때, 사용자 정보란, 단말을 통해 수집된 사용자의 생체 정보, 단말을 통해 수집된 단말의 사용 히스토리 기록(사용 히스토리 기록은, 사용한 어플리케이션의 종류, 사용 시간, 접속한 웹사이트 주소, 접속 시간, 알람 설정 시간, 단말 사용 시간 및 분포 등 단말을 통한 모든 사용자 명령 중 적어도 하나일 수 있다.) 예를 들어, 캐릭터를 학습시키기 위한 인공 지능 모델은 상술한 다양한 사용자 정보에 기초하여 캐릭터를 보완하는 정보를 수집할 수 있으며, 이에 기초하여 각각의 가중치를 재설정할 수 있다.According to the disclosed embodiment, the server 20 may collect various user information of the user from the seller terminal 10 and use it to set a weight used for deep learning. At this time, the user information is the biometric information of the user collected through the terminal, the usage history record of the terminal collected through the terminal (the usage history record is the type of application used, the usage time, the accessed website address, the access time, the alarm It may be at least one of all user commands through the terminal, such as set time, terminal use time, and distribution.) For example, an artificial intelligence model for learning a character provides information that complements a character based on various user information described above. It can be collected, and based on this, each weight can be reset.

딥 러닝 기법에 대한 설명으로 다시 돌아가면, 합성곱 신경망(Convolutional deep Neural Networks, CNN)은 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 한 종류이다. 합성곱 신경망은 하나 또는 여러개의 합성곱 계층(convolutional layer)과 그 위에 올려진 일반적인 인공신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 합성곱 신경망은 2차원 구조의 입력 데이터를 충분히 활용할 수 있다. 또한, 합성곱 신경망은 표준 역전달을 통해 훈련될 수 있다. 합성곱 신경망은 다른 피드포워드 인공신경망 기법들보다 쉽게 훈련되는 편이고 적은 수의 매개변수를 사용한다는 이점이 있다. 합성곱 신경망은 입력 영상에 대하여 합성곱과 서브샘플링을 번갈아 수행함으로써 입력 영상으로부터 특징을 추출한다.Returning to the description of deep learning techniques, Convolutional Deep Neural Networks (CNNs) are a type of multilayer perceptrons designed to use minimal preprocessing. The convolutional neural network consists of one or several convolutional layers and a common artificial neural network layer on top of it, and additionally uses weights and pooling layers. Thanks to this structure, the convolutional neural network can fully utilize the input data of the two-dimensional structure. In addition, the convolutional neural network can be trained through standard reverse propagation. Convolutional neural networks tend to be easier to train than other feedforward artificial neural network techniques and have the advantage of using fewer parameters. The convolutional neural network extracts features from the input image by alternately performing the convergence product and subsampling on the input image.

합성곱 신경망은 여러 개의 합성곱 계층(Convolution layer), 여러 개의 서브샘플링 계층(Subsampling layer, Lacal pooling layer, Max-Pooling layer), 완전 연결 층(Fully Connected layer)을 포함한다. 합성곱 계층은 입력 영상(Input Image)에 대해 합성곱을 수행하는 계층이다. 그리고 서브샘플링 계층은 입력 영상에 대해 지역적으로 최대값을 추출하여 2차원 영상으로 매핑하는 계층으로, 국소적인 영역을 더 크게 하고, 서브샘플링을 수행한다. The convolutional neural network includes a plurality of convolutional layers, a plurality of subsampling layers, a lacal pooling layer, and a Max-Pooling layer, and a fully connected layer. The composite product layer is a layer that performs a composite product on an input image. In addition, the subsampling layer is a layer that extracts a maximum value locally for an input image and maps it as a two-dimensional image, and enlarges a local area and performs subsampling.

합성곱 계층에서는 커널의 크기(kernel size), 사용할 커널의 개수(즉, 생성할 맵의 개수), 및 합성곱 연산 시에 적용할 가중치 테이블 등의 정보가 필요하다. 예를 들어, 입력 영상의 크기가 32×32이고, 커널의 크기가 5×5이고, 사용할 커널의 개수가 20개인 경우를 예로 들자. 이 경우, 32×32 크기의 입력 영상에 5×5 크기의 커널을 적용하면, 입력 영상의 위, 아래, 왼쪽, 오른쪽에서 각각 2개의 픽셀(pixel)에는 커널을 적용하는 것이 불가능하다. 입력 영상의 위에 커널을 배치한 후 합성곱을 수행하면, 그 결과 값인 '-8'은 커널에 포함된 입력 영상의 픽셀들 중에서 커널의 중심요소(center element)에 대응하는 픽셀의 값으로 결정되기 때문이다. 따라서, 32×32 크기의 입력 영상에 5×5 크기의 커널을 적용하여 합성곱을 수행하면 28×28 크기의 맵(map)이 생성된다. 앞서, 사용할 커널의 개수가 총 20개인 경우를 가정하였으므로, 첫 번째 합성곱 계층에서는 총 20개의 28×28 크기의 맵이 생성된다. In the convolution layer, information such as the size of the kernel (kernel size), the number of kernels to be used (ie, the number of maps to be generated), and a weight table to be applied when calculating the convolution is required. For example, suppose that the size of the input image is 32 × 32, the size of the kernel is 5 × 5, and the number of kernels to be used is 20. In this case, if a 5 × 5 kernel is applied to an input image of 32 × 32 size, it is impossible to apply a kernel to 2 pixels each from the top, bottom, left, and right of the input image. If a composite product is performed after the kernel is placed on the input image, the result value '-8' is determined as the pixel value corresponding to the center element of the kernel among the pixels of the input image included in the kernel. to be. Therefore, when a composite product is performed by applying a 5 × 5 kernel to an input image of 32 × 32 size, a 28 × 28 size map is generated. Previously, since it is assumed that the number of kernels to be used is a total of 20, a total of 20 28 × 28 maps are generated in the first composite product layer.

서브샘플링 계층에서는 서브샘플링할 커널의 크기에 대한 정보, 커널 영역 내의 값들 중 최대값을 선택할 것인지 최소값을 선택할 것인지에 대한 정보가 필요하다.In the subsampling layer, information about the size of the kernel to be subsampled and information on whether to select the maximum value or the minimum value among the values in the kernel area are required.

딥 러닝 기법에 대한 설명으로 다시 돌아가면, 순환 신경망(Reccurent Neural Network, RNN)은 인공신경망을 구성하는 유닛 사이의 연결이 Directed cycle을 구성하는 신경망을 말한다. 순환 신경망은 앞먹임 신경망과 달리, 임의의 입력을 처리하기 위해 신경망 내부의 메모리를 활용할 수 있다.Returning to the description of the deep learning technique, the Reccurent Neural Network (RNN) refers to a neural network in which connections between units constituting an artificial neural network constitute a Directed Cycle. Cyclic neural networks, unlike pre-feeding neural networks, can utilize memory inside the neural network to process arbitrary input.

심층 신뢰 신경망(Deep Belief Networks, DBN)이란 기계학습에서 사용되는 그래프 생성 모형(generative graphical model)으로, 딥 러닝에서는 잠재변수(latent variable)의 다중계층으로 이루어진 심층 신경망을 의미한다. 계층 간에는 연결이 있지만 계층 내의 유닛 간에는 연결이 없다는 특징이 있다. Deep Belief Networks (DBN) is a graphical graphical model used in machine learning, and deep learning refers to a deep neural network composed of multiple layers of latent variables. The feature is that there is a connection between layers, but there is no connection between units in the layer.

심층 신뢰 신경망은 생성 모형이라는 특성상 선행학습에 사용될 수 있고, 선행학습을 통해 초기 가중치를 학습한 후 역전파 혹은 다른 판별 알고리즘을 통해 가중치의 미조정을 할 수 있다. 이러한 특성은 훈련용 데이터가 적을 때 굉장히 유용한데, 이는 훈련용 데이터가 적을수록 가중치의 초기값이 결과적인 모델에 끼치는 영향이 세지기 때문이다. 선행학습된 가중치 초기값은 임의로 설정된 가중치 초기값에 비해 최적의 가중치에 가깝게 되고 이는 미조정 단계의 성능과 속도향상을 가능케 한다. The deep trust neural network can be used for pre-learning due to the nature of the generation model, and after learning the initial weight through pre-learning, the weight can be fine-tuned through back propagation or other discrimination algorithm. This characteristic is very useful when there is little training data, because the smaller the training data, the stronger the initial value of the weight has on the resulting model. The pre-trained weight initial value is closer to the optimal weight than the arbitrarily set weight initial value, which enables performance and speed improvement in the unadjusted stage.

상술한 인공지능 및 그 학습방법에 관한 내용은 예시를 위하여 서술된 것이며, 이하에서 설명되는 실시 예들에서 이용되는 인공지능 및 그 학습방법은 제한되지 않는다. 예를 들어, 당 업계의 통상의 기술자가 동일한 과제해결을 위하여 적용할 수 있는 모든 종류의 인공지능 기술 및 그 학습방법이 개시된 실시 예에 따른 시스템을 구현하는 데 활용될 수 있다.The contents of the above-described artificial intelligence and its learning method are described for illustrative purposes, and the artificial intelligence and its learning method used in the embodiments described below are not limited. For example, all kinds of artificial intelligence technologies and learning methods that can be applied by a person skilled in the art to solve the same problem may be utilized to implement a system according to the disclosed embodiment.

도 5는 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 거래되는 데이터가 프로그래밍 파일인 경우를 설명하기 위한 흐름도이다.5 is a flowchart illustrating a case in which data traded in a knowledge sharing platform according to an embodiment of the present invention is a programming file.

단계 S310에서, 적어도 하나의 데이터가 APK 파일과 관련된 데이터인 경우, 서버(20)는 APK 파일과 관련된 데이터로부터 적어도 하나의 패키지 데이터를 추출할 수 있다.In step S310, when the at least one data is data related to the APK file, the server 20 may extract at least one package data from the data related to the APK file.

즉, 판매자 단말(10)은 APK 파일 자체만을 서버(20)에 등록하여 거래할 수도 있으나, APK 파일은 복수의 패키지들을 포함할 수 있다. 따라서, 서버(20)는 등록된 APK 파일로부터 패키지를 추출하여 판매자 단말(10)로 제공할 수 있음은 물론이다.That is, the seller terminal 10 may register and transact only the APK file itself on the server 20, but the APK file may include a plurality of packages. Therefore, the server 20 can extract the package from the registered APK file and provide it to the seller terminal 10.

이때, 서버(20)는 APK 파일을 기 설정된 기준에 따라 분할한 후, 분할된 파일의 완전성을 검토할 수 있다. 일 실시예로, 서버(20)는 APK 파일이 자바로 작성된 경우, APK파일에 포함된 코드 중 'import' 명령어를 기준으로 파일을 분할할 수 있다. 또 다른 예로, 서버(20)는 'package' 명령어를 기준으로 파일을 분할 할 수 있다. 서버(20)는 분할된 패키지를 컴파일하여 오류가 발생하는지 여부를 판단할 수 있다. 오류가 발생하는 경우, 서버(20)는 분할의 방법을 변경하여 추가 코드를 더 포함하도록 패키지를 재구성하거나, 분할된 패키지의 코드 일부를 삭제하여 패키지를 재구성할 수 있다. 서버(20)는 컴파일에 오류가 없을 때까지 동일한 방법을 적용하여 APK 파일로부터 패키지를 추출할 수 있다.At this time, the server 20 may divide the APK file according to a preset criterion, and then review the completeness of the divided file. In one embodiment, when the APK file is written in Java, the server 20 may divide the file based on an 'import' command among codes included in the APK file. As another example, the server 20 may divide the file based on the 'package' command. The server 20 may compile the partitioned package and determine whether an error occurs. When an error occurs, the server 20 may change the method of partitioning to reconstruct the package to further include additional code, or delete a portion of the code of the partitioned package to reconstruct the package. The server 20 may extract the package from the APK file by applying the same method until there is no error in compilation.

단계 S320에서, 서버(20)는 판매자 단말(10)로부터 패키지에 대한 크기 정보, 기능 정보, 클래스 정보, 함수 정보 중 적어도 하나에 대한 조건을 수신할 수 있다. In step S320, the server 20 may receive a condition for at least one of size information, function information, class information, and function information for the package from the seller terminal 10.

즉, 서버(20)는 사용자로부터 추출될 패키지의 기본 정보를 획득하고, 기본 정보에 맞도록 패키지를 추출할 수 있다.That is, the server 20 may obtain basic information of the package to be extracted from the user, and extract the package to match the basic information.

단계 S330에서, 서버(20)는 수신한 정보를 바탕으로, APK 파일로부터 적어도 하나의 패키지 데이터를 추출할 수 있다.In step S330, the server 20 may extract at least one package data from the APK file based on the received information.

도 6은 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 거래되는 캐릭터 데이터의 요약 정보를 생성하는 방법을 설명하기 위한 흐름도이다.6 is a flowchart illustrating a method of generating summary information of character data traded in a knowledge sharing platform according to an embodiment of the present invention.

단계 S410에서, 서버(20)는 판매자 단말(10)로부터 수신한 카테고리 정보에 대응되는 학습데이터 및 판매자 단말(10)로부터 수신한 학습데이터를 수신할 수 있다.In step S410, the server 20 may receive learning data corresponding to category information received from the seller terminal 10 and learning data received from the seller terminal 10.

단계 S420에서, 서버(20)는 수신된 학습데이터를 인공지능모델에 입력하여 캐릭터를 학습시킬 수 있다.In step S420, the server 20 may input the received learning data into the artificial intelligence model to train the character.

상술한 바와 같이, 캐릭터는 서버(20)에 저장된 카테고리 정보에 대응되는 학습데이터 및 판매자 단말(10)로부터 제공받은 학습데이터를 바탕으로 캐릭터를 학습시킬 수 있다.As described above, the character may train the character based on the learning data corresponding to the category information stored in the server 20 and the learning data provided from the seller terminal 10.

상술한 다양한 방법을 통해 학습된 캐릭터는, 학습 방법 및 학습 내용에 따라 다양한 형태로 구현될 수 있다. 따라서 특정 사용자가 학습시킨 캐릭터는 특정 사용자만의 것으로서 희소성이 존재할 수 있다. 따라서, 서버(20)는 복수의 단말들에 대응되는 복수의 캐릭터를 구매하거나, 판매하기 위한 플랫폼을 제공할 수 있다.Characters learned through the various methods described above may be implemented in various forms according to learning methods and learning contents. Therefore, a character learned by a specific user may exist only as a specific user and scarcity may exist. Accordingly, the server 20 may provide a platform for purchasing or selling a plurality of characters corresponding to a plurality of terminals.

단계 S430에서, 서버(20)는 인공지능모델에 입력된 학습데이터를 바탕으로 캐릭터에 대한 요약 정보를 획득할 수 있다.In step S430, the server 20 may obtain summary information about the character based on the learning data input to the artificial intelligence model.

즉, 서버(20)는 판매자 단말(10)이 판매하기 위한 캐릭터에 대한 요약 정보를 생성하여 구매자 단말(30)로 전송할 수 있다. 이때, 캐릭터에 대한 요약 정보는 캐릭터를 학습시키는데 투입된 학습데이터를 바탕으로 생성될 수 있다.That is, the server 20 may generate summary information about the character for the seller terminal 10 to sell and transmit it to the buyer terminal 30. At this time, summary information about the character may be generated based on learning data input for learning the character.

일 실시예로, 서버(20)는 캐릭터를 학습시키는데 투입된 학습데이터를 획득할 수 있다. 서버(20)는 획득한 학습데이터를 클러스터링 하여, 유사한 학습데이터끼리 군집화된 복수의 클러스터를 획득할 수 있다. 서버(20)는 획득된 복수의 클러스터의 카테고리를 결정할 수 있다. 서버(20)는 획득된 복수의 클러스터에 포함된 학습데이터량 및 결정된 카테고리를 바탕으로 캐릭터를 가장 잘 표현할 수 있는 요약 정보를 획득할 수 있다. 예를 들어, 제1 클러스터의 카테고리가 영어 번역 카테고리이고, 제2 클러스터의 카테고리가 일본어 번역이며, 제1 클러스터의 학습데이터량이 제2 클러스터의 학습데이터량보다 많은 경우, 서버(20)는 캐릭터가 영어 번역을 위한 캐릭터인 특징을 요약 정보로 획득할 수 있다. 즉, 서버(20)는 학습데이터량이 가장 많은 클러스터를 캐릭터의 대표 클러스터로 획득하고, 획득된 클러스터에 대한 요약 정보를 획득할 수 있다. 다만, 이에 한정되는 것은 아니고, 서버(20)는 모든 클러스터에 대한 요약 정보를 생성하되, 학습데이터량에 따라 복수의 클러스터 각각에 대해 생성된 각각의 요약 정보의 순서를 결정하고, 결정된 순서에 따라 캐릭터에 대한 요약 정보를 생성할 수 있음은 물론이다.In one embodiment, the server 20 may acquire learning data input for learning a character. The server 20 may cluster the acquired learning data to obtain a plurality of clusters clustered with similar learning data. The server 20 may determine the categories of the obtained plurality of clusters. The server 20 may obtain summary information that can best represent the character based on the amount of learning data and the determined category included in the obtained plurality of clusters. For example, if the category of the first cluster is the English translation category, the category of the second cluster is the Japanese translation, and the amount of learning data in the first cluster is greater than the amount of learning data in the second cluster, the server 20 has a character. Characters for English translation can be obtained as summary information. That is, the server 20 may acquire a cluster having the largest amount of learning data as a representative cluster of characters, and obtain summary information about the obtained cluster. However, the present invention is not limited thereto, and the server 20 generates summary information for all clusters, but determines the order of each summary information generated for each of the plurality of clusters according to the amount of learning data, and according to the determined order. Of course, it is possible to generate summary information about the character.

단계 S440에서, 서버(20)는 생성된 요약 정보를 캐릭터와 함께 플랫폼에 등록할 수 있다.In step S440, the server 20 may register the generated summary information with the character on the platform.

상술한 실시예에 따란, 서버(20)는 학습데이터는 인공지능모델에 입력되어 캐릭터를 학습시킬 수 있음과 동시에, 캐릭터를 설명하기 위한 요약 정보를 생성하는데 사용될 수도 있다.According to the above-described embodiment, the server 20 may input learning data into an artificial intelligence model to train a character, and may also be used to generate summary information for describing a character.

한편, 판매하고자 하는 캐릭터는 특정 사용자에게 개인화 되어 있으며, 따라서, 사용자의 개인 정보를 포함하고 있는 경우가 있을 수 있다. 따라서, 서버(20)는 판매될 캐릭터에 저장된 사용자의 개인 정보를 삭제하고 판매 절차를 진행할 수 있다.On the other hand, the character to be sold is personalized to a specific user, and therefore, may contain the user's personal information. Therefore, the server 20 may delete the personal information of the user stored in the character to be sold and proceed with the sales procedure.

일 실시예로, 서버(20)는 판매자의 개인 정보를 삭제하는 것뿐만 아니라, 판매자의 개인 정보와 관련된 학습 내용을 함께 삭제 할 수 있음은 물론이다.In one embodiment, the server 20 may not only delete the personal information of the seller, but also can delete the learning contents related to the personal information of the seller.

나아가, 서버(20)는 요약 정보를 생성하기 위한 클러스터링을 수행함에 있어서도, 학습데이터의 내용 중 사용자의 개인 정보와 관련된 내용을 삭제하고 클러스터링을 수행할 수 있음은 물론이다.Further, the server 20 may perform clustering to delete the content related to the user's personal information among the contents of the learning data, even when performing clustering to generate summary information.

도 7은 본 발명의 일 실시예에 따른 지식 공유 플랫폼에 등록된 데이터가 저작권에 위반되는지 여부를 판단하는 방법을 설명하기 위한 흐름도이다.7 is a flowchart illustrating a method for determining whether data registered in the knowledge sharing platform according to an embodiment of the present invention is in violation of copyright.

단계 S510에서, 적어도 하나의 데이터가 APK 파일 및 패키지 중 적어도 하나에 대한 데이터인 경우 서버(20)는 서버(20)에 등록된 복수의 데이터 중 APK 파일 또는 패키지와 기 설정된 비율 이상 매칭되는 데이터가 존재하는지 판단할 수 있다.In step S510, when the at least one data is data for at least one of the APK file and the package, the server 20 has data matching the APK file or package with a predetermined ratio or more among a plurality of data registered in the server 20 You can judge if it exists.

단계 S520에서, 서버(20)는 매칭되는 데이터가 존재하는 경우(S520-Y) 단계 S530의 방법을, 매칭되는 데이터가 존재하지 않는 경우(S520-N) 단계 S540의 방법을 수행할 수 있다.In step S520, the server 20 may perform the method of step S530 when matching data exists (S520-Y), and the method of step S540 when matching data does not exist (S520-N).

단계 S530에서, 서버(20)는 APK 파일 또는 패키지가 저작권에 위반됨을 알리는 메시지를 판매자 단말(10)로 전송할 수 있다.In step S530, the server 20 may transmit a message indicating that the APK file or package is in violation of copyright to the seller terminal 10.

다만, 서버(20)는 기 설정된 비율 이상 매칭되는 데이터의 등록자와 판매자 단말(10)의 사용자가 동일 인물인지 여부를 판단할 수 있다. 기 등록된 데이터의 등록자와 판매자 단말(10)의 사용자가 동일 인물인 경우, 서버(20)는 저작권에 위배됨을 알리는 메시지 대신, 기 등록한 저작물과 유사한 저작물임을 가이드하는 메시지를 전송할 수 있다.However, the server 20 may determine whether the user of the registrant and the seller terminal 10 of the data matching the preset ratio or more is the same person. When the registrant of the pre-registered data and the user of the seller terminal 10 are the same person, the server 20 may transmit a message guiding that the work is similar to the pre-registered work, instead of the message notifying that the copyright is in violation.

단계 S540에서, 서버(20)는, APK 파일 또는 패키지를 저작권 등록할 것을 안내하는 메시지를 판매자 단말(10)로 전송할 수 있다.In step S540, the server 20 may transmit a message instructing the copyright registration of the APK file or package to the seller terminal 10.

도 8은 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 거래되는 데이터의 가격을 판단하는 방법을 설명하기 위한 흐름도이다.8 is a flowchart illustrating a method of determining a price of data traded in a knowledge sharing platform according to an embodiment of the present invention.

단계 S610에서, 서버(20)는 등록된 복수의 데이터를 클러스터링하여 복수의 클러스터를 획득할 수 있다.In step S610, the server 20 may obtain a plurality of clusters by clustering a plurality of registered data.

이때, 서버(20)는 코딩교육게임 관리 모듈(21), 캐릭터 관리 모듈(22), 프로그래밍파일 관리 모듈(23), 프로그래밍 명령어 관리 모듈(24) 및 2D/3D 디자인 관리 모듈(25) 각각에 대한 복수의 데이터를 클러스터링 할 수 있다. 즉, 서버(20)는 코딩교육게임 관리 모듈(21)에 포함된 데이터를 클러스터링하고, 캐릭터 관리 모듈(22)에 포함된 데이터를 클러스터링하고, 프로그래밍파일 관리 모듈(23)에 포함된 데이터를 클러스터링하고, 프로그래밍 명령어 관리 모듈(24)에 포함된 데이터를 클러스터링하고 및 2D/3D 디자인 관리 모듈(25)에 포함된 데이터를 클러스터링할 수 있다. 즉, 서버(20)는 각각의 모듈이 관리하는 데이터를 독립적으로 클러스터링 할 수 있다.At this time, the server 20 is a coding education game management module 21, character management module 22, programming file management module 23, programming instruction management module 24 and 2D / 3D design management module 25, respectively Multiple data can be clustered. That is, the server 20 clusters data included in the coding education game management module 21, clusters data included in the character management module 22, and clusters data included in the programming file management module 23. The data included in the programming command management module 24 may be clustered, and the data included in the 2D / 3D design management module 25 may be clustered. That is, the server 20 can independently cluster data managed by each module.

다만, 이에 한정되는 것은 아니며, 서버(20)는 코딩교육게임 관리 모듈(21), 캐릭터 관리 모듈(22), 프로그래밍파일 관리 모듈(23), 프로그래밍 명령어 관리 모듈(24) 및 2D/3D 디자인 관리 모듈(25)이 관리하는 모든 데이터를 클러스터링하여 클러스터를 생성할 수도 있음은 물론이다.However, the present invention is not limited thereto, and the server 20 includes a coding education game management module 21, a character management module 22, a programming file management module 23, a programming command management module 24, and 2D / 3D design management. Of course, it is also possible to create a cluster by clustering all data managed by the module 25.

단계 S620에서, 서버(20)는 수신된 적어도 하나의 데이터가 포함된 제1 클러스터를 판단할 수 있다.In step S620, the server 20 may determine the first cluster including the received at least one data.

단계 S630에서, 서버(20)는 제1 클러스터에 포함된 복수의 데이터의 가격 및 판매 횟수를 바탕으로 수신된 적어도 하나의 데이터의 가격을 판단할 수 있다.In step S630, the server 20 may determine the price of at least one data received based on the price and the number of sales of the plurality of data included in the first cluster.

즉, 서버(20)는 클러스터를 생성하여 유사한 데이터들을 분류하고, 판매자 단말(10)이 등록하려는 데이터와 유사한 데이터가 얼마나 있는지 여부에 따라 데이터의 가격을 판단할 수 있다. 예를 들어, 유사한 데이터의 수가 많은 경우, 데이터의 가격은 낮아질 수 있다. That is, the server 20 may create a cluster to classify similar data, and determine the price of the data according to whether there is any data similar to the data that the seller terminal 10 wants to register. For example, if the number of similar data is large, the price of the data may be lowered.

다만, 본 발명에 따른 다양한 실시예에 따라, 제1 클러스터에 포함된 데이터 수와 함께 다양한 요소가 고려되어 데이터의 가격이 결정될 수 있음은 물론이다.However, according to various embodiments of the present invention, it is needless to say that the price of data may be determined by considering various factors along with the number of data included in the first cluster.

일 실시예로, 데이터의 가격은 제1 클러스터에 포함된 데이터의 수, 각각의 데이터의 가격 및 각각의 데이터의 판매량을 바탕으로 결정될 수 있다. 구체적으로, 데이터의 가격은, 제1 클러스터에 포함된 데이터의 수 및 나머지 클러스터 각각에 포함된 각각의 데이터의 수를 바탕으로 산출된 제1 가중치를 획득하는 단계, 제1 클러스터에 포함된 데이터 각각의 판매량과 데이터 각각의 가격을 바탕으로 결정된 제1 가격 지표를 획득하는 단계 및 제1 가중치 및 제1 가격 지표를 바탕으로 데이터의 가격을 결정하는 단계를 포함할 수 있다.In one embodiment, the price of the data may be determined based on the number of data included in the first cluster, the price of each data, and the sales amount of each data. Specifically, the price of the data includes obtaining a first weight calculated based on the number of data included in the first cluster and the number of data included in each of the remaining clusters, and each data included in the first cluster It may include the step of obtaining a first price index determined based on the price of each of the sales volume and data, and determining the price of the data based on the first weight and the first price index.

이때, 제1 클러스터에 포함된 데이터의 수 및 나머지 클러스터 각각에 포함된 각각의 데이터의 수를 바탕으로 산출된 제1 가중치를 획득하는 단계는 각각의 클러스터의 데이터의 수를 바탕으로 결정될 수 있다. 예를 들어, 제1 클러스터의 데이터가 100개, 제2 클러스터의 데이터가 50개, 제3 클러스터의 데이터가 10개인 경우, 제1 클러스터에 대한 가중치는 0.01, 제2 클러스터에 대한 가중치는 0.02, 제3 클러스터에 대한 가중치는 0.1일 수 있다. 즉, 서버(20)는 클러스터에 포함된 데이터의 수가 많을수록, 가중치의 값을 낮게 설정할 수 있다.In this case, the step of obtaining the first weight calculated based on the number of data included in the first cluster and the number of each data included in each of the remaining clusters may be determined based on the number of data in each cluster. For example, if the data of the first cluster is 100, the data of the second cluster is 50, and the data of the third cluster is 10, the weight for the first cluster is 0.01, the weight for the second cluster is 0.02, The weight for the third cluster may be 0.1. That is, the larger the number of data included in the cluster, the lower the value of the weight can be set by the server 20.

한편, 제1 클러스터에 포함된 데이터 각각의 판매량과 데이터 각각의 가격을 바탕으로 결정된 제1 가격 지표를 획득하는 단계는 다양한 방법으로 결정될 수 있다.Meanwhile, the step of acquiring the first price index determined based on the sales amount of each data included in the first cluster and the price of each data may be determined in various ways.

일 실시예로, 서버(20)는 데이터 각각에 대한 판매 가격을 바탕으로 데이터 가격에 대한 평균값 및 분산값을 획득하고, 데이터 각각에 대한 판매량을 바탕으로 데이터 판매량에 대한 평균값 및 분산값을 획득할 수 있다.In one embodiment, the server 20 obtains an average value and a variance value for the data price based on the sale price for each data, and an average value and a variance value for the data sale amount based on the sales amount for each data. You can.

데이터 각각에 대한 가격에 대한 분산값이 기 설정된 값 이하인 경우, 서버(20)는 데이터 각각에 대한 가격에 대한 평균값을 바탕으로 판매자 단말(10)이 전송한 데이터의 제1 가격 지표를 산출할 수 있다. 즉, 서버(20)는 제1 클러스터에 포함된 데이터들의 가격 차이가 크지 않은 경우, 모든 데이터를 바탕으로 제1 가격 지표를 획득할 수 있다. When the variance value for the price for each data is equal to or less than a preset value, the server 20 may calculate the first price index of the data transmitted by the seller terminal 10 based on the average value for the price for each data. have. That is, when the price difference between the data included in the first cluster is not large, the server 20 may obtain a first price index based on all data.

그러나, 데이터 각각에 대한 가격에 대한 분산값이 기 설정된 값 초과인 경우, 서버(20)는 분산값을 바탕으로 제1 가격 지표 산출에 제외할 데이터를 결정하고, 결정된 데이터에 대한 가격을 제외하고 제1 가격 지표를 산출할 수 있다. 예를 들어, 서버(20)는 분산값을 바탕으로 상위 n% 및 하위 n%의 가격을 가지는 데이터를 제외하고, 나머지 데이터들의 가격에 대한 평균값을 바탕으로 판매자 단말(10)이 전송한 데이터의 제1 가격 지표를 산출할 수 있다. 즉, 서버(20)는 제1 클러스터에 포함된 데이터들의 가격 차이가 큰 경우, 가격 차이가 많이 나는 데이터를 제외하여 제1 가격 지표를 획득할 수 있다.However, when the variance value for the price for each data exceeds a preset value, the server 20 determines data to be excluded in calculating the first price index based on the variance value, and excludes the price for the determined data The first price index can be calculated. For example, the server 20 excludes data having prices of the upper n% and the lower n% based on the variance value, and the data transmitted by the seller terminal 10 based on the average value of the prices of the remaining data. The first price index can be calculated. That is, when the price difference between the data included in the first cluster is large, the server 20 may obtain a first price index by excluding data having a large price difference.

나아가, 서버(20)는 판매량에 대한 정보를 더 고려하여 제1 가격 지표를 결정할 수 있음은 물론이다. 일 실시예로, 데이터 각각에 대한 판매량에 대한 분산값이 기 설정된 값 이하인 경우, 서버(20)는 데이터 각각에 대해 산출된 제1 가격 지표를 그대로 사용할 수 있다. Furthermore, the server 20 may, of course, determine the first price index by further considering information about the sales amount. In one embodiment, when the variance value for the sales amount for each data is equal to or less than a preset value, the server 20 may use the first price index calculated for each data as it is.

그러나, 데이터 각각에 대한 판매량에 대한 분산값이 기 설정된 값 이상인 경우, 서버(20)는 분산값을 바탕으로 제1 가격 지표 산출에 사용할 데이터를 결정하고, 결정된 데이터를 바탕으로 제1 가격 지표를 산출할 수 있다. 예를 들어, 서버(20)는 분산값을 바탕으로 상위 n%의 판매량을 가지는 데이터를 제1 가격지표 산출에 필요한 데이터로 결정하고, 결정된 데이터들의 가격의 평균값을 바탕으로 판매자 단말(10)이 전송한 데이터의 제1 가격 지표를 산출할 수 있다. 즉, 서버(20)는 제1 클러스터에 포함된 데이터들 중, 판매량이 많은 데이터를 바탕으로 제1 가격 지표를 획득할 수 있다.However, when the variance value for the sales amount for each data is greater than or equal to a preset value, the server 20 determines data to be used for calculating the first price indicator based on the variance value, and based on the determined data, determines the first price indicator. Can be calculated. For example, the server 20 determines data having an upper n% sales amount based on the variance value as data necessary for calculating the first price index, and the seller terminal 10 based on the average value of the determined data prices. The first price index of the transmitted data can be calculated. That is, the server 20 may obtain a first price index based on data having a large amount of sales among data included in the first cluster.

또 다른 실시예로, 서버(20)는 데이터의 판매량에 따라 서로 다른 가중치를 적용하여 제1 가격 지표를 결정할 수도 있음은 물론이다.In another embodiment, the server 20 may determine the first price index by applying different weights according to the sales amount of data.

도 9는 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 데이터 거래시, 플랫폼에게 지급되는 수수료를 판단하는 방법을 설명하기 위한 흐름도이다.9 is a flowchart for explaining a method for determining a fee paid to a platform when trading data in a knowledge sharing platform according to an embodiment of the present invention.

단계 S710에서, 서버(20)는 제1 클러스터에 포함된 복수의 데이터의 개수 및 판단된 적어도 하나의 데이터의 가격을 바탕으로 플랫폼 수수료를 판단할 수 있다. 나아가, 서버(20)는 제1 클러스터의 데이터들의 판매량을 바탕으로 플랫폼 수수료를 판단할 수 있음은 물론이다.In step S710, the server 20 may determine the platform fee based on the number of the plurality of data included in the first cluster and the determined price of at least one data. Furthermore, it is needless to say that the server 20 can determine the platform fee based on the sales volume of the data of the first cluster.

일 실시예로, 서버(20)는 제1 클러스터에 포함된 데이터의 개수 및 제1 클러스터에 포함된 데이터의 판매량에 비례하여 플랫폼 수수료를 판단할 수 있다. 즉, 클러스터에 포함된 데이터의 개수 및 판매량이 많은 경우, 해당 분야에 대한 데이터의 거래가 활발하다는 것을 의미하므로, 서버(20)는 플랫폼 수수료를 높게 책정할 수 있다. 다만, 데이터의 개수 및 데이터의 판매량에 비례하여 플랫폼 수수료를 판단하는 경우, 관계자의 악의적인 데이터 등록 행위에 따라 플랫폼 수수료가 높게 책정될 수 있다는 문제점이 존재할 수 있다. 따라서, 본 발명에 따른 또 다른 실시예로, 서버(20)는 데이터의 개수 및 데이터의 판매량의 관계에 따라 플랫폼 수수료를 판단할 수 있다. 예를 들어, 서버(20)는 데이터의 개수 및 데이터의 판매량에 기초하여 플랫폼 수수료를 판단하되, 기 설정된 횟수 이상 판매된 데이터들만은 데이터의 개수로 판단할 수 있다. 즉, 서버(20)는 기 설정된 횟수 이하로 판매된 데이터는 무시하고, 플랫폼 수수료를 판단할 수 있다.In one embodiment, the server 20 may determine the platform fee in proportion to the number of data included in the first cluster and the sales amount of data included in the first cluster. That is, when the number and sales of data included in the cluster is large, it means that the transaction of data for the corresponding field is active, so the server 20 can set a high platform fee. However, if the platform fee is judged in proportion to the number of data and the amount of data sold, there may be a problem that the platform fee may be set high according to a malicious data registration act of the person concerned. Accordingly, according to another embodiment of the present invention, the server 20 may determine the platform fee according to the relationship between the number of data and the sales amount of data. For example, the server 20 may determine a platform fee based on the number of data and the amount of data sold, but only the data sold for a predetermined number of times or more may be determined as the number of data. That is, the server 20 may ignore the data sold for a predetermined number of times or less, and determine the platform fee.

단계 S720에서, 구매자 단말(30)이 상기 적어도 하나의 데이터를 구매하면, 적어도 하나의 데이터에 대해 판단된 플랫폼 수수료를 플랫폼에 지급할 수 있다. 이때, 플랫폼 수수료는 데이터 가격에 대한 일정 비율일 수 있음은 물론이다.In step S720, when the purchaser terminal 30 purchases the at least one data, the platform fee determined for the at least one data may be paid to the platform. In this case, of course, the platform fee may be a certain percentage of the data price.

한편, 본 발명의 다양한 실시예에 따라, 복수의 데이터는 현금을 이용하여 결제되거나, 플랫폼에서 사용되는 포인트를 이용하여 결제되거나, 블록체인 기반의 가상화폐를 이용하여 결제될 수 있다. 플랫폼에서 사용되는 포인트는 이커머스 시장과 연계될 수 있음은 물론이다.Meanwhile, according to various embodiments of the present invention, a plurality of data may be settled using cash, settled using points used on the platform, or settled using a blockchain-based cryptocurrency. Of course, the points used in the platform can be linked to the e-commerce market.

한편, 일 실시예에 따라 코딩교육게임 관리 모듈(21), 캐릭터 관리 모듈(22), 프로그래밍파일 관리 모듈(23), 프로그래밍 명령어 관리 모듈(24) 및 2D/3D 디자인 관리 모듈(25)은 서로 다른 종류의 포인트를 사용할 수 있다. 이때, 각각의 모듈에서 관리되는 포인트는 서로 연동되어 환전될 수 있다. 각각의 모듈에 따른 환전 비율은 상술한 바와 같이, 각각의 모듈이 관리하는 데이터의 수나 판매량 등을 바탕으로 결정될 수 있으나, 이에 한정되는 것은 아니고, 데이터 생성에 투입된 시간과 비용 등을 바탕으로 결정될 수도 있음은 물론이다.On the other hand, the coding education game management module 21, the character management module 22, the programming file management module 23, the programming command management module 24 and the 2D / 3D design management module 25 according to one embodiment You can use different types of points. At this time, points managed in each module can be exchanged in conjunction with each other. As described above, the exchange rate according to each module may be determined based on the number or sales of data managed by each module, but is not limited thereto, and may also be determined based on time and cost of data generation. Yes, of course.

한편, 본 발명에 따른 플랫폼은 가상 공간 상에서 구현될 수 있다. 플랫폼이 가상 공간 상에서 구현되는 경우, 판매자 단말(10) 및 구매자 단말(30)은 가상 공간을 처리 및 재생하기 위한 처리장치를 내장할 수도 있고, 외부의 처리장치와 연결되어, 처리장치로부터 수신되는 정보를 디스플레이를 이용하여 출력할 수도 있다. 외부의 처리장치는 서버(20)와 연결된 컴퓨팅 장치일 수 있다. 실시 예에 따라서, 판매자 단말(10) 및 구매자 단말(30) 서버(20)로부터 수신되는 정보에 기초하여 가상현실 영상을 출력할 수도 있다.Meanwhile, the platform according to the present invention may be implemented in a virtual space. When the platform is implemented on a virtual space, the seller terminal 10 and the buyer terminal 30 may have a processing device for processing and reproducing the virtual space, connected to an external processing device, and received from the processing device Information can also be output using a display. The external processing device may be a computing device connected to the server 20. According to an embodiment, the virtual reality image may be output based on information received from the seller terminal 10 and the buyer terminal 30 server 20.

서버(20)는 판매자 단말(10) 및 구매자 단말(30)과 연결되고, 복수의 가상현실 장비들 각각에 컨텐츠를 전송할 수 있으며, 각각의 판매자 단말(10) 및 구매자 단말(30)은 서버(20)로부터 수신된 컨텐츠에 기초하여 가상 공간을 출력할 수 있다. 이때, 판매자 단말(10), 서버(20) 및 구매자 단말(30)은 5세대 이동통신(5G Network)를 이용하여 통신할 수 있다. 5세대 이동통신을 이용함으로써, 원활한 가상 공간이 제공될 수 있다.The server 20 is connected to the seller terminal 10 and the buyer terminal 30, and can transmit content to each of a plurality of virtual reality devices, and each seller terminal 10 and buyer terminal 30 is a server ( The virtual space may be output based on the content received from 20). At this time, the seller terminal 10, the server 20, and the buyer terminal 30 may communicate using a fifth-generation mobile communication (5G Network). By using the 5th generation mobile communication, a smooth virtual space can be provided.

일 실시예로, 가상 공간 상에서 구현되는 플랫폼에서는 캐릭터가 거래될 수 있다. 서버(20)는 가상 공간에 등록된 캐릭터를 배치할 수 있으며, 구매자 단말(30)은 가상 공간에 배치된 캐릭터의 기능을 사용해 볼 수 있다. 텍스트 또는 영상이 아닌 가상 공간에서 구현되는 캐릭터를 직접 사용해 봄으로써, 구매자 단말(30)의 사용자의 구매의욕을 더욱 높일 수 있는 효과가 존재한다.In one embodiment, a character may be traded on a platform implemented on a virtual space. The server 20 may place a character registered in the virtual space, and the purchaser terminal 30 may use the function of the character placed in the virtual space. By directly using a character implemented in a virtual space rather than text or video, there is an effect of further increasing the user's desire to purchase the buyer terminal 30.

도 10은 본 발명의 일 실시예에 따른 장치의 구성도이다.10 is a configuration diagram of an apparatus according to an embodiment of the present invention.

프로세서(102)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.The processor 102 may include one or more cores (not shown) and a connection passage (for example, a bus) for transmitting and receiving signals to and from a graphic processing unit (not shown) and / or other components. .

일 실시예에 따른 프로세서(102)는 메모리(104)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 도 1 내지 도 9와 관련하여 설명된 방법을 수행한다.The processor 102 according to an embodiment performs the methods described with respect to FIGS. 1 to 9 by executing one or more instructions stored in the memory 104.

예를 들어, 프로세서(102)는 메모리에 저장된 하나 이상의 인스트럭션을 실행함으로써 신규 학습용 데이터를 획득하고, 학습된 모델을 이용하여, 상기 획득된 신규 학습용 데이터에 대한 테스트를 수행하고, 상기 테스트 결과, 라벨링된 정보가 소정의 제1 기준값 이상의 정확도로 획득되는 제1 학습용 데이터를 추출하고, 상기 추출된 제1 학습용 데이터를 상기 신규 학습용 데이터로부터 삭제하고, 상기 추출된 학습용 데이터가 삭제된 상기 신규 학습용 데이터를 이용하여 상기 학습된 모델을 다시 학습시킬 수 있다. For example, the processor 102 obtains new training data by executing one or more instructions stored in memory, and uses the trained model to perform tests on the acquired new training data, and the test results and labeling Extracts the first learning data obtained by the obtained information with an accuracy equal to or greater than a predetermined first reference value, deletes the extracted first learning data from the new learning data, and extracts the new learning data from which the extracted learning data is deleted. By using it, the trained model can be trained again.

한편, 프로세서(102)는 프로세서(102) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(102)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다. On the other hand, the processor 102 is a RAM (Random Access Memory, not shown) and a ROM (Read-Only Memory) that temporarily and / or permanently stores signals (or data) processed inside the processor 102. , Not shown). Further, the processor 102 may be implemented in the form of a system on chip (SoC) including at least one of a graphic processing unit, RAM, and ROM.

메모리(104)에는 프로세서(102)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(104)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.The memory 104 may store programs (one or more instructions) for processing and controlling the processor 102. Programs stored in the memory 104 may be divided into a plurality of modules according to functions.

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, a software module executed by hardware, or a combination thereof. The software modules may include random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside on any type of computer readable recording medium well known in the art.

본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.The components of the present invention may be implemented as a program (or application) to be executed in combination with a hardware computer, and stored in a medium. The components of the present invention can be implemented in software programming or software components, and similarly, embodiments include C, C ++, including various algorithms implemented in a combination of data structures, processes, routines or other programming components. , Can be implemented in programming or scripting languages such as Java, assembler, etc. Functional aspects can be implemented with algorithms running on one or more processors.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다. The embodiments of the present invention have been described above with reference to the accompanying drawings, but a person skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing its technical spirit or essential features. You will understand. Therefore, it should be understood that the above-described embodiments are illustrative in all respects and not restrictive.

10: 판매자 단말
20: 서버
30: 구매자 단말
10: seller terminal
20: Server
30: buyer terminal

Claims (1)

서버에 의해 수행되는 지식 공유 플랫폼의 제어 방법에 있어서,
판매자 단말이 코딩 교육 컨텐츠, 캐릭터, APK 파일, 패키지 및 디자인 컨텐츠 중 적어도 하나의 데이터를 생성하는 단계;
상기 판매자 단말이 상기 생성된 적어도 하나의 데이터를 상기 서버로 전송하는 단계;
상기 서버가, 수신된 적어도 하나의 데이터의 가격을 판단하는 단계;
상기 서버가, 상기 수신된 적어도 하나의 데이터를 상기 플랫폼에 등록하는 단계; 및
상기 서버가, 구매자 단말로부터 상기 적어도 하나의 데이터를 구매하기 위한 사용자 명령을 수신하면, 상기 구매자 단말로 상기 적어도 하나의 데이터를 전송하는 단계; 를 포함하고,
상기 적어도 하나의 데이터가 캐릭터에 대한 데이터인 경우, 상기 적어도 하나의 데이터를 생성하는 단계는,
상기 서버가, 상기 판매자 단말로부터 생성될 캐릭터에 대한 정보를 수신하여 캐릭터를 생성하는 단계;
상기 서버가, 상기 판매자 단말로 상기 캐릭터를 학습시키기 위한 카테고리 정보를 전송하는 단계;
상기 전송된 카테고리 정보 중 적어도 하나에 대한 카테고리 정보를 상기 판매자 단말로부터 수신하는 단계; 및
상기 수신된 카테고리 정보를 바탕으로 캐릭터를 학습시키는 단계; 를 포함하고,
상기 학습시키는 단계는,
상기 수신된 카테고리 정보에 대응되는 학습데이터 및 상기 판매자 단말로부터 수신한 학습데이터를 수신하는 단계; 및
상기 수신된 학습데이터를 인공지능모델에 입력하여 학습시키는 단계; 를 더 포함하고,
상기 판매자 단말로부터 수신한 상기 학습데이터를 수신하는 단계는,
상기 판매자가 학교 또는 학원에서 필기한 필기 노트에 대한 데이터를 획득하는 단계;
상기 획득한 필기 노트에 대한 데이터가 이미지 파일인 경우, 상기 필기 노트에 대한 데이터를 바탕으로 텍스트를 추출하는 단계; 및
상기 추출된 텍스트 데이터를 학습데이터로 수신하는 단계; 를 포함하고,
상기 등록하는 단계는,
상기 적어도 하나의 데이터가 학습된 캐릭터와 관련된 데이터인 경우, 상기 인공지능모델에 입력된 학습데이터를 바탕으로 상기 캐릭터에 대한 요약 정보를 생성하는 단계; 및
상기 요약 정보를 상기 캐릭터와 함께 등록하는 단계; 를 포함하고,
상기 요약 정보를 생성하는 단계는,
상기 캐릭터를 학습시키는데 투입된 학습데이터를 획득하는 단계;
상기 획득한 학습데이터를 클러스터링하여 복수의 클러스터를 획득하고, 상기 복수의 클러스터 각각에 대한 카테고리를 결정하는 단계;
상기 복수의 클러스터에 포함된 학습데이터량 및 상기 결정된 카테고리를 바탕으로 상기 복수의 클러스터 중 대표 클러스터를 결정하는 단계;
상기 대표 클러스터에 대한 요약 정보를 생성하는 단계; 및
상기 인공지능모델에 입력된 학습데이터 중, 상기 판매자 단말의 사용자 개인 정보와 관련된 학습데이터를 삭제하는 단계; 를 더 포함하고,
상기 적어도 하나의 데이터가 APK 파일과 관련된 데이터인 경우,
상기 제어 방법은,
상기 APK 파일과 관련된 데이터로부터 적어도 하나의 패키지 데이터를 추출하는 단계; 를 포함하고,
상기 적어도 하나의 패키지 데이터를 추출하는 단계는,
상기 판매자 단말로부터 패키지에 대한 크기 정보, 기능 정보, 클래스 정보, 함수 정보 중 적어도 하나에 대한 조건을 수신하는 단계; 및
상기 수신된 조건을 바탕으로 상기 APK 파일로부터 적어도 하나의 패키지 데이터를 추출하는 단계;를 포함하고,
상기 수신된 적어도 하나의 데이터의 가격을 판단하는 단계는,
상기 등록된 복수의 데이터를 클러스터링하여 복수의 클러스터를 획득하는 단계;
상기 수신된 적어도 하나의 데이터가 포함된 제1 클러스터를 획득하는 단계; 및
상기 제1 클러스터에 포함된 복수의 데이터의 가격 및 판매 횟수를 바탕으로 상기 수신된 적어도 하나의 데이터의 가격을 판단하는 단계; 를 포함하고,
상기 수신된 적어도 하나의 데이터의 가격을 판단하는 단계는,
상기 제1 클러스터에 포함된 데이터의 수, 각각의 데이터 가격 및 각각의 데이터 판매량을 획득하는 단계;
상기 제1 클러스터에 포함된 데이터의 수 및 상기 복수의 클러스터 중 제1 클러스터를 제외한 나머지 클러스터 각각에 포함된 데이터의 수를 바탕으로 산출된 제1 가중치를 획득하되, 상기 제1 가중치의 크기는 상기 제1 클러스터에 포함된 데이터의 수와 반비례 관계인, 단계;
상기 제1 클러스터에 포함된 데이터 각각의 판매량 및 상기 데이터 각각의 가격을 바탕으로 결정된 제1 가격 지표를 획득하는 단계; 및
상기 제1 가중치 및 상기 제1 가격 지표를 바탕으로 상기 수신된 적어도 하나의 가격을 판단하는 단계; 를 포함하고,
상기 제1 가격 지표를 획득하는 단계는,
상기 제1 클러스터에 포함된 데이터 각각에 대한 판매 가격에 대한 평균값 및 분산값을 획득하는 단계;
상기 제1 클러스터에 포함된 데이터 각각에 대한 판매량에 대한 평균값 및 분산값을 획득하는 단계;
상기 데이터 각각에 대한 가격에 대한 분산값이 기 설정된 값 이하인 경우, 상기 데이터 각각에 대한 가격에 대한 평균값을 바탕으로 제1 가격 지표를 산출하는 단계;
상기 데이터 각각에 대한 가격에 대한 분산값이 기 설정된 값 초과인 경우, 상기 데이터 각각에 대한 가격에 대한 분산값을 바탕으로, 기 설정된 상위 n%의 가격에 대응하는 데이터 및 기 설정된 하위 n%의 가격에 대응하는 데이터를 제외한 데이터의 가격의 평균값을 바탕으로 제1 가격 지표를 산출하는 단계; 및
상기 데이터 각각에 대한 판매량에 대한 분산값이 기 설정된 값 이상인 경우, 상기 데이터 각각에 대한 판매량에 대한 분산값을 바탕으로 기 설정된 상위 n%의 판매량을 가지는 데이터를 획득하고, 상기 기 설정된 상위 n%의 판매량을 가지는 데이터를 바탕으로 제1 가격 지표를 획득하는 단계; 를 포함하고,
상기 코딩 교육 컨텐츠는 코딩교육 게임에 대한 컨텐츠를 포함하고, 상기 판매자 단말로부터 수신한 코딩교육 게임에 대한 컨텐츠는, 상기 서버의 코딩교육게임 관리 모듈에 의해 상기 구매자 단말로 전송되는 것을 특징으로 하는 제어 방법.

In the control method of the knowledge sharing platform performed by the server,
Generating, by the seller terminal, at least one data among coding education content, character, APK file, package, and design content;
The seller terminal transmitting the generated at least one data to the server;
Determining, by the server, the price of the received at least one data;
The server registering the received at least one data with the platform; And
When the server receives a user command for purchasing the at least one data from a buyer terminal, transmitting the at least one data to the buyer terminal; Including,
When the at least one data is data for a character, generating the at least one data may include:
Generating, by the server, a character by receiving information on a character to be generated from the seller terminal;
Transmitting, by the server, category information for learning the character to the seller terminal;
Receiving category information for at least one of the transmitted category information from the seller terminal; And
Learning a character based on the received category information; Including,
The step of learning,
Receiving learning data corresponding to the received category information and learning data received from the seller terminal; And
Inputting and learning the received learning data into an artificial intelligence model; Further comprising,
The step of receiving the learning data received from the seller terminal,
Acquiring data on a handwritten note written by the seller at a school or academy;
Extracting text based on the data on the handwritten note when the obtained data on the handwritten note is an image file; And
Receiving the extracted text data as learning data; Including,
The step of registering,
If the at least one data is data related to a learned character, generating summary information about the character based on the learning data input to the artificial intelligence model; And
Registering the summary information together with the character; Including,
Generating the summary information,
Obtaining learning data input for learning the character;
Clustering the acquired learning data to obtain a plurality of clusters, and determining a category for each of the plurality of clusters;
Determining a representative cluster among the plurality of clusters based on the amount of learning data included in the plurality of clusters and the determined category;
Generating summary information for the representative cluster; And
Deleting learning data related to user personal information of the seller terminal from the learning data input to the artificial intelligence model; Further comprising,
When the at least one data is data related to the APK file,
The control method,
Extracting at least one package data from data associated with the APK file; Including,
Extracting the at least one package data,
Receiving conditions for at least one of size information, function information, class information, and function information about the package from the seller terminal; And
And extracting at least one package data from the APK file based on the received condition.
Determining the price of the received at least one data,
Clustering the registered plurality of data to obtain a plurality of clusters;
Obtaining a first cluster containing the received at least one data; And
Determining prices of the received at least one data based on price and number of sales of a plurality of data included in the first cluster; Including,
Determining the price of the received at least one data,
Acquiring the number of data included in the first cluster, each data price, and each data sales amount;
A first weight calculated based on the number of data included in the first cluster and the number of data included in each of the clusters other than the first cluster among the plurality of clusters is obtained, and the size of the first weight is the A step inversely related to the number of data included in the first cluster;
Obtaining a first price index determined based on the sales amount of each data included in the first cluster and the price of each of the data; And
Determining the received at least one price based on the first weight and the first price indicator; Including,
The step of obtaining the first price index,
Obtaining an average value and a variance value for a sale price for each data included in the first cluster;
Obtaining an average value and a variance value for the sales amount for each data included in the first cluster;
Calculating a first price index based on an average value for a price for each of the data when the variance value for the price for each of the data is equal to or less than a preset value;
When the variance value for the price for each of the data exceeds a preset value, based on the variance value for the price for each of the data, the data corresponding to the price of the preset upper n% and the preset lower n% Calculating a first price index based on an average value of prices of data excluding data corresponding to prices; And
When the variance value for the sales amount for each of the data is greater than or equal to a preset value, data having a preset upper n% sales amount is acquired based on the variance value for each sales amount for each of the data, and the preset upper n% Obtaining a first price index based on data having a sales volume of; Including,
The coding education content includes content for the coding education game, and the content for the coding education game received from the seller terminal is transmitted to the buyer terminal by the coding education game management module of the server. Way.

KR1020190169250A 2019-12-17 2019-12-17 Control method, device and system of knowledge sharing platform for content management of coding education game KR102071197B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190169250A KR102071197B1 (en) 2019-12-17 2019-12-17 Control method, device and system of knowledge sharing platform for content management of coding education game

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190169250A KR102071197B1 (en) 2019-12-17 2019-12-17 Control method, device and system of knowledge sharing platform for content management of coding education game

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190045207A Division KR102059017B1 (en) 2019-04-18 2019-04-18 Control method, apparatus and system for knowledge sharing platform

Publications (1)

Publication Number Publication Date
KR102071197B1 true KR102071197B1 (en) 2020-04-01

Family

ID=70276199

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190169250A KR102071197B1 (en) 2019-12-17 2019-12-17 Control method, device and system of knowledge sharing platform for content management of coding education game

Country Status (1)

Country Link
KR (1) KR102071197B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220080858A (en) * 2020-12-08 2022-06-15 주식회사 로보그램인공지능로봇연구소 An interactive coding tool system for non-face-to-face coding education
KR20220098444A (en) * 2021-01-04 2022-07-12 주식회사 럭스로보 A system for providing quest solving e-book services using play module

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110123334A (en) * 2010-05-07 2011-11-15 (주)코아블루 Making tool and method for virtual reality education system
KR101323148B1 (en) * 2013-04-19 2013-10-30 한성대학교 산학협력단 Ucr contents editor device
KR20150144169A (en) * 2014-06-16 2015-12-24 정병훈 Apparatus and Method for Educational Content Management
KR101783476B1 (en) 2016-12-15 2017-10-10 (주) 씨이랩 A system and method for distributing profit by providing source data in data transaction service
KR101910074B1 (en) * 2018-05-17 2018-10-19 이희주 Method, apparatus and computer program for preschool education contents

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110123334A (en) * 2010-05-07 2011-11-15 (주)코아블루 Making tool and method for virtual reality education system
KR101323148B1 (en) * 2013-04-19 2013-10-30 한성대학교 산학협력단 Ucr contents editor device
KR20150144169A (en) * 2014-06-16 2015-12-24 정병훈 Apparatus and Method for Educational Content Management
KR101783476B1 (en) 2016-12-15 2017-10-10 (주) 씨이랩 A system and method for distributing profit by providing source data in data transaction service
KR101910074B1 (en) * 2018-05-17 2018-10-19 이희주 Method, apparatus and computer program for preschool education contents

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220080858A (en) * 2020-12-08 2022-06-15 주식회사 로보그램인공지능로봇연구소 An interactive coding tool system for non-face-to-face coding education
KR102547362B1 (en) 2020-12-08 2023-06-26 주식회사 로보그램인공지능로봇연구소 An interactive coding tool system for non-face-to-face coding education
KR20220098444A (en) * 2021-01-04 2022-07-12 주식회사 럭스로보 A system for providing quest solving e-book services using play module
KR102450665B1 (en) 2021-01-04 2022-10-06 주식회사 럭스로보 A system for providing quest solving e-book services using play module

Similar Documents

Publication Publication Date Title
CN111784455B (en) Article recommendation method and recommendation equipment
Luce Artificial intelligence for fashion: How AI is revolutionizing the fashion industry
CN111708950B (en) Content recommendation method and device and electronic equipment
Artasanchez et al. Artificial Intelligence with Python: Your complete guide to building intelligent apps using Python 3. x
KR102326744B1 (en) Control method, device and program of user participation keyword selection system
KR102071197B1 (en) Control method, device and system of knowledge sharing platform for content management of coding education game
KR102071198B1 (en) Control method, device and system of knowledge sharing platform for managing character, programming file and programming instruction
CN113761153A (en) Question and answer processing method and device based on picture, readable medium and electronic equipment
CN116894711A (en) Commodity recommendation reason generation method and device and electronic equipment
KR102059017B1 (en) Control method, apparatus and system for knowledge sharing platform
KR102122564B1 (en) Exhibition platform construction system using virtual reality space created based on object location information
KR102122565B1 (en) Virtual reality exhibition platform building system that can be entered based on access authority
KR20200097225A (en) Display method of character avatar created for service provision in virtual reality space
Ribeiro de Oliveira et al. Virtual reality solutions employing artificial intelligence methods: A systematic literature review
KR102119518B1 (en) Method and system for recommending product based style space created using artificial intelligence
KR102215735B1 (en) Character selling and purchasing device for service provision in virtual reality space
KR102215729B1 (en) Service provision program by user avatar applied to virtual reality space
US20230245210A1 (en) Knowledge graph-based information recommendation
KR102071196B1 (en) Methods, devices and systems for calculating fees for knowledge sharing platforms
CN109299378B (en) Search result display method and device, terminal and storage medium
CN117217284A (en) Data processing method and device
KR102071199B1 (en) Control method, device and system of knowledge sharing platform for 2d / 3d design result management
CN116976353A (en) Data processing method, device, equipment and readable storage medium
CN116228391A (en) Risk identification method and device, storage medium and electronic equipment
Wu Art Product Recognition Model Design and Construction of VR Model