WO2020213936A1 - 지식 공유 플랫폼의 제어 방법, 장치 및 시스템 - Google Patents

지식 공유 플랫폼의 제어 방법, 장치 및 시스템 Download PDF

Info

Publication number
WO2020213936A1
WO2020213936A1 PCT/KR2020/005062 KR2020005062W WO2020213936A1 WO 2020213936 A1 WO2020213936 A1 WO 2020213936A1 KR 2020005062 W KR2020005062 W KR 2020005062W WO 2020213936 A1 WO2020213936 A1 WO 2020213936A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
server
character
learning
information
Prior art date
Application number
PCT/KR2020/005062
Other languages
English (en)
French (fr)
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 주식회사 에이스마케팅
Publication of WO2020213936A1 publication Critical patent/WO2020213936A1/ko

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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance

Definitions

  • the present invention relates to a method, apparatus, and system for controlling a knowledge sharing platform.
  • Virtual Reality is a technology that enables humans to experience real life in a virtual world created with a computer, and virtual reality (VR) and augmented reality (augmented reality), a technology that adds virtual information to the real world.
  • VR virtual reality
  • augmented reality augmented reality
  • a technology that combines AR: augmented reality) is called mixed reality (MR).
  • MR mixed reality
  • AR, AR, and MR all have something in common in that they are technologies that enable people to recognize reality by realizing a reality that does not exist.
  • AR is a method of adding virtual information to real reality
  • VR all fictional situations are presented.
  • MR mixes AR and VR to provide a mixture of real and virtual information in a real background, and a technology that can process large amounts of data is required.
  • processing of large-capacity data includes a technology for transmitting large-capacity data.
  • 5G mobile communications 5G Networks
  • 5G Networks which uses an ultra-high band frequency of 28 GHz and reaches a maximum download speed of 20 Gbps, has begun to establish a virtual space. It complements the technical problems that arise.
  • the problem to be solved by the present invention is to provide a control method, apparatus, and system for a knowledge sharing platform.
  • a method for controlling a knowledge sharing platform for solving the above-described problem includes: generating, by a seller terminal, at least one of coding education content, character, APK file, package, and design content; Transmitting, by the seller terminal, the generated at least one data to the server; Determining, by the server, a price of the received at least one piece of data; Registering, by the server, the received at least one data on the platform; And transmitting the at least one data to the purchaser terminal when the server receives a user command for purchasing the at least one data from a purchaser terminal.
  • the platform may provide an environment in which various knowledge contents can be traded.
  • FIG. 1 is a block diagram illustrating a knowledge sharing platform according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating the configuration of a server according to an embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating an operation of a knowledge sharing platform according to an embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating a case in which data transacted in a knowledge sharing platform according to an embodiment of the present invention is character data.
  • FIG. 5 is a flowchart illustrating a case in which data transacted in a knowledge sharing platform according to an embodiment of the present invention is a programming file.
  • FIG. 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.
  • FIG. 7 is a flowchart illustrating a method of determining whether data registered in a knowledge sharing platform violate copyright according to an embodiment of the present invention.
  • FIG. 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.
  • FIG. 9 is a flowchart illustrating a method of determining a fee paid to the platform when trading data in a knowledge sharing platform according to an embodiment of the present invention.
  • FIG. 10 is a block diagram of an apparatus according to an embodiment of the present invention.
  • a method for controlling a knowledge sharing platform for solving the above-described problem includes: generating, by a seller terminal, at least one of coding education content, character, APK file, package, and design content; Transmitting, by the seller terminal, the generated at least one data to the server; Determining, by the server, a price of the received at least one piece of data; Registering, by the server, the received at least one data on the platform; And transmitting the at least one data to the purchaser terminal when the server receives a user command for purchasing the at least one data from a purchaser terminal.
  • generating the at least one data may include: generating, by the server, 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. It may include.
  • the control method includes: extracting at least one package data from data related to the APK file; Including, and extracting the at least one package data, the step of receiving a condition for at least one of size information, function information, class information, function information for the package from the seller terminal; And extracting at least one package data from the APK file based on the received condition.
  • the learning may include receiving learning data corresponding to the received category information and learning data received from the seller terminal; And inputting the received learning data to an artificial intelligence model to learn. Further comprising, wherein the registering step, if the at least one data is data related to the learned character, generating summary information on the character based on the learning data input to the artificial intelligence model; And registering the summary information with the character. It may include.
  • the control method may include whether data matching the APK file or the package and a preset ratio among the plurality of registered data exists. Judging; If the matching data exists, transmitting a message notifying that the APK file or the package violates copyright to the seller terminal; And if the matching data does not exist, transmitting a message instructing to register the copyright of the APK file or the package to the seller terminal. It may include.
  • determining the price of the received at least one piece of data may include: clustering the registered plurality of data to obtain a plurality of clusters; Acquiring a first cluster including the at least one received data; And determining a price of the received at least one data based on a price of a plurality of data included in the first cluster and a number of sales. It may include.
  • control method may include determining a platform fee based on the number of a plurality of data included in the first cluster and a price of the determined at least one data; And when the purchaser terminal purchases the at least one piece of data, paying the platform fee determined for the at least one piece of data to the platform.
  • the step of obtaining the summary information may include: deleting learning data related to user personal information of the seller terminal from among the learning data input to the artificial intelligence model; It may further include.
  • unit or “module” refers to a hardware component such as software, FPGA or ASIC, and the "unit” or “module” performs certain roles. However, “unit” or “module” is not meant to be limited to software or hardware.
  • the “unit” or “module” may be configured to be in an addressable storage medium, or may be configured to reproduce one or more processors.
  • “sub” or “module” refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, It includes procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables. Components and functions provided within “sub” or “module” may be combined into a smaller number of components and “sub” or “modules” or into additional components and “sub” or “modules”. Can be further separated.
  • a computer refers to all kinds of hardware devices including at least one processor, and may be understood as encompassing a software configuration operating in a corresponding hardware device according to embodiments.
  • the computer may be understood as including all of a smartphone, a tablet PC, a desktop, a laptop, and a user client and an application running on each device, but is not limited thereto.
  • FIG. 1 is a block diagram illustrating a knowledge sharing platform according to an embodiment of the present invention.
  • the knowledge sharing platform may be composed of a plurality of seller terminals 10, a server 20, and a plurality of buyer terminals 30.
  • the plurality of seller terminals 10 and the plurality of purchaser terminals 30 may be implemented as a smart phone, but this is only an embodiment, a smartphone, a tablet personal computer (PC), Mobile phone, video phone, e-book reader, desktop PC, laptop PC, netbook computer, workstation, server, PDA 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, or a wearable device.
  • a smart phone a smartphone, a tablet personal computer (PC), Mobile phone, video phone, e-book reader, desktop PC, laptop PC, netbook computer, workstation, server, PDA 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, or a wearable device.
  • PMP portable multimedia player
  • MP3 player MP3 player
  • the seller terminal 10 or the buyer terminal 30 may be a home appliance.
  • Home appliances include, for example, television, DVD player (Digital Video Disk player), audio, refrigerator, air conditioner, vacuum cleaner, oven, microwave oven, washing machine, air cleaner, set-top box, and home automation.
  • Control panel home automation control panel
  • security control panel security control panel
  • TV box e.g. Samsung HomeSync, Apple TV, or Google TV
  • game console e.g. Xbox, PlayStation
  • electronics may include at least one of a dictionary, an electronic key, a camcorder, and an electronic frame.
  • 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), the second purchaser terminal 32 and the third purchaser terminal 33 may be included, but the present invention is not limited thereto, and of course, various numbers of seller terminals and purchaser terminals may be included as needed.
  • the first seller terminal 11, the second seller terminal 12, and the third seller terminal 13 are used as the seller terminal 10, unless specifically designated for convenience of explanation.
  • the 1 buyer terminal 31, the second buyer terminal 32, and the third buyer terminal 33 are expressed as a buyer terminal 30.
  • the seller terminal 10 and the purchaser terminal 30 are merely divided into a terminal of a user who sells various knowledge contents and a terminal of a user who purchases, and each of the seller terminal 10 and the purchaser terminal 30 freely provides various contents.
  • the seller terminal 10 and the buyer terminal 30 may be changed from each other.
  • the server 20 is a configuration for transmitting and receiving data on knowledge content from the seller terminal 10 and the buyer terminal 30. For the transaction of knowledge content, the server 20 may perform various functions to be described later.
  • FIG. 2 is a block diagram illustrating the configuration of a server according to an embodiment of the present invention.
  • the server 20 includes a coding education game management module 21, a character management module 22, a programming file management module 23, a programming instruction management module 24, and a 2D/3D A design management module 25 may be included.
  • the coding education game management module 21 is a module for controlling receiving and transmitting content for a coding education game from the seller terminal 10 to the purchaser terminal 30.
  • the coding education game may be a program including an augmented reality self-directed coding education learning system using a virtual robot.
  • the coding education game according to the present invention may be performed by the seller terminal 10 or the buyer terminal 30 including a camera.
  • 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 displayed one or more
  • the first step includes an 11th step of acquiring a mission included in the coding education content and a 12th step of displaying the mission
  • the ninth step is to achieve the mission according to the control result It may include a 13th step of determining whether or not, and a 14th step of displaying feedback according to whether or not the mission has been accomplished.
  • the thirteenth step includes a fifteenth step of determining an interaction between the one or more objects and the virtual robot, and a sixteenth step of determining whether a mission at each of the one or more points is achieved based on the interaction, and ,
  • the 14th step may include a 17th step of displaying a feedback according to whether the mission has been achieved at each of the one or more points.
  • the 15th step is an 18th step of determining at least one contact point between the at least one object and the virtual robot, and determining the at least one object corresponding to each of the at least one contact point and a portion of the virtual robot. It may include a 19th step and a 20th step of determining the interaction based on the position and movement of the one or more contact points, and a portion corresponding to each of the one or more contact points.
  • the 20th step is a 21st step of dividing the first contact included in the one or more contact points into a second contact and a third contact, and a 22nd step of tracking the movement of the second contact and the third contact ,
  • the distance between the second contact point and the third contact point becomes more than a predetermined reference value
  • the at least one object corresponding to each of the second contact point and the third contact point and a portion of the virtual robot are determined.
  • a twenty-fourth step of determining the interaction based on positions and movements of the second and third contacts, and portions respectively corresponding to the second and third contacts.
  • the eleventh step is a twenty-fifth step of determining the type of the one or more objects, and a third step of generating a movement path of the virtual robot based on the position and type of the one or more objects included in the captured image.
  • the eleventh step includes a 29th step of creating and displaying one or more virtual objects on the movement path, a 30th step of determining the type of the one or more virtual objects, a location of the one or more virtual objects And a 31st step of updating the movement path based on a type, a 32nd step of acquiring a third mission for the virtual robot to move along the updated movement path, and the at least one virtual robot A 33rd step of acquiring a fourth mission for performing a predetermined interaction with at least one of the objects may be included.
  • the eighth step further includes a 34th step of disposing at least a part of the one or more command blocks on the virtual robot
  • the ninth step is a corresponding to the command block disposed on the virtual robot Step 35 of performing a command
  • step 36 of executing a command corresponding to the command block disposed at the arrived point, when arriving at the one or more points, and a command corresponding to the command block disposed in the virtual robot
  • step 37 of stopping the operation and displaying a feedback when an instruction corresponding to the instruction block disposed at the arrival point collides.
  • the character management module 22 is a component for controlling the transmission of the character generated by 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.
  • the character may be created and learned by the operation of the seller terminal 10 and the server 20.
  • the server 20 may generate a character by receiving a request for character generation from the seller terminal 10.
  • the generated character may be used by the seller terminal 10 or the purchaser terminal 30.
  • the character may perform speech recognition and output a result corresponding to the user's voice as a voice.
  • the seller terminal 10 or the buyer terminal 30 may include a microphone and a speaker, and the seller terminal 10 or the buyer terminal 30 receives the user's voice and transmits it to the character, and is generated from the character.
  • the answer can be output through the speaker.
  • the programming file management module 23 is a component for managing executable files such as APK files.
  • the seller terminal 10 may register the programming file to the server 20 and transmit the programming file to the purchaser terminal 30.
  • the programming file is limited to an APK file.
  • the technical idea of the present invention may be applied to various executable programming files.
  • 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.
  • programming instructions are limited to a package, but the technical idea of the present invention may be applied to various instructions.
  • the package is a configuration for a set of related classes, functions, or interfaces, and may be a module for performing one or more operations.
  • the purchaser terminal 30 can purchase several packages and use it to create a complex game, SNS, or the like.
  • the 2D/3D design management module 25 is a module for managing various design contents such as characters, UX/UI icons, emoticons, and fonts required for program production.
  • the server 20 may be interlocked with the seller terminal 10 or the purchaser terminal 30 to help produce various contents, and create a platform environment for transacting the produced contents.
  • FIG. 3 is a flowchart illustrating an operation of a knowledge sharing platform according to an embodiment of the present invention.
  • the seller terminal 10 may generate at least one data of coding education content, character, APK file, package, and design content. As described above, it goes without saying that at least one data generated in the seller terminal 10 may be generated in connection with the server 20.
  • the seller terminal 10 may transmit at least one data of coding education content, character, APK file, package, and design content to the server 20.
  • the server 20 may determine the price of at least one data received from the seller terminal 10.
  • step S140 the server 20 may register at least one data received from the seller terminal 10 on the platform.
  • step S150 upon receiving a user command for purchasing at least one registered data from the purchaser terminal 30, the server 20 may transmit the at least one data to the purchaser terminal 30.
  • 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.
  • the server 20 may transmit at least one data to the purchaser terminal 30.
  • QR Code is an abbreviation of Quick Response Code. It is a type of matrix-type two-dimensional barcode that represents information in a black and white grid pattern. It was developed by Denso Wave, Japan, and released in 1994. It has the advantage of being able to store.
  • the server 20 may generate and register a QR code corresponding to the registered data together.
  • the QR code By using the QR code, when the purchaser terminal 30 wants to purchase data, it can purchase data through the QR code.
  • FIG. 4 is a flowchart illustrating a case in which data transacted in a knowledge sharing platform according to an embodiment of the present invention is character data.
  • step S210 when at least one data is data for a character, the server 20 may generate a character by receiving information on a character to be generated from the seller terminal 10.
  • the generated character is a character including only basic functions, and new functions can be learned according to user commands.
  • step S220 the server 20 may transmit category information for learning a character to the seller terminal 10. That is, when a user command for learning a character is input, the server 20 may learn the character based on the user command.
  • the server 20 may receive at least one category information from the seller terminal 10.
  • step S240 the server 20 may learn a character based on the received category information.
  • the category information may be information on various categories for learning a character.
  • the category information may be information on various categories, such as a language category, a sports category, a shopping category, and an education category.
  • the category information may further include detailed category information obtained by subdividing the category information.
  • the category may further include a first category, a second category subdividing the first category, and a third category subdividing the second category.
  • the category information may be category information related to a growing character for children.
  • the category information related to the growth-type character may include an education learning category, an emotion learning category, and the like as a first category.
  • the second category for the educational learning category may be a category related to a subject such as a math category, an English category, a social category, and a science category.
  • the server 20 may learn a character by receiving training data for the selected category information. For example, when the selected category is a social category, the server 20 may receive learning data from a user and train an artificial intelligence model for learning a social subject.
  • the learning data input from the user may be data related to the knowledge acquired by the child in school or academy.
  • the learning data may be data on handwritten notes written in a school or academy.
  • the server 20 may receive an image file for the handwritten note, and extract text from the image through an OCR technique on the received image file. If necessary, when non-text such as pictures, diagrams, and graphs is included in the handwritten note image, the server 20 can generate training data by imageizing the corresponding non-text data.
  • 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 on books read.
  • the server 20 may output a result of the user command through the character.
  • the user command may be a voice signal including a user question.
  • the result of the user command may be determined based on learning data input from the user. For example, if the learning data input by the user is learning data related to the first-year social studies course in elementary school, and the user generates a user command for querying the contents of the social course, the server 20 is Answers can be created within the scope of the subject. The server 20 cannot output an answer to the learning data that the user has not input, even if it is within the range of the first grade social studies subject.
  • a plurality of characters generated by a plurality of users may be learned differently according to learning data input by each of the plurality of users.
  • a character who has entered a lot of learning data can grow into a smarter character than a character who has entered a little learning data. Therefore, the user is interested in making a better character than other characters by growing his or her character, and can put more effort to this end.
  • the server 20 may delete the character when the learning data is not input to the character for a predetermined time or does not query the character. That is, the server 20 may induce a user to continuously manage his/her character by deleting an unused character.
  • the category information may be an emotion learning category.
  • the server 20 may receive various interactions from the seller terminal 10 and determine emotions according to the user interaction. That is, the server 20 may learn a character by using learning data related to user emotion. The character may build his own personality according to the input learning data related to the user's emotion.
  • the character's personality may be determined according to a user interaction with the output character's response. For example, when a user interaction with respect to a character's response output is a'praise' interaction, the character's personality may be a personality full of confidence. Alternatively, when the user interaction with respect to the character's response output is a'rebuke' interaction, the character's personality may be timid. In another embodiment, the character's personality may be similar to the user's personality obtained by analyzing user data.
  • the character's personality may be changed, expanded, or reduced as the interaction with the user is performed.
  • the reaction that the character outputs in the same situation may vary depending on the personality of the generated character.
  • a plurality of characters generated by a plurality of users may be learned differently according to learning data input by each of the plurality of users.
  • a character that has entered a lot of learning data can grow into a character with more emotions than a character that has entered a little learning data.
  • the category information may be language category information for translation.
  • the subcategory of the language category is a first subcategory that constitutes the kind of language such as Korean, Japanese, Chinese, and English, and a second subcategory representing the actions of the language such as translation, writing, reading, speaking, and listening. It may be composed of a third sub-category that determines the degree of learning of the category.
  • 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 the level of translation, such as a beginner level translation, an intermediate level translation, and an advanced level translation.
  • a character with a high degree of learning needs more resources (amount of data, cost, etc.) than a character with a low degree of learning. Therefore, it is possible to classify categories according to the amount of available resources and learn characters according to user selection.
  • the user may select at least one of category information provided from the server 20 to learn a character.
  • the process of learning a character may be configured in a manner of transmitting a previously stored learning module.
  • the process of learning a character can also be implemented through an artificial intelligence model.
  • the server 20 may continuously learn the learned character. Specifically, the server 20 may update the character when data related to the learned category information is input to the character. In this case, data for the update may be provided from the seller terminal 10. However, the present invention is not limited thereto, and the server 20 may select data to be updated to learn a character. For example, when data corresponding to the learned category information is received through various methods, the server 20 may update a character based on the received data.
  • the character has learned translation of beginner-level English (also in various languages such as Chinese and Japanese).
  • the seller terminal 10 provides a variety of English (and its translation data) for English translation learning to the server 20, and the server 20 may learn a character using the provided data.
  • characters who were able to translate English at the beginner level can raise the level of English translation through continuous learning.
  • a personalized character can be obtained for the user of the terminal. That is, the data provided from the terminal may be data related to words or sentences that the user of the terminal is interested in or frequently used. Accordingly, the learned character data can better translate the user's field of interest, and there is an effect that a personalized character can be created. For example, if a user of a terminal learns a character by continuously providing data on a sports field that is his/her interest field, the character will have a higher quality of translation in the sports field than in the other field. .
  • the seller terminal 10 transmits category information and the server 20 learns the character, but is not limited thereto.
  • the server 20 may receive user information of the terminal from the seller terminal 10 and learn a character based on the received user information.
  • the user information refers to the user's biometric information collected through the terminal, the usage history record of the terminal collected through the terminal (the usage history record includes schedule information, type of application used, usage time, website address accessed, and access time). , Alarm setting time, terminal usage time and distribution, etc. may be at least one of all user commands through the terminal.)
  • the character can be learned according to the personal usage of each terminal and used as a personalized character.
  • the seller terminal 10 may pay the server 20 according to the degree of learning the character according to the character generation and selected category information. Specifically, the seller terminal 10 may pay the server 20 a character generation cost, a cost for learning data according to a selected category, and a cost for learning a character using the selected learning data.
  • character creation, category information provision, and learning data for learning a character according to the selected category uses the resources of the server 20, and the seller terminal 10 pays points to the server 20 to create a character and You can learn.
  • the seller terminal 10 directly provides the learning data, the seller terminal 10 does not pay the server 20 for the cost of the learning data, and only provides the cost of learning the character with the provided learning data. Of course you can.
  • the seller terminal 10 can learn a character within a usable range by using its own resource.
  • the learned character may be stored in the form of an APK file.
  • the seller terminal 10 or the purchaser terminal 30 may display a character corresponding to the executed APK file on the screen.
  • the artificial intelligence (AI) system is a computer system that implements human-level intelligence, and unlike the existing rule-based smart system, the machine learns, judges, and becomes smarter. As artificial intelligence systems are used, their recognition rate improves and users' tastes can be understood more accurately, and existing rule-based smart systems are gradually being replaced by deep learning-based artificial intelligence systems.
  • Machine learning Deep learning
  • component technologies using machine learning.
  • Machine learning is an algorithm technology that classifies/learns the features of input data by itself
  • element technology is a technology that simulates functions such as cognition and judgment of the human brain using machine learning algorithms such as deep learning. It consists of technical fields such as understanding, reasoning/prediction, knowledge expression, and motion control.
  • deep learning is a machine learning algorithm that attempts a high level of abstraction (summarizing key contents or functions in a large amount of data or complex data) through a combination of several nonlinear transformation methods. Is defined as a set of Deep learning can be seen as a branch of machine learning that teaches computers how people think in a large framework.
  • Deep Neural Networks DNN
  • CNN Convolutional deep Neural Networks
  • RNN Reccurent Neural Networks
  • DBN Deep Belief Networks
  • DNNs Deep Neural Networks
  • ANNs artificial neural networks
  • the structure of the deep neural network may be composed of a perceptron.
  • Perceptron consists of several inputs, one processor, and one output.
  • the processor multiplies several input values by a weight, and then sums all the input values multiplied by the weight. Then, the processor substitutes the summed value 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 can be modified, and the output value can be recalculated using the modified weight.
  • each perceptron may use a different activation function. Also, each perceptron accepts the outputs from the previous layer as inputs, and then uses the activation function to get the outputs. The obtained output is passed to the input of the next layer. Through the above-described process, several output values can be finally obtained.
  • the server 20 may collect various user information of a user from the seller terminal 10 and use it to set weights used for deep learning.
  • the user information refers to the user's biometric information collected through the terminal, the usage history record of the terminal collected through the terminal (the usage history record is the type of application used, the usage time, the website address accessed, the access time, and the alarm It may be at least one of all user commands through the terminal, such as setting time, terminal usage time, and distribution.)
  • an artificial intelligence model for learning a character provides information supplementing a character based on the above-described various user information. May be collected, and each weight may be reset based on this.
  • convolutional deep neural networks are a kind 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 it, and additionally utilizes weights and pooling layers. Thanks to this structure, the convolutional neural network can fully utilize the input data of the two-dimensional structure. Also, convolutional neural networks can be trained through standard inverse forwarding. Convolutional neural networks are more easily trained than other feed-forward artificial neural networks, and have the advantage of using fewer parameters.
  • the convolutional neural network extracts features from the input image by alternately performing convolution and subsampling on the input image.
  • the convolutional neural network includes several convolution layers, several subsampling layers (subsampling layers, lacal pooling layers, and Max-Pooling layers), and fully connected layers.
  • the convolution layer is a layer that performs convolution on an input image.
  • the subsampling layer is a layer that locally extracts a maximum value for an input image and maps it to a 2D image. The local area is enlarged and subsampling is performed.
  • the convolutional layer information such as a 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 during a convolution operation is required. For example, take a case where 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 a kernel to each of two pixels at the top, bottom, left, and right of the input image.
  • the subsampling layer needs information on the size of the kernel to be subsampled and information on whether to select the maximum or minimum value among values in the kernel region.
  • a Reccurent Neural Network refers to a neural network in which the connection between units constituting an artificial neural network constitutes a directed cycle. Unlike the forward neural network, the recurrent neural network can utilize the memory inside the neural network to process arbitrary inputs.
  • Deep Belief Networks is a generative graphical model used in machine learning, and in deep learning, it means a deep neural network composed of multiple layers of latent variables. The feature is that there is a connection between layers, but there is no connection between units within a layer.
  • the deep trust neural network can be used for prior learning due to its generative model, and after learning initial weights through prior learning, it can fine-tune the weights through backpropagation or other discrimination algorithms. This characteristic is very useful when there is little training data, because the smaller the training data, the stronger the initial value of the weight has on the resulting model.
  • the pre-learned weight initial value is closer to the optimal weight compared to the arbitrarily set weight initial value, which makes it possible to improve the performance and speed of the fine-tuning step.
  • FIG. 5 is a flowchart illustrating a case in which data transacted in a knowledge sharing platform according to an embodiment of the present invention is a programming file.
  • step S310 when the at least one piece of data is data related to the APK file, the server 20 may extract at least one piece of package data from the data related to the APK file.
  • the seller terminal 10 may register and transact only the APK file itself with the server 20, but the APK file may include a plurality of packages. Therefore, it goes without saying that the server 20 can extract the package from the registered APK file and provide it to the seller terminal 10.
  • the server 20 may divide the APK file according to a preset criterion and then review the completeness of the divided file.
  • the server 20 may divide the file based on the'import' command among codes included in the APK file.
  • the server 20 may divide a file based on the'package' command.
  • the server 20 may compile the divided package and determine whether an error occurs.
  • the server 20 may reconfigure the package to further include additional code by changing the method of division, or may reconfigure the package by deleting part of the code of the divided package.
  • the server 20 may extract the package from the APK file by applying the same method until there is no error in compilation.
  • the server 20 may receive a condition for at least one of size information, function information, class information, and function information for the package from the seller terminal 10.
  • the server 20 may obtain basic information of a package to be extracted from the user and extract the package to match the basic information.
  • the server 20 may extract at least one package data from the APK file based on the received information.
  • FIG. 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.
  • the server 20 may receive learning data corresponding to the category information received from the seller terminal 10 and the learning data received from the seller terminal 10.
  • step S420 the server 20 may input the received learning data into the artificial intelligence model to learn the character.
  • 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.
  • the server 20 may provide a platform for purchasing or selling a plurality of characters corresponding to a plurality of terminals.
  • step S430 the server 20 may obtain summary information on the character based on the learning data input to the artificial intelligence model.
  • the server 20 may generate summary information on a character for sale by the seller terminal 10 and transmit it to the purchaser terminal 30.
  • the summary information on the character may be generated based on the learning data input to learn the character.
  • the server 20 may acquire learning data input to learn a character.
  • the server 20 clusters the acquired training data to obtain a plurality of clusters clustered with similar training data.
  • the server 20 may determine the categories of the acquired plurality of clusters.
  • the server 20 may obtain summary information capable of best representing a character based on the amount of learning data included in the acquired 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 Japanese translation, and the amount of learning data in the first cluster is greater than the amount of learning data in the second cluster, the server 20 Characteristic features for English translation can be acquired as summary information.
  • the server 20 may acquire a cluster with the largest amount of learning data as a representative cluster of a character, and obtain summary information on the acquired cluster. However, it is not limited thereto, and the server 20 generates summary information for all clusters, but determines the order of each summary information generated for each of the plurality of clusters according to the amount of learning data, and according to the determined order. Of course, it is possible to generate summary information for the character.
  • step S440 the server 20 may register the generated summary information with the character on the platform.
  • the server 20 may be inputted to the artificial intelligence model to learn the character and may be used to generate summary information for describing the character.
  • the character to be sold is personalized to a specific user, and thus, there may be a case that includes the user's personal information. Accordingly, the server 20 may delete the user's personal information stored in the character to be sold and proceed with the sales procedure.
  • the server 20 not only deletes the seller's personal information, but also deletes learning contents related to the seller's personal information.
  • the server 20 can delete the contents related to the user's personal information among the contents of the learning data and perform clustering even when performing clustering for generating the summary information.
  • FIG. 7 is a flowchart illustrating a method of determining whether data registered in a knowledge sharing platform violate copyright according to an embodiment of the present invention.
  • step S510 when the at least one data is data for at least one of the APK file and the package, the server 20 matches the APK file or package among the plurality of data registered in the server 20 by at least a preset ratio. You can determine if it exists.
  • step S520 the server 20 may perform the method of step S530 when the matched data exists (S520-Y) and the method of step S540 when the matched data does not exist (S520-N).
  • step S530 the server 20 may transmit a message notifying that the APK file or package violates the copyright to the seller terminal 10.
  • the server 20 may determine whether a registrant of data matching a predetermined ratio or more and a user of the seller terminal 10 are the same person. When the registrant of the previously registered data and the user of the seller terminal 10 are the same person, the server 20 may transmit a message guiding that the registered work is similar to the work, instead of a message notifying that the copyright is violated.
  • step S540 the server 20 may transmit a message to the seller terminal 10 to guide the copyright registration of the APK file or package.
  • FIG. 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.
  • step S610 the server 20 may acquire a plurality of clusters by clustering a plurality of registered data.
  • the server 20 is 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 module 25, respectively.
  • Multiple data can be clustered. That is, the server 20 clusters data included in the coding education game management module 21, clusters data included in the character management module 22, and clusters data included in the programming file management module 23.
  • data included in the programming command management module 24 may be clustered
  • data included in the 2D/3D design management module 25 may be clustered. That is, the server 20 may independently cluster data managed by each module.
  • the server 20 is 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 It goes without saying that it is possible to create a cluster by clustering all data managed by the module 25.
  • step S620 the server 20 may determine a first cluster including at least one received data.
  • the server 20 may determine the price of at least one received data based on the price and the number of sales of the plurality of data included in the first cluster.
  • the server 20 may create a cluster to classify similar data, and determine the price of the data according to how much data similar to the data to be registered by the seller terminal 10 exists. For example, when the number of similar data is large, the price of the data may be lowered.
  • the price of data may be determined by considering various factors along with the number of data included in the first cluster.
  • 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 a sales volume of each data. Specifically, the price of the data is obtained by obtaining a first weight calculated based on the number of data included in the first cluster and the number of data included in each of the remaining clusters, each of the data included in the first cluster. It may include acquiring a first price index determined based on the sales volume and price of each of the data, and determining a price of the data based on the first weight and the first price index.
  • the step of obtaining a first weight calculated based on the number of data included in the first cluster and the number of data included in each of the remaining clusters may be determined based on the number of data in each cluster. For example, if there are 100 data in the first cluster, 50 data in the second cluster, and 10 data in the third cluster, the weight for the first cluster is 0.01, the weight for the second cluster is 0.02, The weight for the third cluster may be 0.1. That is, the server 20 may set a lower weight value as the number of data included in the cluster increases.
  • the step of obtaining the first price index determined based on the sales volume of each data included in the first cluster and the price of each data may be determined in various ways.
  • the server 20 obtains the average value and variance value for the data price based on the sales price for each data, and obtains the average value and variance value for the data sales volume based on the sales amount for each data. I can.
  • the server 20 may calculate a first price index of the data transmitted from the seller terminal 10 based on the average value for the price for each data. have. That is, when the price difference between the data included in the first cluster is not large, the server 20 may obtain the first price index based on all the data.
  • the server 20 determines data to be excluded from calculating the first price index based on the variance value, and excludes the price for the determined data.
  • the first price index can be calculated. For example, the server 20 excludes data having a price of the upper n% and the lower n% based on the variance value, and the data transmitted from the seller terminal 10 is based on the average value of the price of the remaining data.
  • the first price index can be calculated. That is, when the price difference between the data included in the first cluster is large, the server 20 may obtain the first price index by excluding data having a large price difference.
  • the server 20 may determine the first price index by further considering information on the sales volume. In an embodiment, when the variance value for the sales volume for each data is less than or equal to a preset value, the server 20 may use the first price index calculated for each data as it is.
  • 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, the first price index Can be calculated. For example, the server 20 determines the data having the top n% of the sales volume based on the variance value as the data necessary for calculating the first price index, and the seller terminal 10 based on the average value of the price 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 of a large amount of sales among data included in the first cluster.
  • the server 20 may determine the first price index by applying different weights according to the sales volume of the data.
  • FIG. 9 is a flowchart illustrating a method of determining a fee paid to the platform when trading data in a knowledge sharing platform according to an embodiment of the present invention.
  • the server 20 may determine the platform fee based on the number of data included in the first cluster and the determined price of at least one data. Furthermore, it goes without saying that the server 20 may determine the platform fee based on the sales volume of the data of the first cluster.
  • the server 20 may determine the platform fee in proportion to the number of data included in the first cluster and the sales amount of data included in the first cluster. That is, when the number and sales of data included in the cluster are large, it means that the transaction of data for the corresponding field is active, and the server 20 may set a high platform fee. However, if the platform fee is determined in proportion to the number of data and the sales volume of data, there may be a problem that the platform fee may be set high according to the malicious data registration behavior of the person concerned. Accordingly, 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 data.
  • the server 20 may determine a platform fee based on the number of data and the amount of data sold, but only data sold more than a preset number of times may be determined as the number of data. That is, the server 20 may determine a platform fee, ignoring data sold less than a preset number of times.
  • step S720 when the purchaser terminal 30 purchases the at least one piece of data, the platform fee determined for the at least one piece of data may be paid to the platform.
  • the platform fee may be a certain ratio to the data price.
  • a plurality of data may be paid using cash, a point used in a platform, or a block chain-based virtual currency.
  • the points used in the platform can be linked to the e-commerce market.
  • 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 Different types of points can be used.
  • the points managed by each module may be exchanged in conjunction with each other.
  • the exchange rate for each module may be determined based on the number of data or sales volume managed by each module, but is not limited thereto, and may be determined based on the time and cost invested in data generation. Yes, of course.
  • the platform according to the present invention may be implemented in a virtual space.
  • the seller terminal 10 and the purchaser terminal 30 may have a built-in processing device for processing and reproducing the virtual space, or are connected to an external processing device and received from the processing device. Information can also be output using a display.
  • the external processing device may be a computing device connected to the server 20.
  • a virtual reality image may be output based on information received from the seller terminal 10 and the buyer terminal 30 and the server 20.
  • the server 20 is connected to the seller terminal 10 and the buyer terminal 30, and can transmit content to each of a plurality of virtual reality equipment, and each of the seller terminal 10 and the buyer terminal 30 is a server ( 20), a virtual space may be output based on the received content.
  • the seller terminal 10, the server 20, and the purchaser terminal 30 may communicate using a 5th generation mobile communication (5G network). By using the fifth generation mobile communication, a smooth virtual space can be provided.
  • 5G network 5th generation mobile communication
  • characters may be traded on a platform implemented in a virtual space.
  • the server 20 may place a character registered in the virtual space, and the purchaser terminal 30 may use the function of the character placed in the virtual space.
  • FIG. 10 is a block diagram of an apparatus according to an embodiment of the present invention.
  • the processor 102 may include one or more cores (not shown) and a graphic processing unit (not shown) and/or a connection path (eg, a bus) for transmitting and receiving signals with other components. .
  • the processor 102 executes one or more instructions stored in the memory 104 to perform the method described with respect to FIGS. 1 to 9.
  • the processor 102 acquires new training data by executing one or more instructions stored in the memory, performs a test on the acquired new training data using the learned model, and labels the test result. Extracting first learning data in which the extracted information is obtained with an accuracy of a predetermined first reference value or more, deleting the extracted first learning data from the new learning data, and removing the new learning data from which the extracted learning data is deleted
  • the learned model may be retrained by using.
  • the processor 102 temporarily and/or permanently stores a signal (or data) processed inside the processor 102, a RAM (Random Access Memory, not shown) and a ROM (Read-Only Memory). , Not shown) may further include.
  • the processor 102 may be implemented in the form of a system on chip (SoC) including at least one of a graphic processing unit, RAM, and ROM.
  • SoC system on chip
  • 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 hard disk, removable disk, CD-ROM, or It may reside on any type of computer-readable recording medium well known in the art to which the present invention pertains.
  • Components of the present invention may be implemented as a program (or application) and stored in a medium in order to be executed in combination with a computer that is hardware.
  • Components of the present invention may be implemented as software programming or software elements, and similarly, embodiments include various algorithms implemented with a combination of data structures, processes, routines or other programming elements, including C, C++ , Java, assembler, etc. may be implemented in a programming or scripting language. Functional aspects can be implemented with an algorithm running on one or more processors.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

