KR102155873B1 - Method and apparatus for performing crowdsourcing project for collecting various natural language conversation datasets - Google Patents

Method and apparatus for performing crowdsourcing project for collecting various natural language conversation datasets Download PDF

Info

Publication number
KR102155873B1
KR102155873B1 KR1020190119852A KR20190119852A KR102155873B1 KR 102155873 B1 KR102155873 B1 KR 102155873B1 KR 1020190119852 A KR1020190119852 A KR 1020190119852A KR 20190119852 A KR20190119852 A KR 20190119852A KR 102155873 B1 KR102155873 B1 KR 102155873B1
Authority
KR
South Korea
Prior art keywords
channel
utterance
worker
operator
input
Prior art date
Application number
KR1020190119852A
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 KR1020190119852A priority Critical patent/KR102155873B1/en
Application granted granted Critical
Publication of KR102155873B1 publication Critical patent/KR102155873B1/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/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/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063116Schedule adjustment 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/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063118Staff planning in a project environment
    • 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
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Provided are a method and an apparatus for performing a crowdsourcing project for collecting various natural language conversation datasets. The method includes the steps of: setting a target value of a plurality of natural language conversation datasets; generating a plurality of channels corresponding to the plurality of natural language conversation datasets in accordance with the target value; randomly determining one of the plurality of channels and allowing a worker to enter the channel in accordance with a request of the worker for participation in the crowdsourcing project; requesting the worker to perform a task inputting one utterance through the channel, and receiving the utterance from the worker; and making the worker leave the channel when the task inputting the utterance is completed. Each of the natural language conversation datasets comprises at least two pieces of utterance data. Therefore, the present invention is capable of making the progress of a project fast by reducing a working time and a workload of each worker.

Description

다양한 자연어 대화 데이터셋 수집을 위한 크라우드소싱 프로젝트 수행 방법 및 장치{METHOD AND APPARATUS FOR PERFORMING CROWDSOURCING PROJECT FOR COLLECTING VARIOUS NATURAL LANGUAGE CONVERSATION DATASETS}A crowdsourcing project execution method and device for collecting various natural language conversation datasets {METHOD AND APPARATUS FOR PERFORMING CROWDSOURCING PROJECT FOR COLLECTING VARIOUS NATURAL LANGUAGE CONVERSATION DATASETS}

본 발명은 다양한 자연어 대화 데이터셋 수집을 위한 크라우드소싱 프로젝트 수행 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for performing a crowdsourcing project for collecting various natural language conversation data sets.

최근, 기업 활동의 일부 과정에 일반 대중을 참여시키는 크라우드소싱 기반으로 많은 양의 데이터를 수집 및 가공하는 기업들이 늘고 있다. 즉, 기업은 하나의 프로젝트를 오픈하여 일반 대중, 즉 작업자가 해당 프로젝트에 참여하게 함으로써, 작업자에 의해 완료된 작업 결과를 통해 필요한 정보를 수집하게 된다.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.

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

한편, 다양한 자연어 대화를 수집하기 위해서는 대화 데이터셋을 구축하는 프로젝트를 수행해야만 한다.On the other hand, in order to collect various natural language dialogues, a project to build dialogue datasets must be carried out.

이를 위해 종래에는 한 명의 작업자가 대화의 시작부터 종결까지 롤플레잉 방식으로 진행하게 되는데, 이 경우에는 작업 시간이 길어지고 대화 내용 및 스타일이 점점 제한되어 간다는 문제가 있다. 이는 결국 다양한 자연어 대화 데이터셋을 구축하는 프로젝트의 목적에 부합하지 않게 되는 문제가 있다.To this end, in the related art, one worker proceeds in a role-playing manner from the beginning to the end of the conversation. In this case, there is a problem that the working time is lengthened and the conversation content and style are gradually restricted. In the end, this has a problem that it does not meet the purpose of the project to build various natural language dialogue datasets.

또한, 위와 같은 경우에는 한 명의 작업자가 많은 작업을 한번에 진행해야 하기 때문에, 한 소스에 대한 작업 시간이 길어지게 되며, 이에 부담을 느끼는 작업자들은 해당 프로젝트 또는 작업 자체를 진입하지 않게 되어, 해당 프로젝트 또는 작업이 완료되는데에는 많은 시간이 소요되는 문제가 있었다.In addition, in the above case, because one worker has to do many tasks at once, the working time for one source is lengthened, and workers who feel burdened do not enter the project or task itself, There was a problem that it took a lot of time to complete the work.

공개특허공보 제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 crowdsourcing project execution method and apparatus for collecting various natural language conversation datasets that enable obtaining various work results rather than uniform results.

본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.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.

상기 과제를 해결하기 위한 본 발명의 일 면에 따른 크라우드소싱 프로젝트 수행 방법은, 복수의 자연어 대화 데이터셋의 목표치를 설정하는 단계, 상기 목표치에 따라 상기 복수의 자연어 대화 데이터셋에 상응하는 복수의 채널을 생성하는 단계, 작업자로부터 상기 크라우드소싱 프로젝트 참여 요청을 수신하는 단계, 상기 복수의 채널 중 어느 하나의 채널을 랜덤하게 결정하고, 상기 작업자를 상기 채널에 입장시키는 단계, 상기 채널을 통해 상기 작업자에게 하나의 발화를 입력하는 작업 수행을 요청하고, 상기 작업자로부터 상기 발화를 입력받는 단계, 및 상기 발화를 입력하는 작업 수행이 완료되면 상기 작업자를 상기 채널로부터 퇴장시키는 단계를 포함하고, 각각의 자연어 대화 데이터셋은 둘 이상의 발화 데이터로 구성된다.A method of performing a crowdsourcing project according to an aspect of the present invention for solving the above problem includes the steps of setting target values of a plurality of natural language conversation datasets, and a plurality of channels corresponding to the plurality of natural language conversation datasets according to the target values. Generating, receiving a request to participate in the crowdsourcing project from a worker, randomly determining any one of the plurality of channels, and entering the worker into the channel, to the worker through the channel Requesting to perform a task for inputting one utterance, receiving the utterance from the worker, and leaving the worker from the channel when the task for inputting the utterance is completed, and each natural language conversation The dataset consists of two or more speech data.

일부 실시예에서, 상기 방법은, 상기 채널을 통해 상기 작업자에게 상기 발화의 입력을 위한 조건, 상황, 컨텍스트 또는 시나리오를 제공한다.In some embodiments, the method provides a condition, situation, context, or scenario for inputting the utterance to the worker through the channel.

일부 실시예에서, 상기 채널을 통해 상기 작업자에게 하나의 발화를 입력하는 작업 수행을 요청하고, 상기 작업자로부터 상기 발화를 입력받는 단계는, 상기 채널을 통해 상기 채널의 최초 발화 또는 상기 채널의 이전 발화와 이어지는 다음 발화를 입력하는 작업 수행을 요청하는 것이다.In some embodiments, requesting the operator to perform a task of inputting one utterance through the channel, and receiving the utterance from the operator, the first utterance of the channel or the previous utterance of the channel through the channel Following with is a request to perform the task of entering the next utterance.

일부 실시예에서, 상기 방법은, 상기 채널의 상태를 입장 불가 상태로 전환하고, 검수자에게 상기 채널의 상기 작업자로부터 입력받은 발화에 대한 검수를 요청하는 단계, 및 상기 채널의 상기 작업자로부터 입력받은 발화에 대하여 검수 완료되면, 상기 채널의 상태를 입장 가능 상태로 전환하는 단계를 더 포함한다.In some embodiments, the method comprises the steps of: switching the channel state to a non-entry state, requesting an inspector to inspect the utterance input from the operator of the channel, and the utterance input from the operator of the channel Upon completion of the inspection, the step of switching the state of the channel to an entry-enabled state.

