KR102071199B1 - Control method, device and system of knowledge sharing platform for 2d / 3d design result management - Google Patents

Control method, device and system of knowledge sharing platform for 2d / 3d design result management Download PDF

Info

Publication number
KR102071199B1
KR102071199B1 KR1020190169256A KR20190169256A KR102071199B1 KR 102071199 B1 KR102071199 B1 KR 102071199B1 KR 1020190169256 A KR1020190169256 A KR 1020190169256A KR 20190169256 A KR20190169256 A KR 20190169256A KR 102071199 B1 KR102071199 B1 KR 102071199B1
Authority
KR
South Korea
Prior art keywords
data
character
server
price
learning
Prior art date
Application number
KR1020190169256A
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 KR1020190169256A priority Critical patent/KR102071199B1/en
Application granted granted Critical
Publication of KR102071199B1 publication Critical patent/KR102071199B1/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 capable of providing environment that various pieces of knowledge content may be traded. A method for controlling the knowledge sharing platform according to the present invention comprises the steps of: generating data for at least one 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 a price of the received data by the server; registering the received data into the platform by the server; and transmitting the data to a purchaser terminal when a user instruction for purchasing the data is received from the purchaser terminal by the server.

Description

2D/3D 디자인 관리를 위한 지식 공유 플랫폼의 제어 방법, 장치 및 시스템{CONTROL METHOD, DEVICE AND SYSTEM OF KNOWLEDGE SHARING PLATFORM FOR 2D / 3D DESIGN RESULT MANAGEMENT}CONTROL METHOD, DEVICE AND SYSTEM OF KNOWLEDGE SHARING PLATFORM FOR 2D / 3D DESIGN RESULT MANAGEMENT}

본 발명은 D/3D 디자인 관리를 위한 지식 공유 플랫폼의 제어 방법, 장치 및 시스템에 관한 것이다. The present invention relates to a control method, apparatus and system of a knowledge sharing platform for D / 3D design management.

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

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

나아가, 기술의 발전과 함께 사용자에게 다양한 경험을 제공하는 가상 공간을 구축하는 기술들이 개발되고 있다. 가상현실(Virtual Reality)은 컴퓨터로 만들어 놓은 가상의 세계에서 사람이 실제와 같은 체험을 할 수 있도록 하는 기술이며, 가상현실(VR·virtual reality)과 현실 세계에 가상정보를 더해 보여주는 기술인 증강현실(AR:augmented reality)을 혼합한 기술은 혼합현실(MR:mixed reality)이라고 한다. VR과 AR, MR은 모두 실제로 존재하지 않은 현실을 구현해 사람이 이를 인지할 수 있도록 하는 기술이라는 점에서 공통점이 있다. 다만 AR은 실제 현실에 가상의 정보를 더해 보여 주는 방식이고, VR은 모두 허구의 상황이 제시된다는 점에서 차이가 있다. MR은 AR과 VR을 혼합해 현실 배경에 현실과 가상의 정보를 혼합시켜 제공하는데, 대용량 데이터를 처리할 수 있는 기술이 필요하다.In addition, with the development of technology, technologies for building a virtual space providing a variety of experiences to users are being developed. Virtual Reality is a technology that allows people to experience the real world in a virtual world made of computers, and augmented reality, a technology that adds virtual information to VR and the real world. The technology that mixes AR: augmented reality is called mixed reality (MR). VR, AR, and MR are all common in that they are technologies that realize reality that does not exist so that people can recognize it. AR differs from the fact that virtual information is added to real reality and VR is presented in a fictional situation. MR provides a mixture of AR and VR to provide a mixture of real and virtual information on a realistic background, requiring a technology that can process large amounts of data.

이때, 대용량 데이터의 처리에는 대용량 데이터를 전송하는 기술이 포함된다. 종래에는 대용량 데이터를 빠르게 전송하는 것에 문제점이 있었으나, 근래에는 28GHz의 초고대역 주파수를 사용하며, 최고 다운로드 속도가 20Gbps에 달하는 5세대 이동통신(5G Networks)의 보급이 시작되어, 가상 공간을 구축하데 발생하는 기술적 문제들을 보완하고 있다.At this time, the processing of a large amount of data includes a technique for transmitting a large amount of data. Conventionally, there has been a problem in transmitting large data rapidly, but recently, the use of ultra high-band frequency of 28 GHz and the maximum download speed of 20 Gbps (5G Networks) began to spread, and 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 공개Korean Patent Publication No. 10-1783476, published October 10, 2017

본 발명이 해결하고자 하는 과제는 본 발명은 캐릭터, 프로그래밍 파일 및 프로그래밍 명령어 관리를 위한 지식 공유 플랫폼의 제어 방법, 장치 및 시스템을 제공하는 것이다.An object of the present invention is to provide a method, apparatus, and system for controlling a knowledge sharing platform for managing characters, programming files, and programming instructions.

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

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 지식 공유 플랫폼의 제어 방법은, 판매자 단말이 코딩 교육 컨텐츠, 캐릭터, APK 파일, 패키지 및 디자인 컨텐츠 중 적어도 하나의 데이터를 생성하는 단계; 상기 판매자 단말이 상기 생성된 적어도 하나의 데이터를 상기 서버로 전송하는 단계; 상기 서버가, 상기 수신된 적어도 하나의 데이터의 가격을 판단하는 단계; 상기 서버가, 상기 수신된 적어도 하나의 데이터를 상기 플랫폼에 등록하는 단계; 및 상기 서버가, 구매자 단말로부터 상기 적어도 하나의 데이터를 구매하기 위한 사용자 명령을 수신하면, 상기 구매자 단말로 상기 적어도 하나의 데이터를 전송하는 단계; 를 포함한다.According to an aspect of the present invention, there is provided a method of controlling a knowledge sharing platform, including: generating, by a seller terminal, data of at least one of 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, a price of the received at least one data; Registering, by the server, 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: generating, by the server, a character by receiving information about 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 on 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 파일로부터 적어도 하나의 패키지 데이터를 추출하는 단계;를 포함할 수 있다.In this case, when the at least one data is data related to an APK file, the control method may include extracting at least one package data from data related to the APK file; The extracting of the at least one package data may include: receiving a condition for at least one of size information, function information, class information, and function information about a package from the seller terminal; And extracting at least one package data from the APK file based on the received condition.

이때, 상기 학습시키는 단계는, 상기 수신된 카테고리 정보에 대응되는 학습데이터 및 상기 판매자 단말로부터 수신한 학습데이터를 수신하는 단계; 및 상기 수신된 학습데이터를 인공지능모델에 입력하여 학습시키는 단계; 를 더 포함하고, 상기 등록하는 단계는, 상기 적어도 하나의 데이터가 학습된 캐릭터와 관련된 데이터인 경우, 상기 인공지능모델에 입력된 학습데이터를 바탕으로 상기 캐릭터에 대한 요약 정보를 생성하는 단계; 및 상기 요약 정보를 상기 캐릭터와 함께 등록하는 단계; 를 포함할 수 있다.In this case, the training may include 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. The method may further include: generating summary information about the character based on the learning data input to the artificial intelligence model, when the at least one data is data related to the learned character; And registering the summary information with the character. It may include.

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

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

이때, 상기 제어 방법은, 상기 제1 클러스터에 포함된 복수의 데이터의 개수 및 상기 판단된 적어도 하나의 데이터의 가격을 바탕으로 플랫폼 수수료를 판단하는 단계; 및 상기 구매자 단말이 상기 적어도 하나의 데이터를 구매하면, 상기 적어도 하나의 데이터에 대해 판단된 상기 플랫폼 수수료를 상기 플랫폼에 지급하는 단계;를 더 포함할 수 있다.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 price of the determined at least one data; And if the purchaser terminal purchases the at least one data, paying the platform fee determined for the at least one data to the platform.

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

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the 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 in which various knowledge contents may be traded.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the above-mentioned effects, 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 a configuration of a server according to an embodiment of the present invention.
3 is a flowchart illustrating an operation of a 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 of determining whether data registered in a knowledge sharing platform is in violation of copyright according to an embodiment of the present invention.
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 illustrating a method of determining a fee paid to a platform when a data transaction is performed in a knowledge sharing platform according to an embodiment of the present invention.
10 is a block 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 apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below but may be embodied in various different forms, only the present embodiments are intended to complete the disclosure of the present invention, and those skilled in the art It is provided to fully inform the skilled person of the scope of the invention, which is defined only by the scope of the claims.

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

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

명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.The term "part" or "module" as used herein refers to a hardware component such as software, FPGA or ASIC, and the "part" or "module" plays 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 play one or more processors. Thus, as an example, a "part" or "module" may include components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, Procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. Functions provided within components and "parts" or "modules" may be combined into smaller numbers 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 " It can be used to easily describe a component and its correlation with other components. Spatially relative terms are to be understood as including terms in different directions of components in use or operation in addition to the directions shown in the figures. For example, when flipping a component shown in the drawing, a component described as "below" or "beneath" of another component may be placed "above" the other component. Can be. Thus, the exemplary term "below" can encompass both an orientation of above and below. Components may be oriented in other directions as well, so spatially relative terms may be interpreted according to orientation.

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

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

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

도 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 can be implemented as a smart phone, but this is only one embodiment, a smartphone, a tablet personal computer, Mobile phones, video phones, e-book readers, desktop PCs, laptop PCs, netbook computers, workstations, servers, PDAs It may include at least one of a personal digital assistant, a portable multimedia player (PMP), an MP3 player, a mobile medical device, a camera, and 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?), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.In another embodiment, the seller terminal 10 or the purchaser terminal 30 may be a home appliance. Home appliances are, for example, televisions, digital video disk players, audio, refrigerators, air conditioners, vacuum cleaners, ovens, microwave ovens, washing machines, air cleaners, set-top boxes, home automation Home automation control panel, security control panel, TV box (e.g. Samsung HomeSync ?, Apple TV ?, or Google TV?), Game console (e.g. 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), but may include the second buyer terminal 32 and the third buyer terminal 33, but is not limited thereto, and may include a variety of seller terminal and buyer terminal as necessary.

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

판매자 단말(10) 및 구매자 단말(30)은 다양한 지식 컨텐츠를 판매하는 사용자의 단말과 구매하는 사용자의 단말을 구분하여 놓은 것일 뿐, 판매자 단말(10) 및 구매자 단말(30) 각각은 자유롭게 다양한 컨텐츠를 생성할 수 있음은 물론이며, 판매자 단말(10) 및 구매자 단말(30)이 서로 변경될 수도 있음은 물론이다.The seller terminal 10 and the purchaser terminal 30 merely distinguish between a terminal of a user who sells various knowledge contents and a terminal of a user who purchases various contents, and each of the seller terminal 10 and the purchaser terminal 30 freely select various contents. Of course, it can be generated, of course, the seller terminal 10 and the buyer terminal 30 may be changed with each other.

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

도 2는 본 발명의 일 실시예에 따른 서버의 구성을 설명하기 위한 블록도이다.2 is a block diagram illustrating a 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 disclosure, the server 20 may include 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. The design management module 25 may be included.

코딩교육게임 관리 모듈(21)은 판매자 단말(10)로부터 코딩교육 게임에 대한 컨텐츠를 수신하여 구매자 단말(30)로 전송하는 것을 제어하기 위한 모듈이다.Coding education game management module 21 is a module for controlling to receive the content for the coding education game from the seller terminal 10 to transmit 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. Coding education game according to the present invention, may be performed by the seller terminal 10 or the buyer terminal 30 including a camera.

일 실시예로, 본 발명에서 거래되는 코딩교육 게임은, 코딩교육 컨텐츠를 획득하는 제1단계, 상기 코딩교육 컨텐츠에 포함된 하나 이상의 포인트를 선택하는 제2단계, 상기 카메라로부터 촬영된 영상을 획득하는 제3단계, 상기 촬영된 영상을 인식하고, 상기 촬영된 영상에 포함된 하나 이상의 객체와 상기 하나 이상의 포인트를 매칭하는 제4단계, 상기 촬영된 영상 및 상기 매칭된 하나 이상의 포인트를 표시하는 제5단계, 상기 촬영된 영상에 가상의 로봇을 표시하는 제6단계, 상기 가상의 로봇의 움직임을 제어하기 위한 하나 이상의 명령어를 각각 포함하는 하나 이상의 명령어 블록을 표시하는 제7단계, 상기 표시된 하나 이상의 명령어 블록에 대한 사용자 입력에 기초하여 상기 하나 이상의 명령어 블록을 상기 하나 이상의 포인트에 배치하는 제8단계, 상기 하나 이상의 명령어 블록이 배치된 순서에 따라 상기 가상의 로봇을 제어하되, 상기 가상의 로봇은 상기 하나 이상의 포인트를 따라 이동하고, 각각의 포인트에 배치된 명령어 블록에 대응하는 명령을 수행하는, 제9단계 및 상기 제어 결과에 따른 상기 가상의 로봇의 움직임을 표시하는 제10단계를 포함할 수 있다.In one embodiment, the coding education game traded in the present invention, the first step of obtaining the coding training content, the second step of selecting one or more points included in the coding training content, obtains the image taken from the camera A third step of recognizing the photographed image and matching one or more objects and one or more points included in the photographed image, and a step of displaying the photographed 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 An eighth stage for placing the one or more instruction blocks at the one or more points based on user input to the instruction block; Controlling the virtual robot according to the order in which the one or more command blocks are arranged, wherein the virtual robot moves along the one or more points and performs 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.

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

이때, 상기 제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 the mission is achieved at each of the one or more points based on the interaction. The fourteenth step may include a seventeenth step of displaying feedback based on whether the mission is achieved at each of the one or more points.

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

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

이때, 상기 제11단계는, 상기 하나 이상의 객체의 종류를 판단하는 제25단계, 상기 촬영된 영상에 포함된 상기 하나 이상의 객체의 위치 및 종류에 기초하여 상기 가상의 로봇의 이동경로를 생성하는 제26단계, 상기 가상의 로봇이 상기 이동경로를 따라 이동하도록 하는 제1미션을 획득하는 제27단계 및 상기 가상의 로봇이 상기 하나 이상의 객체 중 적어도 하나와 소정의 인터랙션을 수행하도록 하는 제2미션을 획득하는 제28단계를 포함할 수 있다.In this case, the eleventh step may include: twenty-fifth step 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. In step 26, obtaining a first mission for allowing the virtual robot to move along the movement path; and performing a second mission for allowing the virtual robot to perform a predetermined interaction with at least one of the one or more objects. It may include the 28 th step of obtaining.

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

이때, 상기 제8단계는, 상기 하나 이상의 명령어 블록 중 적어도 일부를 상기 가상의 로봇에 배치하는 제34단계를 더 포함하고, 상기 제9단계는, 상기 가상의 로봇에 배치된 명령어 블록에 대응하는 명령을 수행하는 제35단계, 상기 하나 이상의 포인트에 도착하는 경우, 상기 도착한 포인트에 배치된 명령어 블록에 대응하는 명령을 수행하는 제36단계 및 상기 가상의 로봇에 배치된 명령어 블록에 대응하는 명령과, 상기 도착한 포인트에 배치된 명령어 블록에 대응하는 명령이 충돌하는 경우, 동작을 정지하고 피드백을 표시하는 제37단계를 더 포함할 수 있다.In this case, the eighth step may further include a thirty-fourth step of disposing at least some of the one or more instruction blocks on the virtual robot, and the ninth step may correspond to the instruction block disposed on the virtual robot. A step 35 of performing a command; a step 36 of performing a command corresponding to the command block disposed at the at least one point; and a command corresponding to the command block disposed at the virtual robot; The method may further include a thirty-seventh step of stopping operation and displaying feedback when a command corresponding to the instruction block disposed at the arrived point collides.

캐릭터 관리 모듈(22)은 판매자 단말(10)에서 생성된 캐릭터를 구매자 단말(30)으로 전송하는 것을 제어하기 위한 구성이다. 나아가, 캐릭터 관리 모듈(22)은, 판매자 단말(10)이 판매하고자 하는 캐릭터의 생성을 위한 동작을 수행할 수 있다. 즉, 판매자 단말(10)은 캐릭터 관리 모듈(22)을 이용하여 캐릭터를 생성, 학습시키고, 학습된 캐릭터를 구매자 단말(30)에게 제공할 수 있다.The character management module 22 is a component for controlling the transmission of the character generated in the seller terminal 10 to the purchaser 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 purchaser 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 generation request from the seller terminal 10. The generated character may be used by the seller terminal 10 or the purchaser terminal 30. In this case, the character may perform voice recognition and output a result corresponding to the user's voice as voice. To this end, the seller terminal 10 or the buyer terminal 30 may include a microphone and a speaker, the seller terminal 10 or the buyer terminal 30 receives the user's voice and delivers to the character, 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 completed executable files such as APK files. The seller terminal 10 may register the programming file with the server 20 and transmit the programming file to the purchaser terminal 30. For convenience of description, the following description of the present invention is limited to the case where the programming file is an APK file, but the technical idea of the present invention may be applied to various executable programming files.

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

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

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

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

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

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

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

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

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

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

한편, 본 발명의 다양한 실시예에 따라, 데이터 판매는 QR 코드를 이용하여 이뤄질 수 있다. QR코드는 Quick Response Code의 약자로 흑백 격자무늬 패턴으로 정보를 나타내는 매트릭스 형식의 이차원 바코드의 일종으로 일본의 덴소 웨이브사가 개발하여 1994년에 발표하였으며, 다른 2D 바코드들에 비해 빠른 속도 및 많은 데이터를 저장할 수 있다는 장점을 가지고 있다. 서버(20)는 적어도 하나의 데이터가 플랫폼에 등록되면, 등록된 데이터에 대응되는 QR 코드를 생성하여 함께 등록할 수 있다. QR 코드를 이용함으로써, 구매자 단말(30)이 데이터 구매를 원하는 경우, QR코드를 통해 데이터를 구매할 수 있다.Meanwhile, according to various embodiments of the present disclosure, the data sale may be made using a QR code. QR Code is an abbreviation of Quick Response Code. It is a kind of two-dimensional barcode that displays information in black and white lattice pattern. It was developed by Denso Wave Co. of Japan and released in 1994.It is faster than other 2D barcodes. It has the advantage of being able to save. 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 the QR code, when the purchaser terminal 30 wants to purchase data, the purchaser terminal 30 may 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 operation S210, when the at least one data is data on the character, the server 20 may generate the character by receiving information on the character to be generated from the seller terminal 10.

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

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

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

단계 S240에서, 서버(20)는 수신된 카테고리 정보를 바탕으로 캐릭터를 학습시킬 수 있다.In operation 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 on various categories for learning the character. In one embodiment, the category information may be information on various categories such as language category, sports category, shopping category, and education category. The category information may further include detailed category information obtained by subdividing the category information. For example, the category may further include a first category, a second category subdividing the first category, a third category subdividing the second category, and the like.

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

서버(20)는 선택된 카테고리 정보에 대한 학습 데이터를 수신하여 캐릭터를 학습시킬 수 있다. 예를 들어, 선택된 카테고리가 사회 카테고리인 경우, 서버(20)는 사용자로부터 학습 데이터를 입력 받아 사회 교과목을 학습하기 위한 인공지능 모델을 학습시킬 수 있다. The server 20 may learn the character by receiving the training data on the selected category information. For example, when the selected category is a social category, the server 20 may receive an input of 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 input from the user may be data related to knowledge that the child has acquired at school or academy. For example, the learning data may be data about handwritten notes that are taken at school or academy. The server 20 may receive an image file for the handwritten note, and extract the text from the image through the OCR technique. If necessary, when the handwritten note image includes non-text such as a picture, a chart, a graph, the server 20 may generate training data by imaging the non-text data. However, the learning data is not limited thereto, and may be various data such as user voice, website information collected by the user, blog information, and information of a read book.

학습된 캐릭터를 이용하기 위한 사용자 명령이 입력되면, 서버(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학년 사회 교과의 범위이더라도 사용자가 입력하지 않은 학습데이터에 대한 답변은 출력할 수 없다.The result of the user command may be determined based on the learning data input from the user. For example, when the learning data input by the user is learning data related to the first grade social studies curriculum, and the user generates a user command to query the contents of the social subject, the server 20 inputs the entered first grade social studies. You can generate answers within the scope of the course. The server 20 may not output a response to the learning data that is not input by the user even in a range of social studies in the first grade.

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

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

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

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

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

따라서, 복수의 사용자가 생성하는 복수의 캐릭터는 복수의 사용자 각각이 입력하는 학습데이터에 따라 다르게 학습될 수 있다. 많은 학습데이터를 입력한 캐릭터는 적은 학습데이터를 입력한 캐릭터보다 더 감정이 풍부한 캐릭터로 성장할 수 있다.Therefore, the plurality of characters generated by the plurality of users may be differently learned according to the learning data input by each of the plurality of users. A character who inputs a lot of learning data can grow into a character that is more emotional than a character who inputs 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-category of the language category is the first sub-category constituting the kind of language, such as Korean, Japanese, Chinese, and English, and the second sub-category representing the acts on the language such as translation, writing, reading, speaking, and listening. And a third subcategory that determines the degree of learning of the category.

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

사용자는 서버(20)로부터 제공된 카테고리 정보 중 적어도 하나를 선택하여 캐릭터를 학습 시킬 수 있다. 이때, 캐릭터를 학습 시키는 과정은 기 저장된 학습 모듈을 전송하는 방식으로 구성될 수도 있다. 그러나, 캐릭터를 학습 시키는 과정은 인공 지능 모델을 통해 구현될 수도 있다.The user may select at least one of the category information provided from the server 20 to train the character. In this case, 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)는 수신한 데이터를 바탕으로 캐릭터를 업데이트 할 수 있다.On the other hand, the server 20 can continuously learn the learned character. Specifically, when data related to the category information learned in the character is input, the server 20 may update the character. In this case, the data for updating 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, when 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)는 제공된 데이터를 이용하여 캐릭터를 학습시킬 수 있다. 처음에는 초급자 수준의 영어 번역이 가능했던 캐릭터는, 지속적인 학습을 통해 영어 번역의 수준을 높여갈 수 있다. As an example, it is assumed that a character is in a state of learning a beginner level translation of English (which is also the same for various languages such as Chinese and Japanese). Seller terminal 10 provides a variety of English (and its translation data) for the English translation learning to the server 20, the server 20 may learn the character using the provided data. Characters that were capable of translating English at the beginner level can improve the level of English translation through continuous learning.

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

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

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

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

