KR102155877B1 - Method for providing information of projects matching qualifications of crowdsourcing platform for artificial intelligence training data generation - Google Patents

Method for providing information of projects matching qualifications of crowdsourcing platform for artificial intelligence training data generation Download PDF

Info

Publication number
KR102155877B1
KR102155877B1 KR1020200034300A KR20200034300A KR102155877B1 KR 102155877 B1 KR102155877 B1 KR 102155877B1 KR 1020200034300 A KR1020200034300 A KR 1020200034300A KR 20200034300 A KR20200034300 A KR 20200034300A KR 102155877 B1 KR102155877 B1 KR 102155877B1
Authority
KR
South Korea
Prior art keywords
condition
project
information
user
group
Prior art date
Application number
KR1020200034300A
Other languages
Korean (ko)
Inventor
박민우
장정식
Original Assignee
주식회사 크라우드웍스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 크라우드웍스 filed Critical 주식회사 크라우드웍스
Priority to KR1020200034300A priority Critical patent/KR102155877B1/en
Application granted granted Critical
Publication of KR102155877B1 publication Critical patent/KR102155877B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063112Skill-based matching of a person or a group to a task
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063114Status monitoring or status determination for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Educational Administration (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Provided is a method for providing information of a project matching a participation qualification of a crowdsourcing platform for artificial intelligence training data generation which can minimize a system load. The method comprises the steps of: configuring condition list information corresponding to a participation qualification set by a manager for each of a plurality of crowdsourcing-based projects (hereinafter, projects); comparing user information and the condition list information for each of a plurality of users of a crowdsourcing platform to filter a project matching the user among the plurality of projects; and providing information on the filtered project to the user.

Description

인공지능 학습 데이터 생성을 위한 크라우드소싱 플랫폼의 참여 자격에 매칭되는 프로젝트 정보 제공 방법{METHOD FOR PROVIDING INFORMATION OF PROJECTS MATCHING QUALIFICATIONS OF CROWDSOURCING PLATFORM FOR ARTIFICIAL INTELLIGENCE TRAINING DATA GENERATION}How to provide project information matching the qualifications for participation in the crowdsourcing platform for generating AI learning data {METHOD FOR PROVIDING INFORMATION OF PROJECTS MATCHING QUALIFICATIONS OF CROWDSOURCING PLATFORM FOR ARTIFICIAL INTELLIGENCE TRAINING DATA GENERATION}

본 발명은 인공지능 학습 데이터 생성을 위한 크라우드소싱 플랫폼의 참여 자격에 매칭되는 프로젝트 정보 제공 방법에 관한 것이다.The present invention relates to a method of providing project information matching the participation qualification of a crowdsourcing platform for generating artificial intelligence learning data.

최근, 기업 활동의 일부 과정에 일반 대중을 참여시키는 크라우드소싱 기반으로 많은 양의 데이터를 수집 및 가공하는 기업들이 늘고 있다. 즉, 기업은 하나의 프로젝트를 오픈하여 일반 대중, 즉 작업자가 해당 프로젝트에 참여하게 함으로써, 작업자에 의해 완료된 작업 결과를 통해 필요한 정보를 수집하게 된다.Recently, more and more companies collect and process large amounts of data on a crowdsourcing basis that engages the general public in some process of corporate activities. In other words, by opening a project and allowing the general public, that is, workers to participate in the project, necessary information is collected through the work results completed by the workers.

이때, 기업은 보다 신뢰도가 높은 정보를 수집하기 위해, 작업자에 의해 완료된 작업 결과를 검수자에게 배정하여 검수 작업을 수행하도록 한다.At this time, in order to collect more reliable information, the company assigns the work result completed by the worker to the inspector to perform the inspection work.

구체적으로, 하나의 프로젝트가 오픈되면, 복수의 작업자 각각에게 복수의 작업이 배정된다. 각각의 작업자는 배정받은 복수의 작업을 수행하고, 작업 결과를 제공한다. 이후, 복수의 검수자 각각에게 작업 결과에 대한 복수의 검수 작업이 배정되고, 각각의 검수자는 배정받은 복수의 검수 작업을 수행하게 된다.Specifically, when one project is opened, a plurality of tasks are assigned to each of the plurality of workers. Each worker performs a plurality of tasks assigned to it, and provides the task results. Thereafter, a plurality of inspection tasks are assigned to each of the plurality of inspectors, and each inspector performs a plurality of inspection tasks assigned to them.

한편, 작업자 또는 검수자는 위와 같은 특정 프로젝트에 참여하기 위해 복수의 프로젝트를 포함하는 프로젝트 목록을 제공받은 후 자신에게 적합한 프로젝트를 선택해야 한다. Meanwhile, in order to participate in a specific project as described above, a worker or inspector must select a project that is suitable for them after being provided with a list of projects including multiple projects.

이때, 크라우드소싱 서비스에서 제공되는 모든 프로젝트를 포함한 프로젝트 목록이 작업자 또는 검수자에게 제공될 경우, 작업자 또는 검수자는 자신에게 적합한 프로젝트를 일일이 확인한 후 선택해야만 하는 번거로움이 있다.At this time, if a project list including all projects provided by the crowdsourcing service is provided to a worker or an inspector, the operator or inspector has the trouble of having to select a project that is suitable for him after checking each one.

또한, 크라우드소싱 서비스 입장에서도 부적합한 작업자 또는 검수자가 프로젝트에 참여하지 않도록 각각의 프로젝트별로 참여 자격을 제한할 필요가 있다. 그러나, 전체 프로젝트의 개수와 작업자 및 검수자의 수가 많을 경우, 위와 같은 참여 자격별 필터링은 실시간성을 확보하기 어려우며, 시스템에 많은 부하를 가져오게 되는 문제가 있다.In addition, from the standpoint of crowdsourcing services, it is necessary to restrict participation qualifications for each project so that inappropriate workers or inspectors do not participate in the project. However, when the number of total projects and the number of workers and inspectors is large, filtering by participation qualification as described above is difficult to secure real-time, and there is a problem in that a large load is placed on the system.

공개특허공보 제10-2014-0095956호, 2014.08.04.Unexamined Patent Publication No. 10-2014-0095956, 2014.08.04.

본 발명이 해결하고자 하는 과제는 작업자 또는 검수자에게 참여 자격에 매칭되는 프로젝트 정보를 제공함에 있어서 실시간성을 확보하면서 시스템 부하를 최소화시킬 수 있는 방법을 제공하는 것이다.The problem to be solved by the present invention is to provide a method for minimizing system load while securing real-time performance in providing project information matching the qualifications for participation to workers or inspectors.

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

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 방법은, 복수의 크라우드소싱 기반 프로젝트(이하, 프로젝트) 각각에 대해서 관리자에 의해 설정된 참여 자격에 상응하는 조건 목록 정보를 구성하는 단계, 크라우드소싱 플랫폼의 복수의 사용자 각각에 대해서 사용자 정보와 상기 조건 목록 정보를 비교하여 상기 복수의 프로젝트 중 상기 사용자에게 매칭되는 프로젝트를 필터링하는 단계, 및 상기 사용자에게 상기 필터링된 프로젝트에 관한 정보를 제공하는 단계를 포함하고, 상기 조건 목록 정보는 하나 이상의 조건 요소 정보로 구성되고, 상기 조건 요소 정보는 당해 조건 요소가 속하는 조건 그룹의 고유 식별자, 당해 조건 요소의 카테고리 및 범주 값을 포함하고, 상기 조건 그룹은 하나의 조건 요소 또는 논리곱(AND) 연산으로 연결된 하나 이상의 조건 요소의 집합이고, 상기 복수의 프로젝트 중 상기 사용자에게 매칭되는 프로젝트를 필터링하는 단계는, 상기 사용자 정보와 상기 조건 목록 정보의 상기 하나 이상의 조건 요소 정보를 비교하는 단계와, 상기 사용자 정보와 상기 조건 요소 정보의 비교 결과에 따라, 상기 사용자가 특정 조건 요소를 충족하지 않을 경우 상기 사용자가 상기 특정 조건 요소가 속하는 조건 그룹을 충족하지 않는 것으로 판별하는 단계와, 상기 조건 그룹의 판별 결과에 따라, 상기 복수의 프로젝트 중 상기 사용자에게 매칭되는 프로젝트를 필터링하는 단계를 포함한다.A method according to an aspect of the present invention for solving the above-described problem is the step of configuring condition list information corresponding to participation qualifications set by a manager for each of a plurality of crowdsourcing-based projects (hereinafter, projects), crowdsourcing Comparing user information and the condition list information for each of a plurality of users of the platform, filtering a project matching the user among the plurality of projects, and providing information on the filtered project to the user. The condition list information is composed of one or more condition element information, the condition element information includes a unique identifier of a condition group to which the condition element belongs, a category and a category value of the condition element, and the condition group is one A condition element of, or a set of one or more condition elements connected by an AND operation, and filtering a project matching the user among the plurality of projects includes the user information and the one or more conditions of the condition list information Comparing element information, and determining that the user does not satisfy a condition group to which the specific condition element belongs when the user does not satisfy a specific condition element according to a result of comparing the user information and the condition element information And filtering a project matching the user among the plurality of projects according to the determination result of the condition group.

본 발명의 일부 실시예에서, 상기 조건 요소 정보는 당해 조건 요소가 속하는 조건 그룹의 크기(CS)를 더 포함하고, 상기 CS는 당해 조건 그룹을 구성하는 하나 이상의 조건 요소의 개수이고, 상기 사용자가 특정 조건 요소를 충족하지 않을 경우 상기 사용자가 상기 특정 조건 요소가 속하는 조건 그룹을 충족하지 않는 것으로 판별하는 단계는, 상기 사용자 정보와 상기 조건 요소 정보의 비교 결과에 따라, 상기 사용자가 충족하는 조건 요소를 필터링하고, 상기 조건 그룹의 고유 식별자를 이용하여 상기 필터링된 조건 요소가 속하는 조건 그룹별로 상기 필터링된 조건 요소를 그루핑하고, 상기 조건 그룹별로 상기 필터링된 조건 요소의 개수와 상기 조건 그룹의 CS를 비교하고, 상기 조건 그룹별 비교 결과에 따라, 상기 사용자가 충족하지 않는 조건 그룹을 판별하는 것을 포함한다.In some embodiments of the present invention, the condition element information further includes a size (CS) of a condition group to which the condition element belongs, and the CS is the number of one or more condition elements constituting the condition group, and the user When the specific condition element is not satisfied, the determining that the user does not satisfy the condition group to which the specific condition element belongs may include a condition element that the user satisfies according to a comparison result of the user information and the condition element information. And grouping the filtered condition elements for each condition group to which the filtered condition element belongs using the unique identifier of the condition group, and calculating the number of the filtered condition elements and the CS of the condition group for each condition group. And determining a condition group not satisfied by the user according to the comparison result for each condition group.

또한, 상기 상기 조건 그룹별로 상기 필터링된 조건 요소의 개수와 상기 조건 그룹의 CS를 비교하는 것은, 상기 조건 요소의 개수의 제곱과 상기 필터링된 조건 요소의 조건 요소 정보의 CS의 합을 비교한다.In addition, comparing the number of the filtered condition elements for each condition group and the CS of the condition group is to compare the sum of the square of the number of condition elements and the CS of condition element information of the filtered condition element.

또한, 상기 조건 요소 정보는 당해 조건 요소에 상응하는 프로젝트의 고유 식별자를 더 포함하고, 상기 조건 그룹의 고유 식별자를 이용하여 상기 필터링된 조건 요소가 속하는 조건 그룹별로 상기 필터링된 조건 요소를 그루핑하는 것은, 상기 프로젝트의 고유 식별자 및 상기 조건 그룹의 고유 식별자를 이용하여 상기 필터링된 조건 요소가 속하는 프로젝트 및 조건 그룹별로 상기 필터링된 조건 요소를 그루핑한다.In addition, the condition element information further includes a unique identifier of a project corresponding to the condition element, and grouping the filtered condition element by condition group to which the filtered condition element belongs by using the unique identifier of the condition group And the filtered condition elements are grouped for each project and condition group to which the filtered condition element belongs using the unique identifier of the project and the unique identifier of the condition group.

본 발명의 일부 실시예에서, 상기 참여 자격은, 국적, 연령, 성별, 출생지, 거주지, 외국어 능력, 등급, 프로젝트 이력 중 적어도 하나에 관한 자격을 포함한다.In some embodiments of the present invention, the qualification for participation includes qualification for at least one of nationality, age, gender, place of birth, place of residence, foreign language ability, grade, and project history.

본 발명의 일부 실시예에서, 상기 참여 자격은 상기 프로젝트의 작업자에 관한 참여 자격 또는 상기 프로젝트의 검수자에 관한 참여 자격을 포함한다.In some embodiments of the present invention, the participation qualification includes a participation qualification for a worker of the project or a participation qualification for a reviewer of the project.

본 발명의 일부 실시에에서, 상기 참여 자격에 상응하는 조건은 논리합(OR) 연산으로 연결된 하나 이상의 상기 조건 그룹의 집합으로 정의된다.In some embodiments of the present invention, the condition corresponding to the participation qualification is defined as a set of at least one condition group connected by an OR operation.

본 발명의 일부 실시예에서, 상기 사용자 정보는, 상기 사용자의 국적, 연령, 성별, 출생지, 거주지, 외국어 능력, 등급, 프로젝트 이력 중 적어도 하나에 관한 정보를 포함한다.In some embodiments of the present invention, the user information includes information on at least one of the user's nationality, age, sex, place of birth, residence, foreign language ability, grade, and project history.

본 발명의 일부 실시예에서, 상기 사용자에게 상기 필터링된 프로젝트에 관한 정보를 제공하는 단계는, 상기 사용자가 상기 크라우드소싱 플랫폼에 로그인하면, 상기 사용자에게 상기 필터링된 프로젝트에 관한 정보를 참여 가능 프로젝트 목록으로 제공한다.In some embodiments of the present invention, the providing of the information on the filtered project to the user includes, when the user logs in to the crowdsourcing platform, the information on the filtered project can be included in the project list Provided by

상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 컴퓨터 프로그램은, 하드웨어인 컴퓨터와 결합되어 상술한 방법들을 실행하며, 컴퓨터 판독가능 기록매체에 저장된다.A computer program according to another aspect of the present invention for solving the above-described problems is combined with a computer as hardware to execute the above-described methods, and is stored in a computer-readable recording medium.

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

상술한 본 발명에 의하면, 작업자 또는 검수자에게 참여 자격에 매칭되는 프로젝트 정보를 제공함에 있어서 복잡도가 높은 논리 매칭 문제를 일반적인 데이터베이스에서 제공하는 필터 기능과 그룹 기능을 활용함으로써 실시간성을 확보하면서 동시에 시스템 부하를 최소화시킬 수 있다.According to the present invention described above, in providing project information matching the qualifications for participation to a worker or inspector, the problem of logical matching with high complexity is solved by using a filter function and a group function provided in a general database, thereby securing real-time and simultaneously system load. Can be minimized.

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

도 1은 본 발명의 일 실시예에 따른 크라우드소싱 서비스의 개념도이다.
도 2는 본 발명의 일 실시예에 따른 크라우드소싱 기반의 프로젝트의 진행 프로세스를 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 프로젝트 정보 제공 방법의 순서도이다.
도 4는 예시적인 프로젝트의 조건 목록 정보를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 프로젝트 정보 제공 방법의 프로젝트 필터링 단계의 순서도이다.
도 6은 예시적인 사용자가 충족하는 조건 요소를 필터링하는 것을 설명하기 위한 도면이다.
도 7은 예시적인 조건 그룹별로 필터링된 조건 요소를 그루핑하는 것을 설명하기 위한 도면이다.
도 8은 예시적인 조건 그룹별로 사용자가 충족하는지 여부를 판단하는 것을 설명하기 위한 도면이다.
도 9는 프로젝트의 고유 식별자를 더 포함하는 예시적인 프로젝트의 조건 목록 정보를 설명하기 위한 도면이다.
1 is a conceptual diagram of a crowdsourcing service according to an embodiment of the present invention.
2 is a flowchart illustrating a crowdsourcing-based project progress process according to an embodiment of the present invention.
3 is a flowchart of a method for providing project information according to an embodiment of the present invention.
4 is a diagram for describing condition list information of an exemplary project.
5 is a flowchart of a project filtering step in a method for providing project information according to an embodiment of the present invention.
6 is a diagram for describing filtering of condition elements that are satisfied by an exemplary user.
FIG. 7 is a diagram for explaining grouping of condition elements filtered for each exemplary condition group.
8 is a diagram for explaining determining whether a user meets each exemplary condition group.
9 is a diagram for describing example project condition list information further including a project unique identifier.

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

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

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

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

도 1은 본 발명의 일 실시예에 따른 크라우드소싱 서비스의 개념도이다.1 is a conceptual diagram of a crowdsourcing service according to an embodiment of the present invention.

도 1을 참조하면, 크라우드소싱 서비스는 의뢰자(10), 서비스 제공 업체(20) 및 대중(30)으로 구성되어 수행된다.Referring to FIG. 1, a crowdsourcing service is performed by being composed of a client 10, a service provider 20, and a public 30.

의뢰자(10)는 크라우드소싱 기반의 프로젝트(이하, 프로젝트)를 의뢰하는 기업이나 개인을 의미한다.The sponsor 10 refers to a company or individual who requests a crowdsourcing-based project (hereinafter, referred to as a project).

의뢰자(10)는 인공지능 학습데이터의 생성을 위한 소스 데이터의 수집 또는 데이터 어노테이션 등을 목적으로 프로젝트를 의뢰한다. 프로젝트를 통해서 생성된 데이터는 지도 학습, 비지도 학습, 강화 학습 등의 임의의 기계 학습의 학습데이터로 활용될 수 있다. 소스 데이터의 수집은 녹음된 음성 수집, 사진 수집 등 가공되지 않은 데이터를 수집하는 것을 의미한다. 데이터 어노테이션은 텍스트, 사진, 비디오 등의 소스 데이터에 관련 주석 데이터를 입력하는 것을 의미한다. 예들 들어, 데이터 어노테이션은 주어진 지문에서 개체를 찾는 것, 유사한 문장을 찾는 것 등이 있을 수 있으나 이에 제한되지 않는다. 한편, 전술한 프로젝트의 종류는 일 실시예에 불과하며, 의뢰자의 설계에 따라 다양한 프로젝트가 본 발명에서 취급될 수 있다.The requester 10 requests a project for the purpose of collecting source data or annotating data for generating artificial intelligence learning data. The data generated through the project can be used as learning data for arbitrary machine learning such as supervised learning, unsupervised learning, and reinforcement learning. Collection of source data refers to collecting raw data such as recorded voice collection and photo collection. Data annotation refers to inputting relevant annotation data into source data such as text, photos, and videos. For example, the data annotation may include finding an entity in a given fingerprint or finding a similar sentence, but is not limited thereto. Meanwhile, the types of the above-described projects are only one embodiment, and various projects may be handled in the present invention according to the design of the client.

서비스 제공 업체(20)는 크라우드소싱 서비스를 제공하는 기업을 의미한다.The service provider 20 refers to a company that provides crowdsourcing services.

서비스 제공 업체(20)는 의뢰자(10)로부터 제품 또는 서비스에 대한 프로젝트를 의뢰 받으면, 해당 프로젝트에 대한 작업을 일반 대중(30)에게 배정하여 대중(30)으로부터 작업 결과를 제공받는다. 이후, 작업 결과를 기반으로 추출된 최종 산출물을 의뢰자(10)에게 제공한다.When the service provider 20 receives a request for a project for a product or service from the client 10, the service provider 20 allocates a task for the project to the general public 30 and receives the work result from the public 30. Thereafter, the final product extracted based on the work result is provided to the client 10.

이때, 서비스 제공 업체(20)는 크라우드소싱 플랫폼(이하, 플랫폼)을 통해 의뢰자(10) 및 대중(30)에게 크라우드소싱 서비스를 제공한다. 즉, 서비스 제공 업체(20)는 의뢰자(10)로부터 프로젝트를 의뢰 받으면, 플랫폼에 프로젝트를 오픈한다. 이후, 대중(30)으로부터 오픈된 프로젝트에 대한 작업 결과를 제공받으면, 해당 프로젝트를 플랫폼 상에서 종료하고, 최종 산출물을 추출하여 의뢰자(10)에게 제공할 수 있다.At this time, the service provider 20 provides a crowdsourcing service to the client 10 and the public 30 through a crowdsourcing platform (hereinafter, the platform). That is, when the service provider 20 receives a request for a project from the client 10, the service provider 20 opens the project on the platform. Thereafter, when the work result for the open project is received from the public 30, the project is terminated on the platform, and the final product may be extracted and provided to the client 10.

대중(30)은 플랫폼에 오픈된 프로젝트에 참여하는 일반 대중을 의미한다. 여기서, 대중(30)은 서비스 제공 업체(20)가 제공하는 애플리케이션 또는 웹사이트 등을 통해 플랫폼에 오픈된 프로젝트에 참여할 수 있다. 대중(30) 중 플랫폼에 가입 또는 등록하여 프로젝트에 참여 가능한 사람을 사용자(또는 회원)라고 부르기로 한다. 그리고, 사용자 중 프로젝트에 참여하고 있는는 사람을 참여자라고 부르기로 한다.The public 30 refers to the general public participating in the project open on the platform. Here, the public 30 may participate in a project opened on the platform through an application or website provided by the service provider 20. Among the public 30, a person who can join or register on the platform and participate in the project is called a user (or member). And, among the users, the person who is participating in the project is called a participant.

참여자는 작업자(32) 및 검수자(34)로 구성된다.Participants are composed of a worker 32 and an inspector 34.

작업자(32)는 플랫폼에 오픈된 복수의 프로젝트 중 특정 프로젝트에 참여를 결정한다. 이후, 작업자(32)는 소스 데이터의 수집 또는 데이터 어노테이션 등의 작업을 수행하고, 이를 플랫폼에 전송한다.The worker 32 decides to participate in a specific project among a plurality of projects open on the platform. Thereafter, the operator 32 performs an operation such as collection of source data or data annotation, and transmits it to the platform.

검수자(34)는 플랫폼에 오픈된 복수의 프로젝트 중 특정 프로젝트에 참여를 결정한다. 이후, 검수자(34)는 작업자(32)가 수행한 작업 결과에 대한 검수를 수행한다. 검수자(34)는 검수 수행 결과로서, 검수 통과 처리 또는 반려 처리를 할 수 있고, 반려 처리시 반려 사유를 입력할 수 있다. 검수 통과의 경우 재작업과 이로 인한 재검수가 필요하지 않으므로, 검수 통과는 검수 완료와 동일한 의미를 가진다.The inspector 34 decides to participate in a specific project among a plurality of projects open on the platform. Thereafter, the inspector 34 inspects the result of the work performed by the operator 32. As a result of performing the inspection, the inspector 34 may perform inspection pass processing or rejection processing, and input a rejection reason during rejection processing. In the case of passing the inspection, it is not necessary to rework and re-examination due to this, so passing inspection has the same meaning as completion of inspection.

도 2는 본 발명의 일 실시예에 따른 크라우드소싱 기반의 프로젝트의 진행 프로세스를 설명하기 위한 흐름도이다. 2 is a flowchart illustrating a crowdsourcing-based project progress process according to an embodiment of the present invention.

먼저, 의뢰자(10)는 서비스 제공 업체(20)로 하나 이상의 프로젝트를 의뢰한다(S11).First, the requester 10 requests one or more projects to the service provider 20 (S11).

이후, 서비스 제공 업체(20)는 의뢰된 프로젝트를 플랫폼 상에 오픈한다(S12). 이때, 서비스 제공 업체(20)는 프로젝트 오픈 전에, 해당 프로젝트의 난이도 등을 고려하여 등급을 결정할 수 있다. 즉, 난이도에 따라 어떤 등급 이상의 사용자에게 해당 프로젝트를 노출시킬지를 결정할 수 있다. 이에 따라, 프로젝트의 작업 결과의 신뢰도를 높일 수 있게 된다. Thereafter, the service provider 20 opens the requested project on the platform (S12). At this time, the service provider 20 may determine the grade in consideration of the difficulty of the project before opening the project. In other words, depending on the difficulty level, you can determine which level or higher users will be exposed to the project. Accordingly, it is possible to increase the reliability of the work result of the project.

또한, 서비스 제공 업체(20)는 후술하는 바와 같이, 소정의 조건이 요구되는 프로젝트의 경우 상기 등급을 포함하는 참여 자격을 결정할 수 있다. 그리고, 작업자(32)의 자격에 따라 전체 프로젝트 중 적합한 프로젝트만 개별 사용자에게 노출되게끔 함으로써, 신뢰도 향상과 더불어 사용자가 작업자로 참여할 프로젝트를 용이하게 선택하도록 할 수 있다.In addition, as will be described later, the service provider 20 may determine participation qualifications including the above grades in the case of projects requiring predetermined conditions. In addition, by exposing only suitable projects to individual users among all projects according to the qualifications of the worker 32, it is possible to improve reliability and facilitate the user to select a project to participate as a worker.

이후, 서비스 제공 업체(20)는 프로젝트의 등급 또는 참여 자격 등을 충족하는 작업자(32)에게 작업을 할당하여 작업 요청한다(S13).Thereafter, the service provider 20 allocates a task to the worker 32 that satisfies the level or participation qualification of the project and requests the task (S13).

이후, 작업자(32)는 할당된 작업을 수행하게 된다(S14). 이때, 작업자(32)는 어떤 이유에 의해 작업 자체가 불가능한 작업에 대해서는 작업을 수행하지 않고 작업 불가 사유를 입력할 수 있다. Thereafter, the worker 32 performs the assigned task (S14). In this case, the worker 32 may input the reason for the inability to work without performing the work for a work in which the work itself is impossible for some reason.

이후, 서비스 제공 업체(20)는 작업자(32)로부터 작업 결과를 제공받고(S15), 해당 작업 결과에 대한 검수 작업을 검수자(34)에게 할당하여 검수 요청한다(S16).Thereafter, the service provider 20 receives the work result from the worker 32 (S15), and assigns the work result to the inspector 34 to request the inspection (S16).

마찬가지로 서비스 제공 업체(20)는 후술하는 바와 같이, 검수자(34)의 자격에 따라 전체 프로젝트 중 적합한 프로젝트만 개별 사용자에게 노출되게끔 함으로써, 신뢰도 향상과 더불어 사용자가 검수자로 참여할 프로젝트를 용이하게 선택하도록 할 수 있다.Similarly, as described later, the service provider 20 makes it possible for users to easily select a project to participate as an inspector in addition to improving reliability by exposing only suitable projects to individual users among all projects according to the qualification of the inspector 34, as described later. can do.

이후, 검수자(34)는 할당된 검수를 수행하게 된다(S17). 이때, 검수자(34)는 작업이 적합하게 수행된 것으로 판단하면 검수 완료를 결정하고, 검수 작업이 잘못된 것으로 판단하면 반려 처리한다. 반려 처리 시, 검수자(34)는 어떤 이유로 작업이 잘못된 것으로 판단했는지에 대한 반려 사유를 입력한다.Thereafter, the inspector 34 performs the assigned inspection (S17). At this time, the inspector 34 determines that the inspection is completed when it is determined that the work has been properly performed, and if it is determined that the inspection operation is wrong, the inspector 34 rejects it. During rejection processing, the inspector 34 inputs the rejection reason for what reason the job was judged to be wrong.

이후, 서비스 제공 업체(20)는 검수자(34)로부터 검수 결과를 제공받는다(S18). Thereafter, the service provider 20 receives the inspection result from the inspector 34 (S18).

검수 결과가 검수 완료인 경우, 서비스 제공 업체(20)는 해당 작업 결과를 유효한 데이터로 사용하여, 이를 기반으로 하여 프로젝트 종료 시 최종 산출물을 추출하게 된다.When the inspection result is the inspection completion, the service provider 20 uses the work result as valid data, and based on this, extracts the final product at the end of the project.

검수 결과가 반려 처리인 경우, 서비스 제공 업체(20)는 내부적으로 검수를 다시 수행하거나, 작업자(32)에게 다시 작업을 배정하여 재작업을 수행하게 할 수도 있다. 재작업시 검수자의 재검수가 필요하다.When the inspection result is rejection processing, the service provider 20 may internally perform the inspection again, or assign the work to the worker 32 again to perform the rework. When reworking, re-examination by an inspector is required.

이후, 서비스 제공 업체(20)는 프로젝트 기간이 종료되거나 충분한 유효 데이터를 확보하게 되면 해당 프로젝트를 종료하고(S19), 확보된 유효 데이터를 기반으로 최종 결과물을 산출하여 의뢰자(10)에게 제공한다(S20).Thereafter, when the project period ends or sufficient valid data is secured, the service provider 20 terminates the project (S19), calculates a final result based on the secured valid data, and provides it to the client 10 ( S20).

이때, 프로젝트 종료 전, 서비스 제공 업체(20)는 작업자(32) 및 검수자(34)의 수행 결과를 평가하고, 평가에 따라 작업 비용 및 검수 비용을 산출하여 작업자(32) 및 검수자(34)에게 지급한다.At this time, before the end of the project, the service provider 20 evaluates the performance results of the worker 32 and the inspector 34, calculates the work cost and the inspection cost according to the evaluation, to the worker 32 and the inspector 34. give.

도 1 및 도 2에서는 단순히 의뢰자(10), 서비스 제공 업체(20), 작업자(32), 검수자(34)로 표현하였으나, 이들은 각 의뢰자, 관리자, 참여자에 의해서 운용되는 스마트폰, 태블릿, PDA, 랩톱, 데스크톱, 서버 등과 같은 컴퓨터 장치 또는 전기 통신 장치를 의미한다.In Figures 1 and 2, it is simply expressed as a client 10, a service provider 20, an operator 32, and an inspector 34, but these are smartphones, tablets, PDAs, operated by each client, manager, and participant. It means a computer device or telecommunication device such as a laptop, desktop, server, etc.

본 발명의 일 실시예에 따른 프로젝트 정보 제공 방법은, 서로 다른 특성을 갖는 수많은 사용자들에게 수많은 프로젝트 중에서 자격 조건에 부합하는 프로젝트의 정보를 선별적으로 제공함에 있어, 복잡도가 높은 논리 매칭 문제를 일반적인 데이터베이스에서 제공하는 필터 기능과 그룹 기능을 통해 실시간 서비스에 보다 적합하며 시스템 부하를 최소화하는 방식으로 효과적으로 제공할 수 있다.In the method of providing project information according to an embodiment of the present invention, in selectively providing information of a project meeting a qualification condition among a number of projects to a number of users having different characteristics, a problem of logic matching with high complexity is generally solved. Through the filter function and group function provided by the database, it is more suitable for real-time service and can be effectively provided in a way that minimizes system load.

구체적으로 프로젝트를 생성 또는 수정시, 프로젝트를 관리하는 서비스 제공 업체(20)의 관리자 또는 특정 프로젝트의 관리자는 해당 프로젝트가 원활하게 진행되도록 하기 위해 적절한 작업자(32) 또는 검수자(34)의 참여 자격을 지정할 수 있다.Specifically, when creating or modifying a project, the manager of the service provider (20) that manages the project or the manager of a specific project is qualified to participate in the appropriate worker (32) or inspector (34) to ensure that the project proceeds smoothly. Can be specified.

일 예로, 작업자(32) 또는 검수자(34)의 참여 자격을 구성하는 조건들로 국적, 연령, 성별, 출생지, 거주지, 외국어 능력, 등급(예를 들어, 스타터, 브론즈, 실버, 골드 등), 프로젝트 이력(프로젝트 타입, 참여 횟수, 참여 시기, 반려율 등) 등의 요소가 사용될 수 있다. 이러한 요소는 그 비교를 위하여 사용자 정보로 저장되고 관리될 수 있다.For example, as conditions constituting the participation qualifications of the worker 32 or the inspector 34, nationality, age, sex, place of birth, place of residence, foreign language ability, grade (for example, starter, bronze, silver, gold, etc.), Factors such as project history (project type, number of participation, timing of participation, rejection rate, etc.) can be used. These elements can be stored and managed as user information for comparison purposes.

예를 들어, 특정 프로젝트에서의 작업자(32)의 참여 자격은 남성, 20대, 한국, 스타터(STARTER) 등급, 과거 A 유형 프로젝트 참여 2회 이상 등의 조건들로 지정될 수 있다.For example, the qualifications for participation of the worker 32 in a specific project may be specified under conditions such as male, 20s, Korea, starter grade, past two or more participation in type A projects.

이러한 조건 요소들은 논리곱(AND) 또는 논리합(OR) 등의 논리 연산자들을 통해서 연결되어 다중 조건 형태로 조합될 수 있다. 그리고, 이러한 논리 연산 기능을 통해 프로젝트의 관리자는 프로젝트에서 원하는 참여자의 자격을 구성하는 조건을 보다 정확하고 세부적으로 정의할 수 있다.These conditional elements may be connected through logical operators such as AND or OR, and may be combined in the form of multiple conditions. And, through this logical operation function, the manager of the project can more accurately and in detail define the conditions constituting the qualifications of the participants desired in the project.

예를 들어, "(여성 AND 20대) OR (OCR 프로젝트 반려율 20% 이하)"와 같이 참여 자격에 관한 조건을 명확하게 정의할 수 있다. 위 예의 경우, 20대 여성이거나 OCR 프로젝트의 반려율이 20% 이하인 자격을 갖춘 사용자만이 프로젝트에 참여할 수 있을 것이다.For example, conditions for eligibility for participation can be clearly defined, such as "(female AND 20s) OR (OCR project rejection rate 20% or less)". In the example above, only a female in her 20s or a qualified user with a rejection rate of 20% or less for the OCR project will be able to participate in the project.

특정 사용자가 플랫폼에 로그인하여 접속하게 되면, 플랫폼에서는 특정 사용자의 특성에 따라 작업 가능 프로젝트 목록 또는 검수 가능 프로젝트 목록을 제공한다. 이때, 위와 같은 참여 자격에 따라 참여 가능한, 즉 매칭되는 프로젝트가 조회되어 목록 형태로 제공되어야 한다.When a specific user logs in and accesses the platform, the platform provides a list of workable projects or a list of projects that can be reviewed according to the characteristics of the specific user. At this time, projects that can participate, that is, matching according to the above participation qualifications, must be searched and provided in the form of a list.

이를 위해 먼저 가용한 전체 프로젝트 목록을 읽어온 후, 각 프로젝트마다 설정 또는 지정된 참여 자격에 관한 조건을 사용자의 정보와 일일이 반복적으로 대비하여, 개별 사용자의 특성이 해당 프로젝트에 적합한지 여부를 판별하는 방식을 적용할 수 있다. To this end, a method to determine whether the characteristics of individual users are appropriate for the project by reading the entire list of available projects first, and then repeatedly preparing conditions for participation qualifications set or specified for each project with user information. Can be applied.

하지만, 이와 같은 방식은 가용한 전체 프로젝트 수만큼 작업자(32)나 검수자(34)의 자격 조건을 매번 비교해야 하기 때문에 효율적이지 못하다. 즉, 프로젝트의 수가 많거나 참여 가능한 프로젝트 목록 조회 요청이 빈번한 경우, 서비스 품질에 치명적일 수 있다는 문제가 있다.However, this method is not efficient because it is necessary to compare the qualification conditions of the worker 32 or the inspector 34 every time as much as the total number of available projects. In other words, there is a problem that service quality may be fatal when the number of projects is large or the request for a list of participating projects is frequently requested.

또 다른 방식으로, 프로젝트의 참여 자격의 설정 시점 또는 변경 시점에 작업자(32)나 검수자(34)의 목록을 구성하는 방식을 사용할 수 있다. 즉, 특정 프로젝트마다 특정 시점을 기준으로 참여 자격을 갖춘 작업자(32)나 검수자(34)의 목록을 구성하는 방식이다.Alternatively, it is possible to use a method of configuring a list of workers 32 or inspectors 34 at the time of setting or changing the qualifications for participation in the project. In other words, it is a method of constructing a list of workers 32 or inspectors 34 who are qualified for participation based on a specific time point for each specific project.

하지만, 이러한 방식은 프로젝트마다 고정된 작업자(32), 검수자(34) 목록(또는 풀(pool))을 활용하기 때문에, 사용자 상태(예를 들어 연령, 등급 변화 등)가 변경되거나, 플랫폼의 신규 사용자가 발생한 경우, 프로젝트 상태(일시 중지, 연기 등)가 변화한 경우 등과 관련한 변경을 실시간으로 반영하기 어렵다는 문제가 있다.However, since this method uses a fixed list of workers 32 and inspectors 34 (or pool) for each project, the user status (for example, age, grade change, etc.) is changed or the platform is new. When a user occurs, there is a problem that it is difficult to reflect changes in real time, such as when the project status (pause, postponement, etc.) changes.

즉, 프로젝트 목록을 생성하거나 업데이트 등을 위한 관리 및 인프라 비용이 증가하게 되고, 대량 연산 및 빈번한 입출력(I/O) 발생으로 인해 실시간 서비스에 부적합하며, 서비스 설계에 있어 부담이 발생할 가능성이 높다는 문제가 있다.In other words, the management and infrastructure costs for creating or updating the project list increase, and it is unsuitable for real-time services due to mass calculations and frequent I/O occurrences, and there is a high possibility of burden in service design. There is.

이와 달리, 본 발명의 일 실시예는 복잡도가 높은 논리 매칭 문제를 일반적인 데이터베이스에서 제공하는 필터 기능과 그룹 기능 정도만을 활용함으로써 개별 사용자에게 적합한 프로젝트 정보 제공시 실시간성을 확보하면서도 동시에 시스템 부하를 최소화시킬 수 있다는 장점이 있다.In contrast, an embodiment of the present invention uses only the filter function and group function level provided by a general database to solve the problem of logical matching with high complexity, thereby securing real-time performance when providing project information suitable for individual users and minimizing system load. It has the advantage of being able to.

이하에서는 도 3 내지 도 7을 참조하여 본 발명의 일 실시예에 따른 프로젝트 정보 제공 방법을 설명하도록 한다.Hereinafter, a method of providing project information according to an embodiment of the present invention will be described with reference to FIGS. 3 to 7.

도 3은 본 발명의 일 실시예에 따른 프로젝트 정보 제공 방법의 순서도이다.3 is a flowchart of a method for providing project information according to an embodiment of the present invention.

한편, 도 3에 도시된 단계들은 서비스 제공 업체(20)에 의해 운영되는 플랫폼 서버(이하, 서버)에 의해 수행되는 것으로 이해될 수 있지만, 이에 제한되는 것은 아니다.Meanwhile, the steps shown in FIG. 3 may be understood as being performed by a platform server (hereinafter, referred to as a server) operated by the service provider 20, but are not limited thereto.

또한, 복수의 작업자(32) 또는 복수의 검수자(34)는 소정의 단말 장치를 이용하여 작업을 수행한다. 작업자(32) 또는 검수자(34)의 단말 장치는 스마트폰, 태블릿, PDA, 랩톱, 데스크톱 등과 같은 컴퓨터 장치 또는 전기 통신 장치일 수 있으나, 이에 제한되는 것은 아니다.In addition, a plurality of workers 32 or a plurality of inspectors 34 perform work using a predetermined terminal device. The terminal device of the operator 32 or the inspector 34 may be a computer device or a telecommunication device such as a smartphone, tablet, PDA, laptop, desktop, etc., but is not limited thereto.

도 3을 참조하면, 먼저, 서버는 복수의 크라우드소싱 기반 프로젝트 각각에 대해서 관리자에 의해 설정된 참여 자격에 상응하는 조건 목록 정보를 구성한다(S110). 이에 따라, 각각의 프로젝트별로 각각의 조건 목록 정보가 구성된다.Referring to FIG. 3, first, the server configures condition list information corresponding to the participation qualification set by the manager for each of a plurality of crowdsourcing-based projects (S110). Accordingly, each condition list information is configured for each project.

여기서, 조건 목록 정보는 하나 이상의 조건 요소 정보로 구성된다.Here, the condition list information is composed of one or more condition element information.

조건 요소 정보는 당해 조건 요소가 속하는 조건 그룹의 고유 식별자(SN), 당해 조건 요소가 속하는 조건 그룹의 크기(CS), 당해 조건 요소의 카테고리 및 범주 값으로 구성된 다수의 필드를 포함한다.The condition element information includes a number of fields consisting of a unique identifier (SN) of a condition group to which the condition element belongs, a size (CS) of a condition group to which the condition element belongs, and a category and a category value of the condition element.

조건 그룹은 하나의 조건 요소 또는 논리곱(AND) 연산으로 연결된 하나 이상의 조건 요소의 집합을 의미한다. 논리합(OR) 연산으로 연결된 하나 이상의 조건 그룹의 집합은 참여 자격에 상응하는 전체적인 조건을 정의할 수 있다.A condition group refers to one condition element or a set of one or more condition elements connected by an AND operation. A set of one or more condition groups connected by an OR operation can define an overall condition corresponding to participation qualification.

조건 그룹의 크기는 당해 조건 그룹을 구성하는 하나 이상의 조건 요소의 개수를 의미한다. 예를 들어, 조건 그룹을 구성하는 조건 요소가 하나인 경우, 상기 조건 그룹의 크기는 1이고, 조건 그룹을 구성하는 조건 요소가 5개인 경우, 상기 조건 그룹의 크기는 5이다.The size of a condition group means the number of one or more condition elements constituting the condition group. For example, if there is one condition element constituting the condition group, the size of the condition group is 1, and if there are five condition elements constituting the condition group, the size of the condition group is 5.

조건 요소는 하나의 카테고리 및 그 범주 값으로 정의된다. 카테고리는 상술한 국적, 연령, 성별, 출생지, 거주지, 외국어 능력, 등급, 프로젝트 이력 등과 같은 조건을 위한 분류나 유형을 의미한다.The conditional element is defined as a category and its category value. Category refers to the classification or type for conditions such as nationality, age, gender, place of birth, place of residence, foreign language ability, grade, and project history as described above.

도 4는 예시적인 프로젝트의 조건 목록 정보를 설명하기 위한 도면이다.4 is a diagram for describing condition list information of an exemplary project.

예시적인 프로젝트의 관리자가 20대 남성, 30대(성별 무관) 또는 브론즈 등급의 25세 여성이 상기 프로젝트에 참여할 수 있도록 참여 자격을 설정하였다고 가정하자.Suppose the manager of an exemplary project has set up eligibility to participate in the project so that a male in his 20s, a 30-year-old (regardless of gender), or a 25-year-old woman in bronze grade can participate in the project.

상기 프로젝트의 참여 자격을 조건식으로 개략적으로 표현하면 다음과 같을 것이다.The conditional expression of the eligibility for participation in the above project will be as follows.

조건식: (20대 AND 남성) OR (30대) OR (브론즈 등급 AND 25세 AND 여성)도 4를 참조하면, 예시적인 프로젝트의 조건 목록 정보는 6개의 조건 요소 정보로 구성된다. 즉, 상기 참여 자격은 6개의 조건 요소로 구성된 다중 조건으로 정의된다.Conditional expression: (20s AND male) OR (30s) OR (bronze grade AND 25 years old AND female) Referring to FIG. 4, the condition list information of an exemplary project is composed of six conditional element information. That is, the participation qualification is defined as multiple conditions consisting of six condition elements.

각각의 조건 요소 정보는 상술한 바와 같이 조건 그룹의 고유 식별자, 조건 그룹의 크기, 조건 요소의 카테고리 및 범주 값을 필드로 갖는다. 각각의 조건 요소 정보를 순번에 따라 설명하면 다음과 같다.As described above, each condition element information has a unique identifier of a condition group, a size of a condition group, a category of a condition element, and a category value as fields. Each conditional element information is described in order as follows.

제1 조건 요소 정보는 "1, 2, age, 20, 29, null"이다. 이로써, 제1 조건 요소는 제1 조건 그룹에 속하며, 제1 조건 요소가 속하는 제1 조건 그룹의 크기는 2임을 알 수 있다. 제1 조건 그룹은 제1 조건 요소 외에 하나의 조건 요소를 더 포함하는 것이다. 제1 조건 그룹은 상기 조건식의 "(20대 AND 남성)"에 상응한다. 제1 조건 요소의 카테고리는 연령(age)이다. 그리고, 그 범주 값은 순서대로 최소 값(min), 최대 값(max) 및 서로 같은 값(equal)을 나타낸다. 즉, 제1 조건 요소의 경우 연령이 20보다 크거나 같고 29보다 작거나 같은 조건을 나타낸다. 한편, 범주 값은 실시예에 따라 다른 방식으로 표현될 수도 있다.The first condition element information is "1, 2, age, 20, 29, null". Accordingly, it can be seen that the first condition element belongs to the first condition group, and the size of the first condition group to which the first condition element belongs is 2. The first condition group further includes one condition element in addition to the first condition element. The first condition group corresponds to "(20s AND male)" in the above conditional expression. The category of the first condition element is age. And, the category values represent the minimum value (min), the maximum value (max), and the same value (equal) in order. That is, in the case of the first condition element, the age is greater than or equal to 20 and less than or equal to 29. Meanwhile, the category value may be expressed in different ways according to embodiments.

제2 조건 요소 정보는 "1, 2, gender, null, null, Male"이다. 제2 조건 요소는 제1 조건 그룹에 속하며, 제1 조건 그룹의 크기는 상술한 바와 같이 2이다. 제2 조건 요소의 카테고리는 성별(gender)이며, 그 값은 남성(Male)이어야 한다.The second condition element information is "1, 2, gender, null, null, male". The second condition element belongs to the first condition group, and the size of the first condition group is 2 as described above. The category of the second condition element is gender, and its value must be male.

제3 조건 요소 정보는 "2, 1, age, 30, 39, null"이다. 제3 조건 요소는 제2 조건 그룹에 속하며, 제3 조건 요소가 속하는 제2 조건 그룹의 크기는 1이다. 즉, 제2 조건 그룹은 제3 조건 요소 정보만으로 구성된다. 제2 조건 그룹은 상기 조건 식의 "(30대)"에 상응한다. 제3 조건 요소의 카테고리는 연령이며, 그 범주 값은 30보다 크거나 같고 39보다 작거나 같다. 해석해보면, 제3 조건 요소는 30대를 조건으로 하는 것이다.The third condition element information is "2, 1, age, 30, 39, null". The third condition element belongs to the second condition group, and the size of the second condition group to which the third condition element belongs is 1. That is, the second condition group is composed of only the third condition element information. The second condition group corresponds to "(30s)" in the above conditional expression. The category of the third condition element is age, and the category value is greater than or equal to 30 and less than or equal to 39. Interpretation, the third conditional element is that the 30s are the condition.

제4 조건 요소 정보는 "3, 3, level, 2 2, null"이다. 제4 조건 요소는 제3 조건 그룹에 속하며, 제4 조건 요소가 속하는 제3 조건 그룹의 크기는 3이다. 제3 조건 그룹은 3개의 조건 요소 정보로 구성됨을 알 수 있다. 제3 조건 그룹은 상기 조건식의 "브론즈 등급 AND 25세 AND 여성)"에 상응한다. 제4 조건 요소의 카테고리는 등급(level)이며, 그 값은 2여야 한다. 예를 들어, 등급을 스타터, 브론즈, 실버, 골드와 같이 구분할 경우, 숫자 2는 브론즈 등급을 나타낼 수 있다. 제4 조건 요소 정보는 "3, 3, level, null, null, 2"와 실질적으로 동일하다.The fourth condition element information is "3, 3, level, 2 2, null". The fourth condition element belongs to the third condition group, and the size of the third condition group to which the fourth condition element belongs is 3. It can be seen that the third condition group is composed of three condition element information. The third condition group corresponds to "bronze grade AND 25 years old AND female)" in the above conditional expression. The category of the fourth condition element is level, and its value must be 2. For example, if the grade is classified as starter, bronze, silver, and gold, the number 2 may represent the bronze grade. The fourth condition element information is substantially the same as "3, 3, level, null, null, 2".

제5 조건 요소 정보는 "3, 3, age, 25, 25, null"이다. 제5 조건 요소는 제3 조건 그룹에 속하며, 제3 조건 그룹의 크기는 상술한 바와 같이 3이다. 제5 조건 요소의 카테고리는 연령(age)이며, 그 값은 25여야 한다. 제5 조건 요소 정보는 "3, 3, age, null, null, 25"와 실질적으로 동일하다.The fifth conditional element information is "3, 3, age, 25, 25, null". The fifth condition element belongs to the third condition group, and the size of the third condition group is 3 as described above. The category of the fifth conditional element is age, and its value must be 25. The fifth condition element information is substantially the same as "3, 3, age, null, null, 25".

제6 조건 요소 정보는 "3, 3, gender, null, null, Female"이다. 제6 조건 요소 정보는 제3 조건 그룹에 속하며, 제3 조건 그룹의 크기는 상술한 바와 같이 3이다. 제6 조건 요소 정보의 카테고리는 성별(gender)이며, 그 값은 여성(Female)이어야 한다.The sixth condition element information is "3, 3, gender, null, null, Female". The sixth condition element information belongs to the third condition group, and the size of the third condition group is 3 as described above. The category of the sixth conditional element information is gender, and the value must be Female.

다시 도 3을 참조하면, 다음으로, 서버는 크라우드소싱 플랫폼의 복수의 사용자 각각에 대해서 사용자 정보와 조건 목록 정보를 비교하여 복수의 프로젝트 중 사용자에게 매칭되는 프로젝트를 필터링한다(S120). 각각의 사용자마다 특성이 다르기 때문에 각각의 사용자마다 매칭되는 프로젝트도 서로 다르게 된다.Referring back to FIG. 3, next, the server compares user information and condition list information for each of a plurality of users of the crowdsourcing platform, and filters a project matching the user among the plurality of projects (S120). Since each user has different characteristics, the projects that match each user are different.

도 5는 본 발명의 일 실시예에 따른 프로젝트 정보 제공 방법의 프로젝트 필터링 단계의 순서도이다.5 is a flowchart of a project filtering step in a method for providing project information according to an embodiment of the present invention.

도 5를 참조하면, 사용자에게 매칭되는 프로젝트를 필터링하기 위하여, 먼저, 서버는 사용자 정보와 조건 목록 정보의 하나 이상의 조건 요소 정보를 비교한다(S121).Referring to FIG. 5, in order to filter a project matching a user, first, the server compares user information and one or more condition element information of condition list information (S121).

다음으로, 서버는 상기 비교 결과에 따라 사용자가 특정 조건 요소를 충족하지 않을 경우, 사용자가 상기 특정 조건 요소가 속하는 조건 그룹을 충족하지 않는 것으로 판별한다(S122).Next, if the user does not satisfy the specific condition element according to the comparison result, the server determines that the user does not satisfy the condition group to which the specific condition element belongs (S122).

상기 판별 단계(S122)는 세부적으로, 사용자 정보와 조건 요소 정보의 비교 결과에 따라 사용자가 충족하는 조건 요소를 필터링하고, 조건 그룹의 고유 식별자를 이용하여 필터링된 조건 요소가 속하는 조건 그룹별로 필터링된 조건 요소를 그루핑하고, 조건 그룹별로 필터링된 조건 요소의 개수와 조건 그룹의 CS를 비교하고, 조건 그룹별 비교 결과에 따라 사용자가 충족하지 않는 조건 그룹을 판별하는 것을 포함한다.In the determining step (S122), in detail, the condition element that the user satisfies is filtered according to the comparison result of the user information and the condition element information, and filtered by condition group to which the filtered condition element belongs using the unique identifier of the condition group. It includes grouping condition elements, comparing the number of condition elements filtered for each condition group and CS of the condition group, and determining condition groups that the user does not satisfy according to the comparison result for each condition group.

예시적인 임의의 사용자의 특성이 다음과 같다고 가정하자. 즉, 임의의 사용자는 25세 남성이며 브론즈 등급을 갖고 있다.Assume that the characteristics of an exemplary random user are as follows. That is, any user is a 25 year old male and has a bronze rating.

이같은 사용자 정보와 도 4의 예시적인 프로젝트의 조건 목록 정보의 조건 요소 정보를 비교하여, 상기 사용자가 충족하는 조건 요소를 필터링하면 도 6과 같다.When the condition element information of the condition list information of the exemplary project of FIG. 4 is compared with the user information and the condition element that the user satisfies is filtered as shown in FIG. 6.

도 6은 예시적인 사용자가 충족하는 조건 요소를 필터링하는 것을 설명하기 위한 도면이다.6 is a diagram for describing filtering of condition elements that are satisfied by an exemplary user.

도 6을 참조하면, 상기 사용자는 연령이 25세인 점에서 제1 조건 요소, 제5 조건 요소를 충족한다. 그리고, 상기 사용자는 성별이 남성이므로 제2 조건 요소를 충족한다. 또한, 상기 사용자는 브론즈 등급이므로 제4 조건 요소를 충족한다.Referring to FIG. 6, since the user is 25 years old, the first condition element and the fifth condition element are satisfied. And, since the user has a male gender, the second condition element is satisfied. In addition, since the user is a bronze grade, the fourth condition element is satisfied.

일부 실시예에서, 서버는 사용자 정보에 기초하여 데이터베이스의 필터(filter) 기능을 사용할 수 있다. 서버는 사용자 정보를 카테고리별로 분할하고, 각 카테고리별로 필터링하여 도 6에 도시된 조건 요소 정보들을 추출할 수 있다.In some embodiments, the server may use a filter function of the database based on user information. The server may divide user information by category and filter by each category to extract conditional element information shown in FIG. 6.

이 때 사용할 수 있는 예시적인 의사(pseudo) 쿼리 구문은 다음과 같다.An exemplary pseudo query syntax that can be used at this time is as follows.

WHERE (cat = age AND min <= 25 <= max) OR (cat = gender AND equal = M) OR (cat = level AND min <= 2 <= max)WHERE (cat = age AND min <= 25 <= max) OR (cat = gender AND equal = M) OR (cat = level AND min <= 2 <= max)

한편, 종국적으로 사용자가 충족하는지 또는 충족하지 않는지 판별되어야 하는 것은 각각의 조건 요소가 아닌 조건 그룹이다. 따라서, 서버는 필터링된 조건 요소가 속하는 조건 그룹별로 필터링된 조건 요소를 그루핑한다. On the other hand, it is the condition group, not each condition element, that must be determined whether or not the user is ultimately satisfied. Accordingly, the server groups the filtered condition elements for each condition group to which the filtered condition element belongs.

도 7은 예시적인 조건 그룹별로 필터링된 조건 요소를 그루핑하는 것을 설명하기 위한 도면이다.FIG. 7 is a diagram for explaining grouping of condition elements filtered for each exemplary condition group.

도 7을 참조하면, 제1 조건 그룹에 속하는 제1 조건 요소와 제2 조건 요소가 함께 그루핑되고, 제3 조건 그룹에 속하는 제4 조건 요소와 제5 조건 요소가 함께 그루핑된다.Referring to FIG. 7, a first condition element and a second condition element belonging to a first condition group are grouped together, and a fourth condition element and a fifth condition element belonging to a third condition group are grouped together.

일부 실시예에서, 서버는 조건 그룹의 고유 식별자에 기초하여 데이터베이스의 그룹(group by) 기능을 사용할 수 있다. 서버는 각각의 조건 요소 정보에 포함된 조건 그룹의 고유 식별자를 이용하여 각각의 조건 요소를 조건 그룹별로 그루핑할 수 있다.In some embodiments, the server may use the group by function of the database based on the unique identifier of the condition group. The server may group each condition element for each condition group by using the unique identifier of the condition group included in each condition element information.

서버는 조건 그룹별로 필터링된 조건 요소의 개수(RN)와 조건 그룹의 CS를 비교한다. 상술한 바와 같이, 조건 그룹은 논리곱(AND) 연산으로 연결된 하나 이상의 조건 요소의 집합이다. 논리곱(AND) 연산으로 연결된 경우 사용자가 어느 하나의 조건 요소라도 충족하지 못하면 전체적으로 조건 그룹을 충족하지 못하게 된다. 따라서, 사용자가 충족하는 조건 그룹은 조건 그룹별로 필터링된 조건 요소의 개수와 조건 그룹의 CS가 같고, 사용자가 충족하지 않는 조건 그룹은 조건 그룹별로 필터링된 조건 요소의 개수와 조건 그룹의 CS가 다를 것이다. 본 발명의 실시예는 이러한 특성을 활용하여 복잡도가 높은 논리 매칭 문제를 해결한다.The server compares the number of condition elements (RN) filtered for each condition group with the CS of the condition group. As described above, the condition group is a set of one or more condition elements connected by an AND operation. When connected by AND operation, if the user does not satisfy any one condition element, the condition group cannot be satisfied as a whole. Therefore, the number of conditional elements filtered for each condition group and CS of the condition group are the same for the condition group that the user satisfies, and the number of conditional elements filtered for each condition group and the CS of the condition group are different for condition groups that the user does not satisfy. will be. An embodiment of the present invention solves a logic matching problem with high complexity by utilizing these characteristics.

위와 같은 판별을 보다 빠르게 처리하기 위하여, 서버는 조건 요소의 개수(RN)의 제곱과 필터링된 조건 요소의 조건 요소 정보의 CS의 합(CSS)을 비교한다.In order to process the above discrimination more quickly, the server compares the square of the number of condition elements (RN) and the CS sum (CSS) of condition element information of the filtered condition element.

도 8은 예시적인 조건 그룹별로 사용자가 충족하는지 여부를 판단하는 것을 설명하기 위한 도면이다.8 is a diagram for explaining determining whether a user meets each exemplary condition group.

도 8을 참조하면, 제1 조건 그룹에 관하여 먼저 비교하였을 때, 제1 조건 그룹에 속하며 필터링된 조건 요소의 개수는 2이고 그 제곱은 4이고, 필터링된 조건 요소의 조건 요소 정보의 CS의 합은 2+2=4이므로, 비교 결과 같은 값이다. 이와 같이 비교 결과 같은 값인 경우, 서버는 사용자가 제1 조건 그룹을 충족하는 것으로 판별하게 된다.Referring to FIG. 8, when comparing the first condition group first, the number of condition elements that belong to the first condition group and are filtered is 2 and its square is 4, and the sum of CS of condition element information of the filtered condition element Is 2+2=4, so the result of comparison is the same. If the result of the comparison is the same, the server determines that the user satisfies the first condition group.

한편, 제3 조건 그룹에 관하여 비교하였을 때, 제3 조건 그룹에 속하며 필터링된 조건 요소의 개수는 2이고 그 제곱은 4이지만, 필터링된 조건 요소의 조건 요소 정보의 CS의 합은 3+3=6이므로, 비교 결과 다른 값이다. 이와 같이 비교 결과 다른 값인 경우, 서버는 사용자가 제3 조건 그룹을 충족하지 않는 것으로 판별하게 된다.Meanwhile, when comparing the third condition group, the number of condition elements that belong to the third condition group and the number of filtered condition elements is 2 and its square is 4, but the sum of CS of condition element information of the filtered condition element is 3+3= Since it is 6, it is a different value as a result of the comparison. If the result of the comparison is different as described above, the server determines that the user does not satisfy the third condition group.

이 때 사용할 수 있는 예시적인 의사(pseudo) 쿼리 구문은 다음과 같다.An exemplary pseudo query syntax that can be used at this time is as follows.

SELECT COUNT(1) RN, SUM(CS) CSS … GROUP BY SN, SN HAVING RN^2 = CSSSELECT COUNT(1) RN, SUM(CS) CSS… GROUP BY SN, SN HAVING RN^2 = CSS

다시 도 5를 참조하면, 다음으로, 서버는 상기 조건 그룹의 판별 결과에 따라 복수의 프로젝트 중 사용자에게 매칭되는 프로젝트를 필터링한다(S123).Referring back to FIG. 5, next, the server filters a project matching a user among a plurality of projects according to the determination result of the condition group (S123).

서버는 도 5를 참조하여 설명한 프로젝트 필터링 단계를 각각의 프로젝트마다 수행할 수도 있고, 또는 전체 프로젝트에 대하여 수행할 수도 있다. 전자의 경우, 서버는 사용자가 충족하는 조건 그룹을 찾는 것이라면, 후자의 경우는 서버는 사용자가 충족하는 조건 그룹의 프로젝트를 찾는 것이다.The server may perform the project filtering step described with reference to FIG. 5 for each project, or may perform the entire project. In the former case, the server searches for a condition group that the user satisfies, and in the latter case, the server searches for a project of a condition group that the user satisfies.

이를 위해, 각각의 조건 요소 정보는 당해 조건 요소에 상응하는 프로젝트의 고유 식별자(PID)를 더 포함할 수 있다.To this end, each condition element information may further include a unique identifier (PID) of a project corresponding to the condition element.

도 9는 프로젝트의 고유 식별자를 더 포함하는 예시적인 프로젝트의 조건 목록 정보를 설명하기 위한 도면이다.9 is a diagram for describing example project condition list information further including a project unique identifier.

도 9를 참조하면, 각각의 조건 요소 정보는 프로젝트의 고유 식별자, 조건 그룹의 고유 식별자, 조건 그룹의 크기, 조건 요소의 카테고리 및 범주 값을 필드로 갖는다Referring to FIG. 9, each condition element information has a unique identifier of a project, a unique identifier of a condition group, a size of a condition group, a category and a category value of the condition element as fields.

그리고, 상술한 필터링된 조건 요소 정보를 그루핑하고, 사용자가 충족하는 또는 충족하지 않는 조건 그룹의 프로젝트를 판별하기 위하여, 서버는 프로젝트의 고유 식별자 및 조건 그룹의 고유 식별자를 이용하여 필터링된 조건 요소가 속하는 프로젝트 및 조근 그룹별로 필터링된 조건 요소를 그루핑한다. And, in order to group the above-described filtered condition element information, and to determine the project of the condition group that the user satisfies or does not satisfy, the server uses the unique identifier of the project and the unique identifier of the condition group to generate the filtered condition element. Filtered condition elements are grouped by the project to which they belong and the section group.

이 때 사용할 수 있는 예시적인 의사(pseudo) 쿼리 구문은 다음과 같이 수정된다.An exemplary pseudo-query syntax that can be used at this time is modified as follows.

SELECT PID, COUNT(1) RN, SUM(CS) CSS … GROUP BY PID, SN HAVING RN^2 = CSSSELECT PID, COUNT(1) RN, SUM(CS) CSS… GROUP BY PID, SN HAVING RN^2 = CSS

다시 도 3을 참조하면, 서버는 사용자에게 필터링된 프로젝트에 관한 정보를 제공한다(S130).Referring back to FIG. 3, the server provides information on the filtered project to the user (S130).

서버는 사용자가 크라우드소싱 플랫폼에 로그인하면, 사용자에게 필터링된 프로젝트에 관한 정보를 참여 가능 프로젝트 목록으로 제공할 수 있다. When the user logs in to the crowdsourcing platform, the server can provide the user with information about the filtered project as a list of available projects.

또한, 사용자가 크라우드소싱 플랫폼에 접속 중인 상태에서 참여 가능 프로젝트 목록의 새로 고침 요청을 하는 경우에도, 서버는 이상에서 설명한 과정들을 실시간으로 실행하여 사용자에게 새롭게 필터링된 프로젝트에 관한 정보를 제공할 수 있다.In addition, even when a user requests to refresh the list of participating projects while connected to the crowdsourcing platform, the server can provide information on the newly filtered project to the user by executing the above-described processes in real time. .

이상에서 설명한 본 발명의 실시예에 의하면, 각각의 프로젝트의 참여 자격에 관한 조건을 사용자의 정보와 일일이 반복적으로 대비하더라도 논리 매칭의 복잡도가 높지 않으므로, 개별 사용자에게 적합한 프로젝트 정보 제공시 실시간성을 확보하면서도 동시에 시스템 부하를 최소화시킬 수 있다는 장점이 있다.According to the embodiment of the present invention described above, the complexity of logical matching is not high even if the conditions for participation qualification of each project are repeatedly compared with the information of the user, so real-time performance is secured when providing project information suitable for individual users. At the same time, it has the advantage of minimizing the system load.

한편, 상술한 설명에서, 단계 S11 내지 S123은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 후술하는 도 10의 내용은 도 1 내지 도 9의 크라우드소싱 플랫폼의 참여 자격에 매칭되는 프로젝트 정보 제공 방법에도 적용될 수 있다.Meanwhile, in the above description, steps S11 to S123 may be further divided into additional steps or may be combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between steps may be changed. In addition, even if other contents are omitted, the contents of FIG. 10 to be described later may also be applied to the method of providing project information matching the participation qualification of the crowdsourcing platform of FIGS. 1 to 9.

이상에서 전술한 본 발명의 일 실시예에 따른 크라우드소싱 플랫폼의 참여 자격에 매칭되는 프로젝트 정보 제공 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.The method for providing project information matching the participation qualification of the crowdsourcing platform according to an embodiment of the present invention described above may be implemented as a program (or application) to be executed in combination with a computer as hardware and stored in a medium. .

상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, Ruby, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.The above-described program includes C, C++, JAVA, Ruby, which can be read by a processor (CPU) of the computer through the device interface of the computer, in order for the computer to read the program and execute the methods implemented as a program. It may include a code (Code) coded in a computer language such as machine language. Such code may include a functional code related to a function that defines necessary functions for executing the methods, and includes a control code related to an execution procedure necessary for the processor of the computer to execute the functions according to a predetermined procedure. can do. In addition, these codes may further include additional information required for the processor of the computer to execute the functions, or code related to a memory reference to which location (address address) of the internal or external memory of the computer should be referenced. have. In addition, when the processor of the computer needs to communicate with any other computer or server in the remote in order to execute the functions, the code uses the communication module of the computer to determine how It may further include a communication-related code for whether to communicate, what kind of information or media should be transmitted and received during communication.

상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.The stored medium is not a medium that stores data for a short moment, such as a register, cache, memory, etc., but a medium that stores data semi-permanently and can be read by a device. Specifically, examples of the storage medium include, but are not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like. That is, the program may be stored in various recording media on various servers to which the computer can access, or on various recording media on the user's computer. In addition, the medium may be distributed over a computer system connected through a network, and computer-readable codes may be stored in a distributed manner.

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

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

10 : 의뢰자
20 : 서비스 제공 업체
30 : 대중
32 : 작업자
34 : 검수자
10: Client
20: service provider
30: public
32: worker
34: inspector

Claims (10)

컴퓨터에 의해 수행되는 방법으로서,
복수의 크라우드소싱 기반 프로젝트(이하, 프로젝트) 각각에 대해서 관리자에 의해 설정된 참여 자격에 상응하는 조건 목록 정보를 구성하는 단계;
크라우드소싱 플랫폼의 복수의 사용자 각각에 대해서 사용자 정보와 상기 조건 목록 정보를 비교하여 상기 복수의 프로젝트 중 상기 사용자에게 매칭되는 프로젝트를 필터링하는 단계; 및
상기 사용자에게 상기 필터링된 프로젝트에 관한 정보를 제공하는 단계를 포함하고,
상기 조건 목록 정보는 하나 이상의 조건 요소 정보로 구성되고,
상기 조건 요소 정보는 당해 조건 요소가 속하는 조건 그룹의 고유 식별자, 당해 조건 요소가 속하는 조건 그룹의 크기(CS), 당해 조건 요소의 카테고리 및 범주 값을 포함하고,
상기 CS는 당해 조건 그룹을 구성하는 하나 이상의 조건 요소의 개수이고,
상기 조건 그룹은 하나의 조건 요소 또는 논리곱(AND) 연산으로 연결된 하나 이상의 조건 요소의 집합이고,
상기 참여 자격에 상응하는 조건은 논리합(OR) 연산으로 연결된 하나 이상의 상기 조건 그룹의 집합으로 정의되고,
상기 복수의 프로젝트 중 상기 사용자에게 매칭되는 프로젝트를 필터링하는 단계는,
상기 사용자 정보와 상기 조건 목록 정보의 상기 하나 이상의 조건 요소 정보를 비교하는 단계와,
상기 사용자 정보와 상기 조건 요소 정보의 비교 결과에 따라, 상기 사용자가 특정 조건 요소를 충족하지 않을 경우 상기 사용자가 상기 특정 조건 요소가 속하는 조건 그룹을 충족하지 않는 것으로 판별하는 단계와,
상기 조건 그룹의 판별 결과에 따라, 상기 복수의 프로젝트 중 상기 사용자에게 매칭되는 프로젝트를 필터링하는 단계를 포함하고,
상기 사용자가 특정 조건 요소를 충족하지 않을 경우 상기 사용자가 상기 특정 조건 요소가 속하는 조건 그룹을 충족하지 않는 것으로 판별하는 단계는,
상기 사용자 정보와 상기 조건 요소 정보의 비교 결과에 따라, 상기 사용자가 충족하는 조건 요소를 필터링하고,
상기 조건 그룹의 고유 식별자를 이용하여 상기 필터링된 조건 요소가 속하는 조건 그룹별로 상기 필터링된 조건 요소를 그루핑하고,
상기 조건 그룹별로 상기 필터링된 조건 요소의 개수와 상기 조건 그룹의 CS를 비교하고,
상기 조건 그룹별 비교 결과에 따라, 상기 사용자가 충족하지 않는 조건 그룹을 판별하는 것을 포함하고,
상기 상기 조건 그룹별로 상기 필터링된 조건 요소의 개수와 상기 조건 그룹의 CS를 비교하는 것은,
상기 조건 요소의 개수의 제곱과 상기 필터링된 조건 요소의 조건 요소 정보의 CS의 합을 비교하는 것인,
크라우드소싱 플랫폼의 참여 자격에 매칭되는 프로젝트 정보 제공 방법.
As a method performed by a computer,
Configuring condition list information corresponding to participation qualifications set by a manager for each of a plurality of crowdsourcing-based projects (hereinafter, referred to as projects);
Comparing user information with the condition list information for each of a plurality of users of the crowdsourcing platform, and filtering a project matching the user among the plurality of projects; And
Providing information on the filtered project to the user,
The condition list information is composed of one or more condition element information,
The condition element information includes a unique identifier of a condition group to which the condition element belongs, a size (CS) of the condition group to which the condition element belongs, a category and a category value of the condition element,
The CS is the number of one or more condition elements constituting the condition group,
The condition group is one condition element or a set of one or more condition elements connected by an AND operation,
The condition corresponding to the participation qualification is defined as a set of one or more condition groups connected by an OR operation,
Filtering the projects that match the user among the plurality of projects,
Comparing the one or more condition element information of the user information and the condition list information; and
Determining that the user does not satisfy a condition group to which the specific condition element belongs, if the user does not satisfy a specific condition element according to a result of comparing the user information and the condition element information;
And filtering a project matching the user among the plurality of projects according to the determination result of the condition group,
When the user does not satisfy a specific condition element, determining that the user does not satisfy a condition group to which the specific condition element belongs,
Filtering the condition element that the user satisfies according to the comparison result of the user information and the condition element information,
Grouping the filtered condition elements for each condition group to which the filtered condition element belongs by using the unique identifier of the condition group,
Compare the number of the filtered condition elements for each condition group and the CS of the condition group,
Determining a condition group that the user does not satisfy, according to the comparison result for each condition group,
Comparing the number of the filtered condition elements for each condition group and the CS of the condition group,
Comparing the sum of the square of the number of condition elements and CS of condition element information of the filtered condition element,
How to provide project information that matches the qualifications for participation in the crowdsourcing platform.
삭제delete 삭제delete 제1항에 있어서,
상기 조건 요소 정보는 당해 조건 요소에 상응하는 프로젝트의 고유 식별자를 더 포함하고,
상기 조건 그룹의 고유 식별자를 이용하여 상기 필터링된 조건 요소가 속하는 조건 그룹별로 상기 필터링된 조건 요소를 그루핑하는 것은,
상기 프로젝트의 고유 식별자 및 상기 조건 그룹의 고유 식별자를 이용하여 상기 필터링된 조건 요소가 속하는 프로젝트 및 조건 그룹별로 상기 필터링된 조건 요소를 그루핑하는,
크라우드소싱 플랫폼의 참여 자격에 매칭되는 프로젝트 정보 제공 방법.
The method of claim 1,
The condition element information further includes a unique identifier of a project corresponding to the condition element,
Grouping the filtered condition elements for each condition group to which the filtered condition element belongs by using the unique identifier of the condition group,
Grouping the filtered condition elements by project and condition group to which the filtered condition element belongs using the unique identifier of the project and the unique identifier of the condition group,
How to provide project information that matches the qualifications for participation in the crowdsourcing platform.
제1항에 있어서,
상기 참여 자격은, 국적, 연령, 성별, 출생지, 거주지, 외국어 능력, 등급, 프로젝트 이력 중 적어도 하나에 관한 자격을 포함하는,
크라우드소싱 플랫폼의 참여 자격에 매칭되는 프로젝트 정보 제공 방법.
The method of claim 1,
The qualification for participation includes qualifications for at least one of nationality, age, gender, place of birth, place of residence, foreign language ability, grade, and project history,
How to provide project information that matches the qualifications for participation in the crowdsourcing platform.
제1항에 있어서,
상기 참여 자격은 상기 프로젝트의 작업자에 관한 참여 자격 또는 상기 프로젝트의 검수자에 관한 참여 자격을 포함하는,
크라우드소싱 플랫폼의 참여 자격에 매칭되는 프로젝트 정보 제공 방법.
The method of claim 1,
The participation qualification includes a participation qualification for a worker of the project or a participation qualification for an inspector of the project,
How to provide project information that matches the qualifications for participation in the crowdsourcing platform.
삭제delete 제1항에 있어서,
상기 사용자 정보는, 상기 사용자의 국적, 연령, 성별, 출생지, 거주지, 외국어 능력, 등급, 프로젝트 이력 중 적어도 하나에 관한 정보를 포함하는,
크라우드소싱 플랫폼의 참여 자격에 매칭되는 프로젝트 정보 제공 방법.
The method of claim 1,
The user information includes information on at least one of the user's nationality, age, gender, place of birth, residence, foreign language ability, grade, and project history,
How to provide project information that matches the qualifications for participation in the crowdsourcing platform.
제1항에 있어서,
상기 사용자에게 상기 필터링된 프로젝트에 관한 정보를 제공하는 단계는,
상기 사용자가 상기 크라우드소싱 플랫폼에 로그인하면, 상기 사용자에게 상기 필터링된 프로젝트에 관한 정보를 참여 가능 프로젝트 목록으로 제공하는,
크라우드소싱 플랫폼의 참여 자격에 매칭되는 프로젝트 정보 제공 방법.
The method of claim 1,
Providing information on the filtered project to the user,
When the user logs in to the crowdsourcing platform, providing information on the filtered project to the user as a list of available projects,
How to provide project information that matches the qualifications for participation in the crowdsourcing platform.
컴퓨터와 결합하여 제1항, 제4항 내지 제6항, 제8항, 제9항 중 어느 하나의 항의 크라우드소싱 플랫폼의 참여 자격에 매칭되는 프로젝트 정보 제공 방법을 수행하기 위하여 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.A computer-readable recording medium in order to perform a method of providing project information matching the qualification for participation in the crowdsourcing platform of any of paragraphs 1, 4 to 6, 8, and 9 in combination with a computer. A computer program stored on it.
KR1020200034300A 2020-03-20 2020-03-20 Method for providing information of projects matching qualifications of crowdsourcing platform for artificial intelligence training data generation KR102155877B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200034300A KR102155877B1 (en) 2020-03-20 2020-03-20 Method for providing information of projects matching qualifications of crowdsourcing platform for artificial intelligence training data generation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200034300A KR102155877B1 (en) 2020-03-20 2020-03-20 Method for providing information of projects matching qualifications of crowdsourcing platform for artificial intelligence training data generation

Publications (1)

Publication Number Publication Date
KR102155877B1 true KR102155877B1 (en) 2020-09-14

Family

ID=72471524

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200034300A KR102155877B1 (en) 2020-03-20 2020-03-20 Method for providing information of projects matching qualifications of crowdsourcing platform for artificial intelligence training data generation

Country Status (1)

Country Link
KR (1) KR102155877B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102315436B1 (en) * 2021-07-13 2021-10-20 주식회사 크라우드웍스 Method and apparatus for automatically setting worker participatation conditions according to the characteristics of crowdsourcing-based projects
KR102315397B1 (en) * 2021-06-22 2021-10-20 주식회사 크라우드웍스 Method and apparatus for managing project using filtering data
KR102315433B1 (en) * 2021-06-22 2021-10-20 주식회사 크라우드웍스 Method and apparatus for managing project using setting of cost payment time

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140095956A (en) 2013-01-25 2014-08-04 한국전자통신연구원 Method and system for generating image-knowledge contents based on crowdsourcing
KR101862333B1 (en) * 2016-12-21 2018-05-29 스토리앤브라더스(주) Server and computer program stored in computer readable medium for matching talented person with project

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140095956A (en) 2013-01-25 2014-08-04 한국전자통신연구원 Method and system for generating image-knowledge contents based on crowdsourcing
KR101862333B1 (en) * 2016-12-21 2018-05-29 스토리앤브라더스(주) Server and computer program stored in computer readable medium for matching talented person with project

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102315397B1 (en) * 2021-06-22 2021-10-20 주식회사 크라우드웍스 Method and apparatus for managing project using filtering data
KR102315433B1 (en) * 2021-06-22 2021-10-20 주식회사 크라우드웍스 Method and apparatus for managing project using setting of cost payment time
KR102315436B1 (en) * 2021-07-13 2021-10-20 주식회사 크라우드웍스 Method and apparatus for automatically setting worker participatation conditions according to the characteristics of crowdsourcing-based projects

Similar Documents

Publication Publication Date Title
US11176154B1 (en) Collaborative dataset management system for machine learning data
Sainani et al. Extracting and classifying requirements from software engineering contracts
KR102155877B1 (en) Method for providing information of projects matching qualifications of crowdsourcing platform for artificial intelligence training data generation
US9390176B2 (en) System and method for recursively traversing the internet and other sources to identify, gather, curate, adjudicate, and qualify business identity and related data
KR102164844B1 (en) Method for evaluating workers using the unit of work difficulty of crowdsourcing based projects for artificial intelligence training data generation
KR102156582B1 (en) Method for selecting sincere worker and prioritizing inspection of crowdsourcing based projects for artificial intelligence training data generation
KR102324041B1 (en) Method for automatically generating a worker pool based on the work type and difficulty of crowdsourcing based projects
KR102232866B1 (en) Method for distributing functional element unit work of crowdsourcing based project for artificial intelligence training data generation
US20220100963A1 (en) Event extraction from documents with co-reference
US20220100772A1 (en) Context-sensitive linking of entities to private databases
KR102195629B1 (en) Method for selecting workers based on capability of work in crowdsourcing based projects for artificial intelligence training data generation
EP3118807A1 (en) Prioritizing and planning issues in automation
KR102215416B1 (en) Method for periodically updating and optimizing groups of workers and inspectors of crowdsourcing based projects for artificial intelligence training data generation
EP4222635A1 (en) Lifecycle management for customized natural language processing
KR102155839B1 (en) Method and apparatus for monitoring worker based on the reason for not wokring
US20220100967A1 (en) Lifecycle management for customized natural language processing
KR102155749B1 (en) Method for deciding proper unit price and proper amount of work using reference work time of crowdsourcing based project for artificial intelligence training data generation
KR102183812B1 (en) Method for paying inspection fee based on hourly wage for each inspector using the verification work results of crowdsourcing based projects for artificial intelligence training data generation
KR102183837B1 (en) Method for paying work fee based on hourly wage for each workers using verification work of crowdsourcing based projects for artificial intelligence training data generation
KR102195608B1 (en) Method for automatically returning using object return rate of crowdsourcing based project for artificial intelligence training data generation
KR102155854B1 (en) Keyword management method and apparatus for collecting various sentences
KR102232909B1 (en) Method for providing reason for rejection based on similar work pattern information for each worker a crowdsourcing based projects for airtificial intelligence training data generation
KR102195606B1 (en) Method for improving reliability by selective self check of worker of crowdsourcing based project for artificial intelligence training data generation
KR102155747B1 (en) Method for setting minimum re-work and re-inspection time based on the number of objects returned of crowdsourcing based project for artificial intelligence training data generation
KR102169321B1 (en) Method for adjusting the cost of project inspection using the verification work results of crowdsourcing based projects for artificial intelligence training data generation

Legal Events

Date Code Title Description
GRNT Written decision to grant