일부 실시에에서, 상기 작업자를 상기 채널로부터 퇴장시킨 후, 상기 복수의 채널 중 어느 하나의 채널을 랜덤하게 결정하고, 상기 작업자를 상기 채널에 입장시키는 단계와, 상기 채널을 통해 상기 작업자에게 하나의 발화를 입력하는 작업 수행을 요청하고, 상기 작업자로부터 상기 발화를 입력받는 단계와, 상기 발화를 입력하는 작업 수행이 완료되면 상기 작업자를 상기 채널로부터 퇴장시키는 단계를 반복 수행한다.In some embodiments, after leaving the worker from the channel, randomly determining any one of the plurality of channels, entering the worker into the channel, and giving the worker one A step of requesting to perform a task of inputting an utterance, receiving input of the utterance from the worker, and a step of leaving the worker from the channel when the task of inputting the utterance is completed are repeatedly performed.

또한, 상기 작업자를 상기 채널로부터 퇴장시킨 후, 상기 복수의 채널 중 어느 하나의 채널을 랜덤하게 결정하고, 상기 작업자를 상기 채널에 입장시키는 단계는, 상기 복수의 채널 중 마지막 발화가 상기 작업자에 의해 입력된 채널은 제외하고, 상기 작업자를 입장시킬 어느 하나의 채널을 랜덤하게 결정한다.In addition, after leaving the worker from the channel, randomly determining any one of the plurality of channels and entering the worker into the channel, the last utterance of the plurality of channels is performed by the worker. Excluding the input channel, any one channel to which the operator is to be admitted is randomly determined.

일부 실시예에서, 상기 방법은, 상기 채널에 하나의 작업자만을 입장시키고, 둘 이상의 작업자를 동시에 입장시키지 않는다.In some embodiments, the method allows only one worker to enter the channel and does not enter two or more workers at the same time.

일부 실시예에서, 상기 방법은, 상기 복수의 채널 중 상응하는 자연어 대화 데이터셋의 발화 데이터의 목표치가 검수 완료된 채널의 상태를 입장 불가 상태로 전환한다.In some embodiments, the method converts a state of a channel in which a target value of speech data of a corresponding natural language conversation data set among the plurality of channels has been reviewed, to a state in which entry is impossible.

상기 과제를 해결하기 위한 본 발명의 다른 면에 따른 컴퓨터 프로그램은, 하드웨어인 컴퓨터와 결합되어, 제1항 내지 제8항 중 어느 한 항의 크라우드소싱 프로젝트 수행 방법을 실행시키기 위하여 컴퓨터 판독가능 기록매체에 저장된다.A computer program according to another aspect of the present invention for solving the above problem is combined with a computer that is hardware, and is stored on a computer-readable recording medium to execute the crowdsourcing project execution method of any one of claims 1 to 8. Is saved.

상기 과제를 해결하기 위한 본 발명의 또 다른 면에 따른 크라우드소싱 프로젝트 수행 장치는, 크라우드소싱 프로젝트의 작업을 복수의 작업자에게 송신하고, 상기 복수의 작업자로부터 작업 결과를 수신하며, 상기 복수의 작업자로부터 입력된 작업 결과를 복수의 검수자에게 송신하고, 상기 복수의 검수자로부터 검수 결과를 수신하는 통신모듈, 상기 자연어 대화 데이터셋의 수집을 위한 컴퓨터 프로그램이 저장된 메모리, 및 상기 메모리에 저장된 컴퓨터 프로그램을 실행시킴에 따라, 복수의 자연어 대화 데이터셋의 목표치를 설정하고, 상기 목표치에 따라 상기 복수의 자연어 대화 데이터셋에 상응하는 복수의 채널을 생성하고, 상기 작업자의 상기 크라우드소싱 프로젝트 참여 요청에 따라, 상기 복수의 채널 중 어느 하나의 채널을 랜덤하게 결정하고, 상기 작업자를 상기 채널에 입장시키고, 상기 채널을 통해 상기 작업자에게 하나의 발화를 입력하는 작업 수행을 요청하고, 상기 작업자로부터 상기 발화를 입력받고, 상기 발화를 입력하는 작업 수행이 완료되면 상기 작업자를 상기 채널로부터 퇴장시키는 프로세서를 포함하고, 각각의 자연어 대화 데이터셋은 둘 이상의 발화 데이터로 구성된다.A crowdsourcing project execution apparatus according to another aspect of the present invention for solving the above problem, transmits a work of a crowdsourcing project to a plurality of workers, receives work results from the plurality of workers, and receives from the plurality of workers. A communication module that transmits the input work results to a plurality of inspectors and receives the inspection results from the plurality of inspectors, a memory in which a computer program for collecting the natural language conversation data set is stored, and a computer program stored in the memory is executed. According to, target values of a plurality of natural language conversation datasets are set, a plurality of channels corresponding to the plurality of natural language conversation datasets are generated according to the target values, and according to a request of the worker to participate in the crowdsourcing project, the plurality of Randomly determine any one of the channels of, enter the operator into the channel, request the operator to perform a task of inputting one utterance through the channel, and receive the utterance from the operator, And a processor that exits the operator from the channel when the operation of inputting the utterance is completed, and each natural language conversation data set is composed of two or more utterance data.

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

상술한 과제의 해결 수단에 의하면, 한 명의 작업자가 대화의 시작부터 종결까지 롤플레잉 방식으로 진행하는 경우에 비하여 보다 다양한 자연어 대화 데이터셋의 수집이 가능하다는 장점이 있으며, 자연어 대화 데이터셋의 수집을 위하여 소요되는 작업 시간이 감소하고 각 작업자의 작업 부담도 경감되어 전체적으로 프로젝트가 신속하게 완료될 수 있는 장점이 있다.According to the means for solving the above-described problems, there is an advantage in that it is possible to collect more diverse natural language conversation datasets than when one worker proceeds from the beginning to the end of conversation in a role-playing manner, and it is possible to collect natural language conversation datasets. There is an advantage that the overall project can be completed quickly because the work time required for this is reduced and the work burden of each worker is also reduced.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.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은 본 발명의 일 실시예에 따른 다양한 자연어 대화 데이터셋 수집을 위한 크라우드소싱 프로젝트 수행 장치 장치를 설명하기 위한 도면이다.
1 is a conceptual diagram of a crowdsourcing service according to an embodiment of the present invention.
2 is a flowchart illustrating a process of a crowdsourcing project according to an embodiment of the present invention.
3 is a flowchart of a crowdsourcing project execution method for collecting various natural language conversation data sets according to an embodiment of the present invention.
4 is a diagram for explaining an example of a channel corresponding to a natural language conversation data set.
5 is an example of a case where the first utterance starts.
6 and 7 are examples of a case in which continuous speech continues to a previous conversation.
FIG. 8 is a diagram illustrating an apparatus for performing a crowdsourcing project for collecting various natural language conversation data sets according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 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 project (hereinafter, referred to as a project).

의뢰자(10)는 소스 데이터의 수집 또는 데이터 어노테이션 등을 목적으로 프로젝트를 의뢰한다. 소스 데이터의 수집은 녹음된 음성 수집, 사진 수집 등 가공되지 않은 데이터를 수집하는 것을 의미한다. 데이터 어노테이션은 텍스트, 사진, 비디오 등의 소스 데이터에 관련 주석 데이터를 입력하는 것을 의미한다. 예들 들어, 데이터 어노테이션은 주어진 지문에서 개체를 찾는 것, 유사한 문장을 찾는 것 등이 있을 수 있으나 이에 제한되지 않는다. 한편, 전술한 프로젝트의 종류는 일 실시예에 불과하며, 의뢰자의 설계에 따라 다양한 프로젝트가 본 발명에서 취급될 수 있다.The requester 10 requests a project for the purpose of collecting source data or annotating data. 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)가 제공하는 애플리케이션 또는 웹사이트 등을 통해 플랫폼에 오픈된 프로젝트에 참여할 수 있다. 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.

대중(30)은 작업자(32) 및 검수자(34)로 구성된다.The public 30 is 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 pass or reject the job, and may input a reason for rejection when returning the job.

도 2는 본 발명의 일 실시예에 따른 크라우드소싱 프로젝트의 진행 프로세스를 설명하기 위한 흐름도이다. 2 is a flowchart illustrating a process of a crowdsourcing project 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)는 프로젝트 오픈 전에, 해당 프로젝트의 난이도 등을 고려하여 등급을 결정할 수 있다. 즉, 난이도에 따라 어떤 등급 이상의 대중(30)에게 해당 프로젝트를 노출시킬지를 결정할 수 있다. 이에 따라, 프로젝트의 작업 결과의 신뢰도를 높일 수 있게 된다.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. That is, depending on the difficulty level, it is possible to determine which level or higher public 30 to expose the project. Accordingly, it is possible to increase the reliability of the work result of the project.

이후, 서비스 제공 업체(20)는 프로젝트의 등급에 따라 해당 등급 이상의 작업자(32)에게 작업을 배정한다(S13).Thereafter, the service provider 20 allocates a task to the workers 32 of the corresponding grade or higher according to the grade of the project (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 inspection work on the work result to the inspector 34 (S16).

이후, 검수자(34)는 배정된 검수를 수행하게 된다(S17). 이때, 검수자(34)는 작업이 제대로 수행된 것으로 판단하면 검수 통과를 결정하고, 검수 작업이 잘못된 것으로 판단하면 반려를 결정한다. 반려 결정 시, 검수자(34)는 어떤 이유로 작업이 잘못된 것으로 판단했는지에 대한 반려 사유를 입력한다.Thereafter, the inspector 34 performs the assigned inspection (S17). At this time, the inspector 34 decides to pass the inspection when it is determined that the work has been properly performed, and determines rejection when it is determined that the inspection work is wrong. When deciding to reject, the inspector 34 inputs the rejection reason for what reason the task was judged to be wrong.

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

검수 결과가 통과인 경우, 서비스 제공 업체(20)는 해당 작업 결과를 유효한 데이터로 사용하여, 이를 기반으로 하여 프로젝트 종료 시 최종 산출물을 추출하게 된다.If the inspection result is Pass, 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)에게 다시 작업을 배정하여 작업을 수행하게 할 수도 있다.If the inspection result is rejected, the service provider 20 may internally perform the inspection again or assign the job again to the worker 32 to perform the job.

이후, 서비스 제공 업체(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, 랩톱, 데스크톱, 서버 등과 같은 컴퓨터 장치 또는 전기 통신 장치를 의미한다.Meanwhile, in FIGS. 1 and 2, the client 10, the service provider 20, the worker 32, and the inspector 34 are simply expressed, but these are smartphones, tablets, PDAs, and laptops operated by each participant. It means a computer device or a telecommunication device such as a desktop or a server.

도 3은 본 발명의 일 실시예에 따른 다양한 자연어 대화 데이터셋 수집을 위한 크라우드소싱 프로젝트 수행 방법의 순서도이다. 도 4는 자연어 대화 데이터셋에 상응하는 채널의 예시를 설명하기 위한 도면이다.3 is a flowchart of a crowdsourcing project execution method for collecting various natural language conversation data sets according to an embodiment of the present invention. 4 is a diagram for explaining an example of a channel corresponding to a natural language conversation data set.

한편, 도 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)의 단말 장치는 스마트폰, 태블릿, 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 worker 32 may be a computer device or a telecommunication device such as a smart phone, tablet, PDA, laptop, desktop, etc., but is not limited thereto.

도 3을 참조하면, 서버는 복수의 자연어 대화 데이터셋의 목표치를 설정한다(S105).Referring to FIG. 3, the server sets target values of a plurality of natural language conversation data sets (S105).

하나의 프로젝트는 복수의 작업을 포함한다. 복수의 작업은 종류에 따라 복수의 태스크로 그룹화될 수 있고, 또는 각각의 작업이 서로 다른 종류의 작업일 수도 있으며, 동일한 작업일 수도 있지만, 이에 제한되는 것은 아니다.One project contains multiple tasks. The plurality of jobs may be grouped into a plurality of tasks according to types, or each job may be a different type of job or the same job, but is not limited thereto.

본 발명의 일 실시예에서, 프로젝트는, 복수의 자연어 대화 데이터셋을 수집하기 위한 프로젝트일 수 있으며, 이 경우 작업은 작업자에게 직접 발화를 입력하도록 하는 작업일 수 있다.In an embodiment of the present invention, the project may be a project for collecting a plurality of natural language conversation datasets, and in this case, the task may be a task of allowing a worker to directly input a speech.

각각의 자연어 대화 데이터셋은 둘 이상의 발화 데이터로 구성된다. 발화는 어떤 생각이 말이나 음성으로 표현된 것을 말한다. 둘 이상의 발화가 대화를 구성한다.Each natural language conversation dataset consists of two or more speech data. Speech is when an idea is expressed in words or voice. Two or more utterances make up the conversation.

목표치는 자연어 대화 데이터셋의 개수 및 각각의 자연어 대화 데이터셋을 구성하는 발화 데이터의 개수에 관한 목표치를 의미한다. 예를 들어, 100개의 자연어 대화 데이터셋을 수집하는 것이 목표이고, 각각의 자연어 대화 데이터셋은 10개의 발화 데이터로 구성될 수 있다. 이 경우, 전체적으로는 1000개의 발화 데이터를 수집하게 되는 것이다.The target value means a target value for the number of natural language conversation data sets and the number of speech data constituting each natural language conversation data set. For example, a goal is to collect 100 natural language conversation data sets, and each natural language conversation data set may consist of 10 speech data. In this case, as a whole, 1000 speech data are collected.

이하 본 발명의 설명에서는 도 4를 함께 참조하여 채널을 이용하여 다양한 자연어 대화 데이터셋을 수집하기 위한 프로젝트를 예로 들어 설명하도록 한다.In the following description of the present invention, a project for collecting various natural language conversation data sets using channels will be described as an example with reference to FIG. 4.

다음으로, 서버는 목표치에 따라 복수의 자연어 대화 데이터셋에 상응하는 복수의 채널을 생성한다(S110).Next, the server generates a plurality of channels corresponding to the plurality of natural language conversation datasets according to the target value (S110).

서버는 작업자로부터 크라우드소싱 프로젝트 참여 요청을 수신하고(S115), 복수의 채널 중 어느 하나의 채널을 랜덤하게 결정하여, 참여 요청을 송신한 상기 작업자를 결정된 상기 채널에 입장시킨다(S120).The server receives the crowdsourcing project participation request from the worker (S115), randomly determines any one of the plurality of channels, and enters the worker who transmitted the participation request to the determined channel (S120).

본 발명의 일 실시예는 자연어 대화 데이터셋에 상응하도록 채널을 생성하게 되고, 작업자(32)는 채널에 입장해야만 발화를 입력하는 작업을 수행할 수 있다.According to an embodiment of the present invention, a channel is created to correspond to a natural language conversation dataset, and the operator 32 can perform a task of inputting a speech only when entering the channel.

예를 들어 도 4를 참조하면, 100개의 자연어 대화 데이터셋에 각각 상응하는 100개의 채널이 생성된다. 그리고 작업자는 100개의 채널 중 어느 하나의 채널에 랜덤하게 입장하게 된다.For example, referring to FIG. 4, 100 channels corresponding to 100 natural language conversation datasets are generated. And the operator randomly enters any one of the 100 channels.

일 실시예로, 서버는 작업자(32)로부터 크라우드소싱 프로젝트 참여 요청을 수신하면, 참여하고자 하는 프로젝트에 대하여 생성된 복수의 채널 중 랜덤한 순서로 특정 채널에 작업자(32)를 입장시키게 된다.In one embodiment, when the server receives a request to participate in a crowdsourcing project from the worker 32, the server enters the worker 32 into a specific channel in a random order among a plurality of channels generated for the project to be participated.

전술한 도 4의 예시인 총 100개의 자연어 대화 데이터셋이 수집되어야 하는 프로젝트에 있어서, 서버는 임의의 작업자를 100개의 채널 중 랜덤한 순서로 '채널 2'로 입장시켜 타 작업자에 의해 이미 입력된 5번째 발화에 이어서 다음 발화인 6번째 발화를 입력하도록 할 수 있다. In the project in which a total of 100 natural language conversation datasets, which is the example of FIG. 4 described above, must be collected, the server enters a random worker into'Channel 2'in a random order among 100 channels, and is already input by another worker. Following the fifth utterance, the next utterance, the sixth utterance, can be entered.

이때, 본 발명의 일 실시예는 다양한 자연어 대화 데이터셋을 수집하는 것을 목적으로 하는바, 복수의 채널 중 마지막 발화가 동일한 작업자에 의해 입력된 채널은 제외하고, 작업자(32)를 입장시킬 어느 하나의 채널을 랜덤하게 결정할 수 있다. 즉, 어느 채널이든 이미 작업을 수행하여 그 채널의 마지막 발화를 입력한 작업자와 상이한 작업자를 해당 채널로 입장시키게 된다.At this time, an embodiment of the present invention aims to collect various natural language conversation datasets, except for a channel in which the last utterance is input by the same operator among a plurality of channels, one to enter the operator 32 The channel of can be randomly determined. That is, in any channel, a worker different from the worker who has already performed the work and input the last utterance of the channel enters the channel.

즉, 전술한 '채널 2'에서 5번째 발화의 입력이 완료된 경우, 5번째 발화를 입력한 작업자 A는 '채널 2'로의 입장이 불가한 상태가 되며, 작업자 A가 아닌 타 작업자들만이 '채널 2'로의 입장이 가능하여 5번째 발화에 이은 6번째 발화를 입력할 수 있다.That is, when the input of the 5th utterance in'Channel 2'described above is completed, the operator A who inputs the 5th utterance is not allowed to enter'Channel 2', and only other workers other than worker A It is possible to enter 2', so you can enter the 6th utterance following the 5th utterance.

마찬가지로, 6번째 발화가 작업자 B에 의해 입력된 경우 작업자 B는 '채널 2'로의 입장이 불가한 상태가 되며, 작업자 A를 포함한 타 작업자들만이 '채널 2'로의 입장이 가능하여 6번째 발화에 이은 7번째 발화를 입력할 수 있다.Likewise, if the 6th ignition is input by worker B, worker B cannot enter'Channel 2', and only other workers including worker A can enter'Channel 2', so that the 6th utterance This can input the 7th utterance.

물론, 작업자 A는 '채널 2'가 아닌 다른 채널은 얼마든지 입장 가능하다.Of course, worker A can enter any channel other than'Channel 2'.

한편, 특정 채널에 어느 작업자가 입장하게 되면 다른 작업자는 동일한 해당 채널에의 입장이 제한되며, 해당 채널 내의 작업자가 퇴장하는 경우 입장이 가능하다. 즉, 채널에는 하나의 작업자만 입장할 수 있고, 둘 이상의 작업자가 동시에 입장할 수 없다.On the other hand, when a certain worker enters a specific channel, other workers are restricted from entering the same channel, and when a worker in the corresponding channel leaves, it is possible to enter. That is, only one worker can enter the channel, and two or more workers cannot enter the channel at the same time.

다음으로, 서버는 작업자(32)가 입장한 채널을 통해 작업자에게 발화를 입력하는 작업 수행을 요청하고, 작업자(32)로부터 발화를 입력받는다(S125).Next, the server requests the operator to perform a task of inputting an utterance through the channel to which the operator 32 enters, and receives the utterance from the operator 32 (S125).

일 실시예로, 서버는 하나의 채널을 통해 하나의 발화만을 입력하는 작업 수행을 요청하고, 작업자(32)는 하나의 발화만을 입력함으로써 해당 작업을 완료할 수 있다. In one embodiment, the server requests to perform a task of inputting only one utterance through one channel, and the worker 32 may complete the task by inputting only one utterance.

일 실시예로, 서버는 채널을 통해 상기 채널의 최초 발화 또는 상기 채널의 이전 발화와 이어지는 다음 발화를 입력하는 작업 수행을 요청하고, 작업자(32)로부터 하나의 발화를 입력받을 수 있다.In an embodiment, the server may request to perform a task of inputting the first utterance of the channel or the next utterance following the previous utterance of the channel through a channel, and may receive one utterance from the operator 32.

즉, 서버는 채널을 통해 상기 채널의 최초 발화를 작업자(32)로부터 입력받는 경우가 있을 수 있다. 이와 같이, 채널 내에서 이전에 수행된 발화가 존재하지 않는 경우, 서버는 의뢰자(10)에 의해 요구된 주제에 적합한 발화를 작업자로 하여금 입력하도록 요청할 수 있다. 서버는 채널을 통해서 작업자에게 상기 발화의 입력을 위한 조건, 상황, 컨텍스트 또는 시나리오를 제공할 수 있다. 또한, 일 실시예에서, 랜덤한 발화를 작업자(32)가 입력하도록 요청할 수도 있다.That is, the server may receive the first utterance of the channel from the operator 32 through the channel. In this way, when there is no previously performed utterance in the channel, the server may request the operator to input a utterance suitable for the subject requested by the client 10. The server may provide a condition, situation, context, or scenario for inputting the utterance to a worker through a channel. In addition, in an embodiment, the operator 32 may request to input a random speech.

이와 더불어, 서버는 채널을 통해 상기 채널의 이전 발화에 이어 연속되는 발화에 대하여 작업자(32)로부터 입력받을 수 있다. 이 경우에는 전술한 바와 같이, 이전 발화를 입력한 작업자(32)는 연속되는 발화를 입력할 수 없으며, 상이한 타 작업자만이 연속되는 발화를 입력할 수 있다. 이전 발화는 하나 이상 입력되어 있을 수 있다. In addition, the server may receive input from the operator 32 for the continuous utterance following the previous utterance of the channel through the channel. In this case, as described above, the worker 32 who has input the previous utterance cannot input the continuous utterance, and only different workers can input the continuous utterance. One or more previous utterances may have been entered.

일 실시예로, 채널을 통해 어느 하나의 작업자로부터 발화가 입력되는 동안, 서버는 해당 채널의 상태를 타 작업자의 입장이 불가한 입장 불가 상태로 전환할 수 있다.In an embodiment, while an utterance is input from one worker through a channel, the server may switch the state of the corresponding channel to a state in which the entry of other workers is impossible.

예를 들어, '채널 2'에 작업자 A가 입장하여 5번째 발화를 입력하고 있는 중, 타 작업자 B를 '채널 2'로 입장시키게 되면 동일한 5번째 발화를 동시에 입력하게 되는 문제가 발생할 수 있는바, 해당 '채널 2'는 발화 입력이 시작되어 완료되기 전까지 타 작업자들의 입장이 제한될 수 있다.For example, while worker A enters'Channel 2'and inputs the 5th utterance, if another worker B enters'Channel 2', the same 5th utterance may be input at the same time. , In the'Channel 2', the entrance of other workers may be restricted until the utterance input starts and is completed.

다음으로, 서버는 발화를 입력하는 작업 수행이 완료되면 작업자(32)를 해당 채널로부터 퇴장시킨다(S130).Next, when the operation of inputting the utterance is completed, the server leaves the worker 32 from the corresponding channel (S130).

일 실시예로, 작업자(32)가 하나의 발화를 입력하고 입력 완료 버튼 또는 다음 작업 버튼을 클릭하면, 서버는 작업자(32)를 채널로부터 자동으로 퇴장시킬 수 있다.In one embodiment, when the worker 32 inputs one utterance and clicks the input completion button or the next job button, the server may automatically exit the worker 32 from the channel.

작업자(32)를 상기 채널로부터 퇴장시킨 후, 서버는 복수의 채널 중 어느 하나의 채널을 다시 랜덤하게 결정하고, 작업자(32)를 결정된 채널에 입장시키며, 작업자(32)는 입장한 채널 내에서 다시 발화를 입력하는 작업을 수행하게 된다. 이 때 입장하는 채널은 상술한 바와 같이 앞서 입장한 채널과 다른 채널이다. 그리고, 발화의 입력이 완료되면 서버는 작업자(32)를 채널로부터 퇴장시키고, 작업자(32)가 더 이상 프로젝트 참여를 원하지 않을 때까지 이를 계속 반복 수행하게 된다.After leaving the worker 32 from the channel, the server randomly determines any one of the plurality of channels again, enters the worker 32 into the determined channel, and the worker 32 enters the channel. The task of entering the utterance again is performed. In this case, the entry channel is a channel different from the previously entered channel, as described above. In addition, when the input of the utterance is completed, the server leaves the worker 32 from the channel, and continues to perform this repeatedly until the worker 32 no longer wants to participate in the project.

한편, 복수의 채널 중 상응하는 자연어 대화 데이터셋의 발화 데이터의 목표치가 채워진(즉, 발화가 모두 입력되고 검수까지 완료된) 채널의 상태는 모든 작업자에 대하여 입장 불가 상태로 전환된다. 예를 들어, 채널에의 입장이 랜덤하게 결정되어, 특정 채널이 먼저 100개의 발화 데이터를 모두 입력받고 후술하게 될 검수까지 완료되었다면 상기 채널은 입장 불가 상태가 된다. 이후 채널에의 입장을 랜덤하게 결정함에 있어서 상기 채널은 제외된다. 작업자는 잔여 작업이 존재하는 채널에만 입장이 가능하며, 작업이 모두 완료된 채널은 어느 작업자도 입장이 불가하다.Meanwhile, among the plurality of channels, the state of the channel in which the target value of the utterance data of the corresponding natural language conversation dataset is filled (that is, all utterances have been input and completed until the inspection) is switched to a state in which all workers cannot enter. For example, if entry to a channel is randomly determined, and a specific channel receives all 100 speech data first, and the inspection, which will be described later, is completed, the channel becomes inaccessible. Subsequently, the channel is excluded in randomly determining admission to the channel. Workers can only enter the channel where the remaining work exists, and no worker can enter the channel where all work has been completed.

예를 들어, 100개의 채널 중 '채널 2'에 입장한 작업자 A가 5번째 발화 입력을 완료하면 서버는 작업자 A를 '채널 2'에서 자동으로 퇴장시킨다. 이 경우 다른 작업자에 의해 '채널 2'의 6번째 발화 입력이 완료되지 않는 한 작업자 A는 '채널 2'로의 입장이 불가하며, 서버는 '채널 2'를 제외한 나머지 잔여 작업(발화 입력)이 존재하는 채널을 대상으로 작업자 A를 랜덤하게 입장시키게 된다.For example, when worker A who enters'Channel 2'among 100 channels completes the fifth utterance input, the server automatically exits worker A from'Channel 2'. In this case, operator A cannot enter'Channel 2'unless another operator completes the input of the 6th utterance of'Channel 2', and the server has remaining work (ignition input) except for'Channel 2'. Worker A is randomly entered for the channel to be used.

또한, 하나의 대화 세트가 10개의 발화로 구성되어 하나의 채널을 통해 10개의 발화를 입력해야 하는 경우에 있어서, '채널 2'에서 10번째 발화 입력이 완료되고 검수까지 완료됨에 따라 해당 '채널 2'는 모든 작업자의 입장이 불가한 상태로 설정되게 된다.In addition, when one conversation set is composed of 10 speeches and it is necessary to input 10 speeches through one channel, the corresponding "channel 2" is completed as the 10th speech input is completed in'channel 2'and until inspection is completed. 'Is set to a state in which all workers cannot enter.

일 실시예로, 서버는 발화가 입력된 채널의 상태를 입장 불가 상태로 전환하고, 검수자에게 상기 채널의 작업자로부터 입력받은 발화에 대한 검수를 요청하고(S135), 검수자로부터 통과라는 검수 결과를 받아 상기 발화에 대해 검수 완료되면 채널의 상태를 입장 가능 상태로 전환한다(S140). In one embodiment, the server converts the state of the channel into which the utterance has been input to a state that cannot be entered, requests an inspector to inspect the utterance input from the operator of the channel (S135), and receives the inspection result of passing from the inspector. Upon completion of the verification of the utterance, the state of the channel is switched to an entry-enabled state (S140).

검수자(34)로부터 검수 결과가 입력되는 동안 해당 채널은 어떤 작업자(32)의 입장도 불가한 입장 불가 상태로 설정된다. 이후, 검수 결과의 입력이 완료됨에 따라 채널의 상태가 입장 가능 상태로 전환된다.While the inspection result is input from the inspector 34, the corresponding channel is set to a state in which no entry of any operator 32 is allowed. Thereafter, as the input of the inspection result is completed, the state of the channel is switched to the entry-enabled state.

한편, 서버는 검수자(34)로부터 전달된 검수 결과가 반려라면, 상기 발화를 입력한 작업자(32)에게 재 작업을 요청할 수 있을 것이다. 또는, 작업자(32)의 반려된 발화를 삭제하고, 해당 채널에 동일 또는 새로운 작업자를 입장시켜 새로운 발화를 입력하도록 할 수 있다.On the other hand, if the inspection result transmitted from the inspector 34 is rejected, the server may request rework from the operator 32 who has entered the utterance. Alternatively, the rejected utterance of the worker 32 may be deleted, and the same or new worker may enter the corresponding channel to input a new utterance.

이하에서는 전술한 본 발명의 일 실시예에 따른 크라우드소싱 프로젝트 수행 방법에 대하여 도 5 이하에 도시된 예시를 참조하여 설명하도록 한다.Hereinafter, a method of performing a crowdsourcing project according to an embodiment of the present invention will be described with reference to an example shown in FIG. 5 below.

도 5는 최초 발화가 시작되는 경우의 일 예시이다.5 is an example of a case where the first utterance starts.

다양한 자연어 대화 데이터셋을 수집하기 위한 목적을 갖는 프로젝트에서는 복수의 발화 데이터로 구성된 하나의 자연어 대화 데이터셋별로 채널이 생성되게 되며, 하나의 발화 데이터는 하나의 작업을 통해서 입력될 수 있다. 작업자(32)는 채널에 랜덤하게 입장하게 되며, 채널을 통해 하나의 발화에 대한 입력이 완료되면 해당 채널을 퇴장하게 된다.In a project for the purpose of collecting various natural language conversation datasets, a channel is created for each natural language conversation dataset composed of a plurality of speech data, and one speech data can be input through one task. The worker 32 randomly enters the channel and exits the channel when input for one utterance is completed through the channel.

도 5는 이전에 수행된 발화가 존재하지 않는 경우, 즉 대화가 시작되는 경우로, 이 경우에는 작업자(32)로부터 최초 발화를 입력받을 수 있다.FIG. 5 shows a case in which a previously performed utterance does not exist, that is, when a conversation starts. In this case, an initial utterance may be input from the operator 32.

작업자(32)는 의뢰자(10)가 설정한 프로젝트 주제에 맞는 발화를 입력 창에 입력하거나, 또는 랜덤하게 대화를 시작해 나가는 발화를 입력창에 입력할 수 있다.The worker 32 may input a utterance that fits the project subject set by the client 10 into the input window, or input a utterance that starts a conversation at random into the input window.

도 5에서는 작업자(32)가 입력 창을 통해 "무엇을 도와드릴까요?"라는 최초 발화를 입력한 경우이다.In FIG. 5, the operator 32 inputs an initial utterance of "What can I do for you?" through an input window.

도 6 및 도 7은 이전 대화에 이어지는 발화가 이어지는 경우의 일 예시이다.6 and 7 are examples of a case in which utterance following a previous conversation continues.

도 6은 이전 대화가 존재하는 경우이며, 이전 대화에 대한 발화 전부는 상술한 바와 같이 검수자(34)에 의해 검수가 완료된 상태일 수 있다.6 shows a case where a previous conversation exists, and all of the utterances of the previous conversation may be in a state in which the inspection by the inspector 34 has been completed as described above.

그리고 이전 대화에 해당하는 발화로, "핸드폰을 구입하고 싶은데요", "네 어느 기종을 희망하십니까?", "갤럭시 노트 10이요", "희망하는 색상 및 용량은 어떻게 되십니까?", "용량은 256g인데, 색상은 뭐뭐 있나요?"가 이미 입력 완료된 상태이다.And with the utterance corresponding to the previous conversation, "I want to buy a mobile phone", "Which model do you want?", "Galaxy Note 10", "What color and capacity do you want?", "The capacity is 256g. But, what are the colors?" has already been entered.

복수의 작업자(32) 중 어느 한 작업자는 "용량은 256g인데, 색상은 뭐뭐 있나요?" 이후에 이어지는 발화를 입력하기 위한 채널로 랜덤하게 입장한 경우로, 이후 발화를 입력하게 되면 해당 채널을 퇴장하게 된다.One of the plurality of workers (32) said, "The capacity is 256g, but what are the colors?" It is a case of randomly entering a channel for inputting a subsequent utterance, and when the subsequent utterance is input, the corresponding channel is exited.

한편, 발화를 입력하기 위한 채널은 랜덤하게 작업자(32)에게 배정되는바, 상기 작업자(32)가 채널을 퇴장후 다음 작업 수행 버튼을 입력하면 도 7과 같이 "안녕하세요"라는 인사를 각각 나눈 경우만 제공될 수도 있다. 이에 해당 작업자(32)는 "어떤 부분 도와드릴까요?"라는 발화 문장 1건을 입력한 후 해당 채널을 퇴장하게 된다.On the other hand, channels for inputting utterances are randomly assigned to the worker 32, and when the worker 32 exits the channel and presses the next task execution button, the greetings "Hello" are divided as shown in FIG. 7. May be provided. Accordingly, the worker 32 enters one utterance sentence “Which part can I help you with?” and then exits the channel.

작업자(32)가 하나의 발화를 입력한 후 해당 채널을 퇴장하게 되면(이를 1턴이라 한다), 해당 채널은 검수를 대기하는 입장 불가 상태로 전환되며 해당 발화를 입력한 작업자는 입장이 불가하게 된다. 또한 해당 채널에 대하여 검수 대기 중인 상황에서는 모든 작업자들이 채널로의 입장이 불가하게 된다.When the worker 32 enters one utterance and leaves the channel (this is referred to as one turn), the channel is switched to a state of entry impossible waiting for inspection, and the operator who inputs the utterance cannot enter. do. In addition, all workers are not allowed to enter the channel while waiting for inspection for the corresponding channel.

한편, 해당 채널은 검수자(34)에 의한 검수가 수행되게 되며 검수 화면에는 검수 완료 버튼, 반려 버튼 및 반려 사유 창이 생성된다. 이때, 검수자(34)가 작업을 반려하는 경우는 작업자(32)가 전혀 무관한 작업을 수행한 경우, 예를 들어 작업자(32)가 이전 발화와 전혀 무관한 발화를 입력한 경우일 수 있다.On the other hand, the channel is to be inspected by the inspector 34, and an inspection completion button, rejection button, and rejection reason window are generated on the inspection screen. In this case, the case where the inspector 34 rejects the work may be a case where the worker 32 performs a completely irrelevant task, for example, when the worker 32 inputs an utterance that is completely irrelevant to the previous utterance.

그리고 검수자(34)에 의해 검수가 완료됨에 따라 해당 채널은 입장 가능 상태로 전환되며, 채널의 상태가 전환됨에 따라 타 작업자들 중 어느 하나의 작업자는 해당 채널로 입장이 허용될 수 있다.In addition, as the inspection is completed by the inspector 34, the corresponding channel is switched to an accessible state, and as the state of the channel is switched, any one of the other workers may be allowed to enter the corresponding channel.

이때, 이전 발화를 입력한 작업자는 타 작업자에 의해 이전 발화에 이은 다음 발화의 입력이 없는 한 다시 해당 채널로의 입장이 불가하며, 다만 검수자에 의해 반려된 경우에는 해당 채널에 다시 입장하여 새로운 발화를 입력할 수 있다.At this time, the operator who has entered the previous utterance cannot enter the channel again unless there is an input of the next utterance following the previous utterance by another worker. You can enter

또한, 상황에 따라, 작업자가 동일한 채널에 재입장했을 때, 이전에 발화를 입력했던 롤(역할)이 아닌 다른 롤로서 발화를 입력할 수도 있다. 이로써, 더욱 다양하고 풍성한 자연어 대화 데이터셋이 구성되는 것이다.Also, depending on the situation, when the operator re-enters the same channel, the utterance may be input as a role other than the role (role) in which the utterance was previously input. As a result, a more diverse and rich natural language conversation dataset is constructed.

한편, 상술한 설명에서, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 후술하는 도 8의 내용은 도 1 내지 도 7 의 크라우드소싱 프로젝트 수행 방법에도 적용될 수 있다.Meanwhile, in the above description, 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. 8 to be described later may be applied to the method of performing the crowdsourcing project of FIGS. 1 to 7.

이하에서는 도 8을 참조하여, 본 발명의 일 실시예에 따른 다양한 자연어 대화 데이터셋 수집을 위한 작업 할당 장치(100)에 대하여 설명하도록 한다.Hereinafter, an apparatus 100 for allocating a task for collecting various natural language conversation datasets according to an embodiment of the present invention will be described with reference to FIG. 8.

도 8은 본 발명의 일 실시예에 따른 다양한 자연어 대화 데이터셋 수집을 위한 크라우드소싱 프로젝트 수행 장치(100)를 설명하기 위한 도면이다.FIG. 8 is a diagram illustrating a crowdsourcing project execution apparatus 100 for collecting various natural language conversation datasets according to an embodiment of the present invention.

도 8을 참조하면, 다양한 자연어 대화 데이터셋 수집을 위한 작업 할당 장치(100)는 통신모듈(110), 메모리(120) 및 프로세서(130)를 포함한다.Referring to FIG. 8, a task assignment device 100 for collecting various natural language conversation data sets includes a communication module 110, a memory 120, and a processor 130.

통신모듈(110)은 크라우드소싱 프로젝트의 작업을 복수의 작업자(32)에게 송신하고, 복수의 작업자(32)로부터 작업 결과를 수신한다. 그리고 복수의 작업자(32)로부터 입력된 작업 결과를 복수의 검수자(34)에게 송신하고, 복수의 검수자(34)로부터 검수 결과를 수신한다.The communication module 110 transmits the work of the crowdsourcing project to a plurality of workers 32 and receives work results from the plurality of workers 32. Then, the work results input from the plurality of workers 32 are transmitted to the plurality of inspectors 34, and the inspection results are received from the plurality of inspectors 34.

메모리(120)에는 자연어 대화 데이터셋의 수집을 위한 컴퓨터 프로그램이 저장된다. 이는 상술한 자연어 대화 데이터셋 수집을 위한 크라우드소싱 프로젝트 수행 방법이 컴퓨터 프로그램으로 구현된 것이다.A computer program for collecting a natural language conversation data set is stored in the memory 120. This is a computer program that implements the crowdsourcing project execution method for collecting the natural language conversation data set.

프로세서(130)는 메모리(120)에 저장된 프로그램을 실행시킨다. 프로세서(130)는 메모리(120)에 저장된 프로그램을 실행시킴에 따라, 상술한 자연어 대화 데이터셋 수집을 위한 크라우드소싱 프로젝트 수행 방법을 실행한다.The processor 130 executes a program stored in the memory 120. As the processor 130 executes the program stored in the memory 120, the above-described crowdsourcing project execution method for collecting the natural language conversation data set is executed.

도 8을 참조하여 설명한 작업 할당 장치(100)는 상술한 서버의 구성요소로 제공될 수 있다.The job allocation apparatus 100 described with reference to FIG. 8 may be provided as a component of the above-described server.

이상에서 전술한 본 발명의 일 실시예에 따른 다양한 자연어 대화 데이터셋 수집을 위한 크라우드소싱 프로젝트 수행 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 컴퓨터 프로그램(또는 어플리케이션)으로 구현되어 컴퓨터 판독가능 기록매체에 저장될 수 있다.The crowdsourcing project execution method for collecting various natural language conversation datasets according to an embodiment of the present invention described above is implemented as a computer program (or application) to be executed in combination with a computer, which is hardware, and is a computer-readable recording medium. Can be stored in.