이 경우, 판매자 단말(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 generation and the selected category information. In detail, the seller terminal 10 may pay the server 20 for a character generation cost, a cost for learning data according to a selected category, and a cost for learning a character with the selected learning data.

즉, 캐릭터 생성, 카테고리 정보 제공, 선택된 카테고리에 따라 캐릭터를 학습시키기 위한 학습데이터는 서버(20)의 리소스를 이용하는 것으로, 판매자 단말(10)은 서버(20)에 포인트를 지불하여 캐릭터를 생성 및 학습 시킬 수 있다. 그러나, 판매자 단말(10)이 직접 학습데이터를 제공하는 경우, 판매자 단말(10)은 학습데이터에 대한 비용은 서버(20)에 지불하지 않고, 제공되는 학습데이터로 캐릭터를 학습 시키는 비용만을 제공할 수 있음은 물론이다.That is, the character data, the category information provided, the learning data for learning the character according to the selected category using the resources of the server 20, 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 cost for the learning data to the server 20, but may provide only the cost of learning the character with the provided learning data. Of course it can.

따라서, 판매자 단말(10)은 자신의 리소스를 이용하여 활용 가능한 범위 내에서 캐릭터를 학습시킬 수 있다.Therefore, the seller terminal 10 may learn the character within the range available using its 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 purchaser terminal 30 may display a character corresponding to the executed APK file on the screen.

한편, 상술한 다양한 학습은 인공 지능 시스템을 통해 구현될 수 있다. 인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.Meanwhile, the above-described various learning may be implemented through an artificial intelligence system. Artificial Intelligence (AI) system is a computer system that implements human-level intelligence, and unlike conventional rule-based smart systems, machines learn, judge, and become smart. 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 replaced by the deep learning-based AI system.

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

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

구체적으로, 딥 러닝은 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstractions, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는 기계학습(machine learning) 알고리즘의 집합으로 정의된다. 딥 러닝은 큰 틀에서 사람의 사고방식을 컴퓨터에게 가르치는 기계학습의 한 분야로 볼 수 있다. Specifically, deep learning is a machine learning algorithm that attempts a high level of abstraction (summarizing key content or functions in large amounts of data or complex data) through a combination of several nonlinear transformations. It is defined as a set of. Deep learning can be seen as a field of machine learning that teaches computers how people think 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 any data, it is represented in a form that can be understood by a computer (for example, in the case of an image, the pixel information is represented by a column vector), and a lot of research is performed to apply it to learning. How to create expression techniques and how to build models to learn them). 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 Networks (RNN), and Deep Belief Networks (DBN). have.

심층 신경망(Deep Neural Networks, DNN)은 입력 계층(input layer)과 출력 계층(output layer) 사이에 복수개의 은닉 계층(hidden layer)들로 이뤄진 인공신경망(Artificial Neural Network, ANN)이다.Deep Neural Networks (DNNs) are artificial neural networks (ANNs) made up 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 a perceptron (perceptron). A perceptron consists of several inputs, one processor, and one output. The processor multiplies a plurality of input values by each weight, and then adds the weighted input values together. The processor then substitutes the sum of the values into the activation function and outputs one output value. If a specific value is desired as an output value of the activation function, the weight multiplied by each input value may be modified, and the output value may be recalculated using the modified weight. At this time, each perceptron may use a different activation function. Each perceptron also accepts the output from the previous layer as input, then uses the activation function to get the output. The obtained output is passed to the input of the next layer. Through the above process, several output values can be finally obtained.

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

딥 러닝 기법에 대한 설명으로 다시 돌아가면, 합성곱 신경망(Convolutional deep Neural Networks, CNN)은 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 한 종류이다. 합성곱 신경망은 하나 또는 여러개의 합성곱 계층(convolutional layer)과 그 위에 올려진 일반적인 인공신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 합성곱 신경망은 2차원 구조의 입력 데이터를 충분히 활용할 수 있다. 또한, 합성곱 신경망은 표준 역전달을 통해 훈련될 수 있다. 합성곱 신경망은 다른 피드포워드 인공신경망 기법들보다 쉽게 훈련되는 편이고 적은 수의 매개변수를 사용한다는 이점이 있다. 합성곱 신경망은 입력 영상에 대하여 합성곱과 서브샘플링을 번갈아 수행함으로써 입력 영상으로부터 특징을 추출한다.Returning to the deep learning technique, Convolutional deep Neural Networks (CNN) is a type of multilayer perceptrons designed to use minimal preprocessing. A convolutional neural network consists of one or several convolutional layers and a general artificial neural network layer on top of them, and further utilizes weights and pooling layers. This structure allows the multiplicative neural network to fully utilize the input data of the two-dimensional structure. In addition, convolutional neural networks can be trained through standard backtransmission. The multiplicative neural network is more easily trained than other feedforward neural network techniques and has the advantage of using fewer parameters. The convolutional neural network extracts features from the input image by performing alternating convolutional 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 convolution layers, a plurality of subsampling layers, a lacal pooling layer, a max-pooling layer, and a fully connected layer. The convolution product layer is a layer that performs a convolution product on an input image. The subsampling layer is a layer that locally extracts the maximum value of the input image and maps it to the 2D image. The subsampling layer enlarges the local region 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 product multiplication layer, information such as kernel size, the number of kernels to be used (that is, the number of maps to be generated), and a weight table to be applied in the product calculation are required. For example, assume 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 having a size of 32 × 32, it is impossible to apply the kernel to two pixels at the top, bottom, left, and right sides of the input image. When the kernel is placed on the input image and then the result is composite, the resulting value of '-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 a 32 × 32 input image, a 28 × 28 map is generated. Since it is assumed that the total number of kernels to be used is 20 in total, 20 maps of 28 × 28 sizes are generated in the first convolutional layer.

