US20210064825A1 - Information processing apparatus, information processing method, and computer-readable recording medium - Google Patents
Information processing apparatus, information processing method, and computer-readable recording medium Download PDFInfo
- Publication number
- US20210064825A1 US20210064825A1 US16/961,079 US201916961079A US2021064825A1 US 20210064825 A1 US20210064825 A1 US 20210064825A1 US 201916961079 A US201916961079 A US 201916961079A US 2021064825 A1 US2021064825 A1 US 2021064825A1
- Authority
- US
- United States
- Prior art keywords
- inference
- model
- unit
- formal language
- information processing
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Definitions
- the present invention relates to an information processing apparatus and an information processing method for optimizing parameters that are used when text in a natural language is converted into an expression in a formal language, as well as a computer-readable recording medium in which a program for optimizing parameters that are used when text in a natural language is converted into an expression in a formal language is recorded.
- a knowledge base that is used in such a system commonly has a structure in which knowledge corresponding to a query written in a formal language can be extracted.
- RDF Resource Description Framework
- semantic parsers are used to convert a natural language into a formal language.
- question answering systems that use a knowledge base convert a user's question expressed in a natural language into a query expression written in a formal language using a semantic parser, extract, from the knowledge base, an answer corresponding to the query expression obtained by the conversion, and present the answer to the user.
- Non-patent Document 1 questions in a natural language and correct answers to the questions are prepared in advance, and the questions in the natural language prepared in advance are converted into a plurality of query expressions by a semantic parser.
- the semantic parser converts (the questions in) the natural language into query expressions written in a formal language based on parameters set in advance.
- answers respectively corresponding to a plurality of query expressions and generated by the semantic parser are extracted from the knowledge base, and the plurality of extracted answers are compared with the above correct answers prepared in advance. Then, the above-mentioned parameters are updated based on the result of the comparison between the plurality of extracted answers and the correct answers prepared in advance so as to obtain a correct answer to a user's question.
- Non-patent Document 1 Percy Liang, Michael Jordan, and Dan Klein. 2011. Learning dependency-based compositional semantics. In Proceedings of the Human Language Technology Conference of the Association for Computational Linguistics, pages 590-599, Portland, Oreg.
- Non-patent Document 1 the technique in Non-patent Document 1 is considered to be useful for a system that presents an answer determined unambiguously for a question input by the user.
- a system that presents an inference result that is based on a natural language input by the user it is difficult to present an appropriate inference result simply by using the technique of Non-patent Document 1 alone.
- An example object of the invention is to provide an information processing apparatus, an information processing method, and a computer-readable recording medium that can optimize parameters that are used when a natural language is converted into a formal language in a system that performs inference that is based on a natural language input by the user.
- an information processing apparatus includes:
- an acceptance unit configured to accept one or more pieces of text in a natural language and a model answer of an inference result that is obtained from the one or more pieces of text
- a formal language generation unit configured to generate, as one or more training expressions, one or more expressions written in a formal language corresponding to the one or more pieces of text accepted by the acceptance unit, based on a parameter prepared in advance and the one or more pieces of text;
- an inference unit configured to execute at least one inference out of deductive inference and abduction on the one or more training expressions generated by the formal language generation unit, using a knowledge base prepared in advance;
- an update unit configured to update the parameter such that an inference result that matches the model answer is likely to be obtained through the inference that is performed by the inference unit.
- an information processing method includes;
- a computer-readable recording medium includes a program recorded thereon, the program including instructions that cause a computer to carry out:
- FIG. 1 is a block diagram showing an information processing apparatus according to an example embodiment of the invention.
- FIG. 2 is a block diagram showing a specific configuration of an information processing apparatus according to an example embodiment of the invention.
- FIG. 3 is a diagram showing an example of features set in advance.
- FIG. 4A is a diagram for illustrating conversion operations in a formal language generation unit.
- FIG. 4B is a diagram for illustrating conversion operations in a formal language generation unit.
- FIG. 5A is a diagram showing examples of training expressions and generation probabilities thereof.
- FIG. 5B is a diagram showing examples of training expressions and generation probabilities thereof.
- FIG. 6 is a diagram showing an example of combinations of training expressions for which inference is executed.
- FIG. 7 is a flowchart showing operations of an information processing apparatus according to an example embodiment of the invention.
- FIG. 8 is a flowchart showing operations of an information processing apparatus according to Modified Example 1 of the invention.
- FIG. 9 is a flowchart showing operations of an information processing apparatus according to Modified Example 3 of the invention.
- FIG. 10 is a block diagram showing an example of a computer that realizes an information processing apparatus according to an example embodiment of the invention.
- FIGS. 1 to 10 an information processing apparatus, an information processing method and a program according to an example embodiment of the invention is described, with reference to FIGS. 1 to 10 .
- FIG. 1 is a block diagram showing an information processing apparatus 10 according to the example embodiment.
- the information processing apparatus 10 in the example embodiment is an apparatus for optimizing parameters that are used when one or more pieces of text in a natural language are converted into one or more expressions written in a formal language.
- the information processing apparatus 10 includes an acceptance unit 12 , a formal language generation unit 14 , an inference unit 16 , and an update unit 18 .
- One or more pieces of text written in a natural language and a model answer of an inference result obtained from the pieces of text are input to the acceptance unit 12 .
- the acceptance unit 12 transmits the one or more accepted pieces of text to the formal language generation unit 14 , and transmits the accepted model answer to the update unit 18 .
- the formal language generation unit 14 generates, as one or more training expressions, one or more expressions written in a formal language corresponding to the above pieces of text transmitted from the acceptance unit 12 , based on parameters prepared in advance and the above one or more pieces of text.
- the formal language generation unit 14 transmits the one or more generated training expressions to the inference unit 16 .
- the formal language generation unit 14 converts a piece of text in a natural language into an expression in a formal language using machine learning such as that that uses a log-linear model.
- the formal language generation unit 14 can be configured similarly to a known converter that converts a piece of text in a natural language input by the user into an expression in a formal language, for example.
- the formal language generation unit 14 can be constructed using the technique disclosed in Non-patent Document 1, for example.
- the inference unit 16 executes at least one inference out of deductive inference and abduction on the one or more training expressions transmitted from the formal language generation unit 14 , using a knowledge base prepared in advance.
- the knowledge base stores, for example, at least one relationship out of a causal relationship, a temporal before-after relationship, a semantic super-sub relationship, and an implicational relationship between the antecedent and consequent item.
- the inference unit 16 transmits a result obtained through the inference, to the update unit 18 .
- the update unit 18 compares the inference result transmitted from the inference unit 16 with the model answer transmitted from the acceptance unit 12 , and updates the above-mentioned parameters such that an inference result that matches the model answer is likely to be obtained through the inference performed by the inference unit 16 .
- an expression in a formal language is obtained as a result of inputting a piece of text written in a natural language to the formal language generation unit 14 , and inference is executed by the inference unit 16 based on the obtained expression in the formal language. Parameters are then updated such that an inference result that matches a model answer set in advance is likely to be obtained through the above inference performed by the inference unit 16 . In this manner, it is possible to optimize parameters that are used when one or more pieces of text in a natural language are converted into one or more expressions in a formal language.
- FIG. 2 is a block diagram showing a specific configuration of an information processing apparatus according to an example embodiment of the invention. Note that a case is described below in which one or more pieces of text in a natural language are converted into a Prolog formal language, but another formal language may also be used.
- the information processing apparatus 10 also includes an output unit 20 in addition to the acceptance unit 12 , the formal language generation unit 14 , the inference unit 16 , and the update unit 18 , which have been described above.
- the information processing apparatus 10 is connected to a parameter storage unit 102 and a knowledge base storage unit 104 .
- one or more pieces of text written in a natural language and a model answer of an inference result obtained from the one or more pieces of text are input to the acceptance unit 12 .
- the acceptance unit 12 transmits the one or more pieces of accepted text to the formal language generation unit 14 , and transmits the accepted model answer to the update unit 18 .
- the formal language generation unit 14 generates, as one or more training expressions, one or more expressions written in a formal language corresponding to the above one or more pieces of text transmitted from the acceptance unit 12 , based on parameters stored in the parameter storage unit 102 (to be described later) in advance and the above one or more pieces of text.
- the formal language generation unit 14 transmits the one or more generated training expressions to the inference unit 16 .
- the formal language generation unit 14 converts one or more pieces of text written in a natural language into one or more training expressions written in a formal language, for example, based on a plurality of pre-set features (characteristics) characterizing a pair of text that is input and an expression in a formal language that is output, using machine learning such as that that uses a log-linear model.
- a plurality of combinations of surface layer words and deep layer words as shown in FIG. 3 are set as features in advance.
- surface layer words in the example embodiment refer to words present in text in a natural language that is input to the acceptance unit 12 and words that are present as text in a knowledge base stored in the knowledge base storage unit 104 .
- a deep layer word is a predicate corresponding to a surface layer word, and refers to a predicate included in a knowledge base stored in the knowledge base storage unit 104 , and a word that is present as a piece of text in that knowledge base.
- a predicate with an argument of 0 to 2 is set for each surface layer word.
- a numeral after a slash among the characters in a deep layer word is an argument.
- the argument in a deep layer word “grandfather/2” is 2, for example. Note that a predicate with an argument of three or higher may also be set for each surface layer word.
- a weight is set for each feature.
- a weight added to each feature is a parameter.
- weights of respective combinations (features) of surface layer words and deep layer words that can be associated with each other by using a translation dictionary, a synonym dictionary, and the like are set higher, and weights of other combinations (features) are set lower.
- the above-described features and weights (parameters) added to the respective features are stored in the parameter storage unit 102 .
- surface layer words and deep layer words shown in FIG. 3 are merely exemplary, and the number of features and a combination of surface layer words and deep layer words that constitute each feature are not limited to the example shown in FIG. 3 .
- the formal language generation unit 14 converts surface layer words into deep layer words based on features set in advance, for example, and converts a piece of text in a natural language into an expression in a formal language by substituting an argument of a deep layer word with another deep layer word.
- An example of a conversion operation of the formal language generation unit 14 is described briefly below.
- FIG. 4A and FIG. 4 B are diagrams for illustrating examples of a conversion operation in the formal language generation unit 14 . Note that, a case in which “loss of emotion” is input in the formal language generation unit 14 as a piece of text in a natural language is described with reference to FIG. 4A and FIG. 4B .
- the formal language generation unit 14 converts the surface layer word “loss” into a deep layer word “loss/1”, and converts the surface layer word “emotion” into a deep layer word “emotion” based on features set in advance, for example. Then, as a result of the argument of the deep layer word “loss/1” being substituted with “emotion” that is an atom (predicate that includes no argument), a training expression “loss (emotion)” written in a formal language is generated. Also, as shown in FIG.
- the formal language generation unit 14 converts the surface layer word “loss” into a deep layer word “decrease/2”, and converts the surface layer word “emotion” into a deep layer word “emotion”, for example.
- the argument in the deep layer word “decrease/2” is then substituted with an atom, and a blank argument is further substituted with an atom indicating an entry (in the example embodiment, “e1”), and, as a result, a training expression “decrease (e1,emotion)” written in the formal language is generated. Note that, in the example shown in FIG. 4A and FIG.
- the functional word “of” is converted into “null” indicating that there is no corresponding deep layer word, by the formal language generation unit 14 , and conversion of the functional word “of” into a formal language can be omitted.
- the formal language in FIG. 4A and FIG. 4B is exemplary, and the formal language generation unit 14 generates a plurality of training expressions based on features set in advance.
- the formal language generation unit 14 calculates a probability that each training expression to be output is obtained (hereinafter, also referred to as “generation probability of each training expression”), based on the weights of the features (parameters) set as described above.
- FIG. 5A shows an example of training expressions generated when “Ichiro is Taro's father.” is input to the formal language generation unit 14 as a piece of text in a natural language and generation probabilities of the training expressions
- FIG. 5B shows an example of training expressions generated when “Jiro is Ichiro's father.” is input to the formal language generation unit 14 as a piece of text in a natural language and the generation probabilities of the training expressions.
- the formal language generation unit 14 transmits each training expression and the generation probability of the training expression obtained through calculation, to the inference unit 16 .
- the technique disclosed in Non-patent Document 1 can be used for the formal language generation unit 14 , and thus a detailed description of the formal language generation unit 14 is omitted.
- the formal language generation unit 14 selects features that have a weight of a predetermined threshold value or higher, and performs conversion.
- the formal language generation unit 14 may also transmit, for example, only a predetermined number of training expressions selected in the order of highest generation probability, from among a plurality of generated training expressions, to the inference unit 16 along with the probabilities of the training expressions.
- the formal language generation unit 14 may also output, for example, a predetermined number of randomly sampled training expressions, from among a plurality of generated training expressions, to the inference unit 16 .
- the inference unit 16 executes at least one inference out of deductive inference and abduction, on one or more training expressions transmitted from the formal language generation unit 14 , using the knowledge base stored in the knowledge base storage unit 104 .
- the inference unit 16 executes inference on all of the combinations of training expressions generated from different pieces of text, for example.
- the formal language generation unit 14 generates three training expressions from the text “Ichiro is Taro's father”, and three training expressions from the text “Jiro is Ichiro's father”.
- the inference unit 16 executes inference on nine combinations of training expressions as shown in FIG. 6 .
- the inference unit 16 may execute inference on a predetermined number of combinations of training expressions randomly sampled from among all of the combinations of the training expressions generated from different pieces of text. In addition, the inference unit 16 may also execute inference on a predetermined number of combinations of training expressions sampled based on parameters when training expressions are generated, from among all of the combinations of the training expressions generated from different pieces of text.
- the inference unit 16 transmits a result obtained by inference, to the update unit 18 .
- the update unit 18 compares the inference result transmitted from the inference unit 16 with a model answer transmitted from the acceptance unit 12 , and updates parameters stored in the parameter storage unit 102 such that an inference result that matches the model answer is likely to be obtained through inference performed by the inference unit 16 .
- a description thereof is given below with an example.
- the inference unit 16 can obtain “grandfather (Jiro, Taro)” as an inference result, from a first combination (combination of “father (Ichiro, Taro)” and “father (Jiro, Ichiro)”) in FIG. 6 .
- the inference result transmitted from the inference unit 16 to the update unit 18 and a model answer transmitted from the acceptance unit 12 to the update unit 18 match.
- the update unit 18 updates parameters (in the example embodiment, the weights of features) stored in the parameter storage unit 102 such that a combination of training expressions from which the inference result “grandfather (Jiro, Taro)” that matches the model answer can be obtained is likely to be generated by the formal language generation unit 14 .
- parameters stored in the parameter storage unit 102 are updated such that the text “Ichiro is Taro's father.” is likely to be converted into the training expression “father (Ichiro, Taro)”, and the text “Jiro is Ichiro's father” is likely to be converted into the training expression “father (Jiro, Ichiro)”.
- the update unit 18 may also update parameters such that the weights of features based on which the text “Ichiro is Taro's father” is converted into the training expression “father (Ichiro, Taro)” and the weights of features based on which the text “Jiro is Ichiro's father.” is converted into the training expression “father (Jiro, Ichiro)” are increased.
- the update unit 18 may also update parameters such that the weights of features that do not contribute to conversion from the text “Ichiro is Taro's father” into the training expression “father (Ichiro, Taro)” and the weights of features that do not contribute to conversion from the text “Jiro is Ichiro's father” into the training expression “father (Jiro, Ichiro)” are reduced.
- the update unit 18 may update parameters such that the weights of features based on which a piece of text in a natural language is converted into a correct expression are increased, or may also update parameters such that the weights of features that do not contribute to conversion from a piece of text in a natural language into a correct expression are reduced. Note that, although a detailed description is omitted, an algorithm described in Non-patent Document 1 can be used for updating of parameters that is performed by the update unit 18 , for example.
- the output unit 20 outputs parameters updated by the update unit 18 .
- the parameters output from the output unit 20 and updated parameters stored in the parameter storage unit 102 can also be used in an apparatus other than the information processing apparatus 10 (for example, a known converter).
- the output unit 20 outputs parameters stored in the parameter storage unit 102 , when the number of updates performed by the update unit 18 reaches a designated number set in advance, for example.
- the update unit 18 may update parameters stored in the parameter storage unit 102 such that a plurality of training expressions corresponding to a plurality of inference results that match a plurality of model answers are likely to be generated by the formal language generation unit 14 , for example. Note that inference results that match all of a plurality of model answers do not need to be obtained through inference performed by the inference unit 16 .
- the update unit 18 may update parameters stored in the parameter storage unit 102 such that a training expression corresponding to an inference result that matches one of a plurality of model answers is likely to be generated by the formal language generation unit 14 , for example.
- one piece of text or three or more pieces of text may also be input to the acceptance unit 12 .
- a plurality of training expressions are generated by the formal language generation unit 14 based on that one piece of text. Inference is then executed on each of the plurality of training expressions, and, in response to a condition that an inference result that matches the model answer is obtained, parameters stored in the parameter storage unit 102 are updated by the update unit 18 .
- one or more training expressions are generated for each piece of text by the formal language generation unit 14 .
- inference is executed on all of the combinations of training expressions generated from different pieces of text, or a combination of randomly selected training expressions, and, when an inference result that matches the model answer is obtained, parameters stored in the parameter storage unit 102 are updated by the update unit 18 .
- FIG. 7 is a flowchart showing operations of an information processing apparatus in an example embodiment of the invention.
- FIGS. 1 to 6 is referred to as appropriate.
- an information processing method is carried out as a result of causing the information processing apparatus 10 to operate.
- a description of the information processing method in the example embodiment is replaced with the following description of operations of the information processing apparatus 10 .
- the inference unit 16 executes inference on a predetermined number of training expressions randomly sampled from among one or more training expressions generated from one or more pieces of text (or a predetermined number of randomly sampled combinations of training expressions).
- the inference unit 16 may execute inference on training expressions sampled based on parameters (or a combination of training expressions sampled based on parameters), for example.
- the acceptance unit 12 accepts one or more pieces of text written in a natural language and a model answer of an inference result (step S 1 ).
- the formal language generation unit 14 generates one or more training expressions (expressions written in a formal language) corresponding to the one or more pieces of text accepted by the acceptance unit 12 (step S 2 ).
- the inference unit 16 executes inference on one or more training expressions randomly sampled from among the one or more training expressions generated by the formal language generation unit 14 (or one or more combinations of randomly sampled training expressions), using a knowledge base stored in the knowledge base storage unit 104 , and obtains one or more inference results (step S 3 ).
- the update unit 18 compares the one or more inference results obtained by the inference unit 16 with the model answer input to the acceptance unit 12 , and determines whether or not an inference result that matches the model answer has been obtained (step S 4 ).
- step S 4 If it is determined in step S 4 that an inference result that matches the model answer has been obtained, the update unit 18 updates parameters stored in the parameter storage unit 102 as described above (step S 5 ). Note that, in step S 5 , as described above, for example, the update unit 18 may update parameters such that the weights of features, based on which text in a natural language is converted into a correct expression, are increased, or may update parameters such that the weights of features, based on which text in a natural language is converted into a training expression different from the correct expression, are reduced.
- the output unit 20 determines whether or not the number of updates performed by the update unit 18 has reached a designated number of times set in advance (step S 6 ). If the number of updates has reached the designated number, the output unit 20 outputs parameters (step S 7 ).
- step S 4 If it is determined in step S 4 that an inference result that matches the model answer has not been obtained, or if it is determined in step S 6 that the number of updates has not reached the designated number, the process in step S 2 is executed again, and a training expression is newly generated by the formal language generation unit 14 . Subsequently, the above-described processing is repeatedly executed. Note that, if it is determined in step S 4 that an inference result that matches the model answer has not been obtained, the procedure may return to the process step S 1 .
- step S 4 the update unit 18 compares an inference result obtained by the inference unit 16 with a model answer input to the acceptance unit 12 , and determines whether or not an inference result that matches the model answer has been obtained.
- content of processing that is performed by the update unit 18 is not limited to the above-described example.
- the update unit 18 determines whether or not an inference result that matches at least one expression out of the plurality of expressions included in the model answer has been obtained through inference performed by the inference unit 16 , in step S 4 , as shown in FIG. 8 .
- the update unit 18 determines whether or not at least one of “father (Ichiro, Taro)” and “age (Ichiro, 30)” has been obtained as an inference result through inference performed by the inference unit 16 .
- step S 4 if an inference result that matches at least one expression out of the plurality of expressions included in the model answer has been obtained, the update unit 18 updates parameters such that the inference result that matches at least one expression is likely to be obtained through inference performed by the inference unit 16 (step S 5 ). Specifically, parameters stored in the parameter storage unit 102 are updated such that the training expression from which the inference result that matches at least one expression can be obtained is likely to be generated by the formal language generation unit 14 .
- step S 4 if an inference result that matches at least one expression out of the plurality of expressions included in the model answer has not been obtained, the process in step S 2 is executed again, and training expressions are newly generated by the formal language generation unit 14 . The above-described processing is then executed repeatedly. Note that the content of processes other than the process in step S 4 is similar to that described with reference to FIG. 7 , and thus a description thereof is omitted. In addition, if it is determined in step S 4 that an inference result that matches at least one expression out of the plurality of expressions included in the model answer has not been obtained, the procedure may return to the process in step S 1 .
- step S 6 determines in step S 6 whether or not the number of updates performed by the update unit 18 has reached the designated number, but the process in step S 6 is not limited to the above-described example.
- a configuration may also be adopted in which, in step S 6 , if the above generation probability of a correct expression that is based on updated parameters is larger than the generation probability of a training expression different from the correct expression, the output unit 20 makes a determination of Yes, and if the generation probability of the correct expression is smaller than or equal to the generation probability of a training expression other than the correct expression, the output unit 20 makes a determination of No.
- a configuration may also be adopted in which, in step S 6 , if the smallest value of the difference between the above generation probability of the correct expression that is based on updated parameters and the generation probability of a training expression other than the correct expression is larger than a threshold value set in advance, the output unit 20 makes a determination of Yes, and, if the above smallest value is smaller than or equal to the threshold value, makes a determination of No.
- the inference unit 16 may also perform probabilistic inference.
- the probability that a model answer is obtained from one or more training expressions generated by the formal language generation unit 14 is calculated in step S 3 .
- a probability (score) that a model answer is obtained is calculated for each combination.
- a probability that a model answer is obtained can be calculated using an MLN (Markov Logic Network), for example, with training expressions generated by the formal language generation unit 14 serving as inputs (nodes).
- MLN Markov Logic Network
- sampling is performed such that, for example, regarding the generation probability of each training expression (probability that each training expression is obtained) described with reference to FIG. 5A and FIG. 5B , the node of the training expression is true, and the periphery probability of the node corresponding to the model answer can be calculated as a probability (score) that the model answer is obtained.
- the update unit 18 determines in step S 4 whether or not any one of scores calculated by the inference unit 16 for each combination of training expressions (a probability that the model answer is obtained) is higher than the highest value of scores calculated previously. If any of the scores calculated by the inference unit 16 is higher than the highest value of the scores calculated previously, the update unit 18 updates parameters such that a training expression from which the score can be obtained is likely to be generated by the formal language generation unit 14 (step S 5 ). In other words, parameters stored in the parameter storage unit 102 are updated such that the generation probability of a training expression, based on which the inference unit 16 can obtain a score that is higher than the highest value of the scores calculated previously, is increased. Note that parameters can be updated using, for example, an algorithm disclosed in Non-patent Document 1, and thus a detailed description thereof is omitted.
- step S 6 determination is performed as to whether or not any one of scores currently calculated by the inference unit 16 exceeds a predetermined threshold value. If it is determined in step S 6 that any one of the scores calculated by the inference unit 16 exceeds the predetermined threshold value, the output unit 20 outputs parameters updated by the update unit 18 (step S 7 ).
- step S 4 If it is determined in step S 4 that none of the scores calculated by the inference unit 16 is higher than the highest value of the scores previously calculated, or, if it is determined in step S 6 that none of the scores calculated by the inference unit 16 exceeds the threshold value, the process in step S 2 is executed again, and training expressions are newly generated by the formal language generation unit 14 . Subsequently, the above-described processing is repeatedly executed. Note that content of processes other than those in steps S 4 and S 6 is similar to that described with reference to FIG. 7 , and thus a detailed description thereof is omitted.
- the value of a score calculated by the inference unit 16 increases as a result of some pieces of text out of a plurality of pieces of text being converted into a proper formal language. Therefore, even if only some pieces of text of a plurality of pieces of text (for example, several thousands of pieces of text) are converted into proper expressions in a formal language by the formal language generation unit 14 , parameters stored in the parameter storage unit 102 can be updated.
- the program according to the example embodiment of the invention need only be a program that causes a computer to execute steps S 1 to S 7 shown in FIG. 7, 8 , or 9 .
- the information processing apparatus and the information processing method according to the example embodiment can be realized, by this program being installed on a computer and executed.
- the CPU Central Processing Unit
- the CPU which is an information processing apparatus, performs processing, while functioning as the acceptance unit 12 , the formal language generation unit 14 , the inference unit 16 , the update unit 18 , and the output unit 20 .
- the program according to the example embodiment may be executed by a computer system built from a plurality of computers.
- each of the computers may function as one of the acceptance unit 12 , the formal language generation unit 14 , the inference unit 16 , the update unit 18 , and the output unit 20 .
- FIG. 10 is a block diagram showing an example of a computer that realizes the information processing apparatus according to the example embodiment of the invention.
- a computer 110 includes a CPU 111 , a main memory 112 , a storage device 113 , an input interface 114 , a display controller 115 , a data reader/writer 116 , and a communication interface 117 . These units are connected in a manner that enables data communication therebetween, via a bus 121 .
- the computer 110 may include a GPU (Graphics Processing Unit) or an FPGA (Field-Programmable Gate Array), in addition to the CPU 111 or instead of the CPU 111 .
- the CPU 111 implements various computational operations, by extracting programs (code) according to the example embodiment that are stored in the storage device 113 in the main memory 112 , and executing these programs in predetermined order.
- the main memory 112 typically, is a volatile storage device such as a DRAM (Dynamic Random Access Memory).
- programs according to the example embodiment are provided in a state of being stored on a computer-readable recording medium 120 . Note that programs according to the example embodiment may be distributed over the Internet connected via the communication interface 117 .
- a semiconductor storage device such as a flash memory is given as a specific example of the storage device 113 , other than a hard disk drive.
- the input interface 114 mediates data transmission between the CPU 111 and input devices 118 such as a keyboard and a mouse.
- the display controller 115 is connected to a display device 119 and controls display by the display device 119 .
- the data reader/writer 116 mediates data transmission between the CPU 111 and the recording medium 120 , and executes readout of programs from the recording medium 120 and writing of processing results of the computer 110 to the recording medium 120 .
- the communication interface 117 mediates data transmission between the CPU 111 and other computers.
- a general-purpose semiconductor storage device such as a CF (Compact Flash (registered trademark)) card or an SD (Secure Digital) card, a magnetic storage medium such as a flexible disk, and an optical storage medium such as a CD-ROM (Compact Disk Read Only Memory) are given as specific examples of the recording medium 120 .
- CF Compact Flash (registered trademark)
- SD Secure Digital
- CD-ROM Compact Disk Read Only Memory
- the information processing apparatus is also realizable by using hardware corresponding to the respective units, rather than by a computer on which programs are installed. Furthermore, the information processing apparatus may be realized in part by programs, and the remaining portion may be realized by hardware.
- An information processing apparatus comprising:
- an acceptance unit configured to accept one or more pieces of text in a natural language and a model answer of an inference result that is obtained from the one or more pieces of text
- a formal language generation unit configured to generate, as one or more training expressions, one or more expressions written in a formal language corresponding to the one or more pieces of text accepted by the acceptance unit, based on a parameter prepared in advance and the one or more pieces of text;
- an inference unit configured to execute at least one inference out of deductive inference and abduction on the one or more training expressions generated by the formal language generation unit, using a knowledge base prepared in advance;
- an update unit configured to update the parameter such that an inference result that matches the model answer is likely to be obtained through the inference performed by the inference unit.
- the inference unit calculates a probability that the model answer is obtained from the one or more training expressions by executing probabilistic inference
- the update unit updates the parameter such that the probability that is calculated by the inference unit is increased.
- model answer includes a plurality of expressions written in a formal language
- the update unit updates, in response to a condition that an inference result that matches at least one expression out of the plurality of expressions included in the model answer is obtained through the inference performed by the inference unit, the parameter such that the inference result that matches the at least one expression is likely to be obtained through the inference performed by the inference unit.
- the formal language generation unit generates a plurality of training expressions for each piece of text accepted by the acceptance unit
- the inference unit executes the at least one inference on the plurality of training expressions generated for each piece of text.
- the update unit updates, in response to a condition that the inference unit obtains an inference result that matches the model answer, the parameter such that the training expression from which the inference result that matches the model answer is obtained is likely to be generated by the formal language generation unit.
- An information processing method comprising:
- the parameter is updated such that the probability that is calculated in the (c) step is increased.
- model answer includes a plurality of expressions written in a formal language
- the parameter is updated such that the inference result that matches the at least one expression is likely to be obtained through the inference in the (c) step, in response to a condition that an inference result that matches at least one expression out of the plurality of expressions included in the model answer is obtained through the inference in the (c) step.
- the at least one inference is executed on the plurality of training expressions generated for each piece of text.
- the parameter is updated such that the training expression from which the inference result that matches the model answer is obtained is likely to be generated in the (b) step, in response to a condition that an inference result that matches the model answer is obtained in the (c) step.
- a computer-readable recording medium that includes a program recorded thereon, the program including instructions that cause a computer to carry out:
- the parameter is updated such that the probability that is calculated in the (c) step is increased.
- model answer includes a plurality of expressions written in a formal language
- the parameter is updated such that the inference result that matches the at least one expression is likely to be obtained through the inference in the (c) step, in response to a condition that an inference result that matches at least one expression out of the plurality of expressions included in the model answer is obtained through the inference in the (c) step.
- the at least one inference is executed on the plurality of training expressions generated for each piece of text.
- the parameter is updated such that the training expression from which the inference result that matches the model answer is obtained is likely to be generated in the (b) step, in response to a condition that an inference result that matches the model answer is obtained in the (c) step.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- The present invention relates to an information processing apparatus and an information processing method for optimizing parameters that are used when text in a natural language is converted into an expression in a formal language, as well as a computer-readable recording medium in which a program for optimizing parameters that are used when text in a natural language is converted into an expression in a formal language is recorded.
- In recent years, it has become possible to acquire large-scale knowledge bases via the Internet, and research on systems for performing question-answering using a knowledge base is advancing. A knowledge base that is used in such a system commonly has a structure in which knowledge corresponding to a query written in a formal language can be extracted. For example, Resource Description Framework (RDF) is used as a formal language.
- Even when a question answering system that uses such a knowledge base, to which an inquiry can be made in a formal language, is used, a user's question is commonly expressed in a natural language. Therefore, in order to extract a piece of knowledge corresponding to the user's question from the knowledge base, the user's question expressed in a natural language needs to be converted into a formal language.
- In view of this, conventionally, semantic parsers are used to convert a natural language into a formal language. Commonly, question answering systems that use a knowledge base convert a user's question expressed in a natural language into a query expression written in a formal language using a semantic parser, extract, from the knowledge base, an answer corresponding to the query expression obtained by the conversion, and present the answer to the user.
- Incidentally, in order to extract an appropriate answer to a user's question from a knowledge base, there is a need to properly understand the semantic structure of the user's question, and convert the question in a natural language into a query expression suitable for the knowledge base. However, expressions in a natural language vary greatly, and thus it is difficult to manually construct rules for appropriately converting a user's question in the natural language into a query expression.
- In view of this, techniques for automatically constructing a semantic parser suitable for any knowledge base using machine learning have been proposed (for example, see Non-patent Document 1).
- In the technique described in
Non-patent Document 1, questions in a natural language and correct answers to the questions are prepared in advance, and the questions in the natural language prepared in advance are converted into a plurality of query expressions by a semantic parser. Specifically, the semantic parser converts (the questions in) the natural language into query expressions written in a formal language based on parameters set in advance. In addition, in the technique described inNon-patent Document 1, answers respectively corresponding to a plurality of query expressions and generated by the semantic parser are extracted from the knowledge base, and the plurality of extracted answers are compared with the above correct answers prepared in advance. Then, the above-mentioned parameters are updated based on the result of the comparison between the plurality of extracted answers and the correct answers prepared in advance so as to obtain a correct answer to a user's question. - Non-patent Document 1: Percy Liang, Michael Jordan, and Dan Klein. 2011. Learning dependency-based compositional semantics. In Proceedings of the Human Language Technology Conference of the Association for Computational Linguistics, pages 590-599, Portland, Oreg.
- Incidentally, the technique in
Non-patent Document 1 is considered to be useful for a system that presents an answer determined unambiguously for a question input by the user. However, in a system that presents an inference result that is based on a natural language input by the user, it is difficult to present an appropriate inference result simply by using the technique of Non-patentDocument 1 alone. - An example object of the invention is to provide an information processing apparatus, an information processing method, and a computer-readable recording medium that can optimize parameters that are used when a natural language is converted into a formal language in a system that performs inference that is based on a natural language input by the user.
- In order to achieve the foregoing object, an information processing apparatus according to an example aspect of the invention includes:
- an acceptance unit configured to accept one or more pieces of text in a natural language and a model answer of an inference result that is obtained from the one or more pieces of text;
- a formal language generation unit configured to generate, as one or more training expressions, one or more expressions written in a formal language corresponding to the one or more pieces of text accepted by the acceptance unit, based on a parameter prepared in advance and the one or more pieces of text;
- an inference unit configured to execute at least one inference out of deductive inference and abduction on the one or more training expressions generated by the formal language generation unit, using a knowledge base prepared in advance; and
- an update unit configured to update the parameter such that an inference result that matches the model answer is likely to be obtained through the inference that is performed by the inference unit.
- In addition, in order to achieve the foregoing object, an information processing method according to an example aspect of the invention includes;
- (a) a step of accepting one or more pieces of text in a natural language and a model answer of an inference result that is obtained from the one or more pieces of text;
- (b) a step of generating, as one or more training expressions, one or more expressions written in a formal language corresponding to the one or more pieces of text accepted in the (a) step, based on a parameter prepared in advance and the one or more pieces of text;
- (c) a step of executing at least one inference out of deductive inference and abduction on the one or more training expressions generated in the (b) step, using a knowledge base prepared in advance; and
- (d) a step of updating the parameter such that an inference result that matches the model answer is likely to be obtained through the inference in the (c) step.
- Furthermore, in order to achieve the foregoing object, a computer-readable recording medium according to an example aspect of the invention includes a program recorded thereon, the program including instructions that cause a computer to carry out:
- (a) a step of accepting one or more pieces of text in a natural language and a model answer of an inference result that is obtained from the one or more pieces of text;
- (b) a step of generating, as one or more training expressions, one or more expressions written in a formal language corresponding to the one or more pieces of text accepted in the (a) step, based on a parameter prepared in advance and the one or more pieces of text;
- (c) a step of executing at least one inference out of deductive inference and abduction on the one or more training expressions generated in the (b) step, using a knowledge base prepared in advance; and
- (d) a step of updating the parameter such that an inference result that matches the model answer is likely to be obtained through the inference in the (c) step.
- As described above, according to the invention, it is possible to optimize parameters that are used when a natural language is converted into a formal language in a system that performs inference that is based on a natural language input by the user.
-
FIG. 1 is a block diagram showing an information processing apparatus according to an example embodiment of the invention. -
FIG. 2 is a block diagram showing a specific configuration of an information processing apparatus according to an example embodiment of the invention. -
FIG. 3 is a diagram showing an example of features set in advance. -
FIG. 4A is a diagram for illustrating conversion operations in a formal language generation unit. -
FIG. 4B is a diagram for illustrating conversion operations in a formal language generation unit. -
FIG. 5A is a diagram showing examples of training expressions and generation probabilities thereof. -
FIG. 5B is a diagram showing examples of training expressions and generation probabilities thereof. -
FIG. 6 is a diagram showing an example of combinations of training expressions for which inference is executed. -
FIG. 7 is a flowchart showing operations of an information processing apparatus according to an example embodiment of the invention. -
FIG. 8 is a flowchart showing operations of an information processing apparatus according to Modified Example 1 of the invention. -
FIG. 9 is a flowchart showing operations of an information processing apparatus according to Modified Example 3 of the invention. -
FIG. 10 is a block diagram showing an example of a computer that realizes an information processing apparatus according to an example embodiment of the invention. - Hereinafter, an information processing apparatus, an information processing method and a program according to an example embodiment of the invention is described, with reference to
FIGS. 1 to 10 . -
FIG. 1 is a block diagram showing aninformation processing apparatus 10 according to the example embodiment. Theinformation processing apparatus 10 in the example embodiment is an apparatus for optimizing parameters that are used when one or more pieces of text in a natural language are converted into one or more expressions written in a formal language. - The
information processing apparatus 10 includes anacceptance unit 12, a formallanguage generation unit 14, aninference unit 16, and anupdate unit 18. One or more pieces of text written in a natural language and a model answer of an inference result obtained from the pieces of text are input to theacceptance unit 12. Theacceptance unit 12 transmits the one or more accepted pieces of text to the formallanguage generation unit 14, and transmits the accepted model answer to theupdate unit 18. - The formal
language generation unit 14 generates, as one or more training expressions, one or more expressions written in a formal language corresponding to the above pieces of text transmitted from theacceptance unit 12, based on parameters prepared in advance and the above one or more pieces of text. The formallanguage generation unit 14 transmits the one or more generated training expressions to theinference unit 16. In the example embodiment, the formallanguage generation unit 14 converts a piece of text in a natural language into an expression in a formal language using machine learning such as that that uses a log-linear model. Although a detailed description is omitted, the formallanguage generation unit 14 can be configured similarly to a known converter that converts a piece of text in a natural language input by the user into an expression in a formal language, for example. The formallanguage generation unit 14 can be constructed using the technique disclosed inNon-patent Document 1, for example. - The
inference unit 16 executes at least one inference out of deductive inference and abduction on the one or more training expressions transmitted from the formallanguage generation unit 14, using a knowledge base prepared in advance. The knowledge base stores, for example, at least one relationship out of a causal relationship, a temporal before-after relationship, a semantic super-sub relationship, and an implicational relationship between the antecedent and consequent item. Theinference unit 16 transmits a result obtained through the inference, to theupdate unit 18. - The
update unit 18 compares the inference result transmitted from theinference unit 16 with the model answer transmitted from theacceptance unit 12, and updates the above-mentioned parameters such that an inference result that matches the model answer is likely to be obtained through the inference performed by theinference unit 16. - As described above, according to the example embodiment, an expression in a formal language is obtained as a result of inputting a piece of text written in a natural language to the formal
language generation unit 14, and inference is executed by theinference unit 16 based on the obtained expression in the formal language. Parameters are then updated such that an inference result that matches a model answer set in advance is likely to be obtained through the above inference performed by theinference unit 16. In this manner, it is possible to optimize parameters that are used when one or more pieces of text in a natural language are converted into one or more expressions in a formal language. - Next, a configuration of an information processing apparatus according to an example embodiment of the invention is described in more detail with reference to
FIG. 2 .FIG. 2 is a block diagram showing a specific configuration of an information processing apparatus according to an example embodiment of the invention. Note that a case is described below in which one or more pieces of text in a natural language are converted into a Prolog formal language, but another formal language may also be used. - As shown in
FIG. 2 , theinformation processing apparatus 10 according to the example embodiment also includes anoutput unit 20 in addition to theacceptance unit 12, the formallanguage generation unit 14, theinference unit 16, and theupdate unit 18, which have been described above. In addition, in the example embodiment, theinformation processing apparatus 10 is connected to aparameter storage unit 102 and a knowledgebase storage unit 104. - As described above, one or more pieces of text written in a natural language and a model answer of an inference result obtained from the one or more pieces of text are input to the
acceptance unit 12. Theacceptance unit 12 transmits the one or more pieces of accepted text to the formallanguage generation unit 14, and transmits the accepted model answer to theupdate unit 18. - The formal
language generation unit 14 generates, as one or more training expressions, one or more expressions written in a formal language corresponding to the above one or more pieces of text transmitted from theacceptance unit 12, based on parameters stored in the parameter storage unit 102 (to be described later) in advance and the above one or more pieces of text. The formallanguage generation unit 14 transmits the one or more generated training expressions to theinference unit 16. - In the example embodiment, the formal
language generation unit 14 converts one or more pieces of text written in a natural language into one or more training expressions written in a formal language, for example, based on a plurality of pre-set features (characteristics) characterizing a pair of text that is input and an expression in a formal language that is output, using machine learning such as that that uses a log-linear model. - In the example embodiment, for example, a plurality of combinations of surface layer words and deep layer words as shown in
FIG. 3 are set as features in advance. Note that surface layer words in the example embodiment refer to words present in text in a natural language that is input to theacceptance unit 12 and words that are present as text in a knowledge base stored in the knowledgebase storage unit 104. Also, a deep layer word is a predicate corresponding to a surface layer word, and refers to a predicate included in a knowledge base stored in the knowledgebase storage unit 104, and a word that is present as a piece of text in that knowledge base. In the example embodiment, for example, a predicate with an argument of 0 to 2 is set for each surface layer word. InFIG. 3 , a numeral after a slash among the characters in a deep layer word is an argument. The argument in a deep layer word “grandfather/2” is 2, for example. Note that a predicate with an argument of three or higher may also be set for each surface layer word. - In addition, as shown in
FIG. 3 , in the example embodiment, a weight is set for each feature. In the example embodiment, a weight added to each feature is a parameter. In the state of initial settings, weights of respective combinations (features) of surface layer words and deep layer words that can be associated with each other by using a translation dictionary, a synonym dictionary, and the like are set higher, and weights of other combinations (features) are set lower. In the example embodiment, the above-described features and weights (parameters) added to the respective features are stored in theparameter storage unit 102. - Note that surface layer words and deep layer words shown in
FIG. 3 are merely exemplary, and the number of features and a combination of surface layer words and deep layer words that constitute each feature are not limited to the example shown inFIG. 3 . - In the example embodiment, the formal
language generation unit 14 converts surface layer words into deep layer words based on features set in advance, for example, and converts a piece of text in a natural language into an expression in a formal language by substituting an argument of a deep layer word with another deep layer word. An example of a conversion operation of the formallanguage generation unit 14 is described briefly below.FIG. 4A and FIG.4B are diagrams for illustrating examples of a conversion operation in the formallanguage generation unit 14. Note that, a case in which “loss of emotion” is input in the formallanguage generation unit 14 as a piece of text in a natural language is described with reference toFIG. 4A andFIG. 4B . - As shown in
FIG. 4A , when “loss of emotion” is input, the formallanguage generation unit 14 converts the surface layer word “loss” into a deep layer word “loss/1”, and converts the surface layer word “emotion” into a deep layer word “emotion” based on features set in advance, for example. Then, as a result of the argument of the deep layer word “loss/1” being substituted with “emotion” that is an atom (predicate that includes no argument), a training expression “loss (emotion)” written in a formal language is generated. Also, as shown inFIG. 4B , the formallanguage generation unit 14 converts the surface layer word “loss” into a deep layer word “decrease/2”, and converts the surface layer word “emotion” into a deep layer word “emotion”, for example. The argument in the deep layer word “decrease/2” is then substituted with an atom, and a blank argument is further substituted with an atom indicating an entry (in the example embodiment, “e1”), and, as a result, a training expression “decrease (e1,emotion)” written in the formal language is generated. Note that, in the example shown inFIG. 4A andFIG. 4B , the functional word “of” is converted into “null” indicating that there is no corresponding deep layer word, by the formallanguage generation unit 14, and conversion of the functional word “of” into a formal language can be omitted. Note that the formal language inFIG. 4A andFIG. 4B is exemplary, and the formallanguage generation unit 14 generates a plurality of training expressions based on features set in advance. - In the example embodiment, as shown in
FIG. 5A andFIG. 5B , the formallanguage generation unit 14 calculates a probability that each training expression to be output is obtained (hereinafter, also referred to as “generation probability of each training expression”), based on the weights of the features (parameters) set as described above. Note thatFIG. 5A shows an example of training expressions generated when “Ichiro is Taro's father.” is input to the formallanguage generation unit 14 as a piece of text in a natural language and generation probabilities of the training expressions, andFIG. 5B shows an example of training expressions generated when “Jiro is Ichiro's father.” is input to the formallanguage generation unit 14 as a piece of text in a natural language and the generation probabilities of the training expressions. The formallanguage generation unit 14 transmits each training expression and the generation probability of the training expression obtained through calculation, to theinference unit 16. Note that, as described above, for example, the technique disclosed inNon-patent Document 1 can be used for the formallanguage generation unit 14, and thus a detailed description of the formallanguage generation unit 14 is omitted. - Although a detailed description is omitted, in the example embodiment, for example, a configuration may also be adopted in which, when converting surface layer words into deep layer words, the formal
language generation unit 14 selects features that have a weight of a predetermined threshold value or higher, and performs conversion. The formallanguage generation unit 14 may also transmit, for example, only a predetermined number of training expressions selected in the order of highest generation probability, from among a plurality of generated training expressions, to theinference unit 16 along with the probabilities of the training expressions. The formallanguage generation unit 14 may also output, for example, a predetermined number of randomly sampled training expressions, from among a plurality of generated training expressions, to theinference unit 16. - The
inference unit 16 executes at least one inference out of deductive inference and abduction, on one or more training expressions transmitted from the formallanguage generation unit 14, using the knowledge base stored in the knowledgebase storage unit 104. - In the example embodiment, when a plurality of training expressions are generated for each piece of text by the formal
language generation unit 14, theinference unit 16 executes inference on all of the combinations of training expressions generated from different pieces of text, for example. In the example inFIG. 5A andFIG. 5B , for example, the formallanguage generation unit 14 generates three training expressions from the text “Ichiro is Taro's father”, and three training expressions from the text “Jiro is Ichiro's father”. In this case, theinference unit 16 executes inference on nine combinations of training expressions as shown inFIG. 6 . - Note that the
inference unit 16 may execute inference on a predetermined number of combinations of training expressions randomly sampled from among all of the combinations of the training expressions generated from different pieces of text. In addition, theinference unit 16 may also execute inference on a predetermined number of combinations of training expressions sampled based on parameters when training expressions are generated, from among all of the combinations of the training expressions generated from different pieces of text. - The
inference unit 16 transmits a result obtained by inference, to theupdate unit 18. Theupdate unit 18 compares the inference result transmitted from theinference unit 16 with a model answer transmitted from theacceptance unit 12, and updates parameters stored in theparameter storage unit 102 such that an inference result that matches the model answer is likely to be obtained through inference performed by theinference unit 16. A description thereof is given below with an example. - Assume that, for example, the expression “grandfather (Jiro, Taro)” written in a formal language has been input to the
acceptance unit 12 as a model answer. Also, assume that a plurality of rules are stored in a knowledge base, and the rules include “father (a, b){circumflex over ( )} father (b, c)->grandfather (a, c)”. - Under the above conditions, when inference is executed on the nine combinations shown in
FIG. 6 , theinference unit 16 can obtain “grandfather (Jiro, Taro)” as an inference result, from a first combination (combination of “father (Ichiro, Taro)” and “father (Jiro, Ichiro)”) inFIG. 6 . In this case, the inference result transmitted from theinference unit 16 to theupdate unit 18 and a model answer transmitted from theacceptance unit 12 to theupdate unit 18 match. Therefore, theupdate unit 18 updates parameters (in the example embodiment, the weights of features) stored in theparameter storage unit 102 such that a combination of training expressions from which the inference result “grandfather (Jiro, Taro)” that matches the model answer can be obtained is likely to be generated by the formallanguage generation unit 14. Specifically, in the formallanguage generation unit 14, parameters stored in theparameter storage unit 102 are updated such that the text “Ichiro is Taro's father.” is likely to be converted into the training expression “father (Ichiro, Taro)”, and the text “Jiro is Ichiro's father” is likely to be converted into the training expression “father (Jiro, Ichiro)”. For example, theupdate unit 18 may also update parameters such that the weights of features based on which the text “Ichiro is Taro's father” is converted into the training expression “father (Ichiro, Taro)” and the weights of features based on which the text “Jiro is Ichiro's father.” is converted into the training expression “father (Jiro, Ichiro)” are increased. In addition, for example, theupdate unit 18 may also update parameters such that the weights of features that do not contribute to conversion from the text “Ichiro is Taro's father” into the training expression “father (Ichiro, Taro)” and the weights of features that do not contribute to conversion from the text “Jiro is Ichiro's father” into the training expression “father (Jiro, Ichiro)” are reduced. In other words, when one or more training expressions from which an inference result that matches a model answer can be obtained are set as correct expressions, theupdate unit 18 may update parameters such that the weights of features based on which a piece of text in a natural language is converted into a correct expression are increased, or may also update parameters such that the weights of features that do not contribute to conversion from a piece of text in a natural language into a correct expression are reduced. Note that, although a detailed description is omitted, an algorithm described inNon-patent Document 1 can be used for updating of parameters that is performed by theupdate unit 18, for example. - The
output unit 20 outputs parameters updated by theupdate unit 18. The parameters output from theoutput unit 20 and updated parameters stored in theparameter storage unit 102 can also be used in an apparatus other than the information processing apparatus 10 (for example, a known converter). In the example embodiment, theoutput unit 20 outputs parameters stored in theparameter storage unit 102, when the number of updates performed by theupdate unit 18 reaches a designated number set in advance, for example. - Note that a case has been described above in which one model answer is input to the
acceptance unit 12, but a plurality of model answers may also be input to theacceptance unit 12. In this case, there is a possibility that a plurality of inference results that match the plurality of model answers is obtained through inference performed by theinference unit 16. In this case, theupdate unit 18 may update parameters stored in theparameter storage unit 102 such that a plurality of training expressions corresponding to a plurality of inference results that match a plurality of model answers are likely to be generated by the formallanguage generation unit 14, for example. Note that inference results that match all of a plurality of model answers do not need to be obtained through inference performed by theinference unit 16. That is to say, it suffices for an inference result that matches one of the plurality of model answers to be obtained by theinference unit 16. In this case, theupdate unit 18 may update parameters stored in theparameter storage unit 102 such that a training expression corresponding to an inference result that matches one of a plurality of model answers is likely to be generated by the formallanguage generation unit 14, for example. - In addition, one piece of text or three or more pieces of text may also be input to the
acceptance unit 12. For example, when one piece of text is input to theacceptance unit 12, a plurality of training expressions are generated by the formallanguage generation unit 14 based on that one piece of text. Inference is then executed on each of the plurality of training expressions, and, in response to a condition that an inference result that matches the model answer is obtained, parameters stored in theparameter storage unit 102 are updated by theupdate unit 18. In addition, when three or more pieces of text are input to theacceptance unit 12, one or more training expressions are generated for each piece of text by the formallanguage generation unit 14. In this case, for example, inference is executed on all of the combinations of training expressions generated from different pieces of text, or a combination of randomly selected training expressions, and, when an inference result that matches the model answer is obtained, parameters stored in theparameter storage unit 102 are updated by theupdate unit 18. - Next, operations of an information processing apparatus in an example embodiment of the invention is described with reference to
FIG. 7 .FIG. 7 is a flowchart showing operations of an information processing apparatus in an example embodiment of the invention. In the following description,FIGS. 1 to 6 is referred to as appropriate. In addition, in the example embodiment, as a result of causing theinformation processing apparatus 10 to operate, an information processing method is carried out. Thus, a description of the information processing method in the example embodiment is replaced with the following description of operations of theinformation processing apparatus 10. - Note that a case is described below in which the
inference unit 16 executes inference on a predetermined number of training expressions randomly sampled from among one or more training expressions generated from one or more pieces of text (or a predetermined number of randomly sampled combinations of training expressions). However, theinference unit 16 may execute inference on training expressions sampled based on parameters (or a combination of training expressions sampled based on parameters), for example. - As shown in
FIG. 7 , in theinformation processing apparatus 10, first, theacceptance unit 12 accepts one or more pieces of text written in a natural language and a model answer of an inference result (step S1). Next, the formallanguage generation unit 14 generates one or more training expressions (expressions written in a formal language) corresponding to the one or more pieces of text accepted by the acceptance unit 12 (step S2). - Next, the
inference unit 16 executes inference on one or more training expressions randomly sampled from among the one or more training expressions generated by the formal language generation unit 14 (or one or more combinations of randomly sampled training expressions), using a knowledge base stored in the knowledgebase storage unit 104, and obtains one or more inference results (step S3). Next, theupdate unit 18 compares the one or more inference results obtained by theinference unit 16 with the model answer input to theacceptance unit 12, and determines whether or not an inference result that matches the model answer has been obtained (step S4). - If it is determined in step S4 that an inference result that matches the model answer has been obtained, the
update unit 18 updates parameters stored in theparameter storage unit 102 as described above (step S5). Note that, in step S5, as described above, for example, theupdate unit 18 may update parameters such that the weights of features, based on which text in a natural language is converted into a correct expression, are increased, or may update parameters such that the weights of features, based on which text in a natural language is converted into a training expression different from the correct expression, are reduced. After the parameters have been updated by theupdate unit 18, theoutput unit 20 determines whether or not the number of updates performed by theupdate unit 18 has reached a designated number of times set in advance (step S6). If the number of updates has reached the designated number, theoutput unit 20 outputs parameters (step S7). - If it is determined in step S4 that an inference result that matches the model answer has not been obtained, or if it is determined in step S6 that the number of updates has not reached the designated number, the process in step S2 is executed again, and a training expression is newly generated by the formal
language generation unit 14. Subsequently, the above-described processing is repeatedly executed. Note that, if it is determined in step S4 that an inference result that matches the model answer has not been obtained, the procedure may return to the process step S1. - As described above, according to the example embodiment, it is possible to optimize parameters that are used when one or more pieces of text in a natural language are converted into one or more expressions in a formal language such that an inference result that matches a model answer set in advance is likely to be obtained by the
inference unit 16. - In the above example embodiment, in step S4, the
update unit 18 compares an inference result obtained by theinference unit 16 with a model answer input to theacceptance unit 12, and determines whether or not an inference result that matches the model answer has been obtained. However, content of processing that is performed by theupdate unit 18 is not limited to the above-described example. - For example, in response to a condition that a model answer input to the
acceptance unit 12 includes a plurality of expressions written in a formal language, theupdate unit 18 determines whether or not an inference result that matches at least one expression out of the plurality of expressions included in the model answer has been obtained through inference performed by theinference unit 16, in step S4, as shown inFIG. 8 . Specifically, for example, when “father (Ichiro, Taro){circumflex over ( )} age (Ichiro, 30)” is input to theacceptance unit 12 as a model answer, theupdate unit 18 determines whether or not at least one of “father (Ichiro, Taro)” and “age (Ichiro, 30)” has been obtained as an inference result through inference performed by theinference unit 16. - In step S4, if an inference result that matches at least one expression out of the plurality of expressions included in the model answer has been obtained, the
update unit 18 updates parameters such that the inference result that matches at least one expression is likely to be obtained through inference performed by the inference unit 16 (step S5). Specifically, parameters stored in theparameter storage unit 102 are updated such that the training expression from which the inference result that matches at least one expression can be obtained is likely to be generated by the formallanguage generation unit 14. - In step S4, if an inference result that matches at least one expression out of the plurality of expressions included in the model answer has not been obtained, the process in step S2 is executed again, and training expressions are newly generated by the formal
language generation unit 14. The above-described processing is then executed repeatedly. Note that the content of processes other than the process in step S4 is similar to that described with reference toFIG. 7 , and thus a description thereof is omitted. In addition, if it is determined in step S4 that an inference result that matches at least one expression out of the plurality of expressions included in the model answer has not been obtained, the procedure may return to the process in step S1. - In the above example embodiment, a case has been described in which the
output unit 20 determines in step S6 whether or not the number of updates performed by theupdate unit 18 has reached the designated number, but the process in step S6 is not limited to the above-described example. For example, a configuration may also be adopted in which, in step S6, if the above generation probability of a correct expression that is based on updated parameters is larger than the generation probability of a training expression different from the correct expression, theoutput unit 20 makes a determination of Yes, and if the generation probability of the correct expression is smaller than or equal to the generation probability of a training expression other than the correct expression, theoutput unit 20 makes a determination of No. In addition, for example, a configuration may also be adopted in which, in step S6, if the smallest value of the difference between the above generation probability of the correct expression that is based on updated parameters and the generation probability of a training expression other than the correct expression is larger than a threshold value set in advance, theoutput unit 20 makes a determination of Yes, and, if the above smallest value is smaller than or equal to the threshold value, makes a determination of No. - In the above example embodiment, a case has been described in which the
inference unit 16 performs decisive inference in step S3, but theinference unit 16 may also perform probabilistic inference. When theinference unit 16 performs probabilistic inference, the probability that a model answer is obtained from one or more training expressions generated by the formallanguage generation unit 14 is calculated in step S3. Specifically, for example, as shown inFIG. 6 , when inference is executed on each of the nine combinations of training expressions, a probability (score) that a model answer is obtained is calculated for each combination. - A probability that a model answer is obtained can be calculated using an MLN (Markov Logic Network), for example, with training expressions generated by the formal
language generation unit 14 serving as inputs (nodes). When an MLN is used, sampling is performed such that, for example, regarding the generation probability of each training expression (probability that each training expression is obtained) described with reference toFIG. 5A andFIG. 5B , the node of the training expression is true, and the periphery probability of the node corresponding to the model answer can be calculated as a probability (score) that the model answer is obtained. - As shown in
FIG. 9 , when theinference unit 16 performs probabilistic inference, theupdate unit 18 determines in step S4 whether or not any one of scores calculated by theinference unit 16 for each combination of training expressions (a probability that the model answer is obtained) is higher than the highest value of scores calculated previously. If any of the scores calculated by theinference unit 16 is higher than the highest value of the scores calculated previously, theupdate unit 18 updates parameters such that a training expression from which the score can be obtained is likely to be generated by the formal language generation unit 14 (step S5). In other words, parameters stored in theparameter storage unit 102 are updated such that the generation probability of a training expression, based on which theinference unit 16 can obtain a score that is higher than the highest value of the scores calculated previously, is increased. Note that parameters can be updated using, for example, an algorithm disclosed inNon-patent Document 1, and thus a detailed description thereof is omitted. - In addition, in the
information processing apparatus 10 according to Modified Example 3, in step S6, determination is performed as to whether or not any one of scores currently calculated by theinference unit 16 exceeds a predetermined threshold value. If it is determined in step S6 that any one of the scores calculated by theinference unit 16 exceeds the predetermined threshold value, theoutput unit 20 outputs parameters updated by the update unit 18 (step S7). - If it is determined in step S4 that none of the scores calculated by the
inference unit 16 is higher than the highest value of the scores previously calculated, or, if it is determined in step S6 that none of the scores calculated by theinference unit 16 exceeds the threshold value, the process in step S2 is executed again, and training expressions are newly generated by the formallanguage generation unit 14. Subsequently, the above-described processing is repeatedly executed. Note that content of processes other than those in steps S4 and S6 is similar to that described with reference toFIG. 7 , and thus a detailed description thereof is omitted. - When probabilistic inference is performed as in Modified Example 3, the value of a score calculated by the
inference unit 16 increases as a result of some pieces of text out of a plurality of pieces of text being converted into a proper formal language. Therefore, even if only some pieces of text of a plurality of pieces of text (for example, several thousands of pieces of text) are converted into proper expressions in a formal language by the formallanguage generation unit 14, parameters stored in theparameter storage unit 102 can be updated. - The program according to the example embodiment of the invention need only be a program that causes a computer to execute steps S1 to S7 shown in
FIG. 7, 8 , or 9. The information processing apparatus and the information processing method according to the example embodiment can be realized, by this program being installed on a computer and executed. In this case, the CPU (Central Processing Unit) of the computer, which is an information processing apparatus, performs processing, while functioning as theacceptance unit 12, the formallanguage generation unit 14, theinference unit 16, theupdate unit 18, and theoutput unit 20. - Also, the program according to the example embodiment may be executed by a computer system built from a plurality of computers. In this case, for example, each of the computers may function as one of the
acceptance unit 12, the formallanguage generation unit 14, theinference unit 16, theupdate unit 18, and theoutput unit 20. - Here, a computer that realizes an information processing apparatus by executing the program according to the example embodiment is described with reference to drawings.
FIG. 10 is a block diagram showing an example of a computer that realizes the information processing apparatus according to the example embodiment of the invention. - As shown in
FIG. 10 , acomputer 110 includes aCPU 111, amain memory 112, astorage device 113, aninput interface 114, adisplay controller 115, a data reader/writer 116, and acommunication interface 117. These units are connected in a manner that enables data communication therebetween, via abus 121. Note that thecomputer 110 may include a GPU (Graphics Processing Unit) or an FPGA (Field-Programmable Gate Array), in addition to theCPU 111 or instead of theCPU 111. - The
CPU 111 implements various computational operations, by extracting programs (code) according to the example embodiment that are stored in thestorage device 113 in themain memory 112, and executing these programs in predetermined order. Themain memory 112, typically, is a volatile storage device such as a DRAM (Dynamic Random Access Memory). Also, programs according to the example embodiment are provided in a state of being stored on a computer-readable recording medium 120. Note that programs according to the example embodiment may be distributed over the Internet connected via thecommunication interface 117. - Also, a semiconductor storage device such as a flash memory is given as a specific example of the
storage device 113, other than a hard disk drive. Theinput interface 114 mediates data transmission between theCPU 111 andinput devices 118 such as a keyboard and a mouse. Thedisplay controller 115 is connected to adisplay device 119 and controls display by thedisplay device 119. - The data reader/
writer 116 mediates data transmission between theCPU 111 and therecording medium 120, and executes readout of programs from therecording medium 120 and writing of processing results of thecomputer 110 to therecording medium 120. Thecommunication interface 117 mediates data transmission between theCPU 111 and other computers. - Also, a general-purpose semiconductor storage device such as a CF (Compact Flash (registered trademark)) card or an SD (Secure Digital) card, a magnetic storage medium such as a flexible disk, and an optical storage medium such as a CD-ROM (Compact Disk Read Only Memory) are given as specific examples of the
recording medium 120. - Note that the information processing apparatus according to the example embodiment is also realizable by using hardware corresponding to the respective units, rather than by a computer on which programs are installed. Furthermore, the information processing apparatus may be realized in part by programs, and the remaining portion may be realized by hardware.
- The example embodiment described above can be partially or wholly realized by
supplementary notes 1 to 15 described below, but the invention is not limited to the following description. - An information processing apparatus comprising:
- an acceptance unit configured to accept one or more pieces of text in a natural language and a model answer of an inference result that is obtained from the one or more pieces of text;
- a formal language generation unit configured to generate, as one or more training expressions, one or more expressions written in a formal language corresponding to the one or more pieces of text accepted by the acceptance unit, based on a parameter prepared in advance and the one or more pieces of text;
- an inference unit configured to execute at least one inference out of deductive inference and abduction on the one or more training expressions generated by the formal language generation unit, using a knowledge base prepared in advance; and
- an update unit configured to update the parameter such that an inference result that matches the model answer is likely to be obtained through the inference performed by the inference unit.
- The information processing apparatus according to
Supplementary Note 1, - wherein the inference unit calculates a probability that the model answer is obtained from the one or more training expressions by executing probabilistic inference, and
- the update unit updates the parameter such that the probability that is calculated by the inference unit is increased.
- The information processing apparatus according to
Supplementary Note 1, - wherein the model answer includes a plurality of expressions written in a formal language, and
- the update unit updates, in response to a condition that an inference result that matches at least one expression out of the plurality of expressions included in the model answer is obtained through the inference performed by the inference unit, the parameter such that the inference result that matches the at least one expression is likely to be obtained through the inference performed by the inference unit.
- The information processing apparatus according to
1 or 3,Supplementary Note - wherein the formal language generation unit generates a plurality of training expressions for each piece of text accepted by the acceptance unit, and
- the inference unit executes the at least one inference on the plurality of training expressions generated for each piece of text.
- The information processing apparatus according to
1, 3, or 4,Supplementary Note - wherein the update unit updates, in response to a condition that the inference unit obtains an inference result that matches the model answer, the parameter such that the training expression from which the inference result that matches the model answer is obtained is likely to be generated by the formal language generation unit.
- An information processing method, comprising:
- (a) a step of accepting one or more pieces of text in a natural language and a model answer of an inference result that is obtained from the one or more pieces of text;
- (b) a step of generating, as one or more training expressions, one or more expressions written in a formal language corresponding to the one or more pieces of text accepted in the (a) step, based on a parameter prepared in advance and the one or more pieces of text;
- (c) a step of executing at least one inference out of deductive inference and abduction on the one or more training expressions generated in the (b) step, using a knowledge base prepared in advance; and
- (d) a step of updating the parameter such that an inference result that matches the model answer is likely to be obtained through the inference in the (c) step.
- The information processing method according to
Supplementary Note 6, - wherein, in the (c) step, a probability that the model answer is obtained from the one or more training expressions is calculated by executing probabilistic inference, and
- in the (d) step, the parameter is updated such that the probability that is calculated in the (c) step is increased.
- The information processing method according to
Supplementary Note 6, - wherein the model answer includes a plurality of expressions written in a formal language, and
- in the (d) step, the parameter is updated such that the inference result that matches the at least one expression is likely to be obtained through the inference in the (c) step, in response to a condition that an inference result that matches at least one expression out of the plurality of expressions included in the model answer is obtained through the inference in the (c) step.
- The information processing method according to
6 or 8,Supplementary Note - wherein, in the (b) step, a plurality of training expressions are generated for each piece of text accepted in the (a) step, and
- in the (c) step, the at least one inference is executed on the plurality of training expressions generated for each piece of text.
- The information processing method according to
6, 8, or 9,Supplementary Note - wherein, in the (d) step, the parameter is updated such that the training expression from which the inference result that matches the model answer is obtained is likely to be generated in the (b) step, in response to a condition that an inference result that matches the model answer is obtained in the (c) step.
- A computer-readable recording medium that includes a program recorded thereon, the program including instructions that cause a computer to carry out:
- (a) a step of accepting one or more pieces of text in a natural language and a model answer of an inference result that is obtained from the one or more pieces of text;
- (b) a step of generating, as one or more training expressions, one or more expressions written in a formal language corresponding to the one or more pieces of text accepted in the (a) step, based on a parameter prepared in advance and the one or more pieces of text;
- (c) a step of executing at least one inference out of deductive inference and abduction on the one or more training expressions generated in the (b) step, using a knowledge base prepared in advance; and
- (d) a step of updating the parameter such that an inference result that matches the model answer is likely to be obtained through the inference in the (c) step.
- The computer-readable recording medium according to Supplementary Note 11,
- wherein, in the (c) step, a probability that the model answer is obtained from the one or more training expressions is calculated by executing probabilistic inference, and
- in the (d) step, the parameter is updated such that the probability that is calculated in the (c) step is increased.
- The computer-readable recording medium according to Supplementary Note 11,
- wherein the model answer includes a plurality of expressions written in a formal language, and
- in the (d) step, the parameter is updated such that the inference result that matches the at least one expression is likely to be obtained through the inference in the (c) step, in response to a condition that an inference result that matches at least one expression out of the plurality of expressions included in the model answer is obtained through the inference in the (c) step.
- The computer-readable recording medium according to Supplementary Note 11 or 13,
- wherein, in the (b) step, a plurality of training expressions are generated for each piece of text accepted in the (a) step, and
- in the (c) step, the at least one inference is executed on the plurality of training expressions generated for each piece of text.
- The computer-readable recording medium according to
Supplementary Note 11, 13, or 14, - wherein, in the (d) step, the parameter is updated such that the training expression from which the inference result that matches the model answer is obtained is likely to be generated in the (b) step, in response to a condition that an inference result that matches the model answer is obtained in the (c) step.
- This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2018-020258, filed Feb. 7, 2018, the disclosure of which is incorporated herein in its entirety by reference.
- As described above, according to the invention, it is possible to optimize parameters that are used when a piece of text in a natural language is converted into an expression in a formal language in a system that performs inference based on a natural language input by the user.
-
- 10 Information processing apparatus
- 12 Acceptance unit
- 14 Formal language generation unit
- 16 Inference unit
- 18 Update unit
- 20 Output unit
- 102 Parameter storage unit
- 104 Knowledge base storage unit
- 110 Computer
- 111 CPU
- 112 Main memory
- 113 Storage device
- 114 Input interface
- 115 Display controller
- 116 Data reader/writer
- 117 Communication interface
- 118 Input device
- 119 Display device
- 120 Recording medium
- 121 Bus
Claims (18)
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JPJP2018-020258 | 2018-02-07 | ||
| JP2018020258 | 2018-02-07 | ||
| JP2018-020258 | 2018-09-18 | ||
| PCT/JP2019/004305 WO2019156131A1 (en) | 2018-02-07 | 2019-02-06 | Information processing device, information processing method, and computer-readable storage medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20210064825A1 true US20210064825A1 (en) | 2021-03-04 |
| US11625531B2 US11625531B2 (en) | 2023-04-11 |
Family
ID=67549485
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/961,079 Active 2039-10-27 US11625531B2 (en) | 2018-02-07 | 2019-02-06 | Information processing apparatus, information processing method, and computer-readable recording medium |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11625531B2 (en) |
| JP (1) | JP6973515B2 (en) |
| WO (1) | WO2019156131A1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11934792B1 (en) * | 2023-02-10 | 2024-03-19 | Bria Artificial Intelligence Ltd. | Identifying prompts used for training of inference models |
| US12033372B2 (en) | 2021-11-14 | 2024-07-09 | Bria Artificial Intelligence Ltd | Attributing generated visual content to training examples |
| CN120218209A (en) * | 2025-03-21 | 2025-06-27 | 北京深势科技有限公司 | A processing method and device for updating model knowledge by optimizing MLP weights |
Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5960384A (en) * | 1997-09-03 | 1999-09-28 | Brash; Douglas E. | Method and device for parsing natural language sentences and other sequential symbolic expressions |
| US6789054B1 (en) * | 1999-04-25 | 2004-09-07 | Mahmoud A. Makhlouf | Geometric display tools and methods for the visual specification, design automation, and control of adaptive real systems |
| US7941438B2 (en) * | 2000-04-04 | 2011-05-10 | Sosy, Inc. | Method and apparatus for automatic generation of information system user interfaces |
| US20110125484A1 (en) * | 2009-11-24 | 2011-05-26 | The Boeing Company | Efficient Text Discrimination |
| US20110320187A1 (en) * | 2010-06-28 | 2011-12-29 | ExperienceOn Ventures S.L. | Natural Language Question Answering System And Method Based On Deep Semantics |
| US20120254143A1 (en) * | 2011-03-31 | 2012-10-04 | Infosys Technologies Ltd. | Natural language querying with cascaded conditional random fields |
| US20140006012A1 (en) * | 2012-07-02 | 2014-01-02 | Microsoft Corporation | Learning-Based Processing of Natural Language Questions |
| US8706477B1 (en) * | 2008-04-25 | 2014-04-22 | Softwin Srl Romania | Systems and methods for lexical correspondence linguistic knowledge base creation comprising dependency trees with procedural nodes denoting execute code |
| US20170140290A1 (en) * | 2015-11-18 | 2017-05-18 | International Business Machines Corporation | Automated Similarity Comparison of Model Answers Versus Question Answering System Output |
| US20170154043A1 (en) * | 2010-09-24 | 2017-06-01 | International Business Machines Corporation | Providing answers to questions including assembling answers from multiple document segments |
| US20180025075A1 (en) * | 2016-07-20 | 2018-01-25 | International Business Machines Corporation | Evaluating Temporal Relevance in Question Answering |
| US11250841B2 (en) * | 2016-06-10 | 2022-02-15 | Conduent Business Services, Llc | Natural language generation, a hybrid sequence-to-sequence approach |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0695884A (en) | 1992-09-10 | 1994-04-08 | Hitachi Ltd | Interactive construction supporting system for fuzzy knowledge |
| JPH0728630A (en) | 1993-06-25 | 1995-01-31 | Toshiba Corp | Program generator |
| JPH08115218A (en) | 1994-10-14 | 1996-05-07 | Nippon Telegr & Teleph Corp <Ntt> | Reasoning device |
| US6879967B1 (en) * | 2000-03-24 | 2005-04-12 | Ricoh Co., Ltd. | Method and apparatus for open data collection |
| US7603330B2 (en) * | 2006-02-01 | 2009-10-13 | Honda Motor Co., Ltd. | Meta learning for question classification |
| US8275803B2 (en) * | 2008-05-14 | 2012-09-25 | International Business Machines Corporation | System and method for providing answers to questions |
| US9323834B2 (en) * | 2011-12-05 | 2016-04-26 | International Business Machines Corporation | Semantic and contextual searching of knowledge repositories |
| US9208693B2 (en) * | 2012-04-30 | 2015-12-08 | International Business Machines Corporation | Providing intelligent inquiries in question answer systems |
| US8954359B2 (en) * | 2012-05-25 | 2015-02-10 | Siemens Aktiengesellschaft | Deriving predictions from data using information extraction and machine learning |
| US10423889B2 (en) * | 2013-01-08 | 2019-09-24 | Purepredictive, Inc. | Native machine learning integration for a data management product |
| US9280908B2 (en) * | 2013-03-15 | 2016-03-08 | International Business Machines Corporation | Results of question and answer systems |
| US20140358964A1 (en) * | 2013-05-28 | 2014-12-04 | International Business Machines Corporation | Natural language processing (NLP) query formulation engine for a computing device |
| WO2015053861A2 (en) * | 2013-10-09 | 2015-04-16 | Viv Labs, Inc. | Dynamically evolving cognitive architecture system based on a natural language intent interpreter |
| US10025819B2 (en) * | 2014-11-13 | 2018-07-17 | Adobe Systems Incorporated | Generating a query statement based on unstructured input |
| US11113614B2 (en) * | 2015-07-29 | 2021-09-07 | Parsons Corporation | Enterprise hypothesis orchestration |
| EP3142029A1 (en) * | 2015-09-11 | 2017-03-15 | Google, Inc. | Disambiguating join paths for natural language queries |
| US10242316B2 (en) * | 2016-03-28 | 2019-03-26 | Christoph Adam Kohlhepp | Robotic capability model for artificial intelligence assisted manufacturing supply chain planning |
| US9881082B2 (en) * | 2016-06-20 | 2018-01-30 | International Business Machines Corporation | System and method for automatic, unsupervised contextualized content summarization of single and multiple documents |
| US10606952B2 (en) * | 2016-06-24 | 2020-03-31 | Elemental Cognition Llc | Architecture and processes for computer learning and understanding |
| US20180033325A1 (en) * | 2016-07-29 | 2018-02-01 | International Business Machines Corporation | Document Recommendation Method Based on Skill |
-
2019
- 2019-02-06 JP JP2019570782A patent/JP6973515B2/en active Active
- 2019-02-06 WO PCT/JP2019/004305 patent/WO2019156131A1/en not_active Ceased
- 2019-02-06 US US16/961,079 patent/US11625531B2/en active Active
Patent Citations (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5960384A (en) * | 1997-09-03 | 1999-09-28 | Brash; Douglas E. | Method and device for parsing natural language sentences and other sequential symbolic expressions |
| US6789054B1 (en) * | 1999-04-25 | 2004-09-07 | Mahmoud A. Makhlouf | Geometric display tools and methods for the visual specification, design automation, and control of adaptive real systems |
| US7941438B2 (en) * | 2000-04-04 | 2011-05-10 | Sosy, Inc. | Method and apparatus for automatic generation of information system user interfaces |
| US8706477B1 (en) * | 2008-04-25 | 2014-04-22 | Softwin Srl Romania | Systems and methods for lexical correspondence linguistic knowledge base creation comprising dependency trees with procedural nodes denoting execute code |
| US8401837B2 (en) * | 2009-11-24 | 2013-03-19 | The Boeing Company | Efficient text discrimination for word recognition |
| US20110125484A1 (en) * | 2009-11-24 | 2011-05-26 | The Boeing Company | Efficient Text Discrimination |
| US20110320187A1 (en) * | 2010-06-28 | 2011-12-29 | ExperienceOn Ventures S.L. | Natural Language Question Answering System And Method Based On Deep Semantics |
| US20170154043A1 (en) * | 2010-09-24 | 2017-06-01 | International Business Machines Corporation | Providing answers to questions including assembling answers from multiple document segments |
| US20120254143A1 (en) * | 2011-03-31 | 2012-10-04 | Infosys Technologies Ltd. | Natural language querying with cascaded conditional random fields |
| US20140006012A1 (en) * | 2012-07-02 | 2014-01-02 | Microsoft Corporation | Learning-Based Processing of Natural Language Questions |
| US20170140290A1 (en) * | 2015-11-18 | 2017-05-18 | International Business Machines Corporation | Automated Similarity Comparison of Model Answers Versus Question Answering System Output |
| US11250841B2 (en) * | 2016-06-10 | 2022-02-15 | Conduent Business Services, Llc | Natural language generation, a hybrid sequence-to-sequence approach |
| US20180025075A1 (en) * | 2016-07-20 | 2018-01-25 | International Business Machines Corporation | Evaluating Temporal Relevance in Question Answering |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12033372B2 (en) | 2021-11-14 | 2024-07-09 | Bria Artificial Intelligence Ltd | Attributing generated visual content to training examples |
| US12142029B2 (en) | 2021-11-14 | 2024-11-12 | Bria Artificial Intelligence Ltd | Attributing generated visual content to training examples |
| US11934792B1 (en) * | 2023-02-10 | 2024-03-19 | Bria Artificial Intelligence Ltd. | Identifying prompts used for training of inference models |
| US12073605B1 (en) | 2023-02-10 | 2024-08-27 | Bria Artificial Intelligence Ltd. | Attributing aspects of generated visual contents to training examples |
| US12080277B1 (en) | 2023-02-10 | 2024-09-03 | Bria Artificial Intelligence Ltd. | Attributing generated audio contents to training examples |
| US12223281B2 (en) | 2023-02-10 | 2025-02-11 | Bria Artificial Intelligence Ltd. | Generating content using a generative model without relying on selected training examples |
| US12307208B2 (en) | 2023-02-10 | 2025-05-20 | Bria Artificial Intelligence Ltd. | Prompt-based attribution of generated media contents |
| US12488186B2 (en) | 2023-02-10 | 2025-12-02 | Bria Artificial Intelligence Ltd. | Inference based on different portions of a training set using a single inference model |
| CN120218209A (en) * | 2025-03-21 | 2025-06-27 | 北京深势科技有限公司 | A processing method and device for updating model knowledge by optimizing MLP weights |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2019156131A1 (en) | 2019-08-15 |
| JP6973515B2 (en) | 2021-12-01 |
| US11625531B2 (en) | 2023-04-11 |
| JPWO2019156131A1 (en) | 2020-12-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12393875B2 (en) | Training encoder model and/or using trained encoder model to determine responsive action(s) for natural language input | |
| JP7084617B2 (en) | Question answering device and computer program | |
| US20120262461A1 (en) | System and Method for the Normalization of Text | |
| CN110619034A (en) | Text keyword generation method based on Transformer model | |
| CN110717327A (en) | Title generating method, apparatus, electronic device and storage medium | |
| US11669691B2 (en) | Information processing apparatus, information processing method, and computer readable recording medium | |
| US20250103592A1 (en) | Systems and methods for question answering with diverse knowledge sources | |
| CN110688450B (en) | A keyword generation method based on Monte Carlo tree search, a keyword generation model based on reinforcement learning, and electronic equipment | |
| CN111400479B (en) | Question recognition method and device for multi-round dialogue | |
| US20240104353A1 (en) | Sequence-to sequence neural network systems using look ahead tree search | |
| US11625531B2 (en) | Information processing apparatus, information processing method, and computer-readable recording medium | |
| JP6312467B2 (en) | Information processing apparatus, information processing method, and program | |
| CN113033205A (en) | Entity linking method, device, equipment and storage medium | |
| CN111814433B (en) | Uygur language entity identification method and device and electronic equipment | |
| CN115186080A (en) | Intelligent question-answering data processing method, system, computer equipment and medium | |
| KR102694634B1 (en) | Method for learning using tree-based search technology, and computer program recorded on record-medium for executing method therefor | |
| CN113837386B (en) | Retrieval method and device based on multi-hop inference | |
| WO2022185457A1 (en) | Feature quantity extraction device, learning device, feature quantity extraction method, learning method, and program | |
| KR20250176057A (en) | Method for generating responses using large language model and dialogue system thereof | |
| JP2018055622A (en) | Information processing device and program | |
| WO2025072160A1 (en) | Systems and methods for question answering with diverse knowledge sources | |
| KR20240138851A (en) | Method for performing classification of translation categories and translation thereof using deep-learning based pen-type translating device and pen-type translating device using the same | |
| JP2022108435A (en) | Opinion object extracting device, learning device and program | |
| CN121030356A (en) | A software development auxiliary system and method | |
| CN110765243A (en) | Construction method, electronic device and computer equipment of natural language processing system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| AS | Assignment |
Owner name: NEC CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SADAMASA, KUNIHIKO;OKAJIMA, YUZURU;SIGNING DATES FROM 20200925 TO 20201019;REEL/FRAME:054299/0658 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |