WO2023119415A1 - Processing device, processing method, and processing program - Google Patents

Processing device, processing method, and processing program Download PDF

Info

Publication number
WO2023119415A1
WO2023119415A1 PCT/JP2021/047300 JP2021047300W WO2023119415A1 WO 2023119415 A1 WO2023119415 A1 WO 2023119415A1 JP 2021047300 W JP2021047300 W JP 2021047300W WO 2023119415 A1 WO2023119415 A1 WO 2023119415A1
Authority
WO
WIPO (PCT)
Prior art keywords
input data
function
data set
labeling
label
Prior art date
Application number
PCT/JP2021/047300
Other languages
French (fr)
Japanese (ja)
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 PCT/JP2021/047300 priority Critical patent/WO2023119415A1/en
Publication of WO2023119415A1 publication Critical patent/WO2023119415A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a processing device, a processing method, and a processing program.
  • Machine learning is widespread in a wide range of fields.
  • supervised learning a training data set is prepared in advance, and the discriminator learns based on the training data set.
  • a training data set is data obtained by adding determination results such as identification, classification, regression, and identity to an input data set to be analyzed.
  • determination results such as identification, classification, regression, and identity
  • the cost of creating a training dataset with correct answers is a problem in machine learning.
  • the system implements a function that corresponds to the knowledge of the subject who gives the correct answer to the rule, and the system gives the correct answer to the input data set according to the function.
  • the dataset with correct answers is added to the training dataset.
  • Non-Patent Document 1 extracts an input data set in which the majority of the output is divided or no votes when the implemented rule is applied to the input data set group. For input datasets randomly selected from the extracted input datasets, add rules to guide the correct answer.
  • Non-Patent Document 2 There is also a method of identifying rules that are likely to be functionalized from the form of functions predetermined by the subject and specific feature amounts, and inquiring of the subject whether or not to add those rules.
  • Non-Patent Document 1 and Non-Patent Document 2 the expected value of improvement in classifier performance such as active learning is not considered.
  • the methods described in Non-Patent Literature 1 and Non-Patent Literature 2 may be difficult to implement efficient learning, such as it takes time to add rules appropriately.
  • the present invention has been made in view of the above circumstances, and an object of the present invention is to provide a technique capable of appropriately presenting an input data set to which correct answers should be given in weakly supervised learning.
  • the processing device labels each input data set with reference to function data including a labeling function that labels an input data set or abstains if labeling is not possible, and labels each input data set with the labeling function.
  • a labeling unit for assigning votes, a label assigned to each of the input data sets, and input data sets labeled with a labeling function of a number equal to or greater than a threshold among the input data sets.
  • the computer labels each input data set with reference to function data including a labeling function that labels the input data set or abstains if labeling is not possible, and converts each input data set to the labeling function. and said computer includes a label attached to each of said input datasets and input datasets labeled with a labeling function equal to or greater than a threshold number of each of said input datasets.
  • learning data to learn a model that outputs a correct label and the reliability of each labeling function from an input data set; inputting each of the input data sets to the trained model; and the computer outputs the identification uncertainty for each data set of non-voting input data, including input data sets labeled with a labeling function in a number less than a threshold number in each input data set. identifying as the presentation data the data set that maximizes the value of the acquisition function that takes into account the sparseness. A newly created labeling function for the presentation data is inserted into the function data.
  • One aspect of the present invention is a processing program that causes a computer to function as the processing device.
  • FIG. 1 is a diagram illustrating functional blocks of a processing device.
  • FIG. 2 is a diagram illustrating an example of the data structure of input data.
  • FIG. 3 is a diagram illustrating an example of the data structure of function data.
  • FIG. 4 is a diagram illustrating an example of the data structure of labeled input data.
  • FIG. 5 is a flowchart for explaining an outline of processing by the processing device.
  • FIG. 6 is a diagram illustrating functional blocks of a discriminator.
  • FIG. 7 is a diagram illustrating an example of the data structure of an identification probability vector.
  • FIG. 8 is a flowchart for explaining an outline of processing by a model processing unit in the discriminator.
  • FIG. 9 is a flowchart for explaining an outline of processing by the reliability calculation unit of the model processing unit.
  • FIG. 10 is a diagram for explaining the hardware configuration of a computer used in the processing device.
  • the processing device 1 In weakly supervised learning, the processing device 1 according to the embodiment identifies an input data set to which a new labeling function is to be applied based on the output results of existing labeling functions.
  • the specified input data set is presented to subject E.
  • Entity E generates a new labeling function for labeling the specified input data set.
  • the newly generated labeling functions are added to the existing labeling functions. In this way, the processing device 1 can efficiently generate a labeling function by determining an input data set for generating a new labeling function.
  • the processing device 1 shown in FIG. 1 includes input data 11, function data 12, labeled input data 13, voted input data 14, non-voted input data 15, output data 21, identification uncertainty 22, cluster data 23, presentation It has data 24 and new function data 25 , and functions of a labeling unit 51 , a discriminator 52 , a clustering unit 53 , a specifying unit 54 and an updating unit 55 .
  • Each data is stored in memory 902 or storage 903 .
  • Each function is implemented in the CPU 901 .
  • the input data 11 is data to be labeled by the labeling function.
  • the input data 11 is a set of multiple input data sets, as shown in FIG.
  • the number of input data sets included in the input data 11 in the embodiment of the present invention is
  • the function data 12 is data of a labeling function that labels each input data set of the input data 11 .
  • a labeling function is a function that labels an input dataset or abstains if labeling is not possible.
  • the function data 12 is a set of labeling functions, as shown in FIG.
  • the number of labeling functions included in the function data 12 in the embodiment of the present invention is
  • the labeled input data 13 is data obtained by labeling each input data set of the input data 11 with a labeling function.
  • values are set corresponding to an identifier specifying an input data set and an identifier specifying a labeling function.
  • the first letter after the alphabet v is the identifier that identifies the input dataset
  • the second letter is the identifier of the labeling function that processed the input dataset.
  • the identifier of the determined label is set as the value.
  • the value is set to indicate that it could not be determined.
  • the value indicating that the determination was not possible is, for example, 0, and a value that is not set by the label identifier is set.
  • Each input data set of the input data 11 is classified into either voted input data 14 or non-voted input data 15 depending on whether the processing result of the labeling unit 51 is equal to or greater than a threshold.
  • the threshold is 1 or more.
  • the input data with voting 14 includes input data sets labeled with a number of labeling functions equal to or greater than a threshold among the input data sets of the input data 11 .
  • an input data set labeled with a labeling function equal to or greater than a predetermined threshold is included in the voted input data 14 .
  • the non-voting input data 15 includes input data sets labeled with the labeling function in numbers less than the threshold among each input data set. Among the input data, the input data set labeled by the labeling function below the predetermined threshold is included in the non-voting input data 15 .
  • the output data 21 is data resulting from labeling each data set of the input data 11 with correct labels.
  • the new function data 25 is added to the function data 12 by the processing device 1, and the process of learning by the classifier 52 is repeated until a predetermined condition is satisfied, and then the classifier 52 outputs the output data 21.
  • the identification uncertainty 22 is the identification uncertainty of the learning model in the classifier 52 .
  • the uncertainty of identification 22 is referenced to select a data set to present to the subject E from the non-voting input data 15 .
  • the cluster data 23 indicates the result of dividing each input data set included in the non-voting input data 15 into a plurality of clusters. For example, the cluster data 23 associates a cluster identifier with an input data set identifier belonging to the cluster.
  • the presentation data 24 is data presented to the subject E when the subject E creates a new labeling function.
  • Presentation data 24 includes one or more input data sets.
  • the new function data 25 is data specifying a new labeling function generated by the subject E who confirmed the presentation data 24 .
  • New function data 25 includes one or more labeling functions.
  • the performance of the discriminator 52 can be improved.
  • the labeling unit 51 labels each input data set with a labeling function.
  • the labeling unit 51 stores the labeling result as the labeled input data 13 .
  • the labeling unit 51 further divides each input data set of the input data 11 into voted input data 14 from the input data set labeled by the labeling function equal to or greater than the threshold,
  • the labeled input data set is partitioned into non-voting input data 15 .
  • the discriminator 52 learns the labels attached to each input data set of the labeled input data 13 and the input data with voting 14, and produces a model that outputs the correct label and the reliability of each labeling function from the input data set. learn.
  • the discriminator 52 inputs each input data set of the input data 11 to the trained model and outputs the discrimination uncertainty 22 in the model. Identification uncertainty 22 is referenced to identify presentation data 24 . The processing of discriminator 52 will be described in detail later.
  • the clustering unit 53 divides each input data set of the non-voting input data 15 into a plurality of clusters.
  • the clustering unit 53 classifies each input data set into clusters by referring to the value of real number data indicating the characteristics of each input data set.
  • the clustering unit 53 uses agglomerative clustering to divide each input data set of the non-voting input data 15 into a plurality of clusters.
  • Agglomerative clustering is, for example, HDBSCAN (Hierarchical Density-Based Spatial Clustering of Applications with Noise).
  • each input data set is represented as a leaf on a tree diagram based on the distance between each input data set, and one or more leaves are hierarchically organized.
  • a parameter indicating how many groups of data are considered may be set in advance or may be automatically adjusted.
  • Agglomerative clustering extracts optimal clusters and outliers that do not belong to any cluster.
  • Agglomerative clustering can extract clusters that ensure coherence of meaning without specifying the number of clusters in advance or considering the distorted distribution of leaves while adjusting the strength of cohesion by parameters.
  • the specifying unit 54 generates the presentation data 24 to be presented to the subject E.
  • the specifying unit 54 specifies, as the presentation data 24 , the data set that maximizes the value of the acquisition function considering the uncertainty of identification 22 among the data sets of the non-voting input data 15 .
  • the acquisition function is positively correlated with the uncertainty of discrimination 22 .
  • the subject E who sees the presentation data 24 generates a new labeling function for the presentation data 24 to generate new function data 25 .
  • the specifying unit 54 can present the subject E with the input data set that maximizes the expected value of the performance improvement of the discriminator 52 .
  • the acquisition function is, for example, batch BALD (J.
  • the identifying unit 54 identifies, as the presentation data, the input data set belonging to the cluster to which the input data set that maximizes the value of the acquisition function considering the uncertainty 22 of identification belongs.
  • the specifying unit 54 calculates the value of the acquisition function considering the uncertainty 22 of identification for each data set of the non-voting input data 15 .
  • the values may be calculated for all the data sets among the plurality of data sets belonging to each cluster, or the values may be calculated for the number of data sets presented to the subject E.
  • the specifying unit 54 calculates a representative value for each cluster.
  • the representative value is the maximum value among the input data sets belonging to a certain cluster.
  • the specifying unit 54 approximates the value of the acquisition function as the amount of decrease in joint entropy for each cluster, and specifies a plurality of input data sets of the cluster to which the data set having the maximum value of the acquisition function belongs.
  • Various data can be shown to the subject E by ensuring a certain degree of closeness between each data set of the data 15 and avoiding selection of only similar data. As a result, efficiency of the labeling function by subject E can be expected.
  • the acquisition function batch BALD is a method used when presenting multiple data collectively in active learning. This can reduce the possibility of selecting the same or strongly similar data considering the duplication of a plurality of data.
  • the update unit 55 inserts each labeling function included in the new function data 25 into the function data 12 .
  • the processing device 1 refers to the updated function data 12, repeats the learning of the discriminator 52, and presents the presentation data 24 to the subject E.
  • FIG. 1
  • the processing device 1 repeats each process of the labeling unit 51, classifier 52, etc., and the classifier 52 learns the model again. Model learning by the discriminator 52 is repeated until a predetermined condition is satisfied.
  • the discriminator 52 inputs each input data set to the learned model and outputs the output data 21 when a predetermined condition is satisfied.
  • the predetermined condition is that the number of input data sets included in the presentation data 24 is 0, the number of added labeling functions, the number of times of learning, the time required for learning, or a combination of these.
  • the discriminator 52 also optimizes the label attached to each input data set and the reliability of each labeling function as one model. It is possible to improve the performance of the discriminator 52 by taking into account the correlation between the labels attached to each input data set and the reliability of each labeling function, compared to optimizing each model. Become.
  • step S ⁇ b>1 the processing device 1 labels each input data set of the input data 11 with each labeling function of the function data 12 .
  • the processing device 1 outputs labeled input data 13 in which each input data set is associated with a label assigned by a labeling function.
  • step S2 the processing device 1 divides each input data set of the input data 11 into voted input data 14 and non-voted input data 15.
  • Voted input data 14 includes input data sets with votes from labeling functions that are equal to or greater than the threshold.
  • Unvoted input data 15 includes input data sets with votes from less than the threshold number of labeling functions.
  • step S ⁇ b>3 the processing device 1 performs model processing using the classifier 52 .
  • the model processing the model of the discriminator 52 is learned using the labeled input data 13 and the voted input data 14 .
  • step S4 it is determined whether or not it is time to output the learning result.
  • the output data 21 output from the model processing unit 71 is output in step S10. If it is not the timing to output the learning result, the process proceeds to step S5.
  • step S5 the processing device 1 inputs the input data 11 to the learned model obtained in step S3, and outputs the identification uncertainty 22.
  • step S6 the processing device 1 clusters the non-voting input data 15.
  • step S7 the processing device 1 identifies the cluster containing the data set with the largest value of the acquisition function considering the uncertainty 22 of discrimination.
  • the processing device 1 identifies each data set belonging to the identified cluster as the presentation data 24 .
  • step S ⁇ b>8 the processing device 1 acquires new labeling functions generated from the presentation data 24 .
  • step S9 the new labeling function acquired in step S8 is added to the function data 12.
  • the processing device 1 returns to step S1, refers to each labeling function of the updated function data 12, assigns labels again, and updates the model.
  • discriminator 52 The discriminator 52 will be described with reference to FIG.
  • the inputs of the discriminator 52 are labeled input data 13 , voted input data 14 and non-voted input data 15 .
  • the output of discriminator 52 is output data 21 and discrimination uncertainty 22 .
  • the discriminator 52 has a conversion unit 70 and a model processing unit 71 .
  • the conversion unit 70 converts each data set of the voted input data 14 and the non-voted input data 15 into a real number data set.
  • a real data set is data that expresses the characteristics of the input data set.
  • the model processing section 71 processes real data sets.
  • the transformation unit 70 analyzes the meaning of the input data set by embedding, for example, sentence BERT (Bidirectional Encoder Representations from Transformers), and generates a real number data set.
  • the conversion unit 70 converts each data set of the voted input data 14 into each real number data set to generate the voted real number data 60 .
  • the voted real number data 60 is referred to during model learning in the model processing unit 71 and is referred to when the learned model outputs the output data 21 and the discrimination uncertainty 22 .
  • the conversion unit 70 converts each data set of the non-voting input data 15 into each real number data set to generate non-voting real number data 61 .
  • the voted real number data 60 is referred to when the model learned by the model processing unit 71 outputs the output data 21 and the discrimination uncertainty 22 .
  • the model processing unit 71 includes a reliability calculation unit 72 , a first vector calculation unit 73 , a second vector calculation unit 74 and a loss function calculation unit 75 .
  • the reliability calculation unit 72 calculates the reliability of the labeling function from the relationship between the real number data set with votes indicating the characteristics of the input data set to be processed of the input data with votes 14 and the label attached to the input data set to be processed. Calculate degrees.
  • the confidence of the labeling function is the average confidence for each input data set calculated for the labeling function.
  • the reliability calculation unit 72 acquires the label attached to the input data set to be processed and the real number data set from the labeled input data 13 and the voted real number data 60 .
  • the reliability calculation unit 72 calculates the reliability of each labeling function based on overlaps and contradictions that occur between labeling functions and between real number data sets.
  • the reliability calculator 72 associates the identifier of the labeling function with the reliability of the labeling function, and outputs reliability data 62 .
  • the reliability calculation unit 72 includes, for example, a neural network and a processing unit that calculates the reliability of each labeling function from the output of the neural network.
  • the neural network comprises a concatenate layer, a linear tanh layer, a cMCdropout (consistent Monte Carlo dropout) layer and a linear softmax layer.
  • the concatenate layer receives the input data set to be processed of the labeled input data 13 and the real number data set corresponding to the input data set to be processed output from the first cMCdropout layer of the second vector calculation unit 74 described later. be done.
  • the neural network outputs the reliability of each labeling function for each input data set regardless of the presence or absence of voting.
  • the processing unit refers to the labeled input data 13, extracts the reliability of the input data set voted by the labeling function to be processed for each labeling function, and calculates the average of the extracted reliability as the labeling function to be processed. output as the reliability of
  • the first vector calculation unit 73 weights the labeling function with the degree of reliability, and obtains a first vector including the provisional correct label 63 of the input data set to be processed and the probability that the input data set to be processed corresponds to each label. 1 identification probability vector 64 is calculated.
  • a first identification probability vector 64 is generated for each of the input data sets and includes probabilities corresponding to each label, as shown in FIG. The sum of the probabilities corresponding to each label is one.
  • the first vector calculation unit 73 sets the reliability of the labeling function to the value corresponding to the voted labeling function to the probability calculated by the softmax function, and calculates the first Generate an identification probability vector 64 .
  • the first vector calculation unit 73 sets the label assigned with the highest reliability labeling function among the voted labeling functions to the input data set to be processed as the provisional correct label 63 .
  • the first vector calculator 73 calculates a temporary correct label 63 and a first identification probability vector 64 for each input data set of the input data 11 .
  • the first vector calculation unit 73 considers the reliability of each labeling function. Probabilities of ⁇ 0.7, 0.15, 0.15 ⁇ are output as the probabilities corresponding to each label.
  • the model processing unit 71 sets ⁇ 0.25, 0 . 25, 0.5 ⁇ . A high probability is set for the result determined by the labeling function with high reliability, and a low probability is set for the result determined by the labeling function with low reliability.
  • the discrimination result is ⁇ 1, 0, 3 ⁇ .
  • the first vector calculator 73 outputs probabilities of ⁇ 0.55, 0.1, 0.35 ⁇ , for example. Even if contradiction occurs, a high probability is set for the result discriminated by the labeling function with high reliability, and a low probability is set for the result discriminated by the labeling function with low reliability.
  • the first vector calculator 73 does not have material for judging the probabilities corresponding to each label, it outputs probabilities of ⁇ 0.33, 0.33, 0.33 ⁇ , for example.
  • the second vector calculation unit 74 calculates the second identification probability vector 65 from the real number data set of the input data set to be processed for the input data set with votes.
  • the input data set to be processed is the input data set of the voting input data 14 .
  • the second vector calculation unit 74 calculates a loss function using the temporary correct label 63, and calculates a second identification probability vector 65 from the real number data set of the input data set to be processed so as to minimize the loss function.
  • Learn a model that computes The second vector calculation unit 74 inputs the real number data set of the input data set to be processed to the trained model, and calculates the second identification probability vector 65 for each of the input data sets.
  • a second identification probability vector 65 is generated for each of the input data sets and contains the probability corresponding to each label, as shown in FIG. The sum of the probabilities corresponding to each label is one.
  • the second vector calculation unit 74 inputs the real number data set corresponding to the input data set to be processed with the number of votes equal to or greater than the threshold to the neural network, and generates a second identification probability vector 65 is output.
  • the neural network comprises a cMCdropout layer, a linear ReLU layer, a cMCdropout layer and a linear softmax layer.
  • the loss function calculation unit 75 calculates a function for comparing each of the first identification probability vector 64 and the second identification probability vector 65 with the provisional correct label 63 for the input data set to be processed. This function has a positive correlation with the difference between the total probability corresponding to each label and the probability of the temporary correct label 63 for the first identification probability vector 64, and for the second identification probability vector 65, each There is a positive correlation with the difference between the sum of the probabilities corresponding to the labels and the probabilities of the tentative correct labels.
  • the sum of the probabilities is 1, so the function is, for example, the difference between the probability value corresponding to the tentative correct label 63 of the first identification probability vector 64 and 1, and the second is a weighted average of the difference between 1 and the value of the probability corresponding to the temporary correct label 63 of the identification probability vector 65 of .
  • the loss function calculator 75 calculates a loss function correlated with each function for each input data set of the voted input data 14 .
  • the loss function calculator 75 calculates the sum of the functions calculated for the input data sets with votes as the loss function.
  • the model processing unit 71 learns the model so that the loss function calculated by the loss function calculation unit 75 is minimized.
  • the model processing unit 71 calculates the probabilities corresponding to the temporary correct labels 63 of the first identification probability vector 64 and the second identification probability vector 65 for each of the voted input data sets according to the calculated loss function. Learn so that the value approaches 1.
  • the model processing unit 71 inputs each input data set of the input data 11 to the trained model and outputs the discrimination uncertainty 22 in the model.
  • the identification uncertainty 22 is positively correlated with the entropy of each second identification probability vector 65 calculated for each input data set of input data 11 .
  • the model processing unit 71 For each input data set of the input data 11, the model processing unit 71, when the real number data set converted by the conversion unit 70 is input, calculates the probability corresponding to each label by the second vector calculation unit 74.
  • a second identification probability vector 65 containing The model processing unit 71 outputs, for example, an average entropy of the second identification probability vector 65 calculated for each input data set as the identification uncertainty 22 .
  • the model processing unit 71 After repeating learning and satisfying a predetermined end condition, the model processing unit 71 outputs output data 21, which is the identification result, from the second identification probability vector calculated by the trained model. For each input data set, the model processing unit 71 sets the label with the highest probability in the second identification probability vector 65 calculated from the input data set to be processed as the correct label of the input data set to be processed. The model processing unit 71 outputs the output data 21 in which the identifier of the input data set to be processed and the correct label are associated with each other.
  • the model processing unit 71 adds a Monte Carlo Dropout layer to the input layer in each neural network of the reliability calculation unit 72 and the second vector calculation unit 74, and further adds a Monte Carlo Dropout layer to the positions other than the final layer. do.
  • the Monte Carlo Dropout layer the neural network connecting the nodes is ignored with a certain probability.
  • the model processing unit 71 is equipped with a Monte Carlo Dropout layer, so that it is as if a plurality of models with different node connections exist not only during model learning but also when outputting using a trained model. to estimate the uncertainty of identification. For example, if the output differs each time learning is repeated, it can be determined that the reliability is low, and if the output is the same, it can be determined that the reliability is high.
  • Model processing method A model processing method by the model processing unit 71 will be described with reference to FIGS. 9 and 10.
  • FIG. 9 and 10 correspond to step S3 in FIG.
  • step S101 the model processing unit 71 performs reliability calculation processing.
  • the model processing unit 71 performs the processing of step S151 for each input data set of the input data 11.
  • step S ⁇ b>151 the model processing unit 71 calculates the reliability of each input data set and each labeling function from the correlation between the label attached to each input data set of the input data 11 and the voted real number data 60 .
  • the model processing unit 71 processes steps S152 and S153 for each labeling function.
  • step S152 the model processing unit 71 identifies the input data set voted for by the labeling function to be processed.
  • step S153 the model processing unit 71 calculates the average of the labeling functions to be processed in the input data set identified in step S152 as the reliability of the labeling function to be processed.
  • the model processing unit 71 processes steps S102 to S105 for each input data set of the voted input data 14 .
  • step S102 the model processing unit 71 calculates the first identification probability vector 64 from the reliability of each labeling function calculated in step S101.
  • step S ⁇ b>103 the model processing unit 71 identifies the label corresponding to the highest value among the first identification probability vectors 64 identified in step S ⁇ b>102 as the temporary correct label 63 .
  • step S104 the model processing unit 71 calculates the second identification probability vector 65 from the real number data of the input data set to be processed.
  • step S105 the model processing unit 71 performs processing based on the function indicating the difference between the first identification probability vector 64 and the temporary correct label 63 and the function indicating the difference between the second identification probability vector 65 and the temporary correct label 63. Identify the function of the input dataset of interest.
  • step S106 the model processing unit 71 identifies a loss function in the model from the function of each input data set identified in step S106.
  • step S107 the model processing unit 71 learns a model that minimizes the loss function specified in step S106.
  • the conversion unit 70 converts the input data set into real number data representing characteristics using embedding by sentence BERT.
  • the dropout rate of Monte Carlo dropout in the neural networks of the first vector calculation unit 73 and the second vector calculation unit 74 is 0.2 in the input layer and 0.5 in the other layers.
  • the clustering unit 53 performs clustering using HDBSCAN.
  • presentation data 24 Although there are various patterns of sentences, it can be seen that information common to each input data set, such as earn money and make money, is included. Therefore, the subject E observing such presentation data 24 can efficiently create a labeling function capable of labeling the presentation data 24 .
  • the discriminator 52 determines both the reliability of each labeling function and the labeling of the input data set so as to minimize one loss function. learn.
  • the processing device 1 can also calculate the uncertainty of the model output using the learned model.
  • the expected value of the performance improvement of the discriminator 52 represented by the submodular function is approximated by the greedy method, and the input data set with the maximum expected value is presented to the subject E. As a result, it is expected that the subject E will create a labeling function more efficiently.
  • the processing device 1 of the present embodiment described above includes, for example, a CPU (Central Processing Unit, processor) 901, a memory 902, a storage 903 (HDD: Hard Disk Drive, SSD: Solid State Drive), and a communication device 904 , an input device 905 and an output device 906 are used.
  • a CPU Central Processing Unit, processor
  • memory 902 a storage 903 (HDD: Hard Disk Drive, SSD: Solid State Drive)
  • HDD Hard Disk Drive
  • SSD Solid State Drive
  • communication device 904 an input device 905 and an output device 906 are used.
  • each function of the processing device 1 is realized by the CPU 901 executing a processing program loaded on the memory 902 .
  • processing device 1 may be implemented by one computer, or may be implemented by a plurality of computers. Also, the processing device 1 may be a virtual machine implemented in a computer.
  • the processing device 1 program can be stored in a computer-readable recording medium such as HDD, SSD, USB (Universal Serial Bus) memory, CD (Compact Disc), DVD (Digital Versatile Disc), or distributed via a network.
  • a computer-readable recording medium such as HDD, SSD, USB (Universal Serial Bus) memory, CD (Compact Disc), DVD (Digital Versatile Disc), or distributed via a network.
  • HDD Compact Disc
  • DVD Digital Versatile Disc
  • processing device 11 input data 12 function data 13 labeled input data 14 voted input data 15 non-voted input data 21 output data 22 uncertainty of discrimination 23 cluster data 24 presentation data 25 new function data 51 labeling unit 52 discriminator 53 Clustering unit 54 Identification unit 55 Update unit 60 Real number data with vote 61 Real number data without vote 62 Reliability data 63 Temporary correct label 64 First identification probability vector 65 Second identification probability vector 70 Conversion unit 71 Model processing unit 72 Reliability degree calculator 73 first vector calculator 74 second vector calculator 75 loss function calculator 901 CPU 902 memory 903 storage 904 communication device 905 input device 906 output device E subject

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A processing device 1 is provided with: a labeling unit 51 which labels each input data set using labeling functions with reference to function data 12 including labeling functions that label an input data set or abstain if the input data set cannot be labeled; a discriminator 52 which trains a model, enters each input data set into the trained model, and outputs the discrimination uncertainty of the model, wherein said model learns the label assigned to each input data set, also learns input data 11 with votes that includes the ones of the entered input data sets that have been labeled using a number of labeling functions that is equal to or greater than a threshold value, and outputs, from an input data set, a correct label and the confidence level of each labeling function; and an identification unit 54 which identifies, as presentation data 24, a data set for which the value of an acquisition function considering the discrimination uncertainty 22 is maximized among the data sets in input data 15 with no votes that includes the ones of the entered input data sets that have been labeled using a number of labeling functions that is less than the threshold value. A labeling function newly created for the presentation data 24 is inserted into the function data 12.

Description

処理装置、処理方法および処理プログラムProcessing device, processing method and processing program
 本発明は、処理装置、処理方法および処理プログラムに関する。 The present invention relates to a processing device, a processing method, and a processing program.
 機械学習、特にいわゆる教師あり学習が、幅広い分野で普及している。教師あり学習は、訓練データセットを事前に用意し、訓練データセットをもとに識別器が学習する。訓練データセットは、分析対象となる入力データセットに、識別、分類、回帰、同一性等の各判定結果が付されたデータである。正解を付した訓練データセットの作成に要するコストが、機械学習における問題となる。 Machine learning, especially so-called supervised learning, is widespread in a wide range of fields. In supervised learning, a training data set is prepared in advance, and the discriminator learns based on the training data set. A training data set is data obtained by adding determination results such as identification, classification, regression, and identity to an input data set to be analyzed. The cost of creating a training dataset with correct answers is a problem in machine learning.
 コンピュータ処理により訓練データセットを追加する能動学習と弱教師あり学習が、提案される。 Active learning and weakly supervised learning, which add training datasets by computer processing, are proposed.
 能動学習では、既存の訓練データセットと識別器を用いて、正解なし入力データセット群のうち、正解がわかると識別器の性能が上がるデータセットを提示する。提示されたデータセットに正解が付されて、訓練データセットに追加する。 In active learning, existing training datasets and classifiers are used to present datasets that improve the performance of the classifier when the correct answer is known, among the input datasets without correct answers. The presented dataset is marked with the correct answer and added to the training dataset.
 弱教師あり学習は、正解を付す主体が持つ知見をルールに対応した関数をシステムに実装し、システムが関数に従って入力データセットに正解を付す。正解が付されたデータセットが訓練データセットに追加される。 In weakly supervised learning, the system implements a function that corresponds to the knowledge of the subject who gives the correct answer to the rule, and the system gives the correct answer to the input data set according to the function. The dataset with correct answers is added to the training dataset.
 能動学習と弱教師あり学習を組み合わせることで、ラベル付けの工程をより効率的に行うことができるとの考えがある。 There is an idea that the labeling process can be performed more efficiently by combining active learning and weakly supervised learning.
 例えば、弱教師あり学習において、能動学習に類似する方法でルールを追加する技術がある(非特許文献1)。非特許文献1は、実装済みのルールを入力データセット群に適用した際、出力の多数決が割れる、または無投票な入力データセットを抽出する。抽出された入力データセットからランダムに選択された入力データセットについて、正解に導くためのルールを追加する。 For example, in weakly supervised learning, there is a technique for adding rules in a manner similar to active learning (Non-Patent Document 1). Non-Patent Document 1 extracts an input data set in which the majority of the output is divided or no votes when the implemented rule is applied to the input data set group. For input datasets randomly selected from the extracted input datasets, add rules to guide the correct answer.
 予め主体が定めた関数の形式と特定の特徴量から、関数化できそうなルールを特定し、そのルールを追加するか否かを主体に問い合わせる方法もある(非特許文献2)。 There is also a method of identifying rules that are likely to be functionalized from the form of functions predetermined by the subject and specific feature amounts, and inquiring of the subject whether or not to add those rules (Non-Patent Document 2).
 しかしながら非特許文献1および非特許文献2に記載の方法において、能動学習のような識別器性能の向上の期待値は考慮されていない。非特許文献1および非特許文献2に記載の方法は、適切にルールが追加されるのに時間を要するなど、効率的な学習の実現が困難な場合がある。 However, in the methods described in Non-Patent Document 1 and Non-Patent Document 2, the expected value of improvement in classifier performance such as active learning is not considered. The methods described in Non-Patent Literature 1 and Non-Patent Literature 2 may be difficult to implement efficient learning, such as it takes time to add rules appropriately.
 本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、弱教師あり学習において正解を付すべき入力データセットを適切に提示可能な技術を提供することである。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a technique capable of appropriately presenting an input data set to which correct answers should be given in weakly supervised learning.
 本発明の一態様の処理装置は、入力データセットにラベル付けを行う、あるいはラベル付けができない場合は棄権するラベリング関数を含む関数データを参照して、各入力データセットを前記ラベリング関数でラベルを付すラベル付け部と、前記各入力データセットについて付されたラベルと、前記各入力データセットのうち閾値以上の数のラベリング関数でラベル付けされた入力データセットを含む投票あり入力データを学習して、入力データセットから正解ラベルと各ラベリング関数の信頼度を出力するモデルを学習し、学習済の前記モデルに、前記各入力データセットを入力して、前記モデルにおける識別の不確かさを出力する識別器と、前記各入力データセットのうち閾値未満の数のラベリング関数でラベル付けされた入力データセットを含む投票なし入力データの各データセットのうち、前記識別の不確かさを考慮した獲得関数の値が最大になるデータセットを、提示データとして特定する特定部を備える。前記提示データに対して新たに作成されたラベリング関数が、前記関数データに挿入される。 The processing device according to one embodiment of the present invention labels each input data set with reference to function data including a labeling function that labels an input data set or abstains if labeling is not possible, and labels each input data set with the labeling function. a labeling unit for assigning votes, a label assigned to each of the input data sets, and input data sets labeled with a labeling function of a number equal to or greater than a threshold among the input data sets. , learning a model that outputs a correct label and the reliability of each labeling function from an input data set, inputting each input data set to the trained model, and outputting the uncertainty of discrimination in the model and a value of the acquisition function that takes into account the uncertainty of identification among each data set of unvoted input data including input data sets labeled with a labeling function in a number less than a threshold number in each input data set. and a specifying unit that specifies a data set that maximizes as presentation data. A newly created labeling function for the presentation data is inserted into the function data.
 本発明の一態様の処理方法は、コンピュータが、入力データセットにラベル付けを行う、あるいはラベル付けができない場合は棄権するラベリング関数を含む関数データを参照して、各入力データセットを前記ラベリング関数でラベルを付すステップと、前記コンピュータが、前記各入力データセットについて付されたラベルと、前記各入力データセットのうち閾値以上の数のラベリング関数でラベル付けされた入力データセットを含む投票あり入力データを学習して、入力データセットから正解ラベルと各ラベリング関数の信頼度を出力するモデルを学習し、学習済の前記モデルに、前記各入力データセットを入力して、前記モデルにおける識別の不確かさを出力するステップと、前記コンピュータが、前記各入力データセットのうち閾値未満の数のラベリング関数でラベル付けされた入力データセットを含む投票なし入力データの各データセットのうち、前記識別の不確かさを考慮した獲得関数の値が最大になるデータセットを、提示データとして特定するステップを備える。前記提示データに対して新たに作成されたラベリング関数が、前記関数データに挿入される。 In the processing method of one aspect of the present invention, the computer labels each input data set with reference to function data including a labeling function that labels the input data set or abstains if labeling is not possible, and converts each input data set to the labeling function. and said computer includes a label attached to each of said input datasets and input datasets labeled with a labeling function equal to or greater than a threshold number of each of said input datasets. learning data to learn a model that outputs a correct label and the reliability of each labeling function from an input data set; inputting each of the input data sets to the trained model; and the computer outputs the identification uncertainty for each data set of non-voting input data, including input data sets labeled with a labeling function in a number less than a threshold number in each input data set. identifying as the presentation data the data set that maximizes the value of the acquisition function that takes into account the sparseness. A newly created labeling function for the presentation data is inserted into the function data.
 本発明の一態様は、上記処理装置として、コンピュータを機能させる処理プログラムである。 One aspect of the present invention is a processing program that causes a computer to function as the processing device.
 本発明によれば、弱教師あり学習において正解を付すべき入力データセットを適切に提示可能な技術を提供することができる。 According to the present invention, it is possible to provide a technology capable of appropriately presenting an input data set to which correct answers should be given in weakly supervised learning.
図1は、処理装置の機能ブロックを説明する図である。FIG. 1 is a diagram illustrating functional blocks of a processing device. 図2は、入力データのデータ構造の一例を説明する図である。FIG. 2 is a diagram illustrating an example of the data structure of input data. 図3は、関数データのデータ構造の一例を説明する図である。FIG. 3 is a diagram illustrating an example of the data structure of function data. 図4は、ラベルあり入力データのデータ構造の一例を説明する図である。FIG. 4 is a diagram illustrating an example of the data structure of labeled input data. 図5は、処理装置の処理の概要を説明するフローチャートである。FIG. 5 is a flowchart for explaining an outline of processing by the processing device. 図6は、識別器の機能ブロックを説明する図である。FIG. 6 is a diagram illustrating functional blocks of a discriminator. 図7は、識別確率ベクトルのデータ構造の一例を説明する図である。FIG. 7 is a diagram illustrating an example of the data structure of an identification probability vector. 図8は、識別器におけるモデル処理部による処理の概要を説明するフローチャートである。FIG. 8 is a flowchart for explaining an outline of processing by a model processing unit in the discriminator. 図9は、モデル処理部の信頼度算出部による処理の概要を説明するフローチャートである。FIG. 9 is a flowchart for explaining an outline of processing by the reliability calculation unit of the model processing unit. 図10は、処理装置に用いられるコンピュータのハードウエア構成を説明する図である。FIG. 10 is a diagram for explaining the hardware configuration of a computer used in the processing device.
 以下、図面を参照して、本発明の実施形態を説明する。図面の記載において同一部分には同一符号を付し説明を省略する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the description of the drawings, the same parts are denoted by the same reference numerals, and the description thereof is omitted.
 実施の形態に係る処理装置1は、弱教師あり学習において、既存のラベリング関数による出力結果に基づいて、新たなラベリング関数を与える対象となる入力データセットを特定する。特定された入力データセットは、主体Eに提示される。主体Eは、特定された入力データセットに対してラベルを付すための新たなラベリング関数を生成する。新たに生成されたラベリング関数は、既存のラベリング関数に追加される。このように処理装置1が、新たにラベリング関数を作成するための入力データセットを決定することにより、効率的にラベリング関数を生成することができる。 In weakly supervised learning, the processing device 1 according to the embodiment identifies an input data set to which a new labeling function is to be applied based on the output results of existing labeling functions. The specified input data set is presented to subject E. Entity E generates a new labeling function for labeling the specified input data set. The newly generated labeling functions are added to the existing labeling functions. In this way, the processing device 1 can efficiently generate a labeling function by determining an input data set for generating a new labeling function.
 図1に示す処理装置1は、入力データ11、関数データ12、ラベルあり入力データ13、投票あり入力データ14、投票なし入力データ15、出力データ21、識別の不確かさ22、クラスタデータ23、提示データ24、新規関数データ25の各データと、ラベル付け部51、識別器52、クラスタリング部53、特定部54および更新部55の各機能を備える。各データは、メモリ902またはストレージ903に記憶される。各機能は、CPU901に実装される。 The processing device 1 shown in FIG. 1 includes input data 11, function data 12, labeled input data 13, voted input data 14, non-voted input data 15, output data 21, identification uncertainty 22, cluster data 23, presentation It has data 24 and new function data 25 , and functions of a labeling unit 51 , a discriminator 52 , a clustering unit 53 , a specifying unit 54 and an updating unit 55 . Each data is stored in memory 902 or storage 903 . Each function is implemented in the CPU 901 .
 入力データ11は、ラベリング関数によってラベル付けされる対象となるデータである。入力データ11は、図2に示すように、複数の入力データセットの集合である。本発明の実施の形態において入力データ11が含む入力データセットの数は、|D|である。 The input data 11 is data to be labeled by the labeling function. The input data 11 is a set of multiple input data sets, as shown in FIG. The number of input data sets included in the input data 11 in the embodiment of the present invention is |D|.
 関数データ12は、入力データ11の各入力データセットをラベル付けするラベリング関数のデータである。ラベリング関数は、入力データセットにラベル付けを行う、あるいはラベル付けができない場合は棄権する関数である。関数データ12は、図3に示すように、複数のラベリング関数の集合である。本発明の実施の形態において関数データ12が含むラベリング関数の数は、|F|である。 The function data 12 is data of a labeling function that labels each input data set of the input data 11 . A labeling function is a function that labels an input dataset or abstains if labeling is not possible. The function data 12 is a set of labeling functions, as shown in FIG. The number of labeling functions included in the function data 12 in the embodiment of the present invention is |F|.
 ラベルあり入力データ13は、入力データ11の各入力データセットに、ラベリング関数でラベル付けされたデータである。ラベルあり入力データ13は、図4に示すように、入力データセットを特定する識別子と、ラベリング関数を特定する識別子に対応して、値が設定される。図4に示す例において、アルファベットvの後の1つ目の文字が、入力データセットを特定する識別子で、2つめの文字が、その入力データセットを処理したラベリング関数の識別子である。 The labeled input data 13 is data obtained by labeling each input data set of the input data 11 with a labeling function. In the labeled input data 13, as shown in FIG. 4, values are set corresponding to an identifier specifying an input data set and an identifier specifying a labeling function. In the example shown in FIG. 4, the first letter after the alphabet v is the identifier that identifies the input dataset, and the second letter is the identifier of the labeling function that processed the input dataset.
 対応するラベリング関数で対応する入力データセットのラベルを判別できた場合、値に、その判別されたラベルの識別子が設定される。一方、対応するラベリング関数で対応する入力データセットのラベルを判別できない場合、値に、判別できなかったことを示す値が設定される。判別できなかったことを示す値は、例えば、0などで、ラベルの識別子で設定されない値が設定される。 If the label of the corresponding input data set can be determined by the corresponding labeling function, the identifier of the determined label is set as the value. On the other hand, if the label of the corresponding input data set cannot be determined by the corresponding labeling function, the value is set to indicate that it could not be determined. The value indicating that the determination was not possible is, for example, 0, and a value that is not set by the label identifier is set.
 入力データ11の各入力データセットは、ラベル付け部51の処理結果が閾値以上であるか否かによって、投票あり入力データ14および投票なし入力データ15のうちのいずれかに区分される。閾値は、1以上である。 Each input data set of the input data 11 is classified into either voted input data 14 or non-voted input data 15 depending on whether the processing result of the labeling unit 51 is equal to or greater than a threshold. The threshold is 1 or more.
 投票あり入力データ14は、入力データ11の各入力データセットのうち閾値以上の数のラベリング関数でラベル付けされた入力データセットを含む。入力データのうち、予め定めた閾値以上のラベリング関数からラベル付けされた入力データセットが、投票あり入力データ14に含まれる。 The input data with voting 14 includes input data sets labeled with a number of labeling functions equal to or greater than a threshold among the input data sets of the input data 11 . Among the input data, an input data set labeled with a labeling function equal to or greater than a predetermined threshold is included in the voted input data 14 .
 投票なし入力データ15は、各入力データセットのうち閾値未満の数のラベリング関数でラベル付けされた入力データセットを含む。入力データのうち、予め定めた閾値未満のラベリング関数からラベル付けされた入力データセットが、投票なし入力データ15に含まれる。 The non-voting input data 15 includes input data sets labeled with the labeling function in numbers less than the threshold among each input data set. Among the input data, the input data set labeled by the labeling function below the predetermined threshold is included in the non-voting input data 15 .
 出力データ21は、入力データ11の各データセットに対して、正解ラベルを付した結果のデータである。処理装置1によって、新規関数データ25が関数データ12に追加され、識別器52が学習する処理を、所定条件が満たすまで繰り返した後、識別器52は出力データ21を出力する。 The output data 21 is data resulting from labeling each data set of the input data 11 with correct labels. The new function data 25 is added to the function data 12 by the processing device 1, and the process of learning by the classifier 52 is repeated until a predetermined condition is satisfied, and then the classifier 52 outputs the output data 21. FIG.
 識別の不確かさ22は、識別器52における学習モデルの識別の不確かさである。識別の不確かさ22は、投票なし入力データ15から、主体Eに提示するデータセットを選択するために参照される。 The identification uncertainty 22 is the identification uncertainty of the learning model in the classifier 52 . The uncertainty of identification 22 is referenced to select a data set to present to the subject E from the non-voting input data 15 .
 クラスタデータ23は、投票なし入力データ15に含まれる各入力データセットを、複数のクラスタに分割した結果を示す。クラスタデータ23は例えば、クラスタの識別子と、そのクラスタに属する入力データセットの識別子を対応づける。 The cluster data 23 indicates the result of dividing each input data set included in the non-voting input data 15 into a plurality of clusters. For example, the cluster data 23 associates a cluster identifier with an input data set identifier belonging to the cluster.
 提示データ24は、新規のラベリング関数を主体Eが作成する際に、主体Eに提示するデータである。提示データ24は、1以上の入力データセットを含む。 The presentation data 24 is data presented to the subject E when the subject E creates a new labeling function. Presentation data 24 includes one or more input data sets.
 新規関数データ25は、提示データ24を確認した主体Eによって生成された新規のラベリング関数を特定するデータである。新規関数データ25は、1以上のラベリング関数を含む。 The new function data 25 is data specifying a new labeling function generated by the subject E who confirmed the presentation data 24 . New function data 25 includes one or more labeling functions.
 提示データ24に含まれる入力データセットに対して新規のラベリング関数が生成されることにより、識別器52の性能の向上が可能となる。 By generating a new labeling function for the input data set included in the presentation data 24, the performance of the discriminator 52 can be improved.
 ラベル付け部51は、各入力データセットをラベリング関数でラベルを付す。ラベル付け部51は、ラベル付けの結果を、ラベルあり入力データ13として記憶する。ラベル付け部51はさらに、入力データ11の各入力データセットを、閾値以上のラベリング関数からラベリングされた入力データセットを投票あり入力データ14に区分し、閾値未満(0を含む)のラベリング関数からラベリングされた入力データセットを投票なし入力データ15に区分する。 The labeling unit 51 labels each input data set with a labeling function. The labeling unit 51 stores the labeling result as the labeled input data 13 . The labeling unit 51 further divides each input data set of the input data 11 into voted input data 14 from the input data set labeled by the labeling function equal to or greater than the threshold, The labeled input data set is partitioned into non-voting input data 15 .
 識別器52は、ラベルあり入力データ13の各入力データセットについて付されたラベルと、投票あり入力データ14を学習して、入力データセットから正解ラベルと各ラベリング関数の信頼度を出力するモデルを学習する。識別器52は、学習済のモデルに、入力データ11の各入力データセットを入力して、モデルにおける識別の不確かさ22を出力する。識別の不確かさ22は、提示データ24を特定するために参照される。識別器52の処理は、後に詳述する。 The discriminator 52 learns the labels attached to each input data set of the labeled input data 13 and the input data with voting 14, and produces a model that outputs the correct label and the reliability of each labeling function from the input data set. learn. The discriminator 52 inputs each input data set of the input data 11 to the trained model and outputs the discrimination uncertainty 22 in the model. Identification uncertainty 22 is referenced to identify presentation data 24 . The processing of discriminator 52 will be described in detail later.
 クラスタリング部53は、投票なし入力データ15の各入力データセットを複数のクラスタに区分する。クラスタリング部53は、各入力データセットの特徴を示す実数データの値を参照して、クラスタに区分する。 The clustering unit 53 divides each input data set of the non-voting input data 15 into a plurality of clusters. The clustering unit 53 classifies each input data set into clusters by referring to the value of real number data indicating the characteristics of each input data set.
 本発明の実施の形態においてクラスタリング部53は、凝集クラスタリングを用いて、投票なし入力データ15の各入力データセットを、複数のクラスタに区分する。凝集クラスタリングは、例えば、HDBSCAN(Hierarchical Density-Based Spatial Clustering of Applications with Noise)である。 In the embodiment of the present invention, the clustering unit 53 uses agglomerative clustering to divide each input data set of the non-voting input data 15 into a plurality of clusters. Agglomerative clustering is, for example, HDBSCAN (Hierarchical Density-Based Spatial Clustering of Applications with Noise).
 凝集クラスタリングは、各入力データセット間の距離をもとに、各入力データセットを葉に見立てて樹形図上に表現し、1以上の葉を階層的にまとめる。どのくらいのデータのまとまりを考慮するかを表すパラメータは、予め設定されても良いし、自動調整されても良い。凝集クラスタリングは、最適なクラスタ、およびいずれのクラスタにも属さない外れ値を抽出する。凝集クラスタリングは、パラメータによりまとまりの強さを調整しつつ、事前にクラスタ数を指定したり、葉のいびつな分布を配慮したりすることなく、意味のまとまりを担保するクラスタを抽出できる。 In agglomerative clustering, each input data set is represented as a leaf on a tree diagram based on the distance between each input data set, and one or more leaves are hierarchically organized. A parameter indicating how many groups of data are considered may be set in advance or may be automatically adjusted. Agglomerative clustering extracts optimal clusters and outliers that do not belong to any cluster. Agglomerative clustering can extract clusters that ensure coherence of meaning without specifying the number of clusters in advance or considering the distorted distribution of leaves while adjusting the strength of cohesion by parameters.
 特定部54は、主体Eに提示する提示データ24を生成する。特定部54は、投票なし入力データ15の各データセットのうち、識別の不確かさ22を考慮した獲得関数の値が最大になるデータセットを、提示データ24として特定する。獲得関数は、識別の不確かさ22と正の相関がある。提示データ24を見た主体Eは、提示データ24に対して新たに作成されたラベリング関数を生成して、新規関数データ25を生成する。特定部54は、識別器52の性能の向上の期待値が最大となる入力データセットを、主体Eに提示することができる。獲得関数は、例えば、batch BALD(J. Kirsch et al., “Batchbald: Efficient and diverse batch acquisition for deep Bayesian active learning,” NueIPS2019)である。batch BALDは、劣モジュラ関数で表現される識別器52の性能の向上の期待値を、貪欲法により近似計算することを可能とする。 The specifying unit 54 generates the presentation data 24 to be presented to the subject E. The specifying unit 54 specifies, as the presentation data 24 , the data set that maximizes the value of the acquisition function considering the uncertainty of identification 22 among the data sets of the non-voting input data 15 . The acquisition function is positively correlated with the uncertainty of discrimination 22 . The subject E who sees the presentation data 24 generates a new labeling function for the presentation data 24 to generate new function data 25 . The specifying unit 54 can present the subject E with the input data set that maximizes the expected value of the performance improvement of the discriminator 52 . The acquisition function is, for example, batch BALD (J. Kirsch et al., “Batchbald: Efficient and diverse batch acquisition for deep Bayesian active learning,” NueIPS2019). Batch BALD makes it possible to approximate the expected value of the performance improvement of the discriminator 52 represented by a submodular function by a greedy method.
 特定部54は、識別の不確かさ22を考慮した獲得関数の値が最大になる入力データセットが属するクラスタに属する入力データセットを、提示データとして特定する。特定部54は、投票なし入力データ15の各データセットについて、識別の不確かさ22を考慮した獲得関数の値を算出する。ここで、各クラスタに属する複数のデータセットのうち、全てのデータセットについて値を算出しても良いし、主体Eに提示する数のデータセットについて値を算出しても良い。特定部54は、各クラスタについて、代表値を算出する。代表値は、あるクラスタに属する入力データセットのうち最大となる値である。特定部54は、クラスタごとに結合エントロピーの減少量として獲得関数の値を近似計算し、獲得関数の値が最大となるデータセットが属するクラスタの複数の入力データセットを特定するので、投票なし入力データ15の各データセットの一定の近さを担保した上で、類似データのみの選択を回避して、種々のデータを主体Eに示すことができる。これにより主体Eによるラベリング関数の効率化が期待できる。 The identifying unit 54 identifies, as the presentation data, the input data set belonging to the cluster to which the input data set that maximizes the value of the acquisition function considering the uncertainty 22 of identification belongs. The specifying unit 54 calculates the value of the acquisition function considering the uncertainty 22 of identification for each data set of the non-voting input data 15 . Here, the values may be calculated for all the data sets among the plurality of data sets belonging to each cluster, or the values may be calculated for the number of data sets presented to the subject E. FIG. The specifying unit 54 calculates a representative value for each cluster. The representative value is the maximum value among the input data sets belonging to a certain cluster. The specifying unit 54 approximates the value of the acquisition function as the amount of decrease in joint entropy for each cluster, and specifies a plurality of input data sets of the cluster to which the data set having the maximum value of the acquisition function belongs. Various data can be shown to the subject E by ensuring a certain degree of closeness between each data set of the data 15 and avoiding selection of only similar data. As a result, efficiency of the labeling function by subject E can be expected.
 また獲得関数batch BALDは、能動学習において複数のデータをまとめて提示するときに用いられる手法である。これにより複数のデータの重複を考慮して、同一あるいは強く類似しているデータが選択される可能性を、低減できる。 Also, the acquisition function batch BALD is a method used when presenting multiple data collectively in active learning. This can reduce the possibility of selecting the same or strongly similar data considering the duplication of a plurality of data.
 更新部55は、新規関数データ25に含まれる各ラベリング関数を、関数データ12に挿入する。関数データ12が更新されると、処理装置1は、更新後の関数データ12を参照して、識別器52の学習を繰り返し、提示データ24を主体Eに提示する。 The update unit 55 inserts each labeling function included in the new function data 25 into the function data 12 . When the function data 12 is updated, the processing device 1 refers to the updated function data 12, repeats the learning of the discriminator 52, and presents the presentation data 24 to the subject E. FIG.
 提示データ24から新たなラベリング関数が追加されると、処理装置1は、ラベル付け部51、識別器52等の各処理を繰り返し、識別器52は、再びモデルを学習する。識別器52によるモデルの学習は、所定条件を満たすまで繰り返される。識別器52は、所定の条件を満たすときに、学習したモデルに、各入力データセットを入力して、出力データ21を出力する。所定条件は、提示データ24に含まれる入力データセットの数が0、追加されたラベリング関数の数、学習の回数、学習に要した時間、あるいはこれらの組み合わせである。処理装置1が生成した提示データ24から新規関数データ25を生成することにより、効率的に関数データ12を増やすことが可能になる。 When a new labeling function is added from the presentation data 24, the processing device 1 repeats each process of the labeling unit 51, classifier 52, etc., and the classifier 52 learns the model again. Model learning by the discriminator 52 is repeated until a predetermined condition is satisfied. The discriminator 52 inputs each input data set to the learned model and outputs the output data 21 when a predetermined condition is satisfied. The predetermined condition is that the number of input data sets included in the presentation data 24 is 0, the number of added labeling functions, the number of times of learning, the time required for learning, or a combination of these. By generating the new function data 25 from the presentation data 24 generated by the processing device 1, the function data 12 can be efficiently increased.
 また識別器52は、各入力データセットに付すラベルと各ラベリング関数の信頼度とを、1つのモデルとして最適化する。各入力データセットに付すラベルと、各ラベリング関数の信頼度について、それぞれモデルを最適化する場合と比べて、これらのデータの相関を考慮して、識別器52の性能を向上させることが可能になる。 The discriminator 52 also optimizes the label attached to each input data set and the reliability of each labeling function as one model. It is possible to improve the performance of the discriminator 52 by taking into account the correlation between the labels attached to each input data set and the reliability of each labeling function, compared to optimizing each model. Become.
 (処理方法)
 図5を参照して、本発明の実施の形態に係る処理方法を説明する。
(Processing method)
A processing method according to an embodiment of the present invention will be described with reference to FIG.
 ステップS1において処理装置1は、入力データ11の各入力データセットを、関数データ12の各ラベリング関数でラベルを付ける。処理装置1は、各入力データセットに、ラベリング関数によって付けられたラベルを対応づけたラベルあり入力データ13を出力する。 In step S<b>1 , the processing device 1 labels each input data set of the input data 11 with each labeling function of the function data 12 . The processing device 1 outputs labeled input data 13 in which each input data set is associated with a label assigned by a labeling function.
 ステップS2において処理装置1は、入力データ11の各入力データセットを、投票あり入力データ14と、投票なし入力データ15に分割する。投票あり入力データ14は、閾値以上の数のラベリング関数から投票のあった入力データセットを含む。投票なし入力データ15は、閾値未満の数のラベリング関数から投票のあった入力データセットを含む。 In step S2, the processing device 1 divides each input data set of the input data 11 into voted input data 14 and non-voted input data 15. Voted input data 14 includes input data sets with votes from labeling functions that are equal to or greater than the threshold. Unvoted input data 15 includes input data sets with votes from less than the threshold number of labeling functions.
 ステップS3において処理装置1は、識別器52によるモデル処理を行う。モデル処理は、ラベルあり入力データ13と投票あり入力データ14を用いて識別器52のモデルを学習する。 In step S<b>3 , the processing device 1 performs model processing using the classifier 52 . In the model processing, the model of the discriminator 52 is learned using the labeled input data 13 and the voted input data 14 .
 ステップS4において、学習結果を出力するタイミングであるか否かを判定する。学習結果を出力するタイミングの場合、ステップS10において、モデル処理部71で出力された出力データ21を出力する。学習結果を出力するタイミングでない場合、ステップS5に進む。 In step S4, it is determined whether or not it is time to output the learning result. When it is time to output the learning result, the output data 21 output from the model processing unit 71 is output in step S10. If it is not the timing to output the learning result, the process proceeds to step S5.
 ステップS5において処理装置1は、ステップS3で得られた学習済モデルに、入力データ11を入力して、識別の不確かさ22を出力する。 In step S5, the processing device 1 inputs the input data 11 to the learned model obtained in step S3, and outputs the identification uncertainty 22.
 ステップS6において処理装置1は、投票なし入力データ15をクラスタリングする。ステップS7において処理装置1は、識別の不確かさ22を考慮した獲得関数の値が最も大きいデータセットを含むクラスタを特定する。処理装置1は、特定したクラスタに属する各データセットを、提示データ24として特定する。 In step S6, the processing device 1 clusters the non-voting input data 15. In step S7, the processing device 1 identifies the cluster containing the data set with the largest value of the acquisition function considering the uncertainty 22 of discrimination. The processing device 1 identifies each data set belonging to the identified cluster as the presentation data 24 .
 ステップS7で得た提示データ24を主体Eに提示する。ステップS8において処理装置1は、提示データ24から生成された新たなラベリング関数を取得する。ステップS9においてステップS8で取得した新たなラベリング関数を、関数データ12に追加する。 Present the subject E with the presentation data 24 obtained in step S7. In step S<b>8 , the processing device 1 acquires new labeling functions generated from the presentation data 24 . In step S9, the new labeling function acquired in step S8 is added to the function data 12. FIG.
 処理装置1は、ステップS1に戻って、更新後の関数データ12の各ラベリング関数を参照して、再度、ラベルを付して、モデルを更新する処理を行う。 The processing device 1 returns to step S1, refers to each labeling function of the updated function data 12, assigns labels again, and updates the model.
 (識別器)
 図6を参照して、識別器52を説明する。識別器52の入力は、ラベルあり入力データ13、投票あり入力データ14および投票なし入力データ15である。識別器52の出力は、出力データ21および識別の不確かさ22である。
(discriminator)
The discriminator 52 will be described with reference to FIG. The inputs of the discriminator 52 are labeled input data 13 , voted input data 14 and non-voted input data 15 . The output of discriminator 52 is output data 21 and discrimination uncertainty 22 .
 識別器52は、変換部70およびモデル処理部71を有する。 The discriminator 52 has a conversion unit 70 and a model processing unit 71 .
 変換部70は、投票あり入力データ14および投票なし入力データ15の各データセットを、実数データセットに変換する。実数データセットは、入力データセットの特徴を表現したデータである。本発明の実施の形態においてモデル処理部71は、実数データセットを処理する。変換部70は、例えばsentence BERT(Bidirectional Encoder Representations from Transformers)によるembeddingにより、入力データセットの意味を解析して、実数データセットを生成する。 The conversion unit 70 converts each data set of the voted input data 14 and the non-voted input data 15 into a real number data set. A real data set is data that expresses the characteristics of the input data set. In the embodiment of the present invention, the model processing section 71 processes real data sets. The transformation unit 70 analyzes the meaning of the input data set by embedding, for example, sentence BERT (Bidirectional Encoder Representations from Transformers), and generates a real number data set.
 変換部70は、投票あり入力データ14の各データセットを各実数データセットに変換して、投票あり実数データ60を生成する。投票あり実数データ60は、モデル処理部71においてモデルの学習の際に参照されるとともに、学習したモデルが出力データ21および識別の不確かさ22を出力する際に参照される。 The conversion unit 70 converts each data set of the voted input data 14 into each real number data set to generate the voted real number data 60 . The voted real number data 60 is referred to during model learning in the model processing unit 71 and is referred to when the learned model outputs the output data 21 and the discrimination uncertainty 22 .
 変換部70は、投票なし入力データ15の各データセットを各実数データセットに変換して、投票なし実数データ61を生成する。投票あり実数データ60は、モデル処理部71で学習したモデルが出力データ21および識別の不確かさ22を出力する際に参照される。 The conversion unit 70 converts each data set of the non-voting input data 15 into each real number data set to generate non-voting real number data 61 . The voted real number data 60 is referred to when the model learned by the model processing unit 71 outputs the output data 21 and the discrimination uncertainty 22 .
 モデル処理部71は、信頼度算出部72、第1のベクトル算出部73、第2のベクトル算出部74および損失関数算出部75を備える。 The model processing unit 71 includes a reliability calculation unit 72 , a first vector calculation unit 73 , a second vector calculation unit 74 and a loss function calculation unit 75 .
 信頼度算出部72は、投票あり入力データ14の処理対象の入力データセットの特徴を示す投票あり実数データセットと、処理対象の入力データセットに付されたラベルとの関係から、ラベリング関数の信頼度を算出する。ラベリング関数の信頼度は、ラベリング関数について算出された各入力データセットについての信頼度の平均である。 The reliability calculation unit 72 calculates the reliability of the labeling function from the relationship between the real number data set with votes indicating the characteristics of the input data set to be processed of the input data with votes 14 and the label attached to the input data set to be processed. Calculate degrees. The confidence of the labeling function is the average confidence for each input data set calculated for the labeling function.
 信頼度算出部72は、ラベルあり入力データ13と投票あり実数データ60から、処理対象の入力データセットに付されたラベルと、実数データセットを取得する。信頼度算出部72は、ラベリング関数間と実数データセット間で生じる重複および矛盾を元に、各ラベリング関数の信頼度を算出する。信頼度算出部72は、ラベリング関数の識別子と、そのラベリング関数の信頼度を対応づけて、信頼度データ62を出力する。 The reliability calculation unit 72 acquires the label attached to the input data set to be processed and the real number data set from the labeled input data 13 and the voted real number data 60 . The reliability calculation unit 72 calculates the reliability of each labeling function based on overlaps and contradictions that occur between labeling functions and between real number data sets. The reliability calculator 72 associates the identifier of the labeling function with the reliability of the labeling function, and outputs reliability data 62 .
 信頼度算出部72は、例えば、ニューラルネットワークと、ニューラルネットワークの出力から各ラベリング関数の信頼度を算出する処理部を備える。ニューラルネットワークは、concatenate層、linear tanh層、cMCdropout(consistent Monte Carlo dropout)層およびlinear softmax層を備える。concatenate層に、ラベルあり入力データ13の処理対象の入力データセットと、後述の第2のベクトル算出部74の最初のcMCdropout層から出力された処理対象の入力データセットに対応する実数データセットが入力される。 The reliability calculation unit 72 includes, for example, a neural network and a processing unit that calculates the reliability of each labeling function from the output of the neural network. The neural network comprises a concatenate layer, a linear tanh layer, a cMCdropout (consistent Monte Carlo dropout) layer and a linear softmax layer. The concatenate layer receives the input data set to be processed of the labeled input data 13 and the real number data set corresponding to the input data set to be processed output from the first cMCdropout layer of the second vector calculation unit 74 described later. be done.
 ニューラルネットワークは、各入力データセットについて、投票の有無に関わらず各ラベリング関数の信頼度を出力する。処理部は、ラベルあり入力データ13を参照して、各ラベリング関数について、処理対象のラベリング関数が投票した入力データセットの信頼度を抽出し、抽出した信頼度の平均を、処理対象のラベリング関数の信頼度として出力する。  The neural network outputs the reliability of each labeling function for each input data set regardless of the presence or absence of voting. The processing unit refers to the labeled input data 13, extracts the reliability of the input data set voted by the labeling function to be processed for each labeling function, and calculates the average of the extracted reliability as the labeling function to be processed. output as the reliability of
 第1のベクトル算出部73は、ラベリング関数を信頼度で重み付けをして、処理対象の入力データセットの仮の正解ラベル63と、処理対象の入力データセットが各ラベルに対応する確率を含む第1の識別確率ベクトル64を算出する。 The first vector calculation unit 73 weights the labeling function with the degree of reliability, and obtains a first vector including the provisional correct label 63 of the input data set to be processed and the probability that the input data set to be processed corresponds to each label. 1 identification probability vector 64 is calculated.
 第1の識別確率ベクトル64は、図7に示すように、入力データセットのそれぞれについて生成され、各ラベルに対応する確率を含む。各ラベルに対応する確率の合計は1となる。 A first identification probability vector 64 is generated for each of the input data sets and includes probabilities corresponding to each label, as shown in FIG. The sum of the probabilities corresponding to each label is one.
 第1のベクトル算出部73は、処理対象の入力データセットについて、投票されたラベリング関数に対応する値に、そのラベリング関数の信頼度をsoftmax関数で算出された確率を設定して、第1の識別確率ベクトル64を生成する。第1のベクトル算出部73は、処理対象の入力データセットについて、投票されたラベリング関数のうち、最も信頼度の高いラベリング関数が付したラベルを、仮の正解ラベル63とする。第1のベクトル算出部73は、入力データ11の各入力データセットについて、仮の正解ラベルと63、第1の識別確率ベクトル64を算出する。 For the input data set to be processed, the first vector calculation unit 73 sets the reliability of the labeling function to the value corresponding to the voted labeling function to the probability calculated by the softmax function, and calculates the first Generate an identification probability vector 64 . The first vector calculation unit 73 sets the label assigned with the highest reliability labeling function among the voted labeling functions to the input data set to be processed as the provisional correct label 63 . The first vector calculator 73 calculates a temporary correct label 63 and a first identification probability vector 64 for each input data set of the input data 11 .
 例えば、ある入力データセットについて、3つのラベリング関数がそれぞれ判別した結果が、{1,0,0}である場合、各ラベリング関数の信頼度を考慮して、第1のベクトル算出部73は、各ラベルに該当する確率として、{0.7,0.15,0.15}の確率を出力する。別の入力データセットについて、3つのラベリング関数がそれぞれ判別した結果が、{0,0,1}である場合、モデル処理部71は、各ラベルに該当する確率として、{0.25,0.25,0.5}の確率を出力する。信頼度が高いラベリング関数が判別した結果に対して、高い確率が設定され、信頼度が低いラベリング関数が判別した結果に対して、低い確率が設定される。 For example, when three labeling functions determine the results of {1, 0, 0} for an input data set, the first vector calculation unit 73 considers the reliability of each labeling function. Probabilities of {0.7, 0.15, 0.15} are output as the probabilities corresponding to each label. For another input data set, when the results of discrimination by the three labeling functions are {0, 0, 1}, the model processing unit 71 sets {0.25, 0 . 25, 0.5}. A high probability is set for the result determined by the labeling function with high reliability, and a low probability is set for the result determined by the labeling function with low reliability.
 判別した結果が{1,0,3}となるなど、1つの入力データセットについて、第1のラベリング関数が第1のラベルと判別し、第3のラベリング関数が第3のラベルと判別するような矛盾が起きる場合を説明する。第1のベクトル算出部73は、例えば{0.55,0.1,0.35}の確率を出力する。矛盾が生じた場合でも、信頼度が高いラベリング関数が判別した結果に対して、高い確率が設定され、信頼度が低いラベリング関数が判別した結果に対して、低い確率が設定される。 The discrimination result is {1, 0, 3}. Explain when a contradiction occurs. The first vector calculator 73 outputs probabilities of {0.55, 0.1, 0.35}, for example. Even if contradiction occurs, a high probability is set for the result discriminated by the labeling function with high reliability, and a low probability is set for the result discriminated by the labeling function with low reliability.
 判別した結果が{0,0,0}の場合、具体的には、各ラベリング関数が判別できないと判断した場合を説明する。第1のベクトル算出部73は、各ラベルに該当する確率を判断する材料がないので、例えば{0.33,0.33,0.33}の確率を出力する。 When the determination result is {0, 0, 0}, specifically, the case where it is determined that each labeling function cannot be determined will be described. Since the first vector calculator 73 does not have material for judging the probabilities corresponding to each label, it outputs probabilities of {0.33, 0.33, 0.33}, for example.
 第2のベクトル算出部74は、投票のあった入力データセットについて、処理対象の入力データセットの実数データセットから、第2の識別確率ベクトル65を算出する。学習時において、処理対象の入力データセットは、投票あり入力データ14の入力データセットである。第2のベクトル算出部74は、仮の正解ラベル63を用いて損失関数を算出し、損失関数を最小化するように、処理対象の入力データセットの実数データセットから第2の識別確率ベクトル65を算出するモデルを学習する。第2のベクトル算出部74は、学習済モデルに、処理対象の入力データセットの実数データセットを入力して、入力データセットのそれぞれについて、第2の識別確率ベクトル65を算出する。 The second vector calculation unit 74 calculates the second identification probability vector 65 from the real number data set of the input data set to be processed for the input data set with votes. During learning, the input data set to be processed is the input data set of the voting input data 14 . The second vector calculation unit 74 calculates a loss function using the temporary correct label 63, and calculates a second identification probability vector 65 from the real number data set of the input data set to be processed so as to minimize the loss function. Learn a model that computes The second vector calculation unit 74 inputs the real number data set of the input data set to be processed to the trained model, and calculates the second identification probability vector 65 for each of the input data sets.
 第2の識別確率ベクトル65は、図7に示すように、入力データセットのそれぞれについて生成され、各ラベルに対応する確率を含む。各ラベルに対応する確率の合計は1となる。 A second identification probability vector 65 is generated for each of the input data sets and contains the probability corresponding to each label, as shown in FIG. The sum of the probabilities corresponding to each label is one.
 第2のベクトル算出部74は、閾値以上の数の投票がある処理対象の入力データセットについて、その入力データセットに対応する実数データセットを、ニューラルネットワークに入力して、第2の識別確率ベクトル65を出力する。ニューラルネットワークは、cMCdropout層、linear ReLU層、cMCdropout層、およびlinear softmax層を備える。 The second vector calculation unit 74 inputs the real number data set corresponding to the input data set to be processed with the number of votes equal to or greater than the threshold to the neural network, and generates a second identification probability vector 65 is output. The neural network comprises a cMCdropout layer, a linear ReLU layer, a cMCdropout layer and a linear softmax layer.
 損失関数算出部75は、処理対象の入力データセットについて、第1の識別確率ベクトル64および第2の識別確率ベクトル65のそれぞれと、仮の正解ラベル63を比較する関数を算出する。この関数は、第1の識別確率ベクトル64について、各ラベルに対応する確率の合計と仮の正解ラベル63の確率との差分と、正の相関があり、第2の識別確率ベクトル65について、各ラベルに対応する確率の合計と仮の正解ラベルの確率との差分と、正の相関がある。本発明の実施の形態において、確率の合計は1であるので、関数は、例えば、第1の識別確率ベクトル64の仮の正解ラベル63に対応する確率の値と1との差分と、第2の識別確率ベクトル65の仮の正解ラベル63に対応する確率の値と1との差分の重み付き平均である。 The loss function calculation unit 75 calculates a function for comparing each of the first identification probability vector 64 and the second identification probability vector 65 with the provisional correct label 63 for the input data set to be processed. This function has a positive correlation with the difference between the total probability corresponding to each label and the probability of the temporary correct label 63 for the first identification probability vector 64, and for the second identification probability vector 65, each There is a positive correlation with the difference between the sum of the probabilities corresponding to the labels and the probabilities of the tentative correct labels. In the embodiment of the present invention, the sum of the probabilities is 1, so the function is, for example, the difference between the probability value corresponding to the tentative correct label 63 of the first identification probability vector 64 and 1, and the second is a weighted average of the difference between 1 and the value of the probability corresponding to the temporary correct label 63 of the identification probability vector 65 of .
 損失関数算出部75は、投票あり入力データ14の各入力データセットについての各関数と相関のある損失関数を算出する。損失関数算出部75は、投票のあった入力データセットについて算出した関数の和を、損失関数として算出する。 The loss function calculator 75 calculates a loss function correlated with each function for each input data set of the voted input data 14 . The loss function calculator 75 calculates the sum of the functions calculated for the input data sets with votes as the loss function.
 モデル処理部71は、損失関数算出部75が算出する損失関数が最小になるように、モデルを学習する。モデル処理部71は、算出した損失関数に従って、投票のあった入力データセットのそれぞれについて、第1の識別確率ベクトル64と第2の識別確率ベクトル65それぞれの仮の正解ラベル63に対応する確率の値が1に近づくように、学習する。 The model processing unit 71 learns the model so that the loss function calculated by the loss function calculation unit 75 is minimized. The model processing unit 71 calculates the probabilities corresponding to the temporary correct labels 63 of the first identification probability vector 64 and the second identification probability vector 65 for each of the voted input data sets according to the calculated loss function. Learn so that the value approaches 1.
 モデル処理部71は、学習済モデルに、入力データ11の各入力データセットを入力して、モデルにおける識別の不確かさ22を出力する。識別の不確かさ22は、入力データ11の各入力データセットについて算出された、各第2の識別確率ベクトル65のエントロピーと正の相関を有する。 The model processing unit 71 inputs each input data set of the input data 11 to the trained model and outputs the discrimination uncertainty 22 in the model. The identification uncertainty 22 is positively correlated with the entropy of each second identification probability vector 65 calculated for each input data set of input data 11 .
 モデル処理部71は、入力データ11の各入力データセットのそれぞれについて、変換部70により変換された実数データセットが入力されると、第2のベクトル算出部74により、各ラベルに対応する確率を含む第2の識別確率ベクトル65を算出する。モデル処理部71は、例えば各入力データセットについて算出された第2の識別確率ベクトル65のエントロピーの平均を、識別の不確かさ22として出力する。 For each input data set of the input data 11, the model processing unit 71, when the real number data set converted by the conversion unit 70 is input, calculates the probability corresponding to each label by the second vector calculation unit 74. A second identification probability vector 65 containing The model processing unit 71 outputs, for example, an average entropy of the second identification probability vector 65 calculated for each input data set as the identification uncertainty 22 .
 モデル処理部71は、学習を繰り返し所定の終了条件を満たした後、学習済モデルで算出された第2の識別確率ベクトルから、識別結果である出力データ21を出力する。モデル処理部71は、各入力データセットについて、処理対象の入力データセットから算出された第2の識別確率ベクトル65で最も確率の高いラベルを、処理対象の入力データセットの正解ラベルとする。モデル処理部71は、処理対象の入力データセットの識別子と、その正解ラベルを対応づけた出力データ21を出力する。 After repeating learning and satisfying a predetermined end condition, the model processing unit 71 outputs output data 21, which is the identification result, from the second identification probability vector calculated by the trained model. For each input data set, the model processing unit 71 sets the label with the highest probability in the second identification probability vector 65 calculated from the input data set to be processed as the correct label of the input data set to be processed. The model processing unit 71 outputs the output data 21 in which the identifier of the input data set to be processed and the correct label are associated with each other.
 モデル処理部71は、信頼度算出部72および第2のベクトル算出部74の各ニューラルネットワークにおいて、入力層にMonte Carlo Dropout層を追加し、さらに最終層を除く位置に、Monte Carlo Dropout層を追加する。Monte Carlo Dropout層では、ノード間をつなぐニューラルネットワークを、一定の確率で無視する。モデル処理部71は、Monte Carlo Dropout層を備えることにより、モデルの学習時のみならず、学習済モデルを利用して出力する時にも、ノードの繋がり方が異なる複数のモデルがあたかも存在しているかのように振る舞い、識別の不確かさを推定することができる。例えば、学習を繰り返す度に、出力が異なれば、信頼性が低く、同じ出力であれば、信頼性が高いと判断することができる。 The model processing unit 71 adds a Monte Carlo Dropout layer to the input layer in each neural network of the reliability calculation unit 72 and the second vector calculation unit 74, and further adds a Monte Carlo Dropout layer to the positions other than the final layer. do. In the Monte Carlo Dropout layer, the neural network connecting the nodes is ignored with a certain probability. The model processing unit 71 is equipped with a Monte Carlo Dropout layer, so that it is as if a plurality of models with different node connections exist not only during model learning but also when outputting using a trained model. to estimate the uncertainty of identification. For example, if the output differs each time learning is repeated, it can be determined that the reliability is low, and if the output is the same, it can be determined that the reliability is high.
 (モデル処理方法)
 図9および図10を参照して、モデル処理部71によるモデル処理方法を説明する。図9および図10は、図5のステップS3に対応する。
(Model processing method)
A model processing method by the model processing unit 71 will be described with reference to FIGS. 9 and 10. FIG. 9 and 10 correspond to step S3 in FIG.
 ステップS101においてモデル処理部71は、信頼度算出処理を行う。 In step S101, the model processing unit 71 performs reliability calculation processing.
 モデル処理部71は、入力データ11の各入力データセットについて、ステップS151の処理を行う。ステップS151においてモデル処理部71は、入力データ11の各入力データセットに付されたラベルと、投票あり実数データ60との相関から、各入力データセットおよび各ラベリング関数の信頼度を算出する。 The model processing unit 71 performs the processing of step S151 for each input data set of the input data 11. In step S<b>151 , the model processing unit 71 calculates the reliability of each input data set and each labeling function from the correlation between the label attached to each input data set of the input data 11 and the voted real number data 60 .
 モデル処理部71は、各ラベリング関数について、ステップS152およびステップS153を処理する。ステップS152においてモデル処理部71は、処理対象のラベリング関数が投票した入力データセットを特定する。ステップS153においてモデル処理部71は、ステップS152で特定された入力データセットにおける処理対象のラベリング関数の平均を、処理対象のラベリング関数の信頼度として算出する。 The model processing unit 71 processes steps S152 and S153 for each labeling function. In step S152, the model processing unit 71 identifies the input data set voted for by the labeling function to be processed. In step S153, the model processing unit 71 calculates the average of the labeling functions to be processed in the input data set identified in step S152 as the reliability of the labeling function to be processed.
 各ラベリング関数について、ステップS152およびステップS153の処理が終了すると、モデル処理部71は、投票あり入力データ14の各入力データセットについて、ステップS102からステップS105を処理する。 When the processing of steps S152 and S153 is completed for each labeling function, the model processing unit 71 processes steps S102 to S105 for each input data set of the voted input data 14 .
 ステップS102においてモデル処理部71は、ステップS101で算出された各ラベリング関数の信頼度から、第1の識別確率ベクトル64を算出する。ステップS103においてモデル処理部71は、ステップS102で特定された第1の識別確率ベクトル64のうち最も高い値に対応するラベルを、仮の正解ラベル63として特定する。ステップS104においてモデル処理部71は、処理対象の入力データセットの実数データから、第2の識別確率ベクトル65を算出する。ステップS105においてモデル処理部71は、第1の識別確率ベクトル64と仮の正解ラベル63の差分を示す関数と、第2の識別確率ベクトル65と仮の正解ラベル63の差分を示す関数から、処理対象の入力データセットの関数を特定する。 In step S102, the model processing unit 71 calculates the first identification probability vector 64 from the reliability of each labeling function calculated in step S101. In step S<b>103 , the model processing unit 71 identifies the label corresponding to the highest value among the first identification probability vectors 64 identified in step S<b>102 as the temporary correct label 63 . In step S104, the model processing unit 71 calculates the second identification probability vector 65 from the real number data of the input data set to be processed. In step S105, the model processing unit 71 performs processing based on the function indicating the difference between the first identification probability vector 64 and the temporary correct label 63 and the function indicating the difference between the second identification probability vector 65 and the temporary correct label 63. Identify the function of the input dataset of interest.
 投票あり入力データ14の各入力データセットについて、ステップS102からステップS105の処理が終了すると、ステップS106に進む。ステップS106においてモデル処理部71は、ステップS106で特定された各入力データセットの関数から、モデルにおける損失関数を特定する。ステップS107においてモデル処理部71は、ステップS106で特定された損失関数を最小化するモデルを学習する。 When the processing from step S102 to step S105 is completed for each input data set of the voted input data 14, the process proceeds to step S106. In step S106, the model processing unit 71 identifies a loss function in the model from the function of each input data set identified in step S106. In step S107, the model processing unit 71 learns a model that minimizes the loss function specified in step S106.
 (評価)
 本発明の実施の形態に係る処理装置1の評価を説明する。変換部70は、sentence BERTによるembeddingを用いて、入力データセットを、特徴を示す実数データに変換する。第1のベクトル算出部73および第2のベクトル算出部74のニューラルネットワークにけるMonte Carlo Dropoutのdropout率は、入力層において0.2で、その他の層において0.5とする。クラスタリング部53は、HDBSCANを用いてクラスタリングを行う。
(evaluation)
Evaluation of the processing apparatus 1 according to the embodiment of the present invention will be described. The conversion unit 70 converts the input data set into real number data representing characteristics using embedding by sentence BERT. The dropout rate of Monte Carlo dropout in the neural networks of the first vector calculation unit 73 and the second vector calculation unit 74 is 0.2 in the input layer and 0.5 in the other layers. The clustering unit 53 performs clustering using HDBSCAN.
 まず、本発明の実施の形態に係る処理装置1が出力した提示データ24の一例を示す。 First, an example of the presentation data 24 output by the processing device 1 according to the embodiment of the present invention is shown.
Figure JPOXMLDOC01-appb-T000001
Figure JPOXMLDOC01-appb-T000001
 上記の提示データ24において、文章のパターンは様々であるものの、earn money、make moneyなど各入力データセットに共通する情報が含まれていることが分かる。従ってこのような提示データ24を観察した主体Eは、提示データ24に対してラベル付与が可能なラベリング関数を、効率的に作成することができる。 In the presentation data 24 described above, although there are various patterns of sentences, it can be seen that information common to each input data set, such as earn money and make money, is included. Therefore, the subject E observing such presentation data 24 can efficiently create a labeling function capable of labeling the presentation data 24 .
 本発明の実施の形態にかかる処理装置1によれば、識別器52で、各ラベリング関数の信頼度と入力データセットに対するラベル付けの両方を、一つの損失関数を最小化するように、モデルを学習する。また処理装置1は、学習したモデルを用いて、モデル出力の不確かさを算出することができる。 According to the processing device 1 according to the embodiment of the present invention, the discriminator 52 determines both the reliability of each labeling function and the labeling of the input data set so as to minimize one loss function. learn. The processing device 1 can also calculate the uncertainty of the model output using the learned model.
 また処理装置1によれば、劣モジュラ関数で表現される識別器52の性能の向上の期待値を貪欲法により近似計算して、期待値が最大となる入力データセットを主体Eに提示する。これにより、主体Eによるラベリング関数の作成の効率化が期待できる。 Also, according to the processing device 1, the expected value of the performance improvement of the discriminator 52 represented by the submodular function is approximated by the greedy method, and the input data set with the maximum expected value is presented to the subject E. As a result, it is expected that the subject E will create a labeling function more efficiently.
 上記説明した本実施形態の処理装置1は、例えば、CPU(Central Processing Unit、プロセッサ)901と、メモリ902と、ストレージ903(HDD:Hard Disk Drive、SSD:Solid State Drive)と、通信装置904と、入力装置905と、出力装置906とを備える汎用的なコンピュータシステムが用いられる。このコンピュータシステムにおいて、CPU901がメモリ902上にロードされた処理プログラムを実行することにより、処理装置1の各機能が実現される。 The processing device 1 of the present embodiment described above includes, for example, a CPU (Central Processing Unit, processor) 901, a memory 902, a storage 903 (HDD: Hard Disk Drive, SSD: Solid State Drive), and a communication device 904 , an input device 905 and an output device 906 are used. In this computer system, each function of the processing device 1 is realized by the CPU 901 executing a processing program loaded on the memory 902 .
 なお、処理装置1は、1つのコンピュータで実装されてもよく、あるいは複数のコンピュータで実装されても良い。また処理装置1は、コンピュータに実装される仮想マシンであっても良い。 It should be noted that the processing device 1 may be implemented by one computer, or may be implemented by a plurality of computers. Also, the processing device 1 may be a virtual machine implemented in a computer.
 処理装置1プログラムは、HDD、SSD、USB(Universal Serial Bus)メモリ、CD (Compact Disc)、DVD (Digital Versatile Disc)などのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。 The processing device 1 program can be stored in a computer-readable recording medium such as HDD, SSD, USB (Universal Serial Bus) memory, CD (Compact Disc), DVD (Digital Versatile Disc), or distributed via a network. can also
 なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。 It should be noted that the present invention is not limited to the above embodiments, and many modifications are possible within the scope of the gist.
 1 処理装置
 11 入力データ
 12 関数データ
 13 ラベルあり入力データ
 14 投票あり入力データ
 15 投票なし入力データ
 21 出力データ
 22 識別の不確かさ
 23 クラスタデータ
 24 提示データ
 25 新規関数データ
 51 ラベル付け部
 52 識別器
 53 クラスタリング部
 54 特定部
 55 更新部
 60 投票あり実数データ
 61 投票なし実数データ
 62 信頼度データ
 63 仮の正解ラベル
 64 第1の識別確率ベクトル
 65 第2の識別確率ベクトル
 70 変換部
 71 モデル処理部
 72 信頼度算出部
 73 第1のベクトル算出部
 74 第2のベクトル算出部
 75 損失関数算出部
 901 CPU
 902 メモリ
 903 ストレージ
 904 通信装置
 905 入力装置
 906 出力装置
 E 主体
1 processing device 11 input data 12 function data 13 labeled input data 14 voted input data 15 non-voted input data 21 output data 22 uncertainty of discrimination 23 cluster data 24 presentation data 25 new function data 51 labeling unit 52 discriminator 53 Clustering unit 54 Identification unit 55 Update unit 60 Real number data with vote 61 Real number data without vote 62 Reliability data 63 Temporary correct label 64 First identification probability vector 65 Second identification probability vector 70 Conversion unit 71 Model processing unit 72 Reliability degree calculator 73 first vector calculator 74 second vector calculator 75 loss function calculator 901 CPU
902 memory 903 storage 904 communication device 905 input device 906 output device E subject

Claims (8)

  1.  入力データセットにラベル付けを行う、あるいはラベル付けができない場合は棄権するラベリング関数を含む関数データを参照して、
     各入力データセットを前記ラベリング関数でラベルを付すラベル付け部と、
     前記各入力データセットについて付されたラベルと、前記各入力データセットのうち閾値以上の数のラベリング関数でラベル付けされた入力データセットを含む投票あり入力データを学習して、入力データセットから正解ラベルと各ラベリング関数の信頼度を出力するモデルを学習し、学習済の前記モデルに、前記各入力データセットを入力して、前記モデルにおける識別の不確かさを出力する識別器と、
     前記各入力データセットのうち閾値未満の数のラベリング関数でラベル付けされた入力データセットを含む投票なし入力データの各データセットのうち、前記識別の不確かさを考慮した獲得関数の値が最大になるデータセットを、提示データとして特定する特定部を備え、
     前記提示データに対して新たに作成されたラベリング関数が、前記関数データに挿入される
     処理装置。
    With reference to function data containing a labeling function that labels the input dataset or abstains if labeling is not possible,
    a labeling unit that labels each input data set with the labeling function;
    learning voted input data including labels assigned to each input data set and input data sets labeled with a labeling function of a number equal to or greater than a threshold among each input data set, and correcting from the input data set; A discriminator that learns a model that outputs a label and the reliability of each labeling function, inputs each of the input data sets to the trained model, and outputs the uncertainty of discrimination in the model;
    Among each data set of non-voting input data including input data sets labeled with a labeling function that is less than a threshold number in each input data set, the value of the acquisition function considering the identification uncertainty is maximized. an identification unit that identifies the data set as presentation data,
    A processing unit in which a newly created labeling function for the presentation data is inserted into the function data.
  2.  前記識別器は、
     前記投票あり入力データの処理対象の入力データセットの特徴を示す投票あり実数データセットと、前記処理対象の入力データセットに付されたラベルとの関係から、前記ラベリング関数の信頼度を算出する信頼度算出部と、
     前記ラベリング関数を前記信頼度で重み付けをして、前記処理対象の入力データセットの仮の正解ラベルと、前記処理対象の入力データセットが各ラベルに対応する確率を含む第1の識別確率ベクトルを算出する第1のベクトル算出部と、
     前記投票あり実数データセットから、第2の識別確率ベクトルを算出する第2のベクトル算出部と、
     前記処理対象の入力データセットについて、前記第1の識別確率ベクトルおよび前記第2の識別確率ベクトルのそれぞれと、前記仮の正解ラベルを比較する関数を算出し、
     前記投票あり入力データの各入力データセットについての各関数と相関のある損失関数を算出する損失関数算出部を備え、
     前記損失関数が最小になるように、前記モデルを学習する
     請求項1に記載の処理装置。
    The discriminator is
    Reliability for calculating the reliability of the labeling function from the relationship between the real number data set with votes representing the characteristics of the input data set to be processed of the input data with votes and the label attached to the input data set to be processed. a degree calculation unit;
    weighting the labeling function with the confidence to generate a first identification probability vector containing a probability that the input data set to be processed corresponds to each label; a first vector calculator that calculates
    a second vector calculation unit that calculates a second identification probability vector from the voted real number data set;
    calculating a function for comparing each of the first identification probability vector and the second identification probability vector with the provisional correct label for the input data set to be processed;
    A loss function calculation unit that calculates a loss function correlated with each function for each input data set of the input data with voting,
    The processing device according to claim 1, wherein the model is trained such that the loss function is minimized.
  3.  前記関数は、
     前記第1の識別確率ベクトルについて、各ラベルに対応する確率の合計と前記仮の正解ラベルの確率との差分と、正の相関があり、
     前記第2の識別確率ベクトルについて、各ラベルに対応する確率の合計と前記仮の正解ラベルの確率との差分と、正の相関がある
     請求項2に記載の処理装置。
    The function is
    For the first identification probability vector, there is a positive correlation with the difference between the total probability corresponding to each label and the probability of the temporary correct label,
    3. The processing device according to claim 2, wherein the second identification probability vector has a positive correlation with a difference between the total probability corresponding to each label and the probability of the temporary correct label.
  4.  前記ラベリング関数の信頼度は、前記ラベリング関数について算出された各入力データセットについての信頼度の平均である
     請求項2に記載の処理装置。
    3. The processing device according to claim 2, wherein the reliability of the labeling function is an average of reliability for each input data set calculated for the labeling function.
  5.  前記識別器は、前記入力データセットのそれぞれについて、各ラベルに対応する確率を含む識別確率ベクトルを算出し、
     前記識別の不確かさは、各識別確率ベクトルのエントロピーと正の相関を有する
     請求項2に記載の処理装置。
    The discriminator calculates, for each of the input data sets, a discrimination probability vector including probabilities corresponding to each label;
    3. The processing device according to claim 2, wherein the identification uncertainty has a positive correlation with the entropy of each identification probability vector.
  6.  前記投票なし入力データの各入力データセットを複数のクラスタに区分するクラスタリング部をさらに備え、
     前記特定部は、前記値が最大になる入力データセットが属するクラスタに属する入力データセットを、前記提示データとして特定する
     請求項1に記載の処理装置。
    further comprising a clustering unit that divides each input data set of the non-voting input data into a plurality of clusters;
    The processing device according to claim 1, wherein the specifying unit specifies, as the presentation data, an input data set belonging to a cluster to which an input data set having the maximum value belongs.
  7.  コンピュータが、入力データセットにラベル付けを行う、あるいはラベル付けができない場合は棄権するラベリング関数を含む関数データを参照して、
     各入力データセットを前記ラベリング関数でラベルを付すステップと、
     前記コンピュータが、前記各入力データセットについて付されたラベルと、前記各入力データセットのうち閾値以上の数のラベリング関数でラベル付けされた入力データセットを含む投票あり入力データを学習して、入力データセットから正解ラベルと各ラベリング関数の信頼度を出力するモデルを学習し、学習済の前記モデルに、前記各入力データセットを入力して、前記モデルにおける識別の不確かさを出力するステップと、
     前記コンピュータが、前記各入力データセットのうち閾値未満の数のラベリング関数でラベル付けされた入力データセットを含む投票なし入力データの各データセットのうち、前記識別の不確かさを考慮した獲得関数の値が最大になるデータセットを、提示データとして特定するステップを備え、
     前記提示データに対して新たに作成されたラベリング関数が、前記関数データに挿入される
     処理方法。
    Referring to function data containing a labeling function that the computer labels the input data set or abstains if labeling is not possible,
    labeling each input data set with the labeling function;
    The computer learns voted input data including the label attached to each of the input data sets and input data sets labeled with a labeling function of a number equal to or greater than a threshold among the input data sets, and inputs a step of learning a model that outputs the correct label and the reliability of each labeling function from the data set, inputting each of the input data sets into the trained model, and outputting the uncertainty of discrimination in the model;
    The computer determines an acquisition function that takes into account the uncertainty of identification of each data set of non-voted input data, including input data sets labeled with a labeling function in a number that is less than a threshold number in each input data set. identifying the data set with the largest value as the presented data;
    A processing method wherein a newly created labeling function for said presentation data is inserted into said function data.
  8.  コンピュータを、請求項1ないし請求項6のいずれか1項に記載の処理装置として機能させるための処理プログラム。 A processing program for causing a computer to function as the processing device according to any one of claims 1 to 6.
PCT/JP2021/047300 2021-12-21 2021-12-21 Processing device, processing method, and processing program WO2023119415A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/047300 WO2023119415A1 (en) 2021-12-21 2021-12-21 Processing device, processing method, and processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/047300 WO2023119415A1 (en) 2021-12-21 2021-12-21 Processing device, processing method, and processing program

Publications (1)

Publication Number Publication Date
WO2023119415A1 true WO2023119415A1 (en) 2023-06-29

Family

ID=86901626

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/047300 WO2023119415A1 (en) 2021-12-21 2021-12-21 Processing device, processing method, and processing program

Country Status (1)

Country Link
WO (1) WO2023119415A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210031444A (en) * 2019-04-25 2021-03-19 에스케이텔레콤 주식회사 Method and Apparatus for Creating Labeling Model with Data Programming
WO2021245924A1 (en) * 2020-06-05 2021-12-09 日本電信電話株式会社 Processing device, processing method, and processing program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210031444A (en) * 2019-04-25 2021-03-19 에스케이텔레콤 주식회사 Method and Apparatus for Creating Labeling Model with Data Programming
WO2021245924A1 (en) * 2020-06-05 2021-12-09 日本電信電話株式会社 Processing device, processing method, and processing program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SAISHO OSAMU; OHGURO TAKESHI; SUN JINGYU; IMAMURA HIROSHI; TAKEUCHI SUSUMU; YOKOZEKI DAIGORO: "Human Knowledge Based Efficient Interactive Data Annotation via Active Weakly Supervised Learning", 2021 IEEE INTERNATIONAL CONFERENCE ON PERVASIVE COMPUTING AND COMMUNICATIONS WORKSHOPS AND OTHER AFFILIATED EVENTS (PERCOM WORKSHOPS),, 22 March 2021 (2021-03-22), pages 332 - 335, XP033917131, DOI: 10.1109/PerComWorkshops51409.2021.9431067 *

Similar Documents

Publication Publication Date Title
CN108564129B (en) Trajectory data classification method based on generation countermeasure network
WO2018167900A1 (en) Neural network learning device, method, and program
CN111783875A (en) Abnormal user detection method, device, equipment and medium based on cluster analysis
JP7024515B2 (en) Learning programs, learning methods and learning devices
CN112818690B (en) Semantic recognition method and device combined with knowledge graph entity information and related equipment
CN113139664B (en) Cross-modal migration learning method
CN111611486A (en) Deep learning sample labeling method based on online education big data
CN103177177A (en) Information processing device, estimator generating method and program
CN107392217B (en) Computer-implemented information processing method and device
Jamail et al. Current state-of-the-art of clustering methods for gene expression data with RNA-Seq
JP7389389B2 (en) Processing equipment, processing method and processing program
CN113764034A (en) Method, device, equipment and medium for predicting potential BGC in genome sequence
CN117521117A (en) Medical data application security and privacy protection method and system
WO2023119415A1 (en) Processing device, processing method, and processing program
CN116228278B (en) User portrait establishing method and user portrait management system based on big data
CN117093849A (en) Digital matrix feature analysis method based on automatic generation model
CN113297385B (en) Multi-label text classification system and method based on improved GraphRNN
CN112738724A (en) Method, device, equipment and medium for accurately identifying regional target crowd
JP6230501B2 (en) Reduced feature generation apparatus, information processing apparatus, method, and program
CN116361470B (en) Text clustering cleaning and merging method based on topic description
KR102266853B1 (en) Method and apparatus for recommending items based on multi-type pair-wise preference
CN113222034B (en) Knowledge distillation-based fine-grained multi-class unbalanced fault classification method
CN117973522B (en) Knowledge data training technology-based application model construction method and system
US20220374707A1 (en) Information processing method, information processing apparatus, and non-transitory computer-readable storage medium
US20240013057A1 (en) Information processing method, information processing apparatus, and non-transitory computer-readable storage medium

Legal Events

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

Ref document number: 21968852

Country of ref document: EP

Kind code of ref document: A1