상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(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 : 검수자
100 : 작업 할당 장치
110 : 통신모듈
120: 메모리
130 : 프로세서
10: Client
20: service provider
30: public
32: worker
34: inspector
100: task assignment device
110: communication module
120: memory
130: processor

Claims (10)

컴퓨터에 의해 수행되는 방법으로서,
복수의 자연어 대화 데이터셋의 목표치를 설정하는 단계;
상기 목표치에 따라 상기 복수의 자연어 대화 데이터셋에 상응하는 복수의 채널을 생성하는 단계;
작업자로부터 크라우드소싱 프로젝트 참여 요청을 수신하는 단계;
상기 복수의 채널 중 어느 하나의 채널을 랜덤하게 결정하고, 상기 작업자를 상기 채널에 입장시키는 단계;
상기 채널을 통해 상기 작업자에게 하나의 발화를 입력하는 작업 수행을 요청하고, 상기 작업자로부터 상기 발화를 입력받는 단계; 및
상기 발화를 입력하는 작업 수행이 완료되면 상기 작업자를 상기 채널로부터 퇴장시키는 단계를 포함하고,
각각의 자연어 대화 데이터셋은 둘 이상의 발화 데이터로 구성되고,
상기 채널의 상태를 입장 불가 상태로 전환하고, 검수자에게 상기 채널의 상기 작업자로부터 입력받은 발화에 대한 검수를 요청하는 단계; 및
상기 채널의 상기 작업자로부터 입력받은 발화에 대하여 검수 완료되면, 상기 채널의 상태를 입장 가능 상태로 전환하는 단계를 더 포함하고,
상기 작업자를 상기 채널로부터 퇴장시킨 후, 상기 복수의 채널 중 어느 하나의 채널을 랜덤하게 결정하고, 상기 작업자를 상기 채널에 입장시키는 단계와, 상기 채널을 통해 상기 작업자에게 하나의 발화를 입력하는 작업 수행을 요청하고, 상기 작업자로부터 상기 발화를 입력받는 단계와, 상기 발화를 입력하는 작업 수행이 완료되면 상기 작업자를 상기 채널로부터 퇴장시키는 단계를 반복 수행하고,
상기 작업자를 상기 채널로부터 퇴장시킨 후, 상기 복수의 채널 중 어느 하나의 채널을 랜덤하게 결정하고, 상기 작업자를 상기 채널에 입장시키는 단계는, 상기 복수의 채널 중 마지막 발화가 상기 작업자에 의해 입력된 채널은 제외하고, 상기 작업자를 입장시킬 어느 하나의 채널을 랜덤하게 결정하는,
크라우드소싱 프로젝트 수행 방법.
As a method performed by a computer,
Setting target values of a plurality of natural language conversation data sets;
Generating a plurality of channels corresponding to the plurality of natural language conversation datasets according to the target value;
Receiving a request to participate in a crowdsourcing project from a worker;
Randomly determining any one of the plurality of channels and entering the operator into the channel;
Requesting the operator to perform a task of inputting one utterance through the channel, and receiving the utterance input from the operator; And
When the operation of inputting the utterance is completed, leaving the worker from the channel,
Each natural language conversation dataset consists of two or more speech data,
Switching the state of the channel to a state in which no entry is allowed, and requesting an inspector to inspect the utterance input from the operator of the channel; And
Upon completion of the inspection of the utterance input from the operator of the channel, further comprising the step of switching the state of the channel to an entry enabled state,
After leaving the worker from the channel, randomly determining any one channel among the plurality of channels, entering the worker into the channel, and inputting one utterance to the worker through the channel Repetitively performing the steps of requesting execution and receiving the utterance from the worker, and the step of leaving the worker from the channel when the task of inputting the utterance is completed,
After leaving the worker from the channel, randomly determining any one channel among the plurality of channels, and entering the worker into the channel, the last utterance among the plurality of channels is input by the worker. Excluding the channel, randomly determining any one channel to enter the worker,
How to do a crowdsourcing project.
제1항에 있어서,
상기 채널을 통해 상기 작업자에게 상기 발화의 입력을 위한 조건, 상황, 컨텍스트 또는 시나리오를 제공하는,
크라우드소싱 프로젝트 수행 방법.
The method of claim 1,
Providing a condition, situation, context or scenario for inputting the utterance to the operator through the channel,
How to do a crowdsourcing project.
제1항에 있어서,
상기 채널을 통해 상기 작업자에게 하나의 발화를 입력하는 작업 수행을 요청하고, 상기 작업자로부터 상기 발화를 입력받는 단계는,
상기 채널을 통해 상기 채널의 최초 발화 또는 상기 채널의 이전 발화와 이어지는 다음 발화를 입력하는 작업 수행을 요청하는 것인,
크라우드소싱 프로젝트 수행 방법.
The method of claim 1,
The step of requesting the operator to perform a task of inputting one utterance through the channel, and receiving the utterance input from the operator,
To request to perform a task of inputting the first utterance of the channel or the next utterance following the previous utterance of the channel through the channel,
How to do a crowdsourcing project.
제1항에 있어서,
상기 검수자로부터 상기 채널의 상기 작업자로부터 입력받은 발화에 대한 검수 결과가 입력되는 동안 상기 채널의 상태는 상기 입장 불가 상태로 유지되고,
상기 검수 결과가 검수 통과이면, 상기 채널의 상태가 입장 가능 상태로 전환되고, 상기 검수 결과가 반려이면, 상기 발화를 입력한 상기 작업자에게 재 작업이 요청되는,
크라우드소싱 프로젝트 수행 방법.
The method of claim 1,
While the inspection result for the utterance input from the operator of the channel is input by the inspector, the state of the channel is maintained in the entry impossible state,
If the inspection result passes the inspection, the state of the channel is switched to an entry-enabled state, and if the inspection result is rejected, a rework request is made to the operator who has input the utterance,
How to do a crowdsourcing project.
제1항에 있어서,
상기 검수자로부터 상기 채널의 상기 작업자로부터 입력받은 발화에 대한 검수 결과가 입력되는 동안 상기 채널의 상태는 상기 입장 불가 상태로 유지되고,
상기 검수 결과가 검수 통과이면, 상기 채널의 상태가 입장 가능 상태로 전환되고, 상기 검수 결과가 반려이면, 상기 작업자가 입력한 발화를 삭제하고, 새로운 작업자를 상기 채널에 입장시켜 상기 새로운 작업자로부터 새로운 발화를 입력받는,
크라우드소싱 프로젝트 수행 방법.
The method of claim 1,
While the inspection result for the utterance input from the operator of the channel is input by the inspector, the state of the channel is maintained in the entry impossible state,
If the inspection result passes, the state of the channel is switched to an entry-enabled state, and if the inspection result is rejected, the utterance input by the operator is deleted, and a new operator enters the channel, Receiving input of speech,
How to do a crowdsourcing project.
제1항에 있어서,
상기 작업자를 상기 채널에 입장시키는 단계는,
상기 채널에 마지막 발화를 입력한 작업자와 상이한 작업자를 상기 채널에 입장시키는,
크라우드소싱 프로젝트 수행 방법.
The method of claim 1,
The step of entering the operator into the channel,
Entering into the channel a worker different from the worker who entered the last utterance in the channel,
How to do a crowdsourcing project.
제1항에 있어서,
상기 채널에 하나의 작업자만을 입장시키고, 둘 이상의 작업자를 동시에 입장시키지 않는,
크라우드소싱 프로젝트 수행 방법.
The method of claim 1,
Only one worker enters the channel, and does not enter two or more workers at the same time,
How to do a crowdsourcing project.
제1항에 있어서,
상기 복수의 채널 중 상응하는 자연어 대화 데이터셋의 발화 데이터의 목표치가 검수 완료된 채널의 상태를 입장 불가 상태로 전환하는,
크라우드소싱 프로젝트 수행 방법.
The method of claim 1,
Switching a state of a channel in which a target value of speech data of a corresponding natural language conversation data set among the plurality of channels has been verified, to a state in which entry is not possible,
How to do a crowdsourcing project.
하드웨어인 컴퓨터와 결합되어, 제1항 내지 제8항 중 어느 한 항의 크라우드소싱 프로젝트 수행 방법을 실행시키기 위하여 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium in combination with a computer as hardware and in order to execute the crowdsourcing project execution method of any one of claims 1 to 8. 다양한 자연어 대화 데이터셋 수집을 위한 크라우드소싱 프로젝트 수행 장치에 있어서,
크라우드소싱 프로젝트의 작업을 복수의 작업자에게 송신하고, 상기 복수의 작업자로부터 작업 결과를 수신하며, 상기 복수의 작업자로부터 입력된 작업 결과를 복수의 검수자에게 송신하고, 상기 복수의 검수자로부터 검수 결과를 수신하는 통신모듈;
상기 자연어 대화 데이터셋의 수집을 위한 컴퓨터 프로그램이 저장된 메모리; 및
상기 메모리에 저장된 컴퓨터 프로그램을 실행시킴에 따라, 복수의 자연어 대화 데이터셋의 목표치를 설정하고, 상기 목표치에 따라 상기 복수의 자연어 대화 데이터셋에 상응하는 복수의 채널을 생성하고, 상기 작업자의 상기 크라우드소싱 프로젝트 참여 요청에 따라, 상기 복수의 채널 중 어느 하나의 채널을 랜덤하게 결정하고, 상기 작업자를 상기 채널에 입장시키고, 상기 채널을 통해 상기 작업자에게 하나의 발화를 입력하는 작업 수행을 요청하고, 상기 작업자로부터 상기 발화를 입력받고, 상기 발화를 입력하는 작업 수행이 완료되면 상기 작업자를 상기 채널로부터 퇴장시키는 프로세서를 포함하고,
각각의 자연어 대화 데이터셋은 둘 이상의 발화 데이터로 구성되고,
상기 프로세서는 상기 채널의 상태를 입장 불가 상태로 전환하고, 검수자에게 상기 채널의 상기 작업자로부터 입력받은 발화에 대한 검수를 요청하고, 상기 채널의 상기 작업자로부터 입력받은 발화에 대하여 검수 완료되면, 상기 채널의 상태를 입장 가능 상태로 전환하고,
상기 프로세서는 상기 작업자를 상기 채널로부터 퇴장시킨 후, 상기 복수의 채널 중 어느 하나의 채널을 랜덤하게 결정하고, 상기 작업자를 상기 채널에 입장시키고, 상기 채널을 통해 상기 작업자에게 하나의 발화를 입력하는 작업 수행을 요청하고, 상기 작업자로부터 상기 발화를 입력받고, 상기 발화를 입력하는 작업 수행이 완료되면 상기 작업자를 상기 채널로부터 퇴장시키는 것을 반복 수행하고
상기 작업자를 상기 채널로부터 퇴장시킨 후, 상기 복수의 채널 중 어느 하나의 채널을 랜덤하게 결정하고, 상기 작업자를 상기 채널에 입장시키는 것은, 상기 복수의 채널 중 마지막 발화가 상기 작업자에 의해 입력된 채널은 제외하고, 상기 작업자를 입장시킬 어느 하나의 채널을 랜덤하게 결정하는,
크라우드소싱 프로젝트 수행 장치.
In a crowdsourcing project execution device for collecting various natural language conversation datasets,
Sending the work of the crowdsourcing project to a plurality of workers, receiving work results from the plurality of workers, sending the work results input from the plurality of workers to a plurality of inspectors, and receiving the inspection results from the plurality of inspectors Communication module;
A memory storing a computer program for collecting the natural language conversation data set; And
By executing the computer program stored in the memory, target values of a plurality of natural language conversation datasets are set, a plurality of channels corresponding to the plurality of natural language conversation datasets are generated according to the target values, and the crowd of the worker According to a request to participate in a sourcing project, randomly determining any one channel among the plurality of channels, entering the worker into the channel, requesting to perform a task of inputting one utterance to the worker through the channel, A processor that receives the utterance from the worker and leaves the worker from the channel when the task of inputting the utterance is completed,
Each natural language conversation dataset consists of two or more speech data,
The processor converts the state of the channel to a non-entry state, requests an inspector to inspect the utterance input from the operator of the channel, and when the utterance received from the operator of the channel is inspected, the channel Switch the state of the to be able to enter,
After leaving the worker from the channel, the processor randomly determines any one channel among the plurality of channels, enters the worker into the channel, and inputs one utterance to the worker through the channel. Requesting to perform a task, receiving the utterance from the worker, and when the task of inputting the utterance is completed, repeatedly performing the resigning of the worker from the channel, and
After leaving the operator from the channel, randomly determining any one channel among the plurality of channels and entering the operator into the channel means that the last utterance among the plurality of channels is input by the operator. Except for, randomly determining any one channel to enter the worker,
A device for performing crowdsourcing projects.
KR1020190119852A 2019-09-27 2019-09-27 Method and apparatus for performing crowdsourcing project for collecting various natural language conversation datasets KR102155873B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190119852A KR102155873B1 (en) 2019-09-27 2019-09-27 Method and apparatus for performing crowdsourcing project for collecting various natural language conversation datasets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190119852A KR102155873B1 (en) 2019-09-27 2019-09-27 Method and apparatus for performing crowdsourcing project for collecting various natural language conversation datasets

Publications (1)

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

Family

ID=72471342

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190119852A KR102155873B1 (en) 2019-09-27 2019-09-27 Method and apparatus for performing crowdsourcing project for collecting various natural language conversation datasets

Country Status (1)

Country Link
KR (1) KR102155873B1 (en)

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
JP2019036171A (en) * 2017-08-17 2019-03-07 Kddi株式会社 System for assisting in creation of interaction scenario corpus

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
JP2019036171A (en) * 2017-08-17 2019-03-07 Kddi株式会社 System for assisting in creation of interaction scenario corpus

Similar Documents

Publication Publication Date Title
KR102164844B1 (en) Method for evaluating workers using the unit of work difficulty of crowdsourcing based projects for artificial intelligence training data generation
US11507677B2 (en) Image classification modeling while maintaining data privacy compliance
KR102155790B1 (en) Method and apparatus for measuring competence of worker using average return rate
KR102232859B1 (en) Method for automatically generating a worker pool based on the functional elements and difficulty of crowdsourcing based projects for artificial intelligence training data generation
KR102155889B1 (en) Method for improving quality through secondary work on work results of other workers in a crowdsourcing based projects for artificial intelligence training data generation
KR102195629B1 (en) Method for selecting workers based on capability of work in crowdsourcing based projects for artificial intelligence training data generation
KR102155877B1 (en) Method for providing information of projects matching qualifications of crowdsourcing platform for artificial intelligence training data generation
CN115034886A (en) Default risk prediction method and device
KR102155839B1 (en) Method and apparatus for monitoring worker based on the reason for not wokring
KR102232874B1 (en) Method for evaluating new inspector using verification work result of crowdsourcing based project for artificial intelligence training data generation
KR102193426B1 (en) Apparatus for checking buildinng defects by participating of professionals and method thereof
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
KR102155873B1 (en) Method and apparatus for performing crowdsourcing project for collecting various natural language conversation datasets
KR102155846B1 (en) Method and apparatus for sampling inspection using the rate of return of previous work
KR102155854B1 (en) Keyword management method and apparatus for collecting various sentences
KR102156587B1 (en) Method for increase and decrease operating of worker and inspector of crowdsourcing based project for artificial intelligence training data generation
US20200184961A1 (en) Voice-enabled human tasks in process modeling
KR102164852B1 (en) Method for restricting participation of project considering urgent degree of crowdsourcing based project for artificial intelligence training data generation
KR102195631B1 (en) Method for automatically granting inspection authority to workers based on the results of the work of crowdsourcing based projects for artificial intelligence training data generation
KR102156586B1 (en) Method for sequentially assigning work and inspection 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
KR102205810B1 (en) Method for automatically returning rework result of crowdsourcing based project for artificial intelligence training data generation
KR102195956B1 (en) Method for updating maximum number of work limits according to work difficulty of crowdsourcing based project for artificial intelligence training data generation
CN114049126A (en) Security authentication method and device
KR102155866B1 (en) Method and apparatus for monitoring worker based on cause of return

Legal Events

Date Code Title Description
GRNT Written decision to grant