서브샘플링 계층에서는 서브샘플링할 커널의 크기에 대한 정보, 커널 영역 내의 값들 중 최대값을 선택할 것인지 최소값을 선택할 것인지에 대한 정보가 필요하다.In the subsampling layer, information on 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 region are needed.

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

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

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

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

도 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 operation 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 data related to the APK file.

즉, 판매자 단말(10)은 APK 파일 자체만을 서버(20)에 등록하여 거래할 수도 있으나, APK 파일은 복수의 패키지들을 포함할 수 있다. 따라서, 서버(20)는 등록된 APK 파일로부터 패키지를 추출하여 판매자 단말(10)로 제공할 수 있음은 물론이다.That is, the seller terminal 10 may register and trade only the APK file itself in the server 20, but the APK file may include a plurality of packages. Therefore, the server 20 may of course 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 파일로부터 패키지를 추출할 수 있다.In this case, the server 20 may divide the APK file according to a predetermined criterion, and then examine 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 the 'import' command among the codes included in the APK file. As another example, the server 20 may split a file based on a 'package' command. The server 20 may determine whether an error occurs by compiling the divided packages. If an error occurs, the server 20 may reconfigure the package to further include additional code by changing the method of partitioning, or reconfigure the package by deleting a part of the code of the partitioned 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 operation S320, the server 20 may receive a condition for at least one of size information, function information, class information, and function information about 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 operation 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 operation S410, the server 20 may receive training data corresponding to the category information received from the seller terminal 10 and training data received from the seller terminal 10.

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

상술한 바와 같이, 캐릭터는 서버(20)에 저장된 카테고리 정보에 대응되는 학습데이터 및 판매자 단말(10)로부터 제공받은 학습데이터를 바탕으로 캐릭터를 학습시킬 수 있다.As described above, the character may learn 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 the learning method and the learning content. Therefore, the character learned by a particular user may exist only as a specific user. Therefore, the server 20 may provide a platform for purchasing or selling a plurality of characters corresponding to the plurality of terminals.

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

즉, 서버(20)는 판매자 단말(10)이 판매하기 위한 캐릭터에 대한 요약 정보를 생성하여 구매자 단말(30)로 전송할 수 있다. 이때, 캐릭터에 대한 요약 정보는 캐릭터를 학습시키는데 투입된 학습데이터를 바탕으로 생성될 수 있다.That is, the server 20 may generate summary information on the character for sale by the seller terminal 10 and transmit the generated summary information to the purchaser terminal 30. In this case, the summary information about the character may be generated based on the 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 obtain the learning data input for learning the character. The server 20 may cluster the acquired learning data to obtain a plurality of clusters in which similar learning data are clustered. 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 included in the obtained plurality of clusters and the determined category. For example, if the category of the first cluster is an English translation category, the category of the second cluster is a Japanese translation, and the amount of learning data in the first cluster is larger than the amount of learning data in the second cluster, the server 20 may be a character. Features that are characters for English translation can be obtained as summary information. That is, the server 20 may obtain a cluster having the largest amount of learning data as the representative cluster of the character, and obtain summary information about the obtained cluster. However, the present invention is not limited thereto, and the server 20 generates summary information about all clusters, and 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 a summary information about the character.

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

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

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

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

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

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

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

단계 S520에서, 서버(20)는 매칭되는 데이터가 존재하는 경우(S520-Y) 단계 S530의 방법을, 매칭되는 데이터가 존재하지 않는 경우(S520-N) 단계 S540의 방법을 수행할 수 있다.In operation S520, the server 20 may perform the method of step S530 when there is a matched data (S520 -Y) or the method of step S540 when there is no matched data (S520 -N).

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

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

단계 S540에서, 서버(20)는, APK 파일 또는 패키지를 저작권 등록할 것을 안내하는 메시지를 판매자 단말(10)로 전송할 수 있다.In operation S540, the server 20 may transmit a message for instructing 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 operation S610, the server 20 may cluster a plurality of registered data to obtain a plurality of clusters.

이때, 서버(20)는 코딩교육게임 관리 모듈(21), 캐릭터 관리 모듈(22), 프로그래밍파일 관리 모듈(23), 프로그래밍 명령어 관리 모듈(24) 및 2D/3D 디자인 관리 모듈(25) 각각에 대한 복수의 데이터를 클러스터링 할 수 있다. 즉, 서버(20)는 코딩교육게임 관리 모듈(21)에 포함된 데이터를 클러스터링하고, 캐릭터 관리 모듈(22)에 포함된 데이터를 클러스터링하고, 프로그래밍파일 관리 모듈(23)에 포함된 데이터를 클러스터링하고, 프로그래밍 명령어 관리 모듈(24)에 포함된 데이터를 클러스터링하고 및 2D/3D 디자인 관리 모듈(25)에 포함된 데이터를 클러스터링할 수 있다. 즉, 서버(20)는 각각의 모듈이 관리하는 데이터를 독립적으로 클러스터링 할 수 있다.At this time, the server 20 is provided in each of the 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. Cluster multiple data for That is, the server 20 clusters the data included in the coding education game management module 21, clusters the data included in the character management module 22, and clusters the data included in the programming file management module 23. And cluster the data included in the programming instruction management module 24 and the data included in the 2D / 3D design management module 25. In other words, the server 20 may 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 may include 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 a 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 operation S620, the server 20 may determine a first cluster including at least one received data.

단계 S630에서, 서버(20)는 제1 클러스터에 포함된 복수의 데이터의 가격 및 판매 횟수를 바탕으로 수신된 적어도 하나의 데이터의 가격을 판단할 수 있다.In operation 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 generate a cluster to classify similar data, and determine the price of the data according to whether there is data similar to the data to be registered by the seller terminal 10. For example, if the number of similar data is large, the price of the data can be lowered.

다만, 본 발명에 따른 다양한 실시예에 따라, 제1 클러스터에 포함된 데이터 수와 함께 다양한 요소가 고려되어 데이터의 가격이 결정될 수 있음은 물론이다.However, according to various embodiments of the present disclosure, the price of the 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 an 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. In detail, the price of the data may include obtaining a 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, and the data included in the first cluster. The method may include obtaining a first price index determined based on the sales amount of the data and the price of the data, and determining a 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 data included in each of the remaining clusters may be determined based on the number of data of 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 of the first cluster is 0.01, the weight of the second cluster is 0.02, The weight for the third cluster may be 0.1. That is, as the number of data included in the cluster increases, the server 20 may set a lower value of the weight.

한편, 제1 클러스터에 포함된 데이터 각각의 판매량과 데이터 각각의 가격을 바탕으로 결정된 제1 가격 지표를 획득하는 단계는 다양한 방법으로 결정될 수 있다.Meanwhile, the obtaining of 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 obtains an average value and the variance value for the data sale amount based on the sales amount for each data. Can be.

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

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

나아가, 서버(20)는 판매량에 대한 정보를 더 고려하여 제1 가격 지표를 결정할 수 있음은 물론이다. 일 실시예로, 데이터 각각에 대한 판매량에 대한 분산값이 기 설정된 값 이하인 경우, 서버(20)는 데이터 각각에 대해 산출된 제1 가격 지표를 그대로 사용할 수 있다. Furthermore, the server 20 may further determine the first price index by further considering the information on the sales amount. In an embodiment, when the variance of the sales amount for each data is less than or equal to the 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 of the sales amount for each data is equal to or greater than the preset value, the server 20 determines the data to be used for calculating the first price index based on the variance value, and based on the determined data, Can be calculated. For example, the server 20 determines the data having the sales amount of the upper n% 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 prices of the determined data. The first price index of the transmitted data may be calculated. That is, the server 20 may obtain the first price index based on data with 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 volume of the data.

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

단계 S710에서, 서버(20)는 제1 클러스터에 포함된 복수의 데이터의 개수 및 판단된 적어도 하나의 데이터의 가격을 바탕으로 플랫폼 수수료를 판단할 수 있다. 나아가, 서버(20)는 제1 클러스터의 데이터들의 판매량을 바탕으로 플랫폼 수수료를 판단할 수 있음은 물론이다.In operation 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 price of the determined at least one data. Furthermore, of course, the server 20 may determine the platform fee based on the sales volume of the data of the first cluster.

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

단계 S720에서, 구매자 단말(30)이 상기 적어도 하나의 데이터를 구매하면, 적어도 하나의 데이터에 대해 판단된 플랫폼 수수료를 플랫폼에 지급할 수 있다. 이때, 플랫폼 수수료는 데이터 가격에 대한 일정 비율일 수 있음은 물론이다.In operation 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. At this time, the platform fee may be a ratio of the data price, of course.

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

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

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

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

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

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

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

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

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

한편, 프로세서(102)는 프로세서(102) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(102)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다. Meanwhile, the processor 102 may include random access memory (RAM) and read-only memory (ROM) for temporarily and / or permanently storing a signal (or data) processed in the processor 102. , Not shown) may be further included. In addition, the processor 102 may be implemented in the form of a system on chip (SoC) including at least one of a graphic processor, a RAM, and a 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, in a software module executed by hardware, or by a combination thereof. 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 in any form of computer readable recording medium well known in the art.

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

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다. In the above, embodiments of the present invention have been described with reference to the accompanying drawings, but those skilled in the art to which the present invention pertains may realize the present invention in other specific forms without changing the technical spirit or essential features thereof. I can understand that. Therefore, it should be understood that the embodiments described above are exemplary 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 가격 지표를 획득하는 단계; 를 포함하고,
상기 디자인 컨텐츠는,프로그램 제작에 필요한 캐릭터와 관련된 디자인 컨텐츠, UX/UI 아이콘과 관련된 디자인 컨텐츠, 이모티콘과 관련된 디자인 컨텐츠 및 서체와 관련된 디자인 컨텐츠 중 적어도 하나의 컨텐츠를 포함하고, 상기 판매자 단말로부터 수신한 디자인 컨텐츠는, 상기 서버의 2D/3D 디자인 관리 모듈에 의해 상기 구매자 단말로 전송되는 것을 특징으로 하는 제어 방법.