지식 공유 플랫폼이 개시된다. 본 발명에 따른 지식 공유 플랫폼의 제어 방법은, 판매자 단말이 코딩 교육 컨텐츠, 캐릭터, APK 파일, 패키지 및 디자인 컨텐츠 중 적어도 하나의 데이터를 생성하는 단계; 상기 판매자 단말이 상기 생성된 적어도 하나의 데이터를 상기 서버로 전송하는 단계; 상기 서버가, 상기 수신된 적어도 하나의 데이터의 가격을 판단하는 단계; 상기 서버가, 상기 수신된 적어도 하나의 데이터를 상기 플랫폼에 등록하는 단계; 및 상기 서버가, 구매자 단말로부터 상기 적어도 하나의 데이터를 구매하기 위한 사용자 명령을 수신하면, 상기 구매자 단말로 상기 적어도 하나의 데이터를 전송하는 단계; 를 포함한다.

Description

지식 공유 플랫폼의 제어 방법, 장치 및 시스템
본 발명은 지식 공유 플랫폼의 제어 방법, 장치 및 시스템에 관한 것이다.
IT 기술의 발전에 따라, 다양한 지식을 공유하기 위한 필요성이 증가하고 있다. 예를 들어, 코딩 교육을 위한 컨텐츠, 작성된 프로그래밍 파일, 디자인 컨텐츠 등을 공유할 수 있는 플랫폼 구축에 대한 필요성이 증가하고 있다.
종래의 다양한 컨텐츠 거래 플랫폼은 단순히 컨텐츠를 등록하고 매매할 수 있는 특징만을 가지고 있는 경우가 대부분이다. 그러나 지식 컨텐츠의 특성 상 컨텐츠의 거래뿐만 아니라 컨텐츠를 보호할 필요성 또한 존재하며, 나아가 지식 컨텐츠의 가치를 평가하는 방법이 중요한 실정이다.
나아가, 기술의 발전과 함께 사용자에게 다양한 경험을 제공하는 가상 공간을 구축하는 기술들이 개발되고 있다. 가상현실(Virtual Reality)은 컴퓨터로 만들어 놓은 가상의 세계에서 사람이 실제와 같은 체험을 할 수 있도록 하는 기술이며, 가상현실(VR·virtual reality)과 현실 세계에 가상정보를 더해 보여주는 기술인 증강현실(AR:augmented reality)을 혼합한 기술은 혼합현실(MR:mixed reality)이라고 한다. VR과 AR, MR은 모두 실제로 존재하지 않은 현실을 구현해 사람이 이를 인지할 수 있도록 하는 기술이라는 점에서 공통점이 있다. 다만 AR은 실제 현실에 가상의 정보를 더해 보여 주는 방식이고, VR은 모두 허구의 상황이 제시된다는 점에서 차이가 있다. MR은 AR과 VR을 혼합해 현실 배경에 현실과 가상의 정보를 혼합시켜 제공하는데, 대용량 데이터를 처리할 수 있는 기술이 필요하다.
이때, 대용량 데이터의 처리에는 대용량 데이터를 전송하는 기술이 포함된다. 종래에는 대용량 데이터를 빠르게 전송하는 것에 문제점이 있었으나, 근래에는 28GHz의 초고대역 주파수를 사용하며, 최고 다운로드 속도가 20Gbps에 달하는 5세대 이동통신(5G Networks)의 보급이 시작되어, 가상 공간을 구축하데 발생하는 기술적 문제들을 보완하고 있다.
이러한 상황 속에서, 다양한 지식 컨텐츠를 효과적으로 보호하기 위한 지식 공유 플랫폼을 구현하는 방안이 필요한 시점이다.
본 발명이 해결하고자 하는 과제는 본 발명은 지식 공유 플랫폼의 제어 방법, 장치 및 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 지식 공유 플랫폼의 제어 방법은, 판매자 단말이 코딩 교육 컨텐츠, 캐릭터, APK 파일, 패키지 및 디자인 컨텐츠 중 적어도 하나의 데이터를 생성하는 단계; 상기 판매자 단말이 상기 생성된 적어도 하나의 데이터를 상기 서버로 전송하는 단계; 상기 서버가, 상기 수신된 적어도 하나의 데이터의 가격을 판단하는 단계; 상기 서버가, 상기 수신된 적어도 하나의 데이터를 상기 플랫폼에 등록하는 단계; 및 상기 서버가, 구매자 단말로부터 상기 적어도 하나의 데이터를 구매하기 위한 사용자 명령을 수신하면, 상기 구매자 단말로 상기 적어도 하나의 데이터를 전송하는 단계; 를 포함한다.
상술한 본 발명의 다양한 실시예에 따라, 플랫폼은 다양한 지식 컨텐츠를 거래할 수 있는 환경을 제공할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 지식 공유 플랫폼을 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 서버의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 지식 공유 플랫폼의 동작을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 거래되는 데이터가 캐릭터 데이터인 경우를 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 거래되는 데이터가 프로그래밍 파일인 경우를 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 거래되는 데이터의 요약 정보를 생성하는 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 지식 공유 플랫폼에 등록된 데이터가 저작권에 위반되는지 여부를 판단하는 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 거래되는 데이터의 가격을 판단하는 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 데이터 거래 시, 플랫폼에게 지급되는 수수료를 판단하는 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 장치의 구성도이다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 지식 공유 플랫폼의 제어 방법은, 판매자 단말이 코딩 교육 컨텐츠, 캐릭터, APK 파일, 패키지 및 디자인 컨텐츠 중 적어도 하나의 데이터를 생성하는 단계; 상기 판매자 단말이 상기 생성된 적어도 하나의 데이터를 상기 서버로 전송하는 단계; 상기 서버가, 상기 수신된 적어도 하나의 데이터의 가격을 판단하는 단계; 상기 서버가, 상기 수신된 적어도 하나의 데이터를 상기 플랫폼에 등록하는 단계; 및 상기 서버가, 구매자 단말로부터 상기 적어도 하나의 데이터를 구매하기 위한 사용자 명령을 수신하면, 상기 구매자 단말로 상기 적어도 하나의 데이터를 전송하는 단계; 를 포함한다.
이때, 상기 적어도 하나의 데이터가 캐릭터에 대한 데이터인 경우, 상기 적어도 하나의 데이터를 생성하는 단계는, 상기 서버가, 상기 판매자 단말로부터 생성될 캐릭터에 대한 정보를 수신하여 캐릭터를 생성하는 단계; 상기 서버가, 상기 판매자 단말로 상기 캐릭터를 학습시키기 위한 카테고리 정보를 전송하는 단계; 상기 전송된 카테고리 정보 중 적어도 하나에 대한 카테고리 정보를 상기 판매자 단말로부터 수신하는 단계; 및 상기 수신된 카테고리 정보를 바탕으로 캐릭터를 학습시키는 단계; 를 포함할 수 있다.
이때, 상기 적어도 하나의 데이터가 APK 파일과 관련된 데이터인 경우, 상기 제어 방법은, 상기 APK 파일과 관련된 데이터로부터 적어도 하나의 패키지 데이터를 추출하는 단계; 를 포함하고, 상기 적어도 하나의 패키지 데이터를 추출하는 단계는, 상기 판매자 단말로부터 패키지에 대한 크기 정보, 기능 정보, 클래스 정보, 함수 정보 중 적어도 하나에 대한 조건을 수신하는 단계; 및 상기 수신된 조건을 바탕으로 상기 APK 파일로부터 적어도 하나의 패키지 데이터를 추출하는 단계;를 포함할 수 있다.
이때, 상기 학습시키는 단계는, 상기 수신된 카테고리 정보에 대응되는 학습데이터 및 상기 판매자 단말로부터 수신한 학습데이터를 수신하는 단계; 및 상기 수신된 학습데이터를 인공지능모델에 입력하여 학습시키는 단계; 를 더 포함하고, 상기 등록하는 단계는, 상기 적어도 하나의 데이터가 학습된 캐릭터와 관련된 데이터인 경우, 상기 인공지능모델에 입력된 학습데이터를 바탕으로 상기 캐릭터에 대한 요약 정보를 생성하는 단계; 및 상기 요약 정보를 상기 캐릭터와 함께 등록하는 단계; 를 포함할 수 있다.
이때, 상기 적어도 하나의 데이터가 APK 파일 및 패키지 중 적어도 하나에 대한 데이터인 경우, 상기 제어 방법은, 상기 등록된 복수의 데이터 중 상기 APK 파일 또는 상기 패키지와 기 설정된 비율 이상 매칭되는 데이터가 존재하는지 판단하는 단계; 상기 매칭되는 데이터가 존재하는 경우, 상기 APK 파일 또는 상기 패키지가 저작권에 위반됨을 알리는 메시지를 상기 판매자 단말로 전송하는 단계; 및 상기 매칭되는 데이터가 존재하지 않는 경우, 상기 APK 파일 또는 상기 패키지를 저작권 등록할 것을 안내하는 메시지를 상기 판매자 단말로 전송하는 단계; 를 포함할 수 있다.
이때, 상기 수신된 적어도 하나의 데이터의 가격을 판단하는 단계는, 상기 등록된 복수의 데이터를 클러스터링하여 복수의 클러스터를 획득하는 단계; 상기 수신된 적어도 하나의 데이터가 포함된 제1 클러스터를 획득하는 단계; 및 상기 제1 클러스터에 포함된 복수의 데이터의 가격 및 판매 횟수를 바탕으로 상기 수신된 적어도 하나의 데이터의 가격을 판단하는 단계; 를 포함할 수 있다.
이때, 상기 제어 방법은, 상기 제1 클러스터에 포함된 복수의 데이터의 개수 및 상기 판단된 적어도 하나의 데이터의 가격을 바탕으로 플랫폼 수수료를 판단하는 단계; 및 상기 구매자 단말이 상기 적어도 하나의 데이터를 구매하면, 상기 적어도 하나의 데이터에 대해 판단된 상기 플랫폼 수수료를 상기 플랫폼에 지급하는 단계;를 더 포함할 수 있다.
이때, 상기 요약 정보를 획득하는 단계는, 상기 인공지능 모델에 입력된 학습데이터 중, 상기 판매자 단말의 사용자 개인 정보와 관련된 학습데이터를 삭제하는 단계; 를 더 포함할 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 지식 공유 플랫폼을 설명하기 위한 블록도이다.
지식 공유 플랫폼은 복수의 판매자 단말(10), 서버(20) 및 복수의 구매자 단말(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) 중 적어도 하나를 포함할 수 있다.
또 다른 실시 예로, 판매자 단말(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쪠), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
복수의 판매자 단말(10)은 제1 판매자 단말(11), 제2 판매자 단말(12) 및 제3 판매자 단말(13)을 포함할 수 있으며, 복수의 구매자 단말(30)은 제1 구매자 단말(31), 제2 구매자 단말(32) 및 제3 구매자 단말(33)을 포함할 수 있으나, 이에 한정되는 것은 아니며, 필요에 따라 다양한 수의 판매자 단말 및 구매자 단말을 포함할 수 있음은 물론이다.
한편, 본 발명에서는 설명의 편의를 위해 특별히 지정하는 경우가 아닌 한, 제1 판매자 단말(11), 제2 판매자 단말(12) 및 제3 판매자 단말(13)을 판매자 단말(10)로, 제1 구매자 단말(31), 제2 구매자 단말(32) 및 제3 구매자 단말(33)을 구매자 단말(30)로 표현한다.
판매자 단말(10) 및 구매자 단말(30)은 다양한 지식 컨텐츠를 판매하는 사용자의 단말과 구매하는 사용자의 단말을 구분하여 놓은 것일 뿐, 판매자 단말(10) 및 구매자 단말(30) 각각은 자유롭게 다양한 컨텐츠를 생성할 수 있음은 물론이며, 판매자 단말(10) 및 구매자 단말(30)이 서로 변경될 수도 있음은 물론이다.
서버(20)는 판매자 단말(10)과 구매자 단말(30)로부터 지식 컨텐츠에 대한 데이터를 전송 및 수신하기 위한 구성이다. 지식 컨텐츠의 거래를 위해 서버(20)는 후술하는 다양한 기능들을 수행할 수 있다.
도 2는 본 발명의 일 실시예에 따른 서버의 구성을 설명하기 위한 블록도이다.
본 발명의 다양한 실시예에 따라, 서버(20)는, 코딩교육게임 관리 모듈(21), 캐릭터 관리 모듈(22), 프로그래밍파일 관리 모듈(23), 프로그래밍 명령어 관리 모듈(24) 및 2D/3D 디자인 관리 모듈(25)을 포함할 수 있다.
코딩교육게임 관리 모듈(21)은 판매자 단말(10)로부터 코딩교육 게임에 대한 컨텐츠를 수신하여 구매자 단말(30)로 전송하는 것을 제어하기 위한 모듈이다.
일 실시예로, 코딩교육게임은 가상로봇을 이용한 증강현실 자기주도 코딩교육 학습 시스템을 포함하는 프로그램일 수 있다. 본 발명에 따른 코딩교육 게임은, 카메라를 포함하는 판매자 단말(10) 또는 구매자 단말(30)에 의하여 수행될 수 있다.
일 실시예로, 본 발명에서 거래되는 코딩교육 게임은, 코딩교육 컨텐츠를 획득하는 제1단계, 상기 코딩교육 컨텐츠에 포함된 하나 이상의 포인트를 선택하는 제2단계, 상기 카메라로부터 촬영된 영상을 획득하는 제3단계, 상기 촬영된 영상을 인식하고, 상기 촬영된 영상에 포함된 하나 이상의 객체와 상기 하나 이상의 포인트를 매칭하는 제4단계, 상기 촬영된 영상 및 상기 매칭된 하나 이상의 포인트를 표시하는 제5단계, 상기 촬영된 영상에 가상의 로봇을 표시하는 제6단계, 상기 가상의 로봇의 움직임을 제어하기 위한 하나 이상의 명령어를 각각 포함하는 하나 이상의 명령어 블록을 표시하는 제7단계, 상기 표시된 하나 이상의 명령어 블록에 대한 사용자 입력에 기초하여 상기 하나 이상의 명령어 블록을 상기 하나 이상의 포인트에 배치하는 제8단계, 상기 하나 이상의 명령어 블록이 배치된 순서에 따라 상기 가상의 로봇을 제어하되, 상기 가상의 로봇은 상기 하나 이상의 포인트를 따라 이동하고, 각각의 포인트에 배치된 명령어 블록에 대응하는 명령을 수행하는, 제9단계 및 상기 제어 결과에 따른 상기 가상의 로봇의 움직임을 표시하는 제10단계를 포함할 수 있다.
이때, 상기 제1단계는, 상기 코딩교육 컨텐츠에 포함된 미션을 획득하는 제11단계 및 상기 미션을 표시하는 제12단계를 포함하고, 상기 제9단계는, 상기 제어 결과에 따른 상기 미션의 달성여부를 판단하는 제13단계 및 상기 미션의 달성여부에 따른 피드백을 표시하는 제14단계를 포함할 수 있다.
이때, 상기 제13단계는, 상기 하나 이상의 객체와 상기 가상의 로봇 간의 인터랙션을 판단하는 제15단계 및 상기 인터랙션에 기초하여 상기 하나 이상의 포인트 각각에서의 미션 달성여부를 판단하는 제16단계를 포함하고, 상기 제14단계는, 상기 하나 이상의 포인트 각각에서의 미션 달성여부에 따른 피드백을 표시하는, 제17단계를 포함할 수 있다.
이때, 상기 제15단계는, 상기 하나 이상의 객체와 상기 가상의 로봇 간의 하나 이상의 접점을 판단하는 제18단계, 상기 하나 이상의 접점 각각에 대응하는 상기 하나 이상의 객체 및 상기 가상의 로봇의 부위를 판단하는 제19단계 및 상기 하나 이상의 접점의 위치, 움직임 및 상기 하나 이상의 접점 각각에 대응하는 부위에 기초하여 상기 인터랙션을 판단하는 제20단계를 포함할 수 있다.
이때, 상기 제20단계는, 상기 하나 이상의 접점에 포함된 제1접점을 제2접점 및 제3접점으로 분할하는 제21단계, 상기 제2접점 및 상기 제3접점의 움직임을 추적하는 제22단계, 상기 제2접점 및 상기 제3접점 간의 거리가 소정의 기준값 이상으로 멀어지는 경우, 상기 제2접점 및 상기 제3접점 각각에 대응하는 상기 하나 이상의 객체 및 상기 가상의 로봇의 부위를 판단하는 제23단계 및 상기 제2접점 및 상기 제3접점의 위치, 움직임 및 상기 제2접점 및 상기 제3접점에 각각 대응하는 부위에 기초하여 상기 인터랙션을 판단하는 제24단계를 포함할 수 있다.
이때, 상기 제11단계는, 상기 하나 이상의 객체의 종류를 판단하는 제25단계, 상기 촬영된 영상에 포함된 상기 하나 이상의 객체의 위치 및 종류에 기초하여 상기 가상의 로봇의 이동경로를 생성하는 제26단계, 상기 가상의 로봇이 상기 이동경로를 따라 이동하도록 하는 제1미션을 획득하는 제27단계 및 상기 가상의 로봇이 상기 하나 이상의 객체 중 적어도 하나와 소정의 인터랙션을 수행하도록 하는 제2미션을 획득하는 제28단계를 포함할 수 있다.
이때, 상기 제11단계는, 상기 이동경로 상에 하나 이상의 가상의 객체를 생성 및 표시하는 제29단계, 상기 하나 이상의 가상의 객체의 종류를 결정하는 제30단계, 상기 하나 이상의 가상의 객체의 위치 및 종류에 기초하여 상기 이동경로를 업데이트하는 제31단계, 상기 가상의 로봇이 상기 업데이트된 이동경로를 따라 이동하도록 하는 제3미션을 획득하는 제32단계 및 상기 가상의 로봇이 상기 하나 이상의 가상의 객체 중 적어도 하나와 소정의 인터랙션을 수행하도록 하는 제4미션을 획득하는 제33단계를 포함할 수 있다.
이때, 상기 제8단계는, 상기 하나 이상의 명령어 블록 중 적어도 일부를 상기 가상의 로봇에 배치하는 제34단계를 더 포함하고, 상기 제9단계는, 상기 가상의 로봇에 배치된 명령어 블록에 대응하는 명령을 수행하는 제35단계, 상기 하나 이상의 포인트에 도착하는 경우, 상기 도착한 포인트에 배치된 명령어 블록에 대응하는 명령을 수행하는 제36단계 및 상기 가상의 로봇에 배치된 명령어 블록에 대응하는 명령과, 상기 도착한 포인트에 배치된 명령어 블록에 대응하는 명령이 충돌하는 경우, 동작을 정지하고 피드백을 표시하는 제37단계를 더 포함할 수 있다.
캐릭터 관리 모듈(22)은 판매자 단말(10)에서 생성된 캐릭터를 구매자 단말(30)으로 전송하는 것을 제어하기 위한 구성이다. 나아가, 캐릭터 관리 모듈(22)은, 판매자 단말(10)이 판매하고자 하는 캐릭터의 생성을 위한 동작을 수행할 수 있다. 즉, 판매자 단말(10)은 캐릭터 관리 모듈(22)을 이용하여 캐릭터를 생성, 학습시키고, 학습된 캐릭터를 구매자 단말(30)에게 제공할 수 있다.
일 실시예로, 캐릭터는 판매자 단말(10) 및 서버(20)의 동작에 의해 생성되고 학습될 수 있다. 서버(20)는 판매자 단말(10)로부터 캐릭터 생성을 요청 받아 캐릭터를 생성할 수 있다. 생성된 캐릭터는 판매자 단말(10) 또는 구매자 단말(30)에 의해 사용될 수 있다. 이때, 캐릭터는 음성인식을 수행하고, 사용자 음성에 대응되는 결과를 음성으로 출력할 수 있다. 이를 위해, 판매자 단말(10) 또는 구매자 단말(30)은 마이크 및 스피커를 포함할 수 있으며, 판매자 단말(10) 또는 구매자 단말(30)은 사용자 음성을 수신하여 캐릭터에게 전달하고, 캐릭터로부터 생성된 답변은 스피커를 통해 출력될 수 있다.
프로그래밍파일 관리 모듈(23)은 APK 파일과 같이 실행 가능한 완성된 파일을 관리하기 위한 구성이다. 판매자 단말(10)은 프로그래밍 파일을 서버(20)에 등록하고, 구매자 단말(30)로 전송할 수 있다. 설명의 편의를 위해, 이하 본 발명에서는 프로그래밍파일을 APK파일인 경우로 한정하여 설명하나, 다양한 실행 가능한 프로그래밍 파일에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다.
프로그래밍 명령어 모듈(24)은 자연어에 가까운 프로그래밍 명령어들을 관리하기 위한 모듈로, 프로그램을 제작하기 위한 프로그램 압축 명령어를 관리하기 위한 모듈이다. 설명의 편의를 위해, 본 발명에서는 프로그래밍 명령어를 패키지로 한정하여 설명하나, 다양한 명령어들에 대하여도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 이때, 패키지란 관련 클래스, 함수나 인터페이스 집합에 대한 구성으로, 하나 또는 복수의 동작을 수행하기 위한 모듈일 수 있다. 패키지를 이용함으로써, 구매자 단말(30)은 몇 개의 패키지를 구입하여 복잡한 게임, SNS 등을 만드는데 사용할 수 있다.
2D/3D 디자인 관리 모듈(25)은, 프로그램 제작에 필요한 캐릭터, UX/UI 아이콘, 이모티콘, 서체와 같은 다양한 디자인 컨텐츠를 관리하기 위한 모듈이다.
상술한 다양한 모듈에 의해, 서버(20)는 판매자 단말(10) 또는 구매자 단말(30)과 연동되어 다양한 컨텐츠의 제작을 도울 수 있으며, 제작된 컨텐츠를 거래하기 위한 플랫폼 환경을 조성할 수 있다.
이하에서는 도 3 내지 도 9를 이용하여 본 발명에 따른 구체적인 실시예들에 대하여 설명한다.
도 3은 본 발명의 일 실시예에 따른 지식 공유 플랫폼의 동작을 설명하기 위한 흐름도이다.
단계 S110에서, 판매자 단말(10)은 코딩 교육 컨텐츠, 캐릭터, APK 파일, 패키지 및 디자인 컨텐츠 중 적어도 하나의 데이터를 생성할 수 있다. 상술한 바와 같이, 판매자 단말(10)에서 생성되는 적어도 하나의 데이터는 서버(20)와 연동되어 생성될 수 있음은 물론이다.
단계 S120에서, 판매자 단말(10)은 코딩 교육 컨텐츠, 캐릭터, APK 파일, 패키지 및 디자인 컨텐츠 중 적어도 하나의 데이터를 서버(20)로 전송할 수 있다.
단계 S130에서, 서버(20)는 판매자 단말(10)로부터 수신한 적어도 하나의 데이터의 가격을 판단할 수 있다.
단계 S140에서, 서버(20)는 판매자 단말(10)로부터 수신한 적어도 하나의 데이터를 플랫폼에 등록할 수 있다.
단계 S150에서, 구매자 단말(30)로부터 등록된 적어도 하나의 데이터를 구매하기 위한 사용자 명령을 수신하면, 서버(20)는 구매자 단말(30)로 적어도 하나의 데이터를 전송할 수 있다.
구체적으로, 구매자 단말(30)은 등록된 적어도 하나의 데이터를 구매하기 위한 사용자 명령 및 적어도 하나의 데이터에 대응되는 결제 포인트를 서버(20)로 전송할 수 있다. 서버(20)는 수신한 결제 포인트가 적어도 하나의 데이터의 가격과 동일한 경우, 적어도 하나의 데이터를 구매자 단말(30)로 전송할 수 있다.
한편, 본 발명의 다양한 실시예에 따라, 데이터 판매는 QR 코드를 이용하여 이뤄질 수 있다. QR코드는 Quick Response Code의 약자로 흑백 격자무늬 패턴으로 정보를 나타내는 매트릭스 형식의 이차원 바코드의 일종으로 일본의 덴소 웨이브사가 개발하여 1994년에 발표하였으며, 다른 2D 바코드들에 비해 빠른 속도 및 많은 데이터를 저장할 수 있다는 장점을 가지고 있다. 서버(20)는 적어도 하나의 데이터가 플랫폼에 등록되면, 등록된 데이터에 대응되는 QR 코드를 생성하여 함께 등록할 수 있다. QR 코드를 이용함으로써, 구매자 단말(30)이 데이터 구매를 원하는 경우, QR코드를 통해 데이터를 구매할 수 있다.
도 4는 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 거래되는 데이터가 캐릭터 데이터인 경우를 설명하기 위한 흐름도이다.
단계 S210에서, 적어도 하나의 데이터가 캐릭터에 대한 데이터인 경우, 서버(20)는 판매자 단말(10)로부터 생성될 캐릭터에 대한 정보를 수신하여 캐릭터를 생성할 수 있다.
이때 생성되는 캐릭터는 기본적인 기능만을 포함하는 캐릭터로, 사용자 명령에 따라 새로운 기능들을 학습 시킬 수 있다.
단계 S220에서, 서버(20)는 캐릭터를 학습시키기 위한 카테고리 정보를 판매자 단말(10)로 전송할 수 있다. 즉, 서버(20)는 캐릭터를 학습시키기 위한 사용자 명령이 입력되면, 사용자 명령을 바탕으로 캐릭터를 학습 시킬 수 있다.
단계 S230에서, 서버(20)는 판매자 단말(10)로부터 적어도 하나의 카테고리 정보를 수신할 수 있다.
단계 S240에서, 서버(20)는 수신된 카테고리 정보를 바탕으로 캐릭터를 학습시킬 수 있다.
이때, 카테고리 정보는, 캐릭터를 학습시키기 위한 다양한 카테고리에 대한 정보일 수 있다. 일 실시예로, 카테고리 정보는, 어학 카테고리, 스포츠 카테고리, 쇼핑 카테고리, 교육 카테고리 등 다양한 카테고리에 대한 정보일 수 있다. 이러한 카테고리 정보는 카테고리 정보를 세분화한 세부 카테고리 정보를 더 포함할 수 있다. 예를 들어, 카테고리는 제1 카테고리, 제1 카테고리를 세분화한 제2 카테고리, 제2 카테고리를 세분화한 제3 카테고리 등을 더 포함할 수 있다.
일 실시예로, 카테고리 정보는 어린이를 대상으로 하는 성장형 캐릭터와 관련된 카테고리 정보일 수 있다. 이때, 성장형 캐릭터와 관련된 카테고리 정보는, 제1 카테고리로 교육 학습 카테고리, 감정 학습 카테고리 등을 포함할 수 있다. 교육 학습 카테고리에 대한 제2 카테고리는 수학 카테고리, 영어 카테고리, 사회 카테고리, 과학 카테고리 등 교과목과 관련된 카테고리일 수 있으며, 감정 학습 카테고리는 기쁨 카테고리, 슬픔 카테고리, 행복 카테고리, 불안 카테고리등 다양한 감정과 관련된 카테고리일 수 있다.
서버(20)는 선택된 카테고리 정보에 대한 학습 데이터를 수신하여 캐릭터를 학습시킬 수 있다. 예를 들어, 선택된 카테고리가 사회 카테고리인 경우, 서버(20)는 사용자로부터 학습 데이터를 입력 받아 사회 교과목을 학습하기 위한 인공지능 모델을 학습시킬 수 있다.
이때, 사용자로부터 입력 받는 학습 데이터는 어린이가 학교 또는 학원 등에서 습득한 지식과 관련된 데이터일 수 있다. 예를 들어, 학습 데이터는 학교 또는 학원 등에서 필기한 필기 노트에 대한 데이터일 수 있다. 서버(20)는 필기 노트에 대한 이미지 파일을 수신하고, 수신된 이미지 파일을 OCR 기법을 통해 이미지로부터 텍스트를 추출할 수 있다. 필요에 따라 필기 노트 이미지에 그림, 도표, 그래프 등의 비텍스트가 포함된 경우, 서버(20)는 해당 비텍스트 데이터를 이미지화 하여 학습 데이터를 생성할 수 있음은 물론이다. 다만, 학습 데이터는 이에 한정되는 것은 아니고, 사용자 음성, 사용자가 수집한 웹사이트 정보, 블로그 정보, 읽은 책의 정보 등 다양한 데이터일 수 있음은 물론이다.
학습된 캐릭터를 이용하기 위한 사용자 명령이 입력되면, 서버(20)는 사용자 명령에 대한 결과를 캐릭터를 통해 출력할 수 있다. 이때, 사용자 명령은 사용자 질문을 포함하는 음성 신호일 수 있다.
한편, 사용자 명령에 대한 결과는 사용자로부터 입력된 학습 데이터를 바탕으로 결정될 수 있다. 예를 들어, 사용자가 입력한 학습 데이터가 초등학교 1학년 사회 교과와 관련된 학습데이터이고, 사용자가 사회 과목에 대한 내용을 질의하는 사용자 명령을 생성한 경우, 서버(20)는 입력된 초등학교 1학년 사회 교과의 범위 내에서 답변을 생성할 수 있다. 서버(20) 초등학교 1학년 사회 교과의 범위이더라도 사용자가 입력하지 않은 학습데이터에 대한 답변은 출력할 수 없다.
따라서, 복수의 사용자가 생성하는 복수의 캐릭터는 복수의 사용자 각각이 입력하는 학습데이터에 따라 다르게 학습될 수 있다. 많은 학습데이터를 입력한 캐릭터는 적은 학습데이터를 입력한 캐릭터보다 더 똑똑한 캐릭터로 성장할 수 있다. 따라서, 사용자는 자신의 캐릭터를 성장시켜 다른 캐릭터보다 더 나은 캐릭터를 만드는데 흥미를 느끼고, 이를 위해 더 많은 노력을 기울일 수 있게 된다.
한편, 서버(20)는 기 설정된 시간동안 캐릭터에게 학습데이터가 입력되지 않거나, 캐릭터에게 질의를 하지 않은 경우, 캐릭터를 삭제시킬 수 있다. 즉, 서버(20)는 이용되지 않는 캐릭터를 삭제하여 사용자가 자신의 캐릭터가 삭제되지 않도록 꾸준히 관리를 할 수 있도록 유도할 수 있다.
또 다른 실시예로, 카테고리 정보는 감정 학습 카테고리일 수 있다. 서버(20)는 판매자 단말(10)로부터 다양한 인터랙션을 수신하여, 사용자 인터랙션에 따른 감정을 판단할 수 있다. 즉, 서버(20)는 사용자 감정과 관련된 학습 데이터를 이용하여 캐릭터를 학습시킬 수 있다. 캐릭터는 입력되는 사용자의 감정과 관련된 학습 데이터에 따라 캐릭터 자신의 성격을 구축할 수 있다.
일 실시예로, 캐릭터가 사용자 데이터에 대한 반응을 출력한 후, 출력된 캐릭터의 반응에 대한 사용자 인터랙션에 따라 캐릭터의 성격이 결정될 수 있다. 예를 들어, 캐릭터의 반응 출력에 대한 사용자 인터랙션이 ‘칭찬’ 인터랙션인 경우, 캐릭터의 성격은 자신감 넘치는 성격일 수 있다. 또는 캐릭터의 반응 출력에 대한 사용자 인터랙션이 ‘꾸짖음’ 인터랙션인 경우, 캐릭터의 성격은 소심한 성격일 수 있다. 또 다른 실시예로, 캐릭터의 성격은 사용자 데이터를 분석하여 획득된 사용자의 성격과 유사한 성격일 수 있다.
즉, 캐릭터의 성격은 사용자와의 인터랙션이 수행됨에 따라 변경되거나, 확장되거나, 축소될 수 있다. 생성된 캐릭터의 성격에 따라 동일한 상황에서 캐릭터가 출력하는 반응이 달라질 수 있다.
따라서, 복수의 사용자가 생성하는 복수의 캐릭터는 복수의 사용자 각각이 입력하는 학습데이터에 따라 다르게 학습될 수 있다. 많은 학습데이터를 입력한 캐릭터는 적은 학습데이터를 입력한 캐릭터보다 더 감정이 풍부한 캐릭터로 성장할 수 있다.
다만, 이에 한정되는 것은 아니며, 카테고리 정보는 번역을 위한 어학 카테고리 정보일 수 있다. 이때, 어학 카테고리의 세부 카테고리는 한국어, 일본어, 중국어, 영어 등 언어의 종류를 구성하는 제1 세부 카테고리, 번역, 쓰기, 읽기, 말하기, 듣기 등 언어에 대한 행위를 나타내는 제2 세부 카테고리, 각각의 카테고리의 학습의 정도를 결정하는 제3 세부 카테고리 등으로 구성될 수 있다.
이때 제3 세부 카테고리는 예를 들어, 영어 번역 카테고리에 대한 학습의 정도와 관련된 카테고리로, 초급자 수준의 번역, 중급자 수준의 번역, 고급자 수준의 번역 등 번역 수준을 결정하기 위한 세부 카테고리일 수 있다. 일반적으로, 학습의 정도가 높은 캐릭터는 학습의 정도가 낮은 캐릭터보다 많은 리소스(데이터 량, 비용 등)를 필요로 한다. 따라서, 가용한 리소스 양에 따라 카테고리를 분류하여 사용자 선택에 따라 캐릭터를 학습 시킬 수 있다.
사용자는 서버(20)로부터 제공된 카테고리 정보 중 적어도 하나를 선택하여 캐릭터를 학습 시킬 수 있다. 이때, 캐릭터를 학습 시키는 과정은 기 저장된 학습 모듈을 전송하는 방식으로 구성될 수도 있다. 그러나, 캐릭터를 학습 시키는 과정은 인공 지능 모델을 통해 구현될 수도 있다.
한편, 서버(20)는 학습된 캐릭터를 지속적으로 학습시킬 수 있다. 구체적으로, 서버(20)는 캐릭터에 학습된 카테고리 정보와 관련된 데이터가 입력되면, 캐릭터를 업데이트 할 수 있다. 이때, 업데이트를 위한 데이터는 판매자 단말(10)로부터 제공 받을 수 있다. 다만, 이에 한정되는 것은 아니고, 서버(20)가 업데이트될 데이터를 선별하여 캐릭터를 학습 시킬 수도 있다. 예를 들어, 학습된 카테고리 정보에 대응되는 데이터를 다양한 방법을 통해 수신하면, 서버(20)는 수신한 데이터를 바탕으로 캐릭터를 업데이트 할 수 있다.
일 실시예로, 캐릭터가 초급자 수준의 영어(중국어, 일본어 등 다양한 언어의 경우 또한 같다) 번역을 학습한 상태인 경우를 가정한다. 판매자 단말(10)은 영어 번역 학습을 위한 다양한 영어(및 그의 번역 데이터)를 서버(20)로 제공하고, 서버(20)는 제공된 데이터를 이용하여 캐릭터를 학습시킬 수 있다. 처음에는 초급자 수준의 영어 번역이 가능했던 캐릭터는, 지속적인 학습을 통해 영어 번역의 수준을 높여갈 수 있다.
나아가, 단말이 제공한 데이터를 이용하여 학습이 수행되므로, 단말의 사용자에게 개인화된 캐릭터가 획득될 수 있다. 즉, 단말로부터 제공받은 데이터는 단말의 사용자가 관심 있거나, 자주 사용하는 단어 또는 문장등과 관련된 데이터일 수 있다. 따라서, 학습된 캐릭터 데이터는 사용자의 관심 분야를 더욱 잘 번역할 수 있게 되며 개인화된 캐릭터가 생성될 수 있는 효과가 존재한다. 예를 들어, 단말의 사용자가 자신의 관심 분야인 스포츠 분야에 대한 데이터를 지속적으로 제공하여 캐릭터를 학습시킨 경우, 캐릭터는 다른 분야에 대한 번역의 품질보다 스포츠 분야에서의 번역의 품질이 더 높을 것이다.
나아가, 처음부터 원어민 수준의 영어 번역을 학습한 캐릭터와 비교할 때, 사용자가 필요한 분야에 대한 번역 능력만을 향상 시킴으로써 학습을 위한 데이터의 양을 줄이고, 캐릭터의 용량을 줄일 수 있는 효과가 존재한다.
한편, 상술한 실시예에서는, 판매자 단말(10)이 카테고리 정보를 전송하여 서버(20)가 캐릭터를 학습 시키는 것으로 설명하였으나, 이에 한정되는 것은 아니다. 본 개시에 따른 일 실시예로, 서버(20)는 판매자 단말(10)로부터 단말의 사용자 정보를 수신하고, 수신된 사용자 정보를 바탕으로 캐릭터를 학습 시킬 수 있음은 물론이다. 이때, 사용자 정보란, 단말을 통해 수집된 사용자의 생체 정보, 단말을 통해 수집된 단말의 사용 히스토리 기록(사용 히스토리 기록은 일정 정보, 사용한 어플리케이션의 종류, 사용 시간, 접속한 웹사이트 주소, 접속 시간, 알람 설정 시간, 단말 사용 시간 및 분포 등 단말을 통한 모든 사용자 명령 중 적어도 하나일 수 있다.)
즉, 캐릭터는 각각의 단말의 개인적인 사용 양태에 따라 학습되어 개인화된 캐릭터로 활용될 수 있다.
이 경우, 판매자 단말(10)은 캐릭터 생성 및 선택된 카테고리 정보에 따라 캐릭터를 학습시키는 정도에 따라 서버(20)에 비용을 지불할 수 있다. 구체적으로, 판매자 단말(10)은 캐릭터 생성 비용, 선택된 카테고리에 따른 학습데이터에 대한 비용 및, 선택된 학습데이터로 캐릭터를 학습시키기 위한 비용을 서버(20)에게 지불할 수 있다.
즉, 캐릭터 생성, 카테고리 정보 제공, 선택된 카테고리에 따라 캐릭터를 학습시키기 위한 학습데이터는 서버(20)의 리소스를 이용하는 것으로, 판매자 단말(10)은 서버(20)에 포인트를 지불하여 캐릭터를 생성 및 학습 시킬 수 있다. 그러나, 판매자 단말(10)이 직접 학습데이터를 제공하는 경우, 판매자 단말(10)은 학습데이터에 대한 비용은 서버(20)에 지불하지 않고, 제공되는 학습데이터로 캐릭터를 학습 시키는 비용만을 제공할 수 있음은 물론이다.
따라서, 판매자 단말(10)은 자신의 리소스를 이용하여 활용 가능한 범위 내에서 캐릭터를 학습시킬 수 있다.
한편, 학습된 캐릭터는 APK 파일의 형태로 저장될 수 있다. 이 경우, APK 파일을 실행하면, 판매자 단말(10) 또는 구매자 단말(30)은 실행된 APK 파일에 대응되는 캐릭터를 화면에 표시할 수 있다.
한편, 상술한 다양한 학습은 인공 지능 시스템을 통해 구현될 수 있다. 인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
구체적으로, 딥 러닝은 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstractions, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는 기계학습(machine learning) 알고리즘의 집합으로 정의된다. 딥 러닝은 큰 틀에서 사람의 사고방식을 컴퓨터에게 가르치는 기계학습의 한 분야로 볼 수 있다.
어떠한 데이터가 있을 때 이를 컴퓨터가 알아 들을 수 있는 형태(예를 들어 영상의 경우는 픽셀정보를 열벡터로 표현하는 등)로 표현(representation)하고 이를 학습에 적용하기 위해 많은 연구(어떻게 하면 더 좋은 표현기법을 만들고 또 어떻게 이것들을 학습할 모델을 만들지에 대한)가 진행되고 있다. 이러한 노력의 결과로 다양한 딥 러닝 기법들이 개발되었다. 딥 러닝 기법들로는 심층 신경망(Deep Neural Networks, DNN), 합성곱 신경망(Convolutional deep Neural Networks, CNN), 순환 신경망(Reccurent Neural Network, RNN) 및 심층 신뢰 신경망(Deep Belief Networks, DBN)을 예로 들 수 있다.
심층 신경망(Deep Neural Networks, DNN)은 입력 계층(input layer)과 출력 계층(output layer) 사이에 복수개의 은닉 계층(hidden layer)들로 이뤄진 인공신경망(Artificial Neural Network, ANN)이다.
이때, 심층 신경망의 구조는 퍼셉트론(perceptron)으로 구성될 수 있다. 퍼셉트론은 여러 개의 입력 값(input)과 하나의 프로세서(prosessor), 하나의 출력 값으로 구성된다. 프로세서는 여러 개의 입력 값에 각각 가중치를 곱한 후, 가중치가 곱해진 입력 값들을 모두 합한다. 그 다음 프로세서는 합해진 값을 활성화함수에 대입하여 하나의 출력 값을 출력한다. 만약 활성화함수의 출력 값으로 특정한 값이 나오기를 원하는 경우, 각 입력 값에 곱해지는 가중치를 수정하고, 수정된 가중치를 이용하여 출력 값을 다시 계산할 수 있다. 이때, 각각의 퍼셉트론은 서로 다른 활성화함수를 사용할 수 있다. 또한 각각의 퍼셉트론은 이전 계층에서 전달된 출력들을 입력으로 받아들인 다음, 활성화 함수를 이용해서 출력을 구한다. 구해진 출력은 다음 계층의 입력으로 전달된다. 상술한 바와 같은 과정을 거치면 최종적으로 몇 개의 출력 값을 얻을 수 있다.
개시된 일 실시예에 따르면, 서버(20)는 사용자의 다양한 사용자 정보를 판매자 단말(10)로부터 수집하여, 딥러닝에 활용되는 가중치를 설정하는데 사용할 수 있다. 이때, 사용자 정보란, 단말을 통해 수집된 사용자의 생체 정보, 단말을 통해 수집된 단말의 사용 히스토리 기록(사용 히스토리 기록은, 사용한 어플리케이션의 종류, 사용 시간, 접속한 웹사이트 주소, 접속 시간, 알람 설정 시간, 단말 사용 시간 및 분포 등 단말을 통한 모든 사용자 명령 중 적어도 하나일 수 있다.) 예를 들어, 캐릭터를 학습시키기 위한 인공 지능 모델은 상술한 다양한 사용자 정보에 기초하여 캐릭터를 보완하는 정보를 수집할 수 있으며, 이에 기초하여 각각의 가중치를 재설정할 수 있다.
딥 러닝 기법에 대한 설명으로 다시 돌아가면, 합성곱 신경망(Convolutional deep Neural Networks, CNN)은 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 한 종류이다. 합성곱 신경망은 하나 또는 여러개의 합성곱 계층(convolutional layer)과 그 위에 올려진 일반적인 인공신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 합성곱 신경망은 2차원 구조의 입력 데이터를 충분히 활용할 수 있다. 또한, 합성곱 신경망은 표준 역전달을 통해 훈련될 수 있다. 합성곱 신경망은 다른 피드포워드 인공신경망 기법들보다 쉽게 훈련되는 편이고 적은 수의 매개변수를 사용한다는 이점이 있다. 합성곱 신경망은 입력 영상에 대하여 합성곱과 서브샘플링을 번갈아 수행함으로써 입력 영상으로부터 특징을 추출한다.
합성곱 신경망은 여러 개의 합성곱 계층(Convolution layer), 여러 개의 서브샘플링 계층(Subsampling layer, Lacal pooling layer, Max-Pooling layer), 완전 연결 층(Fully Connected layer)을 포함한다. 합성곱 계층은 입력 영상(Input Image)에 대해 합성곱을 수행하는 계층이다. 그리고 서브샘플링 계층은 입력 영상에 대해 지역적으로 최대값을 추출하여 2차원 영상으로 매핑하는 계층으로, 국소적인 영역을 더 크게 하고, 서브샘플링을 수행한다.
합성곱 계층에서는 커널의 크기(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 크기의 맵이 생성된다.
서브샘플링 계층에서는 서브샘플링할 커널의 크기에 대한 정보, 커널 영역 내의 값들 중 최대값을 선택할 것인지 최소값을 선택할 것인지에 대한 정보가 필요하다.
딥 러닝 기법에 대한 설명으로 다시 돌아가면, 순환 신경망(Reccurent Neural Network, RNN)은 인공신경망을 구성하는 유닛 사이의 연결이 Directed cycle을 구성하는 신경망을 말한다. 순환 신경망은 앞먹임 신경망과 달리, 임의의 입력을 처리하기 위해 신경망 내부의 메모리를 활용할 수 있다.
심층 신뢰 신경망(Deep Belief Networks, DBN)이란 기계학습에서 사용되는 그래프 생성 모형(generative graphical model)으로, 딥 러닝에서는 잠재변수(latent variable)의 다중계층으로 이루어진 심층 신경망을 의미한다. 계층 간에는 연결이 있지만 계층 내의 유닛 간에는 연결이 없다는 특징이 있다.
심층 신뢰 신경망은 생성 모형이라는 특성상 선행학습에 사용될 수 있고, 선행학습을 통해 초기 가중치를 학습한 후 역전파 혹은 다른 판별 알고리즘을 통해 가중치의 미조정을 할 수 있다. 이러한 특성은 훈련용 데이터가 적을 때 굉장히 유용한데, 이는 훈련용 데이터가 적을수록 가중치의 초기값이 결과적인 모델에 끼치는 영향이 세지기 때문이다. 선행학습된 가중치 초기값은 임의로 설정된 가중치 초기값에 비해 최적의 가중치에 가깝게 되고 이는 미조정 단계의 성능과 속도향상을 가능케 한다.
상술한 인공지능 및 그 학습방법에 관한 내용은 예시를 위하여 서술된 것이며, 이하에서 설명되는 실시 예들에서 이용되는 인공지능 및 그 학습방법은 제한되지 않는다. 예를 들어, 당 업계의 통상의 기술자가 동일한 과제해결을 위하여 적용할 수 있는 모든 종류의 인공지능 기술 및 그 학습방법이 개시된 실시 예에 따른 시스템을 구현하는 데 활용될 수 있다.
도 5는 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 거래되는 데이터가 프로그래밍 파일인 경우를 설명하기 위한 흐름도이다.
단계 S310에서, 적어도 하나의 데이터가 APK 파일과 관련된 데이터인 경우, 서버(20)는 APK 파일과 관련된 데이터로부터 적어도 하나의 패키지 데이터를 추출할 수 있다.
즉, 판매자 단말(10)은 APK 파일 자체만을 서버(20)에 등록하여 거래할 수도 있으나, APK 파일은 복수의 패키지들을 포함할 수 있다. 따라서, 서버(20)는 등록된 APK 파일로부터 패키지를 추출하여 판매자 단말(10)로 제공할 수 있음은 물론이다.
이때, 서버(20)는 APK 파일을 기 설정된 기준에 따라 분할한 후, 분할된 파일의 완전성을 검토할 수 있다. 일 실시예로, 서버(20)는 APK 파일이 자바로 작성된 경우, APK파일에 포함된 코드 중 'import' 명령어를 기준으로 파일을 분할할 수 있다. 또 다른 예로, 서버(20)는 'package' 명령어를 기준으로 파일을 분할 할 수 있다. 서버(20)는 분할된 패키지를 컴파일하여 오류가 발생하는지 여부를 판단할 수 있다. 오류가 발생하는 경우, 서버(20)는 분할의 방법을 변경하여 추가 코드를 더 포함하도록 패키지를 재구성하거나, 분할된 패키지의 코드 일부를 삭제하여 패키지를 재구성할 수 있다. 서버(20)는 컴파일에 오류가 없을 때까지 동일한 방법을 적용하여 APK 파일로부터 패키지를 추출할 수 있다.
단계 S320에서, 서버(20)는 판매자 단말(10)로부터 패키지에 대한 크기 정보, 기능 정보, 클래스 정보, 함수 정보 중 적어도 하나에 대한 조건을 수신할 수 있다.
즉, 서버(20)는 사용자로부터 추출될 패키지의 기본 정보를 획득하고, 기본 정보에 맞도록 패키지를 추출할 수 있다.
단계 S330에서, 서버(20)는 수신한 정보를 바탕으로, APK 파일로부터 적어도 하나의 패키지 데이터를 추출할 수 있다.
도 6은 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 거래되는 캐릭터 데이터의 요약 정보를 생성하는 방법을 설명하기 위한 흐름도이다.
단계 S410에서, 서버(20)는 판매자 단말(10)로부터 수신한 카테고리 정보에 대응되는 학습데이터 및 판매자 단말(10)로부터 수신한 학습데이터를 수신할 수 있다.
단계 S420에서, 서버(20)는 수신된 학습데이터를 인공지능모델에 입력하여 캐릭터를 학습시킬 수 있다.
상술한 바와 같이, 캐릭터는 서버(20)에 저장된 카테고리 정보에 대응되는 학습데이터 및 판매자 단말(10)로부터 제공받은 학습데이터를 바탕으로 캐릭터를 학습시킬 수 있다.
상술한 다양한 방법을 통해 학습된 캐릭터는, 학습 방법 및 학습 내용에 따라 다양한 형태로 구현될 수 있다. 따라서 특정 사용자가 학습시킨 캐릭터는 특정 사용자만의 것으로서 희소성이 존재할 수 있다. 따라서, 서버(20)는 복수의 단말들에 대응되는 복수의 캐릭터를 구매하거나, 판매하기 위한 플랫폼을 제공할 수 있다.
단계 S430에서, 서버(20)는 인공지능모델에 입력된 학습데이터를 바탕으로 캐릭터에 대한 요약 정보를 획득할 수 있다.
즉, 서버(20)는 판매자 단말(10)이 판매하기 위한 캐릭터에 대한 요약 정보를 생성하여 구매자 단말(30)로 전송할 수 있다. 이때, 캐릭터에 대한 요약 정보는 캐릭터를 학습시키는데 투입된 학습데이터를 바탕으로 생성될 수 있다.
일 실시예로, 서버(20)는 캐릭터를 학습시키는데 투입된 학습데이터를 획득할 수 있다. 서버(20)는 획득한 학습데이터를 클러스터링 하여, 유사한 학습데이터끼리 군집화된 복수의 클러스터를 획득할 수 있다. 서버(20)는 획득된 복수의 클러스터의 카테고리를 결정할 수 있다. 서버(20)는 획득된 복수의 클러스터에 포함된 학습데이터량 및 결정된 카테고리를 바탕으로 캐릭터를 가장 잘 표현할 수 있는 요약 정보를 획득할 수 있다. 예를 들어, 제1 클러스터의 카테고리가 영어 번역 카테고리이고, 제2 클러스터의 카테고리가 일본어 번역이며, 제1 클러스터의 학습데이터량이 제2 클러스터의 학습데이터량보다 많은 경우, 서버(20)는 캐릭터가 영어 번역을 위한 캐릭터인 특징을 요약 정보로 획득할 수 있다. 즉, 서버(20)는 학습데이터량이 가장 많은 클러스터를 캐릭터의 대표 클러스터로 획득하고, 획득된 클러스터에 대한 요약 정보를 획득할 수 있다. 다만, 이에 한정되는 것은 아니고, 서버(20)는 모든 클러스터에 대한 요약 정보를 생성하되, 학습데이터량에 따라 복수의 클러스터 각각에 대해 생성된 각각의 요약 정보의 순서를 결정하고, 결정된 순서에 따라 캐릭터에 대한 요약 정보를 생성할 수 있음은 물론이다.
단계 S440에서, 서버(20)는 생성된 요약 정보를 캐릭터와 함께 플랫폼에 등록할 수 있다.
상술한 실시예에 따란, 서버(20)는 학습데이터는 인공지능모델에 입력되어 캐릭터를 학습시킬 수 있음과 동시에, 캐릭터를 설명하기 위한 요약 정보를 생성하는데 사용될 수도 있다.
한편, 판매하고자 하는 캐릭터는 특정 사용자에게 개인화 되어 있으며, 따라서, 사용자의 개인 정보를 포함하고 있는 경우가 있을 수 있다. 따라서, 서버(20)는 판매될 캐릭터에 저장된 사용자의 개인 정보를 삭제하고 판매 절차를 진행할 수 있다.
일 실시예로, 서버(20)는 판매자의 개인 정보를 삭제하는 것뿐만 아니라, 판매자의 개인 정보와 관련된 학습 내용을 함께 삭제 할 수 있음은 물론이다.
나아가, 서버(20)는 요약 정보를 생성하기 위한 클러스터링을 수행함에 있어서도, 학습데이터의 내용 중 사용자의 개인 정보와 관련된 내용을 삭제하고 클러스터링을 수행할 수 있음은 물론이다.
도 7은 본 발명의 일 실시예에 따른 지식 공유 플랫폼에 등록된 데이터가 저작권에 위반되는지 여부를 판단하는 방법을 설명하기 위한 흐름도이다.
단계 S510에서, 적어도 하나의 데이터가 APK 파일 및 패키지 중 적어도 하나에 대한 데이터인 경우 서버(20)는 서버(20)에 등록된 복수의 데이터 중 APK 파일 또는 패키지와 기 설정된 비율 이상 매칭되는 데이터가 존재하는지 판단할 수 있다.
단계 S520에서, 서버(20)는 매칭되는 데이터가 존재하는 경우(S520-Y) 단계 S530의 방법을, 매칭되는 데이터가 존재하지 않는 경우(S520-N) 단계 S540의 방법을 수행할 수 있다.
단계 S530에서, 서버(20)는 APK 파일 또는 패키지가 저작권에 위반됨을 알리는 메시지를 판매자 단말(10)로 전송할 수 있다.
다만, 서버(20)는 기 설정된 비율 이상 매칭되는 데이터의 등록자와 판매자 단말(10)의 사용자가 동일 인물인지 여부를 판단할 수 있다. 기 등록된 데이터의 등록자와 판매자 단말(10)의 사용자가 동일 인물인 경우, 서버(20)는 저작권에 위배됨을 알리는 메시지 대신, 기 등록한 저작물과 유사한 저작물임을 가이드하는 메시지를 전송할 수 있다.
단계 S540에서, 서버(20)는, APK 파일 또는 패키지를 저작권 등록할 것을 안내하는 메시지를 판매자 단말(10)로 전송할 수 있다.
도 8은 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 거래되는 데이터의 가격을 판단하는 방법을 설명하기 위한 흐름도이다.
단계 S610에서, 서버(20)는 등록된 복수의 데이터를 클러스터링하여 복수의 클러스터를 획득할 수 있다.
이때, 서버(20)는 코딩교육게임 관리 모듈(21), 캐릭터 관리 모듈(22), 프로그래밍파일 관리 모듈(23), 프로그래밍 명령어 관리 모듈(24) 및 2D/3D 디자인 관리 모듈(25) 각각에 대한 복수의 데이터를 클러스터링 할 수 있다. 즉, 서버(20)는 코딩교육게임 관리 모듈(21)에 포함된 데이터를 클러스터링하고, 캐릭터 관리 모듈(22)에 포함된 데이터를 클러스터링하고, 프로그래밍파일 관리 모듈(23)에 포함된 데이터를 클러스터링하고, 프로그래밍 명령어 관리 모듈(24)에 포함된 데이터를 클러스터링하고 및 2D/3D 디자인 관리 모듈(25)에 포함된 데이터를 클러스터링할 수 있다. 즉, 서버(20)는 각각의 모듈이 관리하는 데이터를 독립적으로 클러스터링 할 수 있다.
다만, 이에 한정되는 것은 아니며, 서버(20)는 코딩교육게임 관리 모듈(21), 캐릭터 관리 모듈(22), 프로그래밍파일 관리 모듈(23), 프로그래밍 명령어 관리 모듈(24) 및 2D/3D 디자인 관리 모듈(25)이 관리하는 모든 데이터를 클러스터링하여 클러스터를 생성할 수도 있음은 물론이다.
단계 S620에서, 서버(20)는 수신된 적어도 하나의 데이터가 포함된 제1 클러스터를 판단할 수 있다.
단계 S630에서, 서버(20)는 제1 클러스터에 포함된 복수의 데이터의 가격 및 판매 횟수를 바탕으로 수신된 적어도 하나의 데이터의 가격을 판단할 수 있다.
즉, 서버(20)는 클러스터를 생성하여 유사한 데이터들을 분류하고, 판매자 단말(10)이 등록하려는 데이터와 유사한 데이터가 얼마나 있는지 여부에 따라 데이터의 가격을 판단할 수 있다. 예를 들어, 유사한 데이터의 수가 많은 경우, 데이터의 가격은 낮아질 수 있다.
다만, 본 발명에 따른 다양한 실시예에 따라, 제1 클러스터에 포함된 데이터 수와 함께 다양한 요소가 고려되어 데이터의 가격이 결정될 수 있음은 물론이다.
일 실시예로, 데이터의 가격은 제1 클러스터에 포함된 데이터의 수, 각각의 데이터의 가격 및 각각의 데이터의 판매량을 바탕으로 결정될 수 있다. 구체적으로, 데이터의 가격은, 제1 클러스터에 포함된 데이터의 수 및 나머지 클러스터 각각에 포함된 각각의 데이터의 수를 바탕으로 산출된 제1 가중치를 획득하는 단계, 제1 클러스터에 포함된 데이터 각각의 판매량과 데이터 각각의 가격을 바탕으로 결정된 제1 가격 지표를 획득하는 단계 및 제1 가중치 및 제1 가격 지표를 바탕으로 데이터의 가격을 결정하는 단계를 포함할 수 있다.
이때, 제1 클러스터에 포함된 데이터의 수 및 나머지 클러스터 각각에 포함된 각각의 데이터의 수를 바탕으로 산출된 제1 가중치를 획득하는 단계는 각각의 클러스터의 데이터의 수를 바탕으로 결정될 수 있다. 예를 들어, 제1 클러스터의 데이터가 100개, 제2 클러스터의 데이터가 50개, 제3 클러스터의 데이터가 10개인 경우, 제1 클러스터에 대한 가중치는 0.01, 제2 클러스터에 대한 가중치는 0.02, 제3 클러스터에 대한 가중치는 0.1일 수 있다. 즉, 서버(20)는 클러스터에 포함된 데이터의 수가 많을수록, 가중치의 값을 낮게 설정할 수 있다.
한편, 제1 클러스터에 포함된 데이터 각각의 판매량과 데이터 각각의 가격을 바탕으로 결정된 제1 가격 지표를 획득하는 단계는 다양한 방법으로 결정될 수 있다.
일 실시예로, 서버(20)는 데이터 각각에 대한 판매 가격을 바탕으로 데이터 가격에 대한 평균값 및 분산값을 획득하고, 데이터 각각에 대한 판매량을 바탕으로 데이터 판매량에 대한 평균값 및 분산값을 획득할 수 있다.
데이터 각각에 대한 가격에 대한 분산값이 기 설정된 값 이하인 경우, 서버(20)는 데이터 각각에 대한 가격에 대한 평균값을 바탕으로 판매자 단말(10)이 전송한 데이터의 제1 가격 지표를 산출할 수 있다. 즉, 서버(20)는 제1 클러스터에 포함된 데이터들의 가격 차이가 크지 않은 경우, 모든 데이터를 바탕으로 제1 가격 지표를 획득할 수 있다.
그러나, 데이터 각각에 대한 가격에 대한 분산값이 기 설정된 값 초과인 경우, 서버(20)는 분산값을 바탕으로 제1 가격 지표 산출에 제외할 데이터를 결정하고, 결정된 데이터에 대한 가격을 제외하고 제1 가격 지표를 산출할 수 있다. 예를 들어, 서버(20)는 분산값을 바탕으로 상위 n% 및 하위 n%의 가격을 가지는 데이터를 제외하고, 나머지 데이터들의 가격에 대한 평균값을 바탕으로 판매자 단말(10)이 전송한 데이터의 제1 가격 지표를 산출할 수 있다. 즉, 서버(20)는 제1 클러스터에 포함된 데이터들의 가격 차이가 큰 경우, 가격 차이가 많이 나는 데이터를 제외하여 제1 가격 지표를 획득할 수 있다.
나아가, 서버(20)는 판매량에 대한 정보를 더 고려하여 제1 가격 지표를 결정할 수 있음은 물론이다. 일 실시예로, 데이터 각각에 대한 판매량에 대한 분산값이 기 설정된 값 이하인 경우, 서버(20)는 데이터 각각에 대해 산출된 제1 가격 지표를 그대로 사용할 수 있다.
그러나, 데이터 각각에 대한 판매량에 대한 분산값이 기 설정된 값 이상인 경우, 서버(20)는 분산값을 바탕으로 제1 가격 지표 산출에 사용할 데이터를 결정하고, 결정된 데이터를 바탕으로 제1 가격 지표를 산출할 수 있다. 예를 들어, 서버(20)는 분산값을 바탕으로 상위 n%의 판매량을 가지는 데이터를 제1 가격지표 산출에 필요한 데이터로 결정하고, 결정된 데이터들의 가격의 평균값을 바탕으로 판매자 단말(10)이 전송한 데이터의 제1 가격 지표를 산출할 수 있다. 즉, 서버(20)는 제1 클러스터에 포함된 데이터들 중, 판매량이 많은 데이터를 바탕으로 제1 가격 지표를 획득할 수 있다.
또 다른 실시예로, 서버(20)는 데이터의 판매량에 따라 서로 다른 가중치를 적용하여 제1 가격 지표를 결정할 수도 있음은 물론이다.
도 9는 본 발명의 일 실시예에 따른 지식 공유 플랫폼에서 데이터 거래시, 플랫폼에게 지급되는 수수료를 판단하는 방법을 설명하기 위한 흐름도이다.
단계 S710에서, 서버(20)는 제1 클러스터에 포함된 복수의 데이터의 개수 및 판단된 적어도 하나의 데이터의 가격을 바탕으로 플랫폼 수수료를 판단할 수 있다. 나아가, 서버(20)는 제1 클러스터의 데이터들의 판매량을 바탕으로 플랫폼 수수료를 판단할 수 있음은 물론이다.
일 실시예로, 서버(20)는 제1 클러스터에 포함된 데이터의 개수 및 제1 클러스터에 포함된 데이터의 판매량에 비례하여 플랫폼 수수료를 판단할 수 있다. 즉, 클러스터에 포함된 데이터의 개수 및 판매량이 많은 경우, 해당 분야에 대한 데이터의 거래가 활발하다는 것을 의미하므로, 서버(20)는 플랫폼 수수료를 높게 책정할 수 있다. 다만, 데이터의 개수 및 데이터의 판매량에 비례하여 플랫폼 수수료를 판단하는 경우, 관계자의 악의적인 데이터 등록 행위에 따라 플랫폼 수수료가 높게 책정될 수 있다는 문제점이 존재할 수 있다. 따라서, 본 발명에 따른 또 다른 실시예로, 서버(20)는 데이터의 개수 및 데이터의 판매량의 관계에 따라 플랫폼 수수료를 판단할 수 있다. 예를 들어, 서버(20)는 데이터의 개수 및 데이터의 판매량에 기초하여 플랫폼 수수료를 판단하되, 기 설정된 횟수 이상 판매된 데이터들만은 데이터의 개수로 판단할 수 있다. 즉, 서버(20)는 기 설정된 횟수 이하로 판매된 데이터는 무시하고, 플랫폼 수수료를 판단할 수 있다.
단계 S720에서, 구매자 단말(30)이 상기 적어도 하나의 데이터를 구매하면, 적어도 하나의 데이터에 대해 판단된 플랫폼 수수료를 플랫폼에 지급할 수 있다. 이때, 플랫폼 수수료는 데이터 가격에 대한 일정 비율일 수 있음은 물론이다.
한편, 본 발명의 다양한 실시예에 따라, 복수의 데이터는 현금을 이용하여 결제되거나, 플랫폼에서 사용되는 포인트를 이용하여 결제되거나, 블록체인 기반의 가상화폐를 이용하여 결제될 수 있다. 플랫폼에서 사용되는 포인트는 이커머스 시장과 연계될 수 있음은 물론이다.
한편, 일 실시예에 따라 코딩교육게임 관리 모듈(21), 캐릭터 관리 모듈(22), 프로그래밍파일 관리 모듈(23), 프로그래밍 명령어 관리 모듈(24) 및 2D/3D 디자인 관리 모듈(25)은 서로 다른 종류의 포인트를 사용할 수 있다. 이때, 각각의 모듈에서 관리되는 포인트는 서로 연동되어 환전될 수 있다. 각각의 모듈에 따른 환전 비율은 상술한 바와 같이, 각각의 모듈이 관리하는 데이터의 수나 판매량 등을 바탕으로 결정될 수 있으나, 이에 한정되는 것은 아니고, 데이터 생성에 투입된 시간과 비용 등을 바탕으로 결정될 수도 있음은 물론이다.
한편, 본 발명에 따른 플랫폼은 가상 공간 상에서 구현될 수 있다. 플랫폼이 가상 공간 상에서 구현되는 경우, 판매자 단말(10) 및 구매자 단말(30)은 가상 공간을 처리 및 재생하기 위한 처리장치를 내장할 수도 있고, 외부의 처리장치와 연결되어, 처리장치로부터 수신되는 정보를 디스플레이를 이용하여 출력할 수도 있다. 외부의 처리장치는 서버(20)와 연결된 컴퓨팅 장치일 수 있다. 실시 예에 따라서, 판매자 단말(10) 및 구매자 단말(30) 서버(20)로부터 수신되는 정보에 기초하여 가상현실 영상을 출력할 수도 있다.
서버(20)는 판매자 단말(10) 및 구매자 단말(30)과 연결되고, 복수의 가상현실 장비들 각각에 컨텐츠를 전송할 수 있으며, 각각의 판매자 단말(10) 및 구매자 단말(30)은 서버(20)로부터 수신된 컨텐츠에 기초하여 가상 공간을 출력할 수 있다. 이때, 판매자 단말(10), 서버(20) 및 구매자 단말(30)은 5세대 이동통신(5G Network)를 이용하여 통신할 수 있다. 5세대 이동통신을 이용함으로써, 원활한 가상 공간이 제공될 수 있다.
일 실시예로, 가상 공간 상에서 구현되는 플랫폼에서는 캐릭터가 거래될 수 있다. 서버(20)는 가상 공간에 등록된 캐릭터를 배치할 수 있으며, 구매자 단말(30)은 가상 공간에 배치된 캐릭터의 기능을 사용해 볼 수 있다. 텍스트 또는 영상이 아닌 가상 공간에서 구현되는 캐릭터를 직접 사용해 봄으로써, 구매자 단말(30)의 사용자의 구매의욕을 더욱 높일 수 있는 효과가 존재한다.
도 10은 본 발명의 일 실시예에 따른 장치의 구성도이다.
프로세서(102)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
일 실시예에 따른 프로세서(102)는 메모리(104)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 도 1 내지 도 9와 관련하여 설명된 방법을 수행한다.
예를 들어, 프로세서(102)는 메모리에 저장된 하나 이상의 인스트럭션을 실행함으로써 신규 학습용 데이터를 획득하고, 학습된 모델을 이용하여, 상기 획득된 신규 학습용 데이터에 대한 테스트를 수행하고, 상기 테스트 결과, 라벨링된 정보가 소정의 제1 기준값 이상의 정확도로 획득되는 제1 학습용 데이터를 추출하고, 상기 추출된 제1 학습용 데이터를 상기 신규 학습용 데이터로부터 삭제하고, 상기 추출된 학습용 데이터가 삭제된 상기 신규 학습용 데이터를 이용하여 상기 학습된 모델을 다시 학습시킬 수 있다.
한편, 프로세서(102)는 프로세서(102) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(102)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(104)에는 프로세서(102)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(104)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.

Claims (10)

  1. 서버에 의해 수행되는 지식 공유 플랫폼의 제어 방법에 있어서,
    판매자 단말이 코딩 교육 컨텐츠, 캐릭터, APK 파일, 패키지 및 디자인 컨텐츠 중 적어도 하나의 데이터를 생성하는 단계;
    상기 판매자 단말이 상기 생성된 적어도 하나의 데이터를 상기 서버로 전송하는 단계;
    상기 서버가, 상기 수신된 적어도 하나의 데이터의 가격을 판단하는 단계;
    상기 서버가, 상기 수신된 적어도 하나의 데이터를 상기 플랫폼에 등록하는 단계; 및
    상기 서버가, 구매자 단말로부터 상기 적어도 하나의 데이터를 구매하기 위한 사용자 명령을 수신하면, 상기 구매자 단말로 상기 적어도 하나의 데이터를 전송하는 단계; 를 포함하는 제어 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 데이터가 캐릭터에 대한 데이터인 경우, 상기 적어도 하나의 데이터를 생성하는 단계는,
    상기 서버가, 상기 판매자 단말로부터 생성될 캐릭터에 대한 정보를 수신하여 캐릭터를 생성하는 단계;
    상기 서버가, 상기 판매자 단말로 상기 캐릭터를 학습시키기 위한 카테고리 정보를 전송하는 단계;
    상기 전송된 카테고리 정보 중 적어도 하나에 대한 카테고리 정보를 상기 판매자 단말로부터 수신하는 단계; 및
    상기 수신된 카테고리 정보를 바탕으로 캐릭터를 학습시키는 단계; 를 포함하는 제어 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 데이터가 APK 파일과 관련된 데이터인 경우,
    상기 제어 방법은,
    상기 APK 파일과 관련된 데이터로부터 적어도 하나의 패키지 데이터를 추출하는 단계; 를 포함하고,
    상기 적어도 하나의 패키지 데이터를 추출하는 단계는,
    상기 판매자 단말로부터 패키지에 대한 크기 정보, 기능 정보, 클래스 정보, 함수 정보 중 적어도 하나에 대한 조건을 수신하는 단계; 및
    상기 수신된 조건을 바탕으로 상기 APK 파일로부터 적어도 하나의 패키지 데이터를 추출하는 단계;를 포함하는 제어 방법.
  4. 제2항에 있어서,
    상기 학습시키는 단계는,
    상기 수신된 카테고리 정보에 대응되는 학습데이터 및 상기 판매자 단말로부터 수신한 학습데이터를 수신하는 단계; 및
    상기 수신된 학습데이터를 인공지능모델에 입력하여 학습시키는 단계; 를 더 포함하고,
    상기 등록하는 단계는,
    상기 적어도 하나의 데이터가 학습된 캐릭터와 관련된 데이터인 경우, 상기 인공지능모델에 입력된 학습데이터를 바탕으로 상기 캐릭터에 대한 요약 정보를 생성하는 단계; 및
    상기 요약 정보를 상기 캐릭터와 함께 등록하는 단계; 를 포함하는 제어 방법.
  5. 제1항에 있어서,
    상기 적어도 하나의 데이터가 APK 파일 및 패키지 중 적어도 하나에 대한 데이터인 경우, 상기 제어 방법은,
    상기 등록된 복수의 데이터 중 상기 APK 파일 또는 상기 패키지와 기 설정된 비율 이상 매칭되는 데이터가 존재하는지 판단하는 단계;
    상기 매칭되는 데이터가 존재하는 경우, 상기 APK 파일 또는 상기 패키지가 저작권에 위반됨을 알리는 메시지를 상기 판매자 단말로 전송하는 단계; 및
    상기 매칭되는 데이터가 존재하지 않는 경우, 상기 APK 파일 또는 상기 패키지를 저작권 등록할 것을 안내하는 메시지를 상기 판매자 단말로 전송하는 단계; 를 포함하는 제어 방법.
  6. 제1항에 있어서,
    상기 수신된 적어도 하나의 데이터의 가격을 판단하는 단계는,
    상기 등록된 복수의 데이터를 클러스터링하여 복수의 클러스터를 획득하는 단계;
    상기 수신된 적어도 하나의 데이터가 포함된 제1 클러스터를 획득하는 단계; 및
    상기 제1 클러스터에 포함된 복수의 데이터의 가격 및 판매 횟수를 바탕으로 상기 수신된 적어도 하나의 데이터의 가격을 판단하는 단계; 를 포함하는 제어 방법.
  7. 제6항에 있어서,
    상기 제어 방법은,
    상기 제1 클러스터에 포함된 복수의 데이터의 개수 및 상기 판단된 적어도 하나의 데이터의 가격을 바탕으로 플랫폼 수수료를 판단하는 단계; 및
    상기 구매자 단말이 상기 적어도 하나의 데이터를 구매하면, 상기 적어도 하나의 데이터에 대해 판단된 상기 플랫폼 수수료를 상기 플랫폼에 지급하는 단계;를 더 포함하는 것을 특징으로 하는 제어 방법.
  8. 제4항에 있어서,
    상기 요약 정보를 획득하는 단계는,
    상기 인공지능모델에 입력된 학습데이터 중, 상기 판매자 단말의 사용자 개인 정보와 관련된 학습데이터를 삭제하는 단계; 를 더 포함하는 것을 특징으로 하는 제어 방법.
  9. 하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,
    상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    제1 항의 방법을 수행하는, 장치.
  10. 하드웨어인 컴퓨터와 결합되어, 제1 항의 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된 컴퓨터프로그램.
PCT/KR2020/005062 2019-04-18 2020-04-16 지식 공유 플랫폼의 제어 방법, 장치 및 시스템 WO2020213936A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190045207A KR102059017B1 (ko) 2019-04-18 2019-04-18 지식 공유 플랫폼의 제어 방법, 장치 및 시스템
KR10-2019-0045207 2019-04-18

Publications (1)

Publication Number Publication Date
WO2020213936A1 true WO2020213936A1 (ko) 2020-10-22

Family

ID=69670627

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/005062 WO2020213936A1 (ko) 2019-04-18 2020-04-16 지식 공유 플랫폼의 제어 방법, 장치 및 시스템

Country Status (2)

Country Link
KR (1) KR102059017B1 (ko)
WO (1) WO2020213936A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102059017B1 (ko) * 2019-04-18 2020-02-17 류경희 지식 공유 플랫폼의 제어 방법, 장치 및 시스템
KR102166371B1 (ko) * 2020-05-11 2020-10-15 오한상 IoT 기반의 인공지능 마케팅 장치 및 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110123334A (ko) * 2010-05-07 2011-11-15 (주)코아블루 가상현실 교육 시스템 제작 도구 및 방법
KR101323148B1 (ko) * 2013-04-19 2013-10-30 한성대학교 산학협력단 Ucr 융합 컨텐츠 에디터 장치
KR20150144169A (ko) * 2014-06-16 2015-12-24 정병훈 교육용 컨텐츠 관리 장치 및 방법
KR101783476B1 (ko) * 2016-12-15 2017-10-10 (주) 씨이랩 원천 데이터 제공에 따른 수익 분배 및 데이터 거래 서비스 제공 방법
KR101910074B1 (ko) * 2018-05-17 2018-10-19 이희주 유아 교육 컨텐츠 제공 방법, 장치 및 컴퓨터 프로그램
KR102059017B1 (ko) * 2019-04-18 2020-02-17 류경희 지식 공유 플랫폼의 제어 방법, 장치 및 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110123334A (ko) * 2010-05-07 2011-11-15 (주)코아블루 가상현실 교육 시스템 제작 도구 및 방법
KR101323148B1 (ko) * 2013-04-19 2013-10-30 한성대학교 산학협력단 Ucr 융합 컨텐츠 에디터 장치
KR20150144169A (ko) * 2014-06-16 2015-12-24 정병훈 교육용 컨텐츠 관리 장치 및 방법
KR101783476B1 (ko) * 2016-12-15 2017-10-10 (주) 씨이랩 원천 데이터 제공에 따른 수익 분배 및 데이터 거래 서비스 제공 방법
KR101910074B1 (ko) * 2018-05-17 2018-10-19 이희주 유아 교육 컨텐츠 제공 방법, 장치 및 컴퓨터 프로그램
KR102059017B1 (ko) * 2019-04-18 2020-02-17 류경희 지식 공유 플랫폼의 제어 방법, 장치 및 시스템

Also Published As

Publication number Publication date
KR102059017B1 (ko) 2020-02-17

Similar Documents

Publication Publication Date Title
WO2019245316A1 (en) System and method for generating aspect-enhanced explainable description-based recommendations
WO2019146942A1 (ko) 전자 장치 및 그의 제어방법
WO2018093229A1 (en) Method and device applying artificial intelligence to send money by using voice input
WO2019177344A1 (en) Electronic apparatus and controlling method thereof
WO2019143227A1 (en) Electronic device providing text-related image and method for operating the same
WO2020213936A1 (ko) 지식 공유 플랫폼의 제어 방법, 장치 및 시스템
EP3545487A1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
EP3533015A1 (en) Method and device applying artificial intelligence to send money by using voice input
WO2018174443A1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
WO2019231130A1 (ko) 전자 장치 및 그의 제어방법
JP6914562B1 (ja) 情報処理システム
CN110234018A (zh) 多媒体内容描述生成方法、训练方法、装置、设备及介质
KR102071198B1 (ko) 캐릭터, 프로그래밍 파일 및 프로그래밍 명령어 관리를 위한 지식 공유 플랫폼의 제어 방법, 장치 및 시스템
CN110738070A (zh) 基于视频的行为识别方法、行为识别装置及终端设备
WO2020096255A1 (en) Electronic apparatus and control method thereof
WO2019172541A1 (en) Electronic apparatus and control method thereof
WO2022255632A1 (ko) Ux-bit를 이용한 자동 디자인 생성 인공신경망 장치 및 방법
EP3545401A1 (en) Electronic apparatus and method for summarizing content
KR102071197B1 (ko) 코딩교육 게임 컨텐츠 관리를 위한 지식 공유 플랫폼의 제어 방법, 장치 및 시스템
CN111598924B (zh) 目标跟踪方法、装置、计算机设备及存储介质
CN111598923B (zh) 目标跟踪方法、装置、计算机设备及存储介质
CN116910201A (zh) 一种对话数据生成方法及其相关设备
CN106457046A (zh) 游戏中基于多模态输入的道具购买方法及系统
CN110555207A (zh) 语句识别方法、装置、机器设备和计算机可读存储介质
KR102071199B1 (ko) 2d/3d 디자인 관리를 위한 지식 공유 플랫폼의 제어 방법, 장치 및 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20790603

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20790603

Country of ref document: EP

Kind code of ref document: A1