WO2017212956A1 - 情報処理装置、情報処理方法、及び、プログラム - Google Patents

情報処理装置、情報処理方法、及び、プログラム Download PDF

Info

Publication number
WO2017212956A1
WO2017212956A1 PCT/JP2017/019830 JP2017019830W WO2017212956A1 WO 2017212956 A1 WO2017212956 A1 WO 2017212956A1 JP 2017019830 W JP2017019830 W JP 2017019830W WO 2017212956 A1 WO2017212956 A1 WO 2017212956A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
difficulty level
information processing
feature amount
worker
Prior art date
Application number
PCT/JP2017/019830
Other languages
English (en)
French (fr)
Inventor
拓也 藤田
拓也 成平
章 中村
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to EP17810135.8A priority Critical patent/EP3471049A4/en
Priority to JP2018522420A priority patent/JP6958552B2/ja
Publication of WO2017212956A1 publication Critical patent/WO2017212956A1/ja

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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present technology relates to an information processing device, an information processing method, and a program, and more particularly, to an information processing device, an information processing method, and a program suitable for use in estimating a task difficulty level.
  • the actual time required for welding parts of each weight of the past worker is set to the current time required for the worker by using predetermined proficiency information. It is corrected. Then, a required time prediction formula is created based on the corrected required time for each weight component, and based on the required time prediction formula, the time required for the operator to weld the weight component given at the present time Is estimated.
  • Patent Document 1 it is difficult to estimate, for example, the time required for a task different from welding or the time required for an operator who does not have past actual time data.
  • the present technology makes it possible to easily estimate the task difficulty level.
  • An information processing apparatus includes an estimation unit that estimates a task difficulty level that is a difficulty level of the task based on information on the task.
  • Label compare, enumerate, evaluate, search, answer, answer, survey, organize, convert, summarize, association, analogy, generate, recommend, plan, refine, consult, talk, transport, manufacture, design, And one or a combination of two or more of the tests.
  • the estimation unit determines the task difficulty level based on at least one of the feature amount of the task, the feature amount of a sample to be processed by the task, and the feature amount of an operator who executes the task. Can be estimated.
  • the estimation unit can estimate the task difficulty level of different types of tasks based on at least the feature amount of each task.
  • the estimation unit may use a first model that estimates the task difficulty level based on at least one of the task feature amount, the sample feature amount, and the worker feature amount.
  • a first learning unit for learning the first model can be further provided.
  • the first learning unit learns the first model using the feature amount of each task and the feature amount of each worker obtained from the performance data of the task difficulty for each task of each worker. Can be done.
  • the task difficulty level can be set as the task difficulty level for a person.
  • the task difficulty level can be expressed based on at least one of an objective standard and a subjective standard of the task.
  • the second learning unit can further select the learning data based on the uncertainty of the machine for each data.
  • the presentation control unit can be controlled to present the task difficulty level for each worker individually for each worker.
  • the estimation unit can estimate the task difficulty level for each problem included in the text, and can estimate the difficulty level of the text based on the estimation result.
  • the information processing method includes an estimation step in which the information processing apparatus estimates a task difficulty level that is a difficulty level of the task based on information on the task.
  • the program according to one aspect of the present technology causes a computer to execute a process including an estimation step for estimating a task difficulty level, which is a difficulty level of the task, based on information on the task.
  • a task difficulty level that is the difficulty level of the task is estimated based on information on the task.
  • the task difficulty level can be easily estimated.
  • FIG. 1 is a block diagram illustrating an embodiment of an information processing system to which the present technology is applied. It is a block diagram which shows the structural example of a server. It is a block diagram which shows the structural example of the function implement
  • FIG. 1 shows an embodiment of an information processing system 1 to which the present technology is applied.
  • the information processing system 1 is configured to include a server 11 and clients 12-1 to 12-n.
  • the server 11 and the clients 12-1 to 12-n are connected to each other via the network 13 and communicate with each other.
  • the communication method of the server 11 and the clients 12-1 to 12-n can adopt any communication method regardless of wired or wireless.
  • the server 11 provides various services to users who use the clients 12-1 to 12-n.
  • the server 11 provides a crowdsourcing service.
  • the crowdsourcing service refers to a service that recruits workers who execute tasks using the Internet or the like and can place orders for and receive orders for tasks.
  • an orderer who requests a task uses the crowdsourcing service via the client 12 to place an order for the task or receive a deliverable that is the execution result of the task.
  • the worker uses a crowdsourcing service via the client 12 to receive an order for a task or send a deliverable.
  • the server 11 learns a model for executing various tasks (hereinafter referred to as a task execution model), and generates a task execution model. Further, the server 11 executes various tasks using the task execution model, presents the obtained products, and provides the products to the users who use the clients 12-1 to 12-n.
  • a task execution model for executing various tasks
  • the server 11 executes various tasks using the task execution model, presents the obtained products, and provides the products to the users who use the clients 12-1 to 12-n.
  • the clients 12-1 to 12-n include, for example, a mobile information terminal such as a smartphone, a tablet, a mobile phone, and a laptop personal computer, a desktop personal computer, a game machine, a video playback device, a music playback device, and the like.
  • the clients 12-1 to 12-n are configured by various wearable devices such as glasses, wristwatches, bracelets, necklaces, neckbands, earphones, headsets, and head mounts. .
  • the clients 12-1 to 12-n are used to use, for example, services and task deliverables provided by the server 11.
  • clients 12-1 to 12-n when it is not necessary to distinguish the clients 12-1 to 12-n from each other, they are simply referred to as clients 12.
  • FIG. 2 shows a configuration example of the server 11.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 105 is further connected to the bus 104.
  • An input unit 106, an output unit 107, a storage unit 108, a communication unit 109, and a drive 110 are connected to the input / output interface 105.
  • the input unit 106 is configured by an input device such as a keyboard, a mouse, and a microphone.
  • the output unit 107 includes, for example, a display, a speaker, and the like.
  • the storage unit 108 is configured by, for example, a hard disk or a nonvolatile memory.
  • the communication unit 109 includes, for example, a wired or wireless communication device, a network interface, and the like. An arbitrary communication method can be applied to the communication unit 109, and a plurality of communication methods can also be applied.
  • the drive 110 drives a removable medium 111 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 101 loads a program stored in the storage unit 108 to the RAM 103 via the input / output interface 105 and the bus 104 and executes the program, thereby performing a series of processes.
  • the program executed by the server 11 can be provided by being recorded in, for example, a removable medium 111 such as a package medium.
  • the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 108 via the input / output interface 105 by attaching the removable medium 111 to the drive 110. Further, the program can be received by the communication unit 109 via a wired or wireless transmission medium and installed in the storage unit 108. In addition, the program can be installed in advance in the ROM 102 or the storage unit 108.
  • each unit of the server 11 transmits and receives information and the like via the bus 104 and the input / output interface 105
  • description of the bus 104 and the input / output interface 105 is omitted.
  • the communication unit 109 supplies received data to the CPU 101 via the bus 104 and the input / output interface 105
  • the description of the bus 104 and the input / output interface 105 is omitted, and the communication unit 109 transmits the received data to the CPU 101. Expressed as supply.
  • FIG. 3 is a block diagram illustrating a configuration example of functions related to the present technology among the functions realized by the CPU 101 of the server 11.
  • the task related processing unit 202 is configured to include a difficulty level estimation model learning unit 211, a difficulty level estimation unit 212, a task execution model learning unit 213, and a task execution unit 214.
  • the feature amount extraction unit 201 extracts feature amounts of given data. For example, the feature amount extraction unit 201 extracts a feature amount of a task, a feature amount of a sample to be processed by the task, and a feature amount of an operator who executes the task.
  • the feature quantity extraction unit 201 supplies data indicating the feature quantity extraction result to the task related processing unit 202 or stores the data in the RAM 103 or the storage unit 108.
  • the difficulty level estimation model learning unit 211 learns the difficulty level estimation model.
  • the difficulty level estimation model is a model for estimating a task difficulty level indicating how difficult various tasks are for a person, and is a kind of task execution model for executing a task for estimating a task difficulty level.
  • the difficulty level estimation model learning unit 211 supplies information related to the difficulty level estimation model obtained as a result of learning to the presentation control unit 203 or causes the RAM 103 or the storage unit 108 to store the information.
  • the difficulty level estimation unit 212 uses the difficulty level estimation model generated by the difficulty level estimation model learning unit 211 to estimate the task difficulty level based on information about the task.
  • the difficulty level estimation unit 212 supplies the task difficulty level estimation result to each unit of the task related processing unit 202 and the presentation control unit 203, or causes the RAM 103 or the storage unit 108 to store the task difficulty level estimation result.
  • the task execution model learning unit 213 learns the task execution model excluding the difficulty level estimation model.
  • the task execution model learning unit 213 supplies information related to the task execution model obtained as a result of learning to the presentation control unit 203 or stores it in the RAM 103 or the storage unit 108.
  • the task execution unit 214 executes various tasks using the task execution model generated by the task execution model learning unit 213.
  • the difficulty level estimation unit 212 supplies a product obtained by executing a task to each unit of the task-related processing unit 202 and the presentation control unit 203 or stores the product in the RAM 103 or the storage unit 108.
  • the presentation control unit 203 controls the presentation of various types of information in the output unit 107 and the client 12. For example, the presentation control unit 203 controls presentation of a product that is a task execution result in the output unit 107 or the client 12.
  • the task for which the task difficulty level can be estimated using the difficulty level estimation model is not particularly limited as long as it is a human executable task.
  • the following are the types of tasks to which the difficulty level estimation model can be applied.
  • Labeling “Labeling” is a task of labeling a sample according to a predetermined condition, for example.
  • the following task corresponds to “labeling”.
  • Comparison “Comparison” is, for example, a task of comparing a plurality of samples. For example, the following task corresponds to “comparison”.
  • Enumeration is, for example, a task of enumerating samples that satisfy a predetermined condition. For example, the following tasks correspond to “enumeration”.
  • Evaluation “Evaluation” is a task for evaluating the performance of a task. For example, the following task corresponds to “evaluation”.
  • Search “Search” is, for example, a task of searching for a sample that satisfies a condition. For example, the following task corresponds to “search”.
  • Answer / answer / survey is, for example, a task of creating an answer to a question, creating an answer to a question, or investigating a question or problem. For example, the following task corresponds to “answer / answer / survey”.
  • Organizing is, for example, a task of organizing samples. For example, the following tasks correspond to “organization”.
  • Conversion / Summary is, for example, a task of transforming or summarizing information. For example, the following task corresponds to “conversion / summarization”.
  • Association / Analogue refers to, for example, a sample associated with a given condition, a relationship between a plurality of samples, or a sample corresponding to a given condition as another relationship. It is a task to make an analogy based on. For example, the following task corresponds to “association / analysis”.
  • Generation “Generation” is, for example, a task of generating a sample that satisfies a given condition. For example, the following task corresponds to “generation”.
  • a task related consultation is given to an orderer who has instructed a task from an operator who executes the task. For example, when the worker determines that there is insufficient information for the task “draw a bird illustration”, the worker may consult with the orderer in order to make the task content more specific.
  • This “task that generates a task instruction that embodies the contents of a task” can also be regarded as a kind of “generation” task. The deliverable of this task is, for example, a more specific task instruction.
  • Recommendation is, for example, a task of recommending a sample that satisfies a given condition. For example, the following task corresponds to “recommendation”.
  • Planning / detailing is, for example, a task of considering or detailing specific means for realizing a given purpose. For example, the following task corresponds to “plan / detail”.
  • Consultation / conversation is a task of, for example, consulting about a problem or talking with another person. For example, the following task corresponds to “consultation / conversation”.
  • Transport “Transport” is, for example, a task of transporting objects (including creatures such as people). For example, the following task corresponds to “transport”.
  • Manufacturing / Design is, for example, a task of creating or designing something. For example, the following task corresponds to “manufacturing / design”.
  • Test “Test” is a task for executing a test of a product or service, for example. For example, the following task corresponds to “test”.
  • each task is not necessarily clearly divided, and there are tasks included in a plurality of types and tasks combining a plurality of types.
  • task expression methods include single-label expression, multi-label expression, microtask expression, and natural sentence expression.
  • Single label expression expresses a task with one defined label. For example, in the single label expression, a task for labeling a bird is expressed by a single label “bird labeling”.
  • Multi-label expression expresses a task with a plurality of labels constituting the task. For example, in the multi-label expression, a task for labeling a bird is expressed by two labels “labeling” and “bird”.
  • Microtask expression is to express a task by breaking it down into microtasks.
  • the expression DescribeColor (Find (bird eagle)) is used for a task that labels the color of a bird eagle.
  • DescribeColor () is a microtask that represents the target color
  • Find () is a microtask that finds the target.
  • Natural sentence expression is to express a task in natural sentences.
  • the expression “if a bird is labeled,” is used for the task of labeling a bird.
  • Each expression method can be converted or combined with each other.
  • the task “Add True if there is a bird” shown in FIG. 4 is a task using a sample.
  • the task is given as a natural sentence and the image is given as a sample. Then, a True or False label is obtained as a product.
  • the task “add title to image” shown in FIG. 5 is a task using a sample.
  • the task is given as a natural sentence and the image is given as a sample. Then, a text such as “small dog” is obtained as a product.
  • the task of “listing what utterances are made when it is desired to increase the volume of the device” shown in FIG. 6 is a task that does not use a sample.
  • the task is given as a natural sentence and no sample is given. Then, texts such as “Make the sound louder”, “Raise the volume”, “Make the sound louder”, “Make it audible”, “Make it louder”, etc. are obtained as a product.
  • the task of “drawing a flower illustration” shown in FIG. 7 is a task that does not use a sample.
  • the task is given as a natural sentence and no sample is given. Then, an image is obtained as a product.
  • the difficulty level estimation model is a model for estimating a task difficulty level, which is a task difficulty level for a person as described above.
  • the difficulty level estimation model is represented by the function f1 of the following equation (1).
  • x1 is a vector representing the feature amount of task x1 (hereinafter referred to as a task vector).
  • x2 is a vector (hereinafter referred to as a sample vector) representing the feature amount of the sample x2 to be processed by the task x1.
  • x3 is a vector (hereinafter referred to as a worker vector) representing the feature quantity of the worker x3 who executes the task x1.
  • the function f1 is a difficulty level estimation model for estimating the task difficulty level y when the worker x3 executes the task x1 whose processing target is the sample x2. Further, by using this function f1, the difficulty level of different tasks (arbitrary tasks) can be estimated by one difficulty level estimation model.
  • the task difficulty level is expressed based on an objective standard or a subjective standard.
  • objective criteria include the time required for a task, the accuracy of the deliverable that is the result of executing the task, and the completeness of the deliverable.
  • the accuracy of the deliverable is represented by the correct answer rate of the deliverable, for example, in the case of a task with a correct answer. For example, a task with a higher correct answer rate has a lower task difficulty level, and a task with a lower correct answer rate has a higher task difficulty level.
  • the confidence level of the worker's task As subjective criteria, for example, the confidence level of the worker's task, the impression of the worker's task, and the like are used.
  • the certainty of the worker's task is expressed, for example, by the worker's confidence in the task deliverable. For example, a task having a higher percentage of workers who are confident with the deliverable has a lower task difficulty, and a task having a smaller percentage of workers having confidence in the deliverable has a higher task difficulty.
  • VQA Visual Question Answering
  • task difficulty level may be expressed using a plurality of criteria. When multiple criteria are used, task difficulty may be expressed using only objective criteria or only subjective criteria, or task difficulty may be expressed by combining objective criteria and subjective criteria. You may do it.
  • the task difficulty level is affected by tasks, samples, and workers.
  • the task difficulty level is affected by the difficulty level of the task itself, and the required task completion level and judgment criteria. For example, in the task of labeling whether or not a bird is shown in the image and the task of labeling the type of bird in the image, the former has a lower task difficulty, and the latter has a task difficulty. Becomes higher. Further, for example, in the case of a task of drawing a bird picture, the lower the degree of completion of the requested picture, the lower the task difficulty level, and the higher the required degree of completion of the picture, the higher the task difficulty level.
  • the task difficulty level is affected by the sample to be processed by the task. For example, if the image of FIG. 9A and the image of FIG. 9B are given as samples for the task of labeling whether or not a bird is reflected in the image, the task difficulty level for the image of FIG. This is lower than the task difficulty level for the image B in FIG.
  • the task difficulty is affected by, for example, the ability, knowledge, experience, etc. of the worker.
  • the task difficulty level of a task that requires motor nerves and reflexes is greatly influenced by the motor nerves and reflexes of the worker.
  • the task of labeling the type of bird in the image is easy for an operator who has knowledge of birds, and the task difficulty is low, but for an operator who does not have knowledge of birds. Is difficult and task difficulty is high.
  • the function f2 is a difficulty level estimation model in which input data is only a task vector.
  • the function f2 is used when estimating the task difficulty level of an arbitrary task of a type that does not use a sample such as “draw an illustration” or “listen to trouble” without considering the difference between workers. It is done.
  • the function f2 is used when the task difficulty level of an arbitrary task using a sample such as “with the title of sample x2” is estimated without considering the difference between the sample and the worker. .
  • the function f3 is a difficulty level estimation model in which the target task is determined in advance (the task is fixed) and the input data is only a sample vector.
  • the function f3 is used, for example, when estimating the task difficulty level for each sample of a predetermined task of the type that uses samples without considering the difference between workers.
  • the function f4 is a difficulty level estimation model in which a task is fixed and input data is only a worker vector.
  • the function f4 is used, for example, when estimating the task difficulty level for each worker of a predetermined task of a type that does not use a sample.
  • the function f4 is used, for example, when estimating the task difficulty level for each worker of a predetermined task of a type using a sample without considering the difference between samples.
  • the function f5 is a difficulty level estimation model in which input data is a task vector and a sample vector.
  • the function f5 is used when estimating the task difficulty level for each sample of an arbitrary task of the type using samples without considering the difference between workers.
  • the function f6 is a difficulty level estimation model in which input data is a task vector and a worker vector.
  • the function f6 is used when estimating the task difficulty level for each worker of an arbitrary task of a type that does not use a sample.
  • the function f6 is used when estimating the task difficulty level for each worker of an arbitrary task using a sample without considering the difference in the samples.
  • the function f7 is a difficulty level estimation model in which a task is fixed and input data is a sample vector and a worker vector.
  • the function f7 is used, for example, when estimating the task difficulty level for each sample and for each worker of a predetermined task of the type using samples.
  • step S1 the feature amount extraction unit 201 determines whether learning data has been input. If it is determined that learning data has been input, the process proceeds to step S2.
  • the learning data is data for learning the difficulty level estimation model, and includes input data and correct data indicating the task difficulty level for the input data.
  • the input data includes one or more of tasks, samples, and workers (data representing). Note that the type of data included in the input data differs depending on which difficulty level estimation model of the functions f1 to f7 described above is generated.
  • step S2 the feature amount extraction unit 201 extracts the feature amount of the input data of the learning data.
  • the feature amount extraction unit 201 extracts the feature amount of the task by the following method, for example.
  • the feature amount of the task is extracted by a method such as Bag-of-Words (BoWs), N-gram, RNN (Recurrent Neural network).
  • Bag-of-Words BoWs
  • N-gram N-gram
  • RNN Recurrent Neural network
  • the label is used as it is as a feature quantity.
  • the feature amount is represented by 1-hot encoding.
  • the feature quantity of the task is converted into a feature quantity using an embedded expression (embedding expression).
  • the feature amount is represented by an expression obtained by converting a categorical variable into an n-dimensional real variable.
  • the estimated time required for the task obtained by regression analysis using the task as input data and the required time per sample as the correct answer is used as the feature amount of the task. May be.
  • the feature quantity extraction unit 201 generates a task vector obtained by vectorizing the task feature quantity.
  • the feature amount extraction unit 201 extracts the feature amount of the sample by the following method, for example.
  • the feature amount of the text data is extracted using a technique such as BoWs, N-gram, NN (particularly RNN), for example.
  • image data is included in the sample, for example, features using NN (particularly CNN (Convolutional Neural Network)), HOG (Histograms of Oriented Gradients), SIFT (Scale-Invariant Feature Transform), SURF (Speeded Up Robust Features), Haar-Like and other features are extracted from the image data.
  • CNN Convolutional Neural Network
  • HOG Histograms of Oriented Gradients
  • SIFT Scale-Invariant Feature Transform
  • SURF Speeded Up Robust Features
  • Haar-Like Haar-Like and other features
  • NN Multi-Layer Perceptron
  • CNN Multi-Layer Perceptron
  • mel frequency cepstrum coefficients and the like are extracted from the voice data.
  • a parameter indicating surface roughness is extracted as a feature amount.
  • the concentration of a component related to taste is extracted as the feature value.
  • the concentration of a component related to odor is extracted as a feature quantity.
  • the feature amount extraction unit 201 generates a sample vector obtained by vectorizing the feature amount of the sample.
  • the feature amount extraction unit 201 generates a worker vector obtained by vectorizing the worker's feature amount.
  • the feature amount extraction unit 201 supplies learning data including each generated feature amount vector to the difficulty level estimation model learning unit 211.
  • step S3 the difficulty level estimation model learning unit 211 updates the model.
  • the difficulty level estimation model learning unit 211 updates the difficulty level estimation model by performing machine learning using a predetermined method using the acquired learning data.
  • learning a difficulty estimation model of an arbitrary task expressed in a natural sentence it includes at least a task and, if necessary, a sample, input data including an operator, and a time required for the task.
  • the regression analysis using the learning data including the correct answer data is performed.
  • the difficulty level estimation model learning unit 211 causes the storage unit 108 to store information on the updated difficulty level estimation model.
  • step S1 determines whether learning data has been input. If it is determined in step S1 that learning data has not been input, the processes in steps S2 and S3 are skipped, and the process proceeds to step S4.
  • step S4 the difficulty level estimation model learning unit 211 determines whether or not to continue learning. If it is determined to continue learning, the process returns to step S1.
  • step S4 After that, until it is determined in step S4 that the learning is to be finished, the processes in steps S1 to S4 are repeatedly executed to learn the difficulty level estimation model.
  • step S4 the difficulty level estimation model learning unit 211 determines that the learning is ended when the condition for ending the learning of the difficulty level estimation model is satisfied, and the difficulty level estimation model learning process ends.
  • one or more of the following conditions are set as conditions for ending learning of the difficulty level estimation model.
  • the task vector of each task and the worker vector of each worker are obtained based on the result data of the task difficulty level for each task of each worker, and used as learning data. Is also possible.
  • the left side of the following equation (8) represents the actual value of the task difficulty level (for example, the required time of the task) for each task of each worker by a matrix.
  • r nm indicates the task difficulty level of the worker n for the task m.
  • N represents the total number of workers, and M represents the total number of tasks.
  • the actual value of task difficulty level is not necessarily required for all combinations of workers and tasks.
  • the difficulty level estimation model learning unit 211 uses matrix decomposition to decompose the matrix on the left side of Equation (8) into an operator's latent vector group and a task's latent vector group as shown on the right side. To do.
  • the worker's latent vector group is composed of each worker's latent vector u 1 to latent vector u N
  • the task's latent vector group is composed of each task's latent vector v 1 to latent vector v N.
  • Latent vectors u n consists k elements from u n1 to u nk
  • latent vectors v m is of k elements from v n1 v to nk.
  • the task difficulty r nm to the task m the operator n is approximated by the inner product of latent vectors u n and latent vectors v m.
  • PMF Probabilistic Matrix Factorization
  • the task vector and the worker vector for the learning data of the difficulty level estimation model can be obtained based on the task difficulty result data without requiring the design of the feature amount by hand.
  • Task difficulty estimation processing executed by the server 11 will be described with reference to the flowchart of FIG. This process is started when, for example, input data to be used for estimating the task difficulty level is input to the server 11.
  • the input data includes one or more of tasks, samples, and workers (data representing).
  • step S101 the feature quantity extraction unit 201 extracts the feature quantity of the input data in the same manner as the process in step S2 of FIG. Then, the feature quantity extraction unit 201 supplies a feature quantity vector composed of the extracted feature quantities to the difficulty level estimation unit 212.
  • This feature vector includes one or more of a task vector, a sample vector, and an operator vector.
  • the difficulty level estimation unit 212 estimates the task difficulty level. Specifically, the difficulty level estimation unit 212 estimates the task difficulty level by applying the feature amount vector supplied from the feature amount extraction unit 201 to the difficulty level estimation model stored in the storage unit 108. . The difficulty level estimation unit 212 supplies, for example, a task difficulty level estimation result to the presentation control unit 203 or stores it in the RAM 103 or the storage unit 108.
  • step S103 the server 11 outputs the task difficulty level.
  • the presentation control unit 203 supplies the task difficulty level estimation result to the output unit 107 and displays it on the display of the output unit 107. Further, for example, the presentation control unit 203 transmits the task difficulty level estimation result to the client 12 via the communication unit 109 and the network 13, and causes the client 12 to present the task difficulty level estimation result.
  • the task difficulty level for an unknown task can be easily estimated without being limited to a specific task as in Patent Document 1 described above.
  • the estimation accuracy of the task difficulty level can be improved by increasing the learning accuracy of the difficulty level estimation model using active learning described later.
  • the task difficulty level can be applied to active learning.
  • the learning data with high learning efficiency is, for example, data that can greatly improve the completeness of the model.
  • data for example, according to “A. Burr,” Active learning literature survey, ”Technical Report 2010-09-14, University Wisconsin Madison, Computer Sciences Technical Report, 2010. There are the following.
  • Uncertainly Sampling Select the most uncertain sample (for the machine).
  • Query-By-Committee Select a sample whose vote is broken by majority vote.
  • Expected Model Change Select the sample that seems to have the greatest model change.
  • Expected Error Reduction Select the sample that is most likely to reduce the error.
  • Density-Weighted Methods Give priority to samples with high density in the feature space.
  • Balance exploration and exploitation Balances the use of the learned model and the search (solves as a multi-armed bandit problem).
  • a sample uncertain for a machine such as a computer in machine learning is not necessarily an uncertain sample for a person.
  • a sample with a high level of difficulty for labeling for a machine is not necessarily a sample with a high level of difficulty for labeling for humans.
  • some samples that are uncertain for the machine are, for example, samples that are truly uncertain (for example, samples that are difficult to label when viewed by humans) and samples that are truly clear (for example, certain for humans). Sample that can be labeled).
  • the task of “labeling whether or not a bird appears in the image” is executed on the samples (images) in FIG. 11A to FIG.
  • the uncertainties for the samples are low, and the uncertainties for the samples of FIGS. 11B and 11C are equally high. That is, for the machine, the difficulty of labeling the sample of FIG. 11A is low, and the difficulty of labeling of the samples of FIG. 11B and FIG. 11C is equally high. Therefore, the learning effect when the sample of B of FIG. 11 or the sample of C of FIG. 11 is used is higher than the learning effect when the sample of A of FIG. 11 is used.
  • the uncertainties for the samples of FIG. 11A and FIG. 11C are about the same, and the uncertainties for the samples of FIG. That is, for humans, the difficulty of labeling the sample of FIG. 11A and the sample of FIG. 11C is almost the same, and the difficulty of labeling the sample of FIG. 11B is high.
  • FIG. 12 shows an example of the feature amount space when the sample is labeled based on the feature amount 1 and the feature amount 2.
  • the dots indicated in the figure represent samples that the person has labeled as the first class.
  • a point represented by a cross represents a sample that a person has labeled as a second class.
  • Points represented by triangles represent samples that have not yet been labeled by a person.
  • a dotted line c represents an identification plane for classifying samples obtained by the learning process so far.
  • a sample to be used for the next learning data is selected from the sample s1 and the sample s2 represented by triangles in the figure.
  • the function for estimating the uncertainty (ie, task difficulty) for a person when labeling the sample s is assumed to be f (s), and the certainty for the machine when the sample s is classified (hereinafter, Let g (s) be a function that estimates the certainty).
  • the value of the function f (s) increases as the task difficulty level for the sample s increases, and decreases as the task difficulty level decreases.
  • the value of the function g (s) increases as the certainty factor for the sample s increases, and decreases as the certainty factor decreases.
  • the sample s1 that is closer to the identification curve c and has a low certainty, that is, the sample s1 that does not seem to belong to any class is used in the learning data in preference to the sample s2. .
  • the value of f (s) + g (s) is 1.3 for sample s1 and 0.8 for sample s2. Therefore, the sample s2 having a smaller value of f (s) + g (s) is used as learning data in preference to the sample s1.
  • a sample having a smaller value of f (s) + g (s), that is, a sample having a low difficulty level for humans and a lower certainty level for machines is preferentially used for learning data.
  • a really clear sample takes precedence over a really uncertain sample and is used for training data.
  • the learning effect can be enhanced while suppressing the cost required for creation (labeling) of learning data.
  • the difficulty level estimation model learning unit 211 learns a difficulty level estimation model for a task by the above-described method before learning a task execution model for executing a certain task.
  • the difficulty level estimation unit 212 uses the obtained difficulty level estimation model to estimate the task difficulty level for samples that are candidates for use in learning data.
  • the task execution model learning unit 213 adds a criterion for selecting a sample having a low task difficulty level (difficulty level for humans) in addition to the above-described criterion as a criterion for selecting a sample to be used for learning data. To do.
  • the task execution model learning unit 213 gives priority to the learning data with lower task difficulty and easy creation of correct data. Used for.
  • the input data used for learning data is not necessarily limited to samples, and for example, tasks may be included.
  • the learning effect is enhanced while reducing the cost required for creating learning data. Can do.
  • the learning effect can be reduced while suppressing the cost required to create learning data. Can be increased.
  • the task difficulty level can be applied to crowdsourcing.
  • FIG. 13 shows an example of a recruitment screen displayed on the client 12 of each worker who is the target of presenting the contents of the task when recruiting workers in the conventional crowdsourcing.
  • a reward of 3 yen per tag is presented for the tasks of “tagging the type of flower to the image” and “tagging the type of bird to the image”.
  • it is difficult for an operator to predict how difficult the task of tagging the image with a flower type or bird type is to determine whether the presented reward is appropriate or not. It is difficult to judge.
  • the task difficulty level for each task is mechanically calculated and presented, so that the orderer orders the task with an appropriate reward and the worker performs the task with the appropriate reward. It becomes possible to receive an order.
  • FIG. 14 shows an example of an ordering screen displayed on the client 12 of the orderer under the control of the presentation control unit 203 of the server 11.
  • the orderer inputs in the input field 301 to the input field 303 the task instruction that specifically indicates the contents of the task to be ordered, the task reward per sample, and the number of samples to be processed. Can do.
  • the orderer inputs the task instruction, the reward per sample, and the number of samples in the input field 301 and the input field 303, the input data is transmitted to the server 11 via the network 13.
  • the orderer transmits a sample to be processed by the task from the client 12 to the server 11 via the network 13 as necessary.
  • the server 11 estimates the task difficulty level of the task input by the orderer by the process described above with reference to FIG.
  • the difficulty level estimation unit 212 of the server 11 estimates the required time of the task per sample for each worker registered in the crowdsourcing service as the task difficulty level using the function f6 of the above-described equation (6). To do. Further, the difficulty level estimation unit 212 calculates a minimum value (shortest time), a maximum value (longest time), and an average value (average time) of estimated work times per sample for all workers based on the estimation result. To do.
  • the difficulty level estimation unit 212 estimates task completion times for all samples. For example, the difficulty level estimation unit 212 estimates the time required for executing the task of all samples based on the average value of the estimated required time per sample and the number of samples, and based on the estimation result, Estimate the completion time of the sample task.
  • the difficulty level estimation unit 212 estimates how many workers will receive orders and perform work based on the reward per sample, the order status of other tasks, the activity status of the workers, and the like.
  • the required time and completion time of the tasks of all samples may be estimated. For example, in a time zone in which many workers are active, it is expected that more workers will receive orders and execute tasks, so the task completion estimated time will be earlier. In addition, for example, in a time zone in which there is an order for other similar tasks, it is expected that the number of workers who receive orders for tasks and execute them will decrease, so the estimated task completion time will be delayed.
  • the server 11 transmits to the client 12 of the orderer the calculation results of the minimum value, maximum value, and average value of the estimated service time per sample, and the estimated service time and completion estimated time of all the sample tasks. .
  • the minimum value (shortest time), the average value (average time), and the maximum value (longest time) of estimated estimated time per sample are displayed on the ordering screen. Further, the estimated task completion time for all samples and the estimated time for all sample tasks are displayed on the ordering screen. Thereby, the orderer can easily determine whether or not the task is completed by a desired time limit.
  • the orderer depresses the order button 305, the task is ordered and recruitment of workers who execute the task is started.
  • the orderer can cancel the ordering of the task by pressing the cancel button 304.
  • FIG. 15 and 16 are examples of recruitment screens displayed on the client 12 of each worker under the control of the presentation control unit 203 of the server 11 after the task is ordered.
  • FIG. 15 shows an example of a recruitment screen displayed on the client 12 of the worker A.
  • FIG. 16 shows an example of a recruitment screen displayed on the client 12 of the worker B.
  • the task content and reward are presented as common information for all workers, as in the above-described recruitment screen of FIG.
  • the reward for the task of “tagging the flower type on the image” is 3 yen per tag
  • the task reward of “tagging the bird type on the image” It is suggested that the price is 3 yen per tag.
  • the estimated working time and the estimated hourly rate vary from worker to worker. That is, the estimated required time estimated as the task difficulty level of each worker in the server 11 is individually presented on each worker's recruitment screen. For example, on the recruitment screen for worker A, the estimated task time for the task “Tag flower type to image” is 15 seconds, and the estimated task time for task “Tag bird type to image” is 60 seconds. It has been presented. In addition, on the recruitment screen for worker B, the estimated task time for the task “Tag flower type to image” is 30 seconds, and the estimated task time for task “Tag bird type to image” is 20 seconds. It has been presented.
  • the estimated hourly wage calculated based on the estimated required time and the reward per tag in the server 11 is individually presented on the recruitment screen of each worker.
  • the estimated hourly wage for the task “Tag flower type to image” is 720 yen
  • the estimated hourly wage for the task “Tag bird type to image” is 180 yen. Is presented.
  • the estimated hourly wage for the task “Tag flower type to image” is 360 yen
  • the estimated hourly wage for the task “Tag bird type to image” is 540 yen. Is presented.
  • the task order confirmation process can be set arbitrarily. For example, a worker who places an order may be selected from among workers who have applied for the orderer, or a task contractor may be determined on a first-come-first-served basis.
  • the worker who has confirmed the order executes the task, and transmits the deliverable from the client 12 to the server 11 via the network 13.
  • the server 11 transmits the received deliverable to the client 12 of the orderer via the network 13, and the orderer verifies the deliverable.
  • the orderer may select a specific worker, and the estimated working time and task completion estimated time per sample of the selected worker may be presented. Thereby, the orderer can select an appropriate worker based on objective data.
  • the task may be expressed using a single label expression or a multi-label expression, and the task instruction may be generated by selecting options hierarchically on the ordering screen as shown in FIG.
  • task types such as “select”, “compare”, and “enumerate” can be selected in the first hierarchy.
  • sample types such as “image”, “text”, and “sound” can be selected.
  • specific contents of samples such as “bird”, “flower”, and “shrine” can be selected.
  • “select” is selected in the first hierarchy
  • “image” is selected in the second hierarchy
  • “flower” is selected in the third hierarchy, thereby “selecting” the “image” of “flower”.
  • a task instruction is generated.
  • the difficulty level estimation unit 212 can estimate the difficulty level of the problem by estimating the task difficulty level of the task “solve the problem” using the difficulty level estimation model. Therefore, the difficulty level of text such as textbooks, problem collections, and reference books can be objectively expressed based on the estimation result of the difficulty level of each problem. For example, the difficulty level of the text can be expressed objectively based on the average, maximum, total, etc. of the difficulty levels of the problems included in the text.
  • the target text includes not only paper media but also electronic data such as online question collections.
  • FIG. 18 shows an example of a feature amount extraction method used to estimate the difficulty level of a mathematical problem.
  • the problem type, the order, the maximum number of digits, and the number of terms are extracted as feature amounts.
  • the type of problem is the feature value of the task “solve a mathematical problem”
  • the order, maximum number of digits, and number of terms are samples that are the targets of the task “solve a mathematical problem”. It becomes the feature quantity.
  • the problem type is a feature quantity indicating the type of problem such as an equation, a transformation of a formula, or a calculation.
  • the order is a feature amount indicating the order of the mathematical formula included in the problem.
  • the maximum number of digits is a feature quantity indicating the maximum number of digits in each numerical formula included in the problem.
  • the number of terms is a feature quantity indicating the number of terms in the formula included in the problem.
  • the task difficulty of each problem is estimated by applying the task vector including the problem type and the sample vector including the degree, the maximum number of digits, and the number of terms to the function f5 of the above-described equation (5). .
  • FIG. 19 shows an example of a sentence problem. This problem is composed of a sentence to be a problem and sub-questions of Question 1 and Question 2.
  • sentence feature quantities For example, feature quantities generated using BoWs, N-grams, RNN, etc., and feature quantities such as sentence length and vocabulary (hereinafter referred to as sentence feature quantities) are extracted for the sentence in question. Is done.
  • the type of problem is extracted as a feature amount from the text of question 1 and the text of question 2.
  • the question type of Question 1 is “selection of options that contradicts the content of the sentence”
  • the question type of Question 2 is “Summary of the main point of the sentence”.
  • feature quantities generated using BoWs, N-gram, RNN, etc., and feature quantities such as sentence length, vocabulary number, etc. (hereinafter referred to as problem feature quantities) Is extracted. Further, the number of choices of question 1 is extracted as a feature amount.
  • a feature vector including the type of question of question 1 is used as the task vector, and the feature including the sentence feature, the question feature of question 1, and the number of options.
  • a quantity vector is used for the sample vector.
  • the task difficulty level of Question 1 is estimated by applying the task vector and the sample vector to the function f5 of Equation (5) described above.
  • the task difficulty level of the problem of question 2 is estimated by applying the task vector and the sample vector to the function f5 of Equation (5) described above.
  • the task difficulty level of the problem included in the text can be estimated, and the difficulty level of the text can be expressed objectively by the average, maximum, total, etc. of the task difficulty level of each problem.
  • a difficulty level estimation model may be provided from the server 11 to the client 12, and the task difficulty level may be estimated in the client 12.
  • the server 11 when learning the difficulty level estimation model or estimating the task difficulty level, the server 11 is provided with input data including a task vector, a sample vector, and a worker vector, and the server 11 extracts the feature amount. May not be performed.
  • the application example of the present technology described above is an example, and the present technology can be applied to, for example, various devices and services that estimate and use the task difficulty level for a person. is there.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, It may be a program that performs processing in parallel or at a necessary timing such as when a call is made.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • the present technology can take a cloud computing configuration in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • the present technology can take the following configurations.
  • An information processing apparatus comprising: an estimation unit that estimates a task difficulty level, which is a difficulty level of the task, based on information on the task.
  • the tasks include labeling, comparison, enumeration, evaluation, search, answer, answer, survey, organization, conversion, summary, association, analogy, generation, recommendation, planning, detailing, consultation, conversation, transportation, manufacturing, design,
  • the information processing apparatus according to (1) including one or a combination of two or more of the tests.
  • the estimation unit estimates the task difficulty level based on at least one of a feature amount of the task, a feature amount of a sample to be processed by the task, and a feature amount of an operator who executes the task.
  • the information processing apparatus according to (1) or (2).
  • the information processing apparatus calculates the task difficulty level of different types of tasks based on at least a feature amount of each task.
  • the estimation unit uses a first model that estimates the task difficulty level based on at least one of the task feature amount, the sample feature amount, and the worker feature amount. (3) Or the information processing apparatus as described in (4).
  • the information processing apparatus further including a first learning unit that learns the first model. (7) The first learning unit learns the first model using the feature amount of each task and the feature amount of each worker obtained from the result data of the task difficulty level for each task of each worker.
  • the information processing apparatus according to (6).
  • the information processing apparatus further including a feature amount extraction unit that extracts at least one of the feature amount of the task, the feature amount of the sample, and the feature amount of the worker.
  • the task difficulty level is a difficulty level of the task for a person.
  • the task difficulty level is expressed based on at least one of an objective standard and a subjective standard of the task.
  • (11) (1) to (2) further comprising a second learning unit that learns the second model by selecting data for learning the second model that executes the task based on the task difficulty level for each data.
  • the information processing apparatus according to any one of (10).
  • the information processing apparatus (12) The information processing apparatus according to (11), wherein the second learning unit further selects the learning data based on uncertainty for the machine with respect to each data. (13) The information according to any one of (1) to (12), further including a presentation control unit that controls to present the task difficulty level together with the content of the task when recruiting workers to perform the task Processing equipment. (14) The information processing apparatus according to (13), wherein the presentation control unit performs control so that the task difficulty level for each worker is individually presented for each worker. (15) The information processing apparatus according to any one of (1) to (14), wherein the estimation unit estimates the task difficulty level for each problem included in the text, and estimates the difficulty level of the text based on an estimation result. .
  • Information processing device An information processing method including an estimation step of estimating a task difficulty level that is a difficulty level of the task based on information on the task.
  • a program for causing a computer to execute a process including an estimation step for estimating a task difficulty level, which is a difficulty level of the task, based on information on the task.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本技術は、タスクの難易度を容易に推定することができるようにする情報処理装置、情報処理方法、及び、プログラムに関する。 情報処理装置は、タスクに関する情報に基づいて、前記タスクの難易度であるタスク難易度を推定する推定部を備える。本技術は、例えば、サーバ、クライアント等の情報処理装置に適用することができる。そのような情報処理装置には、例えば、スマートフォン、タブレット、携帯電話機等の携帯情報端末、コンピュータ、ウエアラブル機器等が挙げられる。

