WO2018180970A1 - 情報処理システム、特徴量説明方法および特徴量説明プログラム - Google Patents

情報処理システム、特徴量説明方法および特徴量説明プログラム Download PDF

Info

Publication number
WO2018180970A1
WO2018180970A1 PCT/JP2018/011657 JP2018011657W WO2018180970A1 WO 2018180970 A1 WO2018180970 A1 WO 2018180970A1 JP 2018011657 W JP2018011657 W JP 2018011657W WO 2018180970 A1 WO2018180970 A1 WO 2018180970A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
template
value
parameter
feature
Prior art date
Application number
PCT/JP2018/011657
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 US16/498,014 priority Critical patent/US11727203B2/en
Priority to CN201880023104.0A priority patent/CN110476159A/zh
Priority to JP2019509704A priority patent/JP7199345B2/ja
Priority to EP18776248.9A priority patent/EP3605363A4/en
Publication of WO2018180970A1 publication Critical patent/WO2018180970A1/ja

Links

Images

Classifications

    • 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
    • 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/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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
    • G06F16/243Natural language query 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/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to an information processing system for generating a feature quantity used for learning and prediction, a feature quantity explanation method and a feature quantity explanation program for explaining the created feature quantity.
  • the process of predictive analysis can be broadly divided into the following three stages.
  • the first stage (process) is a “pretreatment stage”.
  • the “pre-processing stage” is a stage in which an attribute (feature) input to a device or the like that operates according to the prediction analysis algorithm is processed so that the prediction analysis algorithm functions effectively.
  • the second stage is the “analysis process stage”.
  • the “analysis processing stage” is a stage in which attributes are input to a device or the like that operates according to the predictive analysis algorithm, and an analysis result that is an output of the device or the like that operates according to the predictive analysis algorithm is obtained.
  • the third stage is the “post-processing stage”.
  • the “post-processing stage” is a stage in which the analysis result is converted into an easy-to-read graph, a control signal for inputting to another device, or the like.
  • pretreatment stage In order to obtain useful knowledge by predictive analysis, it is necessary to appropriately perform the “pretreatment stage”.
  • the work of designing what procedure the “preprocessing stage” should be performed on depends on the knowledge of a skilled technician (data scientist) of the analysis technology.
  • the design process in the preprocessing stage is not sufficiently supported by the information processing technology, and still depends heavily on trial and error by the manual work of skilled engineers.
  • Patent Document 1 describes an attribute enumeration system that enumerates new attributes obtained by combining attributes of learning data.
  • the system described in Patent Document 1 generates a set of DNF labels that expresses how to combine logical expressions that represent attribute combinations from the attributes of learning data and the maximum number of combinations of the attributes.
  • the attribute may also be referred to as a feature amount (feature).
  • Patent Document 1 discloses generation of a new attribute, it is possible to efficiently enumerate many feature amounts by using the system described in Patent Document 1. On the other hand, there is a technical problem that as the number of generated feature quantities increases, it becomes difficult to grasp the meaning of each feature quantity. Therefore, it is preferable that a description of the generated feature amount can be provided in a manner that is easy for the data analyst to understand while efficiently generating a new feature amount.
  • an object of the present invention is to provide an information processing system, a feature amount explanation method, and a feature amount explanation program that can provide a description of a feature amount to be generated in a manner that can be easily understood by humans.
  • a first table including a variable to be predicted and a feature value generation function for generating a feature value that can affect the prediction target from the second table are prepared in advance.
  • a function generation unit that generates a feature amount using the template, a feature amount generation unit that applies a feature amount generation function to the first table and the second table, and a feature amount generation function or feature amount
  • An explanatory text generation unit that generates an explanatory text on the basis of the second template, and a reception unit that receives values to be substituted into the first template and the second template, and the function generation unit is received
  • a feature value generation function is generated by assigning a value to the first template, and an explanation sentence generating unit assigns a value assigned to the first template to the second template to produce an explanation sentence.
  • the generator When learning the model for predicting the value of measured object, and generating a feature amount which is used as a candidate of the explanatory variables.
  • Another information processing system includes table information indicating the name of the second table to be associated with the first table including the variable to be predicted, and a key for combining the first table and the second table.
  • a reception unit that accepts join information indicating columns, aggregate information for a plurality of rows in the second table, and aggregate information indicating columns to be subjected to the aggregate operation; a table parameter into which a value indicating the table information is substituted; , A value indicating the table information received by the reception unit, a value indicating the combination information, and the aggregation information in a template including a combination parameter to which a value indicating the combination information is substituted and an aggregation parameter to which the value indicating the aggregation information is substituted And an explanatory note generation unit that generates an explanatory note by substituting a value indicating the above.
  • the explanatory note generation method assigns the received value to a first template prepared in advance, thereby affecting the prediction target from the first table including the variable to be predicted and the second table.
  • a feature amount used as a candidate for an explanatory variable is generated, and a feature amount generation function or a description about the feature amount is generated by substituting the value assigned to the first template into the second template.
  • Another description generation method is a method for combining table information indicating the name of the second table associated with the first table including the variable to be predicted, and the first table and the second table.
  • the explanatory note generation program prepares in advance a feature amount generation function for generating a feature amount that can affect the prediction target from the first table including the variable to be predicted and a second table.
  • an explanatory text generation process for generating an explanatory text about the feature amount based on the second template and a reception process for accepting values to be assigned to the first template and the second template are executed.
  • the feature value generation function is generated by substituting the accepted value into the first template, and the value assigned to the first template is assigned to the second template in the explanation generation process.
  • the feature quantity generation process when learning the model for predicting the value of the prediction target, characterized in that to generate the feature quantity to be used as candidate explanatory variables.
  • Another explanatory text generation program combines table information indicating the name of the second table to be associated with the first table including the variable to be predicted, and the first table and the second table.
  • Processing that accepts join information that indicates key columns when performing aggregation, aggregated information that indicates aggregated operations for a plurality of rows in the second table and columns that are subject to the aggregated operation, and a value that indicates table information is substituted A value indicating the table information received in the reception process, and the combined information in a template including a table parameter, a combined parameter to which a value indicating the combined information is substituted, and an aggregate parameter to which the value indicating the aggregated information is substituted. It is characterized in that an explanatory text generation process for generating an explanatory text is executed by substituting the indicated value and the value indicating the aggregate information.
  • the above-described technical means can provide a description of the generated feature value in a manner that is easy for humans to understand.
  • FIG. FIG. 1 is a block diagram showing a configuration example of a first embodiment of an information processing system according to the present invention.
  • the information processing system 100 includes a storage unit 11, a reception unit 12, a function (descriptor) generation unit 13, a feature amount generation unit 14, and an explanatory sentence generation unit 15.
  • the storage unit 11 includes a table (hereinafter sometimes referred to as a first table) including variables of a prediction target (that is, an objective variable), and a set of data included in the first table (hereinafter referred to as a first table). It may be written as tabular data).
  • the first table may be referred to as a target table.
  • the storage unit 11 is a table different from the first table (hereinafter sometimes referred to as a second table), and a set of data included in the second table (hereinafter referred to as second table data). There is also.) In the following description, this second table may be referred to as a source table.
  • the first table and the second table are defined by a combination of columns representing data attributes.
  • Each table includes one or more rows (records) obtained by combining data indicating the values of the respective attributes. For example, whether or not a customer cancels a mobile phone next month based on the customer's contract information and the customer's call information history in a situation where each customer has given prior consent to use personal information. Assume a situation in which In this case, the prediction target is the presence or absence of the customer's cancellation.
  • the first table includes information for identifying a customer (customer ID) and a value indicating whether or not the customer has been canceled (see target table T11 in FIG. 3 described later. Target table). (The column of “cancellation” in T11 corresponds to a prediction target (that is, an objective variable).)
  • the second table includes information different from the first table (see source table S11 in FIG. 3 described later).
  • the particle size of the first table may be the same as or different from the particle size of the second table.
  • the granularity of a table is an index that indicates the fineness of data included in the table, and specifically, an index that indicates in which item the data included in the table can be uniquely specified.
  • the customer ID corresponds to the granularity of the table.
  • this granularity corresponds to, for example, a primary key. Therefore, a table having a different granularity from the target table (first table) means a table in which the rows do not correspond one-to-one with respect to each row of the target table. Note that when generating a feature value generation function (feature descriptor) described later, the storage unit 11 may not store the first table data and the second table data.
  • the receiving unit 12 includes various information necessary for the function generation unit 13 (to be described later) to generate a feature quantity generation function, and an explanatory sentence (the description sentence generation unit 15 (to be described later) represents the meaning of the feature quantity generation function or the feature quantity). Accepts input of information necessary to generate (feature explanation).
  • the receiving unit 12 may receive information received via a communication network (not shown), or may read and receive information from a storage device (not shown) that stores the information. Further, the storage unit 11 may also function as the storage device. The contents of the input received by the receiving unit 12 will be described later.
  • the feature amount means a variable that can affect the prediction target.
  • a feature vector is a dimension vector corresponding to the number of rows in the first table, and is data representing an explanatory variable (prediction variable).
  • information including a plurality of feature quantity vectors may be referred to as a feature quantity table.
  • the feature amount generation function is a function that generates a feature amount vector.
  • generating a feature value means generating a feature value vector.
  • designing a feature value means designing a feature value generation function.
  • feature quantities and feature quantity vectors are expressed as “feature quantities” without distinction.
  • the function generation unit 13 generates a feature amount generation function using the information received by the reception unit 12.
  • the feature quantity generation function is used to generate a feature quantity that is a variable that can affect the prediction target (that is, the objective variable) from the first table and the second table.
  • the feature amount is a candidate for an explanatory variable when a model is generated using machine learning.
  • the feature value generation function generated in this embodiment it is possible to automatically generate candidate explanatory variables when generating a model using machine learning.
  • the function generation unit 13 generates a feature amount generation function using a template prepared in advance (hereinafter referred to as a first template).
  • the first template includes three types of parameters. Specifically, the values to be assigned to the three types of parameters are accepted by the accepting unit 12 as the values to be assigned to the first template, and the function generating unit 13 assigns the accepted values to the parameters of the first template. To generate a feature quantity generation function.
  • the contents of each parameter included in the first template will be described.
  • the first parameter is a parameter that represents the extraction conditions for the rows included in the second table. More specifically, in order to select a row satisfying a condition from the second table, the first parameter has a value (hereinafter referred to as selection information) indicating the condition and a column to be selected. Assigned.
  • the first parameter may be referred to as a selection parameter.
  • the selection information indicated by the first parameter may be defined as a conditional expression for the source table (second table).
  • filter the process of extracting a row from the second table based on the first parameter
  • the list of conditional expressions may be described as “F list”.
  • the extraction condition is arbitrary, and for example, a condition for determining whether or not it is the same (larger or smaller) as the value of the specified column.
  • FIG. 2 is an explanatory diagram showing an example of a filter.
  • the source table S11 (second table) illustrated in FIG. 2 is a table including customer call records (specifically, call time, call direction, call type, and call time).
  • the attributes of the source table S11 include “customer ID”, “time”, “call direction”, “type”, and “call time”.
  • the attribute “call direction” is designated as the column to be selected in the first parameter, and the value “OUT” indicated by the attribute “call direction” is designated as the selection condition.
  • the second parameter is a parameter that represents the correspondence condition between the first table column and the second table column. More specifically, a value indicating a key string (hereinafter referred to as “joining information”) for joining the first table and the second table is assigned to the second parameter.
  • the second parameter may be referred to as a coupling parameter.
  • the combination information indicated by the second parameter may be defined as a pair of columns that associates the columns of the target table (first table) with the columns of the source table (second table).
  • map the process of associating the columns of each table based on the second parameter
  • the list of pairs in this column may be described as “M list”.
  • M list the correspondence of the columns of each table by map is to join a plurality of tables into one table by the associated columns.
  • FIG. 3 is an explanatory diagram showing an example of map.
  • the target table T11 (first table) illustrated in FIG. 3 is a table including a customer ID that identifies a customer and a variable that indicates whether or not cancellation has occurred.
  • the target table T11 illustrated in FIG. 3 includes “customer ID”, “plan”, “device”, and “cancellation (presence / absence)” as attributes.
  • the contents of the source table S11 illustrated in FIG. 3 are the same as the source table S11 illustrated in FIG.
  • the third parameter is a parameter indicating a method for aggregating a plurality of rows with respect to a certain column included in the second table. More specifically, when the first table and the second table are joined, the third parameter includes an aggregation operation for a plurality of rows in the second table, and a column to be subjected to the aggregation operation. Is substituted (hereinafter referred to as aggregated information). For example, when the column specified in the join information in the target table is the primary key, the value of the target variable column is uniquely determined if the value of the column specified in the join information is determined. In this case, the number of records in a certain column in the source table is aggregated as a result up to the same number of records as the number of records in the target variable column by Reduce processing.
  • the third parameter may be referred to as an aggregate parameter.
  • the aggregate information indicated by the third parameter may be defined as an aggregate function for the columns of the source table (second table).
  • the process of aggregating the data in each column by the method indicated by the third parameter may be referred to as “reduce”.
  • the list of aggregate functions may be described as “R list”.
  • the aggregation method is arbitrary, and examples include the total number of columns, maximum value, minimum value, average value, median value, and variance.
  • the total number of columns may be calculated from one of the viewpoints of excluding duplicate data or not excluding duplicate data.
  • FIG. 4 is an explanatory diagram showing an example of reduce.
  • a table R13 illustrated in FIG. 4 illustrates some columns of the table R12 illustrated in FIG.
  • the maximum value is extracted as the third parameter for the aggregation calculation performed on the second table, and the call time is specified in the column subject to the aggregation calculation.
  • the table R14 is generated as a result of selecting the maximum call time for each “customer ID” as a key.
  • “Column name: call time, aggregation function: MAX” shown in FIG. 4 corresponds to the aggregation information.
  • FIG. 5 is an explanatory diagram illustrating an example of processing indicated by each parameter.
  • the key column is a column that associates both tables.
  • the Y column of the target table is an objective variable.
  • S 1 in FIG. 5 is a subset of the set of columns in the source table S.
  • a row in which the value value of the X ′ column in the source table S satisfies a predetermined condition is selected, and a subset S 1 is generated.
  • the rows of the target table T and the rows of the source table S are joined via their respective key columns. For example, columns having the same key column value are combined.
  • an aggregation operation is performed using the value of the set of rows selected by the filter among the columns of the source table S associated with each row of the target table T by map.
  • FIG. 6 is an explanatory diagram illustrating an example of processing for generating a feature amount generation function by applying a value to the first template.
  • T in the template illustrated in FIG. 6 means the first table
  • S indicates the second table.
  • “$ M.T column name” indicates the key column of the first table included in the second parameter.
  • “$ R. Aggregation function ($ R. Column name)” indicates an aggregation operation included in the third parameter and a column to be subjected to the aggregation operation.
  • F. Conditional Expression indicates a condition for selecting a row from the second table included in the first parameter.
  • $ MS column name indicates the key column of the second table included in the second parameter.
  • the function generation unit 13 generates a feature amount generation function by substituting the received parameter values into these parameters.
  • the first template may be prepared in accordance with SQL as a query language, as illustrated in FIG.
  • the function generation unit 13 may generate the feature quantity generation function by applying the extraction condition, the correspondence condition, and the aggregation method to the template that generates the SQL sentence. Therefore, the feature quantity generation function can be said to be a query statement (query) for the first table and the second table.
  • a relational database is illustrated, but the present invention can be similarly applied to an abstract data structure used in a distributed processing execution platform.
  • the function generation unit 13 When the reception unit 12 receives a plurality of pieces of combined information, aggregated information, or selection information, the function generation unit 13 generates a plurality of combinations of the received combined information, aggregated information, and selection information, and the generated combinations A feature quantity generation function may be generated for each.
  • FIG. 7 is an explanatory diagram illustrating an example of information used to generate a feature amount generation function.
  • a variable to be predicted object variable
  • the contents of the target table T11 and the source table S11 are the same as the contents illustrated in FIGS.
  • the F list is a list of selection information to be substituted for the first parameter.
  • the F list shown in FIG. 7 includes 18 selection information candidates.
  • the M list is a list of combined information to be substituted for the second parameter.
  • the M list shown in FIG. 7 includes one combination information candidate.
  • the R list is a list of aggregate information to be substituted for the third parameter.
  • the R list illustrated in FIG. 7 includes six aggregate information candidates.
  • F list, M list, and R list may be automatically created by a machine or manually by a human.
  • F list, M list, and R list illustrated in FIG. 7 are created in advance.
  • the function generation unit 13 generates a feature amount generation function for each generated combination. Specifically, the function generation unit 13 generates a feature amount generation function by substituting the combination information, the aggregation information, and the selection information included in the generated combination into the first template.
  • the combined information corresponds to a candidate selected from the M list
  • the aggregate information corresponds to a candidate selected from the R list
  • the selection information corresponds to a candidate selected from the F list.
  • the feature quantity generation function is defined as an SQL sentence, and three candidate values selected from the F list, M list, and R list are parameters for generating the SQL sentence. Is assigned to
  • FIG. 8 is an explanatory diagram showing another example of processing for generating a feature quantity generation function by applying a value to the first template.
  • the content of the template illustrated in FIG. 8 is the same as the content of the template Temp illustrated in FIG. 6, and is prepared in advance.
  • the function generation unit 13 generates a feature amount generation function by applying the combination information, the aggregation information, and the selection information to the parameters indicated by the underline of the template Temp.
  • the feature amount expressed by the feature amount generation function D21 represents the total number of incoming calls or received messages.
  • the function generation unit 13 applies this combination to the template Temp, and generates a feature amount generation function D22 illustrated in FIG.
  • the feature amount expressed by the feature amount generation function D22 represents the latest value of the time when the voice call is made.
  • the feature amount expressed by this combination represents the degree of variation in call time in an incoming call.
  • the feature quantity generation unit 14 applies the generated feature quantity generation function to the first table and the second table to generate a feature quantity (specifically, a feature quantity vector).
  • the feature value generation unit 14 generates a feature value used as an explanatory variable candidate when learning a model for predicting a prediction target value.
  • the feature value generation unit 14 generates a feature value based on the following processing using a feature value generation function using the parameters described above.
  • the feature quantity generation unit 14 first extracts one or more rows from the source table based on the source table extraction condition specified by the first parameter (filter).
  • the feature quantity generation unit 14 associates the target table with the source table via the combination information specified by the second parameter (Map).
  • the target table and the source table may be associated not only with the rows in which the column values indicated by the combined information completely match, but also with the specified similarity.
  • an example is that not only between lines where the date and time are completely matched, but also when the difference between the dates and times of two lines is within a predetermined range (for example, within 6 hours). Can be mentioned.
  • each of the target table and the source table has columns of longitude and latitude, and when the correspondence conditions are described using these, the distance between the two points is based on a distance within a predetermined range (for example, within 5 km). An example of performing association is also given.
  • the feature quantity generation unit 14 aggregates the lines associated by the map among the lines selected by the filter for each line of the target table based on the aggregation method specified by the third parameter. (Reduce). By this aggregation, a vector including a value obtained for each row of the target table is used as a feature amount.
  • FIG. 9 is an explanatory diagram showing an example of processing for generating a feature quantity.
  • a feature quantity generation function D31 illustrated in FIG. 9 is generated.
  • the feature value generation unit 14 applies the feature value generation function D31 to the target table T11 and the source table S11, thereby generating a feature value R21 indicating “customer maximum call time”.
  • the feature amount generation unit 14 may output data in a format in which a column (customer ID in this case) designated by the combination information is associated with the generated feature amount. preferable.
  • the explanatory note generation unit 15 generates an explanatory note about the generated feature quantity generation function or feature quantity.
  • the explanatory text generated in the present embodiment is an abstract feature quantity generation model expressed in natural language, and is a sentence expressing the feature quantity generation function or the feature quantity. That is, the explanatory text may be an explanatory text for the feature quantity itself or an explanatory text for the explanatory quantity generation function.
  • the explanatory note generation unit 15 generates an explanatory note about the feature quantity generation function or the feature quantity based on a template (hereinafter referred to as a second template). Information assigned to the first template is also assigned to the second template. That is, the explanatory note generation unit 15 generates an explanatory note by assigning the value assigned to the first template to the second template.
  • the second template generates a part of the description (table label) from the source table information (hereinafter referred to as table information), and a part of the description (joint label) from the join parameters.
  • table information source table information
  • join label a part of the description from the join parameters.
  • the second template includes a label template that generates a description from a label parameter to which a table label, a combined label, an aggregate label, and a selection label are substituted.
  • the explanatory note generation unit 15 generates a table label expressed in natural language from the table template by substituting the table information into the table parameter.
  • the table information may be information explicitly received by the receiving unit 12 or may be specified by the explanatory note generating unit 15 from the selection parameter, the combined parameter, or the aggregate parameter.
  • the explanatory note generating unit 15 generates a binding label expressed in natural language from the binding template by substituting the binding information into the binding parameter. Further, the explanatory note generation unit 15 generates an aggregate label expressed in natural language from the aggregate template by substituting the aggregate information into the aggregate parameter. Moreover, the explanatory note generation unit 15 generates a selection label expressed in natural language from the selection template by substituting the selection information into the selection parameter.
  • the explanatory note generation unit 15 generates an explanatory note from the label template by substituting the table label, the combined label, the aggregated label, and the selected label for the label parameter.
  • FIG. 10 is an explanatory diagram showing an example of processing for generating each label.
  • a table template Temp11 as exemplified in FIG. 10 is used.
  • “$ source table name” represents a table parameter.
  • the value of the second table in the binding information assigned to the first template is assigned to the table parameter.
  • the description sentence generation unit 15 accepts the name “call_log” of the second table as the table information
  • the description sentence generation unit 15 substitutes the name into the table parameter “$ source table name”, and is expressed in natural language from the table template Temp11.
  • the table label “call_log” is generated.
  • the table information is obvious, for example, when there is only one second table, it is not always necessary to explicitly accept the table information, and the table information may be previously assigned to the table parameter. .
  • a selection template Temp12 as illustrated in FIG. 10 is used.
  • “$ conditional expression” represents a selection parameter.
  • a binding template Temp13 as illustrated in FIG. 10 is used.
  • “$ T column name” represents a combination parameter.
  • an aggregation template Temp14 as illustrated in FIG. 10 is used.
  • “$ column name” and “$ aggregation function” represent aggregation parameters.
  • the aggregation information assigned to the first template is assigned to the aggregation parameter.
  • the explanatory note generation unit 15 substitutes the aggregate information and the converted aggregate function name into the aggregate parameters “$ column name” and “$ aggregate function”, respectively, so that the aggregate label expressed in natural language from the aggregate template Temp14 Generate “total call duration”.
  • FIG. 11 is an explanatory diagram showing an example of processing for generating an explanatory note from the generated label.
  • a label template Temp21 as illustrated in FIG. 11 is used.
  • “$ table label”, “$ binding label”, “$ selected label”, and “$ aggregated label” represent label parameters.
  • the explanatory note generating unit 15 generates an explanatory note from the label template by applying the table label, the combined label, the aggregated label, and the selected label to the respective label parameters.
  • the generated table label, combined label, aggregated label, and selection label are applied to the label parameter.
  • an explanatory note E11 is generated from the label template Temp21.
  • the conversion rule 101 for converting the aggregate function into another expression has been described.
  • the process of converting the value to be substituted is not limited to the case of generating the aggregate label, and the conversion rule is not limited to the dictionary type conversion as described above.
  • the explanatory note generator 15 may define various conversion rules according to the assumed input.
  • the conversion rule includes, for example, deletion of unnecessary characters.
  • the explanatory note generation unit 15 may determine that the underline connecting the words is unnecessary and generate “call log” with the underline removed.
  • the explanatory note generation unit 15 may translate the languages represented by the generated labels. In the example described above, it is assumed that the table label is generated as “call log”. At this time, the explanatory note generation unit 15 may generate a translation of “call recording” by translating from English to Japanese. By performing these processes, for example, a label “call_log table” can be converted into a label “call record table”.
  • the explanatory note generating unit 15 may convert the period expressed by the generated label into another calling method. For example, “between 6:00 and 12:00” can generally be called morning. In this case, the explanatory note generation unit 15 may convert the conditional expression (HOUR (time)> 6 and HOUR (time) ⁇ 12) indicating “between 6:00 and 12:00” as “time is in the morning”. In this way, the explanation of the generated feature amount can be more easily understood by humans.
  • the explanation sentence generation unit 15 When a plurality of feature quantity generation functions (or a plurality of feature quantities) and a plurality of explanation sentences are generated at once, the explanation sentence generation unit 15 generates the generated feature quantity generation function (or feature quantity) and Corresponding to the explanatory text.
  • the explanatory note generation unit 15 operates as an explanatory note giving unit.
  • the explanatory note generation unit 15 includes a feature amount generation function and an explanatory note that are generated based on a combination of the same values (that is, a combination of necessary information among table information, selection information, combined information, and aggregated information). Are considered to correspond to each other.
  • the explanation sentence generation unit 15 performs the association in the same manner when the feature amount and the explanation sentence are associated with each other.
  • the storage unit 11 is realized by, for example, a magnetic disk device.
  • the reception unit 12, the function generation unit 13, the feature amount generation unit 14, and the explanation sentence generation unit 15 are realized by a CPU of a computer that operates according to a program (feature amount description program).
  • the program may be stored in the storage unit 11, and the CPU may read the program and operate as the reception unit 12, the function generation unit 13, the feature amount generation unit 14, and the explanation sentence generation unit 15 according to the program.
  • the function of the information processing system may be provided in SaaS (Software as a Service) format.
  • each of the reception unit 12, the function generation unit 13, the feature amount generation unit 14, and the explanation sentence generation unit 15 may be realized by dedicated hardware.
  • Each of the reception unit 12, the function generation unit 13, the feature amount generation unit 14, and the explanatory note generation unit 15 may be realized by a general-purpose or dedicated circuit (circuitry).
  • the general-purpose or dedicated circuit may be configured by a single chip or may be configured by a plurality of chips connected via a bus.
  • the plurality of information processing devices and circuits may be arranged in a concentrated manner or distributedly arranged. May be.
  • the information processing apparatus, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client and server system and a cloud computing system.
  • FIG. 12 is a flowchart illustrating an operation example of the information processing system according to the first embodiment.
  • the accepting unit 12 accepts a value to be substituted for each template (that is, necessary information among table information, selection information, combined information, and aggregated information) (step S101).
  • the function generation unit 13 generates a feature amount generation function by substituting the received value into the first template (step S102).
  • the feature value generation unit 14 generates a feature value by applying the feature value generation function to the first table and the second table (step S103).
  • generation part 15 substitutes the value substituted to the 1st template for the 2nd template, and produces
  • step S104 is not necessarily executed after step S102 or step S103. For example, step S104 may be executed immediately after step S101.
  • the function generation unit 13 generates a feature amount generation function by substituting the received value into the first template
  • the feature amount generation unit 14 includes the first table and the first table.
  • a feature value generation function By applying a feature value generation function to the second table, a feature value used as an explanatory variable candidate when generating a model for predicting a prediction target value is generated.
  • the explanatory note generation unit 15 generates an explanatory note about the feature quantity generation function or the feature quantity by substituting the value assigned to the first template into the second template. Therefore, it is possible to provide a description of the generated feature amount in a manner that is easy for humans to understand.
  • the first template created in accordance with the query language represented by the SQL sentence and the second template having parameters common to the first template are used to explain the sentence. Is generated. Therefore, along with the generation of the feature quantity generation function (or feature quantity), it is possible to provide a description of the feature quantity generation function (or feature quantity) in a manner that is easy for humans to understand.
  • the reception unit 12 includes combination information indicating a value to be assigned to a combination parameter, aggregate information indicating a value to be assigned to an aggregate parameter, and selection information indicating a value to be assigned to a selection parameter. The case of accepting was explained. On the other hand, when all the rows are selected from the second table, the selection information is not necessary.
  • the function generation unit 13 can generate a feature amount generation function using the combination parameter and the aggregation parameter described in the first embodiment.
  • the first template and the second template only need to include a combination parameter and an aggregation parameter.
  • the reception part 12 should just receive joint information and aggregation information.
  • the explanatory note generation unit 15 may generate an explanatory note using these two parameters (a combined parameter and an aggregate parameter).
  • the function generation unit 13 generates a feature amount generation function by substituting the received combined information and aggregate information into the first template.
  • the feature amount generation unit 14 generates the feature amount by applying the generated feature amount generation function to the first table and the second table.
  • the explanatory note generation unit 15 assigns information assigned to the first template (that is, combined information and aggregated information) to the second template, and generates an explanatory note.
  • FIG. 13 is an explanatory diagram showing a modification of the process for generating the feature quantity generation function.
  • the explanatory note generation unit 15 may generate an explanatory note E12 in which a selection label (for example, “for all”) representing the dummy condition is applied to the second template.
  • the function generation unit 13 can generate a feature amount generation function using the combination parameter and the selection parameter described in the first embodiment.
  • the first template and the second template only need to include the combination parameter and the selection parameter.
  • the reception part 12 should just receive joint information and selection information.
  • the explanatory note generation unit 15 may generate an explanatory note using these two parameters (a combination parameter and a selection parameter).
  • the function generation unit 13 generates a feature amount generation function by substituting the received combination information and selection information into the first template.
  • the feature amount generation unit 14 generates the feature amount by applying the generated feature amount generation function to the first table and the second table.
  • the explanatory note generation unit 15 assigns the information assigned to the first template (that is, the combined information and the selection information) to the second template, and generates an explanatory note.
  • FIG. 14 is an explanatory diagram showing another modification of the process for generating the feature quantity generation function.
  • the source table S13 illustrated in FIG. 14 is a table including the customer's age, sex, and address.
  • the target table T11 and the source table S13 have a one-to-one correspondence. Therefore, aggregate information is unnecessary.
  • the function generation unit 13 When the first template includes an aggregation parameter, the function generation unit 13 generates a feature amount generation function by substituting a dummy condition (for example, mode: MODE (age)) into the aggregation parameter. do it. At this time, the explanatory note generation unit 15 may generate an explanatory note E13 in which an aggregate label (for example, “age”) from which the aggregate function is deleted is applied to the second template.
  • a dummy condition for example, mode: MODE (age)
  • an aggregate label for example, “age”
  • Embodiment 2 a second embodiment of the information processing system according to the present invention will be described.
  • the method of generating the feature amount and the explanatory text without receiving the information of the second table has been described.
  • table information is explicitly received will be described.
  • the configuration of the present embodiment is the same as that of the first embodiment.
  • the first template and the second template include a table parameter to which a value for identifying the second table is substituted.
  • the accepting unit 12 further accepts table information that is a value to be substituted for the table parameter in addition to the combined information, the aggregate information, and the selection information. Note that the grain sizes of the first table and the second table may be the same or different.
  • FIG. 15 is an explanatory diagram showing an example of a plurality of source tables.
  • the source table S14 illustrated in FIG. 15 is an example of a payment table, and corresponds to the target table in a one-to-many manner.
  • a source table S15 illustrated in FIG. 15 is an example of an inquiry table for a call center, and corresponds to a target table in a pair (0 to many).
  • the source table S13 illustrated in FIG. 15 is a customer table, and corresponds to the target table on a one-to-one basis, similar to the content illustrated in FIG.
  • FIG. 16 is an explanatory diagram showing an example of a first template including a table parameter.
  • the first template Temp31 illustrated in FIG. 16 includes “source table name” as a table parameter.
  • the receiving unit 12 may receive table information including the source table name every time a feature quantity generation function is generated.
  • the first template and the second template further include a table parameter into which a value for identifying the second table is substituted.
  • the reception part 12 further receives the table information which is a value substituted to a table parameter.
  • Embodiment 3 a third embodiment of the information processing system according to the present invention will be described.
  • the information processing system of the present embodiment creates training data based on the generated feature amount, learns a prediction model using the created training data, and outputs a prediction result using the prediction model.
  • FIG. 18 is a block diagram showing a configuration example of the third embodiment of the information processing system according to the present invention.
  • the information processing system 200 of the present embodiment includes a storage unit 11, a reception unit 12, a function generation unit 13, a feature amount generation unit 14, an explanatory sentence generation unit 15, a learning unit 16, a prediction unit 17, A training data generation unit 18 and a prediction data generation unit 19 are provided.
  • the information processing system 200 of this embodiment further includes a learning unit 16, a prediction unit 17, a training data generation unit 18, and a prediction data generation unit 19 as compared with the information processing system 100 of the first embodiment. ing.
  • the contents of the storage unit 11, the reception unit 12, the function generation unit 13, the feature amount generation unit 14, and the explanatory note generation unit 15 are the same as those in the first embodiment or the second embodiment, and thus detailed description thereof. Is omitted.
  • the training data generation unit 18 generates training data used by the learning unit 16 to be described later based on the feature amount generated by the feature amount generation unit 14 and the first table.
  • the prediction data generation unit 19 generates prediction data used by the prediction unit 17 to be described later, based on the feature amount generated by the feature amount generation unit 14 and the first table.
  • the learning unit 16 learns a model for predicting a prediction target value by using the generated feature amount as an explanatory variable candidate.
  • the learning unit 16 may have a feature amount selection (Feature Selection) function.
  • a plurality of explanatory variable candidates may be input to the learning unit 16, the learning unit 16 may perform feature selection, and the learning unit 16 may perform learning processing using the selected feature amount.
  • the learning unit 16 may perform a learning process as a post-process of the feature quantity selection process, or may execute the feature quantity selection process and the learning process as a single unit.
  • the prediction unit 17 performs prediction using the model learned by the learning unit 16 and the prediction data. Specifically, the prediction unit 17 applies the prediction data generated by the prediction data generation unit 19 to the model learned by the learning unit 16 to obtain a prediction result.
  • FIG. 19 is an explanatory diagram showing an example of a target table and a source table used in this specific example.
  • a target table T11 including data for February 2010 and a target table T21 including data for March 2010.
  • the primary key of the target table T11 and the primary key of the target table T21 are both customer IDs.
  • the source table S16 illustrated in FIG. 19 represents a customer call record.
  • the source table S16 includes customer call records included in the target table T21, as well as customer call records included in the target table T21.
  • the accepting unit 12 accepts a column indicating the primary key of the target table (customer ID in the examples shown in T11 and T21) as combined information.
  • the feature amount generation unit 14 generates a feature amount (feature amount vector for training data) by applying a feature amount generation function to the target table 11 and the source table S16 illustrated in FIG. Further, the feature quantity generation unit 14 applies the same feature quantity generation function to the target table 21 and the source table S16 illustrated in FIG. 19 to generate a feature quantity (a feature quantity vector for prediction data).
  • the feature value generation unit 14 outputs data in a format in which a column (here, a customer ID) designated by the combination information is associated with the generated feature value.
  • FIG. 20 is an explanatory diagram showing a specific example of training data and prediction data.
  • the training data generation unit 18 generates training data R22 using the feature amount (feature amount vector for training data) generated by the target table T11 and the feature amount generation unit 14. For example, the training data generation unit 18 combines the target table T11 and each feature amount generated by the feature amount generation unit 14 (assumed to be associated with the customer ID as described above) using the customer ID as a combination key. To generate training data R22. As shown in FIG. 20, the record included in the training data R22 has the value of the objective variable. Further, the prediction data generation unit 19 generates the prediction data R23 by using the feature amount (feature amount vector for prediction data) generated by the target table T21 and the feature amount generation unit 14.
  • the prediction data generation unit 19 combines the target table T21 and the feature amount generated by the feature amount generation unit 14 (assumed to be associated with the customer ID as described above) using the customer ID as a combination key.
  • the prediction data R23 is generated.
  • the record included in the prediction data R23 does not have the value of the objective variable.
  • the learning unit 16 learns a model using the generated training data R22.
  • the learning unit 16 learns a model using “cancellation” as an objective variable and other feature quantities (plan, device, generated feature quantities 1, 2 and 3) as explanatory variable candidates.
  • the prediction unit 17 obtains a prediction result by substituting the necessary feature value of the prediction data R23 into the above-described equation 1.
  • the reception unit 12, the function generation unit 13, the feature amount generation unit 14, the explanation sentence generation unit 15, the learning unit 16, the prediction unit 17, the training data generation unit 18, and the prediction data generation unit 19 This is realized by a CPU of a computer that operates according to a program (feature description program).
  • FIG. 21 is an explanatory diagram illustrating an operation example of the information processing system 200 according to the present embodiment. Note that the first template 61, the second template 62, the first table 63, the second table 64, the training data 65, and the prediction data 66 illustrated in FIG. 21 are stored in the storage unit 11. Good.
  • the receiving unit 12 receives various types of information necessary for generating the feature quantity generation function and the explanatory text.
  • the function generation unit 13 generates a feature amount generation function 51 using the received information and the first template 61.
  • the explanatory note generation unit 15 generates an explanatory note 52 using the received information and the second template 62.
  • the feature value generation unit 14 applies the feature value generation function 51 to the first table 63 and the second table 64 to generate the feature value 53.
  • the feature quantity generation unit 14 may add an explanatory text 52 to the generated feature quantity 53.
  • the training data generation unit 18 generates training data 65 from the generated feature value 53 and the data in the first table 63.
  • the learning unit 16 learns the learned model 54 using the training data 65.
  • the prediction data generation unit 19 generates prediction data 66 from the generated feature value 53 and the data in the first table 63. Then, the prediction unit 17 outputs a prediction result 55 using the learned model 54 and the prediction data 66.
  • the learning unit 16 learns a model that predicts a prediction target value using the generated feature quantity as a candidate for an explanatory variable.
  • the prediction unit 17 applies a feature value generation function to the first table and the second table, generates a feature value to be substituted into the model, and applies the feature value to the model. To obtain the predicted value.
  • Embodiment 4 FIG. Next, a fourth embodiment of the information processing system according to the present invention will be described.
  • the information processing system generates the explanatory text together with the generation of the feature amount generation function.
  • a method for generating an explanatory text from a feature quantity generation function that has already been created will be described.
  • FIG. 22 is a block diagram showing a configuration example of the fourth embodiment of the information processing system according to the present invention.
  • the information processing system 300 according to the present embodiment includes a storage unit 21, a reception unit 22, an extraction unit 23, and an explanation sentence generation unit 24.
  • the storage unit 21 stores a first table (target table) and a second table (source table) as in the first to third embodiments.
  • the contents of the first table and the second table are the same as those of the first to third embodiments.
  • the accepting unit 22 accepts the feature quantity generation function described in the first to third embodiments. That is, the reception unit 22 receives a feature quantity generation function that generates a feature quantity that is a variable that can affect the prediction target from the first table including the variable to be predicted and the second table.
  • the feature quantity generation function is generated by applying various types of information to the parameters of the first template prepared in advance.
  • the first template includes a join parameter to which a value indicating a key column for joining the first table and the second table is assigned, and an aggregation operation for the plurality of rows in the second table and the aggregation operation. It includes an aggregate parameter that is substituted with a value indicating the target column.
  • the first template may include a selection parameter to which a value indicating a condition and a column to be selected is substituted for selecting a row satisfying the condition from the second table.
  • the first template may include a table parameter to which a value for identifying the second table is substituted.
  • the extraction unit 23 includes, from the feature value generation function received by the reception unit 22, table information indicating the name of the second table, combined information indicating a key string used when combining the first table and the second table, Then, an aggregation operation for a plurality of rows in the second table and aggregation information indicating a column that is an object of the aggregation operation are extracted. Further, the extraction unit 23 may extract selection information indicating a condition and a column to be selected for selecting a row satisfying the condition from the second table.
  • the extraction unit 23 holds one or more templates (hereinafter referred to as function templates) to be compared with the feature quantity generation function, and compares the received feature quantity generation function with the function template. Extract table information, join information and aggregate information.
  • the function template includes table parameters, join parameters, and aggregate parameters.
  • the function template is designed so that each of the parameters (that is, the table parameter, the combined parameter, and the aggregate parameter) can be extracted from the positional relationship with the comparison target (that is, the feature amount generation function).
  • the function template may be designed so that a feature quantity generation function can be generated when, for example, table information, combined information, and aggregate information are assigned to corresponding parameters.
  • the function template may include a selection parameter.
  • FIG. 23 is an explanatory diagram showing an example of a function template.
  • FIG. 23 illustrates two function templates.
  • a template Temp41 illustrated in FIG. 23 is the same as the template Temp31 illustrated in FIG.
  • each parameter can be extracted in comparison with the feature amount generation function.
  • table information, combined information, aggregated information, and selection information are included in each parameter of the template Temp41. By substituting, it is possible to generate a feature quantity generation function.
  • the extraction unit 23 extracts the value set at the location corresponding to the table parameter as the table information, extracts the value set at the location corresponding to the aggregate parameter as the aggregate information, and is set at the location corresponding to the combined parameter. The extracted values as combined information. Further, when the function template includes a selection parameter, the extraction unit 23 extracts a value set at a location corresponding to the selection parameter as selection information.
  • FIG. 24 is an explanatory diagram showing an example of processing for extracting each piece of information from the feature quantity generation function.
  • FIG. 24 shows an example in which the feature quantity generation function D41 is accepted and extraction processing is performed using the function template Temp41.
  • “call_log” is set at the position of the feature quantity generation function D41 corresponding to “source table name” which is the table parameter of the function template Temp41. Therefore, the extraction unit 23 extracts this “call_log” as table information.
  • “SUM” and “call time” are set in the positions corresponding to “R. aggregate function” and “R. column name” as the aggregation parameters, respectively. Therefore, the extraction unit 23 extracts the “call time, SUM” as aggregated information.
  • the extraction unit 23 may select a function template having the highest similarity to the feature quantity generation function. It should be noted that any method for calculating the similarity between sentences may be used to determine the similarity.
  • the template Temp42 illustrated in FIG. 23 is different from the template used in the first to third embodiments. In consideration of fluctuations in the syntax of the generated feature quantity generation function, it is preferable to prepare a plurality of function templates according to the assumed format of the feature quantity generation function.
  • the explanatory note generation unit 24 substitutes the extracted information into the template (second template), and applies the characteristic amount generation function to the first table and the second table, and the explanatory note of the feature amount Is generated.
  • the method for generating the explanatory text by the explanatory note generating unit 24 is the same as the method for generating the explanatory text by the explanatory note generating unit 15 in the first to third embodiments.
  • the storage unit 21 is realized by, for example, a magnetic disk device.
  • the accepting unit 22, the extracting unit 23, and the explanatory note generating unit 24 are realized by a CPU of a computer that operates according to a program (feature amount explanation program).
  • the program may be stored in the storage unit 21, and the CPU may read the program and operate as the reception unit 22, the extraction unit 23, and the explanatory note generation unit 24 according to the program.
  • the function of the information processing system may be provided in SaaS (Software as a Service) format.
  • each of the reception unit 22, the extraction unit 23, and the explanatory note generation unit 24 may be realized by dedicated hardware.
  • the reception unit 22, the extraction unit 23, and the explanatory note generation unit 24 may each be realized by a general-purpose or dedicated circuit (circuitry IV).
  • the general-purpose or dedicated circuit may be configured by a single chip or may be configured by a plurality of chips connected via a bus.
  • the plurality of information processing devices and circuits may be arranged in a concentrated manner or distributedly arranged. May be.
  • the information processing apparatus, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client and server system and a cloud computing system.
  • FIG. 25 is a flowchart illustrating an operation example of the information processing system according to the fourth embodiment.
  • the accepting unit 22 accepts a feature quantity generation function (step S111).
  • the extraction unit 23 extracts table information, combined information, and aggregated information from the feature quantity generation function (step S112).
  • the receiving unit 22 may further extract selection information from the feature quantity generation function.
  • the explanatory note generation unit 24 substitutes the extracted information into a template (second template) to generate an explanatory note of the feature amount (step S113).
  • the reception unit 22 receives a feature amount generation function that generates a feature amount from the first table and the second table
  • the extraction unit 23 receives table information from the feature amount generation function. And combined information and aggregated information are extracted.
  • the explanatory note generation unit 24 substitutes the extracted information into the template (second template), and applies the feature amount generation function to the first table and the second table. Generate descriptive text. Therefore, it is possible to provide a description of the generated feature amount in a manner that is easy for humans to understand.
  • the extraction unit 23 extracts each piece of information necessary for understanding the meaning, and the explanatory note generation unit 24 shapes and provides the extracted information. Therefore, the generated feature amount is described in a manner that is easy for humans to understand.
  • FIG. 26 is a block diagram showing an outline of an information processing system according to the present invention.
  • the information processing system 80 according to the present invention generates a feature quantity that can affect the prediction target from the first table (for example, the target table) including the variables to be predicted and the second table (for example, the source table).
  • a function generation unit 81 (for example, the function generation unit 13) that generates a feature quantity generation function to be generated using a first template prepared in advance, and a feature quantity generation function for the first table and the second table
  • a feature amount generation unit 82 (for example, the feature amount generation unit 14) that generates a feature amount by applying and a description generation for generating a description about the feature amount generation function or the feature amount based on the second template
  • a unit 83 for example, the explanatory note generation unit 15
  • a reception unit 84 for example, the reception unit 12
  • the function generation unit 81 generates a feature amount generation function by substituting the accepted value into the first template, and the explanatory note generation unit 83 assigns the value assigned to the first template to the second template.
  • the feature amount generation unit 82 generates a feature amount used as an explanatory variable candidate when learning a model for predicting a prediction target value.
  • the first template and the second template include a combination parameter to which a value indicating a key column when the first table and the second table are combined, and a plurality of parameters in the second table. And an aggregation parameter to which a value indicating a column that is a target of the aggregation operation is substituted.
  • the reception part 84 may receive the joint information which shows the value substituted to a joint parameter, and the aggregation information which shows the value substituted to an aggregate parameter.
  • the first template and the second template further include a selection parameter for substituting a value indicating the condition and a column to be selected for selecting a row satisfying the condition from the second table. You may go out. And the reception part 84 may further receive the selection information which shows the value substituted to a selection parameter.
  • the receiving unit 84 may receive one or more pieces of combined information and one or more pieces of aggregate information.
  • the function generation unit 81 may generate a plurality of combinations of the received combined information and aggregate information, and generate a feature amount generation function for each combination.
  • the explanatory note generation unit 83 may generate an explanatory note for each combination.
  • the information processing system 80 adds an explanatory sentence to the feature quantity generation function generated based on the combination used when generating the explanatory sentence, or is generated by applying the feature quantity generation function. You may further provide the explanatory note provision part (for example, explanatory note production
  • the first template and the second template further include a selection parameter in which a value indicating the condition and a column to be selected is substituted for selecting a row satisfying the condition from the second table. You may go out.
  • the receiving unit 84 may further receive one or a plurality of selection information that is a value to be substituted for the selection parameter.
  • the function generation unit 81 may generate a plurality of combinations of the received combination information, aggregate information, and selection information, and generate a feature amount generation function for each combination.
  • generation part 83 may produce
  • the first template and the second template may further include a table parameter to which a value for identifying the second table is substituted.
  • the reception part 84 may further receive the table information which is a value substituted to a table parameter.
  • the second template includes a table template including a table parameter, a join template including a join parameter, an aggregate template including an aggregate parameter, a selection template including a selection parameter, and a label parameter to which a label is substituted. And a label template including a plurality of labels. Then, the explanatory note generation unit 83 generates a table label expressed in natural language from the table template by substituting the table information into the table parameter, and substitutes the combination information into the connection parameter to generate the natural language from the combined template.
  • Generate a combined label that is expressed assign the aggregate information to the aggregate parameter, generate an aggregate label that is expressed in natural language from the aggregate template, and substitute the selection information into the selection parameter to convert the selected template into the natural language
  • An explanatory text may be generated from the label template by generating the expressed selection label and applying the table label, the combined label, the aggregation label, and the selection label to a plurality of locations of the label parameter.
  • the aggregation parameter indicates that when the rows in the first table and the rows in the second table have a one-to-many correspondence at the time of joining, Information for indicating a column may be substituted.
  • the information processing system 80 may further include a learning unit (for example, the learning unit 16) that learns a model that predicts a prediction target value by using the generated feature amount as a candidate for an explanatory variable.
  • a learning unit for example, the learning unit 16
  • the information processing system 80 may further include a prediction unit (for example, the prediction unit 17) that obtains a predicted value by applying the generated feature amount to the model.
  • a prediction unit for example, the prediction unit 17
  • FIG. 27 is a block diagram showing another outline of the information processing system according to the present invention.
  • the information processing system 90 includes table information indicating a name of a second table (for example, a source table) associated with a first table (for example, a target table) including a variable to be predicted, a first table,
  • a reception unit 91 for example, accepting join information indicating a key column when joining the second table and aggregate information indicating an aggregation operation and a column to be subjected to the aggregation operation for a plurality of rows in the second table (for example, A template including a reception unit 12), a table parameter to which a value indicating table information is assigned, a binding parameter to which a value indicating binding information is assigned, and an aggregation parameter to which a value indicating aggregation information is assigned,
  • An explanatory sentence generation unit 92 for example, an explanatory sentence generation unit 15) that generates an explanatory sentence by substituting a value indicating the table information received by the reception
  • FIG. 28 is a schematic block diagram showing a configuration of a computer according to at least one embodiment.
  • the computer 1000 includes a CPU 1001, a main storage device 1002, an auxiliary storage device 1003, and an interface 1004.
  • the information processing system described above is mounted on the computer 1000.
  • the operation of each processing unit described above is stored in the auxiliary storage device 1003 in the form of a program (feature description program).
  • the CPU 1001 reads out the program from the auxiliary storage device 1003, expands it in the main storage device 1002, and executes the above processing according to the program.
  • the auxiliary storage device 1003 is an example of a tangible medium that is not temporary.
  • Other examples of the non-temporary tangible medium include a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, and a semiconductor memory connected via the interface 1004.
  • this program is distributed to the computer 1000 via a communication line, the computer 1000 that has received the distribution may develop the program in the main storage device 1002 and execute the above processing.
  • the program may be for realizing a part of the functions described above. Further, the program may be a so-called difference file (difference program) that realizes the above-described function in combination with another program already stored in the auxiliary storage device 1003.
  • difference file difference program
  • a first template prepared in advance includes a feature quantity generation function that generates a feature quantity that can affect the prediction target from the first table including the variable to be predicted and the second table.
  • a function generation unit that generates the feature amount by applying the feature amount generation function to the first table and the second table, and the feature amount generation function or
  • the function generation unit includes: an explanatory note generation unit that generates an explanatory note about the feature amount based on a second template; and a reception unit that receives values to be substituted into the first template and the second template.
  • the section substitutes the received value into the first template to generate the feature quantity generation function, and the explanation sentence generation section uses the value substituted into the first template as the second template.
  • the feature amount generation unit generates a feature amount used as an explanatory variable candidate when learning a model for predicting the prediction target value. Processing system.
  • the first template and the second template include a combination parameter to which a value indicating a key column when the first table and the second table are combined, and a plurality of parameters in the second table.
  • An aggregation parameter to which a value indicating an aggregation operation for a row and a column to be subjected to the aggregation operation is substituted, and the reception unit substitutes the combined information indicating the value to be substituted for the coupling parameter and the aggregation parameter
  • the information processing system according to appendix 1, which receives aggregated information indicating a value to be processed.
  • the first template and the second template are selection parameters in which values indicating the condition and the column to be selected are substituted for selecting rows satisfying the condition from the second table.
  • the information processing system according to supplementary note 2, wherein the reception unit further receives selection information indicating a value to be substituted for the selection parameter.
  • the accepting unit accepts one or more combined information and one or more aggregated information
  • the function generating unit generates a plurality of combinations of the accepted combined information and aggregated information
  • a feature value generation function is generated for each combination
  • an explanatory note generation unit generates an explanatory note for each combination, and generates a feature amount generation function generated based on the combination used when generating the explanatory note.
  • the information processing system according to supplementary note 2, further comprising an explanatory note adding unit that assigns the explanatory note or adds the explanatory note to a feature amount generated by applying the feature amount generation function.
  • the first template and the second template are selection parameters in which values indicating the condition and the column to be selected are substituted for selecting rows satisfying the condition from the second table.
  • the reception unit further receives one or more selection information that is a value to be substituted for the selection parameter, and the function generation unit generates a plurality of combinations of the received combination information, aggregation information, and selection information.
  • the information processing system according to appendix 4, wherein a feature amount generation function is generated for each combination, and the explanatory note generation unit generates an explanatory note for each combination.
  • the first template and the second template further include a table parameter to which a value for identifying the second table is substituted, and the reception unit includes table information that is a value to be substituted for the table parameter.
  • the information processing system according to any one of supplementary notes 2 to 5 that is further received.
  • the second template includes a table template including a table parameter, a join template including a join parameter, an aggregate template including an aggregate parameter, a selection template including a selection parameter, and a label parameter to which a label is substituted.
  • the description generation unit includes a plurality of label templates, and generates a table label expressed in natural language from the table template by substituting the table information into the table parameter, and substituting the combination information into the coupling parameter.
  • the aggregation parameter is calculated when the row in the first table and the row in the second table have a one-to-many correspondence at the time of joining.
  • the information processing system according to any one of supplementary notes 2 to 7, into which information for indicating a target column is substituted.
  • the supplementary note 1 according to any one of supplementary note 1 to supplementary note 8, further comprising a learning unit that learns a model for predicting a prediction target value using the generated feature quantity as a candidate for an explanatory variable.
  • Information processing system
  • Additional remark 10 The information processing system of Additional remark 9 further provided with the prediction part which applies the produced
  • Table information indicating the name of the second table to be associated with the first table including the variable to be predicted, and a combination indicating a key column when combining the first table and the second table A reception unit that receives information, aggregated information indicating an aggregation operation for a plurality of rows in the second table, and a column that is a target of the aggregation operation, a table parameter into which a value indicating the table information is substituted, A value including table information received by the receiving unit, a value indicating combination information, and aggregation information in a template including a combination parameter into which a value indicating combination information is substituted and an aggregation parameter into which a value indicating aggregation information is substituted
  • An information processing system comprising: an explanatory note generation unit that generates an explanatory note by substituting a value indicating
  • the receiving unit further receives selection information indicating the condition and the column to be selected for selecting a row satisfying the condition from the second table, and the template indicates the selection information.
  • the information processing system according to supplementary note 11, further including a selection parameter to which a value is substituted, wherein the explanatory note generation unit generates an explanatory note by substituting a value indicating the selection information received by the receiving unit into the template.
  • Table information indicating the name of the second table to be associated with the first table including the variable to be predicted, and a combination indicating a key column when combining the first table and the second table Receiving information, aggregate information indicating an aggregate operation for a plurality of rows in the second table and a column to be subjected to the aggregate operation, a table parameter to which a value indicating the table information is substituted, and binding information
  • a value indicating the received table information, a value indicating the combination information, and a value indicating the aggregation information are substituted into a template including a binding parameter to which the value to be indicated is assigned and an aggregation parameter to which the value indicating the aggregation information is assigned.
  • An explanatory note generation method characterized by generating an explanatory note.
  • a first table prepared in advance includes a feature amount generation function for generating a feature amount that can affect the prediction target from the first table including the variable to be predicted and the second table.
  • Function generation processing generated using a template, feature amount generation processing for generating the feature amount by applying the feature amount generation function to the first table and the second table, the feature amount generation function Or, an explanatory text generation process for generating an explanatory text about the feature amount based on a second template, and an acceptance process for receiving a value to be substituted into the first template and the second template,
  • the received value is substituted into the first template to generate the feature quantity generation function.
  • the first template is substituted for the first template.
  • a feature that is used as a candidate for an explanatory variable when substituting the calculated value into the second template to generate the explanatory text and learning a model for predicting the prediction target value in the feature value generation processing An explanatory text generation program for generating a quantity.
  • a reception process for receiving aggregate information indicating aggregate information for a plurality of rows in the second table and columns to be subjected to the aggregate operation, and a value indicating the table information are substituted.
  • a value indicating the table information received in the reception process and the combined information are displayed in a template including a table parameter, a combined parameter to which a value indicating the combined information is substituted, and an aggregate parameter to which the value indicating the aggregated information is substituted.
  • An explanatory note generation program for executing an explanatory note generation process for generating an explanatory note by substituting a value and a value indicating aggregate information.
  • Extraction unit 100 200 Information Processing system S11, S13, S14, S15 Source table T11, T21 Target table D11, D21, D22, D31, D32, D33, D34 Feature quantity generation function E11, E12, E13

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • Stored Programmes (AREA)

Abstract

関数生成部81は、予測対象の変数を含む第一の表、および、第二の表から予測対象に影響を及ぼし得る特徴量を生成する特徴量生成関数を、予め用意された第一のテンプレートを用いて生成する。特徴量生成部82は、第一の表および第二の表に対して特徴量生成関数を適用して特徴量を生成する。説明文生成部83は、特徴量生成関数または特徴量についての説明文を、第二のテンプレートに基づいて生成する。受付部84は、第一のテンプレートおよび第二のテンプレートに代入する値を受け付ける。関数生成部81は、受け付けられた値を第1のテンプレートに代入して特徴量生成関数を生成し、説明文生成部83は、第一のテンプレートに代入された値を第二のテンプレートに代入して説明文を生成する。

Description

情報処理システム、特徴量説明方法および特徴量説明プログラム
 本発明は、学習や予測に用いる特徴量を生成するための情報処理システム並びに生成した特徴量を説明する特徴量説明方法および特徴量説明プログラムに関する。
 予測分析のプロセスは、下記に示す3つの段階に大別できる。
 1つ目の段階(工程)は、「前処理段階」である。「前処理段階」は、予測分析アルゴリズムが効果的に機能するようにするために、予測分析アルゴリズムに従って動作する装置などに入力する属性(feature )を加工する段階である。
 2つ目の段階は、「分析処理段階」である。「分析処理段階」は、予測分析アルゴリズムに従って動作する装置などに属性を入力し、係る予測分析アルゴリズムに従って動作する装置などの出力である分析結果を得る段階である。
 3つめの段階は、「後処理段階」である。「後処理段階」は、分析結果を、見やすいグラフや他の機器に入力するための制御信号等に変換する段階である。
 このように予測分析により有用な知見を得るためには、「前処理段階」が適切に行われる必要がある。「前処理段階」をどのような手順で実行すべきかを設計する作業は、分析技術の熟練技術者(データサイエンティスト)の知識に依存する。前処理段階の設計作業は、情報処理技術によって十分には支援されておらず、未だ熟練技術者の手作業による試行錯誤に依存する部分が大きい。
 有用な知見を見つけるためには、より多くの属性の候補を生成することが重要である。具体的には、予測対象である変数(目的変数)に影響を及ぼし得る多くの属性(説明変数)の候補を生成することが重要である。このような多くの候補を生成することにより、予測に役立つ属性がこの候補の中に含まれる可能性を高めることができるからである。
 例えば、特許文献1には、学習データの属性を組み合わせた新たな属性を列挙する属性列挙システムが記載されている。特許文献1に記載されたシステムは、学習データの属性とその属性の組み合わせの最大数とから属性の組み合わせを表わす論理式表現の組み合わせ方を表現したDNFラベルの集合を生成する。
国際公開第2015/186278号
 ところで、予測分析の過程において、データ分析者は、生成された新たな属性がどのような意味を有する属性であるか解釈する必要がある。なお、属性は、特徴量(feature)ということもある。
 特許文献1は、新たな属性を生成することを開示しているため、特許文献1に記載されたシステムを用いることで、効率よく多くの特徴量を列挙することは可能である。一方、生成される特徴量が多くなると、個々の特徴量の意味を把握することも困難になるという技術的課題がある。そのため、新たな特徴量を効率よく生成しながらも、生成された特徴量の説明をデータ分析者に理解しやすい態様で提供できることが好ましい。
 そこで、本発明は、生成される特徴量の説明を人間に理解しやすい態様で提供できる情報処理システム、特徴量説明方法および特徴量説明プログラムを提供することを目的とする。
 本発明による情報処理システムは、予測対象の変数を含む第一の表、および、第二の表から予測対象に影響を及ぼし得る特徴量を生成する特徴量生成関数を、予め用意された第一のテンプレートを用いて生成する関数生成部と、第一の表および第二の表に対して特徴量生成関数を適用して特徴量を生成する特徴量生成部と、特徴量生成関数または特徴量についての説明文を、第二のテンプレートに基づいて生成する説明文生成部と、第一のテンプレートおよび第二のテンプレートに代入する値を受け付ける受付部とを備え、関数生成部が、受け付けられた値を第1のテンプレートに代入して特徴量生成関数を生成し、説明文生成部が、第一のテンプレートに代入された値を第二のテンプレートに代入して説明文を生成し、特徴量生成部が、予測対象の値を予測するモデルを学習する際に、説明変数の候補として用いられる特徴量を生成することを特徴とする。
 本発明による他の情報処理システムは、予測対象の変数を含む第一の表と対応付ける第二の表の名称を示す表情報と、第一の表と第二の表とを結合する際のキー列を示す結合情報と、第二の表における複数の行に対する集約演算と集約演算の対象となる列とを示す集約情報とを受け付ける受付部と、表情報を示す値が代入される表パラメータと、結合情報を示す値が代入される結合パラメータと、集約情報を示す値が代入される集約パラメータとを含むテンプレートに、受付部が受け付けた表情報を示す値、結合情報を示す値および集約情報を示す値を代入して、説明文を生成する説明文生成部とを備えたことを特徴とする。
 本発明による説明文生成方法は、受け付けた値を予め用意された第一のテンプレートに代入することにより、予測対象の変数を含む第一の表、および、第二の表から予測対象に影響を及ぼし得る特徴量を生成する特徴量生成関数を生成し、第一の表および第二の表に対して特徴量生成関数を適用することにより、予測対象の値を予測するモデルを学習する際に説明変数の候補として用いられる特徴量を生成し、特徴量生成関数または特徴量についての説明文を、第一のテンプレートに代入された値を第二のテンプレートに代入することにより生成することを特徴とする。
 本発明による他の説明文生成方法は、予測対象の変数を含む第一の表と対応付ける第二の表の名称を示す表情報と、第一の表と第二の表とを結合する際のキー列を示す結合情報と、第二の表における複数の行に対する集約演算と集約演算の対象となる列とを示す集約情報とを受け付け、表情報を示す値が代入される表パラメータと、結合情報を示す値が代入される結合パラメータと、集約情報を示す値が代入される集約パラメータとを含むテンプレートに、受け付けた表情報を示す値、結合情報を示す値および集約情報を示す値を代入して、説明文を生成することを特徴とする。
 本発明による説明文生成プログラムは、コンピュータに、予測対象の変数を含む第一の表、および、第二の表から予測対象に影響を及ぼし得る特徴量を生成する特徴量生成関数を、予め用意された第一のテンプレートを用いて生成する関数生成処理、第一の表および第二の表に対して特徴量生成関数を適用して特徴量を生成する特徴量生成処理、特徴量生成関数または特徴量についての説明文を、第二のテンプレートに基づいて生成する説明文生成処理、および、第一のテンプレートおよび第二のテンプレートに代入する値を受け付ける受付処理を実行させ、関数生成処理で、受け付けられた値を第1のテンプレートに代入して特徴量生成関数を生成させ、説明文生成処理で、第一のテンプレートに代入された値を第二のテンプレートに代入して説明文を生成させ、特徴量生成処理で、予測対象の値を予測するモデルを学習する際に、説明変数の候補として用いられる特徴量を生成させる
ことを特徴とする。
 本発明による他の説明文生成プログラムは、コンピュータに、予測対象の変数を含む第一の表と対応付ける第二の表の名称を示す表情報と、第一の表と第二の表とを結合する際のキー列を示す結合情報と、第二の表における複数の行に対する集約演算と集約演算の対象となる列とを示す集約情報とを受け付ける受付処理、および、表情報を示す値が代入される表パラメータと、結合情報を示す値が代入される結合パラメータと、集約情報を示す値が代入される集約パラメータとを含むテンプレートに、受付処理で受け付けた表情報を示す値、結合情報を示す値および集約情報を示す値を代入して、説明文を生成する説明文生成処理を実行させることを特徴とする。
 本発明によれば、上述した技術的手段により、生成される特徴量の説明を人間に理解しやすい態様で提供できるという技術的効果を奏する。
本発明による情報処理システムの第一の実施形態の構成例を示すブロック図である。 filterの例を示す説明図である。 mapの例を示す説明図である。 reduceの例を示す説明図である。 各パラメータが示す処理の例を示す説明図である。 第一のテンプレートに値を適用して特徴量生成関数を生成する処理の例を示す説明図である。 特徴量生成関数の生成に用いる情報の例を示す説明図である。 第一のテンプレートに値を適用して特徴量生成関数を生成する処理の他の例を示す説明図である。 特徴量を生成する処理の例を示す説明図である。 各ラベルを生成する処理の例を示す説明図である。 生成されたラベルから説明文を生成する処理の例を示す説明図である。 第一の実施形態の情報処理システムの動作例を示すフローチャートである。 特徴量生成関数を生成する処理の変形例を示す説明図である。 特徴量生成関数を生成する処理の他の変形例を示す説明図である。 複数のソーステーブルの例を示す説明図である。 表パラメータを含む第一のテンプレートの例を示す説明図である。 特徴量生成関数を生成する方法の例を示す説明図である。 本発明による情報処理システムの第三の実施形態の構成例を示すブロック図である。 ターゲットテーブルおよびソーステーブルの例を示す説明図である。 生成される特徴量の例を示す説明図である。 情報処理システム200の動作例を示す説明図である。 本発明による情報処理システムの第四の実施形態の構成例を示すブロック図である。 関数テンプレートの例を示す説明図である。 特徴量生成関数から各情報を抽出する処理の例を示す説明図である。 第四の実施形態の情報処理システムの動作例を示すフローチャートである。 本発明による情報処理システムの概要を示すブロック図である。 本発明による情報処理システムの他の概要を示すブロック図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
 図1は、本発明による情報処理システムの第一の実施形態の構成例を示すブロック図である。本実施形態の情報処理システム100は、記憶部11と、受付部12と、関数(descriptor)生成部13と、特徴量生成部14と、説明文生成部15とを備えている。
 記憶部11は、予測対象(すなわち、目的変数)の変数を含む表(以下、第一の表と記すこともある。)、および、第一の表に含まれるデータの集合(以下、第一表データと記すこともある。)を記憶する。以下の説明では、第一の表をターゲットテーブルと記すこともある。また、記憶部11は、第一の表と異なる表(以下、第二の表と記すことある。)、および、第二の表に含まれるデータの集合(以下、第二表データと記すこともある。)を記憶する。以下の説明では、この第二の表をソーステーブルと記すこともある。
 第一の表および第二の表は、データの属性を表わす列(カラム)の組合せにより定義される。また、各表は、各属性の値を示すデータを組み合わせた1つ以上の行(レコード)を含む。例えば、それぞれの顧客からは個人情報を利用することについて予め同意を得られている状況において、顧客の契約情報や顧客の通話情報履歴に基づき、ある顧客が来月携帯電話を解約するか否かを推定する状況を想定する。この場合、予測対象は、顧客の解約の有無である。この場合、第一の表(ターゲットテーブル)には、顧客を識別する情報(顧客ID)と、その顧客の解約の有無を示す値が含まれる(後述する図3におけるターゲットテーブルT11参照。ターゲットテーブルT11における「解約」の列が予測対象(すなわち、目的変数)に相当する。)。また、第二の表(ソーステーブル)には、第一の表とは異なる情報が含まれる(後述する図3におけるソーステーブルS11参照)。
 第一の表の粒度は、第二の表の粒度と同一であってもよく、異なっていてもよい。ここで、表の粒度とは、表に含まれるデータの細かさを表す指標であり、具体的には、その表に含まれるデータがどの項目で一意に特定できるかを表す指標である。例えば、ターゲットテーブルに含まれる各データが、顧客を識別するID(顧客ID)で特定できる場合、この顧客IDが表の粒度に相当する。データベースの場合、この粒度は、例えば、プライマリキーに相当する。よって、ターゲットテーブル(第一の表)と粒度が異なる表とは、ターゲットテーブルの各行に対して、行が一対一に対応していない表を意味する。なお、後述する特徴量生成関数(feature descriptor)を生成する際、記憶部11は、第一表データおよび第二表データを記憶していなくてもよい。
 受付部12は、後述する関数生成部13が特徴量生成関数を生成するために必要な各種情報、および、後述する説明文生成部15が特徴量生成関数または特徴量の意味を表す説明文(feature explanation)を生成するために必要な情報の入力を受け付ける。
 受付部12は、通信ネットワーク(図示せず)を介して受信する情報を受け付けてもよく、これらの情報を記憶する記憶装置(図示せず)から情報を読み取って受け付けてもよい。また、この記憶装置の機能を記憶部11が兼ねていてもよい。受付部12が受け付ける入力の内容は、後述される。
 以下の説明で、特徴量とは、予測対象に影響を及ぼし得る変数を意味する。また、特徴量のベクトル(特徴量ベクトル)とは、第一の表の行数に対応する次元のベクトルであり、説明変数(予測変数)を意味するデータである。なお、複数の特徴量ベクトルからなる情報を、特徴量テーブルと記すこともある。特徴量生成関数は、具体的には、特徴量ベクトルを生成する関数である。すなわち、特徴量を生成するとは、特徴量ベクトルを生成することを意味する。一方、特徴量を設計するとは、特徴量生成関数を設計することを意味する。以下の説明では、特徴量と特徴量ベクトルとを区別なく“特徴量”と表現する。
 関数生成部13は、受付部12が受け付けた情報を用いて特徴量生成関数を生成する。特徴量生成関数は、第一の表および第二の表から予測対象(すなわち、目的変数)に影響を及ぼし得る変数である特徴量を生成するために用いられる。
 特徴量は、機械学習を用いてモデルを生成する際の説明変数の候補になる。言い換えると、本実施形態で生成される特徴量生成関数を用いることで、機械学習を用いてモデルを生成する際の説明変数の候補を自動的に生成することが可能になる。
 関数生成部13は、予め用意されたテンプレート(以下、第一のテンプレートと記す。)を用いて特徴量生成関数を生成する。第一のテンプレートには、例えば、3種類のパラメータが含まれる。具体的には、受付部12が第一のテンプレートに代入する値として3種類のパラメータに代入する値を受け付け、関数生成部13は、受け付けられた値を第一のテンプレートの各パラメータに代入して特徴量生成関数を生成する。以下、第一のテンプレートに含まれる各パラメータの内容を説明する。
 第一のパラメータは、第二の表に含まれる行の抽出条件を表わすパラメータである。より具体的には、第一のパラメータには、第二の表から条件を満たす行を選択するため、その条件と選択の対象になる列とを示す値(以下、選択情報と記す。)が代入される。以下の説明では、第一のパラメータを選択パラメータと記すこともある。第一のパラメータが示す選択情報は、ソーステーブル(第二の表)に対する条件式として定義されてもよい。以下、第一のパラメータに基づいて第二の表から行を抽出する処理を「filter」と記載する場合がある。また、この条件式のリストを「Fリスト」と記載する場合がある。
 抽出条件は任意であり、例えば、指定された列の値と同じ(大きいまたは小さい)か否か判断する条件が挙げられる。
 図2は、filterの例を示す説明図である。図2に例示するソーステーブルS11(第二の表)は、顧客の通話記録(具体的には、通話時刻、通話方向、通話タイプおよび通話時間)を含む表とする。図2に示す例では、ソーステーブルS11の属性に、「顧客ID」、「時刻」、「通話方向」、「タイプ」および「通話時間」が含まれる。ここで、第一のパラメータに、選択の対象になる列として属性「通話方向」が指定され、選択の条件に属性「通話方向」の示す値「OUT」が指定されたとする。この場合、ソーステーブルから、通話方向=OUTを満たす行を含む表R11が選択される。図2に示される「通話情報=OUT」が選択情報に相当する。
 第二のパラメータは、第一の表の列と第二の表の列との対応条件を表わすパラメータである。より具体的には、第二のパラメータには、第一の表と第二の表とを結合する際のキー列を示す値(以下、結合情報と記す。)が代入される。以下の説明では、第二のパラメータを結合パラメータと記すこともある。第二のパラメータが示す結合情報は、ターゲットテーブル(第一の表)の列とソーステーブル(第二の表)の列を対応付ける列のペアとして定義されてもよい。以下、第二のパラメータに基づいて各テーブルの列を対応付ける処理を「map」と記載する場合がある。また、この列のペアのリストを「Mリスト」と記載する場合がある。また、mapによる各表の列の対応付けは、対応付けられた列で複数の表を1つの表に結合(join)することとも言える。
 図3は、mapの例を示す説明図である。図3に例示するターゲットテーブルT11(第一の表)は、顧客を識別する顧客IDと解約の有無を示す変数とを含む表とする。図3に例示するターゲットテーブルT11は、「顧客ID」、「プラン」、「機器」および「解約(の有無)」を属性に含む。なお、図3に例示するソーステーブルS11の内容は、図2に例示するソーステーブルS11と同様である。
 図3に示す例で、第二のパラメータにおける結合するキー列として、ターゲットテーブルT11の「顧客ID」列と、ソーステーブルS11の「顧客ID」列とが指定されたとする。このパラメータは、ターゲットテーブルT11とソーステーブルS11とを、それぞれの「顧客ID」列で結合することを示す。なお、粒度が異なるテーブルの場合、ターゲットテーブルに含まれる各属性の値が、ソーステーブルの「顧客ID」列に応じてそれぞれ展開される。その結果、2つの表から1つの表R12が生成される。図3に示される「ターゲットテーブル列名:顧客ID、ソーステーブル列名:顧客ID」が結合情報に相当する。
 第三のパラメータは、第二の表に含まれるある列に関して、複数の行を集約する方法を示すパラメータである。より具体的には、第三のパラメータには、第一の表と第二の表とを結合する際、第二の表における複数の行に対する集約演算と、その集約演算の対象になる列とを示す値(以下、集約情報と記す。)が代入される。例えば、ターゲットテーブルにおいて結合情報に指定される列が主キーである場合、結合情報にて指定された列の値が定まれば目的変数列の値が一意に定まる。この場合、Reduce処理によって、ソーステーブルにおけるある列のレコード数が、目的変数列のレコード数と同じレコード数まで、結果として集約される。
 以下の説明では、第三のパラメータを集約パラメータと記すこともある。第三のパラメータが示す集約情報は、ソーステーブル(第二の表)の列に対する集約関数として定義されてもよい。以下、第三のパラメータが示す方法により各列のデータを集約する処理を「reduce」と記載する場合がある。また、この集約関数のリストを「Rリスト」と記載する場合がある。
 集約方法は任意であり、例えば、列の総数、最大値、最小値、平均値、中央値、分散などが挙げられる。また、列の総数の集計は、重複データを除外する、または、重複データを除外しない、のいずれかの観点で行われてもよい。
 図4は、reduceの例を示す説明図である。図4に例示するテーブルR13は、図3に例示する表R12の一部の列を示している。図4に示す例では、第三のパラメータとして、第二の表に対して行われる集約演算に最大値の抽出、その集約演算の対象になる列に通話時間を指定したとする。この場合、キーである「顧客ID」ごとに、通話時間の最大値を選択した結果、表R14が生成される。図4に示される「列名:通話時間、集約関数:MAX」が集約情報に相当する。
 図5は、各パラメータが示す処理の例を示す説明図である。図5に示す例では、ターゲットテーブルTとソーステーブルSがそれぞれ1つずつ存在し、key列が両テーブルを対応付ける列である。また、ターゲットテーブルのY列が目的変数である。図5におけるSは、ソーステーブルS内の列の集合のサブセットである。
 まず、filterで、ソーステーブルSにおけるX’列の値valueが所定の条件を満たす行が選択され、サブセットSが生成される。次に、mapで、ターゲットテーブルTの行とソーステーブルSの行とが、それぞれのkey列を介して結合される。例えば、key列の値が同じ列同士が結合される。そして、reduceで、ターゲットテーブルTの各行に対してmapで対応付けられたソーステーブルSの列のうちfilterで選び出された行の集合の値を用いて、集約演算が行われる。
 図6は、第一のテンプレートに値を適用して特徴量生成関数を生成する処理の例を示す説明図である。図6に例示する第一のテンプレートTempにおいて、アンダーラインを付した個所が各パラメータに該当する。図6に例示するテンプレート内のTは、第一の表を意味し、Sは、第二の表を示す。また、「$M.T列名」は、第二のパラメータに含まれる第一の表のキー列を示す。「$R.集約関数($R.列名)」は、第三のパラメータに含まれる集約演算およびその集約演算の対象になる列を示す。「F.条件式」は、第一のパラメータに含まれる第二の表から行を選択する条件を示す。「$M.S列名」は、第二のパラメータに含まれる第二の表のキー列を示す。関数生成部13は、これらの各パラメータに受け付けたパラメータの値を代入することで特徴量生成関数を生成する。
 受付部12が、例えば、選択情報として「通話方向=IN」、結合情報として「T.顧客ID=S.顧客ID」、集約情報として、「通話時間=COUNT」を受け付けたとする。このとき、関数生成部13は、第一のパラメータに、「通話方向=IN」、第二のパラメータに、「T.顧客ID=S.顧客ID」、第三のパラメータに、「通話時間=COUNT」をそれぞれ代入して、特徴量生成関数D11を生成する。
 第一のテンプレートは、図6に例示するように、問合せ言語であるSQLに従って用意されてもよい。この場合、関数生成部13は、SQL文を生成するテンプレートに抽出条件、対応条件および集約方法を適用して特徴量生成関数を生成すればよい。したがって、特徴量生成関数は、第一の表および第二の表に対する問合せ文(クエリ)と言うことができる。なお、以下の説明では、リレーショナルデータベースを例示するが、分散処理実行基盤で用いられるような抽象的なデータ構造を有する場合も、本発明を同様に適用可能である。
 また、受付部12が、複数の結合情報、集約情報または選択情報を受け付けた場合、関数生成部13は、受け付けられた結合情報、集約情報および選択情報の組み合わせを複数生成し、生成された組み合わせごとに特徴量生成関数を生成してもよい。
 以下、関数生成部13が特徴量生成関数を複数生成する手順を具体的に説明する。図7は、特徴量生成関数の生成に用いる情報の例を示す説明図である。図7に示す例では、予測対象の変数(目的変数)が顧客の解約の有無を示す変数であるとする。なお、ターゲットテーブルT11およびソーステーブルS11の内容は、図2および図3に例示する内容と同様である。
 Fリストは、第一のパラメータに代入される選択情報のリストである。図7に示すFリストは、18の選択情報の候補を含む。Mリストは、第二のパラメータに代入される結合情報のリストである。図7に示すMリストは、1つの結合情報の候補を含む。Rリストは、第三のパラメータに代入される集約情報のリストである。図7に示すRリストは、6つの集約情報の候補を含む。
 なお、Fリスト、MリストおよびRリストは、機械で自動的に作成されてもよく、人間によって手動で作成されてもよい。ここでは、図7に例示するFリスト、MリストおよびRリストが予め作成されているものとする。
 まず、関数生成部13は、Fリスト、MリストおよびRリストから、それぞれ1つずつ候補を選択し、各候補の組合せを生成する。関数生成部13は、例えば、組合せの一つとして、Fリストから「通話方向=IN」、Mリストから「T.顧客ID=S.顧客ID」、Rリストから「通話時間=COUNT」を選択する。他にも、関数生成部13は、例えば、Fリストから「通話方向=OUT and タイプ=call」、Mリストから「T.顧客ID=S.顧客ID」、Rリストから「時刻=MAX」を選択する。図7に示す例では、Fリストに18通りの条件式、Mリストに1通りの対応条件、および、Rリストに6通りの集約方法が含まれる。そのため、これらの各リストの候補から108通りの組み合わせが生成される。
 次に、関数生成部13は、生成された組み合わせごとに特徴量生成関数を生成する。具体的には、関数生成部13は、生成された組合せに含まれる結合情報、集約情報および選択情報を、第一のテンプレートに代入して特徴量生成関数を生成する。上記例では、結合情報は、Mリストから選択された候補に該当し、集約情報は、Rリストから選択された候補に該当し、選択情報は、Fリストから選択された候補に該当する。
 例えば、問合せ言語にSQLを用いる場合、特徴量生成関数は、SQL文として定義され、Fリスト、MリストおよびRリストからそれぞれ選択される3つの候補の値が、SQL文を生成するためのパラメータに代入される。
 図8は、第一のテンプレートに値を適用して特徴量生成関数を生成する処理の他の例を示す説明図である。図8に例示するテンプレートの内容は、図6に例示するテンプレートTempの内容と同様であり、予め用意される。関数生成部13は、テンプレートTempの下線で示すパラメータに、結合情報、集約情報および選択情報を適用することで特徴量生成関数を生成する。
 組み合わせが複数生成された場合であっても、特徴量生成関数を生成する方法は同様である。例えば、図8に例示するように、Fリストから「通話方向=IN」という条件式、Mリストから「顧客ID同士で対応づけ」という対応条件、Rリストから「通話時間の列をカウント」という集約方法を選択した組合せが生成されたとする。この場合、関数生成部13は、この組合せをテンプレートTempに適用し、図8に例示する特徴量生成関数D21を生成する。この特徴量生成関数D21によって表現される特徴量は、かかって来た通話または届いたメッセージの総数を表わす。
 他にも、図8に例示するように、Fリストから「通話方向=OUT AND タイプ=call」という条件式、Mリストから「顧客ID同士で対応づけ」という対応条件、Rリストから「時刻が最大」という集約方法を選択した組合せが生成されたとする。この場合、関数生成部13は、この組合せをテンプレートTempに適用し、図8に例示する特徴量生成関数D22を生成する。この特徴量生成関数D22によって表現される特徴量は、音声通話をかけた時刻の最新値を表わす。
 上記に例示する以外にも、様々な特徴量を生成することが可能である。例えば、Fリストから「タイプ=call AND 通話方向=OUT AND HOUR(時刻)<7」という条件式、Mリストから「顧客ID同士で対応づけ」という対応条件、Rリストから「通話時間の平均」という集約方法を選択した組合せが生成されたとする。この組合せによって表現される特徴量は、7時前にかけられた音声通話の平均時間を表わす。
 また、Fリストから「タイプ=call AND 通話方向=IN」という条件式、Mリストから「顧客ID同士で対応づけ」という対応条件、Rリストから「通話時間の分散」という集約方法を選択した組合せが生成されたとする。この組合せによって表現される特徴量は、かかって来た通話における通話時間のばらつき度合いを表わす。
 特徴量生成部14は、生成された特徴量生成関数を第一の表および第二の表に適用して特徴量(具体的には、特徴量ベクトル)を生成する。特徴量生成部14は、予測対象の値を予測するためのモデルを学習する際に、説明変数の候補として用いられる特徴量を生成する。
 特徴量生成部14は、上述するパラメータを用いた特徴量生成関数によって、以下の処理に基づき特徴量を生成する。特徴量生成部14は、まず、第一のパラメータで指定されたソーステーブルの抽出条件に基づき、ソーステーブルから1つ以上の行を抽出する(filter)。
 特徴量生成部14は、次に、第二のパラメータで指定された結合情報を介して、ターゲットテーブルとソーステーブルとを対応付ける(Map)。なお、ターゲットテーブルとソーステーブルとを対応付ける際、結合情報で示す列の値が完全一致する行同士だけでなく、指定された類似度により対応付けられてもよい。例えば、日時データで対応を取る際に、日時が完全に一致する行同士だけでなく、二つの行の日時の差が所定の範囲内(例えば、6時間以内)であれば対応付ける、という例が挙げられる。また、ターゲットテーブルとソーステーブルにそれぞれ、経度・緯度の列があり、これらを用いて対応条件を記載する際に、2地点の距離が所定の範囲内(例えば、5Km以内)、といった距離に基づく対応付けを行う例も挙げられる。
 特徴量生成部14は、次に、第三のパラメータで指定された集約方法に基づいて、ターゲットテーブルの各行に対してfilterによって選び出された行のうち、mapにより対応付けられた行を集約する(reduce)。この集約により、ターゲットテーブルの各行に対して得られた値を含むベクトルが特徴量とされる。
 図9は、特徴量を生成する処理の例を示す説明図である。図9に示す例では、図2に例示するターゲットテーブルT11と図3に例示するソーステーブルS11を利用し、特徴量として「顧客の最大通話時間」を生成するものとする。この場合、第一のパラメータには、選択情報として「タイプ=call」が代入される。また、第二のパラメータには、結合情報として「T.顧客ID=S.顧客ID」が代入される。また、第三のパラメータには、集約情報として、「通話時間=MAX」が代入される。その結果、図9に例示する特徴量生成関数D31が生成される。
 特徴量生成部14は、この特徴量生成関数D31を、ターゲットテーブルT11およびソーステーブルS11に適用することで、「顧客の最大通話時間」を示す特徴量R21を生成する。特徴量生成部14は、例えば図9のテーブルR21に示すように、結合情報にて指定された列(ここでは顧客ID)と生成した特徴量とが紐付された形式のデータを出力することが好ましい。
 説明文生成部15は、生成された特徴量生成関数または特徴量についての説明文を生成する。本実施形態で生成する説明文は、抽象的な特徴量の生成モデルを自然言語で表現したものであり、特徴量生成関数または特徴量の意味を表す文のことである。すなわち、説明文は、特徴量そのものに対する説明文であってもよいし、説明量生成関数に対する説明文であってもよい。
 具体的には、説明文生成部15は、特徴量生成関数または特徴量についての説明文を、テンプレート(以下、第二のテンプレートと記す。)に基づいて生成する。第一のテンプレートに代入された情報は第二のテンプレートにも代入される。すなわち、説明文生成部15は、第一のテンプレートに代入された値を第二のテンプレートにも代入して説明文を生成する。
 第二のテンプレートは、ソーステーブルの情報(以下、表情報と記す。)から説明文の一部(表ラベル)を生成する表テンプレートと、結合パラメータから説明文の一部(結合ラベル)を生成する結合テンプレートと、集約パラメータから説明文の一部(集約ラベル)を生成する集約テンプレートと、選択パラメータから説明文の一部(選択ラベル)を生成する選択テンプレートを含む。さらに、第二のテンプレートは、表ラベル、結合ラベル、集約ラベルおよび選択ラベルが代入されるラベルパラメータから説明文を生成するラベルテンプレートを含む。
 説明文生成部15は、表情報を表パラメータに代入することにより、表テンプレートから自然言語表現された表ラベルを生成する。表情報は、受付部12が明示的に受け付けた情報であってもよく、選択パラメータ、結合パラメータまたは集約パラメータから説明文生成部15によって特定されてもよい。
 同様に、説明文生成部15は、結合情報を結合パラメータに代入することにより、結合テンプレートから自然言語表現された結合ラベルを生成する。また、説明文生成部15は、集約情報を集約パラメータに代入することにより、集約テンプレートから自然言語表現された集約ラベルを生成する。また、説明文生成部15は、選択情報を選択パラメータに代入することにより、選択テンプレートから自然言語表現された選択ラベルを生成する。
 そして、説明文生成部15は、表ラベル、結合ラベル、集約ラベルおよび選択ラベルをラベルパラメータにそれぞれ代入することにより、ラベルテンプレートから説明文を生成する。
 図10は、各ラベルを生成する処理の例を示す説明図である。表ラベルの生成では、図10に例示するような、表テンプレートTemp11が用いられる。表テンプレートTemp11において、「$ソーステーブル名」が表パラメータを表す。表パラメータには、例えば、第一のテンプレートに代入された結合情報における第二の表の値が代入される。説明文生成部15は、例えば、表情報として第二の表の名称「call_log」を受け付けると、その名称を表パラメータ「$ソーステーブル名」に代入することにより、表テンプレートTemp11から自然言語表現された表ラベル「call_log」を生成する。なお、例えば第二の表が一つしかない場合など、表情報が自明である場合については、必ずしも表情報を明示的に受け付ける必要は無く、表パラメータに予め表情報が代入されていてもよい。
 同様に、選択ラベルの生成では、図10に例示するような、選択テンプレートTemp12が用いられる。選択テンプレートTemp12において、「$条件式」が選択パラメータを表す。選択パラメータには、第一のテンプレートに代入された選択情報が代入される。説明文生成部15は、例えば、選択情報として「通話方向=IN」を受け付けると、その値を選択パラメータ「$条件式」に代入することにより、選択テンプレートTemp12から自然言語表現された選択ラベル「通話方向=INである」を生成する。
 同様に、結合ラベルの生成では、図10に例示するような、結合テンプレートTemp13が用いられる。結合テンプレートTemp13において、「$T列名」が結合パラメータを表す。結合パラメータには、第一のテンプレートに代入された結合情報が代入される。説明文生成部15は、例えば、結合情報として「T.顧客ID=S.顧客ID」を受け付けると、その値を結合パラメータ「$T列名」に代入することにより、結合テンプレートTemp13から自然言語表現された結合ラベル「顧客IDが同じ」を生成する。
 同様に、集約ラベルの生成では、図10に例示するような、集約テンプレートTemp14が用いられる。集約テンプレートTemp14において、「$列名」および「$集約関数」が集約パラメータを表す。集約パラメータには、第一のテンプレートに代入された集約情報が代入される。
 ここで、集約関数は、自然言語表現されていない場合も考えられる。そこで、集約関数に応じた変換ルールを定義しておき、説明文生成部15は、その変換ルールに基づいて、集約情報を変換してもよい。説明文生成部15が、例えば、集約情報として「通話時間=SUM」を受け付け、図10に例示する変換ルール101が予め定められていたとする。この場合、説明文生成部15は、この変換ルール101に基づいて、集約関数「SUM」を「合計」に変換する。
 その後、説明文生成部15は、集約情報および変換された集約関数名を集約パラメータ「$列名」および「$集約関数」にそれぞれ代入することにより、集約テンプレートTemp14から自然言語表現された集約ラベル「通話時間の合計」を生成する。
 図11は、生成されたラベルから説明文を生成する処理の例を示す説明図である。説明文の生成では、図11に例示するような、ラベルテンプレートTemp21が用いられる。ラベルテンプレートTemp21において、「$表ラベル」、「$結合ラベル」、「$選択ラベル」および「$集約ラベル」がラベルパラメータを表す。
 説明文生成部15は、表ラベル、結合ラベル、集約ラベルおよび選択ラベルをそれぞれのラベルパラメータに適用することにより、ラベルテンプレートから説明文を生成する。ラベルパラメータには、生成された表ラベル、結合ラベル、集約ラベルおよび選択ラベルが適用される。説明文生成部15は、例えば、図11で生成された表ラベル「call_log」、結合ラベル「顧客IDが同じ」、集約ラベル「通話時間の合計」および選択ラベル「通話方向=INである」を各ラベルパラメータに適用することにより、ラベルテンプレートTemp21から、説明文E11を生成する。
 なお、上記説明では、集約関数を別の表現に変換する変換ルール101について説明した。ただし、代入する値を変換する処理は、集約ラベルを生成する場合に限定されず、また、変換ルールも、上述するような辞書型の変換に限定されない。説明文生成部15は、想定される入力に応じて、様々な変換ルールを定義しておいてもよい。
 変換ルールとして、例えば、不要な文字の削除が挙げられる。上述する例において、表情報に「call_log」を受け付けた場合、説明文生成部15は、単語を結びつけるアンダーラインを不要と判断し、アンダーラインを削除した「call log」を生成してもよい。
 また、説明文生成部15は、生成されたラベルが表す言語を相互に翻訳してもよい。上述する例において、表ラベルが「call log」と生成されたとする。このとき、説明文生成部15は、英語から日本語への翻訳を行うことにより、「通話記録」という訳語を生成してもよい。これらの処理を行うことによって、例えば、「call_logテーブル」というラベルを、「通話記録テーブル」というラベルに変換できる。
 また、期間に応じた別の呼び方が知られている場合、説明文生成部15は、生成されたラベルで表現される期間を別の呼び方に変換してもよい。例えば、「6時から12時の間」は、一般に午前中と呼ぶことができる。この場合、説明文生成部15は、「6時から12時の間」を示す条件式(HOUR(時刻)>6 and HOUR(時刻)<12)を「時刻が午前中」と変換してもよい。このようにすることで、生成される特徴量の説明を人間により理解しやすくできる。
 また、複数の特徴量生成関数(または複数の特徴量)と複数の説明文とが一度に生成された場合、説明文生成部15は、生成された特徴量生成関数(または特徴量)と生成された説明文との対応付けを行う。この場合、説明文生成部15は、説明文付与部として動作する。具体的には説明文生成部15は、同じ値の組み合わせ(すなわち、表情報、選択情報、結合情報および集約情報のうち必要な情報の組み合わせ)に基づいて生成された特徴量生成関数と説明文とを、互いに対応しているとみなす。説明文生成部15は、特徴量と説明文との対応付けをする場合についても同様に対応付けを行う。
 記憶部11は、例えば、磁気ディスク装置により実現される。また、受付部12と、関数生成部13と、特徴量生成部14と、説明文生成部15とは、プログラム(特徴量説明プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、記憶部11に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、受付部12、関数生成部13、特徴量生成部14および説明文生成部15として動作してもよい。また、本情報処理システムの機能がSaaS(Software as a Service )形式で提供されてもよい。
 また、受付部12と、関数生成部13と、特徴量生成部14と、説明文生成部15とは、それぞれが専用のハードウェアで実現されていてもよい。受付部12と、関数生成部13と、特徴量生成部14と、説明文生成部15とは、それぞれが汎用または専用の回路(circuitry )により実現されていてもよい。ここで、汎用または専用の回路(circuitry )は、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。また、各装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、 集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 次に、本実施形態の情報処理システムの動作を説明する。図12は、第一の実施形態の情報処理システムの動作例を示すフローチャートである。受付部12は、各テンプレートに代入する値(すなわち、表情報、選択情報、結合情報および集約情報のうち必要な情報)を受け付ける(ステップS101)。関数生成部13は、受け付けた値を第一のテンプレートに代入して特徴量生成関数を生成する(ステップS102)。特徴量生成部14は、第一の表および第二の表に特徴量生成関数を適用して特徴量を生成する(ステップS103)。そして、説明文生成部15は、第一のテンプレートに代入された値を第二のテンプレートに代入して説明文を生成する(ステップS104)。なお、ステップS104は、必ずしもステップS102またはステップS103よりも後に実行される必要はない。例えば、ステップS104は、ステップS101の直後に実行されるとしてもよい。
 以上のように、本実施形態では、関数生成部13が、受け付けた値を第一のテンプレートに代入することにより特徴量生成関数を生成し、特徴量生成部14が、第一の表および第二の表に対して特徴量生成関数を適用することにより、予測対象の値を予測するモデルを学習する際に説明変数の候補として用いられる特徴量を生成する。そして、説明文生成部15は、特徴量生成関数または特徴量についての説明文を、第一のテンプレートに代入された値を第二のテンプレートに代入することにより生成する。よって、生成される特徴量の説明を人間に理解しやすい態様で提供できる。
 すなわち、本実施形態では、SQL文に代表される問合せ言語に即して作成された第一のテンプレートと、その第一のテンプレートと共通のパラメータを有する第二のテンプレートとを用いて、説明文が生成される。そのため、特徴量生成関数(または特徴量)の生成とともに、その特徴量生成関数(または特徴量)の説明文を人間に理解しやすい態様で提供できる。
 次に、本実施形態の情報処理システムの第一の変形例を説明する。第一の実施形態では、受付部12が、結合パラメータに代入される値を示す結合情報と、集約パラメータに代入される値を示す集約情報と、選択パラメータに代入される値を示す選択情報とを受け付ける場合について説明した。一方、第二の表からすべての行を選択する場合、選択情報は不要になる。
 この場合、関数生成部13は、第一の実施形態で説明した結合パラメータと集約パラメータを用いて特徴量生成関数を生成することが可能である。この場合、第一のテンプレートおよび第二のテンプレートは、結合パラメータと、集約パラメータとを含んでいればよい。また、受付部12は、結合情報と集約情報とを受け付ければよい。この場合、説明文生成部15は、この2つのパラメータ(結合パラメータおよび集約パラメータ)を用いて説明文を生成すればよい。
 具体的には関数生成部13は、受け付けた結合情報および集約情報を第一のテンプレートに代入して特徴量生成関数を生成する。特徴量生成部14は、生成された特徴量生成関数を第一の表および第二の表に適用して特徴量を生成する。説明文生成部15は、第一のテンプレートに代入された情報(すなわち、結合情報および集約情報)を第二のテンプレートに代入して、説明文を生成する。
 図13は、特徴量生成関数を生成する処理の変形例を示す説明図である。図13に例示するソーステーブルS12は、タイプ=callのみの通話記録を含むとする。この場合、ソーステーブルS12に含まれるすべてのデータが特徴量の生成の対象になる。したがって、選択情報は不要になる。この場合、関数生成部13は、受け付けた結合情報「T.顧客ID=S.顧客ID」および集約情報「通話時間=MAX」を第一のテンプレートに代入して特徴量生成関数D32を生成すればよい。
 なお、第一のテンプレートに、選択パラメータが含まれている場合、関数生成部13は、選択パラメータにダミー条件(例えば、1=1)を代入して特徴量生成関数を生成すればよい。また、このとき、説明文生成部15は、第二のテンプレートに、ダミー条件を表す選択ラベル(例えば、「すべてを対象とした」)を適用した説明文E12を生成すればよい。
 次に、本実施形態の情報処理システムの第二の変形例を説明する。第一の実施形態では、第一の表と第二の表を結合する際、第一の表における行と第二の表における行とが一対多対応する場合について説明した。一方、第一の表と第二の表が一対一に対応する場合、集約情報は不要になる。
 この場合、関数生成部13は、第一の実施形態で説明した結合パラメータと選択パラメータを用いて特徴量生成関数を生成することが可能である。この場合、第一のテンプレートおよび第二のテンプレートは、結合パラメータと、選択パラメータとを含んでいればよい。また、受付部12は、結合情報と選択情報とを受け付ければよい。この場合、説明文生成部15は、この2つのパラメータ(結合パラメータおよび選択パラメータ)を用いて説明文を生成すればよい。
 具体的には関数生成部13は、受け付けた結合情報および選択情報を第一のテンプレートに代入して特徴量生成関数を生成する。特徴量生成部14は、生成された特徴量生成関数を第一の表および第二の表に適用して特徴量を生成する。説明文生成部15は、第一のテンプレートに代入された情報(すなわち、結合情報および選択情報)を第二のテンプレートに代入して、説明文を生成する。
 図14は、特徴量生成関数を生成する処理の他の変形例を示す説明図である。図14に例示するソーステーブルS13は、顧客の年齢、性別および住所を含む表とする。この場合、ターゲットテーブルT11とソーステーブルS13とは一対一に対応する。したがって、集約情報は不要になる。この場合、男性および女性の年齢を対象にして特徴量を生成したい場合、関数生成部13は、受け付けた結合情報「T.顧客ID=S.顧客ID」および選択情報「性別=男or女」を第一のテンプレートに代入して特徴量生成関数D33を生成すればよい。
 なお、第一のテンプレートに、集約パラメータが含まれている場合、関数生成部13は、集約パラメータにダミー条件(例えば、最頻値:MODE(年齢))を代入して特徴量生成関数を生成すればよい。また、このとき、説明文生成部15は、第二のテンプレートに、集約関数を削除した集約ラベル(例えば、「年齢」)を適用した説明文E13を生成すればよい。
実施形態2.
 次に、本発明による情報処理システムの第二の実施形態を説明する。第一の実施形態では、第二の表の情報を受け付けずに特徴量および説明文を生成する方法を説明した。本実施形態では、表情報を明示的に受け付ける場合について説明する。なお、本実施形態の構成は、第一の実施形態と同様である。
 本実施形態では、第一のテンプレートおよび第二のテンプレートは、第二の表を識別する値が代入される表パラメータを含む。受付部12は、結合情報、集約情報および選択情報に加え、表パラメータに代入される値である表情報を更に受け付ける。なお、第一の表と第二の表との粒度は同一であってもよく、異なっていてもよい。
 図15は、複数のソーステーブルの例を示す説明図である。図15に例示するソーステーブルS14は、支払テーブルの例であり、ターゲットテーブルと、1対多に対応する。また、図15に例示するソーステーブルS15は、コールセンターへの問合せテーブルの例であり、ターゲットテーブルと、1対(0~多)に対応する。なお、図15に例示するソーステーブルS13は、顧客テーブルであり、図14に例示する内容と同様に、ターゲットテーブルと一対一に対応する。
 図16は、表パラメータを含む第一のテンプレートの例を示す説明図である。図16に例示する第一のテンプレートTemp31は、表パラメータとして「ソーステーブル名」を含む。複数のソーステーブルを利用する場合、受付部12は、特徴量生成関数を生成するごとにソーステーブル名を含む表情報を受け付ければよい。
 図17は、特徴量生成関数を生成する方法の例を示す説明図である。図17に例示するターゲットテーブルT11とソーステーブルS14を用いて、特徴量「顧客の2010年2月の総支払金額」を生成するとする。このとき、受付部12は、結合情報として「T.顧客ID=payment.顧客ID」を、集約情報として「SUM(支払金額)」を、選択情報として「時刻 in 2010年2月」をそれぞれ受け付ける。さらに、受付部12は、これらの情報に加え、表情報として表名「payment」を受け付ける。関数生成部13は、受け付けた各情報を、例えば、図16に例示する第一のテンプレートTemp31に代入して特徴量生成関数D34を生成する。
 以上のように、本実施形態では、第一のテンプレートおよび第二のテンプレートが、第二の表を識別する値が代入される表パラメータを更に含む。そして、受付部12が、表パラメータに代入される値である表情報を更に受け付ける。このような構成によっても、生成される特徴量の説明を人間に理解しやすい態様で提供できる。
実施形態3.
 次に、本発明による情報処理システムの第三の実施形態を説明する。本実施形態の情報処理システムは、生成された特徴量に基づいて訓練データを作成し、作成された訓練データを用いて予測モデルを学習し、その予測モデルを用いて予測結果を出力する。
 図18は、本発明による情報処理システムの第三の実施形態の構成例を示すブロック図である。本実施形態の情報処理システム200は、記憶部11と、受付部12と、関数生成部13と、特徴量生成部14と、説明文生成部15と、学習部16と、予測部17と、訓練データ生成部18と、予測用データ生成部19とを備えている。
 すなわち、本実施形態の情報処理システム200は、第一の実施形態の情報処理システム100と比較し、学習部16、予測部17、訓練データ生成部18および予測用データ生成部19とをさらに備えている。なお、記憶部11、受付部12、関数生成部13、特徴量生成部14および説明文生成部15の内容は、第一の実施形態または第二の実施形態と同様であるため、詳細な説明は省略する。
 訓練データ生成部18は、特徴量生成部14が生成した特徴量と、第一の表とに基づいて、後述する学習部16が学習に用いる訓練データを生成する。
 また、予測用データ生成部19は、特徴量生成部14が生成した特徴量と、第一の表とに基づいて、後述する予測部17が用いる予測用データを生成する。
 学習部16は、生成された特徴量を説明変数の候補として用いて、予測対象の値を予測するモデルを学習する。なお、モデルの学習方法は任意である。学習部16は、特徴量選択(Feature Selection )機能を備えていても良い。学習部16に説明変数の候補が複数入力され、学習部16が特徴量選択を行い、学習部16が選択された特徴量を用いて学習処理を行ってもよい。学習部16は、特徴量選択処理の後処理として学習処理を行ってもよいし、特徴量選択処理と学習処理とを一体として実行してもよい。
 予測部17は、学習部16によって学習されたモデルと予測用データとを用いて予測を行う。具体的には、予測部17は、予測用データ生成部19によって生成された予測用データを、学習部16によって学習されたモデルに適用して予測結果を得る。
 以下、生成された特徴量を用いて学習部16がモデルを生成し、予測部17が予測結果を得る方法を具体例を用いて説明する。図19は、本具体例で用いるターゲットテーブルおよびソーステーブルの例を示す説明図である。本具体例では、2010年2月のデータを含むターゲットテーブルT11と、2010年3月のデータを含むターゲットテーブルT21が存在するものとする。ターゲットテーブルT11のプライマリキーおよびターゲットテーブルT21のプライマリキーは、両者ともに顧客IDである。また、本具体例では、2010年3月のデータに含まれる顧客(顧客ID=1021)の解約の有無を予測するものとする。
 また、図19に例示するソーステーブルS16は、顧客の通話記録を表わす。ソーステーブルS16は、ターゲットテーブルT11に含まれる解約の有無が既知の顧客の通話記録のほか、ターゲットテーブルT21に含まれる顧客の通話記録も含む。
 理解を容易にするために、本具体例では、受付部12が、ターゲットテーブルのプライマリキーを示す列(T11およびT21に示す例では顧客ID)を結合情報として受け付けたことを想定する。特徴量生成部14は、図19に例示するターゲットテーブル11 およびソーステーブルS16に特徴量生成関数を適用して特徴量(訓練データ用の特徴量ベクトル)を生成する。また、特徴量生成部14は、図19に例示するターゲットテーブル21 およびソーステーブルS16に同じ特徴量生成関数を適用して特徴量(予測用データ用の特徴量ベクトル)を生成する。本具体例では、第一の特徴量として「顧客の最大通話時間」が生成され、第二の特徴量として、「顧客の総通話時間」が生成され、第三の特徴量として、「SMSの総回数」が生成されるものとする。前述した通り、特徴量生成部14は、結合情報にて指定された列(ここでは顧客ID)と生成した特徴量とが紐付された形式のデータを出力するものとする。
 図20は、訓練データと予測用データとの具体例を示す説明図である。訓練データ生成部18は、ターゲットテーブルT11および特徴量生成部14が生成した特徴量(訓練データ用の特徴量ベクトル)を用いて訓練データR22を生成する。例えば訓練データ生成部18は、ターゲットテーブルT11と特徴量生成部14が生成した各特徴量(前述したように顧客IDと紐付されているとする)とを、顧客IDを結合キーとして結合することにより訓練データR22を生成する。図20に示されるように、訓練データR22に含まれるレコードは目的変数の値を有している。また、予測用データ生成部19は、ターゲットテーブルT21および特徴量生成部14が生成した特徴量(予測用データ用の特徴量ベクトル)を用いて、予測用データR23を生成する。例えば予測用データ生成部19は、ターゲットテーブルT21と特徴量生成部14が生成した特徴量(前述したように顧客IDと紐付されているとする)とを、顧客IDを結合キーとして結合することにより予測用データR23を生成する。図20に示されるように、予測用データR23に含まれるレコードは目的変数の値を有していない。
 学習部16は、生成された訓練データR22を用いてモデルを学習する。図20に示す例では学習部16は、「解約」を目的変数として、その他の特徴量(プラン、機器、生成した特徴量1、2および3)を説明変数の候補として、モデルを学習する。モデルは、例えば、以下に例示する式1で表されていてもよい。
 解約Y=F(プラン,特徴量2,特徴量3,…)  (式1)
 予測部17は、予測用データR23のうち必要な特徴量の値を上述する式1に代入して予測結果を得る。上述の例では、モデルに、プランの値としてP2を、特徴量2の値として240を、特徴量3の値として1を代入することにより、予測結果を得る。このようにして、顧客ID=1021で識別される顧客の解約有無が予測される。
 受付部12と、関数生成部13と、特徴量生成部14と、説明文生成部15と、学習部16と、予測部17と、訓練データ生成部18と、予測用データ生成部19とは、プログラム(特徴量説明プログラム)に従って動作するコンピュータのCPUによって実現される。
 図21は、本実施形態の情報処理システム200の動作例を示す説明図である。なお、図21に例示する第一のテンプレート61、第二のテンプレート62、第一の表63、第二の表64、訓練データ65および予測用データ66は、記憶部11に記憶されていてもよい。
 まず、受付部12が、特徴量生成関数および説明文の生成に必要な各種情報を受け付ける。関数生成部13は、受け付けた情報および第一のテンプレート61を用いて特徴量生成関数51を生成する。説明文生成部15は、受け付けた情報および第二のテンプレート62を用いて説明文52を生成する。
 特徴量生成部14は、特徴量生成関数51を、第一の表63および第二の表64に適用して特徴量53を生成する。特徴量生成部14は、生成された特徴量53に説明文52を付加してもよい。
 訓練データ生成部18は、生成した特徴量53および第一の表63のデータから、訓練データ65を生成する。学習部16は、訓練データ65を用いて学習済モデル54を学習する。
 予測用データ生成部19は、生成した特徴量53および第一の表63のデータから、予測用データ66を生成する。そして、予測部17は、学習済モデル54および予測用データ66を用いて、予測結果55を出力する。
 以上のように、本実施形態では、学習部16が、生成された特徴量を説明変数の候補として用いて、予測対象の値を予測するモデルを学習する。また、本実施形態では、予測部17が、第一の表および第二の表に対して特徴量生成関数を適用して、モデルに代入する特徴量を生成し、その特徴量をモデルに適用して予測値を得る。そのような構成により、新たに生成された特徴量を用いてモデルを学習し、予測をすることが可能なため、より精度の高い予測を行うことが可能になる。
実施形態4.
 次に、本発明による情報処理システムの第四の実施形態を説明する。第一の実施形態から第三の実施形態では、情報処理システムが特徴量生成関数の生成とともに説明文を生成した。本実施形態では、すでに作成された特徴量生成関数から、説明文を生成する方法を説明する。
 図22は、本発明による情報処理システムの第四の実施形態の構成例を示すブロック図である。本実施形態の情報処理システム300は、記憶部21と、受付部22と、抽出部23と、説明文生成部24とを備えている。
 記憶部21は、第一の実施形態から第三の実施形態と同様に、第一の表(ターゲットテーブル)および第二の表(ソーステーブル)を記憶する。また、第一の表および第二の表の内容は、第一の実施形態から第三の実施形態と同様である。
 受付部22は、第一の実施形態から第三の実施形態で説明した特徴量生成関数を受け付ける。すなわち、受付部22は、予測対象の変数を含む第一の表、および、第二の表から予測対象に影響を及ぼし得る変数である特徴量を生成する特徴量生成関数を受け付ける。
 第一の実施形態で説明したように、特徴量生成関数は、予め用意された第一のテンプレートのパラメータに各種情報を適用して生成されるものである。そして、第一のテンプレートは、第一の表と第二の表とを結合する際のキー列を示す値が代入される結合パラメータおよび第二の表における複数の行に対する集約演算とその集約演算の対象になる列とを示す値が代入される集約パラメータを含む。また、第一のテンプレートは、第二の表から条件を満たす行を選択するための、条件と選択の対象となる列とを示す値が代入される選択パラメータを含む場合もある。さらに、第一のテンプレートは、第二の表を識別する値が代入される表パラメータを含む場合もある。
 抽出部23は、受付部22が受け付けた特徴量生成関数から、第二の表の名称を示す表情報、第一の表と第二の表とを結合する際のキー列を示す結合情報、および、第二の表における複数の行に対する集約演算と集約演算の対象となる列を示す集約情報とを抽出する。また、抽出部23は、第二の表から条件を満たす行を選択するための、条件と選択の対象となる列とを示す選択情報を抽出してもよい。
 具体的には、抽出部23は、特徴量生成関数と比較する1以上のテンプレート(以下、関数テンプレートと記す。)を保持しておき、受け付けた特徴量生成関数と関数テンプレートとを比較して、表情報、結合情報および集約情報を抽出する。
 関数テンプレートは、表パラメータ、結合パラメータおよび集約パラメータを含む。関数テンプレートは、比較対象(すなわち、特徴量生成関数)との位置関係から上記各パラメータ(すなわち、表パラメータ、結合パラメータおよび集約パラメータ)を抽出可能に設計される。関数テンプレートは、例えば、表情報、結合情報および集約情報が対応する各パラメータに代入された場合に、特徴量生成関数を生成できるように設計されていてもよい。また、関数テンプレートは、選択パラメータを含んでいてもよい。
 図23は、関数テンプレートの例を示す説明図である。図23には、2つの関数テンプレートを例示している。図23に例示するテンプレートTemp41は、図16に例示するテンプレートTemp31と同様である。例えば、図23に例示するテンプレートTemp41を用いることで、特徴量生成関数と比較して各パラメータを抽出可能であり、また、テンプレートTemp41の各パラメータに表情報、結合情報、集約情報および選択情報を代入することにより、特徴量生成関数を生成することが可能である。
 抽出部23は、表パラメータに対応する箇所に設定された値を表情報として抽出し、集約パラメータに対応する箇所に設定された値を集約情報として抽出し、結合パラメータに対応する箇所に設定された値を結合情報として抽出する。また、関数テンプレートに選択パラメータを含む場合、抽出部23は、選択パラメータに対応する箇所に設定された値を選択情報として抽出する。
 図24は、特徴量生成関数から各情報を抽出する処理の例を示す説明図である。図24は、特徴量生成関数D41が受け付けられ、関数テンプレートTemp41を用いて抽出処理が行われる例を示す。
 例えば、関数テンプレートTemp41の表パラメータである「ソーステーブル名」に対応する特徴量生成関数D41の位置には、「call_log」が設定されている。そこで、抽出部23は、この「call_log」を表情報として抽出する。
 同様に、集約パラメータである「R.集約関数」および「R.列名」に対応する位置には、それぞれ「SUM」および「通話時間」が設定されている。そこで、抽出部23は、この「通話時間、SUM」を集約情報として抽出する。
 また、結合パラメータの一部である「$M.T列名」に対応する位置には、「顧客ID」が設定されている。そこで、抽出部23は、「T.$M.T列名=Temp.$M.S列名」に対応する「T.顧客ID=Temp(call_log).顧客ID」を結合情報として抽出する。
 また、選択パラメータである「F.条件式」に対応する位置には、「通話方向=IN」が設定されている。そこで、抽出部23は、この「通話方向=IN」を選択情報として抽出する。
 なお、図23に例示するように、関数テンプレートが複数存在する場合、抽出部23は、特徴量生成関数との類似性が最も高い関数テンプレートを選択してもよい。なお、類似性の判断には、文同士の類似度を算出する任意の方法が用いられれば良い。
 また、図23に例示するテンプレートTemp42は、第一の実施形態から第三の実施形態で用いられるテンプレートとは異なるものである。生成される特徴量生成関数の構文に揺れが生じることを考慮し、想定される特徴量生成関数のフォーマットに応じて、複数の関数テンプレートを用意しておくことが好ましい。
 説明文生成部24は、抽出した情報をテンプレート(第二のテンプレート)に代入して、第一の表および第二の表に対して特徴量生成関数を適用して得られる特徴量の説明文を生成する。なお、説明文生成部24が、説明文を生成する方法は、第一の実施形態から第三の実施形態における説明文生成部15が説明文を生成する方法と同様である。
 記憶部21は、例えば、磁気ディスク装置により実現される。また、受付部22と、抽出部23と、説明文生成部24とは、プログラム(特徴量説明プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、記憶部21に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、受付部22、抽出部23および説明文生成部24として動作してもよい。また、本情報処理システムの機能がSaaS(Software as a Service )形式で提供されてもよい。また、受付部22と、抽出部23と、説明文生成部24とは、それぞれが専用のハードウェアで実現されていてもよい。
 受付部22と、抽出部23と、説明文生成部24とは、それぞれが汎用または専用の回路(circuitry )により実現されていてもよい。ここで、汎用または専用の回路(circuitry )は、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。また、各装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、 集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 次に、本実施形態の情報処理システムの動作を説明する。図25は、第四の実施形態の情報処理システムの動作例を示すフローチャートである。
 受付部22は、特徴量生成関数を受け付ける(ステップS111)。抽出部23は、特徴量生成関数から、表情報と、結合情報と、集約情報とを抽出する(ステップS112)。なお、受付部22は、特徴量生成関数から、さらに選択情報を抽出してもよい。説明文生成部24は、抽出した情報をテンプレート(第二のテンプレート)に代入して、特徴量の説明文を生成する(ステップS113)。
 以上のように、本実施形態では、受付部22が、第一の表および第二の表から特徴量を生成する特徴量生成関数を受け付け、抽出部23が、特徴量生成関数から、表情報と結合情報と集約情報とを抽出する。そして、説明文生成部24が、抽出した情報をテンプレート(第二のテンプレート)に代入して、第一の表および第二の表に対して特徴量生成関数を適用して得られる特徴量の説明文を生成する。よって、生成される特徴量の説明を人間に理解しやすい態様で提供できる。
 すなわち、上述する特徴量生成関数は、各表から特徴を抽出するために用いられるものであるため、その特徴量生成関数を参照しても、生成される特徴量の意味を即座に理解することは難しい場合も多い。一方、本実施形態では、抽出部23が、意味を理解するために必要な各情報を抽出し、説明文生成部24が、抽出された情報を整形して提供する。そのため、生成される特徴量が、人間に理解しやすい態様で説明される。
 次に、本発明の概要を説明する。図26は、本発明による情報処理システムの概要を示すブロック図である。本発明による情報処理システム80は、予測対象の変数を含む第一の表(例えば、ターゲットテーブル)、および、第二の表(例えば、ソーステーブル)から予測対象に影響を及ぼし得る特徴量を生成する特徴量生成関数を、予め用意された第一のテンプレートを用いて生成する関数生成部81(例えば、関数生成部13)と、第一の表および第二の表に対して特徴量生成関数を適用して特徴量を生成する特徴量生成部82(例えば、特徴量生成部14)と、特徴量生成関数または特徴量についての説明文を、第二のテンプレートに基づいて生成する説明文生成部83(例えば、説明文生成部15)と、第一のテンプレートおよび第二のテンプレートに代入する値を受け付ける受付部84(例えば、受付部12)とを備えている。
 関数生成部81は、受け付けられた値を第1のテンプレートに代入して特徴量生成関数を生成し、説明文生成部83は、第一のテンプレートに代入された値を第二のテンプレートに代入して説明文を生成し、特徴量生成部82は、予測対象の値を予測するモデルを学習する際に、説明変数の候補として用いられる特徴量を生成する。
 そのような構成により、生成される特徴量の説明を人間に理解しやすい態様で提供できる。
 具体的には、第一のテンプレートおよび第二のテンプレートは、第一の表と第二の表とを結合する際のキー列を示す値が代入される結合パラメータと、第二の表における複数の行に対する集約演算とその集約演算の対象となる列とを示す値が代入される集約パラメータとを含んでいてもよい。そして、受付部84は、結合パラメータに代入される値を示す結合情報と、集約パラメータに代入される値を示す集約情報とを受け付けてもよい。
 また、第一のテンプレートおよび第二のテンプレートは、第二の表から条件を満たす行を選択するための、その条件と選択の対象となる列とを示す値が代入される選択パラメータを更に含んでいてもよい。そして、受付部84は、選択パラメータに代入される値を示す選択情報を更に受け付けてもよい。
 また、受付部84は、一つまたは複数の結合情報と、一つまたは複数の集約情報とを受け付けてもよい。また、関数生成部81は、受け付けられた結合情報と集約情報との組み合わせを複数生成し、その組み合わせごとに特徴量生成関数を生成してもよい。また、説明文生成部83は、組み合わせごとに説明文を生成してもよい。このとき、情報処理システム80は、説明文を生成する際に用いられた組み合わせに基づいて生成された特徴量生成関数に説明文を付与する、または、特徴量生成関数を適用して生成された特徴量に説明文を付与する説明文付与部(例えば、説明文生成部15)を更に備えていてもよい。
 一方、第一のテンプレートおよび第二のテンプレートは、第二の表から条件を満たす行を選択するための、その条件と選択の対象となる列とを示す値が代入される選択パラメータを更に含んでいてもよい。そして、受付部84は、選択パラメータに代入される値である選択情報を更に、一つまたは複数受け付けてもよい。そして、関数生成部81は、受け付けられた結合情報、集約情報および選択情報の組み合わせを複数生成し、その組み合わせごとに特徴量生成関数を生成してもよい。そして、説明文生成部83は、組み合わせごとに説明文を生成してもよい。
 また、第一のテンプレートおよび第二のテンプレートは、第二の表を識別する値が代入される表パラメータを更に含んでいてもよい。そして、受付部84は、表パラメータに代入される値である表情報を更に受け付けてもよい。
 具体的には、第二のテンプレートは、表パラメータを含む表テンプレートと、結合パラメータを含む結合テンプレートと、集約パラメータを含む集約テンプレートと、選択パラメータを含む選択テンプレートと、ラベルが代入されるラベルパラメータを複数含むラベルテンプレートとを含んでいてもよい。そして、説明文生成部83は、表情報を表パラメータに代入することにより、表テンプレートから自然言語表現された表ラベルを生成し、結合情報を結合パラメータに代入することにより、結合テンプレートから自然言語表現された結合ラベルを生成し、集約情報を集約パラメータに代入することにより、集約テンプレートから自然言語表現された集約ラベルを生成し、選択情報を選択パラメータに代入することにより、選択テンプレートから自然言語表現された選択ラベルを生成し、表ラベル、結合ラベル、集約ラベルおよび選択ラベルをラベルパラメータの複数の箇所にそれぞれ適用することにより、ラベルテンプレートから説明文を生成してもよい。
 また、集約パラメータは、結合の際に第一の表における行と第二の表における行とが1対多対応する場合において、第二の表における複数の行に対する集約演算と集約演算の対象となる列とを示すための情報が代入されてもよい。
 また、情報処理システム80は、生成された特徴量を説明変数の候補として用いて、予測対象の値を予測するモデルを学習する学習部(例えば、学習部16)を更に備えていてもよい。
 また、情報処理システム80は、生成された特徴量をモデルに適用して予測値を得る予測部(例えば、予測部17)を更に備えていてもよい。
 図27は、本発明による情報処理システムの他の概要を示すブロック図である。本発明による情報処理システム90は、予測対象の変数を含む第一の表(例えば、ターゲットテーブル)と対応付ける第二の表(例えば、ソーステーブル)の名称を示す表情報と、第一の表と第二の表とを結合する際のキー列を示す結合情報と、第二の表における複数の行に対する集約演算と集約演算の対象となる列とを示す集約情報とを受け付ける受付部91(例えば、受付部12)と、表情報を示す値が代入される表パラメータと、結合情報を示す値が代入される結合パラメータと、集約情報を示す値が代入される集約パラメータとを含むテンプレートに、受付部91が受け付けた表情報を示す値、結合情報を示す値および集約情報を示す値を代入して、説明文を生成する説明文生成部92(例えば、説明文生成部15)とを備えている。
 そのような構成によっても、生成される特徴量の説明を人間に理解しやすい態様で提供できる。
 図28は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ1000は、CPU1001、主記憶装置1002、補助記憶装置1003、インタフェース1004を備える。
 上述の情報処理システムは、コンピュータ1000に実装される。そして、上述した各処理部の動作は、プログラム(特徴量説明プログラム)の形式で補助記憶装置1003に記憶されている。CPU1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、当該プログラムに従って上記処理を実行する。
 なお、少なくとも1つの実施形態において、補助記憶装置1003は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000が当該プログラムを主記憶装置1002に展開し、上記処理を実行しても良い。
 また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であっても良い。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)予測対象の変数を含む第一の表、および、第二の表から前記予測対象に影響を及ぼし得る特徴量を生成する特徴量生成関数を、予め用意された第一のテンプレートを用いて生成する関数生成部と、前記第一の表および前記第二の表に対して前記特徴量生成関数を適用して前記特徴量を生成する特徴量生成部と、前記特徴量生成関数または前記特徴量についての説明文を、第二のテンプレートに基づいて生成する説明文生成部と、前記第一のテンプレートおよび前記第二のテンプレートに代入する値を受け付ける受付部とを備え、前記関数生成部は、前記受け付けられた値を前記第1のテンプレートに代入して前記特徴量生成関数を生成し、前記説明文生成部は、前記第一のテンプレートに代入された値を前記第二のテンプレートに代入して前記説明文を生成し、前記特徴量生成部は、前記予測対象の値を予測するモデルを学習する際に、説明変数の候補として用いられる特徴量を生成することを特徴とする情報処理システム。
(付記2)第一のテンプレートおよび第二のテンプレートは、第一の表と第二の表とを結合する際のキー列を示す値が代入される結合パラメータと、第二の表における複数の行に対する集約演算と当該集約演算の対象となる列とを示す値が代入される集約パラメータとを含み、受付部は、前記結合パラメータに代入される値を示す結合情報と、前記集約パラメータに代入される値を示す集約情報とを受け付ける付記1記載の情報処理システム。
(付記3)第一のテンプレートおよび第二のテンプレートは、第二の表から条件を満たす行を選択するための、当該条件と当該選択の対象となる列とを示す値が代入される選択パラメータを更に含み、受付部は、前記選択パラメータに代入される値を示す選択情報を更に受け付ける付記2記載の情報処理システム。
(付記4)受付部は、一つまたは複数の結合情報と、一つまたは複数の集約情報とを受け付け、関数生成部は、受け付けられた結合情報と集約情報との組み合わせを複数生成し、当該組み合わせごとに特徴量生成関数を生成し、説明文生成部は、前記組み合わせごとに説明文を生成し、前記説明文を生成する際に用いられた組み合わせに基づいて生成された特徴量生成関数に当該説明文を付与する、または、前記特徴量生成関数を適用して生成された特徴量に当該説明文を付与する説明文付与部を更に備えた付記2記載の情報処理システム。
(付記5)第一のテンプレートおよび第二のテンプレートは、第二の表から条件を満たす行を選択するための、当該条件と当該選択の対象となる列とを示す値が代入される選択パラメータを更に含み、受付部は、選択パラメータに代入される値である選択情報を更に、一つまたは複数受け付け、関数生成部は、受け付けられた結合情報、集約情報および選択情報の組み合わせを複数生成し、当該組み合わせごとに特徴量生成関数を生成し、説明文生成部は、前記組み合わせごとに説明文を生成する付記4記載の情報処理システム。
(付記6)第一のテンプレートおよび第二のテンプレートは、第二の表を識別する値が代入される表パラメータを更に含み、受付部は、前記表パラメータに代入される値である表情報を更に受け付ける付記2から付記5のうちのいずれか1つに記載の情報処理システム。
(付記7)第二のテンプレートは、表パラメータを含む表テンプレートと、結合パラメータを含む結合テンプレートと、集約パラメータを含む集約テンプレートと、選択パラメータを含む選択テンプレートと、ラベルが代入されるラベルパラメータを複数含むラベルテンプレートとを含み、説明文生成部は、表情報を表パラメータに代入することにより、前記表テンプレートから自然言語表現された表ラベルを生成し、結合情報を結合パラメータに代入することにより、前記結合テンプレートから自然言語表現された結合ラベルを生成し、集約情報を集約パラメータに代入することにより、前記集約テンプレートから自然言語表現された集約ラベルを生成し、選択情報を選択パラメータに代入することにより、前記選択テンプレートから自然言語表現された選択ラベルを生成し、前記表ラベル、前記結合ラベル、前記集約ラベルおよび前記選択ラベルを前記ラベルパラメータの複数の箇所にそれぞれ適用することにより、前記ラベルテンプレートから説明文を生成する付記6記載の情報処理システム。
(付記8)集約パラメータは、結合の際に第一の表における行と第二の表における行とが1対多対応する場合において、第二の表における複数の行に対する集約演算と集約演算の対象となる列とを示すための情報が代入される付記2から付記7のうちのいずれか1つに記載の情報処理システム。
(付記9)生成された特徴量を説明変数の候補として用いて、予測対象の値を予測するモデルを学習する学習部を更に備えた付記1から付記8のうちのいずれか1つに記載の情報処理システム。
(付記10)生成された特徴量をモデルに適用して予測値を得る予測部を更に備えた付記9記載の情報処理システム。
(付記11)予測対象の変数を含む第一の表と対応付ける第二の表の名称を示す表情報と、前記第一の表と前記第二の表とを結合する際のキー列を示す結合情報と、前記第二の表における複数の行に対する集約演算と前記集約演算の対象となる列とを示す集約情報とを受け付ける受付部と、前記表情報を示す値が代入される表パラメータと、結合情報を示す値が代入される結合パラメータと、集約情報を示す値が代入される集約パラメータとを含むテンプレートに、前記受付部が受け付けた表情報を示す値、結合情報を示す値および集約情報を示す値を代入して、説明文を生成する説明文生成部とを備えたことを特徴とする情報処理システム。
(付記12)受付部は、第二の表から条件を満たす行を選択するための、前記条件と前記選択の対象となる列とを示す選択情報を更に受け付け、テンプレートは、前記選択情報を示す値が代入される選択パラメータを更に含み、説明文生成部は、前記テンプレートに、前記受付部が受け付けた選択情報を示す値を代入して説明文を生成する付記11記載の情報処理システム。
(付記13)受け付けた値を予め用意された第一のテンプレートに代入することにより、予測対象の変数を含む第一の表、および、第二の表から前記予測対象に影響を及ぼし得る特徴量を生成する特徴量生成関数を生成し、前記第一の表および前記第二の表に対して前記特徴量生成関数を適用することにより、前記予測対象の値を予測するモデルを学習する際に説明変数の候補として用いられる前記特徴量を生成し、前記特徴量生成関数または前記特徴量についての説明文を、前記第一のテンプレートに代入された値を第二のテンプレートに代入することにより生成することを特徴とする説明文生成方法。
(付記14)予測対象の変数を含む第一の表と対応付ける第二の表の名称を示す表情報と、前記第一の表と前記第二の表とを結合する際のキー列を示す結合情報と、前記第二の表における複数の行に対する集約演算と前記集約演算の対象となる列とを示す集約情報とを受け付け、前記表情報を示す値が代入される表パラメータと、結合情報を示す値が代入される結合パラメータと、集約情報を示す値が代入される集約パラメータとを含むテンプレートに、前記受け付けた表情報を示す値、結合情報を示す値および集約情報を示す値を代入して、説明文を生成することを特徴とする説明文生成方法。
(付記15)コンピュータに、予測対象の変数を含む第一の表、および、第二の表から前記予測対象に影響を及ぼし得る特徴量を生成する特徴量生成関数を、予め用意された第一のテンプレートを用いて生成する関数生成処理、前記第一の表および前記第二の表に対して前記特徴量生成関数を適用して前記特徴量を生成する特徴量生成処理、前記特徴量生成関数または前記特徴量についての説明文を、第二のテンプレートに基づいて生成する説明文生成処理、および、前記第一のテンプレートおよび前記第二のテンプレートに代入する値を受け付ける受付処理を実行させ、前記関数生成処理で、前記受け付けられた値を前記第1のテンプレートに代入して前記特徴量生成関数を生成させ、前記説明文生成処理で、前記第一のテンプレートに代入された値を前記第二のテンプレートに代入して前記説明文を生成させ、前記特徴量生成処理で、前記予測対象の値を予測するモデルを学習する際に、説明変数の候補として用いられる特徴量を生成させるための説明文生成プログラム。
(付記16)コンピュータに、予測対象の変数を含む第一の表と対応付ける第二の表の名称を示す表情報と、前記第一の表と前記第二の表とを結合する際のキー列を示す結合情報と、前記第二の表における複数の行に対する集約演算と前記集約演算の対象となる列とを示す集約情報とを受け付ける受付処理、および、前記表情報を示す値が代入される表パラメータと、結合情報を示す値が代入される結合パラメータと、集約情報を示す値が代入される集約パラメータとを含むテンプレートに、前記受付処理で受け付けた表情報を示す値、結合情報を示す値および集約情報を示す値を代入して、説明文を生成する説明文生成処理を実行させるための説明文生成プログラム。
 以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2017年3月30日に出願された米国仮出願第62/478,882号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 11,21 記憶部
 12,22 受付部
 13 関数生成部
 14 特徴量生成部
 15,24 説明文生成部
 16 学習部
 17 予測部
 18 訓練データ生成部
 19 予測用データ生成部
 23 抽出部
 100,200 情報処理システム
 S11,S13,S14,S15 ソーステーブル
 T11,T21 ターゲットテーブル
 D11,D21,D22,D31,D32,D33,D34 特徴量生成関数
 E11,E12,E13 説明文

Claims (16)

  1.  予測対象の変数を含む第一の表、および、第二の表から前記予測対象に影響を及ぼし得る特徴量を生成する特徴量生成関数を、予め用意された第一のテンプレートを用いて生成する関数生成部と、
     前記第一の表および前記第二の表に対して前記特徴量生成関数を適用して前記特徴量を生成する特徴量生成部と、
     前記特徴量生成関数または前記特徴量についての説明文を、第二のテンプレートに基づいて生成する説明文生成部と、
     前記第一のテンプレートおよび前記第二のテンプレートに代入する値を受け付ける受付部とを備え、
     前記関数生成部は、前記受け付けられた値を前記第1のテンプレートに代入して前記特徴量生成関数を生成し、
     前記説明文生成部は、前記第一のテンプレートに代入された値を前記第二のテンプレートに代入して前記説明文を生成し、
     前記特徴量生成部は、前記予測対象の値を予測するモデルを学習する際に、説明変数の候補として用いられる特徴量を生成する
     ことを特徴とする情報処理システム。
  2.  第一のテンプレートおよび第二のテンプレートは、
     第一の表と第二の表とを結合する際のキー列を示す値が代入される結合パラメータと、
     第二の表における複数の行に対する集約演算と当該集約演算の対象となる列とを示す値が代入される集約パラメータとを含み、
     受付部は、前記結合パラメータに代入される値を示す結合情報と、前記集約パラメータに代入される値を示す集約情報とを受け付ける
     請求項1記載の情報処理システム。
  3.  第一のテンプレートおよび第二のテンプレートは、
     第二の表から条件を満たす行を選択するための、当該条件と当該選択の対象となる列とを示す値が代入される選択パラメータを更に含み、
     受付部は、前記選択パラメータに代入される値を示す選択情報を更に受け付ける
     請求項2記載の情報処理システム。
  4.  受付部は、一つまたは複数の結合情報と、一つまたは複数の集約情報とを受け付け、
     関数生成部は、受け付けられた結合情報と集約情報との組み合わせを複数生成し、当該組み合わせごとに特徴量生成関数を生成し、
     説明文生成部は、前記組み合わせごとに説明文を生成し、
     前記説明文を生成する際に用いられた組み合わせに基づいて生成された特徴量生成関数に当該説明文を付与する、または、前記特徴量生成関数を適用して生成された特徴量に当該説明文を付与する説明文付与部を更に備えた
     請求項2記載の情報処理システム。
  5.  第一のテンプレートおよび第二のテンプレートは、第二の表から条件を満たす行を選択するための、当該条件と当該選択の対象となる列とを示す値が代入される選択パラメータを更に含み、
     受付部は、選択パラメータに代入される値である選択情報を更に、一つまたは複数受け付け、
     関数生成部は、受け付けられた結合情報、集約情報および選択情報の組み合わせを複数生成し、当該組み合わせごとに特徴量生成関数を生成し、
     説明文生成部は、前記組み合わせごとに説明文を生成する
     請求項4記載の情報処理システム。
  6.  第一のテンプレートおよび第二のテンプレートは、第二の表を識別する値が代入される表パラメータを更に含み、
     受付部は、前記表パラメータに代入される値である表情報を更に受け付ける
     請求項2から請求項5のうちのいずれか1項に記載の情報処理システム。
  7.  第二のテンプレートは、
     表パラメータを含む表テンプレートと、
     結合パラメータを含む結合テンプレートと、
     集約パラメータを含む集約テンプレートと、
     選択パラメータを含む選択テンプレートと、
     ラベルが代入されるラベルパラメータを複数含むラベルテンプレートとを含み、
     説明文生成部は、
     表情報を表パラメータに代入することにより、前記表テンプレートから自然言語表現された表ラベルを生成し、
     結合情報を結合パラメータに代入することにより、前記結合テンプレートから自然言語表現された結合ラベルを生成し、
     集約情報を集約パラメータに代入することにより、前記集約テンプレートから自然言語表現された集約ラベルを生成し、
     選択情報を選択パラメータに代入することにより、前記選択テンプレートから自然言語表現された選択ラベルを生成し、
     前記表ラベル、前記結合ラベル、前記集約ラベルおよび前記選択ラベルを前記ラベルパラメータの複数の箇所にそれぞれ適用することにより、前記ラベルテンプレートから説明文を生成する
     請求項6記載の情報処理システム。
  8.  集約パラメータは、結合の際に第一の表における行と第二の表における行とが1対多対応する場合において、第二の表における複数の行に対する集約演算と集約演算の対象となる列とを示すための情報が代入される
     請求項2から請求項7のうちのいずれか1項に記載の情報処理システム。
  9.  生成された特徴量を説明変数の候補として用いて、予測対象の値を予測するモデルを学習する学習部を更に備えた請求項1から請求項8のうちのいずれか1項に記載の情報処理システム。
  10.  生成された特徴量をモデルに適用して予測値を得る予測部を更に備えた請求項9記載の情報処理システム。
  11.  予測対象の変数を含む第一の表と対応付ける第二の表の名称を示す表情報と、前記第一の表と前記第二の表とを結合する際のキー列を示す結合情報と、前記第二の表における複数の行に対する集約演算と前記集約演算の対象となる列とを示す集約情報とを受け付ける受付部と、
     前記表情報を示す値が代入される表パラメータと、結合情報を示す値が代入される結合パラメータと、集約情報を示す値が代入される集約パラメータとを含むテンプレートに、前記受付部が受け付けた表情報を示す値、結合情報を示す値および集約情報を示す値を代入して、説明文を生成する説明文生成部とを備えた
     ことを特徴とする情報処理システム。
  12.  受付部は、第二の表から条件を満たす行を選択するための、前記条件と前記選択の対象となる列とを示す選択情報を更に受け付け、
     テンプレートは、前記選択情報を示す値が代入される選択パラメータを更に含み、
     説明文生成部は、前記テンプレートに、前記受付部が受け付けた選択情報を示す値を代入して説明文を生成する
     請求項11記載の情報処理システム。
  13.  受け付けた値を予め用意された第一のテンプレートに代入することにより、予測対象の変数を含む第一の表、および、第二の表から前記予測対象に影響を及ぼし得る特徴量を生成する特徴量生成関数を生成し、
     前記第一の表および前記第二の表に対して前記特徴量生成関数を適用することにより、前記予測対象の値を予測するモデルを学習する際に説明変数の候補として用いられる前記特徴量を生成し、
     前記特徴量生成関数または前記特徴量についての説明文を、前記第一のテンプレートに代入された値を第二のテンプレートに代入することにより生成する
     ことを特徴とする説明文生成方法。
  14.  予測対象の変数を含む第一の表と対応付ける第二の表の名称を示す表情報と、前記第一の表と前記第二の表とを結合する際のキー列を示す結合情報と、前記第二の表における複数の行に対する集約演算と前記集約演算の対象となる列とを示す集約情報とを受け付け、
     前記表情報を示す値が代入される表パラメータと、結合情報を示す値が代入される結合パラメータと、集約情報を示す値が代入される集約パラメータとを含むテンプレートに、前記受け付けた表情報を示す値、結合情報を示す値および集約情報を示す値を代入して、説明文を生成する
     ことを特徴とする説明文生成方法。
  15.  コンピュータに、
     予測対象の変数を含む第一の表、および、第二の表から前記予測対象に影響を及ぼし得る特徴量を生成する特徴量生成関数を、予め用意された第一のテンプレートを用いて生成する関数生成処理、
     前記第一の表および前記第二の表に対して前記特徴量生成関数を適用して前記特徴量を生成する特徴量生成処理、
     前記特徴量生成関数または前記特徴量についての説明文を、第二のテンプレートに基づいて生成する説明文生成処理、および、
     前記第一のテンプレートおよび前記第二のテンプレートに代入する値を受け付ける受付処理を実行させ、
     前記関数生成処理で、前記受け付けられた値を前記第1のテンプレートに代入して前記特徴量生成関数を生成させ、
     前記説明文生成処理で、前記第一のテンプレートに代入された値を前記第二のテンプレートに代入して前記説明文を生成させ、
     前記特徴量生成処理で、前記予測対象の値を予測するモデルを学習する際に、説明変数の候補として用いられる特徴量を生成させる
     ための説明文生成プログラム。
  16.  コンピュータに、
     予測対象の変数を含む第一の表と対応付ける第二の表の名称を示す表情報と、前記第一の表と前記第二の表とを結合する際のキー列を示す結合情報と、前記第二の表における複数の行に対する集約演算と前記集約演算の対象となる列とを示す集約情報とを受け付ける受付処理、および、
     前記表情報を示す値が代入される表パラメータと、結合情報を示す値が代入される結合パラメータと、集約情報を示す値が代入される集約パラメータとを含むテンプレートに、前記受付処理で受け付けた表情報を示す値、結合情報を示す値および集約情報を示す値を代入して、説明文を生成する説明文生成処理
     を実行させるための説明文生成プログラム。
PCT/JP2018/011657 2017-03-30 2018-03-23 情報処理システム、特徴量説明方法および特徴量説明プログラム WO2018180970A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US16/498,014 US11727203B2 (en) 2017-03-30 2018-03-23 Information processing system, feature description method and feature description program
CN201880023104.0A CN110476159A (zh) 2017-03-30 2018-03-23 信息处理系统、特征值说明方法和特征值说明程序
JP2019509704A JP7199345B2 (ja) 2017-03-30 2018-03-23 情報処理システム、特徴量説明方法および特徴量説明プログラム
EP18776248.9A EP3605363A4 (en) 2017-03-30 2018-03-23 INFORMATION PROCESSING SYSTEM, CHARACTERISTICS, AND CHARACTERISTICS PROGRAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762478882P 2017-03-30 2017-03-30
US62/478,882 2017-03-30

Publications (1)

Publication Number Publication Date
WO2018180970A1 true WO2018180970A1 (ja) 2018-10-04

Family

ID=63675675

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/011657 WO2018180970A1 (ja) 2017-03-30 2018-03-23 情報処理システム、特徴量説明方法および特徴量説明プログラム

Country Status (5)

Country Link
US (1) US11727203B2 (ja)
EP (1) EP3605363A4 (ja)
JP (1) JP7199345B2 (ja)
CN (1) CN110476159A (ja)
WO (1) WO2018180970A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6958884B1 (ja) * 2021-06-15 2021-11-02 ソプラ株式会社 プログラムコード自動生成システム
CN114943607A (zh) * 2022-06-02 2022-08-26 支付宝(杭州)信息技术有限公司 特征发现方法、属性预测方法和装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021161104A1 (en) 2020-02-12 2021-08-19 Monday.Com Enhanced display features in collaborative network systems, methods, and devices
US11410129B2 (en) 2010-05-01 2022-08-09 Monday.com Ltd. Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems
EP3696686A4 (en) * 2017-10-05 2021-07-07 dotData, Inc. DEVICE FOR GENERATING CHARACTERISTIC VALUES, METHOD FOR GENERATING CHARACTERISTIC VALUES, AND PROGRAM FOR GENERATING CHARACTERISTIC VALUES
US11436359B2 (en) 2018-07-04 2022-09-06 Monday.com Ltd. System and method for managing permissions of users for a single data type column-oriented data structure
US11698890B2 (en) 2018-07-04 2023-07-11 Monday.com Ltd. System and method for generating a column-oriented data structure repository for columns of single data types
US11243914B2 (en) * 2019-05-03 2022-02-08 Microsoft Technology Licensing, Llc Table with one or more secondary rows
EP4062313A1 (en) * 2019-11-18 2022-09-28 Monday.com Ltd. Collaborative networking systems, methods, and devices
US11775890B2 (en) 2019-11-18 2023-10-03 Monday.Com Digital processing systems and methods for map-based data organization in collaborative work systems
US20230107556A1 (en) * 2020-03-03 2023-04-06 Asml Netherlands B.V. Machine learning based subresolution assist feature placement
US11829953B1 (en) 2020-05-01 2023-11-28 Monday.com Ltd. Digital processing systems and methods for managing sprints using linked electronic boards
EP4143732A1 (en) 2020-05-01 2023-03-08 Monday.com Ltd. Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices
US11277361B2 (en) 2020-05-03 2022-03-15 Monday.com Ltd. Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems
US11481288B2 (en) 2021-01-14 2022-10-25 Monday.com Ltd. Digital processing systems and methods for historical review of specific document edits in collaborative work systems
US11741071B1 (en) 2022-12-28 2023-08-29 Monday.com Ltd. Digital processing systems and methods for navigating and viewing displayed content
US11886683B1 (en) 2022-12-30 2024-01-30 Monday.com Ltd Digital processing systems and methods for presenting board graphics
US11893381B1 (en) 2023-02-21 2024-02-06 Monday.com Ltd Digital processing systems and methods for reducing file bundle sizes

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012059173A (ja) * 2010-09-13 2012-03-22 Fujitsu Marketing Ltd レポート作成装置およびそのプログラム
JP2013164724A (ja) * 2012-02-10 2013-08-22 Nippon Telegr & Teleph Corp <Ntt> 情報取引システム
JP2013182498A (ja) * 2012-03-02 2013-09-12 Hitachi Solutions East Japan Ltd 需要予測装置、需要予測プログラムおよび需要予測方法
WO2015186278A1 (ja) 2014-06-03 2015-12-10 日本電気株式会社 属性列挙システム、属性列挙方法および属性列挙プログラム

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5873088A (en) 1990-08-31 1999-02-16 Fujitsu Limited Derived data base processing system enabling one program to access a plurality of data basis
JP3517345B2 (ja) 1998-02-03 2004-04-12 日本電信電話株式会社 住所情報による異種データの結合処理方法および装置
US6721754B1 (en) 1999-04-28 2004-04-13 Arena Pharmaceuticals, Inc. System and method for database similarity join
US20060173873A1 (en) 2000-03-03 2006-08-03 Michel Prompt System and method for providing access to databases via directories and other hierarchical structures and interfaces
JP2002007435A (ja) 2000-06-20 2002-01-11 Nec Corp 対話的分析データベースシステム及び対話的分析プログラムを記録した記録媒体
US6718346B1 (en) 2000-08-17 2004-04-06 3Com Corporation Generating summary data for a requested time period having a requested start time and end time a plurality of data records
JP2002109150A (ja) 2000-09-28 2002-04-12 Fuji Electric Co Ltd 時系列データの適応的予測方法
US6820089B2 (en) 2001-04-05 2004-11-16 International Business Machines Corporation Method and system for simplifying the use of data mining in domain-specific analytic applications by packaging predefined data mining models
US6636860B2 (en) 2001-04-26 2003-10-21 International Business Machines Corporation Method and system for data mining automation in domain-specific analytic applications
US6973459B1 (en) 2002-05-10 2005-12-06 Oracle International Corporation Adaptive Bayes Network data mining modeling
US20050102303A1 (en) 2003-11-12 2005-05-12 International Business Machines Corporation Computer-implemented method, system and program product for mapping a user data schema to a mining model schema
US8886614B2 (en) 2004-02-03 2014-11-11 Teradata Us, Inc. Executing a join plan using data compression
US7225200B2 (en) 2004-04-14 2007-05-29 Microsoft Corporation Automatic data perspective generation for a target variable
US20060218132A1 (en) 2005-03-25 2006-09-28 Oracle International Corporation Predictive data mining SQL functions (operators)
US7849048B2 (en) 2005-07-05 2010-12-07 Clarabridge, Inc. System and method of making unstructured data available to structured data analysis tools
US7546312B1 (en) 2005-09-23 2009-06-09 Emc Corporation System and methods for modeling a report query database
US20070185868A1 (en) 2006-02-08 2007-08-09 Roth Mary A Method and apparatus for semantic search of schema repositories
US20070203893A1 (en) 2006-02-27 2007-08-30 Business Objects, S.A. Apparatus and method for federated querying of unstructured data
DE102006017824B4 (de) 2006-04-13 2018-10-11 Dspace Digital Signal Processing And Control Engineering Gmbh Methode zum Konstruieren einer Diagnosefunktion
JP2008102736A (ja) 2006-10-19 2008-05-01 Toshiba Corp 検索装置および検索方法
US8521689B2 (en) 2007-04-20 2013-08-27 International Business Machines Corporation Generation of a set of pre-filters from a set of event subscriptions to more efficiently select events of interest
US8010905B2 (en) 2007-12-19 2011-08-30 Teradata Us, Inc. Open model ingestion for master data management
US7809664B2 (en) 2007-12-21 2010-10-05 Yahoo! Inc. Automated learning from a question and answering network of humans
US8214408B2 (en) 2008-09-29 2012-07-03 Teradata Us, Inc. Method, database system and computer program for joining temporal database tables
US7970728B2 (en) 2008-10-23 2011-06-28 International Business Machines Corporation Dynamically building and populating data marts with data stored in repositories
WO2011086956A1 (ja) 2010-01-18 2011-07-21 日本電気株式会社 情報端末機器、情報端末機器による操作方法及びプログラム
JP5423553B2 (ja) 2010-04-09 2014-02-19 株式会社日立製作所 データベース管理方法、計算機、センサネットワークシステム及びデータベース検索プログラム
US8620934B2 (en) 2010-05-05 2013-12-31 University Of Washington Through Its Center For Commercialization Systems and methods for selecting data elements, such as population members, from a data source
JP5340222B2 (ja) 2010-05-14 2013-11-13 日本電信電話株式会社 和集合集約処理と等結合処理の組み合わせ方法及びデータベースシステム及びプログラム
JP5527027B2 (ja) 2010-06-04 2014-06-18 富士通株式会社 スキーマ定義生成装置、スキーマ定義生成方法およびスキーマ定義生成プログラム
CA2712028C (en) 2010-08-25 2011-12-20 Ibm Canada Limited - Ibm Canada Limitee Geospatial database integration using business models
US8751216B2 (en) 2010-12-30 2014-06-10 International Business Machines Corporation Table merging with row data reduction
CN103221945B (zh) 2011-03-18 2016-09-14 日本电气株式会社 多变量数据混合模型估计装置、混合模型估计方法
CN102156740B (zh) * 2011-04-15 2013-02-13 国都兴业信息审计系统技术(北京)有限公司 Sql语句的处理方法及系统
JP5794160B2 (ja) 2012-01-26 2015-10-14 富士通株式会社 説明変数の決定のための情報処理装置、情報処理方法及びプログラム
US9075616B2 (en) 2012-03-19 2015-07-07 Enterpriseweb Llc Declarative software application meta-model and system for self-modification
US9128991B2 (en) 2012-04-03 2015-09-08 Sas Institute, Inc. Techniques to perform in-database computational programming
US9201936B2 (en) 2012-11-13 2015-12-01 International Business Machines Corporation Rapid provisioning of information for business analytics
US9342566B2 (en) 2013-01-17 2016-05-17 Sap Se Systems and methods for searching data structures of a database
CA2841472C (en) 2013-02-01 2022-04-19 Brokersavant, Inc. Machine learning data annotation apparatuses, methods and systems
US9146984B1 (en) 2013-03-15 2015-09-29 Google Inc. Enhancing queries for data tables with nested fields
US9858600B2 (en) 2013-03-15 2018-01-02 Turn Inc. Universal tag for page analytics and campaign creation
WO2014208205A1 (ja) 2013-06-26 2014-12-31 前田建設工業株式会社 表形式データ処理プログラム、方法及び装置
JP6283190B2 (ja) 2013-10-09 2018-02-21 前田建設工業株式会社 表形式データ処理プログラム、方法、及び装置
US10452632B1 (en) 2013-06-29 2019-10-22 Teradata Us, Inc. Multi-input SQL-MR
JP6045706B2 (ja) 2013-08-21 2016-12-14 株式会社日立製作所 データ処理システム、データ処理方法およびデータ処理装置
WO2015045318A1 (ja) 2013-09-27 2015-04-02 日本電気株式会社 情報処理システム、情報処理方法およびプログラムを記憶する記録媒体
CN104699717B (zh) 2013-12-10 2019-01-18 中国银联股份有限公司 数据挖掘方法
CN103886021B (zh) * 2014-02-24 2018-10-02 上海上讯信息技术股份有限公司 一种基于自然语言的数据库审计结果翻译方法及系统
US10353923B2 (en) 2014-04-24 2019-07-16 Ebay Inc. Hadoop OLAP engine
US9286290B2 (en) 2014-04-25 2016-03-15 International Business Machines Corporation Producing insight information from tables using natural language processing
US10198460B2 (en) 2014-06-04 2019-02-05 Waterline Data Science, Inc. Systems and methods for management of data platforms
US10963810B2 (en) 2014-06-30 2021-03-30 Amazon Technologies, Inc. Efficient duplicate detection for machine learning data sets
US9672474B2 (en) 2014-06-30 2017-06-06 Amazon Technologies, Inc. Concurrent binning of machine learning data
WO2016017086A1 (ja) 2014-07-31 2016-02-04 日本電気株式会社 行動特性予測システム、行動特性予測器、方法およびプログラム
US11379494B2 (en) 2014-08-06 2022-07-05 Sap Se Timeline index for partitioned temporal database tables
US11182691B1 (en) * 2014-08-14 2021-11-23 Amazon Technologies, Inc. Category-based sampling of machine learning data
US9130832B1 (en) 2014-10-09 2015-09-08 Splunk, Inc. Creating entity definition from a file
US10540362B2 (en) 2014-10-10 2020-01-21 Fmr Llc Database, data structure and framework transformer apparatuses, methods and systems
CN104408149B (zh) 2014-12-04 2017-12-12 威海北洋电气集团股份有限公司 基于社交网络分析的犯罪嫌疑人挖掘关联方法及系统
CN104881424B (zh) 2015-03-13 2018-11-23 华中电网有限公司 一种基于正则表达式的电力大数据采集、存储及分析方法
US10002153B2 (en) 2015-05-14 2018-06-19 Illumon Llc Remote data object publishing/subscribing system having a multicast key-value protocol
US10452664B2 (en) 2015-05-21 2019-10-22 Oracle International Corporation Declarative MapReduce using regular expressions
JP7098327B2 (ja) 2015-11-25 2022-07-11 ドットデータ インコーポレイテッド 情報処理システム、関数作成方法および関数作成プログラム
CN105488697A (zh) * 2015-12-09 2016-04-13 焦点科技股份有限公司 一种基于客户行为特征的潜在客户挖掘方法
US10713589B1 (en) * 2016-03-03 2020-07-14 Amazon Technologies, Inc. Consistent sort-based record-level shuffling of machine learning data
CN106157204A (zh) * 2016-06-20 2016-11-23 山东师范大学 一种基于bp神经网络模型的学生学业成绩预测方法及系统
GB201615747D0 (en) 2016-09-15 2016-11-02 Gb Gas Holdings Ltd System for data management in a large scale data repository
JP7069029B2 (ja) * 2016-10-31 2022-05-17 ドットデータ インコーポレイテッド 自動予測システム、自動予測方法および自動予測プログラム
US10984039B2 (en) 2016-11-02 2021-04-20 Sap Se Hierarchical map visualizations of geo-enriched data
US20200387505A1 (en) 2017-03-30 2020-12-10 Dotdata, Inc. Information processing system, feature description method and feature description program
US10713716B2 (en) 2017-08-04 2020-07-14 Airbnb, Inc. Verification model using neural networks
US20200334246A1 (en) 2017-10-05 2020-10-22 Dotdata, Inc. Information processing device, combination condition generation method, and combination condition generation program
EP3696686A4 (en) 2017-10-05 2021-07-07 dotData, Inc. DEVICE FOR GENERATING CHARACTERISTIC VALUES, METHOD FOR GENERATING CHARACTERISTIC VALUES, AND PROGRAM FOR GENERATING CHARACTERISTIC VALUES
JP7015320B2 (ja) 2017-12-22 2022-02-02 ドットデータ インコーポレイテッド データ分析支援装置、データ分析支援方法およびデータ分析支援プログラム
US20210342341A1 (en) 2017-12-22 2021-11-04 Dotdata, Inc. Data analysis assistance device, data analysis assistance method, and data analysis assistance program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012059173A (ja) * 2010-09-13 2012-03-22 Fujitsu Marketing Ltd レポート作成装置およびそのプログラム
JP2013164724A (ja) * 2012-02-10 2013-08-22 Nippon Telegr & Teleph Corp <Ntt> 情報取引システム
JP2013182498A (ja) * 2012-03-02 2013-09-12 Hitachi Solutions East Japan Ltd 需要予測装置、需要予測プログラムおよび需要予測方法
WO2015186278A1 (ja) 2014-06-03 2015-12-10 日本電気株式会社 属性列挙システム、属性列挙方法および属性列挙プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6958884B1 (ja) * 2021-06-15 2021-11-02 ソプラ株式会社 プログラムコード自動生成システム
WO2022264434A1 (ja) * 2021-06-15 2022-12-22 ソプラ株式会社 プログラムコード自動生成システム
JP2022190776A (ja) * 2021-06-15 2022-12-27 ソプラ株式会社 プログラムコード自動生成システム
CN114943607A (zh) * 2022-06-02 2022-08-26 支付宝(杭州)信息技术有限公司 特征发现方法、属性预测方法和装置

Also Published As

Publication number Publication date
EP3605363A4 (en) 2020-02-26
US11727203B2 (en) 2023-08-15
US20200387664A1 (en) 2020-12-10
JP7199345B2 (ja) 2023-01-05
CN110476159A (zh) 2019-11-19
JPWO2018180970A1 (ja) 2020-02-06
EP3605363A1 (en) 2020-02-05

Similar Documents

Publication Publication Date Title
WO2018180970A1 (ja) 情報処理システム、特徴量説明方法および特徴量説明プログラム
US9405532B1 (en) Integrated cloud platform translation system
CN109726298B (zh) 适用于科技文献的知识图谱构建方法、系统、终端及介质
WO2017090475A1 (ja) 情報処理システム、関数作成方法および関数作成プログラム
US20150339269A1 (en) System and method for generating flowchart from a text document using natural language processing
WO2018180971A1 (ja) 情報処理システム、特徴量説明方法および特徴量説明プログラム
JP2020144421A (ja) 情報処理システム及び情報処理方法
CN114328980A (zh) 结合rpa及ai的知识图谱构建方法、装置、终端及存储介质
CA3153056A1 (en) Intelligently questioning and answering method, device, computer, equipment and storage medium
CN105446952A (zh) 用于处理语义片段的方法和系统
US8862609B2 (en) Expanding high level queries
US20180329873A1 (en) Automated data extraction system based on historical or related data
JP2023539225A (ja) 多次元データセットに対する機械学習モデルの選択と説明
CN116862263A (zh) 一种知产与政策融合规划方法、装置及存储介质
CN113010489A (zh) 一种数据迁移方法及系统
WO2016013157A1 (ja) テキスト処理システム、テキスト処理方法およびテキスト処理プログラム
CN112948251A (zh) 软件自动测试方法及装置
JP2016143106A (ja) 業務バリエーションに基づく業務影響箇所抽出方法および業務影響箇所抽出装置
CN105446711A (zh) 获取用于软件开发任务的上下文信息的方法及装置
JP7325103B2 (ja) 情報処理システム及び情報処理方法
CN117312372B (zh) 基于背景知识增强的sql生成方法、装置、设备及介质
WO2024021334A1 (zh) 关系抽取方法、计算机设备及程序产品
US20230385036A1 (en) Mapping data models to facilitate code generation
WO2015030016A1 (ja) 非構造化データ処理システム、非構造化データ処理方法および記録媒体
CN114924721A (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: 18776248

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019509704

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018776248

Country of ref document: EP

Effective date: 20191030