WO2015029158A1 - データ変換装置およびデータ変換方法ならびにデータ変換プログラム - Google Patents

データ変換装置およびデータ変換方法ならびにデータ変換プログラム Download PDF

Info

Publication number
WO2015029158A1
WO2015029158A1 PCT/JP2013/072959 JP2013072959W WO2015029158A1 WO 2015029158 A1 WO2015029158 A1 WO 2015029158A1 JP 2013072959 W JP2013072959 W JP 2013072959W WO 2015029158 A1 WO2015029158 A1 WO 2015029158A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
unit
label
columns
input data
Prior art date
Application number
PCT/JP2013/072959
Other languages
English (en)
French (fr)
Inventor
竜治 嶺
淳一 平山
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2013/072959 priority Critical patent/WO2015029158A1/ja
Publication of WO2015029158A1 publication Critical patent/WO2015029158A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks

Definitions

  • the present invention relates to an apparatus, method, and program for converting accumulated data.
  • Patent Document 1 JP-A-5-20276
  • input data is classified into numbers and characters using a code conversion table prepared in advance, and numbers and characters of 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 are used.
  • the data is discriminated from (non-numeric) data and a character string is separated from a character string.
  • a method for classifying input data into numbers and character strings is disclosed.
  • Patent Document 2 a method of converting input numerical data into category data using an if then rule according to the magnitude of the numerical value, and an if then rule are used.
  • a method for determining a threshold variable from a learning sample is disclosed.
  • Patent Document 3 a labeling apparatus assigns labels such as “small”, “medium”, and “large” to each value of numerical data.
  • Patent Document 4 if a character string matching a keyword included in a dictionary prepared in advance is found in the input text data, the character string is extracted.
  • a method and a method of performing morphological analysis of text data and extracting a proper noun that can identify the type of character information such as name and place name are disclosed.
  • a label appearance pattern estimation method for converting an extracted keyword type into a label and estimating an appearance pattern of a label that repeatedly appears in a label string.
  • the big data is, for example, consignment information, inventory information, POS data, etc. in the physical distribution field, and the amount of electricity and water used at home, weather, published data, etc. in the infrastructure sector.
  • Deep Learning is a method of machine learning that performs feature extraction to identification using a huge neural network.
  • the object of Deep Learning is the structure of a multilayer neural network as shown in FIG. In FIG. 16, 1301 is an input layer node, 1302 is a first layer node, 1303 is a second layer node, 1304 is a third layer node, 1305 is a fourth layer (output layer) node, and 1306 is an input.
  • 1307 is the combination of the first layer node and the second layer node
  • 1308 is the combination of the node of the second layer and the node of the third layer
  • 1309 is the combination of the node of the third layer A node and a combination of nodes in the fourth layer (output layer) are shown.
  • h k f (b k + W k h k ⁇ 1 ).
  • b and W are parameters, which are determined by a learning algorithm such as a stochastic gradient descent method.
  • the neural network can express a deeper data structure as the number of layers k increases, but the neural network In other words, it has been found that the parameters b and W are in the local solution, and the correct values cannot always be estimated.
  • Non-Patent Document 2 a method for solving the problem of this local solution.
  • a method was proposed. As a result, machine learning using a multi-layer neural network handled by Deep Learning has become realistic.
  • Deep Learning can also be used as a pattern recognizer by performing supervised learning or by connecting another classifier to the output node of the network.
  • it can be used as a feature extractor through unsupervised learning. Therefore, in particular, as in the latter case, since the feature extraction method is learned from the data by a machine, it is not necessary for an expert to create a feature extraction method based on prior knowledge, which is suitable for analysis of big data.
  • FIG. 17 is a diagram showing a machine learning configuration including Deep Learning.
  • a learning sample DB (database) 101 stores a large number of learning samples 102, for example.
  • the learning sample may be in any format as long as it is image data, audio data, text data, or anything that can be expressed on a computer.
  • This learning sample is generally expressed as input data 103 in a vector format on a computer and passed to the machine learning unit 104.
  • the machine learning unit 104 analyzes the input data 103 and performs, for example, pattern recognition and correlation analysis. Thereby, a learning result 105 is obtained.
  • the learning sample DB 106 includes learning samples 107, 108, and 109.
  • the learning sample 107 is represented by image data
  • the learning sample 108 is represented by speech data
  • the learning sample 109 is represented by text data.
  • the input data 110 has a pixel value (x11, x21, x31,%) In a certain part, audio data (y1, y2, y3,%) In a certain part, and text data ( s1, s2, s3, ...) are included. That is, it is conceivable that the input data 110 includes heterogeneous data such as numerical values, character strings, and codes.
  • the learning result 112 is obtained by being influenced by a large data value.
  • pixel values of image data are 0, 1, 2,..., 255
  • audio data is represented by ⁇ 10 to +10
  • text data is represented by ASCII codes corresponding to A, B,.
  • the data having a negative value is only the audio data, and the range of values that the text data can take is narrower than the range of values that the image data can take. Therefore, negative data is learned only from speech, and text data is buried in image data, indicating that machine learning may not be performed appropriately.
  • Patent Document 1 is a method of dividing binary-format input data composed of numbers and character strings into numbers and character strings by detecting boundaries between the numbers and the character strings. Therefore, since the data after division is expressed in a form in which numerical values and character strings are mixed, there is a problem that it is difficult to use this data as a learning sample for machine learning.
  • Patent Document 2 discloses a method for converting numerical data into category data, and a method for determining a threshold for conversion from a learning sample.
  • numerical data the coordinates of the person in the store (X coordinate, Y coordinate) are given, and an example is shown in which this numerical value is converted into a category name (A product area, B product area, etc.) representing the name of the place. ing.
  • category name A product area, B product area, etc.
  • Patent Document 3 discloses a method of generating an if-then-type rule representing a relationship between data included in a plurality of sample data, and determining a threshold value of an if-then-type rule.
  • this method also converts input data into large, medium, small, etc. label data, the magnitude relationship and ranking information between the data is lost, and it is handled by machine learning in combination with other numerical data. There was a problem that it was difficult.
  • Patent Document 4 discloses a technique for extracting a character string from input data and converting each extracted character string into a label string representing a classification of the character string. For conversion, a method using a keyword registered in advance and a method using a specific notation rule such as a regular expression or a telephone number are disclosed. Then, a method is disclosed in which, when adjacent labels are the same label, a label row in which two or more of the same type of labels are not consecutive is created by replacing the labels with different labels. . Since this method is also only converted into a label, there is a problem in that it is difficult to perform machine learning in combination with other numerical data because the magnitude relationship and ranking information between the data are lost.
  • the present invention has been made to solve such problems, and a typical object of the present invention is to provide a technique for performing machine learning using heterogeneous data.
  • the data having heterogeneity is data in which different types of data are mixed.
  • the different types of data are data expressed as a set of image data, audio data, text data, and the like.
  • a typical data conversion device is a data conversion device that receives tabular data composed of numerical values, character strings, or codes for each column.
  • the data conversion device includes a first dividing unit that divides input data in units of columns, and elements included in the input data divided in units of columns by the first dividing unit are any of numeric values, character strings, or codes And a first determination unit that determines whether or not to be performed.
  • a first generation unit that generates a label by dividing a range of values that the numerical value can take into a plurality of regions, and in which region the numerical value is
  • a first sorting unit that judges whether or not it corresponds and sorts the label to the corresponding label.
  • a second generation unit that generates a label by removing duplicate elements from elements included in the input data divided in units of columns
  • a second distribution unit that determines which label the character string or code corresponds to and distributes the label to the corresponding label. And it has the 1st coupling
  • the data conversion apparatus is connected to a preceding stage of the first dividing unit, and the input data is divided into columns by the second dividing unit and the second dividing unit.
  • a second determination unit that selects at least two columns of the input data and determines whether the data included in the same row of the columns is associated with the second determination unit; Furthermore, when the determination results of the second determination unit correspond, a first conversion unit that converts the columns into one label column, and data converted into a label column by the first conversion unit
  • a second coupling portion coupled in units. The output side of the second coupling unit is connected to the input side of the first dividing unit.
  • the present invention is also applicable to a data conversion method and data conversion program based on the same principle as the data conversion apparatus.
  • a typical effect is that input data having heterogeneity can be converted and easily processed automatically by a computer. As a result, it is possible to perform machine learning using heterogeneous data.
  • Embodiment 1 of this invention It is a figure explaining an example of positioning of a data converter in an embodiment of the invention. It is a figure which shows an example of a structure of the data converter in Embodiment 1 of this invention. In Embodiment 1 of this invention, it is a figure which shows an example of a structure of input data and output data. In Embodiment 1 of this invention, it is a figure which shows an example of the hardware constitutions of a data converter. 5 is a flowchart for explaining an example of processing of a data conversion method in Embodiment 1 of the present invention. In Embodiment 1 of this invention, it is a figure which shows an example of the relationship between input data and output data.
  • Embodiment 2 of this invention it is a flowchart explaining an example of a process of the data conversion method.
  • Embodiment 2 of this invention it is a figure which shows an example of the same column table and the same character string table.
  • Embodiment 2 of this invention it is a figure which shows an example of the relationship between input data and output data.
  • Embodiment 2 of this invention it is a figure which shows an example of a structure of the data converter in the case of putting together the row
  • Embodiment 2 of this invention it is a figure which shows an example of the relationship between input data and output data.
  • Embodiment 2 of this invention it is a figure explaining an example of a distribution distortion table.
  • Embodiment 3 of this invention it is a figure which shows an example of the relationship between the input data and output data in the case of putting together a line.
  • Embodiment 3 of this invention it is a figure which shows an example of the relationship between input data and output data in the case of putting together a row
  • the constituent elements are not necessarily indispensable unless otherwise specified and apparently essential in principle. Needless to say.
  • the shapes, positional relationships, etc. of the components, etc. when referring to the shapes, positional relationships, etc. of the components, etc., the shapes are substantially the same unless otherwise specified, or otherwise apparent in principle. And the like are included. The same applies to the above numerical values and ranges.
  • a typical data conversion apparatus is a data conversion apparatus that receives tabular data composed of numerical values, character strings, or codes for each column.
  • the data conversion apparatus includes: a first dividing unit (data dividing unit 307) that divides input data in units of columns; and elements included in the input data divided in units of columns by the first dividing unit are numerical values and character strings Or a first determination unit (numerical value / character string / code determination unit 308) that determines which of the codes is used. Further, when the determination result of the first determination unit is a numerical value, a first generation unit (a range dividing unit 309, a range label) that generates a label by dividing a range of values that the numerical value can take into a plurality of regions.
  • a second generation unit (character string) that generates a label by removing duplicate elements from elements included in input data divided in units of columns / Code pattern extraction unit 314, character string label addition unit 315), a second distribution unit (character string distribution unit 316) that determines which label the character string or code corresponds to and distributes to the corresponding label; Have. And it has the 1st coupling
  • the data conversion device is connected to the preceding stage of the first dividing unit, and divides the input data in units of columns (data dividing unit 307), and the second dividing unit.
  • a second determination unit character string / code pattern extraction unit that selects any at least two columns from the input data divided in units of the column and determines whether the data included in the same row of the columns corresponds to each other 314, a range dividing unit 309). Further, when the determination results of the second determination unit correspond, a first conversion unit (character string label addition unit 315, range label addition unit 311) that converts those columns into one label column, A second combining unit (column combining unit 313) that combines the data converted into the label column by the first conversion unit in units of columns.
  • the output side of the second coupling unit is connected to the input side of the first dividing unit.
  • the present invention is also applicable to a data conversion method and data conversion program based on the same principle as the data conversion apparatus.
  • FIG. 1 is a diagram illustrating an example of the positioning of a data conversion device in the present embodiment.
  • the learning sample DB 201 stores a learning sample 202, a learning sample 203, a learning sample 204,.
  • the learning sample 202 is image data
  • the learning sample 203 is speech data
  • the learning sample 204 is text data
  • different data is stored.
  • a collection of these is input data 205
  • a learning result 211 is obtained through the machine learning unit 210.
  • 17 is different from the diagram on the right side of FIG. 17 described above in that a data conversion unit 206 that functions as a data conversion device is added before the input data 205 is input to the machine learning unit 210.
  • examples of three types of learning samples are shown, but the type of data is not limited to three.
  • the data conversion unit 206 further includes a preprocessing unit 1 (207) and a preprocessing unit 2 (208).
  • the input data 205 is directly processed by the preprocessing unit 1 (207) without going through the preprocessing unit 2 (208) (input data flow 209), and the input data 205 is processed by the preprocessing unit 2 ( A configuration is described in which processing is performed by the preprocessing unit 1 (207) after processing in step 208).
  • the former will be described in the first embodiment, and the latter will be described in the second embodiment.
  • a data conversion device that performs data conversion (corresponding to the preprocessing unit 1 (207) in FIG. 1), a data conversion method by the data conversion device, and an example of a data conversion program will be described.
  • FIG. 2 is a diagram illustrating an example of the configuration of the data conversion apparatus according to the present embodiment.
  • the data conversion device 301 When the input data 302 is input, the data converter 301 internally converts the data and outputs the output data 303.
  • the data conversion device 301 includes a data reading unit 306, a data dividing unit 307, a numerical value / character string / sign determining unit 308, a range dividing unit 309, a distribution DB 310, a range label adding unit 311, a numerical value distributing unit 312, a column combining unit 313, A character string / code pattern extraction unit 314, a character string label addition unit 315, and a character string distribution unit 316 are included.
  • a distribution parameter input unit 304 is connected to the distribution DB 310, and a division parameter input unit 305 is connected to the range dividing unit 309.
  • the input data 302 is read by the data reading unit 306 and sent to the data dividing unit 307.
  • the data dividing unit 307 divides the input data into columns and sends them to the numerical value / character string / code determination unit 308.
  • the numerical value / character string / sign determination unit 308 determines whether the value is a numerical value or a character string / code, and the data determined to be a numerical value is sent to the range dividing unit 309.
  • Arabic numerals and symbols representing numerical values (-(minus sign), + (plus sign), i (sign indicating imaginary number),. (Decimal point), ⁇ (square root), etc.)
  • a method of separating a numerical value and a sign can be used depending on whether it is included. Further, a method of comparing input data with a distribution function, which will be described later, and determining that the value is close to the distribution function can be used.
  • the range division unit 309 refers to the distribution DB 310 and divides the range into a plurality of range.
  • the distribution DB 310 stores typical distribution functions, that is, parameters expressing a distribution shape such as a normal distribution, a Laplace distribution, and a logistic distribution.
  • a distribution parameter input unit 304 is provided to input parameters of the distribution shape.
  • the distribution parameter is an average value ⁇ and a variance value ⁇ in the case of a normal distribution. In the case of Poisson distribution, it is the expected number of occurrences ⁇ of events occurring in a predetermined section. Parameters such as the number of divisions are input by the division parameter input unit 305.
  • the input data is divided so that the number of data included in each divided section is equal, the average value and the variance value of the input data are calculated, and the division is performed based on the average value and the variance value. It is possible to adopt a method such as dividing a value designated by the user as a break, or equally dividing a range of input data.
  • the range label adding unit 311 adds the range label to the output data.
  • the procedure for adding a range label will be described later.
  • the numerical value sorting unit 312 allocates the input data to the corresponding range label and sends it to the column coupling unit 313.
  • the column combining unit 313 combines the data processed in units of columns in the horizontal direction and outputs the result as output data 303.
  • the input data determined as the character string / code by the numerical value / character string / code determination unit 308 is sent to the character string / code pattern extraction unit 314.
  • the character string / code pattern extraction unit 314 scans the input data in the vertical direction and extracts a character string / code pattern having the same notation. Further, the character string label adding unit 315 adds the character string / code pattern extracted by the character string / code pattern extracting unit 314 to the output data. This process will be described later. Then, the character string sorting unit 316 associates the input data with the corresponding character string / code pattern and sends the input data to the column coupling unit 313.
  • the column combination unit 313 combines the data processed in units of columns in the horizontal direction and outputs the combined data as output data 303.
  • FIG. 3 is a diagram illustrating an example of the configuration of input data and output data.
  • the input data input from the learning sample is generally expressed in a table format like the input data 401.
  • One row represents one learning sample, which is arranged in the vertical direction by the number of samples.
  • sample 1 (406), sample 2 (407), sample 3 (408),..., Sample M (409), and M samples are included.
  • sample 1 (406), sample 2 (407), sample 3 (408),..., Sample M (409), and M samples are included.
  • attribute 1 (402), attribute 2 (402), attribute 3 (403),..., Attribute N (405), and N attributes are assigned to each sample.
  • the output data obtained by converting the input data by the data conversion apparatus of the present embodiment is generally expressed in a table format such as the output data 421.
  • One row represents one learning sample, which is arranged in the vertical direction by the number of samples.
  • One line of input data corresponds to one line of output data. That is, the output data 421 is also composed of sample 1 (426), sample 2 (427), sample 3 (428),..., Sample M (429), and M samples. Corresponds to each row of input data.
  • the element Y11 (430) of the first sample (426) having the label 1 (422), the element Y21 (431) of the first sample (426) having the label 2 (423), Element Y31 (432) of the first sample (426) having the label 3 (424),..., Element YN′1 (1) of the first sample (426) having the label N ′ (425) 433) is stored.
  • the label is stored only in the first row, but a two-level label structure such as output data '441, in which labels having similar attributes are grouped, is adopted. It is also possible. That is, in M sample configurations of sample 1 (449), sample 2 (450), sample 3 (451),..., Sample M (452), label 1 (445) and label 2 (446) are group 1 (442), label 3 (447) belongs to group 2 (443), and label N ′ (448) belongs to group N ′′ (444). Further, the group is grouped and has labels of three or more layers. A configuration is also possible.
  • FIG. 4 is a diagram illustrating an example of a hardware configuration of the data conversion apparatus.
  • the hardware configuration of the data conversion apparatus is realized by using a computer system (computer), and includes at least one set of CPU 501, RAM 502, keyboard 503, display device 504, printer 505, mouse 506, bus 507, DB 509, and network 508. Composed.
  • the RAM 502 stores computer software related to data conversion.
  • the keyboard 503 operates the CPU 501 by user input.
  • the display device 504 indicates to the user the process of input data, output data, and data conversion.
  • the printer 505 prints the process of input data, output data, and data conversion on paper.
  • the mouse 506 operates the CPU 501 by user input.
  • Bus 507 connects to communicate data between each.
  • the DB 509 stores a learning sample DB.
  • a network 508 connects the bus 507 and the DB 509.
  • the DB 509 may be configured to store not only the learning sample DB but also the data conversion result and the data conversion process.
  • a computer software program (data conversion program) relating to data conversion stored in the RAM 502 is executed on the CPU 501, whereby each functional unit (data) shown in FIG. Reading unit 306, data dividing unit 307, numerical value / character string / code determining unit 308, range dividing unit 309, distribution DB 310, range label adding unit 311, numerical value distributing unit 312, column combining unit 313, character string / code pattern extracting unit 314, a character string label adding unit 315, and a character string sorting unit 316) can be realized.
  • FIG. 5 is a flowchart for explaining an example of processing of the data conversion method.
  • FIG. 6 is a diagram illustrating an example of the relationship between input data and output data. The flow of processing in the data conversion method will be described with reference to these drawings. Processing in this data conversion method is automatically performed by executing a data conversion program.
  • the input data 701 is data composed of a plurality of rows and columns, and an attribute “temperature” is attached to the attribute 702 of the input data.
  • the temperature of sample 1 is 16, the temperature of sample 2 is 80, the temperature of sample 3 is 50, and a total of M samples are stored.
  • the output data 703 is labeled “temperature L” on the label 704, “temperature M” on the label 705, and “temperature H” on the label 706.
  • the input data element 707 corresponds to the output data element 708 (709)
  • the output data element 711 corresponds to the input data element 710 (712)
  • the output data element 714 corresponds to the input data element 713.
  • Corresponds to (715) and the data converted using the data converter 301 is stored.
  • the preprocessing unit 1 (207) causes the data reading unit 306 to read the input data 701 into the RAM 502 in step 602.
  • the variable i is initialized with 1.
  • the numerical value / character string / sign determination unit 308 scans the i-th column of the input data divided into columns, and whether the elements included in the column are all columns composed of numeric values. Alternatively, it is determined whether it is a string composed of a character string or a code. If all the elements are composed of numerical values, the value range dividing unit 309 divides the value into several value ranges in step 609. In this method, a range (definition area) that can be taken by a numerical value is divided at a predetermined position and divided into several sections. In step 610, the range label adding unit 311 assigns a label to each divided section, and converts the original numerical data into label data corresponding to the section including the numerical data.
  • the definition area may be divided so as to be equally divided.
  • an average value and a variance value of input data divided into columns may be obtained, and sections may be divided based on the average value and the variance value.
  • the domain may be divided at a position designated by the user. When the division position is designated by the user, the frequency distribution of the elements included in the divided columns is obtained, the frequency distribution is displayed on the display device 504, and the user can specify the division position using the mouse 506 or the keyboard 503. It is good to.
  • the element 707 of the input data 701 is converted to the element 708 of the output data 703 (corresponding 709)
  • the element 710 of the input data 701 is converted to the element 711 of the output data 703 (corresponding 712)
  • the element 713 of the input data 701 Is converted (corresponding 715) to the element 714 of the output data 703.
  • step 606 if it is determined that the character string / code is a character string / code as a result of the determination of whether it is a numerical value or a character string / code (step 606), in step 607, the character string / code pattern extraction unit 314 Duplicate elements are removed from the elements divided into columns, and in step 608, the character string label adding unit 315 generates a label.
  • This procedure will be described with reference to FIG. First, it is assumed that a column with the attribute “722” “worker” is extracted from the input data 721. Elements included in this column are “Suzuki”, “Tanaka”, and “Suzuki”, all of which are composed of character strings.
  • the same processing as in the case of a character string is performed.
  • column data elements of the input data 741 attribute 742 are scanned, duplicate elements are removed, and a label string is generated, which is used as output data 743 (label 744, label 745).
  • Element 746 of input data 741 is converted (corresponding 748) to element 747 of output data 743
  • element 749 of input data 741 is converted (corresponding 751) to element 750 of output data 743
  • element 752 of input data 741 is output.
  • the data 743 is converted into the element 753 (corresponding 754).
  • step 611 the numerical value sorting unit 312 and the character string sorting unit 316 increment the column number i to be extracted from the input data by one, and in step 612, the value of i is changed to the input data. It is determined whether the number of columns 701 is equal to or less than N. If the value of i is less than or equal to the number N of columns of the input data 701, the processing from step 606 is repeated again. By repeating this process, all data included in the input data 701 is converted into output data 703 in units of columns.
  • step 613 the column combination unit 313 sequentially combines the thus generated label columns in the horizontal direction to obtain output data.
  • step 614 the output data is written to the DB 509. This is the end (step 615).
  • the configuration in which the label sequence is generated in steps 608 and 610 and the label sequence is combined with the output data in step 613 has been described.
  • the label sequence is combined with the output data
  • the output data may be extended in the horizontal direction by the number of labels.
  • the input data is divided into columns, and the elements included in the input data divided into the columns are numerical values, character strings, or codes. It can be determined which is configured. Further, by having a range dividing unit 309, a range label adding unit 311, and a numerical value distributing unit 312, if the determination result is a numerical value, the range of values that can be taken by this numerical value is divided into a plurality of regions, and labels are generated. It is possible to determine which region the numerical value corresponds to and assign it to the corresponding label.
  • the character string / code pattern extracting unit 314, the character string label adding unit 315, and the character string sorting unit 316 if the determination result is a character string or a code, the elements included in the input data divided in units of columns It is possible to generate a label by removing duplicate elements from the label, determine which label the character string or code corresponds to, and distribute the label to the corresponding label.
  • output data can be obtained by combining the data allocated to the labels in units of columns.
  • the value range dividing unit 309 can refer to the distribution DB 310 when dividing the range of values that the numerical value can take into a plurality of regions.
  • the preprocessing unit 1 (207) receives the input data 205 and outputs the input data of the preprocessing unit 1 (207).
  • the output data of the preprocessing unit 1 (207) becomes the input data of the machine learning unit 210.
  • FIG. 7 is a flowchart for explaining an example of processing of the data conversion method.
  • FIG. 8 is a diagram illustrating an example of the same column table and the same character string table.
  • FIG. 9 is a diagram illustrating an example of the relationship between input data and output data. The flow of processing in the data conversion method will be described with reference to these drawings.
  • FIG. 8 shows the same string table 901 and the same character string tables 907, 908, and 909.
  • the same column table 901 includes the same column ID (902), column number A (903), column number B (904), and pointer (905) to the same character string table.
  • the same character string table 907, 908, 909 is composed of the same character string ID (913), character string S (914), and character string T (915).
  • “3” in the first row of column number A (903) and “6” in the first row of column number (904) are input data 1001. It means that the element in the p-th row and the third column and the element in the p-th row and the sixth column are in a one-to-one correspondence.
  • a corresponding character string is stored in the same character string table 907 by the association link 910 of the pointer 905. That is, the character string stored in the element in the third column of a certain row is written into the character string S (914), and the character string stored in the element in the sixth column of the same row is written into the character string T (915).
  • the corresponding character string is stored in the same character string table 908 by the association link 911 of the pointer 905.
  • the corresponding character string is stored in the same character string table 909 by the association link 912 of the pointer 905.
  • the same character string may not be a character string but may be a numerical value or a sign.
  • the input data 1001 shown in FIG. 9 is data composed of a plurality of rows and columns.
  • the input data attribute 1002 has an attribute “name” and the attribute 1003 has an attribute “ID”. It has been.
  • Sample 1 “Name” is “ABC”
  • Sample 2 “Name” is “NRX”
  • Sample 3 “Name” is “ABC”
  • Sample 4 “Name” is “XYX”
  • Sample 5 “Name” Is “NRX”.
  • “ID” of sample 1 is “A1”
  • “ID” of sample 2 is “A2”
  • “ID” of sample 3 is “A1”
  • “ID” of sample 4 is “B3”
  • “ID” of sample 5 “ID” is “A2”.
  • a total of M samples are stored.
  • the output data 1021 has a label 1022 “name”.
  • the output data element 1023 stores values obtained by converting (corresponding 1031) the input data elements 1004 and 1009 in a data conversion process described later.
  • the element 1024 of the output data is a value obtained by data conversion (corresponding 1032) of the elements 1005 and 1010 of the input data, and the element 1025 of the output data is converted (corresponding 1033) by the elements 1006 and 1011 of the input data.
  • the value of the output data element 1026 is a value obtained by data conversion of the input data elements 1007 and 1012 (corresponding 1034), and the value of the output data element 1027 is converted by the input data elements 1008 and 1013 (corresponding 1035). Each value is stored.
  • the same column table 1041 includes the same column ID (1042), column number A (1043), column number B (1044), and pointer (1045).
  • the third column and the sixth column of the input data 1001 correspond to each other. It shows that it is attached.
  • the pointer 1045 points to the same character string table 1051 and stores a set of character strings associated with the third and sixth columns of the input data 1001. That is, the same character string table 1051 is composed of a character string S (1052) and a character string T (1053). If there is a character string ABC in the third column of the input data 1001, the input data 1001 6 This indicates that the character string A1 always exists in the same row of the column.
  • the same row of the sixth column of the input data 1001 always has a character string of A2, and the third column of the input data 1001 If there is a character string XYX in a certain row, it indicates that there is always a character string B3 in the same row as the sixth column of the input data 1001.
  • the configuration of the pre-processing unit 2 (208) can be the same as that of the pre-processing unit 1 (207).
  • the main configuration in the data conversion device 301 of the pre-processing unit 2 (208) is a data dividing unit 307 that divides input data into columns, and selects at least two columns from the input data divided into columns.
  • a character string / code pattern extraction unit 314 (range dividing unit 309) that determines whether data included in the same row of these columns corresponds, and if the determination result corresponds, converts those columns into one label column
  • a character string label adding unit 315 range label adding unit 311), and a column combining unit 313 for combining data converted into label columns in units of columns.
  • the preprocessing unit 2 (208) reads the input data 1001 into the RAM 502 in step 802.
  • the variable i is initialized with 1 (step 805).
  • the variable j is initialized with i + 1 (step 806).
  • the variable k is initialized with 1 (step 807).
  • step 808 the element in the k-th row and the i-th column of the input data 1001 is compared with the element in the k-th row and the j-th column to determine whether they are the same, and if they are different, the value of the variable j is increased by one (Ste 809) and return to step 807. If the element in the k-th row and the i-th column is the same as the element in the k-th row and the j-th column, the value of k is increased by one (step 810). In step 811, it is determined whether the value of k is M or more. If the value of k is M or more, the process proceeds to step 812. If the value of k is less than M, the process returns to step 808. In step 812, one row is added to the same column table 901, and a set of i and j is registered in column number A (903) and column number B (904), respectively.
  • step 813 unique elements are extracted from all elements included in the i-th column and substituted into the set P. Also, let Q be the number of elements included in the set P.
  • the variable r is initialized with 1 (step 814). Then, the r-th element of the set P is stored in the character string S (914) of the same character string table 907 (step 815). Further, the r-th element of the set P is searched from the element in the i-th column of the input data 1001, and the element in the j-th column in the found row is stored in the character string T (915) of the same character string table 907 ( Step 816).
  • step 817 the value of the variable r is incremented by 1 (step 817).
  • step 818 it is determined whether the value of the variable r is greater than Q. If the value of the variable r is greater than Q, the process proceeds to step 819. If this is not the case, the process proceeds immediately before step 815.
  • step 819 the i-th column is combined with the output data (step 819), and the value of j is incremented by 1 (step 820).
  • step 821 it is determined whether the value of j is greater than or equal to N. If the value of j is greater than or equal to N, the process proceeds to step 822. If not, the process proceeds to immediately before step 807.
  • step 823 it is determined whether the value of the variable i is N ⁇ 1 or more. If the value of the variable i is N ⁇ 1 or more, the process proceeds to step 824. Transition. Otherwise, the process proceeds immediately before step 806. Finally, output data is written (step 824). This is the end (step 825).
  • FIG. 10 is a diagram illustrating an example of the configuration of the data conversion apparatus in the case of collecting columns having high correlation.
  • the data conversion device 1101 includes a data reading unit 1106, a data dividing unit 1107, a numerical value / character string / code determining unit 1108, a correlation calculating unit 1109, a range dividing unit 1110, a distribution DB 1111, a range label adding unit 1112, a numerical value distributing unit 1113, A column combination unit 1114, a character string / code pattern extraction unit 1115, a character string label addition unit 1116, and a character string distribution unit 1117 are included.
  • a distribution parameter input unit 1104 is connected to the distribution DB 1111, and a division parameter input unit 1105 is connected to the range dividing unit 1110.
  • the data dividing unit 1107 divides input data into columns.
  • the correlation calculation unit 1109 selects any at least two columns from the input data divided in units of columns, and calculates the correlation of data included in the same row of those columns.
  • the range dividing unit 1110 and the range label adding unit 1112 convert those columns into one label column.
  • the column combining unit 1114 combines the data converted into the label column in units of columns.
  • the difference between the data converter 1101 and FIG. 2 is that a correlation calculator 1109 is added before the range divider 1110.
  • the added correlation calculation unit 1109 will be described.
  • the correlation value c is obtained by the following equation.
  • / x and / y are averages of the data strings ⁇ x i ⁇ and ⁇ y i ⁇ .
  • the correlation calculation unit 1109 calculates this correlation value c for any two columns of data determined to be numerical values by the numerical value / character string / sign determination unit 1108. Is converted to a single column.
  • FIG. 11 is a diagram illustrating an example of the correlation value.
  • Scatter chart 1401 extracts data of arbitrary column number S and arbitrary column number T from input data 401, and uses data 1402 of column number S as an X coordinate value and data 1403 of column number T as a Y coordinate value. It is the figure which plotted sample 1 (1404), sample 2 (1405), sample 3 (1406), etc. in the dimensional space.
  • data of an arbitrary column number S and an arbitrary column number T is extracted from the input data 401, the data 1412 of the column number S is set as an X coordinate value, and the data 1413 of the column number T is set as a Y coordinate value.
  • a high correlation means that the relationship between the X coordinate value and the Y coordinate value of the plotted data is strong as shown in the scatter diagram 1401. That is, if the X coordinate value is increased n times, the corresponding Y coordinate value is also increased approximately n times, and if the X coordinate value is 1 / n, the Y coordinate value is also 1 / n.
  • a low correlation means that the magnitude relationship between the X coordinate value and the Y coordinate value of the plotted data is low as shown in the scatter diagram 1411. That is, when the X coordinate value becomes n times, the Y coordinate value does not necessarily become n times.
  • FIG. 12 is a diagram showing an example of the relationship between input data and output data.
  • the input data 1501 is data composed of a plurality of rows and columns.
  • the attribute 1502 of the input data has an attribute “temperature” and the attribute 1503 has an attribute “humidity”.
  • the element values included in the attribute 1502 column and the element values included in the attribute 1503 column have a high correlation as shown in the scatter diagram 1401. That is, the “temperature” of sample 1 is 30, the temperature of sample 2 is 45, the temperature of sample 3 is 52, the temperature of sample 4 is 35, and the temperature of sample 5 is 46.
  • the humidity of sample 1 is 30, the humidity of sample 2 is 48, the humidity of sample 3 is 60, the humidity of sample 4 is 35, and the humidity of sample 5 is 55.
  • the output data 1521 has “temperature” in the label 1522.
  • the output data element 1523 stores a value obtained by converting (corresponding 1531) the input data elements 1504 and 1509 in the data conversion process.
  • the element 1524 of the output data is a value obtained by data conversion (corresponding 1532) of the elements 1505 and 1510 of the input data, and the element 1525 of the output data is converted (corresponding 1533) by the elements 1506 and 1511 of the input data.
  • the value of the output data element 1526 is the value obtained by data conversion of the input data elements 1507 and 1512 (corresponding 1534), and the value of the output data element 1527 is the data conversion of the input data elements 1508 and 1513 (corresponding 1535). Each value is stored.
  • the highly correlated sequence table 1541 is composed of a highly correlated sequence ID (1542), a sequence number A (1543), a sequence number B (1544), a correlation coefficient (1545), and a pointer (1546) to the highly correlated table.
  • the correlation between the third column data of the input data 1501 and the sixth column data is high.
  • the high correlation table 1551 is composed of a numerical value S (1552) and a numerical value T (1553). If there is a numerical value of 30, 45, 52,... This indicates that there are numerical values 30, 48, 60,... In the corresponding row of the sixth column.
  • big data contains a large number of missing values.
  • correlation values instead of exact matches, data can be converted even for incomplete input data containing missing values. it can.
  • the distribution can be estimated and data conversion can be performed as follows.
  • the estimation of the distribution is based on how much the input data matches the distribution stored in the distribution DB 1111 in advance and the function expressed from the set of parameters input by the distribution parameter input unit 1104, or which It can be realized by asking whether it is different.
  • the degree of distortion can be used as the degree of coincidence between the function and the input data.
  • the expected value of the input data X is ⁇
  • the variance ⁇ 2
  • Z (X ⁇ ) / ⁇
  • the expected value of Z 3 is called skewness.
  • FIG. 13 is a diagram for explaining an example of a distribution skewness table.
  • the distribution skewness table 1201 includes a distribution ID (1202), a distribution name 1203, and a skewness 1204.
  • An expected value ⁇ and a variance ⁇ 2 are calculated from the distribution of the input data divided in units of columns, and an expected value of Z 3 is calculated.
  • the distribution name 1203 corresponding to the closest skewness is set as the estimated distribution.
  • Examples of the distribution name 1203 include Laplace distribution, hyperbolic secant distribution, logistic distribution, normal distribution, raised cosine distribution, Wigner semicircle distribution, and uniform distribution.
  • the input data is divided so that the number of data included in each divided section is equal, and the average value and variance value of the input data are calculated.
  • the data can be divided using a method such as dividing based on the average value and the variance value, dividing a value designated by the user as a break, and equally dividing a range of input data.
  • the preprocessing unit 1 (207) is performed after the preprocessing unit 2 (208) is performed.
  • the following effects can be obtained as effects different from those of the first embodiment.
  • a character string / code pattern extraction unit 314 range dividing unit 309
  • a character string label adding unit 315 range range adding unit 3111
  • the data included in the same row of the divided columns of input data is associated, the columns are converted into one label column, and the data converted into the label column is combined in units of columns.
  • Output data can be obtained.
  • the redundancy of information included in the output data can be reduced.
  • the distribution DB 1111 and the distribution parameter input unit 1104 it is possible to perform data conversion by estimating the distribution even when the distribution of the input data is not known in advance.
  • ⁇ Data conversion method> a method of scanning the input data 1001 in the column direction, collecting the columns 1002 and 1003 having the same or similar elements as the constituent elements of the columns, and converting them into the columns 1022 of the output data 1021. explained.
  • the input data 1001 can be scanned in units of rows, and a plurality of rows having the same or similar elements as the constituent elements of the rows can be collected and converted into the rows of the output data 1021. This embodiment will explain this example.
  • the main components in the data conversion apparatus are a data dividing unit 307 that divides input data into units of rows, and selects at least two rows from among the input data divided into units of rows and is included in the same column of those rows.
  • a character string / code pattern extracting unit 314 (range dividing unit 309) that determines whether data corresponds, and a character string label adding unit 315 (value range) that converts those lines into one label line when the determination result corresponds.
  • a label adding unit 311), and a column combining unit 313 for combining data converted into label rows in units of rows.
  • the main configuration of the data conversion apparatus when there is a high correlation is a data dividing unit 1107 that divides input data in units of rows, and selects at least two arbitrary rows of input data divided in units of rows, and selects them.
  • a label adding unit 1112, a column combining unit 1114 for combining data converted into label rows in units of rows, and the like are included.
  • FIG. 14 is a diagram illustrating an example of the relationship between input data and output data when rows are collected.
  • the input data 1601 is scanned in a row direction to search for a row having the same or similar elements included in the row of the input data attribute 1602 and the row of the input data attribute 1603. That is, in the example of FIG. 14, when the row element of the input data attribute 1602 is “NRX”, the row element of the input data attribute 1603 in the same column is “ABC”, and the input data attribute 1602 When the row element is “A2”, two rows are searched for such that the row element of the attribute 1603 of the input data in the same column is “A1”. Then, the searched two rows are combined into one row, and output data 1621 is obtained.
  • the input data attributes 1604 and 1605 are used as output data attributes 1622 and 1623 as they are, and the input data attribute 1602 line and the input data attribute 1603 line are combined into an output data attribute 1624 line.
  • the output data element 1625 is a value obtained by data conversion (corresponding 1631) of the input data elements 1606 and 1608, and the output data element 1626 is a value obtained by data conversion (corresponding 1632) of the input data elements 1607 and 1609. Each is stored.
  • the method of collectively converting a plurality of columns in the input data into one column and outputting the output data as described in the second embodiment, and the above-described method of combining the plurality of rows in the input data 1 It is possible to combine the method of converting to line and outputting to output data. That is, the output data 1621 is regarded as input data, the output data attribute 1622 is regarded as input data attribute, the output data attribute 1623 is regarded as input data attribute, and a plurality of columns are grouped according to the procedure described in the second embodiment. May be converted into one column and output. In this case, in the output data 1641, the column of the input data attribute 1622 and the column of the input data attribute 1623 are collectively set as the attribute 1642 of the output data.
  • the output data element 1644 stores values obtained by data conversion (corresponding 1651) of the input data elements 1625 and 1626. Further, the process of grouping in the row direction and the process of grouping in the column direction may be repeated.
  • the output data may be obtained by a procedure as shown in FIG.
  • FIG. 15 is a diagram illustrating an example of a relationship between input data and output data when rows are collected.
  • input data 1701 attribute 1702 to 1705, elements 1706 to 1709
  • output data 1721 attribute 1722 to 1724, elements 1725 to 1726, element correspondences 1731 to 1732
  • the output data 1721 is regarded as input data
  • the output data attribute 1723 is regarded as an input data attribute
  • the output data attribute 1724 is regarded as an input data attribute
  • a plurality of lines are combined into one line.
  • the input data attribute 1723 line and the input data attribute 1724 line are combined into an output data attribute 1743.
  • the conversion that reduces the number of columns and rows of the output matrix is performed first, and the output data 1021 is output and this may be repeated.
  • the input data is scanned in units of lines, and a plurality of elements having the same or similar elements as the constituent elements of the lines
  • the following effects can be obtained as in the second embodiment.
  • the data conversion device 301 includes a character string / code pattern extraction unit 314 (range dividing unit 309), a character string label adding unit 315 (range label adding unit 311), a column combining unit 313, and the like, thereby dividing the input.
  • a character string / code pattern extraction unit 314 range dividing unit 309
  • a character string label adding unit 315 range label adding unit 3111
  • a column combining unit 313, and the like thereby dividing the input.
  • the rows can be converted into one label row, and the data converted into the label row can be combined in units of rows to obtain output data.
  • the redundancy of information included in the output data can be reduced.
  • the correlation of data included in the same column of the divided input data row is calculated, and this correlation value
  • those lines are converted into one label line, and the data converted into this label line can be combined line by line to obtain output data.
  • a method of collectively converting a plurality of columns in input data into one column and outputting it to output data, and converting a plurality of rows in input data into one row By combining the methods of outputting to the output data, the redundancy of the information included in the output data can be further reduced, and the size of the output data can be suppressed from becoming larger than necessary. It becomes possible.
  • the present invention made by the present inventor has been specifically described based on the embodiment.
  • the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.
  • the above-described embodiment has been described in detail for easy understanding of the present invention, and is not necessarily limited to one having all the configurations described.
  • a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. .
  • Input data 303 ... Output data, 304 ... Distribution parameter input part, 305 ... Division parameter input part, 306 ... Data reading part, 307 ... Data division part, 308 ... Numerical value, character string / code Determining unit, 309 ... range dividing unit, 310 ... distribution DB, 311 ... range label adding unit, 312 ... numerical value distributing unit, 313 ... column coupling unit, 314 ... character string / code pattern extracting unit, 315 ... character string label adding unit 316: Character string sorting unit, 401 ... Input data, 402 to 405 ... Attribute, 406 to 409 ... Sample number, 410 to 413 ... Element, 414 to 420 ...
  • output data 744 to 745 ... output data label, 746 ... input data element, 747 ... output data element, 748 ... correspondence between input data element and output data element, 749 ... input data 750 ... output data element, 751 ... correspondence between input data element and output data element, 752 ... input data element, 753 ... output data element, 754 ... input data element and output data element Correspondence, 801 ... Start, 802 ... Read input data, 803 ... Clear output data, 804 ... Divide input data into columns, 805 ... Initialize variable i, 806 ... Initialize variable j, 807 ... Initialize variable k, 808 ... Element Comparison between Xik and element Xjk, 809...
  • Update value of variable j, 810 Update value of variable k, 811... Comparison of variable k and M, 812.
  • r initialization 815 ... same character string table update, 816 ... same character string table update, 817 ... update value of variable r, 818 ... comparison of variable r and Q, 819 ... join column to output data, 820 ... variable update the value of j, 821... compare the variable j and N, 822 update the value of the variable i, 823... compare the variable i and N-1, 824... write the output data, 825.
  • 901 Same column table, 902 ... Same column ID, 903 ... Column number A, 904 ... Column number B, 905 ... Pointer, 907-909 ...
  • Character string T DESCRIPTION OF SYMBOLS 1101 ... Data converter 1102 ... Input data, 1103 ... Output data, 1104 ... Distribution parameter input part, 1105 ... Division parameter input part, 1106 ... Data reading part, 1107 ... Data division part, 1108 ... Numerical value, character string / code Determination unit, 1109 ... correlation calculation unit, 1110 ... range division unit, 1111 ... distribution DB, 1112 ... range label addition unit, 1113 ... numerical value distribution unit, 1114 ... column combination unit, 1115 ... character string / code pattern extraction unit, 1116 ... Character string label adding unit, 1117 ... Character string sorting unit, 1201 ... Distribution skewness table 1202 ... Distribution ID 1203 ...

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Document Processing Apparatus (AREA)

Abstract

 列毎に、数値、文字列または符号から構成される表形式のデータを入力とするデータ変換装置であって、入力データを列単位に分割する第1の分割部と、この列単位に分割した入力データに含まれる要素が数値、文字列または符号のいずれで構成されるかを判定する第1の判定部と、この判定結果が数値の場合は、数値が取り得る値の範囲を複数の領域に分けて各々ラベルを生成する第1の生成部と、数値がどの領域に対応するかを判定して対応するラベルに振り分ける第1の振り分け部と、前記判定結果が文字列または符号の場合は、列単位に分割した入力データに含まれる要素から重複要素を除去してラベルを生成する第2の生成部と、文字列または符号がどのラベルに対応するかを判定して対応するラベルに振り分ける第2の振り分け部と、これらのラベルに振り分けたデータを列単位で結合する第1の結合部を有する。

Description

データ変換装置およびデータ変換方法ならびにデータ変換プログラム
 本発明は、蓄積されたデータを変換する装置および方法ならびにプログラムに関する。
 本技術分野の背景技術として、例えば特開平5-20276号公報(特許文献1)がある。この公報には、入力されたデータを予め用意したコード変換表を用いて、数字および文字に分類し、0、1、2、3、4、5、6、7、8、9の数字と文字(数字以外)とのデータに判別し、文字の列と文字の列とで区切りを付ける。このことにより、入力データを数字と文字列に分類する手法が開示されている。
 また、例えば特開2009-265905号公報(特許文献2)には、入力された数値データを、数値の大小に応じてif thenルールを用いてカテゴリデータに変換する手法と、if thenルールで用いる閾値変数を学習サンプルから決定する手法が開示されている。
 また、例えば米国特許第5,802,509号公報(特許文献3)には、ラベル付与装置が数値データのそれぞれの値に“小”、“中”、“大”などのラベルを割り当て、数値データをラベルデータに変換する手法が開示されている。
 また、例えば国際公開WO2007/139039号公報(特許文献4)には、入力されたテキストデータの中に、予め用意した辞書に含まれるキーワードと合致する文字列が見つかれば、その文字列を抽出する方法や、テキストデータの形態素解析を行い、固有名詞のうち氏名や地名など文字情報の種類が特定できるものを抽出する方法が開示されている。さらに、抽出したキーワードの種類を表すラベルに変換し、ラベル列内に繰り返し出現するラベルの出現パターンを推定するラベル出現パターン推定方法が開示されている。
特開平5-20276号公報 特開2009-265905号公報 米国特許第5,802,509号公報 国際公開WO2007/139039号公報
Y. Bengio、 "Learning Deep Architectures for AI"、Vol.2、 No. 1、 pp. 1-127、 Foundations and Trends in Machine Learning、 2009. G. E. Hinton、 S. Osindero and Y. Teh、 "A Fast Learning Algorithm for Deep Belief Nets"、NeuralComputation、 Vol. 18、 pp. 1527-1554、 2006.
 近年、ICT(情報通信技術)の発達に伴って、膨大な量のデータが日々生成され、送信されたり、保管されたり、解析されるようになった。そして、このような膨大なデータの集まり、すなわちビッグデータ、を解析することで、犯罪の対策や、企業の経営、病気の予防などに役立てられるようになってきた。ビッグデータとは、具体的には、例えば、物流分野においては荷受情報、在庫情報、POSデータ等、インフラ部門では家庭で使用される電気や水の量、天候、公表データ等である。これらの情報を、計算機を使って解析することで、人の経験や勘に頼って運用してきた経営資源をより適切に分配できるようになりつつある。
 計算機上でのデータの解析手法としては、近年、Deep Learning(非特許文献1)の枠組みに基づく機械学習手法が注目されるようになり、Deep Learningの枠組みを用いて、音声や画像を高精度に認識できるようになりつつある。Deep Learningとは、巨大なニューラルネットワークを用いて、特徴抽出から識別までやってしまう機械学習の一手法である。Deep Learningが対象とするのは、図16に示すような、多層のニューラルネットワークの構造である。図16において、1301は入力層のノード、1302は第1層のノード、1303は第2層のノード、1304は第3層のノード、1305は第4層(出力層)のノード、1306は入力層のノードと第1層のノードの結合、1307は第1層のノードと第2層のノードの結合、1308は第2層のノードと第3層のノードの結合、1309は第3層のノードと第4層(出力層)のノードの結合、をそれぞれ示す。
 いま、k層から構成されるニューラルネットワークを考え、入力データを、x=hとして、k番目の層が、hk-1の値を元に、出力hの値を出力するとする。すなわち、h=f(b+Wk-1)とする。ここで、bとWはパラメータであり、確率的勾配降下法などの学習アルゴリズムによって決める。また、f(●)は、何らかの非線形性を持つ関数が用いられ、例えばh=tanh(b+Wk-1)が使われる。
 このような構成を持つニューラルネットワークの学習は、以前から行われてきたが、層の数kが大きくなるにつれ、そのニューラルネットワークはより深い(Deep)データ構造を表現できるようになるものの、ニューラルネットワークの学習、すなわち、パラメータbとWの推定は、局所解に陥り、必ずしも正しい値が推定できないことが分かっていた。
 しかしながら、2000年代以降になって、隣接する2つの層の組を使って、第1層から第k層まで順にプレトレーニング(非特許文献2)を行うことによって、この局所解の問題を解決する手法が提案された。このことにより、Deep Learningで扱う、多層のニューラルネットワークを用いた機械学習が現実的になった。
 Deep Learningの入力データの次元数は、原理上いくらでも大きくすることができるため、大規模なデータを扱いやすいという利点がある。
 また、Deep Learningは、教師付き学習をしたり、ネットワークの出力ノードに別の識別器を結合したりすることで、パターン認識器として使うこともできる。あるいは、教師なし学習をすることで、特徴抽出器として使うこともできる。したがって、特に後者のように、データから特徴抽出法を機械で学習するので、事前知識に基づいて専門家が特徴抽出法を作り込む必要がなく、ビックデータの解析に適している。
 図17は、Deep Learningを含む、機械学習の構成を示す図である。学習サンプルDB(データベース)101には、例えば学習サンプル102が多数格納されている。学習サンプルとは、画像データであったり、音声データであったり、テキストデータであったり、計算機上で表現可能なものであれば、形式は問わない。この学習サンプルは、一般的には計算機上ではベクトル形式の入力データ103で表現され、機械学習部104へと渡される。機械学習部104では、入力データ103を解析し、例えばパターン認識や相関分析などを行う。これにより、学習結果105が得られる。
 ところが、業務ビッグデータには、画像だけのデータや音声だけのデータとは異なり、ヘテロなデータ(定量/定性、連続/離散、ベクトル/時系列などの異なる種類のデータが混在したデータ)から構成されており、Deep Learningをそのままビッグデータの解析に適用することができない。この課題を、図17を用いて説明する。すなわち、ヘテロなデータの場合には、学習サンプルDB106には、学習サンプル107,108,109が含まれる。例えば、学習サンプル107は画像データ、学習サンプル108は音声データ、学習サンプル109はテキストデータで表現されるとする。すると、入力データ110は、そのある部分は画像の画素値(x11、x21、x31、…)が、またある部分は音声データ(y1、y2、y3、…)が、さらにある部分はテキストデータ(s1、s2、s3、…)が含まれる。すなわち、入力データ110には、数値や文字列、符号など、異質なデータが含まれることが考えられる。
 このように異質なデータをそのまま機械学習部111に入力すると、データの値の大きなものに影響を受け、学習結果112が得られることが考えられる。例えば、画像データの画素値は0、1、2、…、255であり、音声データは-10から+10、テキストデータは、A、B、…、Zに対応するASCIIコードで表現されているとする。すると、負の値を持つデータは、音声データだけであり、また、テキストデータの取り得る値の範囲は、画像データの取り得る値の範囲よりも狭い。したがって、負のデータについては、音声のみから学習することになり、テキストデータは画像データに埋もれてしまい、適切に機械学習が行われない可能性があることを示している。
 従来は、これらの変換作業を人手で行っていた。すなわち、データの多様性を自動的に吸収することが課題であった。以下、ヘテロなデータを公知の技術では、どのようにして扱っていたか述べる。
 特許文献1に記載の方法は、数字と文字列で構成されるバイナリ形式の入力データを、数字と文字列の境界を検出して、数字と文字列に分割する方法である。したがって、分割後のデータは、数値と文字列が混在した形で表現されるため、このデータを機械学習の学習サンプルとすることが難しいという問題があった。
 特許文献2には、数値データをカテゴリデータに変換するための方法、および、変換の際の閾値を学習サンプルから決定する方法が開示されている。数値データの例として、店舗内の人の座標(X座標、Y座標)を挙げ、この数値を場所の名前を表現するカテゴリ名(A商品エリア、B商品エリア等)に変換する例が示されている。しかしながら、変換後のデータは文字列形式で表現されるため、データ同士の大小関係や順位の情報は失われ、機械学習で扱うことは困難である、という問題があった。
 特許文献3には、複数のサンプルデータに含まれるデータ間の関係を表す、if then形式のルールを生成したり、if then形式のルールの閾値を決定したりする方法が開示されている。しかしながら、この手法も入力データを、大、中、小などのラベルデータに変換するため、データ同士の大小関係や順位の情報は失われ、また、他の数値データと組み合わせて機械学習で扱うことは困難である、という問題があった。
 特許文献4には、入力されたデータから文字列を抽出し、抽出した各文字列を、文字列の分類を表すラベル列に変換する手法が開示されている。変換には、予め登録しておいたキーワードを用いる方法、正規表現や電話番号等の特定の表記規則を用いる方法が開示されている。そして、種類別のラベルに置き換え、隣り合うラベルが同じラベルであった場合に、それらを1つに纏めて、2つ以上の同じ種類のラベルが連続しないラベル列を作る方法が開示されている。この手法も、ラベルに変換するのみなので、データ同士の大小関係や順位の情報は失われ、他の数値データと組み合わせて機械学習を行うことは難しい、という問題があった。
 そこで、本発明は、このような問題点を解決するためになされたものであり、この発明の代表的な目的は、ヘテロ性を持つデータを使って機械学習を行う技術を提供することである。ここで、ヘテロ性を持つデータとは、異なる種類のデータが混在したデータである。この異なる種類のデータとは、画像データ、音声データ、テキストデータ、などの組で表現されるデータである。
 本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
 本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
 すなわち、代表的なデータ変換装置は、列毎に、数値、文字列または符号から構成される表形式のデータを入力とするデータ変換装置である。前記データ変換装置は、入力データを列単位に分割する第1の分割部と、前記第1の分割部で列単位に分割した入力データに含まれる要素が数値、文字列または符号のいずれで構成されるかを判定する第1の判定部と、を有する。さらに、前記第1の判定部の判定結果が数値の場合は、前記数値が取り得る値の範囲を複数の領域に分けて各々ラベルを生成する第1の生成部と、前記数値がどの領域に対応するかを判定して対応するラベルに振り分ける第1の振り分け部と、を有する。また、前記第1の判定部の判定結果が文字列または符号の場合は、列単位に分割した入力データに含まれる要素から重複要素を除去してラベルを生成する第2の生成部と、前記文字列または符号がどのラベルに対応するかを判定して対応するラベルに振り分ける第2の振り分け部と、を有する。そして、前記第1の振り分け部および前記第2の振り分け部でラベルに振り分けたデータを列単位で結合する第1の結合部を有する。
 より好ましくは、前記データ変換装置は、前記第1の分割部の前段に接続され、前記入力データを列単位に分割する第2の分割部と、前記第2の分割部で列単位に分割した入力データのうち任意の少なくとも2つの列を選択し、それらの列の同一行に含まれるデータが対応付くかを判定する第2の判定部と、を有する。さらに、前記第2の判定部の判定結果が対応付く場合は、それらの列を1つのラベル列に変換する第1の変換部と、前記第1の変換部でラベル列に変換したデータを列単位で結合する第2の結合部と、を有する。そして、前記第2の結合部の出力側は前記第1の分割部の入力側に接続される。
 さらに、前記データ変換装置と同様の主旨に基づいたデータ変換方法やデータ変換プログラムにも適用するものである。
 本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
 すなわち、代表的な効果は、ヘテロ性を持つ入力データを変換し、計算機で自動処理しやすくすることができる。この結果、ヘテロ性を持つデータを使って機械学習を行うことが可能となる。
本発明の実施の形態において、データ変換装置の位置付けの一例を説明する図である。 本発明の実施の形態1におけるデータ変換装置の構成の一例を示す図である。 本発明の実施の形態1において、入力データと出力データの構成の一例を示す図である。 本発明の実施の形態1において、データ変換装置のハードウェア構成の一例を示す図である。 本発明の実施の形態1において、データ変換方法の処理の一例を説明するフローチャートである。 本発明の実施の形態1において、入力データと出力データの関係の一例を示す図である。 本発明の実施の形態2において、データ変換方法の処理の一例を説明するフローチャートである。 本発明の実施の形態2において、同一列テーブルと同一文字列テーブルの一例を示す図である。 本発明の実施の形態2において、入力データと出力データの関係の一例を示す図である。 本発明の実施の形態2において、高い相関を持つ列を纏める場合のデータ変換装置の構成の一例を示す図である。 本発明の実施の形態2において、相関値の高低の一例を説明する図である。 本発明の実施の形態2において、入力データと出力データの関係の一例を示す図である。 本発明の実施の形態2において、分布歪度テーブルの一例を説明する図である。 本発明の実施の形態3において、行を纏める場合の入力データと出力データの関係の一例を示す図である。 本発明の実施の形態3において、列を纏める場合の入力データと出力データの関係の一例を示す図である。 Deep Learningで用いられる、多層のニューラルネットワークの構造を示す図である。 Deep Learningを含む、機械学習の構成を示す図である。
 以下の実施の形態においては、便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
 さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
 [実施の形態の概要]
 まず、実施の形態の概要について説明する。本実施の形態の概要では、一例として、括弧内に実施の形態の対応する構成要素、符号等を付して説明する。
 すなわち、本実施の形態の代表的なデータ変換装置は、列毎に、数値、文字列または符号から構成される表形式のデータを入力とするデータ変換装置である。前記データ変換装置は、入力データを列単位に分割する第1の分割部(データ分割部307)と、前記第1の分割部で列単位に分割した入力データに含まれる要素が数値、文字列または符号のいずれで構成されるかを判定する第1の判定部(数値・文字列/符号判定部308)と、を有する。さらに、前記第1の判定部の判定結果が数値の場合は、前記数値が取り得る値の範囲を複数の領域に分けて各々ラベルを生成する第1の生成部(値域分割部309、値域ラベル追加部311)と、前記数値がどの領域に対応するかを判定して対応するラベルに振り分ける第1の振り分け部(数値振り分け部312)と、を有する。また、前記第1の判定部の判定結果が文字列または符号の場合は、列単位に分割した入力データに含まれる要素から重複要素を除去してラベルを生成する第2の生成部(文字列/符号パターン抽出部314、文字列ラベル追加部315)と、前記文字列または符号がどのラベルに対応するかを判定して対応するラベルに振り分ける第2の振り分け部(文字列振り分け部316)と、を有する。そして、前記第1の振り分け部および前記第2の振り分け部でラベルに振り分けたデータを列単位で結合する第1の結合部(列結合部313)を有する。
 より好ましくは、前記データ変換装置は、前記第1の分割部の前段に接続され、前記入力データを列単位に分割する第2の分割部(データ分割部307)と、前記第2の分割部で列単位に分割した入力データのうち任意の少なくとも2つの列を選択し、それらの列の同一行に含まれるデータが対応付くかを判定する第2の判定部(文字列/符号パターン抽出部314、値域分割部309)と、を有する。さらに、前記第2の判定部の判定結果が対応付く場合は、それらの列を1つのラベル列に変換する第1の変換部(文字列ラベル追加部315、値域ラベル追加部311)と、前記第1の変換部でラベル列に変換したデータを列単位で結合する第2の結合部(列結合部313)と、を有する。そして、前記第2の結合部の出力側は前記第1の分割部の入力側に接続される。
 さらに、前記データ変換装置と同様の主旨に基づいたデータ変換方法やデータ変換プログラムにも適用するものである。
 以下、上述した実施の形態の概要に基づいた各実施の形態を図面に基づいて詳細に説明する。なお、各実施の形態を説明するための全図において、同一機能を有するものは原則として同一の符号を付し、その繰り返しの説明は省略する。
 [実施の形態の共通内容]
 本実施の形態の共通内容として、図1を用いて説明する。図1は、本実施の形態において、データ変換装置の位置付けの一例を説明する図である。
 学習サンプルDB201には、学習サンプル202、学習サンプル203、学習サンプル204、…が格納されている。例えば、学習サンプル202は画像データ、学習サンプル203は音声データ、学習サンプル204はテキストデータであり、異質なデータが格納されている。これらを纏めたものが入力データ205であり、機械学習部210を経て、学習結果211を得る。前述した図17の右側の図と異なるのは、入力データ205が機械学習部210に入力される前に、データ変換装置として機能するデータ変換部206が追加されていることである。図1では、3種類の学習サンプルの例が示してあるが、データの種類は3に限定されない。
 データ変換部206は、さらに、前処理部1(207)と、前処理部2(208)とから構成される。そして、入力データ205を、前処理部2(208)を経由せずに直接、前処理部1(207)で処理する構成(入力データの流れ209)と、入力データ205を前処理部2(208)で処理した後に、前処理部1(207)で処理する構成とが説明されている。以下では、前者を実施の形態1で説明し、後者を実施の形態2で説明する。
 [実施の形態1]
 本実施の形態1におけるデータ変換装置およびデータ変換方法ならびにデータ変換プログラムについて、図2~図6を用いて説明する。
 本実施の形態では、データ変換を行うデータ変換装置(図1の前処理部1(207)に相当)、このデータ変換装置によるデータ変換方法、さらにデータ変換プログラムの例を説明する。
 <データ変換装置>
 図2は、本実施の形態におけるデータ変換装置の構成の一例を示す図である。
 データ変換装置301は、入力データ302を入力すると、内部でデータの変換を行い、出力データ303を出力する。データ変換装置301は、データ読み込み部306、データ分割部307、数値・文字列/符号判定部308、値域分割部309、分布DB310、値域ラベル追加部311、数値振り分け部312、列結合部313、文字列/符号パターン抽出部314、文字列ラベル追加部315、文字列振り分け部316を有する。分布DB310には分布パラメータ入力部304が、値域分割部309には分割パラメータ入力部305がそれぞれ接続されている。
 まず、データ読み込み部306で入力データ302を読み込み、データ分割部307に送る。データ分割部307は、入力データを列単位に分割し、数値・文字列/符号判定部308に送る。数値・文字列/符号判定部308で、数値であるか文字列/符号であるかの判定を行い、数値と判定されたデータは、値域分割部309に送られる。数値と符号の判定には、アラビア数字や数値を表す記号(-(マイナス符号)、+(プラス符号)、i(虚数を示す符号)、.(小数点)、√(平方根)等)、文字が含まれているかどうかで、数値と符号を分ける方法を用いることができる。また、後述する、入力データと分布関数とを比較して、分布関数に近い場合は数値と判定する方法を用いることができる。
 値域分割部309では、分布DB310を参照し、複数の値域に分割する。分布DB310には、典型的な分布関数、すなわち、正規分布、ラプラス分布、ロジスティック分布などの分布形状を表現するパラメータが格納されている。分布形状のパラメータを入力するために、分布パラメータ入力部304が設けられている。分布パラメータとは、正規分布の場合は、平均値μと分散値σのことである。ポアソン分布の場合は、所定の区間で発生する事象の期待発生回数λである。また、いくつに分割するか等のパラメータは、分割パラメータ入力部305で入力する。具体的には、入力データが分割区間毎に含まれるデータ数が等しくなるように分割を行う、入力データの平均値と分散値を計算し、その平均値と分散値に基づいて分割を行う、ユーザが指定した値を区切り目として分割する、入力データの値域を等分割する、などの方法を採ることができる。
 続いて、値域ラベル追加部311では、値域ラベルを出力データに追加する。値域ラベルを追加する手順については、後述する。そして、数値振り分け部312では、入力データを該当する値域ラベルに割り振り、列結合部313に送る。列結合部313は、列単位で処理されたデータを横方向に結合し、出力データ303として出力する。
 また、数値・文字列/符号判定部308にて、文字列/符号と判定された入力データは、文字列/符号パターン抽出部314に送られる。文字列/符号パターン抽出部314では、入力データを縦方向に走査し、同じ表記の文字列/符号パターンを抽出する。さらに、文字列ラベル追加部315では、文字列/符号パターン抽出部314で抽出した文字列/符号パターンを出力データに追加する。この処理は後述する。そして、文字列振り分け部316では、入力データを該当する文字列/符号パターンに対応付け、列結合部313に送る。列結合部313では、列単位で処理されたデータを横方向に結合し、出力データ303として出力する。
 <入力データと出力データ>
 図3は、入力データと出力データの構成の一例を示す図である。
 学習サンプルから入力される入力データは、一般的に入力データ401のような表形式で表現される。1行が1つの学習サンプルを表わしており、それを縦方向にサンプルの数だけ並べた形になっている。この例では、サンプル1(406)、サンプル2(407)、サンプル3(408)、…、サンプルM(409)と、M個のサンプルから構成されている。また、横方向には、属性1(402)、属性2(402)、属性3(403)、…、属性N(405)とあり、各サンプルに対してN個の属性が付けられている。そして、属性1(402)の属性を持つ1つ目のサンプル(406)の要素X11(410)、属性2(403)の属性を持つ1つ目のサンプル(406)の要素X21(411)、属性3(404)の属性を持つ1つ目のサンプル(406)の要素X31(412)、…、属性N(405)の属性を持つ1つ目のサンプル(406)の要素XN1(413)が格納されている。2つ目のサンプル(407)、3つ目のサンプル(408)、…、M個目のサンプル(409)についても同様である。
 入力データを、本実施の形態のデータ変換装置で変換して得られた出力データは、一般的に出力データ421のような表形式で表現される。1行が1つの学習サンプルを表しており、それを縦方向にサンプルの数だけ並べた形になっている。入力データの1行のデータが、出力データの1行に対応している。すなわち、出力データ421にも、サンプル1(426)、サンプル2(427)、サンプル3(428)、…、サンプルM(429)と、M個のサンプルから構成されており、各々の行は、入力データの各々の行に対応している。出力データ421には、横方向に、ラベル1(422)、ラベル2(423)、ラベル3(424)、…ラベルN’(425)とあり、各サンプルに対して、N’個のラベルが付けられている。そして、ラベル1(422)のラベルを持つ1つ目のサンプル(426)の要素Y11(430)、ラベル2(423)のラベルを持つ1つ目のサンプル(426)の要素Y21(431)、ラベル3(424)のラベルを持つ1つ目のサンプル(426)の要素Y31(432)、…、ラベルN’(425)のラベルを持つ1つ目のサンプル(426)の要素YN’1(433)が格納されている。2つ目のサンプル(427)、3つ目のサンプル(428)、…、M個目のサンプル(429)についても同様である。なお、出力データ421の1行目はラベルが格納されており、表構造になっているので、この出力データのことをラベルテーブルとも呼ぶ。
 また、上記の例では、ラベルが格納されているのは1行目だけであるが、類似した属性を持つラベルを1つのグループにした、出力データ’441のような2階層のラベル構成を採ることも可能である。すなわち、サンプル1(449)、サンプル2(450)、サンプル3(451)、…、サンプルM(452)のM個のサンプル構成において、ラベル1(445)、ラベル2(446)は、グループ1(442)に属し、ラベル3(447)はグループ2(443)に属し、ラベルN’(448)はグループN”(444)に属する。さらには、グループを纏め、3階層以上のラベルを持つ構成にすることも可能である。
 <データ変換装置のハードウェア構成>
 図4は、データ変換装置のハードウェア構成の一例を示す図である。
 データ変換装置のハードウェア構成は、コンピュータシステム(計算機)を用いて実現され、少なくとも1組のCPU501と、RAM502、キーボード503、表示装置504、プリンタ505、マウス506、バス507、DB509、ネットワーク508から構成される。RAM502は、データ変換に関するコンピュータソフトウェアを格納する。キーボード503は、ユーザの入力によりCPU501を操作する。表示装置504は、入力データや出力データ、データ変換の処理の過程をユーザに示す。プリンタ505は、入力データや出力データ、データ変換の処理の過程を紙に印刷する。マウス506は、ユーザの入力によりCPU501を操作する。バス507は、各々の間のデータを通信するために接続する。DB509は、学習サンプルDBが格納されている。ネットワーク508は、バス507とDB509を繋ぐ。また、DB509には、学習サンプルDBだけではなく、データ変換結果や、データ変換の処理過程を格納する構成にしてもよい。
 このデータ変換装置のハードウェア構成において、RAM502に格納されているデータ変換に関するコンピュータソフトウェアのプログラム(データ変換プログラム)をCPU501上で実行することにより、図2に示すようなソフトウェアによる各機能部(データ読み込み部306、データ分割部307、数値・文字列/符号判定部308、値域分割部309、分布DB310、値域ラベル追加部311、数値振り分け部312、列結合部313、文字列/符号パターン抽出部314、文字列ラベル追加部315、文字列振り分け部316)を実現することができる。
 <データ変換方法>
 図5は、データ変換方法の処理の一例を説明するフローチャートである。図6は、入力データと出力データの関係の一例を示す図である。これらの図を用いて、データ変換方法における処理の流れを説明する。このデータ変換方法における処理は、データ変換プログラムの実行により自動で行われる。
 図6に示すように、入力データ701は、複数の行・列から構成されるデータであり、入力データの属性702には“温度”という属性が付けられている。サンプル1の温度は16、サンプル2の温度は80、サンプル3の温度は50となり、合計M個のサンプルが格納されている。一方、出力データ703には、ラベル704に“温度L”、ラベル705に“温度M”、ラベル706に“温度H”というラベルが付けられている。出力データの要素708には入力データの要素707が対応(709)し、出力データの要素711には入力データの要素710が対応(712)し、出力データの要素714には入力データの要素713が対応(715)し、データ変換装置301を使って、各々変換された結果が格納されている。
 以下では、図5に基づいて、データ変換装置301が、入力データ701から出力データ703を生成する過程について説明する。前処理部1(207)は、ステップ601の開始に続いて、ステップ602で、データ読み込み部306が、入力データ701をRAM502に読み込む。次に、ステップ603では、出力データ421をクリアする。すなわち、表形式のデータをRAM502上に用意し、行数=0、列数=0とする。次に、ステップ604では、データ分割部307が、入力データを列単位に分割する。すなわち、入力データ401を、402、403、404、…、405に分割する。そして、分割した列の数を変数Nに、1つの列の長さ(=入力データの個数、行数)を変数Mに代入する。次に、ステップ605では、変数iを1で初期化する。
 続いて、ステップ606では、数値・文字列/符号判定部308が、列に分割した入力データのi番目の列を走査し、当該列に含まれる要素が全て数値から構成される列であるか、あるいは、文字列または符号で構成される列であるかを判定する。全ての要素が数値で構成される場合は、ステップ609にて、値域分割部309が、いくつかの値域に分割する。これは、数値の値が取り得る範囲(定義域)を所定の位置で区切っていくつかの区間に分割する。そして、ステップ610で、値域ラベル追加部311が、分割された各々の区間にラベルを割り当てて、元の数値データをその数値データが含まれる区間に対応するラベルデータに変換するようにする。
 具体的な区間の分割方法としては、各区間に含まれる要素の数が等しくなるように、定義域の分割を行う方法が挙げられる。また、定義域を等分割するように分割してもよい。また、列に分割した入力データの平均値と分散値を求め、その平均値と分散値に基づいて区間の分割を行うようにしてもよい。また、ユーザによって指示された位置で定義域の分割を行うようにしてもよい。ユーザによって分割位置を指定させる場合は、分割した列に含まれる要素の頻度分布を求め、表示装置504に頻度分布を表示し、マウス506やキーボード503を使って、ユーザが分割位置を指示できるようにするとよい。
 図6を用いて、上記の手順を説明する。まず、入力データ701で属性702の“温度”が付いている列が抽出されたとする。この列に含まれる要素は、“16”、“80”、“50”、…であり、全て数値で構成されている。したがって、次に値域分割を行う。ここでは、予め、要素をXとすると、0≦X<33、33≦X<66、66≦X≦100の3区間に分割するようユーザから指示されているとし、また、各々の区間は“温度L”、“温度M”、“温度H”というラベル付けがユーザから指示されているとする。したがって、“16”は“温度L”に、“80”は“温度H”に、“50”は“温度M”に対応する区間に含まれることになる。次に、“温度L”(704)、“温度M”(705)、“温度L”(706)の3つのラベル列を生成する。そして、各区間に対応するラベルを持つ列の、対応するサンプルのところ(対応する行)に、1を書き込み、それ以外の列には0を書き込む(708)。同様の処理を、2サンプル目、3サンプル目、…、Mサンプルと行う。すなわち、入力データ701の要素707は出力データ703の要素708に変換(対応709)され、入力データ701の要素710は出力データ703の要素711に変換(対応712)され、入力データ701の要素713は出力データ703の要素714に変換(対応715)される。
 また、図5に戻り、数値か文字列/符号かの判定(ステップ606)の結果、文字列/符号であると判定された場合は、ステップ607で、文字列/符号パターン抽出部314が、列に分割した要素から重複要素を取り除き、ステップ608で、文字列ラベル追加部315がラベルを生成する。図6を用いて、この手順を説明する。まず、入力データ721で属性722の“作業者”が付いている列が抽出されたとする。この列に含まれる要素は、“鈴木”、“田中”、“鈴木”であり、全て文字列で構成されている。したがって、次に、重複要素を取り除き、“鈴木”、“田中”のラベルが生成されることになる。次に、“作業者=鈴木”(724)、“作業者=田中”(725)の2つのラベルが付いた列を生成する。そして、各ラベルに対応する列の、対応するサンプルのところ(対応する行)に、1を書き込み、それ以外の列には0を書き込む(727)。同様の処理を、2サンプル目、3サンプル目、…、Mサンプルと行う。すなわち、入力データ721の要素726は出力データ723の要素727に変換(対応728)され、入力データ721の要素729は出力データ723の要素730に変換(対応731)され、入力データ721の要素732は出力データ723の要素733に変換(対応734)される。
 分割した列データに含まれる要素が符号の場合も、文字列の場合と同様の処理を行う。すなわち、入力データ741(属性742)の列データの要素を走査し、重複要素を取り除き、ラベル列を生成し、出力データ743(ラベル744、ラベル745)とする。入力データ741の要素746が出力データ743の要素747に変換(対応748)され、入力データ741の要素749が出力データ743の要素750に変換(対応751)され、入力データ741の要素752が出力データ743の要素753に変換(対応754)される。
 次に、図5に戻り、ステップ611で、数値振り分け部312、文字列振り分け部316が、入力データから抽出する列の番号iを1つ増やし、そして、ステップ612で、iの値が入力データ701の列数N以下かを判定する。iの値が入力データ701の列数N以下の場合は、再度、ステップ606からの処理を繰り返す。この繰り返しにより、入力データ701に含まれる全てのデータが、列単位で出力データ703に変換される。次に、ステップ613で、列結合部313が、このようにして生成したラベル列を横方向に順次結合し、出力データとする。最後に、ステップ614で、この出力データをDB509へ書き出す。これにより、終了となる(ステップ615)。
 なお、ここでは、ステップ608および610ではラベル列を生成し、ステップ613で出力データにラベル列を結合する構成を説明したが、ラベル列を生成すると同時に、出力データにラベル列を結合して、出力データを横方向にラベルの数だけ拡張するような構成にしてもよい。
 <実施の形態1の効果>
 以上のように、本実施の形態におけるデータ変換装置およびデータ変換方法ならびにデータ変換プログラムによれば、前処理部1(207)のデータ変換装置301として、データ読み込み部306、データ分割部307、数値・文字列/符号判定部308、値域分割部309、分布DB310、値域ラベル追加部311、数値振り分け部312、列結合部313、文字列/符号パターン抽出部314、文字列ラベル追加部315、文字列振り分け部316などを有することで、画像データ、音声データ、テキストデータなどの異なる種類のデータが混在したヘテロ性を持つ入力データを変換し、コンピュータで自動処理しやすくすることができる。この結果、ヘテロ性を持つデータを使って機械学習を行うことが可能となる。より詳細には、以下のような効果を得ることができる。
 例えば、データ分割部307、数値・文字列/符号判定部308を有することで、入力データを列単位に分割し、この列単位に分割した入力データに含まれる要素が数値、文字列または符号のいずれで構成されるかを判定することができる。さらに、値域分割部309、値域ラベル追加部311、数値振り分け部312を有することで、判定結果が数値の場合は、この数値が取り得る値の範囲を複数の領域に分けて各々ラベルを生成し、数値がどの領域に対応するかを判定して対応するラベルに振り分けることができる。また、文字列/符号パターン抽出部314、文字列ラベル追加部315、文字列振り分け部316を有することで、判定結果が文字列または符号の場合は、列単位に分割した入力データに含まれる要素から重複要素を除去してラベルを生成し、文字列または符号がどのラベルに対応するかを判定して対応するラベルに振り分けることができる。そして、列結合部313を有することで、各々ラベルに振り分けたデータを列単位で結合して出力データを得ることができる。また、分布DB310を有することで、値域分割部309は、数値が取り得る値の範囲を複数の領域に分ける場合に分布DB310を参照することができる。
 [実施の形態2]
 本実施の形態2におけるデータ変換装置およびデータ変換方法ならびにデータ変換プログラムについて、図7~図13を用いて説明する。
 本実施の形態におけるデータ変換装置では、データ変換部206の構成として、前処理部2(208)を行った後、前処理部1(207)を行う構成について説明する。前処理部1(207)の構成は前記実施の形態1と同一であるので、ここでは前処理部2(208)についてのみ説明する。すなわち、前処理部2(208)は、入力データ205を入力とし、前処理部1(207)の入力データを出力する。前処理部1(207)の出力データが、機械学習部210の入力データとなる。
 <データ変換方法>
 図7は、データ変換方法の処理の一例を説明するフローチャートである。図8は、同一列テーブルと同一文字列テーブルの一例を示す図である。図9は、入力データと出力データの関係の一例を示す図である。これらの図を用いて、データ変換方法における処理の流れを説明する。
 図8には、同一列テーブル901と同一文字列テーブル907,908,909が示されている。同一列テーブル901は、同一列ID(902)、列番号A(903)、列番号B(904)、同一文字列テーブルへのポインタ(905)から構成されている。同一文字列テーブル907,908,909は、同一文字列ID(913)、文字列S(914)、文字列T(915)から構成されている。同一列テーブル901の同一列ID(902)の1において、列番号A(903)の1行目の“3”と、列番号(904)の1行目の“6”は、入力データ1001に含まれるp行目3列目の要素と、p行目6列目の要素は1対1で対応していることを意味している。ただし、1≦p≦Mであり、Mは入力データの行数である。そして、ポインタ905の関連付けリンク910により、対応する文字列が同一文字列テーブル907に格納されている。すなわち、ある行の3列目の要素に格納された文字列が、文字列S(914)に書き込まれ、同じ行の6列目の要素に格納された文字列が、文字列T(915)に格納されている。同様に、同一列テーブル901の同一列ID(902)の2については、ポインタ905の関連付けリンク911により、対応する文字列が同一文字列テーブル908に格納されている。同一列テーブル901の同一列ID(902)の3については、ポインタ905の関連付けリンク912により、対応する文字列が同一文字列テーブル909に格納されている。なお、ここでは、同一の文字列としたが、文字列でなくても、数値や符号でもよい。
 図9に示した入力データ1001は、複数の行・列から構成されるデータであり、入力データの属性1002には“名称”という属性が、属性1003には“ID”という属性が、それぞれ付けられている。サンプル1の“名称”は“ABC”、サンプル2の“名称”は“NRX”、サンプル3の“名称”は“ABC”、サンプル4の“名称”は“XYX”、サンプル5の“名称”は“NRX”となっている。また、サンプル1の“ID”は“A1”、サンプル2の“ID”は“A2”、サンプル3の“ID”は“A1”、サンプル4の“ID”は“B3”、サンプル5の“ID”は“A2”となっている。合計M個のサンプルが格納されている。一方、出力データ1021には、ラベル1022“名称”がある。出力データの要素1023は、入力データの要素1004と要素1009が、後述するデータ変換処理にて変換(対応1031)された値が格納されている。同様に、出力データの要素1024は入力データの要素1005と要素1010をデータ変換(対応1032)した値が、出力データの要素1025は入力データの要素1006と要素1011をデータ変換(対応1033)した値が、出力データの要素1026は入力データの要素1007と要素1012をデータ変換(対応1034)した値が、出力データの要素1027は入力データの要素1008と要素1013をデータ変換(対応1035)した値が、それぞれ格納されている。
 また、同一列テーブル1041は、同一列ID(1042)、列番号A(1043)、列番号B(1044)、ポインタ(1045)から構成され、入力データ1001の3列目と6列目が対応付いていることを示している。また、ポインタ1045は、同一文字列テーブル1051を指示しており、入力データ1001の3列目と6列目で対応付いている文字列の組が格納されている。すなわち、同一文字列テーブル1051は、文字列S(1052)、文字列T(1053)から構成され、入力データ1001の3列目のある行にABCという文字列があれば、入力データ1001の6列目の同一行には必ずA1という文字列が存在することを示している。同様に、入力データ1001の3列目のある行にNRXという文字列があれば、入力データ1001の6列目の同一行には必ずA2という文字列があり、入力データ1001の3列目のある行にXYXという文字列があれば、入力データ1001の6列目の同一行には必ずB3という文字列がある、ということを示している。
 以下では、図8の同一列テーブル901および同一文字列テーブル907,908,909、図9の入力データ1001および出力データ1021、を用いて、図7に示した処理の流れにしたがって、データ変換の流れを説明する。
 前処理部2(208)の構成は、前処理部1(207)と同じように、図2の構成を用いることができる。前処理部2(208)のデータ変換装置301における主な構成は、入力データを列単位に分割するデータ分割部307、列単位に分割した入力データのうち任意の少なくとも2つの列を選択し、それらの列の同一行に含まれるデータが対応付くかを判定する文字列/符号パターン抽出部314(値域分割部309)、判定結果が対応付く場合は、それらの列を1つのラベル列に変換する文字列ラベル追加部315(値域ラベル追加部311)、ラベル列に変換したデータを列単位で結合する列結合部313などを有する。
 以下では、データ変換装置301が、入力データ1001から出力データ1021を生成する過程について説明する。前処理部2(208)は、ステップ801の開始に続いて、ステップ802で、入力データ1001をRAM502に読み込む。次に、ステップ803では、出力データ1021をクリアする。すなわち、表形式のデータをRAM502上に用意し、行数=0、列数=0とする。次に、ステップ804では、入力データを列単位に分割する。そして、分割した列の数を変数Nに、1つの列の長さ(=入力データの個数、行数)を変数Mに代入する。次に、変数iを1で初期化する(ステップ805)。次に、変数jをi+1で初期化する(ステップ806)。次に、変数kを1で初期化する(ステップ807)。
 次に、ステップ808で、入力データ1001のk行i列目の要素と、k行j列目の要素とを比較して同一かを判定し、異なれば、変数jの値を1つ増やし(ステップ809)、ステップ807の前に戻る。もし、k行i列目の要素と、k行j列目の要素とが同一であれば、kの値を1つ増やす(ステップ810)。そして、ステップ811で、kの値がM以上かを判定し、kの値がM以上であれば、ステップ812に移行し、kの値がM未満であれば、ステップ808の前に戻る。ステップ812では、同一列テーブル901に1行を追加し、i、jの組を列番号A(903)、列番号B(904)にそれぞれ登録する。
 次に、ステップ813で、i列目に含まれる全要素からユニークな要素を抽出し、集合Pに代入する。また、集合Pに含まれる要素の数をQとする。次に、変数rを1で初期化する(ステップ814)。そして、集合Pのr番目の要素を同一文字列テーブル907の文字列S(914)に格納する(ステップ815)。さらに、集合Pのr番目の要素を入力データ1001のi列目の要素から探し、見つかった行のj番目の列の要素を、同一文字列テーブル907の文字列T(915)に格納する(ステップ816)。
 次に、変数rの値を1つ増やし(ステップ817)、ステップ818で、変数rの値がQよりも大きいかを判定し、変数rの値がQよりも大きい場合は、ステップ819に移行し、そうでない場合は、ステップ815の直前に移行する。次に、出力データにi番目の列を結合し(ステップ819)、jの値を1増やす(ステップ820)。そして、ステップ821で、jの値がN以上かを判定し、jの値がN以上の場合はステップ822に移行し、そうでない場合はステップ807の直前に移行する。
 次に、変数iの値を1つ増やし(ステップ822)、ステップ823で、変数iの値がN-1以上かを判定し、変数iの値がN-1以上の場合は、ステップ824に移行する。そうでない場合は、ステップ806の直前に移行する。最後に、出力データを書き出す(ステップ824)。これにより、終了となる(ステップ825)。
 このような手順にて入力データを変換することにより、出力データに含まれる情報の冗長性を低くすることができる。また、出力データのサイズが必要以上に大きくなることを抑制することができる。
 <高い相関を持つ列を纏める場合>
 上記の説明では、複数の列の同一行に含まれる要素同士が完全に対応付く場合について説明したが、ある2つ以上の列を選択したときに、それらの列の要素を構成要素とするベクトルデータ同士が高い相関を持つ場合に、それらの列を1つの列に変換するようにしてもよい。
 図10は、高い相関を持つ列を纏める場合のデータ変換装置の構成の一例を示す図である。図10に示すデータ変換装置1101は、入力データ1102を入力すると、内部でデータの変換を行い、出力データ1103を出力する。データ変換装置1101は、データ読み込み部1106、データ分割部1107、数値・文字列/符号判定部1108、相関計算部1109、値域分割部1110、分布DB1111、値域ラベル追加部1112、数値振り分け部1113、列結合部1114、文字列/符号パターン抽出部1115、文字列ラベル追加部1116、文字列振り分け部1117を有する。分布DB1111には分布パラメータ入力部1104が、値域分割部1110には分割パラメータ入力部1105がそれぞれ接続されている。
 データ変換装置301の主な構成において、データ分割部1107は、入力データを列単位に分割する。相関計算部1109は、列単位に分割した入力データのうち任意の少なくとも2つの列を選択し、それらの列の同一行に含まれるデータの相関を計算する。値域分割部1110と値域ラベル追加部1112は、計算した相関値が所定の閾値よりも大きい場合は、それらの列を1つのラベル列に変換する。列結合部1114は、ラベル列に変換したデータを列単位で結合する。このデータ変換装置1101の図2との違いは、値域分割部1110の前に、相関計算部1109が追加されている点である。以下においては、この追加された相関計算部1109について説明する。
 例えば、2つの列の数値データ列{(x,y)}(i=1,2,…,M)が与えられたとき、相関値cは以下の式で求められる。
Figure JPOXMLDOC01-appb-M000001
 ただし、/x、/yは、データ列{x}、{y}の平均である。相関計算部1109は、数値・文字列/符号判定部1108にて、数値と判定された任意の2列のデータについて、この相関値cを計算し、相関値が高い場合には、それらの列を1つの列に変換するようにする。
 図11は、相関値の高低の一例を説明する図である。散布図1401は、入力データ401から任意の列番号Sと任意の列番号Tのデータを抽出し、列番号Sのデータ1402をX座標値、列番号Tのデータ1403をY座標値として、2次元空間に、サンプル1(1404)、サンプル2(1405)、サンプル3(1406)などをプロットした図である。散布図1411も同様に、入力データ401から任意の列番号Sと任意の列番号Tのデータを抽出し、列番号Sのデータ1412をX座標値、列番号Tのデータ1413をY座標値として、2次元空間に、サンプル1(1414)、サンプル2(1415)、サンプル3(1416)などをプロットした図である。相関が高いとは、散布図1401に示したように、プロットしたデータのX座標値とY座標値の関係が強いことを意味する。すなわち、X座標値がn倍になれば、対応するY座標値もほぼn倍になり、X座標値が1/nになれば、Y座標値も1/nになる。これに対し、相関が低いとは、散布図1411に示したように、プロットしたデータのX座標値とY座標値の大小関係が低いことを意味する。すなわち、X座標値がn倍になったとき、Y座標値はn倍になるとは限らない。
 図12は、入力データと出力データの関係の一例を示す図である。入力データ1501は、複数の行・列から構成されるデータであり、入力データの属性1502には“温度”という属性が、属性1503には“湿度”という属性が、各々付けられている。属性1502の列に含まれる要素の値と、属性1503の列に含まれる要素の値には、散布図1401に示したような高い相関がある。すなわち、サンプル1の“温度”は30、サンプル2の温度は45、サンプル3の温度は52、サンプル4の温度は35、サンプル5の温度は46となっている。また、サンプル1の湿度は30、サンプル2の湿度は48、サンプル3の湿度は60、サンプル4の湿度は35、サンプル5の湿度は55となっている。合計M個のサンプルが格納されている。一方、出力データ1521には、ラベル1522に“温度”がある。出力データの要素1523は、入力データの要素1504と要素1509が、データ変換処理にて変換(対応1531)された値が格納されている。同様に、出力データの要素1524は入力データの要素1505と要素1510をデータ変換(対応1532)した値が、出力データの要素1525は入力データの要素1506と要素1511をデータ変換(対応1533)した値が、出力データの要素1526は入力データの要素1507と要素1512をデータ変換(対応1534)した値が、出力データの要素1527は入力データの要素1508と要素1513をデータ変換(対応1535)した値が、各々格納されている。
 また、高相関列テーブル1541は、高相関列ID(1542)、列番号A(1543)、列番号B(1544)、相関係数(1545)、高相関テーブルへのポインタ(1546)から構成され、入力データ1501の3列目のデータと、6列目のデータの相関が高いことを示している。高相関テーブル1551は、数値S(1552)、数値T(1553)から構成され、入力データ1501の3列目のある行に、30、45、52、…という数値があれば、入力データ1501の6列目の対応する行に、30、48、60、…という数値があることを示している。
 一般的に、ビッグデータは、膨大な欠損値を含んでおり、完全一致の代わりに相関値とすることで、欠損値を含む不完全な入力データに対しても、データの変換を行うことができる。
 <分布を推定する場合>
 上記の説明では、入力データの分布が予め分かっている場合について説明したが、予め分からない場合には、以下のようにして分布を推定して、データ変換を行うことができる。分布の推定は、予め分布DB1111に格納されている分布と、分布パラメータ入力部1104で入力されるパラメータの組から表現される関数に対して、入力データがどれだけ一致しているか、または、どれだけ異なっているかを求めることで実現できる。関数と入力データの一致度には、歪度を用いることができる。ここでは、入力データXの期待値をμ、分散をσ、Z=(X-μ)/σとしたとき、Zの期待値を歪度と呼ぶ。
 図13は、分布歪度テーブルの一例を説明する図である。分布歪度テーブル1201は、分布ID(1202)と、分布名称1203、歪度1204から構成される。列単位に分割した入力データの分布から、期待値μ、分散σを計算し、Zの期待値を計算する。そして、分布歪度テーブル1201の歪度1204の値と比較し、最も近い歪度に対応する分布名称1203を、推定した分布とする。分布名称1203としては、例えばラプラス分布、双曲線正割分布、ロジスティック分布、正規分布、二乗余弦分布、ウィグナー半円分布、一様分布などがある。
 分布を推定した後は、前記実施の形態1で説明したように、入力データが分割区間毎に含まれるデータ数が等しくなるように分割を行う、入力データの平均値と分散値を計算し、その平均値と分散値に基づいて分割を行う、ユーザが指定した値を区切り目として分割する、入力データの値域を等分割する、などの方法を用いて、データを分割することができる。
 <実施の形態2の効果>
 以上のように、本実施の形態におけるデータ変換装置およびデータ変換方法ならびにデータ変換プログラムによれば、前処理部2(208)を行った後、前処理部1(207)を行う構成を有することで、上記実施の形態1と異なる効果として、以下のような効果を得ることができる。
 例えば、前処理部2(208)のデータ変換装置301として、文字列/符号パターン抽出部314(値域分割部309)、文字列ラベル追加部315(値域ラベル追加部311)、列結合部313などを有することで、分割した入力データの列の同一行に含まれるデータが対応付く場合に、それらの列を1つのラベル列に変換し、このラベル列に変換したデータを列単位で結合して出力データを得ることができる。この結果、出力データに含まれる情報の冗長性を低くすることができる。また、出力データのサイズが必要以上に大きくなることを抑制することができるので、コンピュータで扱いやすくなり、高速なデータ変換処理が可能になる。
 また、相関計算部1109、値域分割部1110、値域ラベル追加部1112、列結合部1114などを有することで、分割した入力データの列の同一行に含まれるデータの相関を計算し、この相関値が所定の閾値よりも大きい場合にそれらの列を1つのラベル列に変換し、このラベル列に変換したデータを列単位で結合して出力データを得ることができる。この結果、高い相関を持つ列を纏める場合に、欠損値を含む不完全な入力データに対してもデータ変換を行うことが可能になる。
 また、分布DB1111、分布パラメータ入力部1104などを有することで、入力データの分布が予め分からない場合にも、分布を推定してデータ変換を行うことが可能になる。
 [実施の形態3]
 本実施の形態3におけるデータ変換装置およびデータ変換方法ならびにデータ変換プログラムについて、図14~図15を用いて説明する。
 <データ変換方法>
 前記実施の形態2では、入力データ1001を列方向に走査し、同一、もしくは、類似した要素を列の構成要素として持つ列1002と列1003を纏め、出力データ1021の列1022に変換する方法を説明した。
 同様に、入力データ1001を行単位で走査し、同一、もしくは、類似した要素を行の構成要素として持つ複数の行を纏め、出力データ1021の行に変換することもできる。本実施の形態は、この例を説明する。
 データ変換装置における主な構成は、入力データを行単位に分割するデータ分割部307、行単位に分割した入力データのうち任意の少なくとも2つの行を選択し、それらの行の同一列に含まれるデータが対応付くかを判定する文字列/符号パターン抽出部314(値域分割部309)、判定結果が対応付く場合は、それらの行を1つのラベル行に変換する文字列ラベル追加部315(値域ラベル追加部311)、ラベル行に変換したデータを行単位で結合する列結合部313などを有する。
 また、高い相関を持つ場合のデータ変換装置における主な構成は、入力データを行単位に分割するデータ分割部1107、行単位に分割した入力データのうち任意の少なくとも2つの行を選択し、それらの行の同一列に含まれるデータの相関を計算する相関計算部1109、計算した相関値が所定の閾値よりも大きい場合は、それらの行を1つのラベル行に変換する値域分割部1110と値域ラベル追加部1112、ラベル行に変換したデータを行単位で結合する列結合部1114などを有する。
 図14は、行を纏める場合の入力データと出力データの関係の一例を示す図である。まず、入力データ1601を、行方向に走査し、入力データの属性1602の行、および、入力データの属性1603の行に含まれる、要素が同一もしくは類似した行を探す。すなわち、この図14の例では、入力データの属性1602の行の要素が“NRX”の場合は、同じ列の入力データの属性1603の行の要素が“ABC”となり、入力データの属性1602の行の要素が“A2”の場合は、同じ列の入力データの属性1603の行の要素が“A1”となるような2つの行を探す。そして、探した2つの行を1行に纏め、出力データ1621を得る。すなわち、入力データの属性1604,1605は、そのまま、出力データの属性1622,1623とし、入力データの属性1602の行と入力データの属性1603の行を纏めて出力データの属性1624の行にする。出力データの要素1625は入力データの要素1606と要素1608をデータ変換(対応1631)した値が、出力データの要素1626は入力データの要素1607と要素1609をデータ変換(対応1632)した値が、それぞれ格納されている。
 さらには、前記実施の形態2で説明した、入力データ内の複数の列を纏めて1列に変換して出力データに出力する方法と、上述した、入力データ内の複数の行を纏めて1行に変換して出力データに出力する方法を組み合わせることができる。すなわち、出力データ1621を入力データに、出力データの属性1622を入力データの属性、出力データの属性1623を入力データの属性と見なし、前記実施の形態2で説明した手順に従って、複数の列を纏めて1列に変換して出力するようにしてもよい。この場合には、出力データ1641において、入力データの属性1622の列と入力データの属性1623の列を纏めて出力データの属性1642とする。出力データの要素1644は、入力データの要素1625と要素1626をデータ変換(対応1651)した値が格納されている。さらには、これらの行方向に纏める処理と、列方向に纏める処理とを繰り返すようにしてもよい。
 あるいは、図15に示すような手順で出力データを得るようにしてもよい。 図15は、行を纏める場合の入力データと出力データの関係の一例を示す図である。まず、入力データ1701(属性1702~1705、要素1706~1709)を、前記実施の形態2で説明した手順に従って出力データ1721(属性1722~1724、要素1725~1726、要素の対応1731~1732)を得る。次に、出力データ1721を入力データ、出力データの属性1723を入力データの属性、出力データの属性1724を入力データの属性と見なし、複数の行を1行に纏める。すなわち、出力データ1741(属性1742~1743、要素1744、要素の対応1751)において、入力データの属性1723の行と入力データの属性1724の行を纏めて出力データの属性1743とする。あるいは、入力データ1001を、列方向、行方向に纏めた際、出力行列の列数、行数が少なくなる変換を先に行って、出力データ1021を出力し、これを繰り返すようにしてもよい。
 <実施の形態3の効果>
 以上のように、本実施の形態におけるデータ変換装置およびデータ変換方法ならびにデータ変換プログラムによれば、入力データを行単位で走査し、同一、もしくは、類似した要素を行の構成要素として持つ複数の行を纏め、出力データの行に変換することで、上記実施の形態2と同様に、以下のような効果を得ることができる。
 例えば、データ変換装置301として、文字列/符号パターン抽出部314(値域分割部309)、文字列ラベル追加部315(値域ラベル追加部311)、列結合部313などを有することで、分割した入力データの行の同一列に含まれるデータが対応付く場合に、それらの行を1つのラベル行に変換し、このラベル行に変換したデータを行単位で結合して出力データを得ることができる。この結果、出力データに含まれる情報の冗長性を低くすることができる。また、出力データのサイズが必要以上に大きくなることを抑制することができるので、コンピュータで扱いやすくなり、高速なデータ変換処理が可能になる。
 また、相関計算部1109、値域分割部1110、値域ラベル追加部1112、列結合部1114などを有することで、分割した入力データの行の同一列に含まれるデータの相関を計算し、この相関値が所定の閾値よりも大きい場合にそれらの行を1つのラベル行に変換し、このラベル行に変換したデータを行単位で結合して出力データを得ることができる。この結果、高い相関を持つ行を纏める場合に、欠損値を含む不完全な入力データに対してもデータ変換を行うことが可能になる。
 さらに、上記実施の形態2と異なる効果として、入力データ内の複数の列を纏めて1列に変換して出力データに出力する方法と、入力データ内の複数の行を纏めて1行に変換して出力データに出力する方法を組み合わせることで、より一層、出力データに含まれる情報の冗長性を低くすることができ、また、出力データのサイズが必要以上に大きくなることを抑制することが可能になる。
 以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。たとえば、上記した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
101…学習サンプルDB、102…学習サンプル、103…入力データ、104…機械学習部、105…学習結果、106…学習サンプルDB、107~109…学習サンプル、110…入力データ、111…機械学習部、112…学習結果、
201…学習サンプルDB、202~204…学習サンプル、205…入力データ、206…データ変換部、207…前処理部1、208…前処理部2、209…前処理部2を経由しない入力データの流れ、210…機械学習部、211…学習結果、
301…データ変換装置、302…入力データ、303…出力データ、304…分布パラメータ入力部、305…分割パラメータ入力部、306…データ読み込み部、307…データ分割部、308…数値・文字列/符号判定部、309…値域分割部、310…分布DB、311…値域ラベル追加部、312…数値振り分け部、313…列結合部、314…文字列/符号パターン抽出部、315…文字列ラベル追加部、316…文字列振り分け部、
401…入力データ、402~405…属性、406~409…サンプル番号、410~413…要素、414~420…サンプル番号、421…出力データ、422~425…ラベル、426~429…サンプル番号、430~433…要素、441…出力データ’、442~444…グループ番号、445~448…ラベル番号、449~452…サンプル番号、
501…CPU、502…RAM、503…キーボード、504…表示装置、505…プリンタ、506…マウス、507…バス、508…ネットワーク、509…DB、
601…開始、602…入力データ読み込み、603…出力データクリア、604…入力データを列データに分割、605…変数i初期化、606…数値、文字列/符号判定、607…文字列パターン抽出、608…ラベル列生成、609…値域分割、610…ラベル列生成、611…変数iの値を更新、612…変数iとNの比較、613…出力データにラベル列結合、614…出力データを書き出し、615…終了、
701…入力データ、702…入力データの属性、703…出力データ、704~706…出力データのラベル、707…入力データの要素、708…出力データの要素、709…入力データの要素と出力データの要素の対応、710…入力データの要素、711…出力データの要素、712…入力データの要素と出力データの要素の対応、713…入力データの要素、714…出力データの要素、715…入力データの要素と出力データの要素の対応、721…入力データ、722…入力データの属性、723…出力データ、724~725…出力データのラベル、726…入力データの要素、727…出力データの要素、728…入力データの要素と出力データの要素の対応、729…入力データの要素、730…出力データの要素、731…入力データの要素と出力データの要素の対応、732…入力データの要素、733…出力データの要素、734…入力データの要素と出力データの要素の対応、741…入力データ、742…入力データの属性、743…出力データ、744~745…出力データのラベル、746…入力データの要素、747…出力データの要素、748…入力データの要素と出力データの要素の対応、749…入力データの要素、750…出力データの要素、751…入力データの要素と出力データの要素の対応、752…入力データの要素、753…出力データの要素、754…入力データの要素と出力データの要素の対応、
801…開始、802…入力データ読み込み、803…出力データクリア、804…入力データを列単位に分割、805…変数i初期化、806…変数j初期化、807…変数k初期化、808…要素Xikと要素Xjkの比較、809…変数jの値を更新、810…変数kの値を更新、811…変数kとMの比較、812…同一列テーブル更新、813…ユニーク要素抽出、814…変数r初期化、815…同一文字列テーブル更新、816…同一文字列テーブル更新、817…変数rの値を更新、818…変数rとQの比較、819…出力データに列を結合、820…変数jの値を更新、821…変数jとNの比較、822…変数iの値を更新、823…変数iとN-1の比較、824…出力データを書き出し、825…終了、
901…同一列テーブル、902…同一列ID、903…列番号A、904…列番号B、905…ポインタ、907~909…同一文字列テーブル、910~912…同一列テーブルと同一文字列テーブルを関係付けるリンク、913…同一文字列ID、914…文字列S、915…文字列T、
1001…入力データ、1002~1003…入力データの属性、1004~1013…入力データの要素、1021…出力データ、1022…出力データのラベル、1023~1027…出力データの要素、1031~1035…入力データの要素と出力データの要素の対応、1041…同一列テーブル、1042…同一列ID、1043…列番号A、1044…列番号B、1045…同一文字列テーブルへのポインタ、1051…同一文字列テーブル、1052…文字列S、1053…文字列T、
1101…データ変換装置、1102…入力データ、1103…出力データ、1104…分布パラメータ入力部、1105…分割パラメータ入力部、1106…データ読み込み部、1107…データ分割部、1108…数値・文字列/符号判定部、1109…相関計算部、1110…値域分割部、1111…分布DB、1112…値域ラベル追加部、1113…数値振り分け部、1114…列結合部、1115…文字列/符号パターン抽出部、1116…文字列ラベル追加部、1117…文字列振り分け部、
1201…分布歪度テーブル、1202…分布ID、1203…分布名称、1204…歪度、
1301…入力層のノード、1302…第1層のノード、1303…第2層のノード、1304…第3層のノード、1305…第4層(出力層)のノード、1306…入力層のノードと第1層のノードの結合、1307…第1層のノードと第2層のノードの結合、1308…第2層のノードと第3層のノードの結合、1309…第3層のノードと第4層(出力層)のノードの結合、
1401…散布図、1402…列番号Sのデータ、1403…列番号Tのデータ、1404~1406…サンプル、1411…散布図、1412…列番号Sのデータ、1413…列番号Tのデータ、1414~1416…サンプル、
1501…入力データ、1502~1503…入力データの属性、1504~1513…入力データの要素、1521…出力データの要素、1522…出力データのラベル、1523~1527…出力データの要素、1531~1535…入力データの要素と出力データの要素の対応、1541…高相関列テーブル、1542…高相関列ID、1543…列番号A、1544…列番号B、1545…相関係数、1546…高相関テーブルへのポインタ、1551…高相関テーブル、1552…数値S、1553…数値T、
1601…入力データ、1602~1605…入力データの属性、1606~1609…入力データの要素、1621…出力データ、1622~1624…出力データの属性、1625~1626…出力データの要素、1631~1632…入力データの要素と出力データの要素の対応、1641…出力データ、1642~1643…出力データの属性、1644…出力データの要素、1651…入力データの要素と出力データの要素の対応、
1701…入力データ、1702~1705…入力データの属性、1706~1709…入力データの要素、1721…出力データ、1722~1724…出力データの属性、1725~1726…出力データの要素、1731~1732…入力データの要素と出力データの要素の対応、1741…出力データ、1742~1743…出力データの属性、1751…入力データの要素と出力データの要素の対応。
   
 
 

Claims (15)

  1.  列毎に、数値、文字列または符号から構成される表形式のデータを入力とするデータ変換装置であって、
     入力データを列単位に分割する第1の分割部と、
     前記第1の分割部で列単位に分割した入力データに含まれる要素が数値、文字列または符号のいずれで構成されるかを判定する第1の判定部と、
     前記第1の判定部の判定結果が数値の場合は、前記数値が取り得る値の範囲を複数の領域に分けて各々ラベルを生成する第1の生成部と、
     前記数値がどの領域に対応するかを判定して対応するラベルに振り分ける第1の振り分け部と、
     前記第1の判定部の判定結果が文字列または符号の場合は、列単位に分割した入力データに含まれる要素から重複要素を除去してラベルを生成する第2の生成部と、
     前記文字列または符号がどのラベルに対応するかを判定して対応するラベルに振り分ける第2の振り分け部と、
     前記第1の振り分け部および前記第2の振り分け部でラベルに振り分けたデータを列単位で結合する第1の結合部と、
     を有する、データ変換装置。
  2.  請求項1記載のデータ変換装置において、
     前記第1の分割部の前段に接続され、前記入力データを列単位に分割する第2の分割部と、
     前記第2の分割部で列単位に分割した入力データのうち任意の少なくとも2つの列を選択し、それらの列の同一行に含まれるデータが対応付くかを判定する第2の判定部と、
     前記第2の判定部の判定結果が対応付く場合は、それらの列を1つのラベル列に変換する第1の変換部と、
     前記第1の変換部でラベル列に変換したデータを列単位で結合する第2の結合部と、
     をさらに有し、
     前記第2の結合部の出力側は前記第1の分割部の入力側に接続される、データ変換装置。
  3.  請求項1記載のデータ変換装置において、
     前記第1の分割部の前段に接続され、前記入力データを列単位に分割する第2の分割部と、
     前記第2の分割部で列単位に分割した入力データのうち任意の少なくとも2つの列を選択し、それらの列の同一行に含まれるデータの相関を計算する第1の計算部と、
     前記第1の計算部で計算した相関値が所定の閾値よりも大きい場合は、それらの列を1つのラベル列に変換する第1の変換部と、
     前記第1の変換部でラベル列に変換したデータを列単位で結合する第2の結合部と、
     をさらに有し、
     前記第2の結合部の出力側は前記第1の分割部の入力側に接続される、データ変換装置。
  4.  請求項1記載のデータ変換装置において、
     前記第1の分割部の前段に接続され、前記入力データを行単位に分割する第2の分割部と、
     前記第2の分割部で行単位に分割した入力データのうち任意の少なくとも2つの行を選択し、それらの行の同一列に含まれるデータが対応付くかを判定する第2の判定部と、
     前記第2の判定部の判定結果が対応付く場合は、それらの行を1つのラベル行に変換する第1の変換部と、
     前記第1の変換部でラベル行に変換したデータを行単位で結合する第2の結合部と、
     をさらに有し、
     前記第2の結合部の出力側は前記第1の分割部の入力側に接続される、データ変換装置。
  5.  請求項1記載のデータ変換装置において、
     前記第1の分割部の前段に接続され、前記入力データを行単位に分割する第2の分割部と、
     前記第2の分割部で行単位に分割した入力データのうち任意の少なくとも2つの行を選択し、それらの行の同一列に含まれるデータの相関を計算する第1の計算部と、
     前記第1の計算部で計算した相関値が所定の閾値よりも大きい場合は、それらの行を1つのラベル行に変換する第1の変換部と、
     前記第1の変換部でラベル行に変換したデータを行単位で結合する第2の結合部と、
     をさらに有し、
     前記第2の結合部の出力側は前記第1の分割部の入力側に接続される、データ変換装置。
  6.  請求項1記載のデータ変換装置において、
     前記入力データの分布形状を表現するパラメータを格納するデータベースをさらに有し、
     前記第1の生成部は、前記数値が取り得る値の範囲を複数の領域に分ける場合に前記データベースを参照する、データ変換装置。
  7.  請求項6記載のデータ変換装置において、
     前記データベースは、前記入力データの分布が予め分からない場合に分布を推定するための情報が入力される、データ変換装置。
  8.  列毎に、数値、文字列または符号から構成される表形式のデータを入力とするデータ変換装置におけるデータ変換方法であって、
     第1の分割部により、入力データを列単位に分割する第1の分割工程と、
     第1の判定部により、前記第1の分割工程で列単位に分割した入力データに含まれる要素が数値、文字列または符号のいずれで構成されるかを判定する第1の判定工程と、
     第1の生成部により、前記第1の判定工程の判定結果が数値の場合は、前記数値が取り得る値の範囲を複数の領域に分けて各々ラベルを生成する第1の生成工程と、
     第1の振り分け部により、前記数値がどの領域に対応するかを判定して対応するラベルに振り分ける第1の振り分け工程と、
     第2の生成部により、前記第1の判定工程の判定結果が文字列または符号の場合は、列単位に分割した入力データに含まれる要素から重複要素を除去してラベルを生成する第2の生成工程と、
     第2の振り分け部により、前記文字列または符号がどのラベルに対応するかを判定して対応するラベルに振り分ける第2の振り分け工程と、
     第1の結合部により、前記第1の振り分け工程および前記第2の振り分け工程でラベルに振り分けたデータを列単位で結合する第1の結合工程と、
     を有する、データ変換方法。
  9.  請求項8記載のデータ変換方法において、
     前記第1の分割工程の前段で行われ、第2の分割部により、前記入力データを列単位に分割する第2の分割工程と、
     第2の判定部により、前記第2の分割工程で列単位に分割した入力データのうち任意の少なくとも2つの列を選択し、それらの列の同一行に含まれるデータが対応付くかを判定する第2の判定工程と、
     第1の変換部により、前記第2の判定工程の判定結果が対応付く場合は、それらの列を1つのラベル列に変換する第1の変換工程と、
     第2の結合部により、前記第1の変換工程でラベル列に変換したデータを列単位で結合する第2の結合工程と、
     をさらに有し、
     前記第2の結合工程は前記第1の分割工程の前に行われる、データ変換方法。
  10.  請求項8記載のデータ変換方法において、
     前記第1の分割工程の前段で行われ、第2の分割部により、前記入力データを列単位に分割する第2の分割工程と、
     第1の計算部により、前記第2の分割工程で列単位に分割した入力データのうち任意の少なくとも2つの列を選択し、それらの列の同一行に含まれるデータの相関を計算する第1の計算工程と、
     第1の変換部により、前記第1の計算工程で計算した相関値が所定の閾値よりも大きい場合は、それらの列を1つのラベル列に変換する第1の変換工程と、
     第2の結合部により、前記第1の変換程工程でラベル列に変換したデータを列単位で結合する第2の結合工程と、
     をさらに有し、
     前記第2の結合工程は前記第1の分割工程の前に行われる、データ変換方法。
  11.  請求項8記載のデータ変換方法において、
     前記第1の分割工程の前段で行われ、第2の分割部により、前記入力データを行単位に分割する第2の分割工程と、
     第2の判定部により、前記第2の分割工程で行単位に分割した入力データのうち任意の少なくとも2つの行を選択し、それらの行の同一列に含まれるデータが対応付くかを判定する第2の判定工程と、
     第1の変換部により、前記第2の判定工程の判定結果が対応付く場合は、それらの行を1つのラベル行に変換する第1の変換工程と、
     第2の結合部により、前記第1の変換工程でラベル行に変換したデータを行単位で結合する第2の結合工程と、
     をさらに有し、
     前記第2の結合工程は前記第1の分割工程の前に行われる、データ変換方法。
  12.  請求項8記載のデータ変換方法において、
     前記第1の分割工程の前段で行われ、第2の分割部により、前記入力データを行単位に分割する第2の分割工程と、
     第1の計算部により、前記第2の分割工程で行単位に分割した入力データのうち任意の少なくとも2つの行を選択し、それらの行の同一列に含まれるデータの相関を計算する第1の計算工程と、
     第1の変換部により、前記第1の計算工程で計算した相関値が所定の閾値よりも大きい場合は、それらの行を1つのラベル行に変換する第1の変換工程と、
     第2の結合部により、前記第1の変換工程でラベル行に変換したデータを行単位で結合する第2の結合工程と、
     をさらに有し、
     前記第2の結合工程は前記第1の分割工程の前に行われる、データ変換方法。
  13.  請求項8記載のデータ変換方法において、
     前記第1の生成工程において、前記第1の生成部は、前記数値が取り得る値の範囲を複数の領域に分ける場合に、前記入力データの分布形状を表現するパラメータを格納するデータベースを参照する、データ変換方法。
  14.  請求項13記載のデータ変換方法において、
     前記データベースは、前記入力データの分布が予め分からない場合に分布を推定するための情報が入力される、データ変換方法。
  15.  列毎に、数値、文字列または符号から構成される表形式のデータを入力とするデータ変換装置としてコンピュータを機能させるデータ変換プログラムであって、
     第1の分割部により、入力データを列単位に分割する第1の分割工程と、
     第1の判定部により、前記第1の分割工程で列単位に分割した入力データに含まれる要素が数値、文字列または符号のいずれで構成されるかを判定する第1の判定工程と、
     第1の生成部により、前記第1の判定工程の判定結果が数値の場合は、前記数値が取り得る値の範囲を複数の領域に分けて各々ラベルを生成する第1の生成工程と、
     第1の振り分け部により、前記数値がどの領域に対応するかを判定して対応するラベルに振り分ける第1の振り分け工程と、
     第2の生成部により、前記第1の判定工程の判定結果が文字列または符号の場合は、列単位に分割した入力データに含まれる要素から重複要素を除去してラベルを生成する第2の生成工程と、
     第2の振り分け部により、前記文字列または符号がどのラベルに対応するかを判定して対応するラベルに振り分ける第2の振り分け工程と、
     第1の結合部により、前記第1の振り分け工程および前記第2の振り分け工程でラベルに振り分けたデータを列単位で結合する第1の結合工程と、
     を前記コンピュータに実行させる、データ変換プログラム。
     
     
PCT/JP2013/072959 2013-08-28 2013-08-28 データ変換装置およびデータ変換方法ならびにデータ変換プログラム WO2015029158A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/072959 WO2015029158A1 (ja) 2013-08-28 2013-08-28 データ変換装置およびデータ変換方法ならびにデータ変換プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/072959 WO2015029158A1 (ja) 2013-08-28 2013-08-28 データ変換装置およびデータ変換方法ならびにデータ変換プログラム

Publications (1)

Publication Number Publication Date
WO2015029158A1 true WO2015029158A1 (ja) 2015-03-05

Family

ID=52585777

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/072959 WO2015029158A1 (ja) 2013-08-28 2013-08-28 データ変換装置およびデータ変換方法ならびにデータ変換プログラム

Country Status (1)

Country Link
WO (1) WO2015029158A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017070105A (ja) * 2015-09-30 2017-04-06 ファナック株式会社 パラメータを自動調整する機能を有する機械学習装置及び電動機制御装置
JP2021043888A (ja) * 2019-09-13 2021-03-18 Kddi株式会社 分類装置、学習装置、方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07182368A (ja) * 1993-12-24 1995-07-21 Hitachi Ltd データ加工システム
JP2010029926A (ja) * 2008-07-30 2010-02-12 Honda Motor Co Ltd 品質予測方法
JP2013143009A (ja) * 2012-01-11 2013-07-22 Hitachi Ltd 設備状態監視方法およびその装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07182368A (ja) * 1993-12-24 1995-07-21 Hitachi Ltd データ加工システム
JP2010029926A (ja) * 2008-07-30 2010-02-12 Honda Motor Co Ltd 品質予測方法
JP2013143009A (ja) * 2012-01-11 2013-07-22 Hitachi Ltd 設備状態監視方法およびその装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017070105A (ja) * 2015-09-30 2017-04-06 ファナック株式会社 パラメータを自動調整する機能を有する機械学習装置及び電動機制御装置
US10353351B2 (en) 2015-09-30 2019-07-16 Fanuc Corporation Machine learning system and motor control system having function of automatically adjusting parameter
JP2021043888A (ja) * 2019-09-13 2021-03-18 Kddi株式会社 分類装置、学習装置、方法及びプログラム
JP7118938B2 (ja) 2019-09-13 2022-08-16 Kddi株式会社 分類装置、学習装置、方法及びプログラム

Similar Documents

Publication Publication Date Title
CN104966104B (zh) 一种基于三维卷积神经网络的视频分类方法
CN105139237A (zh) 信息推送的方法和装置
CN107368534B (zh) 一种预测社交网络用户属性的方法
US20060288029A1 (en) Sentence classification device and method
CN107704888B (zh) 一种基于联合聚类深度学习神经网络的数据识别方法
CN111652171B (zh) 一种基于双分支网络的面部表情识别模型的构建方法
CN110245228A (zh) 确定文本类别的方法和装置
EP3591545A1 (en) Method for co-clustering senders and receivers based on text or image data files
CN115359873B (zh) 用于手术质量的控制方法
CN110751191A (zh) 一种图像的分类方法及系统
Tavakoli Seq2image: Sequence analysis using visualization and deep convolutional neural network
WO2015029158A1 (ja) データ変換装置およびデータ変換方法ならびにデータ変換プログラム
CN113255543A (zh) 基于图卷积网络的面部表情识别方法
Belhi et al. Deep learning and cultural heritage: the CEPROQHA project case study
JP5463873B2 (ja) マルチメディア分類システム及びマルチメディア検索システム
JP6927409B2 (ja) 情報処理装置、制御方法、及びプログラム
CN110674265A (zh) 面向非结构化信息的特征判别与信息推荐系统
CN111768214A (zh) 产品属性的预测方法、系统、设备和存储介质
CN114926691A (zh) 基于卷积神经网络的虫害智能化识别方法及系统
CN114595786A (zh) 一种基于弱监督位置定位的注意力细粒度分类方法
KR20230092360A (ko) Node 기반 조건부 테이블 데이터 적대적 생성 신경망 장치 및 방법
CN113468203A (zh) 基于循环神经网络与注意力机制的金融用户画像方法
Pakdel et al. Efficient Cloud-Based Framework for Big Data Classification
CN110413899A (zh) 服务器存储新闻的存储资源优化方法及系统
CN115187130B (zh) 基于鼠标运动轨迹判断工作效率的方法和装置

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: 13892378

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13892378

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP