Estimation device, estimation method, and estimation program

The estimation device converts data into text and applies a label estimation model to estimate labels across various formats, addressing the limitations of existing technologies and improving label accuracy.

JP7779333B2Active Publication Date: 2025-12-03NEC CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023576564
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-01-31
Publication Date
2025-12-03
Estimated Expiration
2042-01-31

AI Technical Summary

Technical Problem

Existing technologies, such as zero-shot classification, are limited to labeling text data and cannot effectively label data in non-text formats like tables, images, or audio.

Method used

An estimation device and method that converts target data into text using various conversion rules, applies a label estimation model to the text, and estimates labels for data in general formats, including structured, semi-structured, and unstructured data.

Benefits of technology

Enables labeling of data in diverse formats by applying a text-based label estimation method, eliminating the need for format-specific models and allowing evaluation with a single criterion, enhancing label estimation accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007779333000012
    Figure 0007779333000012
  • Figure 0007779333000013
    Figure 0007779333000013
  • Figure 0007779333000014
    Figure 0007779333000014
Patent Text Reader

Abstract

In order to estimate a label to be given to target data of a general data format, by applying a text-based label estimation method, this estimation device (1) comprises: a data conversion unit (11) that converts target data, to which a label is given, into text; and a label estimation unit (12) that estimates a label to be given to the target data, on the basis of a label estimation model for estimating the label to be given to the text, and the text obtained by the conversion by the data conversion unit.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an estimation device that estimates a label to be assigned to target data. [Background technology]

[0002] Recently, a large amount of data with various contents has been collected and accumulated, and as a result, there is a demand for a technology to automatically label such data. For example, Non-Patent Document 1 below discloses a technology to automatically associate labels with text using a method called zero-shot classification.

[0003] More specifically, the technology of Non-Patent Document 1 first generates a premise sentence from the text to be classified, and also generates a hypothesis sentence related to the label of the candidate classification destination.The generated premise sentence and hypothesis sentence are then input into an implication model to determine the degree to which the label applies to the text to be classified.The implication model is a model constructed by machine learning to determine whether the premise sentence entails the hypothesis sentence, that is, whether they contain the same content. [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] Wenpeng Yin, Jamaal Hay, Dan Roth, "Benchmarking Zero-shot Text Classification: Datasets, Evaluation and Entailment Approach", EMNLP / IJCNLP (1) 2019: 3912-3921 Summary of the Invention [Problem to be solved by the invention]

[0005] While zero-shot classification enables automatic labeling of text, this technology can only label text. For example, zero-shot classification cannot label data in table format. One aspect of the present invention has been made in consideration of such problems, and one objective thereof is to provide an estimation device or the like that can apply a text-based label estimation method to target data in a general data format to estimate a label to be assigned. [Means for solving the problem]

[0006] An estimation device according to one aspect of the present invention includes: a data conversion means for converting target data to be labeled into text; a label estimation model for estimating a label to be assigned to the text; and a label estimation means for estimating a label to be assigned to the target data based on the text converted by the data conversion means.

[0007] An estimation method according to one aspect of the present invention includes at least one processor converting target data to be labeled into text, and estimating the label to be assigned to the target data based on the converted text and a label estimation model for estimating a label to be assigned to the text.

[0008] An estimation program according to one aspect of the present invention causes a computer to function as data conversion means that converts target data to be labeled into text, and label estimation means that estimates the label to be assigned to the target data based on a label estimation model for estimating a label to be assigned to text and the text converted by the data conversion means. [Effects of the Invention]

[0009] According to one aspect of the present invention, it is possible to apply a text-based label estimation method to target data in a general data format to estimate a label to be assigned. [Brief explanation of the drawings]

[0010] [Figure 1] 1 is a block diagram showing a configuration of an estimation device according to a first exemplary embodiment of the present invention. [Figure 2] 1 is a flowchart showing the flow of an estimation method according to a first exemplary embodiment of the present invention. [Figure 3] 1A and 1B are diagrams illustrating examples of labeling target data in various formats. [Figure 4] FIG. 10 is a block diagram showing the configuration of an estimation device according to a second exemplary embodiment of the present invention. [Figure 5] FIG. 10 is a diagram illustrating an example of a conversion rule to be applied when target data is structured data. [Figure 6] FIG. 10 is a diagram showing an example in which text generated from metadata is added to text generated from target data. [Figure 7] FIG. 10 is a diagram illustrating an example of a conversion rule to be applied to target data connected by ER. [Figure 8] FIG. 10 is a diagram illustrating an example of a conversion rule to be applied to semi-structured data having a hierarchical structure. [Figure 9] FIG. 10 is a diagram illustrating an example of a transformation rule to be applied to semi-structured data in a graph format. [Figure 10] FIG. 10 illustrates an example of a method for sampling elements associated with a label. [Figure 11] 10A and 10B are diagrams illustrating a method for determining whether or not a column name or an element included in target data is included in text based on a hierarchical structure of labels. [Figure 12] FIG. 3 is a flowchart showing a flow of processing executed by the estimation device. [Figure 13] FIG. 1 is a diagram illustrating an example of a computer that executes instructions of a program, which is software that realizes the functions of each device according to each exemplary embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0011] Exemplary Embodiment 1 A first exemplary embodiment of the present invention will be described in detail with reference to the drawings. This exemplary embodiment is a basic form of the exemplary embodiments described below.

[0012] (Configuration of the estimation device) The configuration of an estimation device 1 according to this exemplary embodiment will be described with reference to Fig. 1. Fig. 1 is a block diagram showing the configuration of the estimation device 1. As shown in Fig. 1, the estimation device 1 includes a data conversion unit 11 and a label estimation unit 12.

[0013] The data conversion unit 11 converts the target data to which a label is to be assigned into text.

[0014] The label estimation unit 12 estimates a label to be assigned to the target data based on a label estimation model for estimating a label to be assigned to text and the text converted by the data conversion unit 11.

[0015] As described above, the estimation device 1 according to this exemplary embodiment is configured to include a data conversion unit 11 that converts target data to which a label is to be assigned into text, a label estimation model for estimating a label to be assigned to the text, and a label estimation unit 12 that estimates a label to be assigned to the target data based on the text converted by the data conversion unit 11. This configuration makes it possible to estimate a label to be assigned by applying a text-based label estimation method to target data in a general data format.

[0016] (Estimated Program) The functions of the estimation device 1 described above can also be realized by a program. The estimation program according to this exemplary embodiment causes a computer to function as a data conversion unit that converts target data to which a label is to be assigned into text, and a label estimation unit that estimates a label to be assigned to the target data based on a label estimation model for estimating a label to be assigned to the text and the text converted by the data conversion unit. This estimation program makes it possible to estimate a label to be assigned by applying a text-based label estimation method to target data in a general data format.

[0017] (Flow of estimation method) The flow of the estimation method according to this exemplary embodiment will be described with reference to Fig. 2. Fig. 2 is a flow diagram showing the flow of the estimation method. Note that the execution entity of each step in this estimation method may be a processor included in the estimation device 1, or a processor included in another device, or each step may be executed by a processor provided in a different device.

[0018] In S11, at least one processor converts the target data to be labeled into text.

[0019] In S12, at least one processor estimates a label to be assigned to the target data based on a label estimation model for estimating a label to be assigned to text and the converted text.

[0020] As described above, the estimation method according to this exemplary embodiment includes converting target data to which a label is to be assigned into text by at least one processor, and estimating a label to be assigned to the target data based on the converted text and a label estimation model for estimating a label to be assigned to the text. This estimation method makes it possible to estimate a label to be assigned to target data in a general data format by applying a text-based label estimation technique.

[0021] Exemplary Embodiment 2 A second exemplary embodiment of the present invention will now be described in detail with reference to the drawings.

[0022] (Outline of estimation method) An outline of an estimation method according to this exemplary embodiment (hereinafter referred to as the present method) will be described with reference to FIG. 3. FIG. 3 is a diagram showing an example of assigning labels to target data in various formats. Specifically, FIG. 3 shows three examples of target data to which labels are to be assigned: target data D in CSV (Comma Separated Values) format, target data D' in XML format, and target data D'' in another format. The other formats may be unstructured formats (e.g., still images, moving images, audio, etc.). In other words, the target data D'' may be unstructured data. In the example of FIG. 3, candidate labels to be assigned to these target data include medical care, welfare, civil engineering, finance, etc.

[0023] In this method, the target data is first converted into text. As will be described later in detail, a text conversion method is available depending on the data format of the target data, and by applying this method, target data in various formats can be converted into text. In the example of Figure 3, the target data D is d D ="xxxxx". Similarly, D' is converted to d D’ = “yyyy” and D'' is d D’’ = has been converted to the text “zzzzz”.

[0024] Next, in this method, the text generated by the above conversion is input to a label estimation model for estimating the label to be assigned to the text. As a result, an output value (hereinafter referred to as a relevance score) indicating the degree of relevance between each label and the text is output. The relevance score indicates the degree of fit of the label to the target data that is the source of the text, in other words, the likelihood that the label is appropriate to be assigned to the target data. In the example of Figure 3, the label estimation model is a score function f, and the text d is input to this score function f. D By inputting the above, a relevance score ranging from 0 to 1 is calculated for each label, such as medical, welfare, civil engineering, finance, etc.

[0025] The closer this relevance score is to 1, the higher the relevance, i.e., the more likely it is that the label is appropriate as a label to be assigned to the target data D. Therefore, the relevance score f(d D ) it can be seen that target data D should be assigned the labels "welfare" with a relevance score of 0.7 and "medical" with a relevance score of 0.6, but should not be assigned the labels "civil engineering" with a relevance score of 0.3 and "finance" with a relevance score of 0.1. Note that the relevance score need only indicate the relevance between each label and the target data, and is not limited to the example shown in the figure. For example, the relevance score may be a value normalized so that the sum of the relevance scores of each label is 1.

[0026] Since the target data D' and D'' are also converted to text in the same way as the target data D, the relevance score can be calculated by applying the same score function f as that applied to the target data D. Then, based on the calculated relevance score, the label to be assigned to the target data can be estimated.

[0027] As described above, this method makes it possible to estimate labels to be assigned to target data in a general data format by applying a text-based label estimation technique. This method also eliminates the need to prepare label estimation models for each target data format, and allows target data of different formats to be evaluated for compatibility with each label using a single evaluation criterion: a single label estimation model.

[0028] (Configuration of the estimation device) The configuration of the estimation device 2 according to this exemplary embodiment will be described with reference to Fig. 4. Fig. 4 is a block diagram showing the configuration of the estimation device 2. The estimation device 2 is a device that estimates labels to be assigned to target data, and as shown in the figure, includes a control unit 20 that controls each unit of the estimation device 2 in an integrated manner, and a storage unit 21 that stores various data used by the estimation device 2. The estimation device 2 also includes an input unit 22 that accepts user input operations to the estimation device 2, and an output unit 23 that causes the estimation device 2 to output data. Note that the estimation device 2 may be a device dedicated to label estimation, or may be a general-purpose device that can be used for other purposes.

[0029] The control unit 20 includes a data acquisition unit 201, a data conversion unit (data conversion means) 202, and a label estimation unit 203 (label estimation means). The storage unit 21 stores a label set 211, target data 212, a conversion rule 213, a label estimation model 214, and an estimation result 215.

[0030] The data acquiring unit 201 acquires target data to which a label is to be assigned and a label set including candidate labels to be assigned to the target data. The data acquiring unit 201 stores the acquired label set as a label set 211 in the storage unit 21, and also stores the acquired target data as target data 212 in the storage unit 21.

[0031] The label set 211 is C={c1, c2, ... c K}. Each element of the label set 211 is a character string (for example, a word or text). The number of labels K is arbitrary, and may be K=1 or K≧2. The label set 211 may be defined by a user, or a publicly known classification system may be applied as the label set 211.

[0032] The data conversion unit 202 converts target data 212 to be labeled into text. Specifically, the data conversion unit 202 converts the target data 212 into text using conversion rules 213. Details of the conversion rules 213 will be described later. When the target data is data D, the data conversion unit 202 receives the data D as input and converts it into a set of text

number

[0033] The label estimation unit 203 estimates a label to be assigned to target data based on an output value obtained by inputting the text converted by the data conversion unit 202 into a label estimation model 214 for estimating a label to be assigned to text, i.e., the above-mentioned goodness of fit score. This estimation result is stored in the storage unit 21 as estimation result 215. Note that the label estimation unit 203 may estimate one or more labels to be assigned to one piece of target data. Estimating a label to be assigned to target data can also be interpreted as classifying the target data.

[0034] The label estimation model 214 may be the score function f described above. The score function f is a function of the text d D When the score function f is used, the label estimation unit 203 inputs the text d generated by the data conversion unit 202 as a function to output a goodness of fit score for each label. Dand a label set C acquired by the data acquisition unit 201, and a goodness of fit score vector f(d D ) is calculated.

[0035] The label estimation model 214 may be any model capable of calculating a compatibility score indicating the compatibility between a label and target data. For example, a known text classification model such as a zero-shot text classifier as described in Non-Patent Document 1 may be applied as the label estimation model 214. The zero-shot text classifier described in Non-Patent Document 1 is a model that associates a sample to be classified with a premise sentence and a label with a hypothesis sentence, and determines where to classify the sample based on whether the premise sentence implies the hypothesis sentence. Here, we will explain zero-shot text classifiers. Zero-shot text classification is a technology in text classification that classifies text into classes that are not included in training data. For example, assume that text included in training data has been labeled "entertainment" or "politics." In this case, zero-shot text classification involves determining whether the text to be estimated is classified into the class "economy," which is not included in the training data. As mentioned above, one example of a zero-shot text classifier is a method that uses a language understanding model constructed by learning whether a premise sentence implies a hypothesis sentence. This method will be explained below.

[0036] When the above-described zero-shot text classifier is used as the label estimation model 214, the label estimation unit 203 generates a hypothesis sentence related to the label of a classification candidate. The hypothesis sentence related to the label can be generated using a known method, such as incorporating the character string of the label into a predetermined template. Then, the label estimation unit 203 inputs the text generated from the target data by the data conversion unit 202 and the generated hypothesis sentence into the zero-shot text classifier, and calculates a suitability score indicating the degree to which the label fits the target data. Note that, instead of the text generated by the data conversion unit 202, a premise sentence generated by further processing (e.g., summarizing) the text may be input into the zero-shot text classifier.

[0037] In this way, the label estimation unit 203 may estimate a label to be assigned to target data based on the degree to which the text generated by the data conversion unit 202 implies a hypothesis sentence related to the label of a classification candidate, as indicated by a compatibility score calculated using a language understanding model constructed by learning whether a premise sentence implies a hypothesis sentence. This configuration achieves the effect of being able to estimate a label to be assigned to target data from a label set including unlearned, unknown labels, in addition to the effects achieved by the estimation device 1 according to the first exemplary embodiment. The zero-shot classifier is not limited to the above example, and it is also possible to apply a fill-in-the-blank classifier using a large-scale language model such as GPT-3 (Generative Pre-trained Transformer-3), a classifier based on a question-answering model, etc. Such classifiers are described in, for example, the following documents: Ruiqi Zhong et al., Adapting Language Models for Zero-shot Learning by Meta-tuning on Dataset and Prompt Collections, EMNLP 2021 Findings. https: / / aclanthology.org / 2021.findings-emnlp.244 /

[0038] Alternatively, a trained model constructed by machine learning the relationship between data and the labels to be assigned to the data may be used as the label estimation model 214. Alternatively, a known text classification model that has been additionally trained using independently collected data may be used as the label estimation model 214. The independently collected data is preferably data related to the target data to which a label is to be assigned.

[0039] Any method may be used to estimate labels to be assigned to target data based on the relevance score. For example, the label estimation unit 203 may estimate, among the labels included in the label set, labels having a relevance score equal to or greater than a threshold as labels to be assigned to the target data. Alternatively, for example, the label estimation unit 203 may estimate, among the labels included in the label set, a predetermined number of labels having the highest relevance scores as labels to be assigned to the target data. Then, the label estimation unit 203 may store information indicating each estimated label as the estimation result 215.

[0040] As described above, the estimation device 2 according to this exemplary embodiment includes a data conversion unit 202 that converts target data 212 to be labeled into text, a label estimation model 214 that estimates a label to be assigned to the text, and a label estimation unit 203 that estimates a label to be assigned to the target data based on the text converted by the data conversion unit 202. More specifically, the label estimation is performed based on an output value obtained by inputting the text converted by the data conversion unit 202 into the label estimation model 214. This configuration has the advantage of being able to estimate a label to be assigned to target data in a general data format by applying a text-based label estimation method. Furthermore, there is no need to prepare a label estimation model for each data format of the target data (e.g., table, image, text, etc.). Labels to be assigned to target data in multiple data formats can be estimated using a single label estimation model 214.

[0041] (Example of transformation rules applied to structured data) 5 is a diagram showing an example of conversion rules 213 to be applied when the target data is structured data. Structured data is data whose structure is predetermined and can be handled by a relational database management system (RDBMS). For example, data expressed as a table defined by rows and columns, such as data in CSV format, is structured data.

[0042] The target data D shown in Fig. 5 is structured data that includes four columns: row name, company name, number of people, and location, with each row indicating the row name, company name, number of people, and location information (i.e., the elements of each row). Fig. 5 shows conversion rules 1 to 3 as examples of conversion rules 213 that convert structured data in this format into text.

[0043] Conversion rule 1 concatenates column names. A template for generating text with concatenated column names can be stored in the storage unit 21 as conversion rule 213. Here, the text obtained by converting row e using template t is represented as t(e). As shown in FIG. 5, by using template t of conversion rule 1, text t(e1)="company name number of people location" is generated from target data D. The template used for conversion to text may be any template that can generate text from elements contained in the target data. The template used for conversion to text may also be considered a conversion rule that indicates what elements contained in the target data should be arranged and converted into text. The template used for conversion to text may be, for example, a template configured to incorporate character strings contained in the target data, such as template t above, and may convert the target data into text by incorporating character strings contained in the target data into the template.

[0044] Conversion rule 2 is to connect the elements of each row. A template for generating text in which the elements of each row are connected can also be stored in the storage unit 21 as conversion rule 213. As shown in FIG. 5, by using template t of conversion rule 2, text t(e1)="Forest Bakery 10 A Prefecture" is generated from target data D. In addition, text can be generated in the same way for row names e2 and onwards. By connecting the texts generated in this way, one text d can be generated from one target data D. D = "t(e1)t(e2)..." is generated.

[0045] Conversion rule 3 converts the target data into the text "{column name} is {element}." Such a template can also be stored in the storage unit 21 as conversion rule 213. As shown in FIG. 5, by using template t of conversion rule 3, text t(e1)="The company name is Mori no Bakery. The number of employees is 10. The location is A Prefecture" is generated from the target data D. Text can also be generated in the same way for row names e2 and onward.

[0046] Furthermore, instead of "{column name} is {element}," the data conversion unit 202 may convert the text into "{column name} {element}," which simply lists the column name and the element. Furthermore, the data conversion unit 202 may convert the text into text using a conversion rule different from the example in FIG. 5, such as "{column name} is related to {element}."

[0047] It should be noted that the data conversion unit 202 does not necessarily need to convert all column names and elements contained in the target data D into text. For example, the data conversion unit 202 may not convert elements that satisfy a predetermined condition into text. Examples of the predetermined condition include being numeric data, containing missing values, or being an identification number (ID) or symbol whose meaning is unclear on its own. If elements that are numeric data are not converted into text, when the target data D is converted into text using conversion rule 3, the resulting text will be "The company name is Mori no Bakery. It is located in Prefecture A."

[0048] Furthermore, depending on the combination of the target data and the conversion rules, and the columns and elements targeted for conversion, the generated text may or may not accurately represent the contents of the target data. For example, it has been empirically proven that converting elements that only contain numbers into text often does not accurately represent the contents of the target data. Furthermore, it has also been empirically proven that, for example, if the column name is blank or contains an identification number, converting the data into text by element often results in a more accurate representation of the contents of the target data.

[0049] Therefore, the data conversion unit 202 may generate multiple texts from one target data D. For example, the data conversion unit 202 may generate text D using conversion rule 1. D 1 ="Company name, number of people, location" and convert the text d D 2 ="The company name is Mori no Bakery. The number of employees is 10. The location is A prefecture." Details will be explained later in "Aggregation of Suitability Scores," but when multiple texts are generated from one target data D, the label estimation unit 203 aggregates the suitability scores calculated using each text and then estimates the label to be assigned to the target data.

[0050] The conversion rules 213 may also be a conversion model constructed by learning the correspondence between structured data and text indicating its contents. The conversion model to be applied may be an existing model such as Table-to-Text, or may be constructed using training data. This conversion model may also be generated by unsupervised learning.

[0051] (Utilizing metadata) When target data is accompanied by metadata related to the target data, the data conversion unit 202 may add text generated from the metadata to text generated from the target data. This will be described with reference to Fig. 6. Fig. 6 is a diagram showing an example in which text generated from the metadata is added to text generated from the target data.

[0052] 6 shows target data in a table format including columns A to D and associated metadata. The data conversion unit 202 converts the target data in the table format into text d by using the conversion rule 213 described above. D can be generated.

[0053] The data conversion unit 202 also converts the metadata into text data. D If the metadata is structured data, the text d is converted into D For example, the "Additional Information" part of the metadata shown in Figure 6 can be converted into text such as "Organization is City D. Contact is xxxx-xx-xxxx. Created by the Health Insurance Department. Web page is http: / / ..." using the conversion rule "{Column name} is {Element}." Also, if all or part of the metadata is semi-structured or unstructured data, it can be converted into text using the conversion rules for data in those formats described below.

[0054] Then, the data conversion unit 202 converts the text d generated as described above into D and text dD ' combined text {d D ,d D '} can be generated as text corresponding to the target data. This makes it possible to estimate labels that take into account not only the target data but also the metadata.

[0055] (Example of conversion rules applied to target data connected by ER) The target data to be labeled may be multiple tables connected by ER (Entity Relationship). The conversion rules to be applied in this case will be described with reference to Fig. 7. Fig. 7 is a diagram showing an example of conversion rules to be applied to target data connected by ER.

[0056] Figure 7 shows target data D, which is a table containing three primary keys (row name, company name, number of people, and location) connected by ER to a table containing three foreign keys (company name, industry, and chef license), as well as conversion rules 4 and 5 that can be applied to such target data D.

[0057] Conversion rule 4 converts each table into text using the conversion rule shown in Figure 5, and then connects the converted text to generate a single text from multiple tables. Specifically, conversion rule 4 is a template t that says, "{column name} is {element: primary key}, and {column name: foreign key} is {element: foreign key}." The part "{column name} is {element: primary key}" is repeated for each primary key. The same is true for the part "{column name: foreign key} is {element: foreign key}."

[0058] By applying this template t to the row of e1, the following text is generated: t(e1)="The company name is Mori no Bakery. The number of employees is 10. The location is A Prefecture. The industry is confectionery manufacturing. The company has a chef's license." as shown in the figure.

[0059] Conversion rule 5 embeds text about foreign keys in the middle of text about primary keys. Specifically, conversion rule 5 is template t, "{column name} is {element: primary key}, and {column name: foreign key} is {element: foreign key}." If there are multiple foreign keys, the part "{column name: foreign key} is {element: foreign key}" is listed in the form "{column name: foreign key} is {element: foreign key}, and."

[0060] By applying this template t to the row of e1, the following text is generated: t(e1)="The company name is Mori no Bakery, the industry is confectionery manufacturing, and the person has a chef's license." Note that text generated from other primary keys (number of people and location) can be added to this text.

[0061] As described above, when the target data consists of multiple tables connected by ER, the data conversion unit 202 may generate one text that reflects the contents of each table. This makes it possible to estimate labels that take into account the contents of each table.

[0062] (Example of conversion rules applied to semi-structured data with a hierarchical structure) The target data to be labeled may be semi-structured data. Semi-structured data is intermediate data between structured data, which is structured, and unstructured data, which is completely unstructured; it is data in which the structure of the data is not completely determined, but has a certain degree of structure. Unlike structured data, semi-structured data cannot be expressed in a table format, but semi-structured data has rules for expressing data. For example, data in formats such as JSON (JavaScript Object Notation: registered trademark), HTML (Hyper Text Markup Language), and XML (eXtensible Markup Language) are semi-structured data.

[0063] Semi-structured data with a hierarchical structure, such as JSON format, can be converted into text using conversion rules such as those shown in FIG. 8. FIG. 8 is a diagram showing an example of conversion rules applied to semi-structured data with a hierarchical structure. FIG. 8 shows target data D in JSON format. In JSON format, a key and its value are written in parentheses {}. Furthermore, data related to the key within the parentheses {} can be written as a nested structure (also called a hierarchical structure or nest) in which further parentheses {} are added.

[0064] Conversion rule 6 shown in Figure 8 can be applied to such target data D. Conversion rule 6 is used to generate text from semi-structured data with a hierarchical structure. Specifically, conversion rule 6 performs conversion using the template "{key} is {value}" and the template "{key}'s {nested object key} is {nested object value}." If the target data contains multiple pairs of key and value, conversion is performed for each using the template "{key} is {value}." The same applies to nested objects.

[0065] When this conversion rule 6 is used to convert the description related to "aaa" contained in the target data D shown in Figure 8, the following text is generated: t(aaa)="Occupation: President. No side job. Has dependents. Dependent's age: 20, occupation: student."

[0066] In this text, "False" in the target data D is converted to "not" and "True" is converted to "yes." In this way, it is preferable to replace Boolean values ​​such as "False" and "True" with appropriate words. In addition, in the above text, the text corresponding to two nested objects (related to "supporter") is connected with the conjunction "で" to form a single sentence. In this way, conversion rules may be used in combination to make the text easier to interpret as a sentence. Such conversion rules, i.e., conversion rules that convert a specific element (character string) included in the target data into its corresponding word (character string), may be stored in the storage unit 21 or the like in the form of, for example, a table that associates elements with words. For example, in the case of the above-mentioned replacement, a correspondence table such as {True: yes, False: no} may be stored.

[0067] In addition, target data in HTML format or XML format can also be converted into text using similar conversion rules. For example, the data conversion unit 202 can convert target data in HTML format or XML format into text using a template such as "{tag: tag} is {content: content}." In addition, {tag} may be converted into a predetermined character string using a predetermined conversion rule. For example, if the target data is <title> XX< / title> <title> In this case, the data conversion unit 202 converts the "title" part into a character string of "title" and< / title> <title> XX< / title> <title> " may be converted to the text "The title is {XX}."< / title>

[0068] (Example of transformation rules applied to graph-format semi-structured data) Semi-structured data may be data in graph format. Semi-structured data in graph format can be converted into text using conversion rules such as those shown in Fig. 9. Fig. 9 is a diagram showing examples of conversion rules that can be applied to semi-structured data in graph format. Fig. 9 shows a knowledge graph, which is semi-structured data in graph format, and conversion rules 7 that can be applied to it.

[0069] The term "knowledge graph" used here refers to data structured with multiple nodes and links connecting the nodes. Knowledge graphs allow the relationships between nodes to be represented by links. For example, in the knowledge graph shown in Figure 9, three users of a social networking service (SNS) and a tweet posted by one of them are represented as nodes. The arrows connecting the nodes, or links, indicate the relationships between users and between users and tweets. From this knowledge graph, we can see that a 25-year-old user named Alice is followed by a 20-year-old user named Klaus, and that she posted a tweet on her smartphone on June 21, 20xx, saying, "I'm in Tokyo now."

[0070] When the target data is a knowledge graph, a conversion rule that converts the relationship between nodes into text, such as conversion rule 7 shown in Figure 9, may be applied. Specifically, conversion rule 7 performs conversion using the template "There is a relationship between {node} and {edge}" and the template "{node} was {edge}ed with {intervention}." Note that "intervention" is information attached to an edge, and indicates the means that intervened in the action indicated by the edge.

[0071] When the description about user "Alice" included in the knowledge graph shown in Figure 9 is converted using this conversion rule 7, the text t(Alice)="Follows Billy. Posted a tweet on a smartphone." is generated. In this example, the character string in the {node} part is the "name" shown in that node. In this way, when converting a knowledge graph into text, the character string in the {node} part may be the character string related to that node. Furthermore, when converting a knowledge graph into text, conversion rules that convert specific elements (character strings) contained in the knowledge graph into corresponding words (character strings) may also be used. For example, suppose the information associated with an edge is {device:smartphone} instead of the above {intervention}. In this case, a correspondence table such as {smartphone:smartphone, device:using} can be stored. By using this correspondence table and a template such as "{node} {information associated with edge} {edge}," it is possible to generate text such as "The tweet was posted using a smartphone."

[0072] Furthermore, the data conversion unit 202 may leave the {node} portion as "user" and add text indicating information related to the node, as in the example of the ER shown in Fig. 7. For example, the data conversion unit 202 may convert the portion in the above text "In a following relationship with Billy" to text "In a following relationship with a user whose name is Billy and whose age is 16."

[0073] In this way, information attached to nodes and links may also be converted into text. For example, the "tweet" node in the example of FIG. 9 is attached with text indicating the content of the post and date information. Using this information, the data conversion unit 202 may generate text such as "I posted a tweet from my smartphone, the content is 'I'm in Tokyo now', and the date is June 21, 20xx."

[0074] Furthermore, a template that takes into consideration the direction of the link arrow may be used. For example, a template "has a {edge} relationship with {node}" may be used for the node on the end side of the link arrow, and a template "has an {edge} relationship with {node}" may be used for the node on the start side of the link arrow. By doing this, when the description about user "Alice" included in the knowledge graph shown in Figure 7 is converted, the text "has a following relationship with Billy. Has a follow-to-Klaus relationship. Has a followed-by-Billy relationship." is generated.

[0075] Note that the application of the conversion rules shown in FIG. 9 is not limited to knowledge graphs; for example, a friend graph on a social networking site can also be converted into text using similar conversion rules. Furthermore, the conversion rules 213 for converting semi-structured data into text may be a conversion model constructed by learning the correspondence between semi-structured data and text indicating its contents. The conversion model to be applied may be an existing model such as JSON-to-Text or HTML-to-Text, or may be one generated using training data. Furthermore, this conversion model may be one generated by unsupervised learning.

[0076] As described above, when the target data is semi-structured data, the data conversion unit 202 converts the target data into text using the predetermined conversion rules for semi-structured data 213. This configuration makes it possible to convert semi-structured data into valid text, thereby achieving the effect of being able to estimate highly valid labels for semi-structured data in addition to the effect achieved by the estimation device 1 according to the first exemplary embodiment.

[0077] (Examples of conversion rules that apply to data in other formats) The target data may be data in a format other than the above-mentioned formats, i.e., unstructured data. For example, the target data may be text. In this case, the label may be estimated without conversion. Also, if the text is long, the label may be estimated from the text summarized using a known document summarization technique. In this case, the document summarization technique becomes the conversion rule 213.

[0078] Furthermore, if the target data is in PDF (Portable Document Format), it may be converted to text using a known technique for converting PDF to text. In this case, the method for converting PDF to text is conversion rule 213. Furthermore, text shown in PDF or image data may be read using an OCR (Optical Character Reader) or the like and converted to text. In this case, the method for converting character strings shown as images in PDF or image data into text is conversion rule 213.

[0079] Furthermore, if the target data is audio data, it may be converted into text using a known technology for converting audio data into text. Similarly, if the target data is video data, it may be converted into text using a known video captioning technology for converting video data into text. Similarly, if the target data is image data, it may be converted into text using a known image captioning technology for inputting image data and outputting a description of it.

[0080] Furthermore, the conversion rules 213 for converting unstructured data into text may be a conversion model constructed by learning the correspondence between unstructured data and text indicating its contents.

[0081] As described above, data conversion unit 202 can convert data in various formats into text. Therefore, if the above-described conversion rules are prepared for each format of target data and stored in storage unit 21 as conversion rules 213, data conversion unit 202 can convert target data in a plurality of formats into text.

[0082] For example, the data conversion unit 202 may include a structured data conversion unit that converts structured data into text, a semi-structured data conversion unit that converts semi-structured data into text, and an unstructured data conversion unit that converts unstructured data into text. In this case, the storage unit 21 may store conversion rules 213 that convert structured data into text, conversion rules 213 that convert semi-structured data into text, and conversion rules 213 that convert unstructured data into text. Note that these conversion rules 213 may be templates or conversion models constructed by machine learning. Furthermore, the data conversion unit 202 may include a template generation unit that generates the above-mentioned templates.

[0083] In this way, the data conversion unit 202 may be configured to be capable of converting target data in a plurality of formats into text. This configuration not only provides the effects of the estimation device 1 according to exemplary embodiment 1, but also eliminates the need to prepare label estimation models for each format of target data, and enables evaluation of compatibility with each label for target data of different formats using a single evaluation criterion, i.e., a single label estimation model 214.

[0084] Furthermore, as described above, when the target data is data in a predetermined format, the data conversion unit 202 may convert the target data into text using a conversion model constructed by learning the correspondence between data in that format and text indicating the content of the data in that format. This configuration makes it possible to generate appropriate text based on the learning results, thereby achieving the effect of improving the accuracy of label estimation in addition to the effect achieved by the estimation device 1 according to exemplary embodiment 1. Note that the data in the predetermined format may be structured data, semi-structured data, or unstructured data.

[0085] (Sampling technique) Regardless of the format of the target data, the data conversion unit 202 does not need to convert all elements of the target data into text, and may sample and convert some elements from the target data into text. For example, if the target data is a single table, the data conversion unit 202 may randomly sample some of the rows that make up the target data and generate text from the sampled rows.

[0086] Furthermore, for example, the data conversion unit 202 may sample rows that satisfy a predetermined condition, such as not containing missing values. Furthermore, for example, the data conversion unit 202 may perform sampling according to the number of unique elements in a column. Here, a unique element refers to an element that does not have duplicates in a column of table data. For example, suppose that a column called "Location" contained in a table (target data) with 1,000 rows has only 47 unique elements. This situation can occur, for example, when "Location" is a column that indicates prefectures in Japan. In this case, unless some ingenuity is taken, text containing many duplicates of the same prefecture will be generated.

[0087] In such a case, after converting a line containing a certain "location" into text, the data conversion unit 202 may not convert any other lines containing the same "location" into text, i.e., may not sample them. In this way, the data conversion unit 202 may perform sampling so that multiple lines containing the same element are not converted into text. Furthermore, the data conversion unit 202 may perform sampling so that the number of lines containing "location" does not exceed a predetermined upper limit. In this way, when the target data is structured data in a table format and contains multiple lines containing the same element, the data conversion unit 202 may sample some of the multiple lines containing the same element and convert the character strings included in the sampled lines into text. This reduces the redundancy of the generated text and improves the accuracy of label estimation.

[0088] Also, for example, suppose there are 1,000 unique elements in a column of a table (target data) with 1,000 rows. This situation could occur, for example, in a column that indicates IDs or personal names. IDs and personal names alone have little explanatory power about the content of the target data, so there is little need to include this information in the text.

[0089] For this reason, the data conversion unit 202 may calculate the ratio of the number of unique elements in each column of the table-format structured data to the number of rows in the target data, that is, the value of (number of unique elements) / (number of rows), and may not include elements in columns where this value is equal to or greater than a threshold value in the text. This reduces the redundancy of the generated text and improves the accuracy of label estimation.

[0090] Furthermore, the data conversion unit 202 may sample elements related to labels from among the elements included in the target data. This will be described with reference to Fig. 10. Fig. 10 is a diagram showing an example of a method for sampling elements related to labels. More specifically, Fig. 10 shows a method for sampling elements related to a label set C from the same target data D as Fig. 5.

[0091] In the method shown in FIG. 10, the data conversion unit 202 first vectorizes the column names and elements included in the target data D using a language model, and also vectorizes each label included in the label set using the same language model. The language model used may be any language model that can generate vectors indicating the characteristics of the column names, elements, and label strings. For example, a known language model such as BERT (Bidirectional Encoder Representations from Transformers) may be used. FIG. 10 shows vector v obtained by vectorizing the element "Bakery in the Forest" included in the target data D.

[0092] Next, the data conversion unit 202 calculates the cosine similarity between the column names and element vectors included in the target data D and the vector set of each label included in the label set. Note that the cosine similarity is a numerical value that indicates the degree of similarity between two vectors, and the cosine similarity between vector v and vector V is c The cosine similarity cos(v,Vc) of<v,Vc> ) / (||v||·||Vc||).

[0093] Then, the data conversion unit 202 identifies the maximum value s of the cosine similarity calculated for each label included in the label set C, and if the identified maximum value s is equal to or greater than a preset threshold θ, converts rows containing the corresponding column names or elements into text. With this configuration, rows containing column names or elements that are not related to any of the labels included in the label set C are not converted into text, thereby reducing the redundancy of the generated text and improving the accuracy of label estimation.

[0094] For example, in the example of FIG. 10, the data conversion unit 202 converts the vector v of "Bakery in the Forest" into a vector set V of labels included in the label set C. c The cosine similarity between the two is calculated.

[0095] If the maximum value s of the cosine similarity calculated here is equal to or greater than a threshold, it can be said that the element "Bakery in the Forest" is related to at least one of the labels included in the label set. In other words, through the above process, the character string "Bakery in the Forest" included in the target data D is identified as a character string related to the label. Therefore, the data conversion unit 202 converts the target data D into text including the character string "Bakery in the Forest". For example, the data conversion unit 202 may convert line e1 including the element "Bakery in the Forest" into text.

[0096] On the other hand, if the maximum value s is less than the threshold, it can be said that the element "Bakery in the Forest" is not related to any of the labels included in the label set. Therefore, in this case, the data conversion unit 202 does not convert the row e1 containing the element "Bakery in the Forest" into text. The data conversion unit 202 can perform this process for each element included in each row.

[0097] Note that the method for evaluating the relevance between the column names and elements contained in the target data D and each label contained in the label set is not limited to the above example, and any method for evaluating the relevance or similarity between strings can be applied.

[0098] As described above, the data conversion unit 202 may identify one or more character strings associated with a label from among character strings included in the target data, and convert the target data into text including the identified character strings. This configuration provides the effects of reducing redundancy in generated text and improving label estimation accuracy, in addition to the effects of the estimation device 1 according to the first exemplary embodiment.

[0099] (aggregation of relevance scores) As described above, multiple texts may be generated from one piece of target data D, and the label estimation unit 203 may estimate a label to be assigned to the target data by aggregating the relevance scores calculated using each text. That is, the label estimation unit 203 may include a score aggregation unit that aggregates the relevance scores calculated using each text. The following describes how the score aggregation unit aggregates the scores.

[0100] Here, the relevance score calculated using each text is a set of relevance score vectors,

number

number

number

number

[0101] The method of aggregating the relevance scores is arbitrary. For example, the score aggregating unit may calculate the arithmetic mean value of the relevance scores calculated using each text. In this case, the aggregated relevance score vector is expressed by the following mathematical formula (1). Alternatively, for example, the score aggregating unit may calculate the maximum value of the relevance scores calculated using each text. In this case, the aggregated relevance score vector is expressed by the following mathematical formula (2).

number

number

[0102] For example, suppose that the following four texts are generated from the target data D shown in FIG. 5 by applying four types of conversion rules. d D 1 ="Company name Number of people Location" d D 2 = "The company name is Mori no Bakery. There are 10 employees. The location is Prefecture A." d D 3 = "The company name is Mori no Bakery. It is located in Prefecture A." d D 4 = "10 5"

[0103] In this case, the calculated goodness of fit score for the label "eating" is assumed to be as follows: f(d D 1 )[Food and drink]=0.4 f(d D 2 )[Food and drink]=0.9 f(d D 3 )[Food and drink]=1.0 f(d D 4 )[Food and drink]=0.2

[0104] In this case, the score aggregating unit may aggregate these relevance scores using the above formula (1), and in this case, the relevance score for the label "eating and drinking" will be 0.625. The score aggregating unit may also remove outliers from the calculated multiple relevance scores and then aggregate these relevance scores using the above formula (1). This makes it possible to obtain an aggregated result that reflects the relevance scores of text generated by a conversion rule that is considered to be effective for the target data, out of multiple types of conversion rules. For example, if 0.3 or less is considered an outlier, the score aggregating unit may remove f(d) with a relevance score greater than 0.3. D 1 )[Food and drink], f(d D 2 ) [eating and drinking], and f(d D 3 The arithmetic mean value of [eating and drinking], 0.77, may be used as the suitability score for the label "eating and drinking." Alternatively, the label estimation unit 203 may aggregate these suitability scores using the above formula (2), in which case the suitability score for the label "eating and drinking" will be 0.8.

[0105] (Label estimation) The label estimation unit 203 estimates a label to be assigned to the target data from the aggregation result. For example, the label estimation unit 203 may estimate a label to be assigned to the target data based on the aggregated fitness scores and a predetermined threshold θ, as shown in the following formula:

number

number

number

number

[0106] (Hierarchical classification) In the above example, the labels included in the label set were flat, i.e., not hierarchical, but labels can also be estimated using a hierarchical label set. By using information indicating the hierarchical structure, it is expected that the accuracy of label estimation will improve.

[0107] In this case, the data acquisition unit 201 obtains a label set C={c1, c2, . . . , c K}, information indicating the hierarchical structure of the labels is obtained. For example, the information indicating the hierarchical structure of the labels is obtained by dividing the edge set E={e ij |c i is c j The edge set E can also represent, for example, that the label "literature and criticism" is the parent category of the label "literary work."

[0108] In this case, it is preferable to apply a hierarchical classification model that returns a goodness-of-fit score f(d) for each label when text d, labels, and their hierarchical structure (C, E) are input as the label estimation model 214. By using such a hierarchical classification model, the label estimation unit 203 can calculate the goodness-of-fit score f(d) for each label from the text d generated by the data conversion unit 202 and the text d, labels, and their hierarchical structure (C, E) acquired by the data acquisition unit 201. This hierarchical classification model may be, for example, a zero-shot text classifier compatible with the hierarchical structure.

[0109] In this way, the label estimation unit 203 may estimate a label to be assigned to target data based on the goodness of fit score calculated for each label included in a hierarchical label group. This configuration provides the effect of being able to estimate labels having a hierarchical structure in addition to the effects of the estimation device 1 according to exemplary embodiment 1. Furthermore, the label estimation unit 203 may calculate the goodness of fit score using a hierarchical classification model, which is expected to improve the accuracy of label estimation.

[0110] The data conversion unit 202 may also determine whether or not to include in the text the column names and elements contained in the target data based on the hierarchical structure of the labels. This will be described with reference to FIG. 11. FIG. 11 is a diagram illustrating a method for determining whether or not to include in the text the column names and elements contained in the target data based on the hierarchical structure of the labels. Note that FIG. 11 shows a label set C having a hierarchical structure. i 10. When the above expression is given, it is determined whether or not the element "Bakery in the Forest" contained in the same target data D as in FIG. 10 is included in the text.

[0111] Label set C shown in Fig. 11 i has a three-level hierarchical structure consisting of a large category C1, a medium category C2, and a small category C3. In this case, the data conversion unit 202 vectorizes the element "forest bakery" included in the target data using a language model, and converts it into a label set Ci Each label included in is vectorized using the same language model, and the cosine similarity of these vectors is calculated.

[0112] Then, as shown in FIG. 11, the data conversion unit 202 calculates the maximum value s of the cosine similarity for each of the major to minor categories. i That is, as in the example of Fig. 11, when there are three hierarchical levels C1 to C3, and C1 contains one label, and C2 and C3 contain two labels each, the data conversion unit 202 obtains s1 from the one label in C1, and obtains s2 and s3 from the two labels each in C2 and C3, respectively.

[0113] Next, as shown in FIG. 11, the data conversion unit 202 calculates s i Here, if w1=1 and w2=w3=0, it is determined whether to generate text containing the element "Bakery of the Forest" based only on the association between the label of the major category and the element "Bakery of the Forest." Similarly, if w3=1 and w1=w2=0, it is determined whether to generate text containing the element "Bakery of the Forest" based only on the association between the label of the minor category and the element "Bakery of the Forest." The values ​​of the weights w1 to w3 may be preset as fixed values, or may be changed depending on the label set, target data, etc.

[0114] Furthermore, the data conversion unit 202 may determine the values ​​of the weights w1 to w3 depending on whether a preset condition is satisfied. For example, the data conversion unit 202 may set w2=1 when the condition s1<θ1 is satisfied, and may set w2=0 when this condition is not satisfied. θ1 is a preset threshold for the label of the large category. In this case, if the correlation between the label of the large category and the element "Bakery in the Forest" is low (specifically, if the cosine similarity is less than the threshold θ1), the correlation between the label of the medium category and the element "Bakery in the Forest" is taken into consideration. In this case, if the label of the large category and the element "Bakery in the Forest" are somewhat related (specifically, if the cosine similarity is equal to or greater than the threshold θ1), the correlation between the label of the medium category and the element "Bakery in the Forest" is not taken into consideration.

[0115] The rest is the same as the example in FIG. 10, and if the calculated s is equal to or greater than the threshold, the data conversion unit 202 generates text including the element "Bakery in the Forest." For example, the data conversion unit 202 converts line e1 including the element "Bakery in the Forest" into text. On the other hand, if the calculated s is less than the threshold, the data conversion unit 202 does not convert line e1 including the element "Bakery in the Forest" into text. The data conversion unit 202 may perform such processing for each element included in each line.

[0116] (Processing flow) The flow of the process (estimation method) executed by the estimating device 2 will be described with reference to Fig. 12. Fig. 12 is a flow diagram showing the flow of the process executed by the estimating device 2. Here, an example will be described in which a data manager of a database owned by a certain company assigns a label to each table included in the database using the estimating device 2. Note that some tables may already have labels assigned to them, and for such tables, if the assigned labels are inappropriate, a process of re-assigning the labels can be performed.

[0117] In S21, the data acquisition unit 201 receives input of target data and classification destination candidates. The input target data is, for example, D={D l|l=1,…,n}. Note that one D l is one table (e.g., CSV data). The classification candidates are C={c k |k=1, ..., K}. C is a set of labels that the data manager has determined to be appropriate. The data manager can input this data to the estimation device 2 via the input unit 22.

[0118] In S22, the data conversion unit 202 converts the target data D input in S21 into multiple texts. As described above, each text can be generated by applying a different conversion rule 213. For example, the data conversion unit 202 generates text from each row of a table using a template "{column name} is {element}" and connects them to generate text d. D 1 and converts the text d using a conversion model such as Table-to-Text. D 2 The above templates and conversion models are examples of the conversion rules 213. When L types of conversion rules 213 are used, one target data D is converted into text d D 1 ,d D 1 ,…,d D L is generated.

[0119] In S23, the label estimation unit 203 evaluates the suitability of each text for the classification destination candidate. Specifically, the label estimation unit 203 inputs the label set input in S21 and the text generated in S22 into the label estimation model 214 for calculating the suitability score, and performs a process of calculating the suitability score for each text generated in S22. Through these processes, a set of suitability score vectors {f(d D l )} l is calculated.

[0120] In S24, the label estimation unit 203 (score aggregation unit) aggregates the evaluation results of S23. For example, the label estimation unit 203 may calculate an aggregated goodness-of-fit score vector using the above-mentioned formula (1) or (2).

[0121] In S25, the label estimation unit 203 estimates a label to be assigned to the target data D based on the aggregation result of S24, and stores the estimated result 215 in the storage unit 21. For example, in S25, the label estimation unit 203 may estimate a label to be assigned to the target data D using the above-mentioned formula (3) or (4).

[0122] In S26, the label estimation unit 203 outputs the estimation result 215 to the output unit 23. By performing the above-described process for each table included in the database, i.e., for each piece of target data, it is possible to assign appropriate labels to them. Note that the process of S26 may be omitted, or may be performed when label estimation for all piece of target data included in the database is completed. Furthermore, when performing the process of S26, the output destination of the estimation result is not limited to the output unit 23. In other words, the label estimation unit 203 may output the estimation result to another device.

[0123] In the above example, the target data is a table, which is structured data, but the target data may be semi-structured data or unstructured data. If the target data is semi-structured data, it can be converted to text in S22 using conversion rules 213 for semi-structured data. Similarly, if the target data is unstructured data, it can be converted to text in S22 using conversion rules 213 for unstructured data.

[0124] In the above example, multiple texts are generated from one piece of target data, but only one piece of text may be generated from one piece of target data. In this case, the process of S24 is omitted.

[0125] [Application example] The estimating device 2 can be used, for example, for integrating databases. For example, suppose that the databases of company A and company B are to be integrated, but company B does not use the labels used by company A. In such a case, it was previously necessary to manually reset the labels in company B's database, a time-consuming and laborious task. In this regard, by using the estimating device 2, it is possible to automatically and quickly reset the labels in company B's database simply by inputting the set of labels used by company A and each target data included in company B's database into the estimating device 2.

[0126] Furthermore, in the above example, even if the labels are redefined when integrating the databases of companies A and B, the labels can be automatically and quickly redefined by simply inputting the redefined label set and each target data included in the databases of companies A and B into the estimation device 2.

[0127] Furthermore, since the estimation device 2 can automatically assign labels to semi-structured data, it can also be used for automatically labeling HTML files that make up web pages, i.e., automatically categorizing web pages. For example, a company that operates a news site can use the estimation device 2 to categorize news genres. In this case, when the company wants to add a new news genre or change an existing genre, it simply defines a set of labels that indicate each new news genre. Then, it simply inputs the set of labels and the HTML file for each news item into the estimation device 2. This allows each news HTML file to be assigned a label that indicates the genre into which the news item should be classified.

[0128] [Modification] The execution entity of each process described in the above embodiment may be any entity and is not limited to the above example. In other words, an estimation system having the same functions as the estimation device 2 can be constructed using multiple devices that can communicate with each other. For example, an estimation system having the same functions as the estimation device 2 can be constructed by distributing the blocks shown in FIG. 4 among multiple devices.

[0129] [Software implementation example] Some or all of the functions of the estimation device 2 may be realized by hardware such as an integrated circuit (IC chip), or by software. In the latter case, the estimation device 2 is realized, for example, by a computer that executes instructions of a program (estimation program), which is software that realizes each function. An example of such a computer (hereinafter referred to as computer C) is shown in FIG. 13. The computer C includes at least one processor C1 and at least one memory C2. The memory C2 stores a program P for operating the computer C as the estimation device 2. In the computer C, the processor C1 reads and executes the program P from the memory C2, thereby realizing each function of the estimation device 2.

[0130] The processor C1 may be, for example, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), a micro processing unit (MPU), a floating point number processing unit (FPU), a physics processing unit (PPU), a microcontroller, or a combination thereof. The memory C2 may be, for example, a flash memory, a hard disk drive (HDD), a solid state drive (SSD), or a combination thereof.

[0131] The computer C may further include a RAM (Random Access Memory) for expanding the program P during execution and for temporarily storing various data. The computer C may also include a communication interface for transmitting and receiving data to and from other devices. The computer C may also include an input / output interface for connecting input / output devices such as a keyboard, mouse, display, and printer.

[0132] Furthermore, the program P can be recorded on a non-transitory tangible recording medium M that can be read by the computer C. Such a recording medium M can be, for example, a tape, a disk, a card, a semiconductor memory, or a programmable logic circuit. The computer C can acquire the program P via such a recording medium M. The program P can also be transmitted via a transmission medium. Such a transmission medium can be, for example, a communication network or broadcast waves. The computer C can also acquire the program P via such a transmission medium.

[0133] [Appendix 1] The present invention is not limited to the above-described embodiments, and various modifications are possible within the scope of the claims. For example, embodiments obtained by appropriately combining the technical means disclosed in the above-described embodiments are also included in the technical scope of the present invention.

[0134] [Appendix 2] Some or all of the above-described embodiments can also be described as follows: However, the present invention is not limited to the following described aspects.

[0135] (Appendix 1) An estimation device comprising: a data conversion means for converting target data to be labeled into text; a label estimation model for estimating a label to be assigned to the text; and a label estimation means for estimating a label to be assigned to the target data based on the text converted by the data conversion means.

[0136] (Appendix 2) 2. The estimating device according to claim 1, wherein, when the target data is semi-structured data, the data conversion means converts the target data into text using a predetermined conversion rule for semi-structured data.

[0137] (Appendix 3) 2. The estimation device according to claim 1, wherein, when the target data is data in a predetermined format, the data conversion means converts the target data into text using a conversion model constructed by learning a correspondence between data in the predetermined format and text indicating the content of the data in the predetermined format.

[0138] (Appendix 4) 4. The estimation device according to any one of appendices 1 to 3, wherein the data conversion means is capable of converting the target data in a plurality of formats into text.

[0139] (Appendix 5) 5. The estimation device according to claim 1, wherein, when the data conversion means converts one piece of target data into a plurality of texts, the label estimation means estimates a label to be assigned to the target data based on each output value obtained by inputting each text into the label estimation model.

[0140] (Appendix 6) 6. The estimation device according to claim 1, wherein the data conversion means identifies one or more character strings associated with the label from among character strings included in the target data, and converts the target data into text including the identified character strings.

[0141] (Appendix 7) 7. The estimation device according to any one of appendices 1 to 6, wherein the label estimation means estimates a label to be assigned to the target data based on a numerical value indicating the degree to which the text implies a hypothesis sentence related to the label, the numerical value being calculated using a language understanding model constructed by learning whether a premise sentence implies the hypothesis sentence.

[0142] (Appendix 8) 8. The estimation device according to claim 1, wherein the label estimation means estimates a label to be assigned to the target data based on the output value calculated for each label included in a label group having a hierarchical structure.

[0143] (Appendix 9) 1. An estimation method, comprising: at least one processor converting target data to which a label is to be assigned into text; and estimating the label to be assigned to the target data based on the converted text, and a label estimation model for estimating a label to be assigned to the text.

[0144] (Appendix 10) An estimation program that causes a computer to function as: a data conversion means that converts target data to be labeled into text; and a label estimation means that estimates a label to be assigned to the target data based on a label estimation model for estimating a label to be assigned to the text and the text converted by the data conversion means.

[0145] [Appendix 3] Some or all of the above-described embodiments can also be expressed as follows: An estimation device including at least one processor that executes a data conversion process of converting target data to which a label is to be assigned into text, and a label estimation process of estimating a label to be assigned to the target data based on an output value obtained by inputting the text converted in the data conversion process into a label estimation model for estimating a label to be assigned to the text.

[0146] The estimation device may further include a memory that stores a program for causing the processor to execute the data conversion process and the label estimation process. The program may be recorded on a computer-readable, non-transitory, tangible recording medium. [Explanation of symbols]

[0147] 1, 2 Estimation device 11, 202 Data conversion section 12, 203 Label estimation part

Claims

1. a data conversion means for converting target data to be labeled into text; a label estimation model for estimating a label to be assigned to text; and label estimation means for estimating a label to be assigned to the target data based on the text converted by the data conversion means, The label estimation means is an estimation device that, when the data conversion means converts one piece of target data into a plurality of texts, estimates a label to be assigned to the target data based on each output value obtained by inputting each text into the label estimation model.

2. A data conversion means for converting target data to be labeled into text; a label estimation model for estimating a label to be assigned to text; and label estimation means for estimating a label to be assigned to the target data based on the text converted by the data conversion means, The data conversion means identifies one or more character strings associated with the label from among character strings included in the target data, and converts the target data into text including the identified character strings.

3. The estimation device according to claim 1 , wherein, when the target data is semi-structured data, the data conversion means converts the target data into text using a predetermined conversion rule for semi-structured data.

4. 3. The estimation device according to claim 1, wherein, when the target data is data in a predetermined format, the data conversion means converts the target data into text using a conversion model constructed by learning a correspondence between data in the predetermined format and text indicating content of the data in the predetermined format.

5. The estimation device according to claim 1 , wherein the data conversion means is capable of converting the target data in a plurality of formats into text.

6. The label estimation means based on a numerical value indicating the degree to which the text implies a hypothesis sentence associated with the label, calculated using a language understanding model constructed by learning whether a premise sentence implies the hypothesis sentence, or For each label included in a hierarchical label group, based on an output value obtained by inputting the text converted by the data conversion means into the label estimation model, The estimation device according to claim 1 , which estimates a label to be assigned to the target data.

7. At least one processor converting the target data to be labeled into text; a label estimation model for estimating a label to be assigned to text; and estimating a label to be assigned to the target data based on the converted text; The estimation method includes estimating labels to be assigned to the target data based on output values ​​obtained by inputting each text into the label estimation model when one piece of target data is converted into a plurality of texts.

8. At least one processor: converting the target data to be labeled into text; a label estimation model for estimating a label to be assigned to text; and estimating a label to be assigned to the target data based on the converted text; The converting step identifies one or more character strings associated with the label from among character strings included in the target data, and converts the target data into text including the identified character strings.

9. Computer, a data conversion means for converting the target data to be labeled into text; and a label estimation means for estimating a label to be assigned to the target data based on a label estimation model for estimating a label to be assigned to text and the text converted by the data conversion means; the label estimation means, when the data conversion means converts one piece of target data into a plurality of texts, estimates a label to be assigned to the target data based on each output value obtained by inputting each text into the label estimation model.

10. A computer, a data conversion means for converting the target data to be labeled into text; and a label estimation means for estimating a label to be assigned to the target data based on a label estimation model for estimating a label to be assigned to text and the text converted by the data conversion means; The data conversion means identifies one or more character strings associated with the label from among character strings included in the target data, and converts the target data into text including the identified character strings.

Citation Information

Patent Citations

  • Text processing method and system

    CN113220885A