Description

情報処理装置、情報処理方法、及び、プログラム
 本技術は、情報処理装置、情報処理方法、及び、プログラムに関し、特に、タスクの難易度を推定する場合に用いて好適な情報処理装置、情報処理方法、及び、プログラムに関する。
 従来、過去に作業者が溶接に要した実績時間、及び、現時点の作業者の習熟度に基づいて、当該作業者が与えられた重量の部品を溶接するのに要する時間を推定する技術が提案されている(例えば、特許文献1参照)。
 具体的には、特許文献1に記載の発明では、過去の作業者の各重量の部品の溶接に要した実績時間が、所定の習熟度情報を用いて、現時点での作業者の所要時間に補正される。そして、各重量の部品に対する補正後の所要時間に基づいて所要時間予測式が作成され、所要時間予測式に基づいて、現時点において作業者が与えられた重量の部品を溶接するのに必要な時間が推定される。
特開2010-86928号公報
 しかしながら、特許文献1に記載の発明では、例えば、溶接とは異なるタスクの所要時間や、過去の実績時間のデータがない作業者の所要時間を推定することは困難である。
 そこで、本技術は、タスクの難易度を容易に推定できるようにするものである。
 本技術の一側面の情報処理装置は、タスクに関する情報に基づいて、前記タスクの難易度であるタスク難易度を推定する推定部を備える。
 前記タスクを、ラベル付け、比較、列挙、評価、検索、回答、解答、調査、整理、変換、要約、連想、類推、生成、推薦、計画、詳細化、相談、会話、運搬、製造、設計、及び、テストのうち1つ、又は、2つ以上の組み合わせとすることができる。
 前記推定部には、前記タスクの特徴量、前記タスクの処理対象となるサンプルの特徴量、及び、前記タスクを実行する作業者の特徴量のうち少なくとも1つに基づいて、前記タスク難易度を推定させることができる。
 前記推定部には、種類の異なるタスクの前記タスク難易度を、少なくとも各タスクの特徴量に基づいて推定させることができる。
 前記推定部は、前記タスクの特徴量、前記サンプルの特徴量、及び、前記作業者の特徴量のうち少なくとも1つに基づいて前記タスク難易度を推定する第1のモデルを用いることができる。
 前記第1のモデルの学習を行う第1の学習部をさらに設けることができる。
 前記第1の学習部には、各作業者の各タスクに対する前記タスク難易度の実績データから得られる各タスクの特徴量及び各作業者の特徴量を用いて、前記第1のモデルの学習を行わせることができる。
 前記タスクの特徴量、前記サンプルの特徴量、及び、前記作業者の特徴量のうち少なくとも1つの抽出を行う特徴量抽出部をさらに設けることができる。
 前記タスク難易度を、人にとっての前記タスクの難易度とすることができる。
 前記タスク難易度を、前記タスクの客観的な基準及び主観的な基準のうち少なくとも1つに基づいて表すことができる。
 前記タスクを実行する第2のモデルの学習用のデータを各データに対する前記タスク難易度に基づいて選択して前記第2のモデルの学習を行う第2の学習部をさらに設けることができる。
 前記第2の学習部には、さらに各データに対する機械にとっての不確かさに基づいて前記学習用のデータの選択を行わせることができる。
 前記タスクを実行する作業者を募集する場合に、前記タスクの内容とともに前記タスク難易度を提示するように制御する提示制御部をさらに設けることができる。
 前記提示制御部には、各作業者に対する前記タスク難易度を作業者毎に個別に提示するように制御させることができる。
 前記推定部には、テキストに含まれる各問題に対する前記タスク難易度を推定し、推定結果に基づいて前記テキストの難易度を推定させることができる。
 本技術の一側面の情報処理方法は、情報処理装置が、タスクに関する情報に基づいて、前記タスクの難易度であるタスク難易度を推定する推定ステップを含む。
 本技術の一側面のプログラムは、タスクに関する情報に基づいて、前記タスクの難易度であるタスク難易度を推定する推定ステップを含む処理をコンピュータに実行させる。
 本技術の一側面においては、タスクに関する情報に基づいて、前記タスクの難易度であるタスク難易度が推定される。
 本技術の一側面によれば、タスクの難易度を容易に推定することができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術を適用した情報処理システムの一実施の形態を示すブロック図である。 サーバの構成例を示すブロック図である。 サーバのCPUにより実現される機能の構成例を示すブロック図である。 タスクの第1の具体例を説明するための図である。 タスクの第2の具体例を説明するための図である。 タスクの第3の具体例を説明するための図である。 タスクの第4の具体例を説明するための図である。 難易度推定モデル学習処理を説明するためのフローチャートである。 タスク難易度の具体例を説明するための図である。 タスク難易度推定処理を説明するためのフローチャートである。 学習データの選択方法について説明するための図である。 学習データの選択方法について説明するための図である。 クラウドソーシングにおける作業者の募集画面の例を示す図である。 本技術を適用した場合のクラウドソーシングにおける発注画面の例を示す図である。 本技術を適用した場合のクラウドソーシングにおける作業者の募集画面の例を示す図である。 本技術を適用した場合のクラウドソーシングにおける作業者の募集画面の例を示す図である。 発注画面におけるタスク指示の入力方法の変形例を説明するための図である。 数学の問題の難易度の推定に用いる特徴量の抽出方法の例を示す図である。 文章問題の例を示す図である。
 以下、発明を実施するための形態(以下、「実施形態」と記述する)について図面を用いて詳細に説明する。なお、説明は以下の順序で行う。
 1.実施の形態
 2.適用例
 3.変形例等
<<1.実施の形態>>
<1-1.情報処理システム1の構成例>
 図1は、本技術を適用した情報処理システム1の一実施の形態を示している。
 情報処理システム1は、サーバ11及びクライアント12-1乃至12-nを含むように構成される。サーバ11及びクライアント12-1乃至12-nは、ネットワーク13を介して相互に接続されており、互いに通信を行う。サーバ11及びクライアント12-1乃至12-nの通信方式は、有線又は無線に関わらず、任意の通信方式を採用することが可能である。
 サーバ11は、クライアント12-1乃至12-nを使用するユーザに対して、各種のサービスを提供する。
 例えば、サーバ11は、クラウドソーシングサービスを提供する。ここで、クラウドソーシングサービスとは、インターネット等を利用してタスクを実行する作業者を募集し、タスクの発注及び受注ができるサービスのことである。例えば、タスクを依頼する発注者は、クライアント12を介してクラウドソーシングサービスを利用して、タスクの発注を行ったり、タスクの実行結果である成果物を受信したりする。一方、作業者は、クライアント12を介してクラウドソーシングのサービスを利用して、タスクを受注したり、成果物を送信したりする。
 また、サーバ11は、各種のタスクを実行するためのモデル(以下、タスク実行モデルと称する)の学習を行い、タスク実行モデルを生成する。さらに、サーバ11は、タスク実行モデルを用いて各種のタスクを実行し、得られた成果物を提示したり、クライアント12-1乃至12-nを使用するユーザに成果物を提供したりする。
 クライアント12-1乃至12-nは、例えば、スマートフォン、タブレット、携帯電話機、ノート型のパーソナルコンピュータ等の携帯情報端末、デスクトップ型のパーソナルコンピュータ、ゲーム機、動画再生装置、音楽再生装置等により構成される。また、クライアント12-1乃至12-nは、例えば、眼鏡型、腕時計型、ブレスレット型、ネックレス型、ネックバンド型、イヤフォン型、ヘッドセット型、ヘッドマウント型等の各種のウエアラブル機器により構成される。
 クライアント12-1乃至12-nは、例えば、サーバ11が提供するサービスやタスクの成果物を利用するのに用いられる。
 なお、以下、クライアント12-1乃至12-nを個々に区別する必要がない場合、単にクライアント12と称する。
<1-2.サーバ11の構成例>
 図2は、サーバ11の構成例を示している。
 サーバ11においては、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103が、バス104により相互に接続されている。バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、入力部106、出力部107、記憶部108、通信部109、及びドライブ110が接続されている。
 入力部106は、例えば、キーボード、マウス、マイクロフォン等の入力デバイスにより構成される。
 出力部107は、例えば、ディスプレイ、スピーカ等により構成される。
 記憶部108は、例えば、ハードディスクや不揮発性のメモリ等により構成される。
 通信部109は、例えば、有線又は無線の通信装置、ネットワークインタフェース等により構成される。通信部109には、任意の通信方式を適用することが可能であり、複数の通信方式を適用することも可能である。
 ドライブ110は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア111を駆動する。
 サーバ11では、例えば、CPU101が、記憶部108に記憶されているプログラムを、入出力インタフェース105及びバス104を介して、RAM103にロードして実行することにより、一連の処理が行われる。
 サーバ11(CPU101)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア111に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 サーバ11では、プログラムは、リムーバブルメディア111をドライブ110に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。
 なお、以下、サーバ11の各部がバス104や入出力インタフェース105を介して情報等の送受信を行う場合において、バス104及び入出力インタフェース105の記載を省略する。例えば、通信部109が、バス104及び入出力インタフェース105を介して、CPU101に受信データを供給する場合、バス104及び入出力インタフェース105の記載を省略して、通信部109がCPU101に受信データを供給すると表現する。
<1-3.サーバ11の機能の構成例>
 図3は、サーバ11のCPU101により実現される機能のうち、本技術に関連する機能の構成例を示すブロック図である。CPU101が所定の制御プログラムを実行することにより、特徴量抽出部201、タスク関連処理部202、及び、提示制御部203を含む機能が実現される。また、タスク関連処理部202は、難易度推定モデル学習部211、難易度推定部212、タスク実行モデル学習部213、及び、タスク実行部214を含むように構成される。
 特徴量抽出部201は、与えられたデータの特徴量を抽出する。例えば、特徴量抽出部201は、タスクの特徴量、タスクの処理対象となるサンプルの特徴量、及び、タスクを実行する作業者の特徴量を抽出する。特徴量抽出部201は、特徴量の抽出結果を示すデータを、タスク関連処理部202に供給したり、RAM103又は記憶部108に記憶させたりする。
 難易度推定モデル学習部211は、難易度推定モデルの学習を行う。ここで、難易度推定モデルとは、各種のタスクが人にとってどのくらい難しいかを示すタスク難易度を推定するモデルであり、タスク難易度を推定するというタスクを実行するタスク実行モデルの一種である。難易度推定モデル学習部211は、学習の結果得られた難易度推定モデルに関する情報を提示制御部203に供給したり、RAM103又は記憶部108に記憶させたりする。
 難易度推定部212は、難易度推定モデル学習部211により生成された難易度推定モデルを用い、タスクに関する情報に基づいて、タスク難易度の推定を行う。難易度推定部212は、タスク難易度の推定結果を、タスク関連処理部202の各部及び提示制御部203に供給したり、RAM103又は記憶部108に記憶させたりする。
 タスク実行モデル学習部213は、難易度推定モデルを除くタスク実行モデルの学習を行う。タスク実行モデル学習部213は、学習の結果得られたタスク実行モデルに関する情報を提示制御部203に供給したり、RAM103又は記憶部108に記憶させたりする。
 タスク実行部214は、タスク実行モデル学習部213により生成されたタスク実行モデルを用いて、各種のタスクを実行する。難易度推定部212は、タスクを実行することにより得られた成果物を、タスク関連処理部202の各部及び提示制御部203に供給したり、RAM103又は記憶部108に記憶させたりする。
 提示制御部203は、出力部107やクライアント12における各種の情報の提示を制御する。例えば、提示制御部203は、タスクの実行結果である成果物の出力部107やクライアント12における提示を制御する。
<1-4.タスクの例>
 難易度推定モデルを用いてタスク難易度を推定することが可能なタスクは、人が実行可能なタスクであれば特に限定されるものではない。以下に、難易度推定モデルの適用が可能なタスクの類型を挙げる。
a)ラベル付け
 「ラベル付け」は、例えば、所定の条件に従ってサンプルにラベルを付けるタスクである。例えば、以下のようなタスクが「ラベル付け」に該当する。
・「鳥」の画像であれば、「鳥」ラベルを付けて。
・画像内の「鳥」の領域にラベルを付けて。
・ウエブサイトにカテゴリを付けて。
・写真の良さを5段階で評価して。
・小説のアイディアを5段階で評価して。
・顧客からの質問又は要望に優先順位を付けて。
・個人情報に当たるか否かのラベルを付けて。
・画像内において閲覧に年齢制限が必要な領域にラベルを付けて。
・自然な日本語かどうかを評価して。
 例えば、文章に付けるラベルには、以下のようなものがある。
・ポジティブ又はネガティブ
・トピック(例えば、政治、経済、スポーツ等)
・固有表現部分
・品詞
・形態素の切れ目
 なお、固有表現部分、品詞、及び、形態素の切れ目のラベル付けは、系列ラベリングの一種である。
 例えば、画像に付けるラベルには、以下のようなものがある。
・タイトル
・キャプション
・画像内のオブジェクトの種類
b)比較
 「比較」は、例えば、複数のサンプルを比較するタスクである。例えば、以下のようなタスクが「比較」に該当する。
・2枚の写真が同じ人物の写真か否かを判定して。
・2つの宣伝文句のうちより良い方を選択して。
・2つの楽曲のうち、よりリラックスできる方を選択して。
c)列挙
 「列挙」は、例えば、所定の条件を満たすサンプルを列挙するタスクである。例えば、以下のようなタスクが「列挙」に該当する。
・予定表を見たいときに音声エージェントに話しかける言葉をできる限り挙げて。
・妻又は夫への贈り物のアイディアを挙げて。
・ある商品の宣伝文句を挙げて。
d)評価
 「評価」は、タスクの出来栄え等を評価するタスクである。例えば、以下のようなタスクが、「評価」に該当する。
・画像からのテキスト書き起こしが、どの程度合っているかを評価して。
e)検索
 「検索」は、例えば、条件を満たすサンプルを検索するタスクである。例えば、以下のようなタスクが「検索」に該当する。
・ディープラーニングに関するWebページを集めて。
・一番安くカメラAを買えるEC(Electronic Commerce)サイトを探して。
・電子メール関連のベンチャー企業をリストアップして。
・ウエブ上で画像の加工ができるサービスを探して。
f)回答/解答/調査
 「回答/解答/調査」は、例えば、質問に対する回答を作成したり、問題に対する解答を作成したり、質問や問題の調査を行ったりするタスクである。例えば、以下のようなタスクが「回答/解答/調査」に該当する。
・ディープラーニングとは何ですか?
・数学、国語、英語、社会、理科等に関する問題を解いて。
・数学、国語、英語、社会、理科等に関する問題に適切なヒントを付けて。
g)整理
 「整理」は、例えば、サンプルを整理するタスクである。例えば、以下のようなタスクが「整理」に該当する。
・画像を整理して。
・ToDoを整理して。
h)変換/要約
 「変換/要約」は、例えば、情報を変換したり、要約したりするタスクである。例えば、以下のようなタスクが「変換/要約」に該当する。
・画像にタイトルを付けて。
・画像に写っている文字をテキスト化して。
・レシートに書かれている購入商品とその値段を書き起こして。
・日本語の文章を英語に翻訳して。
・この日本語の文章をより簡単な日本語の文章にして。
・この本を400字で要約して。
i)連想/類推
 「連想/類推」は、例えば、与えられた条件から連想されるサンプルを挙げたり、複数のサンプル間の関係を求めたり、与えられた条件に対応するサンプルを他の関係に基づいて類推したりするタスクである。例えば、以下のようなタスクが「連想/類推」に該当する。
・アーティストAの代表曲は?
・魚にとっての鱗は、鳥にとって何?
・魚と秋刀魚の関係は?
j)生成
 「生成」は、例えば、与えられた条件を満たすサンプルを生成するタスクである。例えば、以下のようなタスクが「生成」に該当する。
・鳥のイラストを描いて。
・打ち合わせへの招待に対して丁寧に断るメールを返信して。
・場所Aの写真を撮ってきて。
・鳥の写真を撮ってきて。
・場所Bの音を録音してきて。
 また、タスクの種類に関わらず、タスクを実行する作業者からタスクを指示した発注者に対して、タスクに関する相談が行われる場合がある。例えば、作業者が、「鳥のイラストを描いて」というタスクに対して情報が不足していると判断した場合、タスクの内容をより具体化するために発注者に相談する場合がある。この「タスクの内容を具体化したタスク指示を生成するタスク」も、「生成」のタスクの一種とみなすことができる。このタスクの成果物は、例えば、より具体化されたタスク指示である。
k)推薦
 「推薦」は、例えば、与えられた条件を満たすサンプルの推薦を行うタスクである。例えば、以下のようなタスクが「推薦」に該当する。
・北海道で行った方がよい観光地を教えて。
・作業するときに最適なBGMを教えて。
・作業するときに最適なBGMを再生して。
l)計画/詳細化
 「計画/詳細化」は、例えば、与えられた目的を実現するための具体的な手段を考えたり、詳細化したりするタスクである。例えば、以下のようなタスクが「計画/詳細化」に該当する。
・海に遊びに行きたいから、アイディアと計画を考えて。
m)相談/会話
 「相談/会話」は、例えば、悩み事等の相談を行ったり、他の人と会話したりするタスクである。例えば、以下のようなタスクが「相談/会話」に該当する。
・悩みを聞いて。
n)運搬
 「運搬」は、例えば、物(人等の生き物を含む)を運ぶタスクである。例えば、以下のようなタスクが「運搬」に該当する。
・荷物を場所Aから場所Bまで運んで。
o)製造/設計
 「製造/設計」は、例えば、何かを作ったり、設計したりするタスクである。例えば、以下のようなタスクが「製造/設計」に該当する。
・ボールペンを組み立てて。
・この荷物(例えば、壊れやすいもの)を安全に運べる箱を設計して。
p)テスト
 「テスト」は、例えば、製品やサービス等のテストを実行するタスクである。例えば、以下のようなタスクが「テスト」に該当する。
・このカメラで場所Aから場所Zまでの写真を撮ってきて。
・このサービスを1ヶ月間使ってみて。
q)その他
 以上のタスクの類型は、その一例であり、他にも以下のようなタスクが挙げられる。
・歯を治療して。
・会議室の予約をとって。
・道路を工事して。
・この製品を修理して。
・ビル内を掃除して。
・この商品を売ってきて。
・リスト内の商品を買ってきて。
 なお、各タスクの類型は、必ずしも明確に分かれるものではなく、複数の類型に含まれるタスクや、複数の類型を組み合わせたタスクが存在する。
 次に、タスクの表現方法の例について説明する。タスクの表現方法には、例えば、シングルラベル表現、マルチラベル表現、マイクロタスク表現、自然文表現等がある。
 シングルラベル表現は、タスクを1つの定義されたラベルにより表現するものである。例えば、シングルラベル表現では、鳥のラベル付けをするタスクが、「鳥のラベル付け」という1つのラベルにより表現される。
 マルチラベル表現は、タスクを構成する複数のラベルによりタスクを表現するものである。例えば、マルチラベル表現では、鳥のラベル付けをするタスクが、「ラベル付け」「鳥」という2つのラベルにより表現される。
 マイクロタスク表現は、タスクをマイクロタスクに分解して表現するものである。例えば、マイクロタスク表現では、鳥の嘴の色をラベル付けするタスクに対して、DescribeColor(Find(鳥の嘴))という表現が用いられる。ここで、DescribeColor()は、対象の色を表現するマイクロタスクであり、Find()は、対象を見つけるマイクロタスクである。
 自然文表現は、タスクを自然文で表現するものである。例えば、自然文表現では、鳥のラベル付けをするタスクに対して、「鳥であればラベルをつけて」という表現が用いられる。
 なお、各表現方法は、相互に変換したり、組み合わせたりすることができる。
 また、タスクの中には、処理対象となるサンプルを用いるものと、サンプルを用いないものが存在する。例えば、図4に示される「鳥がいたらTrueを付けて」というタスクは、サンプルを用いるタスクである。この場合、タスクは自然文で与えられ、画像がサンプルとして与えられる。そして、True又はFalseのラベルが、成果物として得られる。
 また、図5に示される「画像にタイトルを付けて」というタスクも、サンプルを用いるタスクである。この場合、タスクは自然文で与えられ、画像がサンプルとして与えられる。そして、「小犬」等のテキストが、成果物として得られる。
 一方、図6に示される「機器の音量を大きくしたいと考えたときに、何と発話するのか列挙して」というタスクは、サンプルを用いないタスクである。この場合、タスクは自然文で与えられ、サンプルは与えられない。そして、「音をもっと大きくして」、「音量をあげて」、「音大きくして」、「聞こえるようにして」、「もっと大きくして」等のテキストが、成果物として得られる。
 また、図7に示される「花のイラストを描いて」というタスクも、サンプルを用いないタスクである。この場合、タスクは自然文で与えられ、サンプルは与えられない。そして、画像が、成果物として得られる。
<1-5.難易度推定モデル学習処理>
 次に、図8のフローチャートを参照して、サーバ11により実行される難易度推定モデル学習処理について説明する。
 難易度推定モデルは、上述したように人にとってのタスクの難易度であるタスク難易度を推定するためのモデルである。例えば、難易度推定モデルは、次式(1)の関数f1により表される。
 y=f1(x1,x2,x3) ・・・(1)
 ここで、x1は、タスクx1の特徴量を表すベクトル(以下、タスクベクトルと称する)である。x2は、タスクx1の処理対象となるサンプルx2の特徴量を表すベクトル(以下、サンプルベクトルと称する)である。x3は、タスクx1を実行する作業者x3の特徴量を表すベクトル(以下、作業者ベクトルと称する)である。すなわち、関数f1は、作業者x3がサンプルx2を処理対象とするタスクx1を実行する場合のタスク難易度yを推定する難易度推定モデルである。また、この関数f1を用いることにより、異なるタスク(任意のタスク)の難易度を1つの難易度推定モデルにより推定することができる。
 ここで、タスク難易度は、客観的な基準又は主観的な基準に基づいて表される。
 例えば、客観的な基準としては、タスクの所要時間、タスクの実行結果である成果物の正確性、成果物の完成度等が挙げられる。
 タスクの所要時間を基準とする場合、例えば、各作業者の所要時間の平均値が短いタスクほどタスク難易度が低くなり、所要時間の平均値が長いタスクほどタスク難易度が高くなる。
 成果物の正確性は、例えば、正解があるタスクの場合、成果物の正答率で表される。例えば、正答率が高いタスクほどタスク難易度が低くなり、正答率が低いタスクほどタスク難易度が高くなる。
 成果物の完成度を基準とする場合、例えば、各作業者の成果物の完成度の平均値が高いタスクほどタスク難易度が低くなり、各作業者の成果物の完成度の平均値が低いタスクほどタスク難易度が高くなる。或いは、例えば、作業者間の成果物の完成度のばらつきが小さいタスクほどタスク難易度が低くなり、作業者間の成果物の完成度のばらつきが大きいタスクほどタスク難易度が高くなる。
 主観的な基準としては、例えば、作業者のタスクに対する確信度、作業者のタスクに対する印象等が用いられる。
 作業者のタスクに対する確信度は、例えば、タスクの成果物に対する作業者の自信により表される。例えば、成果物に対して自信を持つ作業者の割合が大きいタスクほどタスク難易度が低くなり、成果物に対して自信を持つ作業者の割合が小さいタスクほどタスク難易度が高くなる。
 また、例えば、タスクを質問と見なすことができ、サンプルが画像に限定される場合、例えば、タスク難易度には、Visual Question Answering(VQA)によって得られるAnswerの確信度を用いることができる。
 さらに、作業者のタスクに対する印象を基準とする場合、例えば、難しいと感じる作業者の割合が小さいタスクほどタスク難易度が低くなり、難しいと感じる作業者の割合が大きいタスクほどタスク難易度が高くなる。
 なお、複数の基準を用いてタスク難易度を表すようにしてもよい。複数の基準を用いる場合、客観的な基準のみ又は主観的な基準のみを用いてタスク難易度を表すようにしてもよいし、客観的な基準と主観的な基準を組み合わせてタスク難易度を表すようにしてもよい。
 また、上述した式(1)に示されるように、タスク難易度は、タスク、サンプル、及び、作業者に影響される。
 例えば、タスク難易度は、タスク自身の難易度、及び、要求されるタスクの完成度や判定基準に影響される。例えば、画像に鳥が写っているか否かのラベルを付けるタスクと、画像内の鳥の種類のラベルを付けるタスクとでは、前者の方がタスク難易度は低くなり、後者の方がタスク難易度は高くなる。また、例えば、鳥の絵を描くタスクの場合、要求される絵の完成度が低いほどタスク難易度は低くなり、要求される絵の完成度が高いほどタスク難易度は高くなる。
 また、例えば、タスク難易度は、タスクの処理対象となるサンプルに影響される。例えば、画像に鳥が写っているか否かのラベルを付けるタスクに対するサンプルとして、図9のAの画像と図9のBの画像が与えられた場合、図9のAの画像に対するタスク難易度の方が、図9のBの画像に対するタスク難易度より低くなる。
 また、タスク難易度は、例えば、作業者の能力、知識、経験等に影響される。例えば、運動神経や反射神経が要求されるタスクのタスク難易度は、作業者の運動神経や反射神経により大きく影響される。また、例えば、画像内の鳥の種類を表すラベルを付けるタスクは、鳥の知識を有する作業者にとっては簡単であり、タスク難易度が低くなるが、鳥の知識を有していない作業者にとっては難しく、タスク難易度が高くなる。
 なお、難易度推定モデルの入力データには、必ずしもタスクベクトル、サンプルベクトル、及び、作業者ベクトルを全て用いる必要はなく、必要に応じて1つ又は2つのベクトルのみが用いられる場合がある。次式(2)乃至(7)は、タスクベクトル、サンプルベクトル、及び、作業者ベクトルのうち1つ又は2つを入力データに用いた難易度推定モデルの例を示している。
 y=f2(x1) ・・・(2)
 関数f2は、入力データがタスクベクトルのみの難易度推定モデルである。例えば、関数f2は、「イラストを描いて」、「悩みを聞いて」等のサンプルを用いないタイプの任意のタスクのタスク難易度を、作業者の違いを考慮せずに推定する場合に用いられる。或いは、例えば、関数f2は、「サンプルx2のタイトルを付けて」等のサンプルを用いるタイプの任意のタスクのタスク難易度を、サンプル及び作業者の違いを考慮せずに推定する場合に用いられる。
 y=f3(x2) ・・・(3)
 関数f3は、対象となるタスクが予め決まっており(タスクが固定されており)、入力データがサンプルベクトルのみの難易度推定モデルである。関数f3は、例えば、サンプルを用いるタイプの所定のタスクのサンプル毎のタスク難易度を、作業者の違いを考慮せずに推定する場合に用いられる。
 y=f4(x3) ・・・(4)
 関数f4は、タスクが固定されており、入力データが作業者ベクトルのみの難易度推定モデルである。関数f4は、例えば、サンプルを用いないタイプの所定のタスクの作業者毎のタスク難易度を推定する場合に用いられる。或いは、関数f4は、例えば、サンプルを用いるタイプの所定のタスクの作業者毎のタスク難易度を、サンプルの違いを考慮せずに推定する場合に用いられる。
 y=f5(x1,x2) ・・・(5)
 関数f5は、入力データがタスクベクトル及びサンプルベクトルである難易度推定モデルである。例えば、関数f5は、サンプルを用いるタイプの任意のタスクのサンプル毎のタスク難易度を、作業者の違いを考慮せずに推定する場合に用いられる。
 y=f6(x1,x3) ・・・(6)
 関数f6は、入力データがタスクベクトル及び作業者ベクトルである難易度推定モデルである。例えば、関数f6は、サンプルを用いないタイプの任意のタスクの作業者毎のタスク難易度を推定する場合に用いられる。或いは、例えば、関数f6は、サンプルを用いるタイプの任意のタスクの作業者毎のタスク難易度を、サンプルの違いを考慮せずに推定する場合に用いられる。
 y=f7(x2,x3) ・・・(7)
 関数f7は、タスクが固定されており、入力データがサンプルベクトル及び作業者ベクトルである難易度推定モデルである。関数f7は、例えば、サンプルを用いるタイプの所定のタスクのサンプル毎及び作業者毎のタスク難易度を推定する場合に用いられる。
 なお、以下、関数f1乃至f7を個々に区別する必要がない場合、単に関数fと称する。
 図8の説明に戻り、ステップS1において、特徴量抽出部201は、学習データが入力されたか否かを判定する。学習データが入力されたと判定された場合、処理はステップS2に進む。
 ここで、学習データとは、難易度推定モデルの学習用のデータであり、入力データ、及び、入力データに対するタスク難易度を示す正解データが含まれる。例えば、入力データには、タスク、サンプル、及び、作業者(を表すデータ)のうち1つ以上が含まれる。なお、入力データに含まれるデータの種類は、上述した関数f1乃至f7のいずれの難易度推定モデルを生成するかにより異なる。
 ステップS2において、特徴量抽出部201は、学習データの入力データの特徴量を抽出する。
 具体的には、入力データにタスクが含まれる場合、特徴量抽出部201は、例えば、以下の方法によりタスクの特徴量を抽出する。
 タスクがテキストデータで表現されている場合、例えば、Bag-of-Words(BoWs)、N-gram、RNN(Recurrent Neural network)等の手法によりタスクの特徴量が抽出される。
 また、タスクがラベルで表現されている場合、例えば、条件を満たすサンプルのみを選択するタスクで、対象が「鳥」といったラベルで表現されている場合、そのラベルが特徴量としてそのまま用いられる。この場合、例えば、1-hot encodingにより特徴量が表される。或いは、例えば、タスクの特徴量が埋め込み表現(embeddingした表現)を用いた特徴量に変換される。この場合、例えば、n次元の実数変数にカテゴリ変数を変換した表現により特徴量が表される。
 また、例えば、タスクが自然文で表現されている場合、そのタスクを入力データとし、1サンプルあたりの所要時間を正解とする回帰分析により得られるタスクの所要時間推定値をタスクの特徴量に用いてもよい。
 そして、特徴量抽出部201は、タスクの特徴量をベクトル化したタスクベクトルを生成する。
 また、入力データにサンプルが含まれる場合、特徴量抽出部201は、例えば、以下の方法によりサンプルの特徴量を抽出する。
 サンプルにテキストデータが含まれる場合、例えば、BoWs、N-gram、NN(特にRNN)等の手法を用いて、テキストデータの特徴量が抽出される。
 サンプルに画像データが含まれる場合、例えば、NN(特に、CNN(Convolutional Neural Network))を用いた特徴量、HOG(Histograms of Oriented Gradients)、SIFT(Scale-Invariant Feature Transform)、SURF(Speeded Up Robust Features)、Haar-Like等の特徴量が画像データから抽出される。
 サンプルに音声データが含まれる場合、例えば、NN(特に、MLP(Multi-Layer Perceptron)やCNN)による特徴量、メル周波数ケプストラム係数等の特徴量が音声データから抽出される。
 サンプルから触覚による特徴量を抽出する場合、例えば、表面の粗さを示すパラメータが特徴量として抽出される。
 サンプルから味覚による特徴量を抽出する場合、例えば、味に関する成分の濃度が特徴量として抽出される。
 サンプルから嗅覚による特徴量を抽出する場合、例えば、においに関する成分の濃度が特徴量として抽出される。
 そして、特徴量抽出部201は、サンプルの特徴量をベクトル化したサンプルベクトルを生成する。
 また、学習データに作業者が含まれる場合、特徴量抽出部201は、作業者の特徴量を抽出する。例えば、特徴量抽出部201は、入力された作業者に関するデータや、事前に登録されている作業者に関するデータ(例えば、プロファイル等)から作業者の特徴量を抽出する。
 そして、特徴量抽出部201は、作業者の特徴量をベクトル化した作業者ベクトルを生成する。
 特徴量抽出部201は、生成した各特徴量ベクトルを含む学習データを難易度推定モデル学習部211に供給する。
 ステップS3において、難易度推定モデル学習部211は、モデルを更新する。例えば、難易度推定モデル学習部211は、取得した学習データを用いて、所定の手法の機械学習を行うことにより、難易度推定モデルを更新する。
 例えば、「画像に写っている物体の名称を列挙する」という固定されたタスクの難易度推定モデルを学習する場合、画像(サンプル)を入力データとし、1つの画像当たりの所要時間を正解データとする学習データを用いた回帰分析が行われる。
 また、例えば、自然文で表現された任意のタスクの難易度推定モデルを学習する場合、少なくともタスクを含み、必要に応じて、サンプル、作業者を含む入力データ、及び、タスクの所要時間により表される正解データを含む学習データを用いた回帰分析が行われる。
 難易度推定モデル学習部211は、更新した難易度推定モデルに関する情報を記憶部108に記憶させる。
 その後、処理はステップS4に進む。
 一方、ステップS1において、学習データが入力されていないと判定された場合、ステップS2及びステップS3の処理はスキップされ、処理はステップS4に進む。
 ステップS4において、難易度推定モデル学習部211は、学習を継続するか否かを判定する。学習を継続すると判定された場合、処理はステップS1に戻る。
 その後、ステップS4において、学習を終了すると判定されるまで、ステップS1乃至S4の処理が繰り返し実行され、難易度推定モデルの学習が行われる。
 一方、ステップS4において、難易度推定モデル学習部211は、難易度推定モデルの学習を終了する条件を満たした場合、学習を終了すると判定し、難易度推定モデル学習処理は終了する。
 難易度推定モデルの学習を終了する条件には、例えば、以下の条件のうちの1つ以上が設定される。
・所定の学習期間が経過したとき
・学習済みの学習データの量が所定の閾値を超えたとき
・過去の学習データを用いた場合の難易度推定モデルの推定精度が所定の閾値を超えたとき
・難易度推定モデルの内部パラメータの変化量が所定の閾値未満になったとき
 なお、難易度推定モデルの学習において、例えば、各作業者の各タスクに対するタスク難易度の実績データに基づいて、各タスクのタスクベクトル及び各作業者の作業者ベクトルを求め、学習データに用いることも可能である。
 具体的には、次式(8)の左辺は、各作業者の各タスクに対するタスク難易度(例えば、タスクの所要時間)の実績値を行列により表したものである。例えば、rnmは、作業者nのタスクmに対するタスク難易度を示している。また、Nは総作業者数を示し、Mは総タスク数を示している。なお、必ずしも全ての作業者とタスクの組み合わせに対するタスク難易度の実績値は必要ない。
Figure JPOXMLDOC01-appb-M000001
 ここで、例えば難易度推定モデル学習部211は、行列分解を用いて、式(8)の左辺の行列を、右辺に示されるように作業者の潜在ベクトル群とタスクの潜在ベクトル群とに分解する。
 作業者の潜在ベクトル群は、各作業者の潜在ベクトルu乃至潜在ベクトルuからなり、タスクの潜在ベクトル群は、各タスクの潜在ベクトルv乃至潜在ベクトルvからなる。潜在ベクトルuは、un1からunkまでのk個の要素からなり、潜在ベクトルvは、vn1からvnkまでのk個の要素からなる。そして、作業者nのタスクmに対するタスク難易度rnmは、式(9)に示されるように、潜在ベクトルuと潜在ベクトルvの内積により近似される。
 なお、この行列分解のアルゴリズムには、例えば、Probabilistic Matrix Factorization(PMF)等を用いることができる。
 そして、難易度推定モデルの学習データのタスクベクトルに潜在ベクトルvを用い、作業者ベクトルに潜在ベクトルuを用いることが可能である。
 このように、タスク難易度の実績データに基づいて、人手による特徴量の設計を必要とせずに、難易度推定モデルの学習データ用のタスクベクトル及び作業者ベクトルを得ることができる。
<1-6.タスク難易度推定処理>
 次に、図10のフローチャートを参照して、サーバ11により実行されるタスク難易度推定処理について説明する。なお、この処理は、例えば、タスク難易度を推定する対象となる入力データがサーバ11に入力されたとき開始される。入力データには、タスク、サンプル、及び、作業者(を表すデータ)のうち1つ以上が含まれる。
 ステップS101において、特徴量抽出部201は、図8のステップS2の処理と同様に、入力データの特徴量を抽出する。そして、特徴量抽出部201は、抽出した特徴量からなる特徴量ベクトルを難易度推定部212に供給する。この特徴量ベクトルには、タスクベクトル、サンプルベクトル、及び、作業者ベクトルのうち1つ以上が含まれる。
 ステップS102において、難易度推定部212は、タスク難易度を推定する。具体的には、難易度推定部212は、記憶部108に記憶されている難易度推定モデルに、特徴量抽出部201から供給された特徴量ベクトルを適用することにより、タスク難易度を推定する。難易度推定部212は、例えば、タスク難易度の推定結果を提示制御部203に供給したり、RAM103又は記憶部108に記憶させたりする。
 ステップS103において、サーバ11は、タスク難易度を出力する。例えば、提示制御部203は、タスク難易度の推定結果を出力部107に供給し、出力部107のディスプレイに表示させる。また、例えば、提示制御部203は、タスク難易度の推定結果を、通信部109及びネットワーク13を介してクライアント12に送信し、クライアント12においてタスク難易度の推定結果を提示させる。
 その後、タスク難易度推定処理は終了する。
 以上のようにして、タスクの難易度の推定方法の汎用性を高め、様々なタスクの難易度を容易に推定することが可能になる。
 例えば、過去に実績のない未知のタスク、未知のサンプル、又は、未知の作業者に対するタスク難易度を容易に推定することが可能になる。具体的には、例えば、上述した特許文献1のように特定のタスクに限定されることなく、任意のタスクに対するタスク難易度を容易に推定することが可能になる。また、例えば、過去にタスクの実績がない作業者に対するタスク難易度を推定することが可能になる。
 また、サンプルや作業者を考慮せずにタスク難易度を推定したり、サンプル毎又は作業者毎にタスク難易度を推定したりすることが可能になる。
 さらに、後述する能動学習等を用いて難易度推定モデルの学習精度を高めることにより、タスク難易度の推定精度を向上させることができる。
<<2.適用例>>
 以下、本技術の適用例について説明する。
<2-1.能動学習(Active Learning)への適用例>
 例えば、タスク難易度を能動学習に適用することができる。
 機械学習では、学習データの作成、特に学習データの正解データの作成(例えば、ラベル付け等)に多大な労力と時間を要する。そこで、学習効率の高い学習データを選択して用いることで、より少ない学習データで精度の高いモデルを生成する能動学習の研究が進められている。
 ここで、学習効率の高い学習データとは、例えば、モデルの完成度を大きく向上させることができるデータのことである。例えば、”A. Burr, "Active learning literature survey," Technical Report 2010-09-14, University Wisconsin Madison, Computer Sciences Technical Report, 2010.”等によれば、学習データに用いるサンプルを選択する基準には、以下のようなものがある。
・Uncertainly Sampling:(機械にとって)最も不確かなサンプルを選ぶ。
・Query-By-Committee:多数決で票が割れたサンプルを選ぶ。
・Expected Model Change:モデルの変化が最も大きそうなサンプルを選ぶ。
・Expected Error Reduction:エラーを最も減少させそうなサンプルを選ぶ。
・Density-Weighted Methods:特徴量空間上で密度が高い部分のサンプルを優先する。
・Balance exploration and exploitation:学習されているモデルを利用した活用と、探索のバランスを取る(多腕バンディット問題として解く)。
 以上の条件に従ってサンプルを選択し、学習データを作成することで、学習データの作成にかかるコストを削減し、学習効率を高めることができる。
 ここで、例えば、機械学習においてコンピュータ等の機械にとって不確かなサンプルが、必ずしも人にとって不確かなサンプルであるとは限らない。例えば、機械にとってラベル付けの難易度が高いサンプルが、必ずしも人にとってラベル付けの難易度が高いサンプルであるとは限らない。換言すれば、機械にとって不確かなサンプルの中には、例えば、本当に不確かなサンプル(例えば、人が見てもラベル付けが困難なサンプル)と、本当は明確なサンプル(例えば、人が見れば確実なラベル付けができるサンプル)とがある。
 例えば、図11のA乃至図11のCのサンプル(画像)に対して「画像に鳥が写っているか否かを示すラベルを付ける」というタスクを実行する場合、機械にとっては、図11のAのサンプルに対する不確かさは低く、図11のB及び図11のCのサンプルに対する不確かさは同程度に高い。すなわち、機械にとっては、図11のAのサンプルに対するラベル付けの難易度は低く、図11のB及び図11のCのサンプルに対するラベル付けの難易度は同程度に高い。従って、図11のB又は図11のCのサンプルを用いた場合の学習効果は、図11のAのサンプルを用いた場合の学習効果より高くなる。
 一方、人にとっては、図11のA及び図11のCのサンプルに対する不確かさは同程度に低く、図11のBのサンプルに対する不確かさは高い。すなわち、人にとっては、図11のA及び図11のCのサンプルに対するラベル付けの難易度は同程度に低く、図11のBのサンプルに対するラベル付けの難易度は高い。
 従って、図11のA乃至図11のCのサンプルの中から学習に用いるサンプルを1つ選択する場合、図11のCのサンプルを選択することにより、学習データの作成(ラベル付け)に要するコストを抑制しつつ、学習効果を高めることができる。
 また、図12は、特徴量1及び特徴量2に基づいてサンプルにラベル付けする場合の特徴量空間の例を示している。図内の丸で示される点は、人が第1のクラスとラベル付けしたサンプルを表す。バツで表される点は、人が第2のクラスとラベル付けしたサンプルを表す。三角で表される点は、人がまだラベル付けしていないサンプルを表す。また、点線cは、これまでの学習処理により得られた、サンプルを分類するための識別平面を表す。
 ここで、図内の三角で表されるサンプルs1及びサンプルs2の中から、次の学習データに用いるサンプルを選択する場合について説明する。なお、以下、サンプルsをラベル付けする場合の人にとっての不確かさ(すなわち、タスク難易度)を推定する関数をf(s)とし、サンプルsを分類する場合の機械にとっての確かさ(以下、確信度と称する)を推定する関数をg(s)とする。関数f(s)の値は、サンプルsに対するタスク難易度が高くなるほど大きくなり、タスク難易度が低いほど小さくなる。関数g(s)の値は、サンプルsに対する確信度が高くなるほど大きくなり、確信度が低くなるほど小さくなる。
 また、f(s1)=0.8、g(s1)=0.5とし、f(s2)=0.1、g(s1)=0.7とする。すなわち、サンプルs1の方がサンプルs2よりタスク難易度が高く、確信度が低い。
 例えば、タスク難易度を用いない場合、識別曲線cにより近く、確信度が低いサンプルs1が、すなわち、どのクラスにも属していなさそうなサンプルs1が、サンプルs2より優先して学習データに用いられる。
 一方、タスク難易度を用いた場合、f(s)+g(s)の値は、サンプルs1で1.3となり、サンプルs2で0.8となる。そこで、f(s)+g(s)の値がより小さいサンプルs2が、サンプルs1より優先して学習データに用いられる。
 このように、f(s)+g(s)の値がより小さいサンプル、すなわち、人にとっての難易度が低く、機械にとっての確信度がより低いサンプルが優先して学習データに用いられる。例えば、本当に不確かなサンプルより、本当は明確なサンプルが優先して学習データに用いられる。これにより、学習データの作成(ラベル付け)に要するコストを抑制しつつ、学習効果を高めることができる。
 そこで、例えば、難易度推定モデル学習部211は、あるタスクを実行するタスク実行モデルの学習を行う前に、上述した方法により、そのタスクに対する難易度推定モデルを学習する。次に、難易度推定部212は、得られた難易度推定モデルを用いて、学習データに用いる候補となるサンプルに対するタスク難易度を推定する。そして、例えば、タスク実行モデル学習部213は、学習データに用いるサンプルを選択する基準として、上述した基準に加えて、タスク難易度(人にとっての難易度)が低いサンプルを選択するという基準を追加する。
 これにより、例えば、タスク実行モデル学習部213は、他の基準に基づく学習効果が同程度のサンプルが存在する場合、タスク難易度がより低く、正解データを作成しやすいサンプルを優先して学習データに用いる。
 なお、タスク難易度以外の学習データのサンプルを選択する基準として、必ずしも上述した基準を全て用いる必要はない。ただし、(機械にとって)最も不確かなサンプルを選ぶという基準を少なくとも用いるようにすることが望ましい。
 また、学習データに用いる入力データは、必ずしもサンプルだけとは限らず、例えば、タスクが含まれる場合がある。これに対して、例えば、機械にとって難易度が高いが、人にとって難易度が低いタスクを優先して学習データに用いることにより、学習データの作成に要するコストを抑制しつつ、学習効果を高めることができる。
 このように、機械にとっての難易度が高く、人にとっての難易度(タスク難易度)が低い学習データを優先して選択することにより、学習データの作成に要するコストを抑制しつつ、学習効果を高めることができる。
<2-2.クラウドソーシングへの適用例>
 また、例えば、タスク難易度はクラウドソーシングに適用することができる。
 クラウドソーシングでは、作業者が事前にタスクの難易度を予測することが困難なことが多く、それ故、提示された報酬が適正であるか否かを判断することが難しい。
 例えば、図13は、状来のクラウドソーシングにおいて、作業者を募集する際にタスクの内容を提示する対象となる各作業者のクライアント12において表示される募集画面の例を示している。この例では、「画像に花の種類をタグ付け」及び「画像に鳥の種類をタグ付け」というタスクに対して、1タグ当たり3円の報酬が提示されている。しかし、作業者は、画像に花の種類や鳥の種類をタグ付けするタスクがどの程度の難易度であるか予測することが困難であるため、提示された報酬が適正であるか否かを判断することが難しい。
 このような事情もあり、クラウドソーシングでは作業者が安く酷使されているという問題が度々指摘されている。
 これに対して、上述した技術を用いて、各タスクに対するタスク難易度を機械的に算出し、提示することにより、発注者が適正な報酬でタスクを発注し、作業者が適正な報酬でタスクを受注することが可能になる。
 ここで、図14乃至図16を参照して、タスク難易度を用いた場合のタスクの発注から受注までの流れの例について説明する。
 図14は、サーバ11の提示制御部203の制御の下に、発注者のクライアント12において表示される発注画面の例を示している。
 発注者は、この発注画面において、発注するタスクの内容を具体的に示すタスク指示、サンプルあたりのタスクの報酬、及び、処理対象となるサンプル数を、入力欄301乃至入力欄303に入力することができる。そして、発注者が、タスク指示、サンプルあたりの報酬、及び、サンプル数を入力欄301及び入力欄303に入力すると、入力したデータが、ネットワーク13を介してサーバ11に送信される。このとき、発注者は、必要に応じて、タスクの処理対象となるサンプルを、自分のクライアント12からネットワーク13を介してサーバ11に送信する。
 サーバ11は、図10を参照して上述した処理により、発注者により入力されたタスクのタスク難易度を推定する。例えば、サーバ11の難易度推定部212は、上述した式(6)の関数f6を用いて、クラウドソーシングサービスに登録されている作業者毎のサンプルあたりのタスクの所要時間をタスク難易度として推定する。また、難易度推定部212は、推定結果に基づいて、全作業者におけるサンプルあたりの推定所用時間の最小値(最短時間)、最大値(最長時間)、及び、平均値(平均時間)を算出する。
 また、例えば、難易度推定部212は、全サンプルのタスク完了時刻を推定する。例えば、難易度推定部212は、サンプルあたりの推定所要時間の平均値、及び、サンプル数に基づいて、全サンプルのタスクの実行に必要な所要時間を推定し、その推定結果に基づいて、全サンプルのタスクの完了時刻を推定する。
 なお、このとき、難易度推定部212は、サンプル当たりの報酬、他のタスクの発注状況、作業者の活動状況等に基づいて、どの程度の作業者が受注し、作業を行うかを推定し、その推定結果を加味して、全サンプルのタスクの所要時間及び完了時刻を推定するようにしてもよい。例えば、多くの作業者が活動する時間帯では、タスクを受注し、実行する作業者が多くなると予想されるため、タスク完了推定時刻が早くなる。また、例えば、他に類似するタスクの発注がある時間帯では、タスクを受注し、実行する作業者が少なくなると予想されるため、タスク完了推定時刻が遅くなる。
 そして、サーバ11は、サンプルあたりの推定所用時間の最小値、最大値、及び、平均値の算出結果、並びに、全サンプルのタスクの推定所用時間及び完了推定時刻を発注者のクライアント12に送信する。
 これにより、図14に示されるように、発注画面において、サンプルあたりの推定所用時間の最小値(最短時間)、平均値(平均時間)、及び、最大値(最長時間)が表示される。また、全サンプルのタスク完了推定時刻、及び、全サンプルのタスクの推定所用時間が、発注画面に表示される。これにより、発注者は、所望の期限までにタスクが完了するか否かを容易に判断することが可能になる。
 そして、発注者が発注ボタン305を押下することにより、タスクが発注され、タスクを実行する作業者の募集が開始される。一方、発注者は、キャンセルボタン304を押下することにより、タスクの発注をキャンセルすることができる。
 図15及び図16は、タスクの発注後にサーバ11の提示制御部203の制御の下に、各作業者のクライアント12において表示される募集画面の例である。図15は、作業者Aのクライアント12において表示される募集画面の例を示している。図16は、作業者Bのクライアント12において表示される募集画面の例を示している。
 この例では、タスクの内容及び報酬は、上述した図13の募集画面と同様に、全作業者において共通の情報として提示される。例えば、作業者A及び作業者Bの募集画面において、「画像に花の種類をタグ付け」というタスクの報酬が1タグあたり3円、「画像に鳥の種類をタグ付け」というタスクの報酬が1タグあたり3円であることが提示されている。
 一方、推定所用時間及び推定時給は、作業者毎に異なる。すなわち、サーバ11において各作業者のタスク難易度として推定された推定所用時間が、各作業者の募集画面において個別に提示される。例えば、作業者Aの募集画面において、「画像に花の種類をタグ付け」というタスクの推定所用時間が15秒、「画像に鳥の種類をタグ付け」というタスクの推定所用時間が60秒であることが提示されている。また、作業者Bの募集画面において、「画像に花の種類をタグ付け」というタスクの推定所用時間が30秒、「画像に鳥の種類をタグ付け」というタスクの推定所用時間が20秒であることが提示されている。
 また、サーバ11において推定所用時間及び1タグあたりの報酬に基づいて算出された推定時給が、各作業者の募集画面において個別に提示される。例えば、作業者Aの募集画面において、「画像に花の種類をタグ付け」というタスクの推定時給が720円、「画像に鳥の種類をタグ付け」というタスクの推定時給が180円であることが提示されている。また、作業者Bの募集画面において、「画像に花の種類をタグ付け」というタスクの推定時給が360円、「画像に鳥の種類をタグ付け」というタスクの推定時給が540円であることが提示されている。
 このように、各作業者の能力やスキル等に応じた推定所用時間(タスク難易度)及び推定時給が提示されるため、各作業者は、自分に適したタスクを見つけたり、タスクの報酬が適正であるかを判断したりすることが容易になる。
 そして、各作業者は、募集画面を閲覧して、希望するタスクが見つかった場合、そのタスクに応募する。
 その後、タスクの受注の確定プロセスは、任意に設定することができる。例えば、発注者が応募してきた作業者の中から発注する作業者を選定するようにしてもよいし、先着順にタスクの受注者を確定するようにしてもよい。
 そして、受注が確定した作業者は、タスクを実行し、その成果物を、自分のクライアント12から、ネットワーク13を介してサーバ11に送信する。サーバ11は、ネットワーク13を介して、受信した成果物を発注者のクライアント12に送信し、発注者は成果物の検収を行う。
 なお、以上の説明では、実際にタスクの処理対象となるサンプルを考慮せずにタスクの所用時間、完了時刻等を推定し、提示する例を示したが、サンプルを考慮して推定し、提示するようにしてもよい。
 また、例えば、図14の発注画面において、発注者が特定の作業者を選択し、選択した作業者のサンプルあたりの推定所用時間やタスク完了推定時刻を提示できるようにしてもよい。これにより、発注者は、客観的なデータに基づいて、適切な作業者を選択することが可能になる。
 また、タスクをシングルラベル表現又はマルチラベル表現を用いて表現し、図17に示されるように、発注画面において、階層的に選択肢を選ぶことによりタスク指示を生成するようにしてもよい。例えば、図17の例では、第一階層において、「選択」、「比較」、「列挙」等のタスクの種類を選択可能である。第二階層では、「画像」、「テキスト」、「音声」等のサンプルの種類を選択可能である。第三階層では、「鳥」、「花」、「神社」等のサンプルの具体的な内容を選択可能である。
 例えば、第一階層において「選択」を選択し、第二階層において「画像」を選択し、第三階層において「花」を選択することにより、「花」の「画像」を「選択」するというタスク指示が生成される。
 なお、例えば、図17の第三階層において自然文を入力可能にすることにより、シングルラベル表現又はマルチラベル表現と自然文表現とを組み合わせることも可能である。
<2-3.テキストの難易度の推定>
 また、例えば、難易度推定部212は、難易度推定モデルを用いて、「問題を解く」というタスクのタスク難易度を推定することにより、問題の難易度を推定することができる。従って、個々の問題の難易度の推定結果に基づいて、教科書、問題集、参考書等のテキストの難易度を客観的に表すことができる。例えば、テキストに含まれる問題の難易度の平均、最大、合計等に基づいて、テキストの難易度を客観的に表すことができる。なお、対象となるテキストは、紙媒体のものだけでなく、オンラインの問題集等の電子データによるものも含む。
 ここで、問題の難易度(タスク難易度)の推定に用いる特徴量の抽出方法の例について説明する。
 図18は、数学の問題の難易度の推定に用いる特徴量の抽出方法の例を示している。この例では、問題の種類、次数、最大桁数、項数が特徴量として抽出されている。これらの特徴量のうち、問題の種類は、「数学の問題を解く」というタスクの特徴量となり、次数、最大桁数、項数は、「数学の問題を解く」というタスクの対象となるサンプルの特徴量となる。
 問題の種類は、方程式、式の変形、計算等の問題の種類を示す特徴量である。
 次数は、問題に含まれる数式の次数を示す特徴量である。
 最大桁数は、問題に含まれる数式内の各数字の桁のうち最大のものを示す特徴量である。
 項数は、問題に含まれる数式内の項の数を示す特徴量である。
 例えば、問題の種類を含むタスクベクトル、及び、次数、最大桁数、項数を含むサンプルベクトルを上述した式(5)の関数f5に適用することにより、各問題のタスク難易度が推定される。
 図19は、文章問題の一例を示している。この問題は、問題の対象となる文章、及び、問1、問2の小問からなる。
 例えば、問題の対象となる文章に対して、BoWs、N-gram、RNN等を用いて生成される特徴量や、文章長、語彙数等の特徴量(以下、文章特徴量と称する)が抽出される。
 また、例えば、問1の文章、及び、問2の文章から問題の種類が特徴量として抽出される。例えば、問1の問題の種類は、「文章の内容と矛盾する選択肢の選択」であり、問2の問題の種類は、「文章の主旨のまとめ」である。
 また、例えば、問1の選択肢の文章に対して、BoWs、N-gram、RNN等を用いて生成される特徴量や、文章長、語彙数等の特徴量(以下、問題特徴量と称する)が抽出される。また、問1の選択肢の数が、特徴量として抽出される。
 例えば、問1の問題のタスク難易度を推定する場合、問1の問題の種類を含む特徴量ベクトルがタスクベクトルに用いられ、文章特徴量、問1の問題特徴量、選択肢の数を含む特徴量ベクトルがサンプルベクトルに用いられる。そして、タスクベクトル及びサンプルベクトルを上述した式(5)の関数f5に適用することにより、問1のタスク難易度が推定される。
 また、問2の問題のタスク難易度を推定する場合、問2の問題の種類を含む特徴量ベクトルがタスクベクトルに用いられ、文章特徴量を含む特徴量ベクトルがサンプルベクトルに用いられる。そして、タスクベクトル及びサンプルベクトルを上述した式(5)の関数f5に適用することにより、問2のタスク難易度が推定される。
 以上のようにして、テキストに含まれる問題のタスク難易度を推定し、各問題のタスク難易度の平均、最大、合計等により、テキストの難易度を客観的に表すことができる。