In the control method of the knowledge sharing platform performed by the server,
Generating, by the seller terminal, data of at least one of 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, a price of the received at least one data;
Registering, by the server, the received at least one data with the platform; And
When the server receives a user command to purchase the at least one data from a purchaser terminal, transmitting the at least one data to the purchaser 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 on at least one of the transmitted category information from the seller terminal; And
Learning a character based on the received category information; Including,
The learning step,
Receiving learning data corresponding to the received category information and learning data received from the seller terminal; And
Inputting the received training data into an artificial intelligence model to learn the training data; More,
Receiving the learning data received from the seller terminal,
Acquiring data about a handwritten note that the seller took in school or academy;
Extracting text based on the data on the handwritten note when the data on the handwritten note is an image file; And
Receiving the extracted text data as learning data; Including,
The registering step,
Generating summary information about the character based on the learning data input to the artificial intelligence model, when the at least one data is data related to the learned character; And
Registering the summary information with the character; Including,
Generating the summary information,
Acquiring learning data committed to 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 of 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 training data related to user personal information of the seller terminal, from the training data input to the artificial intelligence model; More,
If 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 a condition for at least one of size information, function information, class information, and function information about a package from the seller terminal; And
Extracting at least one package data from the APK file based on the received condition;
The determining of the price of the received at least one data,
Clustering the registered plurality of data to obtain a plurality of clusters;
Acquiring a first cluster including the received at least one data; And
Determining a price of the received at least one data based on a price and a number of sales of a plurality of data included in the first cluster; Including,
The determining of the price of the received at least one data,
Obtaining the number of data included in the first cluster, each data price, and each data sale amount;
Obtain 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 except the first cluster among the plurality of clusters, wherein the magnitude of the first weight is equal to the Inversely related to the number of data contained in the first cluster;
Acquiring a first price indicator determined based on a sales amount of each data included in the first cluster and a 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,
Acquiring the first price indicator,
Obtaining an average value and a variance value of the selling price for each of the data included in the first cluster;
Obtaining an average value and a variance value of the sales amount for each of the data included in the first cluster;
Calculating a first price index based on an average value of prices for each of the data when the variance value of the prices for each of the data is equal to or less than a preset value;
When the variance value of the price for each of the data is greater than the preset value, the data corresponding to the preset top n% price and the preset lower n% of the data are based on the variance value of the price for each of the data. Calculating a first price index based on an average value of prices of data excluding data corresponding to prices; And
When the variance value of the sales amount for each of the data is equal to or greater than a preset value, the data having a predetermined top n% sales amount is obtained based on the variance value of the sales amount for each of the data, and the preset top n% Obtaining a first price indicator based on data having a sales amount of? Including,
The design content includes at least one of design content associated with a character required for program production, design content associated with a UX / UI icon, design content associated with an emoticon, and design content associated with a font, and received from the seller terminal. Design content is transmitted to the purchaser terminal by the 2D / 3D design management module of the server.

KR1020190169256A 2019-12-17 2019-12-17 Control method, device and system of knowledge sharing platform for 2d / 3d design result management KR102071199B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190169256A KR102071199B1 (en) 2019-12-17 2019-12-17 Control method, device and system of knowledge sharing platform for 2d / 3d design result management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190169256A KR102071199B1 (en) 2019-12-17 2019-12-17 Control method, device and system of knowledge sharing platform for 2d / 3d design result management

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
KR102071199B1 true KR102071199B1 (en) 2020-01-29

Family

ID=69322260

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190169256A KR102071199B1 (en) 2019-12-17 2019-12-17 Control method, device and system of knowledge sharing platform for 2d / 3d design result management

Country Status (1)

Country Link
KR (1) KR102071199B1 (en)

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

Similar Documents

Publication Publication Date Title
CN111897964B (en) Text classification model training method, device, equipment and storage medium
CN111784455B (en) Article recommendation method and recommendation equipment
US20190392330A1 (en) System and method for generating aspect-enhanced explainable description-based recommendations
US9569536B2 (en) Identifying similar applications
US20220284327A1 (en) Resource pushing method and apparatus, device, and storage medium
Artasanchez et al. Artificial Intelligence with Python: Your complete guide to building intelligent apps using Python 3. x
KR102059017B1 (en) Control method, apparatus and system for knowledge sharing platform
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
CN114419509A (en) Multi-mode emotion analysis method and device and electronic equipment
KR102215736B1 (en) Display method of character avatar created for service provision in virtual reality space
CN116894711A (en) Commodity recommendation reason generation method and device and electronic equipment
KR20190118108A (en) Electronic apparatus and controlling method thereof
CN111461757A (en) Information processing method and device, computer storage medium and electronic equipment
KR102119518B1 (en) Method and system for recommending product based style space created using artificial intelligence
Ribeiro de Oliveira et al. Virtual reality solutions employing artificial intelligence methods: A systematic literature review
KR102215729B1 (en) Service provision program by user avatar applied to virtual reality space
KR102215735B1 (en) Character selling and purchasing device for service provision in virtual reality space
CN109299378B (en) Search result display method and device, terminal and storage medium
KR102071199B1 (en) Control method, device and system of knowledge sharing platform for 2d / 3d design result management
KR102071196B1 (en) Methods, devices and systems for calculating fees for knowledge sharing platforms
CN114169906B (en) Electronic coupon pushing method and device
CN110020195A (en) Article recommended method and device, storage medium, electronic equipment
CN112862538A (en) Method, apparatus, electronic device, and medium for predicting user preference
CN111159558A (en) Recommendation list generation method and device and electronic equipment

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant