WO2020261344A1 - データ処理装置、データ処理方法及びデータ処理プログラム - Google Patents

データ処理装置、データ処理方法及びデータ処理プログラム Download PDF

Info

Publication number
WO2020261344A1
WO2020261344A1 PCT/JP2019/025001 JP2019025001W WO2020261344A1 WO 2020261344 A1 WO2020261344 A1 WO 2020261344A1 JP 2019025001 W JP2019025001 W JP 2019025001W WO 2020261344 A1 WO2020261344 A1 WO 2020261344A1
Authority
WO
WIPO (PCT)
Prior art keywords
vector
cell
data processing
learning
occurrences
Prior art date
Application number
PCT/JP2019/025001
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 US17/622,007 priority Critical patent/US11900051B2/en
Priority to JP2021528666A priority patent/JP7192991B2/ja
Priority to PCT/JP2019/025001 priority patent/WO2020261344A1/ja
Publication of WO2020261344A1 publication Critical patent/WO2020261344A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a data processing apparatus, a data processing method, and a data processing program.
  • linguistic expressions of sentences, sentences, and words can be represented by mathematically easy-to-use expressions such as vectors, and the similarity between vectors can be measured as the similarity between documents. it can.
  • BoW BoW of Words
  • a natural language description is expressed as a vector in document classification.
  • the number of occurrences of words in a text is used as a vector element, and the genre is predicted based on the learning data of the vector and the genre to which the text in which the vector is generated belongs.
  • FIG. 14 is a diagram illustrating a text genre prediction method using the conventional BoW method.
  • the conventional method generates a vector based on the number of occurrences of words in the text to be processed (see (1) of FIG. 14).
  • the conventional method refers to the past training data of the vector and the genre to which the text in which the vector is generated belongs, and predicts the genre of the text to be processed from the similar vector in the training data ((Fig. 14). 2)) and output the genre prediction result (see (3) in FIG. 14).
  • the present invention has been made in view of the above, and an object of the present invention is to provide a data processing apparatus, a data processing method, and a data processing program that enable vectorization of natural language descriptions in table data.
  • the data processing apparatus is used for cell row headings and cell column headings for cells where rows and columns of table data intersect. It is characterized by having a generation unit that obtains the number of occurrences or the frequency of occurrence of a word and generates a vector with the obtained number of appearances or the frequency of appearance as element values.
  • the data processing method according to the present invention is a data processing method executed by a data processing apparatus, and is used for a cell row heading and a cell column heading for a cell in which rows and columns of table data intersect. It is characterized by including a step of finding the number of occurrences or the frequency of appearance of the word to be performed and generating a vector with the obtained number of occurrences or the frequency of appearance as the element value.
  • the data processing program obtains the number of occurrences or the frequency of occurrence of words used in the cell row headings and cell column headings for cells in which rows and columns of table data intersect. Have the computer perform a step to generate a vector with the number of occurrences or the frequency of occurrence as the element value.
  • FIG. 1 is a diagram schematically showing an example of a configuration of a data processing device according to an embodiment.
  • FIG. 2 is a diagram illustrating a processing flow of the data processing apparatus shown in FIG.
  • FIG. 3 is a diagram showing an example of a table showing commentary on tourist spots and the purpose and viewpoint of travel.
  • FIG. 4 is a counting table of the number of occurrences of the words shown in the table shown in FIG.
  • FIG. 5 is a diagram showing an example of the vector generated by the learning unit shown in FIG.
  • FIG. 6 is a diagram showing an example of the vector generated by the prediction unit shown in FIG.
  • FIG. 7 is a diagram showing an example of a verification necessity table.
  • FIG. 8 is a counting table of the number of occurrences of the words shown in the table shown in FIG.
  • FIG. 8 is a counting table of the number of occurrences of the words shown in the table shown in FIG.
  • FIG. 8 is a counting table of the number of occurrences of the words shown in the
  • FIG. 9 is a diagram showing a processing procedure of learning processing executed by the data processing device 10 in the embodiment.
  • FIG. 10 is a flowchart showing a processing procedure of the vector generation processing shown in FIG.
  • FIG. 11 is a diagram showing a processing procedure of the prediction process in the embodiment.
  • FIG. 12 is a flowchart showing another processing procedure of the vector generation processing shown in FIG.
  • FIG. 13 is a diagram showing an example of a computer in which a data processing device is realized by executing a program.
  • FIG. 14 is a diagram illustrating a text genre prediction method using the conventional BoW method.
  • the target is digitized text document data (hereinafter referred to as document data).
  • document data digitized text document data
  • the number of occurrences of words used for row headings plus the number of occurrences of words used for column headings is added to the feature vector of cells where those rows and columns intersect (hereinafter, Let it be a vector.) This makes it possible to carry out machine learning on table data and predict the description contents, which could not be performed by the conventional method in the present embodiment.
  • FIG. 1 is a diagram schematically showing an example of a configuration of a data processing device according to an embodiment.
  • the data processing device 10 includes an input unit 11, a communication unit 12, an output unit 13, a control unit 14, and a storage unit 15.
  • the input unit 11 is an input interface that receives various operations from the operator of the data processing device 10.
  • the input unit 11 is composed of an input device such as a touch panel, a voice input device, and a keyboard and a mouse.
  • the communication unit 12 is a communication interface for transmitting and receiving various information to and from other devices connected via a network or the like.
  • the communication unit 12 is realized by a NIC (Network Interface Card) or the like, and communicates between another device and the control unit 14 (described later) via a telecommunication line such as a LAN (Local Area Network) or the Internet.
  • the communication unit 12 receives the data of the document file to be vector-generated via the network and outputs the data to the control unit 14.
  • the document file is table data composed of rows and columns.
  • table data in which row and column headings as shown by using a table are combined will be described as a processing target.
  • These table data are stored in the storage unit 15 by the control unit 14.
  • the communication unit 12 outputs the vector information generated by the control unit 14 to an external device via the network.
  • the output unit 13 is realized by, for example, a display device such as a liquid crystal display, a printing device such as a printer, an information communication device, or the like, and outputs a document file to be processed, information indicating a vector generated by the control unit 14, and the like. ..
  • the control unit 14 controls the entire data processing device 10.
  • the control unit 14 is, for example, an electronic circuit such as a CPU (Central Processing Unit) or MPU (Micro Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
  • the control unit 14 has an internal memory for storing programs and control data that define various processing procedures, and executes each process using the internal memory.
  • the control unit 14 functions as various processing units by operating various programs.
  • the control unit 14 has a learning unit 141 and a prediction unit 142.
  • the learning unit 141 has a vector generation unit 1411 and a learning processing unit 1412.
  • the vector generation unit 1411 generates a vector for the table data for learning. Specifically, the vector generation unit 1411 obtains the number of occurrences or the frequency of occurrence of words used in the cell row headings and cell column headings for cells in which rows and columns of table data intersect. Then, the vector generation unit 1411 generates a vector in which the obtained number of appearances or the frequency of appearance is used as the element value as a vector indicating the characteristics of the cell.
  • the vector generation unit 1411 executes these processes for all the cells in which the rows and columns of the table data intersect, and generates a vector indicating the characteristics of the cells for each cell. Then, the vector generation unit 1411 stores the vector of each cell as the learning data 152 in the storage unit 15. The vector generation unit 1411 may multiply the number of occurrences or the frequency of occurrence of words by the weight value corresponding to the row or column of the cell, and the multiplied value may be the value of the element of the vector.
  • the learning processing unit 1412 uses machine learning to obtain the vector of the cell generated by the vector generation unit 1411 for the table data for learning and the description content in the cell in which the vector is generated among the cells of the table data for learning. learn.
  • the learning processing unit 1412 learns the vector of each cell of the table data for learning and the description content of each corresponding cell by machine learning.
  • the learning unit 141 stores the learning result 153 by learning in the storage unit 15.
  • the prediction unit 142 has a vector generation unit 1421 and a prediction processing unit 1422.
  • the vector generation unit 1421 performs the same processing as the vector generation unit 1411 on the table data to be predicted.
  • the vector generation unit 1421 obtains the number of occurrences or the frequency of occurrence of the words used for the cell row headings and the cell column headings for the cells where the rows and columns of the table data to be predicted intersect. Then, the vector generation unit 1421 generates a vector in which the obtained number of appearances or the frequency of appearance is used as the element value as a vector indicating the characteristics of the cell. Further, the vector generation unit 1421 may multiply the number of occurrences or the frequency of occurrence of words by a weight value corresponding to a cell row or a cell column, and use the multiplied value as the value of the vector element.
  • the prediction processing unit 1422 predicts the description contents of the cell based on the vector generated by the vector generation unit 1421 and the learning result 153 by the learning unit 141.
  • the storage unit 15 is a storage device for an HDD (Hard Disk Drive), SSD (Solid State Drive), optical disk, or the like.
  • the storage unit 15 may be a semiconductor memory that can rewrite data such as RAM (Random Access Memory), flash memory, and NVSRAM (Non Volatile Static Random Access Memory).
  • the storage unit 15 stores an OS (Operating System) and various programs executed by the data processing device 10. Further, the storage unit 15 stores various information used in executing the program.
  • the storage unit 15 stores the table data 151 to be processed, the learning data 152 including the vector of each cell of the table data for learning generated by the vector generation unit 1411, and the learning result 153 by the learning of the learning unit 141. ..
  • FIG. 2 is a diagram illustrating a flow of 10 processes of the data processing apparatus shown in FIG.
  • FIG. 2 describes a case where the number of occurrences of a word is obtained as a value of a vector element.
  • the data processing device 10 generates a vector in which the number of occurrences of words in the row headings and column headings (front side and front head) is combined with respect to the cells to be processed for the table data for learning ((FIG. 2). See 1)). In this way, unlike the conventional method of handling a matrix, the data processing device 10 generates a vector of each cell based on the words described on the front side and the front head of each cell. In other words, the data processing device 10 generates a vector of each cell from the sentence or the word appearing in the sentence described in the row heading and the column heading of each cell in the table data.
  • the data processing device 10 refers to a cell (for example, cell C1A) in which the heading of the cell row (for example, row R1) and the cell column (for example, column LA) intersect with each other in the row and column.
  • a vector is generated using the number of occurrences of the word used in the heading as the element value (see (1) in FIG. 2).
  • the data processing device 10 creates learning data 152 from the generated vector (see (2) in FIG. 2).
  • the combination of the vector and the conformity ( ⁇ ) or nonconformity ( ⁇ ) is learned by using, for example, the machine learning tool liblinear (see (3) in FIG. 2).
  • the data processing device 10 generates a base vector in which the number of occurrences of the words in the row R3 heading and the column LA heading in the cell C3A is combined with respect to the cell C3A to be processed in the table data ((4) in FIG. 2 )reference).
  • the data processing device 10 refers to the learning data 152 and predicts the matching description contents from similar vectors (see (5) in FIG. 2).
  • the prediction result is output (see (6) in FIG. 2).
  • FIG. 3 is a diagram showing an example of a table showing commentary on tourist spots and the purpose and viewpoint of travel.
  • FIG. 4 is a counting table of the number of occurrences of the words shown in the table shown in FIG.
  • Table T1-1 a case of predicting whether or not the purpose of the trip is suitable or not by machine learning will be described from Table T1-1 shown in FIG.
  • Table T1-1 commentary on tourist spots is described as a heading on the front side, and the purpose and viewpoint of travel are described as a heading on the front side.
  • the commentary given in the row heading of the cell indicates whether or not it fits ( ⁇ ) or does not fit (-) the purpose of travel described in the column heading of the cell. ..
  • the evaluation is indicated by a binary value of a circle ( ⁇ ) and a hyphen (-), but the evaluation can be indicated by a numerical value of evaluation points (for example, 1 to 5 in the case of a five-grade evaluation). Good.
  • the vector generation unit 1411 learns using this table T1-1 as learning data. All the words appearing in the row headings and column headings in Table T1-1 are extracted using a morphological analysis tool (for example, MeCab). Then, the vector generation unit 1411 sorts the words, deletes the duplicated words, counts the number of occurrences of each word, and acquires the word list.
  • a morphological analysis tool for example, MeCab
  • the vector generation unit 1411 arranges the number of occurrences of each word appearing in the row and column headings of the cell to be processed for each cell. As shown in Table T1-2, the vector generation unit 1411 uses the headings of each row and each column of Table T1-1 to indicate "local” as word 1, "brand” as word 2, and “cow” as word 3. , Extract "cityscape” as the word n.
  • the vector generation unit 1411 has "1" for the word 1, "1” for the word 2, and "1” for the word 3. For "1" and the word n, the number of occurrences of "1" is counted.
  • the vector generation unit 1411 may describe the frequency of appearance of words in each column of Table T1-2 instead of the number of occurrences of words.
  • the vector generation unit 1411 sets the element value of the vector of the cell in which the row and the column intersect in Table T1-1 as the number of occurrences of the word appearing in the row heading and the column heading of the cell.
  • the vector of cell C1A where the row R1 and the column LA of the table T1-1 intersect is the number of occurrences of the words used in the respective headings D1 and DA of the row R1 and the column L1.
  • FIG. 5 is a diagram showing an example of the vector generated by the learning unit 141 shown in FIG.
  • the vector in cell C1A is displayed as vector 1A.
  • the vector 1B is a vector of the cell C1B at which the row R1 and the column LB intersect.
  • the vector generation unit 1411 generates a single row of numerical columns as a vector for each cell in which the rows and columns of Table T1-1 intersect.
  • “+1" indicates conformity ( ⁇ )
  • “-1” indicates nonconformity (-).
  • the numbers are written before and after the colon (:).
  • the number to the left of the colon (:) is the word number (index, which is "1" for word 1, "2" for word 2, and "n” for word n).
  • the number to the right of the colon (:) is the number of occurrences for each word.
  • the vector generation unit 1411 multiplies the number of occurrences of the word appearing in the heading of the row or column to be weighted by the weight value, and the multiplied value is the value of the vector element. And. For example, when the columns are emphasized and the weight is set to "2" for each column, the vector generation unit 1411 multiplies the number of occurrences of each word appearing in the column heading by 2. Add to the number of occurrences of each word that appears in the line heading, and use this value as the number of occurrences.
  • the value of the vector element that is, the numerical value on the right side of the colon (:) may be the value of the frequency of occurrence of the word.
  • the vector generation unit 1411 calculates the value of the appearance frequency by dividing the number of occurrences of each word by the total number of occurrences of the words to be vectorized acquired as a word list.
  • the learning processing unit 1412 uses the vector generated as shown in FIG. 5 as learning data, and trains it using a machine learning tool (for example, liblinear).
  • the learning processing unit 1412 makes machine learning which of the two groups of conformity (+1) and nonconformity (-1) shown at the beginning is classified into the sequence of the numerical values in each line except the first numerical value. The result, that is, the tendency is obtained.
  • the learning processing unit 1412 is performing machine learning with a teacher to memorize the sequence of numerical values whose first numerical value is conforming (+1) and the sequence of numerical values which are not conforming (-1).
  • the prediction unit 142 performs a conformity (+1) or nonconformity (-1) prediction process using the machine learning learning result 153 obtained by the processing of the learning unit 141. For example, the prediction unit 142 selects one item from Table T1-1 for commentary on tourist spots that are not used for machine learning. It should be noted that although a plurality of items may be selected, one item is used for simplification of the explanation, and it is referred to as a prediction cell D11.
  • FIG. 6 is a diagram showing an example of the vector generated by the prediction unit 142 shown in FIG.
  • the first number (“-1” in this example) is a tentative value because it will be replaced with the prediction result later.
  • the machine learning tool uses, for example, liblinear.
  • the prediction processing unit 1422 determines whether this feature vector is conforming (+1) or non-conforming (-1) based on the learning result 153 by the learning unit 141, which is closer to the similarity of the vector of either group. To calculate.
  • the prediction processing unit 1422 predicts that cell D11 is suitable when the result is "+1". Further, the prediction processing unit 1422 predicts that the cell D11 is non-conforming when the result is "-1". The prediction processing unit 1422 makes predictions for each of the purposes / viewpoints A, B, C, ... Of the trip.
  • FIG. 7 is a diagram showing an example of a verification necessity table to be learned.
  • FIG. 8 is a counting table of the number of occurrences of the words shown in the table shown in FIG.
  • the vector generation unit 1411 learns using this table T2-1 as learning data. All the words appearing in the row headings and column headings in Table T2-1 are extracted using a morphological analysis tool (for example, MeCab). Then, the vector generation unit 1411 sorts the words, deletes the duplicated words, counts the number of occurrences of each word, and acquires the word list.
  • a morphological analysis tool for example, MeCab
  • the vector generation unit 1411 arranges the appearance frequency of each word for each cell as shown in the word appearance count table T2-2 shown in FIG. As shown in Table T2-2, the vector generation unit 1411 has "traffic” as word 1, "collection” as word 2, and “item” as word 3 from the headings of each row and each column of table T2-1. , Extract “deterrence” as the word n.
  • the vector generation unit 1411 has "1" for word 1, "1" for word 2, and "1” for word 3. , The number of occurrences of "0" is counted for the word n. Then, the vector generation unit 1411 sets the element value of the vector of the cell in which the row and the column intersect in Table T2-1 as the number of occurrences of the word appearing in the row heading and the column heading of the cell. For example, the vector of the cell C1A'where the row R1'and the column LA' in the table T2-1 intersect is the number of occurrences of the words used in the headings D1'and DA'in the row R1'and the column LA', respectively. .. Since the subsequent learning process and prediction process are the same as those in Application Example 1, the description thereof will be omitted.
  • FIG. 9 is a diagram showing a processing procedure of learning processing executed by the data processing device 10 in the embodiment.
  • the vector generation unit 1411 As shown in FIG. 9, in the data processing device 10, when the table data for learning is input to the learning unit 141 (step S1), the vector generation unit 1411, among the table data for learning, is the cell to be processed. Performs a vector generation process for generating a vector (step S2). Then, the learning processing unit 1412 machine-learns the vector of the cell generated by the vector generation unit 1411 for the table data for learning and the description content in the cell in which the vector is generated among the cells of the table data for learning. A learning process for learning using the data is performed (step S3), and the learning result 153 is stored in the storage unit 15.
  • FIG. 10 is a flowchart showing a processing procedure of the vector generation processing shown in FIG.
  • the vector generation unit 1411 generates a vector corresponding to each cell for each cell to be learned in the table data for learning.
  • the vector generation unit 1411 acquires all the words appearing in the row headings and column headings of the table data for learning by using the morphological analysis tool (step S11). Then, the vector generation unit 1411 sorts the words, deletes the duplicated words (step S12), counts the number of occurrences of each word, and acquires a word list (step S13).
  • the vector generation unit 1411 proceeds to the first cell to be processed in the table data (step S14), and performs the subsequent processes of steps S15 to S18. Specifically, the vector generation unit 1411 counts the number of occurrences of words appearing in the row headings and column headings of the cell to be processed (step S15). Then, when the row or column of this cell is the weighting target, the vector generation unit 1411 multiplies the number of occurrences of the words appearing in the row heading or the column heading of the weighting target by the weight value (step S16).
  • the vector generation unit 1411 generates a vector in which the number of occurrences of each word or the value obtained by multiplying the number of appearances of each word by the weight value is the value of each element as the vector of the cell to be processed (step). S17).
  • the vector generation unit 1411 determines whether or not the vector has been generated for all the cells to be processed (step S18). When the vector is not generated for all the cells to be processed (step S18: No), the vector generation unit 1411 proceeds to the next cell to be processed (step S19) and performs the processes of steps S15 to S18.
  • the vector generation unit 1411 outputs the vector generated for each cell to the processing unit in the subsequent stage.
  • the vector generation unit 1411 outputs the vector of each cell to the learning processing unit 1412.
  • FIG. 11 is a diagram showing a processing procedure of the prediction process in the embodiment.
  • the vector generation unit 1421 of the table data of the prediction target when the table data of the prediction target is input to the prediction unit 142 (step S21), the vector generation unit 1421 of the table data of the prediction target, the cell to be processed. Performs a vector generation process for generating a vector (step S22).
  • the vector generation unit 1421 performs the same processing as in steps S11 to S19 of FIG. 10 with the cell of the table data to be predicted as the processing target, and executes the vector generation processing (step S22).
  • the prediction processing unit 1422 performs prediction processing for predicting the description contents of the cell based on the vector generated by the vector generation unit 1421 and the learning result 153 by the learning unit 141 (step S23).
  • FIG. 12 is a flowchart showing another processing procedure of the vector generation processing shown in FIG. In the example shown in FIG. 12, the process of obtaining the frequency of occurrence of words as the value of the vector element will be described.
  • Steps S31 to S35 shown in FIG. 12 are the same processes as steps S11 to S15 shown in step S10.
  • the vector generation unit 1411 calculates the value of the occurrence frequency by dividing the number of occurrences of each word by the total number of occurrences of the words to be vectorized acquired as a word list (step S36).
  • Step S37 the vector generation unit 1411 multiplies the appearance frequency of the word appearing in the row heading or the column heading of the weighting target by the weight value (step S37).
  • Steps S38 to S40 shown in FIG. 12 are the same processes as steps S17 to S19 shown in FIG.
  • the data processing device 10 As described above, in the data processing device 10 according to the first embodiment, the number of occurrences of words used for the cell row headings and the cell column headings or the number of occurrences of words used for the cell row headings or the cell column headings for the cells where the rows and columns of the table data intersect.
  • the appearance frequency is obtained, and a vector in which the obtained number of appearances or the appearance frequency is used as the element value is generated as a vector indicating the characteristics of the cell.
  • the data processing device 10 enables vectorization of the natural language description in the table data including the heading in each row and each column as shown by using the table.
  • each component of each of the illustrated devices is a functional concept and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of the device is functionally or physically dispersed / physically distributed in an arbitrary unit according to various loads and usage conditions. It can be integrated and configured. Further, each processing function performed by each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by wired logic.
  • FIG. 13 is a diagram showing an example of a computer in which the data processing device 10 is realized by executing a program.
  • the computer 1000 has, for example, a memory 1010 and a CPU 1020.
  • the computer 1000 also has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. Each of these parts is connected by a bus 1080.
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012.
  • the ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • the hard disk drive interface 1030 is connected to the hard disk drive 1090.
  • the disk drive interface 1040 is connected to the disk drive 1100.
  • a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
  • the serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120.
  • the video adapter 1060 is connected to, for example, the display 1130.
  • the hard disk drive 1090 stores, for example, an OS (Operating System) 1091, an application program 1092, a program module 1093, and program data 1094. That is, the program that defines each process of the data processing device 10 is implemented as a program module 1093 in which a code that can be executed by a computer is described.
  • the program module 1093 is stored in, for example, the hard disk drive 1090.
  • a program module 1093 for executing processing similar to the functional configuration in the data processing device 10 is stored in the hard disk drive 1090.
  • the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
  • the setting data used in the processing of the above-described embodiment is stored as program data 1094 in, for example, a memory 1010 or a hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 into the RAM 1012 and executes them as needed.
  • the program module 1093 and the program data 1094 are not limited to the case where they are stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). Then, the program module 1093 and the program data 1094 may be read by the CPU 1020 from another computer via the network interface 1070.
  • LAN Local Area Network
  • WAN Wide Area Network

Abstract

データ処理装置(10)は、表データの行及び列が交差するセルに対し、セルの行の見出し及びセルの列の見出しに使用される単語の出現数または出現頻度を求め、求めた出現数または出現頻度を要素の値としたベクトルを生成するベクトル生成部(1411,1421)を有する。

Description

データ処理装置、データ処理方法及びデータ処理プログラム
 本発明は、データ処理装置、データ処理方法及びデータ処理プログラムに関する。
 自然言語処理に機械学習を用いる場合、文、文章、単語の言語表現を、数学的に扱いやすい表現、例えばベクトルで表し、ベクトル間の類似度を、文書間の類似度として、計測することができる。
 従来、文書分類において自然言語記述をベクトル表現にするBoW(Bag of Words)法がある。この方法は、テキストにおける単語の出現数をベクトルの要素とし、ベクトルと、ベクトルが生成されたテキストが属するジャンルとの学習データを基に、ジャンルの予測を行う。
特開平09-297766号公報
須永 他,"サポートベクトルマシンを用いた検証要否判定手法", 信学技報,NS2018-147 (2018-11), (2018).
 図14は、従来のBoW法を用いたテキストのジャンル予測法について説明する図である。図14に示すように、まず、従来の方法は、処理対象のテキストにおける単語の出現数によりベクトルを生成する(図14の(1)参照)。従来の方法は、ベクトルと、ベクトルが生成されたテキストが属するジャンルとの過去の学習データを参照し、学習データ中の類似のベクトルから、処理対象のテキストのジャンルを予測し(図14の(2)参照)、ジャンル予測結果を出力する(図14の(3)参照)。
 しかしながら、表を用いて示されるような各行及び各列に見出しを含む表データに対し、従来のBoW法を適用することができず、機械学習及び予測処理が行なえなかった。また、表データを扱うことができる従来の低ランク行列補完、推薦システム、協調フィルタリングなどの技術では、自然言語記述の文・文章から文書の特徴が得られず、自然言語記述の文章は扱えないといった課題があった。
 本発明は、上記に鑑みてなされたものであって、表データにおける自然言語記述のベクトル化を可能にするデータ処理装置、データ処理方法及びデータ処理プログラムを提供することを目的とする。
 上述した課題を解決し、目的を達成するために、本発明に係るデータ処理装置は、表データの行及び列が交差するセルに対し、セルの行の見出し及びセルの列の見出しに使用される単語の出現数または出現頻度を求め、求めた出現数または出現頻度を要素の値としたベクトルを生成する生成部を有することを特徴とする。
 また、本発明に係るデータ処理方法は、データ処理装置が実行するデータ処理方法であって、表データの行及び列が交差するセルに対し、セルの行の見出し及びセルの列の見出しに使用される単語の出現数または出現頻度を求め、求めた出現数または出現頻度を要素の値としたベクトルを生成する工程を含んだことを特徴とする。
 また、本発明に係るデータ処理プログラムは、表データの行及び列が交差するセルに対し、セルの行の見出し及びセルの列の見出しに使用される単語の出現数または出現頻度を求め、求めた出現数または出現頻度を要素の値としたベクトルを生成するステップをコンピュータに実行させる。
 本発明によれば、表データにおける自然言語記述のベクトル化を可能にする。
図1は、実施の形態に係るデータ処理装置の構成の一例を模式的に示す図である。 図2は、図1に示すデータ処理装置の処理の流れを説明する図である。 図3は、観光スポットの論評と旅行の目的及び観点を示す表の一例を示す図である。 図4は、図3に示す表に記載された単語の出現数のカウント表である。 図5は、図1に示す学習部が生成したベクトルの一例を示す図である。 図6は、図1に示す予測部が生成したベクトルの一例を示す図である。 図7は、検証要否表の一例を示す図である。 図8は、図7に示す表に記載された単語の出現数のカウント表である。 図9は、実施の形態におけるデータ処理装置10が実行する学習処理の処理手順を示す図である。 図10は、図9に示すベクトル生成処理の処理手順を示すフローチャートである。 図11は、実施の形態における予測処理の処理手順を示す図である。 図12は、図9に示すベクトル生成処理の他の処理手順を示すフローチャートである。 図13は、プログラムが実行されることにより、データ処理装置が実現されるコンピュータの一例を示す図である。 図14は、従来のBoW法を用いたテキストのジャンル予測法について説明する図である。
 以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態]
 本発明の実施の形態について説明する。本実施の形態では、電子化されたテキスト文書データ(以降、文書データとする。)が対象であることを前提とする。本実施の形態では、行の見出しに使用される単語の出現数に、列の見出しに使われる単語の出現数を加えたものを、それらの行と列が交差するセルの特徴ベクトル(以降、ベクトルとする。)とする。これによって、本実施の形態では、従来の方法では行えなかった、表データに対する機械学習の実施及び記載内容の予測を可能にする。
[データ処理装置の構成]
 まず、実施の形態におけるデータ処理装置の構成について説明する。図1は、実施の形態に係るデータ処理装置の構成の一例を模式的に示す図である。図1に示すように、データ処理装置10は、入力部11、通信部12、出力部13、制御部14及び記憶部15を有する。
 入力部11は、データ処理装置10の操作者からの各種操作を受け付ける入力インタフェースである。例えば、入力部11は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイスによって構成される。
 通信部12は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部12は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部14(後述)との間の通信を行う。例えば、通信部12は、ネットワークを介して、ベクトル生成対象の文書ファイルのデータを受け取り、制御部14に出力する。ここで、文書ファイルは、行及び列によって構成される表データである。本実施の形態では、表を用いて示されるような行と列の見出しを組み合わせた表データを処理対象として説明する。これらの表データは、制御部14によって、記憶部15に格納される。また、通信部12は、制御部14によって生成されたベクトルの情報を、ネットワークを介して、外部の装置へ出力する。
 出力部13は、例えば、液晶ディスプレイなどの表示装置、プリンタ等の印刷装置、情報通信装置等によって実現され、処理対象の文書ファイルや、制御部14によって生成されたベクトルを示す情報等を出力する。
 制御部14は、データ処理装置10全体を制御する。制御部14は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部14は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部14は、各種のプログラムが動作することにより各種の処理部として機能する。制御部14は、学習部141と、予測部142とを有する。
 学習部141は、ベクトル生成部1411及び学習処理部1412を有する。
 ベクトル生成部1411は、学習用の表データについてベクトルを生成する。具体的には、ベクトル生成部1411は、表データの行及び列が交差するセルに対し、セルの行の見出し及びセルの列の見出しに使用される単語の出現数または出現頻度を求める。そして、ベクトル生成部1411は、求めた出現数または出現頻度を要素の値としたベクトルを、セルの特徴を示すベクトルとして生成する。
 ベクトル生成部1411は、これらの処理を、表データの行及び列が交差する全てのセルに対して実行して、セルごとに、セルの特徴を示すベクトルを生成する。そして、ベクトル生成部1411は、各セルのベクトルを学習データ152として記憶部15に格納する。ベクトル生成部1411は、単語の出現数または出現頻度に対し、セルの行またはセルの列に対応する重み値を乗じ、乗じた値をベクトルの要素の値としてもよい。
 学習処理部1412は、学習用の表データについてベクトル生成部1411が生成したセルのベクトルと、学習用の表データのセルのうち、ベクトルが生成されたセルにおける記載内容とを機械学習を用いて学習する。学習処理部1412は、学習用の表データの各セルのベクトルと、それぞれ対応する各セルの記載内容とを機械学習によって学習する。学習部141は、学習による学習結果153を記憶部15に格納する。
 予測部142は、ベクトル生成部1421及び予測処理部1422を有する。
 ベクトル生成部1421は、予測対象の表データについて、ベクトル生成部1411と同じ処理を行う。ベクトル生成部1421は、予測対象の表データの行及び列が交差するセルに対し、セルの行の見出し及びセルの列の見出しに使用される単語の出現数または出現頻度を求める。そして、ベクトル生成部1421は、求めた出現数または出現頻度を要素の値としたベクトルを、セルの特徴を示すベクトルとして生成する。また、ベクトル生成部1421は、単語の出現数または出現頻度に対し、セルの行またはセルの列に対応する重み値を乗じ、乗じた値をベクトルの要素の値としてもよい。
 予測処理部1422は、ベクトル生成部1421が生成したベクトルと、学習部141による学習結果153とを基に、セルの記載内容を予測する。
 記憶部15は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部15は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部15は、データ処理装置10で実行されるOS(Operating System)や各種プログラムを記憶する。さらに、記憶部15は、プログラムの実行で用いられる各種情報を記憶する。記憶部15は、処理対象となる表データ151、ベクトル生成部1411が生成した学習用の表データの各セルのベクトルを含む学習データ152、及び、学習部141の学習による学習結果153を記憶する。
[データ処理の流れ]
 次に、データ処理装置10における処理の流れについて詳細に説明する。図2は、図1に示すデータ処理装置の10処理の流れを説明する図である。図2では、単語の出現数をベクトルの要素の値として求める場合について説明する。
 まず、自然言語記述により表データの学習処理について説明する。データ処理装置10は、学習用の表データについて、処理対象のセルに対し、行の見出し及び列の見出し(表側と表頭)の単語の出現数を合わせたベクトルを生成する(図2の(1)参照)。このように、行列を扱う従来の方法と異なり、データ処理装置10は、各セルの表側及び表頭に記述されている言葉を基に、各セルのベクトルを生成する。言い換えると、データ処理装置10は、表データのうち、各セルの行の見出し及び列の見出しに記述されている文や文章に出現する言葉から、各セルのベクトルを生成する。
 具体的には、データ処理装置10は、セルの行(例えば、行R1)の見出し及びセルの列(例えば、列LA)が交差するセル(例えば、セルC1A)については、その行及び列の見出しに使用される単語の出現数を要素の値としてベクトルを生成する(図2の(1)参照)。
 そして、データ処理装置10は、生成したベクトルから学習データ152を作成する(図2の(2)参照)。この例では、ベクトルと、適合(○)または不適合(-)の組み合わせを、例えば機械学習ツールliblinearを用いて、学習する(図2の(3)参照)。
 次に、表データのセルの記載内容を予測する予測処理について説明する。データ処理装置10は、表データのうち、処理対象のセルC3Aに対し、このセルC3Aの行R3の見出し及び列LAの見出しの単語の出現数を合わせたベベクトルを生成する(図2の(4)参照)。データ処理装置10は、学習データ152を参照し、類似のベクトルから適合する記載内容を予測し(図2の(5)参照)。予測結果を出力する(図2の(6)参照)。
[適用例1]
 本実施の形態に係るデータ処理方法を適用して、観光スポットの論評から旅行の目的に適合するか不適合かを機械学習によって予測する方法を示す。図3は、観光スポットの論評と旅行の目的及び観点を示す表の一例を示す図である。図4は、図3に示す表に記載された単語の出現数のカウント表である。
 具体的に、図3に示す表T1-1から機械学習により旅行の目的に適合するか不適合かを予測する場合について説明する。表T1-1は、表側に観光スポットの論評が見出しとして記載されており、表頭に旅行の目的・観点が見出しとして記載されている。各セルには、そのセルの行の見出しに記載された論評から、そのセルの列の見出しに記載された旅行の目的に適合(○)するか不適合(-)であるかが記載されている。なお、表T1-1では、丸(○)とハイフン(-)の二値で評価を示すが、評価点の数字(例えば、五段階評価なら1から5である。)で評価を示してもよい。
 まず、学習部141では、ベクトル生成部1411が、この表T1-1を学習データとして学習を行う。表T1-1の行の見出し及び列の見出しに出現する単語の全てを、形態素解析ツール(例えば、MeCab)を用いて抽出する。そして、ベクトル生成部1411は、単語をソートし、重複した単語を削除して、各単語の出現数をカウントし、単語リストを取得する。
 ベクトル生成部1411は、図4に示す単語出現数カウント表T1-2に示すように、処理対象のセルの行及び列の見出しに出現した各単語の出現数を、セルごとに並べる。ベクトル生成部1411は、表T1-2に示すように、表T1-1の各行の見出し及び各列の見出しから、単語1として「地元」、単語2として「ブランド」、単語3として「牛」、単語nとして「街並み」を抽出する。
 そして、ベクトル生成部1411は、表T1-1のセルC1Aについては、表T1-2の枠F1Aに示すように、単語1については「1」、単語2については「1」、単語3については「1」、単語nについては「1」の出現数をカウントする。なお、ベクトル生成部1411は、単語の出現数に代えて、単語の出現頻度を表T1-2の各欄に記載してもよい。
 そして、ベクトル生成部1411は、表T1-1の、行及び列が交差するセルのベクトルの要素値を、そのセルの行の見出し及び列の見出しに出現した単語の出現数とする。例えば、表T1-1の行R1と列LAが交差するセルC1Aのベクトルは、行R1と列L1のそれぞれの見出しD1,DAに使用された単語の出現数とする。
 図5は、図1に示す学習部141が生成したベクトルの一例を示す図である。図5では、セルC1Aのベクトルは、ベクトル1Aと表示される。なお、ベクトル1Bは、行R1と列LBとが交差するセルC1Bのベクトルである。
 図5に示すように、ベクトル生成部1411は、表T1-1の行及び列がそれぞれ交差したセルごとに、一行の数値列をベクトルとして生成する。各数値列先頭の数値のうち、「+1」は適合(○)であることを示し、「-1」は、不適合(-)を示すものとする。
 各行の2番目とそれ以降の数値については、コロン(:)の前後に数値を表記している。コロン(:)の左側の数値は、単語番号(インデックスであり、単語1の場合は「1」、単語2の場合は「2」、単語nの場合は「n」である)である。コロン(:)の右側の数値は、それぞれの単語についての出現数である。
 そして、ベクトル生成部1411は、行または列に重みを持たせる場合には、重み付け対象の行または列の見出しに出現した単語の出現数に重み値を乗じ、乗じた値をベクトルの要素の値とする。例えば、列を重要視して、いずれの列についても重みを「2」とする場合には、ベクトル生成部1411は、列の見出しに出現した単語それぞれの出現回数に2を掛けた値を、行の見出しに出現した単語それぞれの出現回数に足し、この値を出現数とする。
 また、ベクトルの要素の値、すなわち、コロン(:)の右側の数値は、その単語の出現頻度の値であってもよい。この場合、ベクトル生成部1411は、各単語の出現数を、単語リストとして取得した、ベクトル化対象の単語総出現数で除することによって、出現頻度の値を計算する。
 そして、学習処理部1412は、図5のように生成したベクトルを学習データとし、機械学習ツール(例えば、liblinear)を用いて学習させる。学習処理部1412は、先頭の数値を除く各行の数値の並びが、先頭に示した適合(+1)と不適合(-1)との二つのグループのうち、どちらに分類されるかを機械学習させた結果、すなわち、傾向を得る。言い方を換えると、学習処理部1412は、先頭の数値が適合(+1)である数値の並びと不適合(-1)である数値の並びとを覚えさせる教師ありの機械学習を行っている。
 予測部142は、学習部141の処理によって得られた機械学習の学習結果153を用いて、適合(+1)或いは不適合(-1)の予測処理を行う。例えば、予測部142は、機械学習に用いていない観光スポットの論評を表T1-1から1項目選ぶ。なお、複数選んでもよいが説明を簡単にするため1項目とし、それを予測用のセルD11と呼ぶこととする。
 そして、予測部142では、ベクトル生成部1421が、表T1-2に示した単語出現数カウント表の作成要領によって、セルD11の行の見出し及び列の見出しの単語の出現数を求め、求めた出現数を、ベクトルの要素の値とする。また、ベクトル生成部1421は、行または列の重みを用いる場合は、その重み値を乗じ、乗じた値を、ベクトルの要素の値とする。図6は、図1に示す予測部142が生成したベクトルの一例を示す図である。
 図6に示すベクトル例において、先頭の数字(この例では「-1」)は、後に予測結果に置き換わるため仮の値である。機械学習ツールは、例えばliblinearを用いる。予測部142では、予測処理部1422が、学習部141による学習結果153に基づき、この特徴ベクトルが適合(+1)またか不適合(-1)であるか、どちらのグループのベクトルの類似度に近いかを計算する。
 予測処理部1422は、結果が「+1」である場合、セルD11は適合であると予測する。また、予測処理部1422は、結果が「-1」である場合、セルD11は不適合であると予測する。予測処理部1422は、旅行の目的・観点A,B,C,・・・ごとに予測する。
[適用例2]
 次に、本実施の形態に係るデータ処理方法を適用して、検証の要否を機械学習によって予測する方法を示す。図7は、学習対象となる検証要否表の一例を示す図である。図8は、図7に示す表に記載された単語の出現数のカウント表である。
 図7の表T2-1に示すように、検証要否表は、開発した機能の要件に関する記述(機能要件記述)と、記述された各機能についての検証(試験)の要否とが対応付けられたものである。表T2-1の各セルには、検証要(○)であるか検証否(-)であるかが記載されている。
 学習部141では、ベクトル生成部1411が、この表T2-1を学習データとして学習を行う。表T2-1の行の見出し及び列の見出しに出現する単語の全てを、形態素解析ツール(例えば、MeCab)を用いて抽出する。そして、ベクトル生成部1411は、単語をソートし、重複した単語を削除して、各単語の出現数をカウントし、単語リストを取得する。
 ベクトル生成部1411は、図8に示す単語出現数カウント表T2-2に示すように、各単語の出現頻度を、セルごとに並べる。ベクトル生成部1411は、表T2-2に示すように、表T2-1の各行の見出し及び各列の見出しから、単語1として「トラヒック」、単語2として「収集」、単語3として「項目」、単語nとして「抑止」を抽出する。
 そして、ベクトル生成部1411は、表T2-1のセルC1A´については、枠F1A´に示すように、単語1については「1」、単語2については「1」、単語3については「1」、単語nについては「0」の出現数をカウントする。そして、ベクトル生成部1411は、表T2-1の、行及び列が交差するセルのベクトルの要素値を、そのセルの行の見出し及び列の見出しに出現した単語の出現数とする。例えば、表T2-1の行R1´と列LA´が交差するセルC1A´のベクトルは、行R1´と列LA´のそれぞれの見出しD1´,DA´に使用された単語の出現数とする。なお、以降の学習処理及び予測処理は、適用例1と同様であるため、記載を省略する。
[学習処理の処理手順]
 次に、データ処理装置10が実行する学習処理について説明する。図9は、実施の形態におけるデータ処理装置10が実行する学習処理の処理手順を示す図である。
 図9に示すように、データ処理装置10では、学習部141に学習用の表データが入力されると(ステップS1)、ベクトル生成部1411が、学習用の表データのうち、処理対象のセルについてベクトルを生成するベクトル生成処理を行う(ステップS2)。そして、学習処理部1412は、学習用の表データについてベクトル生成部1411が生成したセルのベクトルと、学習用の表データのセルのうち、ベクトルが生成されたセルにおける記載内容とを機械学習を用いて学習する学習処理を行い(ステップS3)、学習結果153を記憶部15に格納する。
[ベクトル生成処理の処理手順]
 次に、図9に示すベクトル生成処理(ステップS2)の処理手順について説明する。図10は、図9に示すベクトル生成処理の処理手順を示すフローチャートである。ベクトル生成部1411は、学習用の表データのうちの学習対象となるセルごとに、各セルに対応するベクトルを生成する。
 まず、ベクトル生成部1411は、学習用の表データの行の見出し及び列の見出しに出現する単語の全てを、形態素解析ツールを用いて取得する(ステップS11)。そして、ベクトル生成部1411は、単語をソートし、重複した単語を削除した後に(ステップS12)、各単語の出現数をカウントして、単語リストを取得する(ステップS13)。
 続いて、ベクトル生成部1411は、表データにおける処理対象の最初のセルに進み(ステップS14)、以降のステップS15~ステップS18の処理を行う。具体的には、ベクトル生成部1411は、処理対象のセルの行の見出し及び列の見出しに出現した単語の出現数をカウントする(ステップS15)。そして、ベクトル生成部1411は、このセルの行または列が重み付け対象である場合、重み付け対象の行の見出しまたは列の見出しに出現した単語の出現数に重み値を乗じる(ステップS16)。
 そして、ベクトル生成部1411は、各単語の出現数、或いは、各単語の出現数に重み値を乗じた値を、各要素の値としたベクトルを、処理対象のセルのベクトルとして生成する(ステップS17)。
 ベクトル生成部1411は、処理対象の全てのセルについてベクトルを生成したか否かを判定する(ステップS18)。処理対象の全てのセルについてベクトルを生成していない場合(ステップS18:No)、ベクトル生成部1411は、次の処理対象のセルに進み(ステップS19)、ステップS15~ステップS18の処理を行う。
 一方、処理対象の全てのセルについてベクトルを生成している場合(ステップS18:Yes)、ベクトル生成部1411は、各セルについて生成したベクトルを、後段の処理部に出力する。学習部141によるベクトル生成処理の場合、ベクトル生成部1411は、学習処理部1412に、各セルのベクトルを出力する。
[予測処理の処理手順]
 次に、データ処理装置10が実行する予測処理について説明する。図11は、実施の形態における予測処理の処理手順を示す図である。
 図11に示すように、データ処理装置10では、予測部142に予測対象の表データが入力されると(ステップS21)、ベクトル生成部1421が、予測対象の表データのうち、処理対象のセルについてベクトルを生成するベクトル生成処理を行う(ステップS22)。ベクトル生成部1421は、予測対象の表データのセルを処理対象として、図10のステップS11~ステップS19と同じ処理を行い、ベクトル生成処理(ステップS22)を実行する。
 そして、予測処理部1422は、ベクトル生成部1421が生成したベクトルと、学習部141による学習結果153とを基に、セルの記載内容を予測する予測処理を行う(ステップS23)。
[ベクトル生成処理の他の処理手順]
 次に、図9に示すベクトル生成処理(ステップS2)の他の処理手順について説明する。図12は、図9に示すベクトル生成処理の他の処理手順を示すフローチャートである。図12に示す例では、ベクトルの要素の値として、単語の出現頻度を求める処理について説明する。
 図12に示すステップS31~ステップS35は、ステップS10に示すステップS11~ステップS15と同じ処理である。ベクトル生成部1411は、各単語の出現数を、単語リストとして取得した、ベクトル化対象の単語総出現数で除することによって、出現頻度の値を計算する(ステップS36)。
 そして、ベクトル生成部1411は、このセルの行または列が重み付け対象である場合、重み付け対象の行の見出しまたは列の見出しに出現した単語の出現頻度に重み値を乗じる(ステップS37)。図12に示すステップS38~ステップS40は、図10に示すステップS17~ステップS19と同じ処理である。
[実施の形態の効果]
 このように、本実施の形態1に係るデータ処理装置10は、表データの行及び列が交差するセルに対し、セルの行の見出し及びセルの列の見出しに使用される単語の出現数または出現頻度を求め、求めた出現数または出現頻度を要素の値としたベクトルを、セルの特徴を示すベクトルとして生成する。そして、データ処理装置10は、表を用いて示されるような各行及び各列に見出しを含む表データにおける自然言語記述のベクトル化を可能にする。
 したがって、データ処理装置10によれば、表を用いて示されるような各行及び各列に見出しを含む表データのセルについて、自然言語記述のベクトル化を可能にするため、表データに対する機械学習及び予測処理を実現することができる。
[システム構成等]
 図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 図13は、プログラムが実行されることにより、データ処理装置10が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、データ処理装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、データ処理装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
 また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
 10 データ処理装置
 11 入力部
 12 通信部
 13 出力部
 14 制御部
 15 記憶部
 141 学習部
 142 予測部
 151 表データ
 152 学習データ
 153 学習結果
 1411,1421 ベクトル生成部
 1412 学習処理部
 1422 予測処理部

Claims (6)

  1.  表データの行及び列が交差するセルに対し、前記セルの行の見出し及び前記セルの列の見出しに使用される単語の出現数または出現頻度を求め、求めた出現数または出現頻度を要素の値としたベクトルを生成する生成部
     を有することを特徴とするデータ処理装置。
  2.  前記生成部は、前記出現数または前記出現頻度に対し、前記セルの行または前記セルの列に対応する重み値を乗じ、乗じた値をベクトルの要素の値とすることを特徴とする請求項1に記載のデータ処理装置。
  3.  前記生成部は、学習用の表データの行及び列が交差するセルについてベクトルを生成し、
     前記ベクトルが生成したベクトルと前記学習用の表データのセルの記載内容とを学習する学習処理部
     をさらに有することを特徴とする請求項1または2に記載のデータ処理装置。
  4.  前記生成部は、予測対象の表データの行及び列が交差するセルについてベクトルを生成し、
     前記生成部が生成したベクトルと前記学習処理部による学習結果とを基に、前記セルの記載内容を予測する予測処理部
     をさらに有することを特徴とする請求項3に記載のデータ処理装置。
  5.  データ処理装置が実行するデータ処理方法であって、
     表データの行及び列が交差するセルに対し、前記セルの行の見出し及び前記セルの列の見出しに使用される単語の出現数または出現頻度を求め、求めた出現数または出現頻度を要素の値としたベクトルを生成する工程
     を含んだことを特徴とするデータ処理方法。
  6.  表データの行及び列が交差するセルに対し、前記セルの行の見出し及び前記セルの列の見出しに使用される単語の出現数または出現頻度を求め、求めた出現数または出現頻度を要素の値としたベクトルを生成するステップ
     をコンピュータに実行させるためのデータ処理プログラム。
PCT/JP2019/025001 2019-06-24 2019-06-24 データ処理装置、データ処理方法及びデータ処理プログラム WO2020261344A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/622,007 US11900051B2 (en) 2019-06-24 2019-06-24 Data processing device, data processing method, and data processing program
JP2021528666A JP7192991B2 (ja) 2019-06-24 2019-06-24 データ処理装置、データ処理方法及びデータ処理プログラム
PCT/JP2019/025001 WO2020261344A1 (ja) 2019-06-24 2019-06-24 データ処理装置、データ処理方法及びデータ処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/025001 WO2020261344A1 (ja) 2019-06-24 2019-06-24 データ処理装置、データ処理方法及びデータ処理プログラム

Publications (1)

Publication Number Publication Date
WO2020261344A1 true WO2020261344A1 (ja) 2020-12-30

Family

ID=74061532

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/025001 WO2020261344A1 (ja) 2019-06-24 2019-06-24 データ処理装置、データ処理方法及びデータ処理プログラム

Country Status (3)

Country Link
US (1) US11900051B2 (ja)
JP (1) JP7192991B2 (ja)
WO (1) WO2020261344A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339301A (ja) * 1999-03-23 2000-12-08 Canon Inc 文書分割装置及び方法、及びそのプログラムを記憶した記憶媒体
JP2018077586A (ja) * 2016-11-07 2018-05-17 日本電信電話株式会社 分類器学習装置、表種類分類装置、方法、及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09297766A (ja) 1996-05-01 1997-11-18 N T T Data Tsushin Kk 類似文書検索装置
JP2005202766A (ja) * 2004-01-16 2005-07-28 National Institute Of Information & Communication Technology 類似コンテンツの同時提示システム
CA3017430C (en) * 2015-04-16 2023-07-04 Docauthority Ltd. Structural document classification

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339301A (ja) * 1999-03-23 2000-12-08 Canon Inc 文書分割装置及び方法、及びそのプログラムを記憶した記憶媒体
JP2018077586A (ja) * 2016-11-07 2018-05-17 日本電信電話株式会社 分類器学習装置、表種類分類装置、方法、及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YASUTOMI, DAISUKE: "Construction and evaluation of a table recognition conversion system by a mobile terminal", PROCEEDINGS OF THE 8TH ANNUAL MEETING OF THE ASSOCIATION FOR NATURAL LANGUAGE PROCESSING, 18 March 2002 (2002-03-18), pages 347 - 350 *

Also Published As

Publication number Publication date
US20220245334A1 (en) 2022-08-04
JPWO2020261344A1 (ja) 2020-12-30
US11900051B2 (en) 2024-02-13
JP7192991B2 (ja) 2022-12-20

Similar Documents

Publication Publication Date Title
Chiang et al. Cluster-gcn: An efficient algorithm for training deep and large graph convolutional networks
CN107301171A (zh) 一种基于情感词典学习的文本情感分析方法和系统
CN110021439A (zh) 基于机器学习的医疗数据分类方法、装置和计算机设备
CN106294466A (zh) 分类模型构建方法、分类模型构建设备和分类方法
Bonato et al. Mining and modeling character networks
JP6867276B2 (ja) モデル学習装置、モデル学習方法、および、予測システム
JP7068299B2 (ja) 特徴量選択装置、特徴量選択方法及び特徴量選択プログラム
CN110472049A (zh) 疾病筛查文本分类方法、计算机设备和可读存储介质
CN110472040A (zh) 评价信息的提取方法及装置、存储介质、计算机设备
CN108154191A (zh) 文档图像的识别方法和系统
WO2020063524A1 (zh) 一种法律文书的确定方法及系统
CN107330009A (zh) 主题词分类模型创建方法、创建装置及存储介质
CN114722805A (zh) 基于大小导师知识蒸馏的少样本情感分类方法
CN110968664A (zh) 一种文书检索方法、装置、设备及介质
Doyen et al. Hollow-tree super: A directional and scalable approach for feature importance in boosted tree models
CN108153726A (zh) 文本处理方法和装置
Li et al. Semi-supervised stochastic multi-domain learning using variational inference
CN103345525B (zh) 文本分类方法、装置及处理器
WO2020261344A1 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
Chong et al. Evaluation of Active Learning Techniques on Medical Image Classification with Unbalanced Data Distributions
CN113033178B (zh) 用于商业计划书的文本评估方法、装置及计算机
CN113010687B (zh) 一种习题标签预测方法、装置、存储介质以及计算机设备
Votsi et al. Hypotheses testing and posterior concentration rates for semi-Markov processes
JP2022154862A (ja) 情報処理方法、プログラム及び情報処理装置
CN114328895A (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: 19934535

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021528666

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19934535

Country of ref document: EP

Kind code of ref document: A1