<<3.変形例等>>
 以下、上述した本技術の実施の形態の変形例等について説明する。
 例えば、サーバ11の処理の全部又は一部をクライアント12において実行するようにしてもよい。例えば、サーバ11からクライアント12に難易度推定モデルを提供し、クライアント12においてタスク難易度を推定するようにしてもよい。
 また、例えば、難易度推定モデルの学習又はタスク難易度の推定を行う場合に、タスクベクトル、サンプルベクトル、作業者ベクトルを含む入力データをサーバ11に与えるようにして、サーバ11において特徴量の抽出を行わないようにしてもよい。
 さらに、上述した本技術の適用例は、その一例であり、本技術は、例えば、人にとってのタスクの難易度を推定したり利用したりする各種の装置やサービス等に適用することが可能である。
 また、上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。
 なお、ソフトウエアにより実行する場合、コンピュータ(例えば、サーバ11、クライアント12)が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 さらに、例えば、本技術は以下のような構成も取ることができる。
(1)
 タスクに関する情報に基づいて、前記タスクの難易度であるタスク難易度を推定する推定部を
 備える情報処理装置。
(2)
 前記タスクは、ラベル付け、比較、列挙、評価、検索、回答、解答、調査、整理、変換、要約、連想、類推、生成、推薦、計画、詳細化、相談、会話、運搬、製造、設計、及び、テストのうち1つ、又は、2つ以上の組み合わせからなる
 前記(1)に記載の情報処理装置。
(3)
 前記推定部は、前記タスクの特徴量、前記タスクの処理対象となるサンプルの特徴量、及び、前記タスクを実行する作業者の特徴量のうち少なくとも1つに基づいて、前記タスク難易度を推定する
 前記(1)又は(2)に記載の情報処理装置。
(4)
 前記推定部は、種類の異なるタスクの前記タスク難易度を、少なくとも各タスクの特徴量に基づいて推定する
 前記(3)に記載の情報処理装置。
(5)
 前記推定部は、前記タスクの特徴量、前記サンプルの特徴量、及び、前記作業者の特徴量のうち少なくとも1つに基づいて前記タスク難易度を推定する第1のモデルを用いる
 前記(3)又は(4)に記載の情報処理装置。
(6)
 前記第1のモデルの学習を行う第1の学習部を
 さらに備える前記(5)に記載の情報処理装置。
(7)
 前記第1の学習部は、各作業者の各タスクに対する前記タスク難易度の実績データから得られる各タスクの特徴量及び各作業者の特徴量を用いて、前記第1のモデルの学習を行う
 前記(6)に記載の情報処理装置。
(8)
 前記タスクの特徴量、前記サンプルの特徴量、及び、前記作業者の特徴量のうち少なくとも1つの抽出を行う特徴量抽出部を
 さらに備える前記(3)に記載の情報処理装置。
(9)
 前記タスク難易度は、人にとっての前記タスクの難易度である
 前記(1)乃至(8)のいずれかに記載の情報処理装置。
(10)
 前記タスク難易度は、前記タスクの客観的な基準及び主観的な基準のうち少なくとも1つに基づいて表される
 前記(9)に記載の情報処理装置。
(11)
 前記タスクを実行する第2のモデルの学習用のデータを各データに対する前記タスク難易度に基づいて選択して前記第2のモデルの学習を行う第2の学習部を
 さらに備える前記(1)乃至(10)のいずれかに記載の情報処理装置。
(12)
 前記第2の学習部は、さらに各データに対する機械にとっての不確かさに基づいて前記学習用のデータの選択を行う
 前記(11)に記載の情報処理装置。
(13)
 前記タスクを実行する作業者を募集する場合に、前記タスクの内容とともに前記タスク難易度を提示するように制御する提示制御部を
 さらに備える前記(1)乃至(12)のいずれかに記載の情報処理装置。
(14)
 前記提示制御部は、各作業者に対する前記タスク難易度を作業者毎に個別に提示するように制御する
 前記(13)に記載の情報処理装置。
(15)
 前記推定部は、テキストに含まれる各問題に対する前記タスク難易度を推定し、推定結果に基づいて前記テキストの難易度を推定する
 前記(1)乃至(14)のいずれかに記載の情報処理装置。
(16)
 情報処理装置が、
 タスクに関する情報に基づいて、前記タスクの難易度であるタスク難易度を推定する推定ステップを
 含む情報処理方法。
(17)
 タスクに関する情報に基づいて、前記タスクの難易度であるタスク難易度を推定する推定ステップを
 含む処理をコンピュータに実行させるためのプログラム。
 1 情報処理システム, 11 サーバ, 12 クライアント, 101 CPU, 201 特徴量抽出部, 202 タスク関連処理部, 203 提示制御部, 211 難易度推定モデル学習部, 212 タスク難易度推定部, 213 タスク実行モデル学習部, 214 タスク実行部

Claims (17)

  1.  タスクに関する情報に基づいて、前記タスクの難易度であるタスク難易度を推定する推定部を
     備える情報処理装置。
  2.  前記タスクは、ラベル付け、比較、列挙、評価、検索、回答、解答、調査、整理、変換、要約、連想、類推、生成、推薦、計画、詳細化、相談、会話、運搬、製造、設計、及び、テストのうち1つ、又は、2つ以上の組み合わせからなる
     請求項1に記載の情報処理装置。
  3.  前記推定部は、前記タスクの特徴量、前記タスクの処理対象となるサンプルの特徴量、及び、前記タスクを実行する作業者の特徴量のうち少なくとも1つに基づいて、前記タスク難易度を推定する
     請求項1に記載の情報処理装置。
  4.  前記推定部は、種類の異なるタスクの前記タスク難易度を、少なくとも各タスクの特徴量に基づいて推定する
     請求項3に記載の情報処理装置。
  5.  前記推定部は、前記タスクの特徴量、前記サンプルの特徴量、及び、前記作業者の特徴量のうち少なくとも1つに基づいて前記タスク難易度を推定する第1のモデルを用いる
     請求項3に記載の情報処理装置。
  6.  前記第1のモデルの学習を行う第1の学習部を
     さらに備える請求項5に記載の情報処理装置。
  7.  前記第1の学習部は、各作業者の各タスクに対する前記タスク難易度の実績データから得られる各タスクの特徴量及び各作業者の特徴量を用いて、前記第1のモデルの学習を行う
     請求項6に記載の情報処理装置。
  8.  前記タスクの特徴量、前記サンプルの特徴量、及び、前記作業者の特徴量のうち少なくとも1つの抽出を行う特徴量抽出部を
     さらに備える請求項3に記載の情報処理装置。
  9.  前記タスク難易度は、人にとっての前記タスクの難易度である
     請求項1に記載の情報処理装置。
  10.  前記タスク難易度は、前記タスクの客観的な基準及び主観的な基準のうち少なくとも1つに基づいて表される
     請求項9に記載の情報処理装置。
  11.  前記タスクを実行する第2のモデルの学習用のデータを各データに対する前記タスク難易度に基づいて選択して前記第2のモデルの学習を行う第2の学習部を
     さらに備える請求項1に記載の情報処理装置。
  12.  前記第2の学習部は、さらに各データに対する機械にとっての不確かさに基づいて前記学習用のデータの選択を行う
     請求項11に記載の情報処理装置。
  13.  前記タスクを実行する作業者を募集する場合に、前記タスクの内容とともに前記タスク難易度を提示するように制御する提示制御部を
     さらに備える請求項1に記載の情報処理装置。
  14.  前記提示制御部は、各作業者に対する前記タスク難易度を作業者毎に個別に提示するように制御する
     請求項13に記載の情報処理装置。
  15.  前記推定部は、テキストに含まれる各問題に対する前記タスク難易度を推定し、推定結果に基づいて前記テキストの難易度を推定する
     請求項1に記載の情報処理装置。
  16.  情報処理装置が、
     タスクに関する情報に基づいて、前記タスクの難易度であるタスク難易度を推定する推定ステップを
     含む情報処理方法。
  17.  タスクに関する情報に基づいて、前記タスクの難易度であるタスク難易度を推定する推定ステップを
     含む処理をコンピュータに実行させるためのプログラム。
PCT/JP2017/019830 2016-06-09 2017-05-29 情報処理装置、情報処理方法、及び、プログラム WO2017212956A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP17810135.8A EP3471049A4 (en) 2016-06-09 2017-05-29 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING PROCESS AND PROGRAM
JP2018522420A JP6958552B2 (ja) 2016-06-09 2017-05-29 情報処理装置、情報処理方法、及び、プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016115080 2016-06-09
JP2016-115080 2016-06-09

Publications (1)

Publication Number Publication Date
WO2017212956A1 true WO2017212956A1 (ja) 2017-12-14

Family

ID=60578245

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/019830 WO2017212956A1 (ja) 2016-06-09 2017-05-29 情報処理装置、情報処理方法、及び、プログラム

Country Status (3)

Country Link
EP (1) EP3471049A4 (ja)
JP (1) JP6958552B2 (ja)
WO (1) WO2017212956A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019125119A (ja) * 2018-01-16 2019-07-25 株式会社エンライブ 情報処理装置及び情報処理プログラム
JP2020035116A (ja) * 2018-08-29 2020-03-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 寄与度決定方法、寄与度決定装置及びプログラム
WO2020075255A1 (ja) * 2018-10-11 2020-04-16 日本電気株式会社 学習装置、学習方法、及びプログラムが格納された非一時的なコンピュータ可読媒体

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211468A (ja) * 2009-03-10 2010-09-24 Toyota Central R&D Labs Inc 学習モデル生成装置、対象物検出システム、及びプログラム
JP2011118516A (ja) * 2009-12-01 2011-06-16 Nec Corp 作業時間予測装置、作業時間予測方法、および、作業時間予測プログラム
WO2015147029A1 (ja) * 2014-03-27 2015-10-01 株式会社 Ikkyo Technology 検閲装置
JP2016040580A (ja) * 2014-08-12 2016-03-24 Kddi株式会社 難易度推定装置、問題生成装置、問題出題装置、難易度推定方法、問題生成方法、問題出題方法およびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10482403B2 (en) * 2014-11-06 2019-11-19 Conduent Business Services, Llc Methods and systems for designing of tasks for crowdsourcing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211468A (ja) * 2009-03-10 2010-09-24 Toyota Central R&D Labs Inc 学習モデル生成装置、対象物検出システム、及びプログラム
JP2011118516A (ja) * 2009-12-01 2011-06-16 Nec Corp 作業時間予測装置、作業時間予測方法、および、作業時間予測プログラム
WO2015147029A1 (ja) * 2014-03-27 2015-10-01 株式会社 Ikkyo Technology 検閲装置
JP2016040580A (ja) * 2014-08-12 2016-03-24 Kddi株式会社 難易度推定装置、問題生成装置、問題出題装置、難易度推定方法、問題生成方法、問題出題方法およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3471049A4 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019125119A (ja) * 2018-01-16 2019-07-25 株式会社エンライブ 情報処理装置及び情報処理プログラム
JP2020035116A (ja) * 2018-08-29 2020-03-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 寄与度決定方法、寄与度決定装置及びプログラム
JP7211735B2 (ja) 2018-08-29 2023-01-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 寄与度決定方法、寄与度決定装置及びプログラム
WO2020075255A1 (ja) * 2018-10-11 2020-04-16 日本電気株式会社 学習装置、学習方法、及びプログラムが格納された非一時的なコンピュータ可読媒体
JPWO2020075255A1 (ja) * 2018-10-11 2021-09-02 日本電気株式会社 学習装置、学習方法、及びプログラム
JP7310827B2 (ja) 2018-10-11 2023-07-19 日本電気株式会社 学習装置、学習方法、及びプログラム

Also Published As

Publication number Publication date
EP3471049A4 (en) 2019-06-19
JP6958552B2 (ja) 2021-11-02
JPWO2017212956A1 (ja) 2019-04-04
EP3471049A1 (en) 2019-04-17

Similar Documents

Publication Publication Date Title
US11868732B2 (en) System for minimizing repetition in intelligent virtual assistant conversations
US10268653B2 (en) Goal-oriented user matching among social networking environments
US20170220928A1 (en) Method and System for Innovation Management and Optimization under Uncertainty
US11657371B2 (en) Machine-learning-based application for improving digital content delivery
Gentsch et al. Conversational AI: how (chat) bots will reshape the digital experience
Dunn et al. Crowd-sourcing as a component of humanities research infrastructures
US20160275636A1 (en) Method and system for curriculum management services
US11599927B1 (en) Artificial intelligence system using deep neural networks for pairwise character-level text analysis and recommendations
WO2017212956A1 (ja) 情報処理装置、情報処理方法、及び、プログラム
US11367117B1 (en) Artificial intelligence system for generating network-accessible recommendations with explanatory metadata
US20230104324A1 (en) File Management Systems and Methods
KR102487820B1 (ko) 유사한 비교콘텐츠들과의 차별점을 제공하는 콘텐츠 기획과 제작을 위한 통합 플랫폼 서비스 제공 장치, 방법 및 프로그램
US11714967B1 (en) College admissions and career mentorship platform
KR102339377B1 (ko) 사용자 맞춤형 문화 예술 컨텐츠 제공 방법 및 장치
Young et al. Knowledge management for sales and marketing: a practitioner’s guide
Koroglu AI and XR (AIXR) Marketing in Industry 5.0 or Society 5.0
Taulli et al. Natural Language Processing (NLP) How Computers Talk
TW202127364A (zh) 用於創新,創意和學習即服務的系統和方法
Grupac et al. Immersive engagement and geospatial mapping technologies, deep learning and neural network algorithms, and visual perception and data mining tools in metaverse interactive and extended reality environments
WO2017217242A1 (ja) 情報処理装置、情報処理方法、及び、プログラム
CN111258687A (zh) 用于优化数字页面的工作识别
KR102650209B1 (ko) 뷰어 기능을 제공하는 투고 저널 추천 서버, 방법 및 프로그램
US20220366896A1 (en) Intelligent training and education bot
US20240061994A1 (en) Systems and methods for content creation based on audience preference and contextual factors
Pouliakas Understanding Technological Change and Skill Needs: Big Data and Artificial Intelligence Methods. Cedefop Practical Guide 2.

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018522420

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 17810135

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017810135

Country of ref document: EP

Effective date: 20190109