WO2018043598A1 - 文脈解析装置及びそのためのコンピュータプログラム - Google Patents
文脈解析装置及びそのためのコンピュータプログラム Download PDFInfo
- Publication number
- WO2018043598A1 WO2018043598A1 PCT/JP2017/031250 JP2017031250W WO2018043598A1 WO 2018043598 A1 WO2018043598 A1 WO 2018043598A1 JP 2017031250 W JP2017031250 W JP 2017031250W WO 2018043598 A1 WO2018043598 A1 WO 2018043598A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- word
- analysis
- candidate
- vector
- sentence
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- 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
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised 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/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
Definitions
- the present invention relates to a context analysis device that identifies another word that is in a specific relationship with a word in a sentence and cannot be clearly determined from a word string in the sentence based on the context. More specifically, the present invention relates to a context analysis device for performing anaphora analysis for specifying a word indicated by a directive in a sentence, or for omitting analysis for specifying a subject of a predicate whose subject is omitted in the sentence.
- the example sentence 30 includes a first sentence and a second sentence.
- the second sentence includes an instruction word (pronoun) 42 “it”. It is impossible to determine which word the instruction word 42 indicates by simply looking at the word string of the sentence. In this case, the instruction word 42 “it” indicates the expression 40 “Month history New Year date” in the first sentence. In this way, the process of specifying the word indicated by the directive word existing in the sentence is called “anaphora analysis”.
- This example sentence 60 includes a first sentence and a second sentence.
- the subject of the predicate “with self-diagnosis function” is omitted.
- the word “new switch” 72 in the first sentence is omitted.
- the subject of the predicate “200 system will be installed” is also omitted.
- the word 70 “N company” in the first sentence is omitted.
- the process of detecting omission of a subject or the like and complementing it is called “omission analysis”.
- the anaphoric analysis and the omitted analysis are collectively referred to as “anaphoric / omitted analysis”.
- Non-Patent Document 1 in addition to relatively surface cues such as morphological analysis / syntactic analysis, predicates with pronouns / abbreviations and expressions to be pointed / supplemented Semantic consistency is used as a clue.
- the object of the predicate “eating” is omitted, the object of “eating” is searched by matching the expression corresponding to “food” with a prepared dictionary.
- an expression that frequently appears as an object of “eating” is searched from large-scale document data, and the expression is selected as an expression that is omitted and used as a feature quantity used in machine learning.
- Non-patent literature 2 As other contextual features, for anaphora and omission analysis, function words that appear in the path in the dependency structure between the candidate and the source (pronouns, abbreviations, etc.) are used (non-patent literature). 1) In addition, attempts have been made to extract and use a partial structure effective for analysis from the path of the dependency structure (Non-Patent Document 2).
- Sentence 90 shown in FIG. 3 includes predicates 100, 102, and 104. Among these, the subject of the predicate 102 (“received”) is omitted 106. There are words 110, 112, 114, and 116 in the sentence 90 as word candidates to be supplemented with the omission 106. Among these, the word 112 (“government”) is a word that should be supplemented with the abbreviation 106. The question is how to determine this word in natural language processing. Usually, a machine classifier is used for this word estimation.
- Non-Patent Document 1 uses a function word / symbol in a dependency path between a predicate and a word candidate to be supplemented with omission of the subject of the predicate as a contextual feature. . Therefore, conventionally, morphological analysis and syntax analysis are performed on the input sentence. For example, when considering a dependency path between “government” and an abbreviation (indicated by “ ⁇ ”), in Non-Patent Document 1, “GA”, “,”, “TA”, “O”, “TE” It is determined by machine learning using the function words “I” and “.” As features.
- Non-Patent Document 2 a partial tree that contributes to classification is acquired from a partial structure of a sentence extracted in advance, and a part of the dependency path is abstracted to use it for feature extraction. For example, as shown in FIG. 5, information that the subtree “ ⁇ noun>” ⁇ “ ⁇ verb>” is effective for omission completion is acquired in advance.
- Non-Patent Literature 3 there is a method of using the information obtained by finding a subject shared recognition that classifies whether or not the subject is the same in two predicates, and solving it. According to this method, the omission analysis process is realized by propagating the subject in the predicate set sharing the subject. In this method, the relationship between predicates is used as a contextual feature.
- an object of the present invention is to provide a context analysis apparatus capable of performing sentence analysis such as anaphora and omission analysis in a sentence with high accuracy by using contextual features comprehensively and efficiently.
- the context analysis device is another word that has a certain relationship with a certain word in the context of a sentence, and it is not clear that it has a relationship with the certain word only from the sentence. Identify another word.
- This context analysis device includes an analysis target detection unit for detecting a word as an analysis target in a sentence, and an analysis target detected by the analysis target detection unit using another word having a certain relationship with the analysis target.
- the candidate search means for searching for possible word candidates in the sentence, and the analysis target detected by the analysis target detection means, one word candidate from the word candidates searched by the candidate search means is described above.
- Word determining means for determining as another word.
- the word determination means includes a word vector group generation means for generating a plurality of types of word vector groups determined by a sentence, an analysis target, and the word candidate for each word candidate, and a word for each word candidate.
- the score calculation means trained in advance by machine learning to output a score indicating the possibility that the word candidate is related to the analysis target, and output by the score calculation means
- Word specifying means for specifying the word candidate having the best score as a word having a certain relationship with the analysis target.
- Each of the plural types of word vector groups includes at least one or a plurality of word vectors generated using a word string of the entire sentence other than the analysis target and the word candidate.
- the score calculation means is a neural network having a plurality of sub-networks, and the plurality of word vectors are respectively input to the plurality of sub-networks included in the neural network.
- the word vector group generation means is a first generation means for outputting a word vector representing a word string included in the entire sentence, and a plurality of word strings divided by a word and a word candidate in the sentence.
- Second generation means for generating and outputting each word vector, a word string obtained from a subtree related to a word candidate based on a dependency tree obtained by parsing a sentence, and a dependency destination part of a word A word string obtained from a tree, a word string obtained from a dependency path in a dependency tree between a word candidate and a certain word, and a word string obtained from a subtree other than those in the dependency tree
- Third generation means for generating and outputting an arbitrary combination of the obtained word vectors, and generating and outputting two word vectors representing word strings respectively obtained from word strings before and after a certain word in the sentence
- Each of the plurality of sub-networks is a convolutional neural network.
- each of the plurality of sub-networks may be LSTM (Long Short Term Memory).
- the neural network includes a multi-column convolutional neural network (MCNN), and each convolutional neural network included in each column of the multi-column convolutional neural network receives a separate word vector from the word vector group generation means. Connected.
- MCNN multi-column convolutional neural network
- the parameters of the sub-networks that make up the MCNN may be the same.
- the computer program according to the second aspect of the present invention causes the computer to function as all the means of any of the context analysis devices described above.
- FIG. 1 It is a schematic diagram for demonstrating anaphora analysis. It is a mimetic diagram for explaining omission analysis. It is a schematic diagram for showing the usage example of a contextual feature. It is a schematic diagram for demonstrating the prior art disclosed by the nonpatent literature 1. FIG. It is a schematic diagram for demonstrating the prior art disclosed by the nonpatent literature 2. FIG. It is a block diagram which shows the structure of the anaphora and omission analysis system by the multicolumn convolution neural network (MCNN) which concerns on the 1st Embodiment of this invention. It is a schematic diagram for demonstrating the SurfSeq vector utilized with the system shown in FIG. It is a schematic diagram for demonstrating the DepTree vector utilized with the system shown in FIG.
- MCNN multicolumn convolution neural network
- MC multi column
- FIG. 17 is a hardware block diagram of a computer whose appearance is shown in FIG. 16.
- the anaphora / omission analysis system 160 performs a dependency analysis on the morpheme analysis unit 200 that receives the input sentence 170 and performs morpheme analysis, and the morpheme sequence output from the morpheme analysis unit 200, and information indicating the dependency relationship is obtained.
- a dependency relationship analysis unit 202 that outputs the post-analysis sentence 204 attached, and a predicate in which the instruction word and the subject that are subject to context analysis are omitted from the post-analysis sentence 204, and their pointing destination candidates
- each of the following units is searched for searching for candidate words (complementation candidates) to be complemented in the omitted part and determining a pointing destination and a complementation candidate for each of the combinations.
- the MCNN 214 which is controlled by the analysis control unit 230 that controls the above, the MCNN 214 that has been learned in advance to determine the pointing candidate and the complement candidate, and the analysis control unit 230 Then, the response / omission analysis is performed on the post-analysis sentence 204, information indicating the instruction word is attached to the instruction word, and information specifying the word to be complemented is added to the omitted part, and the output sentence 174 And an anaphoric / omitted analysis unit 216 that outputs as
- the anaphoresis / omission analysis unit 216 receives a combination of the instruction word and the pointing destination, or a combination of a predicate in which the subject is omitted and a complement candidate of the subject, respectively, from the analysis control unit 230, and a Base vector sequence, a SurfSeq vector sequence, which will be described later,
- a Base word string extraction unit 206, a SurfSeq word string extraction unit 208, a DepTree word string extraction unit 210, and a PredContext word string extraction unit 212 that extract a DepTree vector string and a word string for generating a PredContext vector string from a sentence;
- the Base word string extraction unit 206, the SurfSeq word string extraction unit 208, the DepTree word string extraction unit 210, and the PredContext word string extraction unit 212 receive the Base word string, the SurfSeq word string, the DepTree word string, and the PredContext word string, respectively
- Base word string extracted by the Base word string extraction unit 206 is extracted from the entire sentence.
- SurfSeq word string extracted by the SurfSeq word string extraction unit 208 extracted by the SurfSeq word string extraction unit 208
- DepTree word string extracted by the DepTree word string extraction unit 210 extracted by the DepTree word string extraction unit 210
- PredContext extracted by the PredContext word string extraction unit 212 All word strings are extracted from the entire sentence.
- the Base word string extraction unit 206 extracts a word string from a pair of a noun to be omitted and a predicate that may have an omission included in the post-analysis sentence 204, and outputs the extracted word string as a Base word string.
- the vector conversion unit 238 generates a Base vector sequence that is a word vector sequence from this word sequence.
- word embedding vectors are used as all of the following word vectors in order to preserve the appearance order of words and reduce the amount of calculation.
- the word string extracted by SurfSeq word string extraction unit 208 shown in FIG. 6 is based on the order of appearance of the word string in sentence 90, word string 260 from the beginning of the sentence to completion candidate 250, and the completion candidate.
- a word string 262 between 250 and the predicate 102 and a word string 264 after the predicate 102 to the end of the sentence are included. Therefore, the SurfSeq vector sequence is obtained as three word embedded vector sequences.
- the word string extracted by the DepTree word string extraction unit 210 is based on the dependency tree of the sentence 90, the subtree 280 related to the completion candidate 250, the subtree 282 that is the dependency destination of the predicate 102, and the completion candidate. And the word string obtained from the dependency path 284 between the predicate 102 and the others 286. Therefore, in this example, the DepTree vector sequence is obtained as four word embedded vector sequences.
- the word string extracted by PredContext word string extraction unit 212 includes a word string 300 before predicate 102 and a word string 302 after the predicate 102 in sentence 90. Therefore, in this case, the PredContext vector sequence is obtained as two word embedded vector sequences.
- MCNN 214 includes a neural network layer 340 including first to fourth convolutional neural network groups 360, 362, 364, and 366, and each neural network in neural network layer 340. Applying the Softmax function to the connected layer 342 that linearly connects the outputs of the output and the vector output from the connected layer 342, whether or not the complement candidate is a true complement candidate is evaluated with a score between 0 and 1 And an output Softmax layer 344.
- the neural network layer 340 includes the first convolution neural network group 360, the second convolution neural network group 362, the third convolution neural network group 364, and the fourth convolution neural network group 366 as described above.
- the first convolutional neural network group 360 includes a first-column subnetwork that receives the Base vector.
- Second convolutional neural network group 362 includes second, third, and fourth column sub-networks that receive three SurfSeq vector sequences, respectively.
- Third convolutional neural network group 364 includes fifth, sixth, seventh, and eighth column sub-networks that each receive four DepTree vector sequences.
- the fourth convolutional neural network group 366 includes ninth and tenth column sub-networks that receive two PredContext vector sequences. These sub-networks are all convolutional neural networks.
- each convolutional neural network of the neural network layer 340 is simply linearly connected by the connection layer 342, and becomes an input vector to the Softmax layer 344.
- FIG. 11 shows one convolutional neural network 390 as a representative.
- the convolutional neural network 390 includes only the input layer 400, the convolutional layer 402, and the pooling layer 404.
- the convolutional neural network 390 includes a plurality of these three layers. But you can.
- output from the word vector conversion unit 238 is input to the input layer 400 via the score calculation unit 232.
- , the matrix T [X 1, X 2 , ..., X
- M feature maps are applied to this matrix T.
- the feature map is a vector, and the vector O, which is an element of each feature map, applies an N-gram 410 while applying a filter indicated by f j (1 ⁇ j ⁇ M) to an N-gram composed of continuous word vectors. Calculated by moving.
- N may be equal throughout the entire feature map, or there may be different ones. N may be about 2, 3, 4 and 5.
- the weight matrix is the same in all convolutional neural networks. These may be different from each other, but in fact, the equality is higher than when learning each weight matrix independently.
- the next pooling layer 404 For each feature map, the next pooling layer 404 performs so-called max pooling. That is, the pooling layer 404 selects, for example, the largest element 420 among the elements of the feature map f M and extracts it as the element 430. By performing this for each of the feature maps, the elements 432,..., 430 are taken out and connected in the order of f 1 to f M and output as a vector 442 to the connection layer 342.
- Each of the convolutional neural networks outputs vectors 440,..., 442,.
- the connection layer 342 simply linearly connects the vectors 440,..., 442,.
- the one that performs max pooling is more accurate than the one that employs an average value. However, of course, an average value may be adopted, and other representative values may be used as long as the properties of lower layers are well expressed.
- the anaphoric / omitted analysis unit 216 shown in FIG. 6 will be described.
- the anaphora / omission analysis unit 216 is realized by computer hardware including a memory and a processor and computer software executed thereon.
- FIG. 12 shows the control structure of such a computer program in the form of a flowchart.
- this program generates all pairs ⁇ cand i ; pred i > of a predicate cand i in which a directive or subject is omitted and a word pred i that is a candidate for completion from a sentence to be analyzed.
- Step 460 and for a certain pair generated in step 460, step 464 is executed for all pairs. Sorting the list calculated in step 466 in descending order of the score n.
- the pair ⁇ cand i ; pred i > indicates all possible combinations of a predicate and a possible word as a complement candidate. That is, in the set of pairs, each predicate and candidate for completion can appear multiple times.
- the program further includes step 468 for initializing the iterative control variable i to 0, step 470 for comparing whether the value of the variable i is greater than the number of elements in the list, and branching control according to whether the comparison is positive or not.
- Step 474 is executed in response to the comparison of Step 470 being negative, and the control branches according to whether the score of the pair ⁇ cand i ; pred i > is greater than a predetermined threshold value, and Step 474. Is executed in response to the positive determination, and the control branches according to whether or not the completion candidate of the predicate pred i has already been completed, and in response to the negative determination in step 476 And 478 for complementing cand i to the omitted subject of predicate pred i .
- the threshold value of step 474 for example, a range of about 0.7 to 0.9 can be considered.
- the program is further executed in response to a negative determination at step 474, a negative determination at step 476, or the completion of the processing at step 478, listing ⁇ cand i ; pred i >.
- learning of the MCNN 214 is the same as learning of a normal neural network.
- the above-described ten word vectors are used as the word vector, and the data indicating whether the combination of the predicate being processed and the complement candidate is correct is added to the learning data. It is different from the time of discrimination as in the embodiment.
- the anaphora / omission analysis system 160 shown in FIGS. 6 to 12 operates as follows.
- the morpheme analysis unit 200 performs a morpheme analysis of the input sentence 170 and gives a morpheme string to the dependency relationship analysis unit 202.
- the dependency relationship analysis unit 202 performs dependency analysis on the morpheme string, and provides the post-analysis sentence 204 with the dependency information to the analysis control unit 230.
- the analysis control unit 230 searches all the predicates in which the subject is omitted in the post-analysis sentence 204, searches the post-analysis sentence 204 for completion candidates for each predicate, and performs the following processing for each of these combinations. Execute. That is, the analysis control unit 230 selects one combination of the predicate to be processed and the complement candidate, and the Base word string extraction unit 206, the SurfSeq word string extraction unit 208, the DepTree word string extraction unit 210, and the PredContext word string extraction unit 212. To give.
- the Base word string extraction unit 206, the SurfSeq word string extraction unit 208, the DepTree word string extraction unit 210, and the PredContext word string extraction unit 212 respectively receive the Base word string, the SurfSeq word string, the DepTree word string, and the PredContext word string from the post-analysis sentence 204. Are extracted and output as a word string group. These word string groups are converted into word vector strings by the word vector conversion unit 238 and given to the score calculation unit 232.
- the analysis control unit 230 causes the score calculation unit 232 to execute the following processing.
- the score calculation unit 232 provides the Base vector sequence to the input of one subnetwork of the first convolutional neural network group 360 of the MCNN 214.
- the score calculation unit 232 supplies the three SurfSeq vector sequences to the inputs of the three sub-networks of the second convolutional neural network group 362 of the MCNN 214, respectively.
- the score calculation unit 232 further provides four DepTree vector sequences to the four sub-networks of the third convolutional neural network group 364, and provides two PredContext vector sequences to the two sub-networks of the fourth convolutional neural network group 366. .
- the MCNN 214 calculates a score corresponding to the probability that the combination of the predicate and the complementary candidate corresponding to the given word vector group is correct, and provides the score calculation unit 232 with the score.
- the score calculation unit 232 combines the score with respect to the combination of the predicate and the complement candidate and gives the combined result to the list storage unit 234, and the list storage unit 234 stores the combination as one item of the list.
- the list storage unit 234 lists those scores for each combination of all predicates and complement candidates ( FIG. 12, steps 460, 462, 464).
- the complement processing unit 236 sorts the list stored in the list storage unit 234 in descending order of score (FIG. 12, step 466).
- the complement processing unit 236 reads items from the top of the list, and when processing has been completed for all items (YES in step 470), outputs a sentence after completion (step 472) and ends the processing. If items still remain (NO in step 470), it is determined whether the score of the read item is greater than a threshold value (step 474). If the score is less than or equal to the threshold value (NO in step 474), the item is deleted from the list in step 480, and the process proceeds to the next item (step 482 to step 470).
- step 476 it is determined in step 476 whether or not the subject for the predicate of the item has already been complemented by another complement candidate (step 476). If already completed (YES in step 476), the item is deleted from the list (step 480), and the process proceeds to the next item (step 482 to step 470). If the subject for the predicate of the item has not been complemented (NO in step 476), in step 478, the candidate for completion of the item is complemented in the omitted part of the subject for the predicate. Further, the item in step 480 is deleted from the list, and the process proceeds to the next item (from step 482 to step 470).
- step 470 determines whether all possible completions are completed. If all possible completions are completed, the determination in step 470 is YES, and the sentence after completion is output in step 472.
- a predicate and a complement candidate (or instruction) using all the word strings constituting the sentence and using vectors generated from a plurality of different viewpoints. It is determined whether or not the combination of the word and its pointing destination candidate is correct. It is possible to make a determination from various viewpoints without manually adjusting the word vector as in the past, and it can be expected to improve the accuracy of the anaphora and omission analysis.
- a graph 500 is a PR curve as a result of an experiment performed according to the above embodiment.
- a graph 506 is a PR curve of an example obtained by generating a word vector from all words included in a sentence using a single column convolutional neural network instead of a multi-column.
- the black square 502 and the graph 504 show the results of the global optimization method shown in Non-Patent Document 4 and PR curves obtained by experiments. Since this method does not require a development set, four sub-corpora including the development set were used for learning. In this method, relations between predicates and grammatical terms can be obtained for the subject, object, and indirect object.
- the word vector selection method as described above expresses the context information more appropriately than that used in the conventional method. Furthermore, according to the method according to the above-described embodiment, a higher matching rate than that using a single column neural network was obtained. This indicates that the recall could be increased by using MCNN.
- the MCNN 214 is used for score calculation in the score calculation unit 232.
- the present invention is not limited to such an embodiment.
- a neural network having a network architecture called LSTM may be used.
- LSTM network architecture
- LSTM is a type of recurrent neural network and has the ability to store input sequences.
- learning with a large number of sets of training data which consists of an input sequence and an output sequence for it, receives an input sequence and receives an output sequence for it. Can be realized.
- a system that automatically translates English into French using this mechanism has already been used (Non-Patent Document 5).
- MCLSTM multi-column LSTM 530 used in place of MCNN 214 in this embodiment is similar to LSTM layer 540 and connection layer 342 in the first embodiment.
- a linking layer 542 that linearly connects the outputs of each LSTM, and a softmax function applied to a vector output from the linking layer 542, and a score between 0 and 1 indicates whether or not the complementary candidate is a true complementary candidate.
- a Softmax layer 544 for evaluation and output.
- the LSTM layer 540 includes a first LSTM group 550, a second LSTM group 552, a third LSTM group 554, and a fourth LSTM group 556. Each of these includes a sub-network made of LSTM.
- the first LSTM group 550 includes the LSTM of the first column that receives the Base vector sequence, similarly to the first convolution neural network group 360 of the first embodiment. Similar to the second convolutional neural network group 362 of the first embodiment, the second LSTM group 552 includes second, third, and fourth column LSTMs that respectively receive three SurfSeq vector sequences.
- the third LSTM group 554 is similar to the third convolutional neural network group 364 of the first embodiment, and the LSTMs of the fifth, sixth, seventh, and eighth columns that receive four DepTree vector sequences, respectively. Including.
- the fourth LSTM group 556 includes the ninth and tenth LST ⁇ s that receive two PredContext vector sequences, like the fourth convolutional neural network group 366 of the first embodiment.
- each LSTM of the LSTM layer 540 is simply linearly connected by the connecting layer 542 and becomes an input vector to the Softmax layer 544.
- each word vector string is generated in the form of a vector sequence including word vectors generated for each word according to the appearance order, for example.
- the word vectors forming these vector sequences are sequentially given to the corresponding LSTMs according to the appearance order of the words.
- the learning of the LSTM group constituting the LSTM layer 540 is also performed by the error back propagation method using the learning data for the entire MLSTM 530 as in the first embodiment. This learning is performed such that, when a vector series is given, MCTLTM 530 outputs a probability that a word that is a candidate for completion is truly a pointing destination.
- the operation of the anaphoresis / omission analysis system according to the second embodiment is basically the same as that of the anaphora / omission analysis system 160 according to the first embodiment.
- the input of the vector sequence to each LSTM constituting the LSTM layer 540 is the same as in the first embodiment.
- step 464 of FIG. 12 instead of MCNN 214 (FIG. 10) of the first embodiment, MCLSTM 530 shown in FIG. 14 is used, and a vector sequence of word vectors is used as a word vector string, The point is that each word vector is input to the MCL STM 530 in order.
- each LSTM changes its internal state and its output also changes.
- the output of each LSTM at the time when the input of the vector sequence is completed is determined according to the vector sequence input so far.
- the connection layer 542 connects these outputs and inputs them to the Softmax layer 544.
- the Softmax layer 544 outputs the result of the softmax function for this input.
- this value is a probability indicating whether or not a complementary candidate for a pointer to a predicate in which a directive or subject is omitted is a true pointer candidate when generating a vector sequence.
- this probability calculated for a certain complementation candidate is greater than the probability calculated for another complementation candidate and greater than a certain threshold value ⁇ , the complementation candidate is a true pointing candidate presume.
- the subject for the word 580 “received” as the predicate is unknown, and the word 582 “report”, “government”, and “convention” as the candidate for completion. Assume that 584 and 586 are detected.
- vector sequences 600, 602, and 604 representing word vectors are obtained for the words 582, 584, and 586, respectively, and these are given as inputs to the MTLSTM 530.
- the values of 0.5, 0.8, and 0.4 are obtained for the vector sequences 600, 602, and 604, respectively, as the output of the MCTLTM 530.
- Their maximum value is 0.8. If the value of 0.8 is greater than or equal to the threshold ⁇ , it is estimated that the word 584 corresponding to the vector series 602, that is, “government” is the subject of “received”.
- the target is obtained by executing this process on a pair of all the directives in the target sentence, or predicates in which the subject is omitted and their pointing destination candidates. Sentence analysis is performed.
- the anaphoresis / omission analysis system according to the first and second embodiments can be realized by computer hardware and a computer program executed on the computer hardware.
- FIG. 16 shows the external appearance of the computer system 630
- FIG. 17 shows the internal configuration of the computer system 630.
- this computer system 630 includes a computer 640 having a memory port 652 and a DVD (Digital Versatile Disc) drive 650, and a keyboard 646, a mouse 648, and a monitor 642, all connected to the computer 640. Including.
- DVD Digital Versatile Disc
- the computer 640 includes a CPU (Central Processing Unit) 656, a bus 666 connected to the CPU 656, the memory port 652, and the DVD drive 650, and a boot program. And the like, a random access memory (RAM) 660 connected to the bus 666 for storing program instructions, system programs, work data, and the like, and a hard disk 654.
- Computer system 630 further includes a network interface (I / F) 644 that provides a connection to network 668 that allows communication with other terminals.
- I / F network interface
- a computer program for causing the computer system 630 to function as each functional unit of the anaphoresis / omission analysis system according to the above-described embodiment is stored in the DVD 662 or the removable memory 664 mounted on the DVD drive 650 or the memory port 652, and Transferred to the hard disk 654.
- the program may be transmitted to the computer 640 through the network 668 and stored in the hard disk 654.
- the program is loaded into the RAM 660 when executed.
- the program may be loaded directly from the DVD 662 into the RAM 660 from the removable memory 664 or via the network 668.
- This program includes an instruction sequence made up of a plurality of instructions for causing the computer 640 to function as each functional unit of the anaphoresis / omission analysis system according to the above embodiment.
- Some of the basic functions necessary to cause computer 640 to perform this operation are an operating system or third party program running on computer 640 or various dynamically linked programming toolkits or programs installed on computer 640. Provided by the library. Therefore, this program itself does not necessarily include all functions necessary for realizing the system and method of this embodiment.
- This program can be used as a system as described above by dynamically calling the appropriate program in the appropriate function or programming toolkit or program library at run time in a controlled manner to achieve the desired result. It is only necessary to include an instruction for realizing the function. Of course, all necessary functions may be provided only by the program.
- Japanese anaphora / analysis processing is handled.
- the present invention is not limited to such an embodiment.
- the idea of creating a word vector group from multiple viewpoints using a word string of the entire sentence can be applied to any language. Therefore, it is considered that the present invention can also be applied to other languages (Chinese, Korean, Italian, Spanish), etc., in which instruction words and omissions occur frequently.
- a word vector sequence using the word sequence of the whole sentence as a word vector sequence, it is not necessarily limited to these 4 types. Any word vector sequence created using a word sequence of the entire sentence from different viewpoints can be used. Furthermore, as long as at least two types using the word string of the entire sentence are used, a word vector string using a word string that is a part of the sentence may be used in addition thereto. Further, not only a simple word string but also a word vector string including those parts of speech information may be used.
- the embodiment disclosed herein is merely an example, and the present invention is not limited to the above-described embodiment. The scope of the present invention is indicated by each claim of the claims after taking into account the description of the detailed description of the invention, and all modifications within the meaning and scope equivalent to the wording described therein are included. Including.
- the present invention can be applied to all devices and services that require human interaction, and further to devices and services for improving human interfaces in various devices and services by analyzing human speech. Available.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】文脈的特徴を包括的かつ効率的に利用して文脈解析を高精度で行える文脈解析装置を提供する。 【解決手段】文脈解析装置160は、主語等が省略された述語と、その補完候補を検出する解析制御部230と、補完すべき語を決定する照応・省略解析部216とを含む。照応・省略解析部216は、補完候補について、文204から複数種類の単語ベクトルを生成する単語ベクトル生成部206、208、210及び212と、各補完候補について、単語ベクトルを入力として省略された語である確率を示すスコアを出力するよう学習済の畳み込みニューラルネットワーク214(又はLSTМ)と、スコアが最も良い補完候補を決定するリスト記憶部234及び補完処理部236とを含む。単語ベクトルは、各々が、少なくとも、解析対象と候補以外の文全体の文字列を用いて抽出される複数個の単語ベクトルを含む。指示語等、他の語についても同様に処理できる。
Description
この発明は、文脈に基づいて、文中のある単語と特定の関係にある別の単語であって、文の単語列からは明確に判定できない単語を特定する、文脈解析装置に関する。より詳しくは、本発明は、文中の指示語が指す語を特定する照応解析、又は文中で主語が省略されている述語の主語を特定する省略解析等を行うための文脈解析装置に関する。
自然言語の文中には、省略及び指示語が頻出する。例えば図1に示す例文30を考える。例文30は第1文と第2文とからなる。第2文には、「それ」という指示語(代名詞)42が含まれる。指示語42がどの語を指すかは、文の単語列を見ただけでは判断できない。この場合、「それ」という指示語42は第1文の「モン歴の正月の日付」という表現40を指す。このように、文中に存在する指示語の指す語を特定する処理を「照応解析」と呼ぶ。
これに対し、図2の例文60を考える。この例文60は、第1文と第2文とからなる。第2文において、「自己診断機能を搭載」という述語の主語は省略されている。この主語の省略箇所76には、第1文の「新型交換機」という単語72が省略されている。同様に、「200システムを設置する予定だ。」という述語の主語も省略されている。この主語の省略箇所74には、第1文の「N社」という単語70が省略されている。このように、主語等の省略を検出し、それを補完する処理を「省略解析」と呼ぶ。以後、照応解析と省略解析とをまとめて「照応・省略解析」と呼ぶ。
照応解析において指示語がどの語を指しているか、及び、省略解析において省略箇所に補完されるべき単語が何かは、人間には比較的容易に判断できる。この判断には、それら単語が置かれている文脈に関する情報が活用されていると思われる。現実に日本語では多数の指示語及び省略が使用されているが、人間が判断する上では大きな支障は生じない。
一方、いわゆる人工知能において、人間とのコミュニケーションをとるために、自然言語処理は欠かせない技術である。自然言語処理の重要な問題として、自動翻訳及び質問応答等が存在する。照応・省略解析の技術は、このような自動翻訳及び質問応答において必須の要素技術である。
しかし、照応・省略解析の現状の性能が実用レベルに至っているとは言いがたい。その主な理由は、従来型の照応・省略解析技術は、主に指し先の候補と指し元(代名詞及び省略等)から得られる手がかりを利用しているが、その特徴だけでは照応・省略関係を特定することが困難なためである。
例えば、後掲の非特許文献1の照応・省略解析アルゴリズムでは、形態素解析・統語解析等の比較的表層的な手がかりに加えて、代名詞・省略を持つ述語と指し先・補完対象となる表現の意味的な整合性を手がかりとして利用している。例として、述語「食べる」の目的語が省略される場合には、「食べ物」に該当する表現を、整備済みの辞書と照合することで「食べる」の目的語を探索する。又は、大規模な文書データから「食べる」の目的語として頻出する表現を探索し、その表現を省略補完する表現として選択したり機械学習で利用する特徴量として使用したりしている。
それ以外の文脈的特徴としては、照応・省略解析に関して、指し先の候補と指し元(代名詞や省略等)の間の係り受け構造におけるパス中に出現する機能語等を利用する(非特許文献1)こと、及び係り受け構造のパスから解析に有効な部分構造を抽出して利用する(非特許文献2)こと等が試みられている。
図3に示す文90を例としてこれら従来技術について説明する。図3に示す文90は、述語100、102、及び104を含む。これらのうち、述語102(「受けた」)の主語が省略106となっている。この省略106を補完すべき単語候補として、文90には単語110、112、114及び116が存在する。これらのうち、単語112(「政府」)が省略106を補完すべき単語である。この単語を自然言語処理においてどのように決定すべきかが問題となる。通常、この単語の推定には機械学習による判別器を用いる。
図4を参照して、非特許文献1は、述語とその述語の主語の省略を補完すべき単語候補との間の係り受けパス中の機能語・記号を文脈的な特徴として利用している。そのために従来は、入力文に対する形態素解析及び構文解析を行う。例えば「政府」と省略箇所(「φ」で示す。)の係り受けパスを考えた場合、非特許文献1では、「が」、「、」、「た」、「を」、「て」、「いる」、「。」、という機能語を素性に利用した機械学習により判別する。
一方、非特許文献2では、事前に抽出した文の部分構造から分類に寄与する部分木を獲得し、その係り受けパスを一部抽象化することによって素性の抽出に用いている。例えば図5に示すように、「〈名詞〉が」→「〈動詞〉」という部分木が省略補完に有効という情報が事前に獲得される。
文脈的特徴の別の利用方法として、2つの述語で主語が同じか否かを分類する主語共有認識という課題を見出し、それを解くことで得られる情報を使用する手法も存在する(非特許文献3)。この手法によれば、主語を共有する述語集合の中で主語を伝播させることで省略解析の処理を実現する。この手法では述語間の関係が文脈的特徴として利用されている。
このように、指し先及び指し元の出現文脈を手がかりとして利用しなければ、照応・省略解析の性能向上は難しいと思われる。
Ryu Iida, Massimo Poesio. A Cross-Lingual ILP Solution to Zero Anaphora Resolution. The 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies (ACL-HLT2011), pp.804-813.2011.
Ryu Iida, Kentaro Inui, Yuji Matsumoto. Exploiting Syntactic Patterns as Clues in Zero-Anaphora Resolution. 21st International Conference on Computational Linguistics and 44th Annual Meeting of the Association for Computational Linguistics (COLING/ACL), pp.625-632. 2006.
Ryu Iida, Kentaro Torisawa, Chikara Hashimoto, Jong-Hoon Oh, Julien Kloetzer. Intra-sentential Zero Anaphora Resolution using Subject Sharing Recognition. In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pp.2179-2189, 2015.
Hiroki Ouchi, Hiroyuki Shindo, Kevin Duh, and Yuji Matsumoto. 2015. Joint case argument identification for Japanese predicate argument structure analysis. In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing, pages 961-970.
Ilya Sutskever, Oriol Vinyals, Quoc Le, Sequence to Sequence Learning with Neural Networks, NIPS 2014.
このように照応・省略解析の性能が向上しない理由として、文脈情報の利用方法に改善の余地があることが挙げられる。既存の解析技術で文脈情報を利用する際には、利用する文脈的特徴を事前に研究者の内省に基づいて取捨選択するという方法が採用されている。しかしこうした方法では、文脈により表される重要な情報が捨てられている可能性が否定できない。そうした問題を解決するためには、重要な情報が捨てられないような方策を採るべきである。しかしそうした問題意識は従来の研究には見ることができず、文脈情報を活かすためにどのような方法を採用すればよいかもよく分かっていなかった。
それゆえにこの発明の目的は、文脈的特徴を包括的かつ効率的に利用することによって、文中の照応・省略解析等の文解析を高精度で行うことができる文脈解析装置を提供することである。
本発明の第1の局面に係る文脈解析装置は、文の文脈中で、ある単語と一定の関係を持つ別の単語であって、文だけからは当該ある単語と関係を持つことが明確でない別の単語を特定する。この文脈解析装置は、文中で、ある単語を解析対象として検出するための解析対象検出手段と、解析対象検出手段により検出された解析対象について、当該解析対象と一定の関係を持つ別の単語である可能性のある単語候補を文中で探索するための候補探索手段と、解析対象検出手段により検出された解析対象について、候補探索手段により探索された単語候補のうちから1つの単語候補を上記した別の単語として決定するための単語決定手段とを含む。単語決定手段は、単語候補の各々について、文と、解析対象と、当該単語候補とによって定まる、複数種類の単語ベクトル群を生成するための単語ベクトル群生成手段と、単語候補の各々について、単語ベクトル群生成手段により生成された単語ベクトル群を入力として、当該単語候補が解析対象と関係する可能性を示すスコアを出力するよう予め機械学習により学習済のスコア算出手段と、スコア算出手段により出力されたスコアが最も良い単語候補を解析対象と一定の関係を持つ単語として特定する単語特定手段とを含む。複数種類の単語ベクトル群は、各々が、少なくとも、解析対象と単語候補以外の文全体の単語列を用いて生成される1又は複数個の単語ベクトルを含む。
好ましくは、スコア算出手段は、複数個のサブネットワークを持つニューラルネットワークであり、複数個の単語ベクトルはそれぞれ、ニューラルネットワークに含まれる複数個のサブネットワークに入力される。
より好ましくは、単語ベクトル群生成手段は、文全体に含まれる単語列を表す単語ベクトルを出力する第1の生成手段、文のうち、ある単語と単語候補とにより分割された複数個の単語列から、それぞれ単語ベクトルを生成し出力する第2の生成手段、文を構文解析して得られた係り受け木に基づき、単語候補に係る部分木から得られる単語列、ある単語の係り先の部分木から得られる単語列、単語候補とある単語との間の、係り受け木中の係り受けパスから得られる単語列、及び係り受け木中のそれら以外の部分木からそれぞれ得られる単語列、から得られる単語ベクトルの任意の組合せを生成し出力する第3の生成手段、及び、文中においてある単語の前後の単語列よりそれぞれ得られる単語列を表す2つの単語ベクトルを生成し出力する第4の生成手段、の任意の組み合わせを含む。
複数のサブネットワークの各々は、畳み込みニューラルネットワークである。または、複数のサブネットワークの各々は、LSTM(Long Short Term Memory)でもよい。
さらに好ましくは、ニューラルネットワークは、マルチカラム畳み込みニューラルネットワーク(MCNN)を含み、マルチカラム畳み込みニューラルネットワークの各カラムに含まれる畳み込みニューラルネットワークは、それぞれ別々の単語ベクトルを単語ベクトル群生成手段から受けるように接続される。
MCNNを構成するサブネットワークのパラメータは互いに同一であってもよい。
本発明の第2の局面に係るコンピュータプログラムは、上記したいずれかの文脈解析装置の全ての手段としてコンピュータを機能させる。
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
[第1の実施の形態]
<全体構成>
図6を参照して、最初に、本発明の一実施の形態に係る照応・省略解析システム160の全体構成について説明する。
<全体構成>
図6を参照して、最初に、本発明の一実施の形態に係る照応・省略解析システム160の全体構成について説明する。
この照応・省略解析システム160は、入力文170を受けて形態素解析を行う形態素解析部200と、形態素解析部200の出力する形態素列に対して係り受け解析をし、係り受け関係を示す情報が付された解析後文204を出力する係り受け関係解析部202と、解析後文204の中で、文脈解析の対象となる指示語及び主語の省略された述語を検出し、それらの指し先候補及び省略された箇所に補完すべき単語の候補(補完候補)を探索して、それらの組み合わせの各々に対して指し先及び補完候補を1つに決定するための処理を行うために以下の各部の制御を行う解析制御部230と、指し先候補及び補完候補を決定するよう予め学習済のMCNN214と、解析制御部230により制御され、MCNN214を参照することによって、解析後文204に対する照応・省略解析を行って指示語にはその指示する語を示す情報を付し、省略箇所にはそこに補完すべき単語を特定する情報を付して出力文174として出力する照応・省略解析部216とを含む。
照応・省略解析部216は、解析制御部230から指示語と指し先の組み合わせ、又は主語が省略された述語とその主語の補完候補の組み合わせをそれぞれ受け、後述するBaseベクトル列、SurfSeqベクトル列、DepTreeベクトル列、及びPredContextベクトル列を生成するための単語列を文から抽出するBase単語列抽出部206、SurfSeq単語列抽出部208、DepTree単語列抽出部210、及びPredContext単語列抽出部212と、Base単語列抽出部206、SurfSeq単語列抽出部208、DepTree単語列抽出部210及びPredContext単語列抽出部212からそれぞれBase単語列、SurfSeq単語列、DepTree単語列、及びPredContext単語列を受け、これらの単語列をそれぞれ単語ベクトル(単語埋め込みベクトル;Word Embedding Vector)列に変換する単語ベクトル変換部238と、MCNN214を用いて、単語ベクトル変換部238が出力する単語ベクトル列に基づいて、解析制御部230から与えられた組み合わせの指し先候補又は補完候補の各々のスコアを算出して出力するスコア算出部232と、スコア算出部232が出力するスコアを、各指示語及び省略箇所ごとに、指し先候補又は補完候補のリストとして記憶するリスト記憶部234と、リスト記憶部234に記憶されたリストに基づき、解析後文204内の指示語及び省略箇所の各々について、最もスコアが高い候補を選択して補完し、補完後の文を出力文174として出力するための補完処理部236とを含む。
Base単語列抽出部206が抽出するBase単語列、SurfSeq単語列抽出部208が抽出するSurfSeq単語列、DepTree単語列抽出部210が抽出するDepTree単語列、及びPredContext単語列抽出部212が抽出するPredContext単語列はいずれも、文全体から抽出される。
Base単語列抽出部206は、解析後文204に含まれる、省略補完の対象となる名詞と省略を持つ可能性のある述語の対から単語列を抽出しBase単語列として出力する。ベクトル変換部238が、この単語列から単語ベクトル列であるBaseベクトル列を生成する。本実施の形態では、単語の出現順序を保存し、かつ演算量を少なくするために以下の全ての単語ベクトルとして単語埋め込みベクトルを使用する。
なお、以下の説明では、理解を容易にするために、主語が省略された述語の主語の候補について、その単語ベクトル列の集合を生成する方法を説明する。
図7を参照して、図6に示すSurfSeq単語列抽出部208が抽出する単語列は、文90中での単語列の出現順序に基づき、文頭から補完候補250までの単語列260、補完候補250と述語102の間の単語列262、及び述語102の後、文末までの単語列264を含む。したがって、SurfSeqベクトル列は3つの単語埋め込みベクトル列として得られる。
図8を参照して、DepTree単語列抽出部210が抽出する単語列は、文90の係り受け木に基づき、補完候補250に係る部分木280、述語102の係り先の部分木282、補完候補と述語102の間の係り受けパス284、及びその他286からそれぞれ得られる単語列を含む。したがってこの例ではDepTreeベクトル列は4つの単語埋め込みベクトル列として得られる。
図9を参照して、PredContext単語列抽出部212が抽出する単語列は、文90において、述語102の前の単語列300と、後の単語列302とを含む。したがってこの場合、PredContextベクトル列は2つの単語埋め込みベクトル列として得られる。
図10を参照して、本実施の形態では、MCNN214は、第1~第4の畳み込みニューラルネットワーク群360、362、364、366からなるニューラルネットワーク層340と、ニューラルネットワーク層340内の各ニューラルネットワークの出力を線形に連結する連結層342と、連結層342の出力するベクトルに対してSoftmax関数を適用して、補完候補が真の補完候補か否かを0~1の間のスコアで評価し出力するSoftmax層344とを含む。
ニューラルネットワーク層340は、前述のとおり第1の畳み込みニューラルネットワーク群360、第2の畳み込みニューラルネットワーク群362、第3の畳み込みニューラルネットワーク群364、及び第4の畳み込みニューラルネットワーク群366を含む。
第1の畳み込みニューラルネットワーク群360は、Baseベクトルを受ける第1カラムのサブネットワークを含む。第2の畳み込みニューラルネットワーク群362は、3つのSurfSeqベクトル列をそれぞれ受ける第2、第3及び第4カラムのサブネットワークを含む。第3の畳み込みニューラルネットワーク群364は、4つのDepTreeベクトル列をそれぞれ受ける第5、第6、第7、及び第8カラムのサブネットワークを含む。第4の畳み込みニューラルネットワーク群366は、2つのPredContextベクトル列を受ける第9及び第10カラムのサブネットワークを含む。これらサブネットワークは、いずれも畳み込みニューラルネットワークである。
ニューラルネットワーク層340の各畳み込みニューラルネットワークの出力は連結層342で単純に線形に連結され、Softmax層344への入力ベクトルとなる。
MCNN214についてその機能をより詳細に説明する。図11に、代表として1つの畳み込みニューラルネットワーク390を示す。ここでは、説明を分かりやすくするために、畳み込みニューラルネットワーク390が、入力層400、畳み込み層402、及びプーリング層404のみからなっているものとするが、この3つの層を複数個備えているものでもよい。
入力層400には、単語ベクトル変換部238が出力した単語ベクトル列X1、X2、…、X|t|がスコア算出部232を介して入力される。この単語ベクトル列X1、X2、…、X|t|は、行列T=[X1、X2、…、X|t|]Tとして表される。この行列Tに対して、M個の素性マップが適用される。素性マップはベクトルであって、各素性マップの要素であるベクトルOは連続する単語ベクトルからなるNグラムに対してfj(1≦j≦M)で示されるフィルタを適用しながらNグラム410を移動させることにより計算される。Nは任意の自然数だが、本実施の形態ではN=3とする。すなわちOは次の式により表される。
この素性マップの各々について、次のプーリング層404は、いわゆるマックスプーリングを行う。すなわち、プーリング層404は、例えば素性マップfMの要素のうち、最大の要素420を選択し、要素430として取出す。これを素性マップの各々に対して行うことによって、要素432、…、430を取出し、これらをf1からfMの順番に連接して連結層342にベクトル442として出力する。各畳み込みニューラルネットワークからはこのようにして得られたベクトル440、…、442、…、444が連結層342に出力される。連結層342は、ベクトル440、…、442、…、444を単純に線形に連結してSoftmax層344に与える。なお、プーリング層404としてはマックスプーリングを行うものの方が平均値を採用するものよりも精度が高いと言われている。しかし、もちろん平均値を採用するようにしてもよいし、下位の層の性質をよく表現するものであれば、他の代表値を用いるようにしてもよい。
図6に示す照応・省略解析部216について説明する。照応・省略解析部216は、メモリ及びプロセッサを含むコンピュータハードウェア及びその上で実行されるコンピュータソフトウェアにより実現される。図12に、そのようなコンピュータプログラムの制御構造をフローチャート形式で示す。
図12を参照して、このプログラムは、解析対象である文から指示語又は主語の省略された述語candiとその補完候補である単語prediとのペア<candi;predi>を全て生成するステップ460と、ステップ460で生成されたあるペアに対して、MCNN214を用いてスコアを計算し、メモリにリストとして記憶させるステップ464を、全てのペアに対して実行するステップ462と、ステップ462で算出されたリストをスコアnの降順でソートするステップ466とを含む。なおここでは、ペア<candi;predi>は、ある述語とその補完候補として可能な単語との全ての可能な組み合わせを示す。すなわち、このペアの集合の中には、各述語も、補完候補もそれぞれ複数回現れ得る。
このプログラムはさらに、繰返し制御変数iを0に初期化するステップ468と、変数iの値がリストの要素数より大きいかを比較し、比較が肯定か否かにしたがって制御を分岐させるステップ470と、ステップ470の比較が否定であることに応答して実行され、ペア<candi;predi>のスコアが所定のしきい値より大きいか否かにしたがって制御を分岐させるステップ474と、ステップ474の判定が肯定であることに応答して実行され、述語prediの補完候補が既に補完済か否かにしたがって制御を分岐させるステップ476と、ステップ476の判定が否定であることに応答して、述語prediの省略されている主語にcandiを補完するステップ478とを含む。ステップ474のしきい値としては、例えば0.7~0.9程度の範囲とすることが考えられる。
このプログラムはさらに、ステップ474の判定が否定であること、ステップ476の判定が否定であること、又はステップ478の処理が終了したことに応答して実行され、<candi;predi>をリストから削除するステップ480と、ステップ480に続き、変数iの値に1を加算して制御をステップ470に戻すステップ482と、ステップ470の判定が肯定であることに応答して実行され、補完後の文を出力して処理を終了するステップ472とを含む。
なお、MCNN214の学習は、通常のニューラルネットワークの学習と同様である。ただし、学習データとしては、上記した10個の単語ベクトルを単語ベクトルとして用いること、及び、処理中の述語と補完候補との組み合わせが正しいか否かを示すデータを学習データに付加することが上記実施の形態のような判別時とは異なる。
<動作>
図6~図12に示す照応・省略解析システム160は以下のように動作する。入力文170が照応・省略解析システム160に与えられると、形態素解析部200が入力文170の形態素解析を行って形態素列を係り受け関係解析部202に与える。係り受け関係解析部202はこの形態素列に対して係り受け解析を行い、係り受け情報が付された解析後文204を解析制御部230に与える。
図6~図12に示す照応・省略解析システム160は以下のように動作する。入力文170が照応・省略解析システム160に与えられると、形態素解析部200が入力文170の形態素解析を行って形態素列を係り受け関係解析部202に与える。係り受け関係解析部202はこの形態素列に対して係り受け解析を行い、係り受け情報が付された解析後文204を解析制御部230に与える。
解析制御部230は、解析後文204内の、主語が省略された全ての述語を検索し、各述語に対する補完候補を解析後文204内で探索して、それらの組み合わせの各々について以下の処理を実行する。すなわち、解析制御部230は、処理対象の述語と補完候補の組み合わせを1つ選択し、Base単語列抽出部206、SurfSeq単語列抽出部208、DepTree単語列抽出部210及びPredContext単語列抽出部212に与える。Base単語列抽出部206、SurfSeq単語列抽出部208、DepTree単語列抽出部210及びPredContext単語列抽出部212はそれぞれ、解析後文204からBase単語列、SurfSeq単語列、DepTree単語列及びPredContext単語列を抽出し、単語列群として出力する。これら単語列群は、単語ベクトル変換部238により単語ベクトル列に変換されスコア算出部232に与えられる。
解析制御部230は、単語ベクトル変換部238からこの単語ベクトル列が出力されると、スコア算出部232に以下の処理を実行させる。スコア算出部232は、Baseベクトル列をMCNN214の第1の畳み込みニューラルネットワーク群360の1つのサブネットワークの入力に与える。スコア算出部232は3つのSurfSeqベクトル列をMCNN214の第2の畳み込みニューラルネットワーク群362の3つのサブネットワークの入力にそれぞれ与える。スコア算出部232はさらに、4つのDepTreeベクトル列を第3の畳み込みニューラルネットワーク群364の4つのサブネットワークに与え、2つのPredContextベクトル列を第4の畳み込みニューラルネットワーク群366の2つのサブネットワークに与える。MCNN214は、これら入力された単語ベクトルに応答して、与えられた単語ベクトル群に対応する述語と補完候補の組が正しい確率に対応するスコアを算出し、スコア算出部232に与える。スコア算出部232は、この述語と補完候補との組み合わせに対し、スコアを組み合わせてリスト記憶部234に与え、リスト記憶部234はこの組み合わせをリストの1項目として記憶する。
解析制御部230が上記した処理を全ての述語と補完候補との組み合わせに対して実行すると、リスト記憶部234には全ての述語と補完候補との組み合わせごとにそれらのスコアがリストされている(図12、ステップ460、462、464)。
補完処理部236は、リスト記憶部234に記憶されているリストをスコアの降順でソートする(図12、ステップ466)。補完処理部236はリストの先頭から項目を読出し、全ての項目について処理が完了した場合(ステップ470でYES)、補完後の文を出力して(ステップ472)処理を終了する。まだ項目が残っている場合(ステップ470でNO)、読出された項目のスコアがしきい値より大きいか否かを判定する(ステップ474)。そのスコアがしきい値以下なら(ステップ474でNO)、ステップ480でその項目をリストから削除し、次の項目に進む(ステップ482からステップ470)。そのスコアがしきい値より大きければ(ステップ474でYES)、ステップ476でその項目の述語に対する主語が他の補完候補により既に補完済か否かを判定する(ステップ476)。既に補完済(ステップ476でYES)ならその項目をリストから削除し(ステップ480)、次の項目に進む(ステップ482からステップ470)。その項目の述語に対する主語が補完済でなければ(ステップ476でNO)、ステップ478でその述語に対する主語の省略箇所に、その項目の補完候補を補完する。さらにステップ480での項目をリストから削除し、次の項目に進む(ステップ482からステップ470)。
こうして、可能な全ての補完が完了すると、ステップ470の判定がYESとなり、ステップ472で補完後の文が出力される。
以上のように、本実施の形態によれば、従来と異なり、文を構成する全ての単語列を用いて、かつ複数の異なる観点から生成されたベクトルを用いて、述語と補完候補(又は指示語とその指し先候補)の組み合わせが正しいものか否かを判定する。従来のように人手で単語ベクトルを調整することなく、様々な観点から判定することが可能になり、照応・省略解析の精度を上げることが期待できる。
実際、実験により上記実施の形態の考え方による照応・省略解析の精度が従来のものよりも高くなることが確認できた。その結果を図13にグラフ形式で示す。この実験では、非特許文献3で使用されたものと同じコーパスを用いた。このコーパスは予め述語とその省略箇所の補完語との対応付けが人手でなされたものである。このコーパスを5個のサブコーパスに分割し、3個を学習データ、1個を開発セット、1個をテストデータとして用いた。このデータを用い、上記した実施の形態にしたがった照応・補完手法と、他の3種類の比較手法とによって省略箇所の補完処理を行い、その結果を比較した。
図13を参照して、グラフ500は上記実施の形態にしたがって行った実験結果のPR曲線である。この実験では、上記した4種類の単語ベクトルを全て用いた。グラフ506は、マルチカラムではなく単カラムの畳み込みニューラルネットワークを用い、文に含まれる全ての単語から単語ベクトルを生成して得た例のPR曲線である。黒四角502及びグラフ504で示されるのは、比較のために、非特許文献4に示されたグローバル最適化方法の結果及び実験により得たPR曲線である。この方法では開発セットが不要であるため、開発セットを含めた4つのサブコーパスを学習に用いた。この方法では主語、目的語、間接目的語について述語-文法項間の関係が得られるが、本実験では文中での主語省略の補完についてだけに関する出力を用いた。非特許文献4に示されたものと同様、10回の独立した試行の結果を平均したものを用いている。さらに、非特許文献3の手法を用いた結果508もグラフ中にxで示す。
図13から明らかなように、上記実施の形態による手法によれば他のどの手法のものよりもよいPR曲線が得られ、広い範囲で適合率が高い。したがって、上記したような単語ベクトルの選択方法が従来方法で用いられたものよりも適切に文脈情報を表現していると考えられる。さらに、上記実施の形態による方法によれば、単カラムのニューラルネットワークを用いたものよりも高い適合率が得られた。これはMCNNを用いることにより、再現率を高めることができたことを示す。
[第2の実施の形態]
<構成>
第1の実施の形態に係る照応・省略解析システム160では、スコア算出部232におけるスコア算出にMCNN214を用いている。しかし、本発明はそのような実施の形態には限定されない。MCNNに代えて、LSTMと呼ばれるネットワークアーキテクチャを構成素とするニューラルネットワークを用いてもよい。以下、LSTMを用いた実施の形態について説明する。
<構成>
第1の実施の形態に係る照応・省略解析システム160では、スコア算出部232におけるスコア算出にMCNN214を用いている。しかし、本発明はそのような実施の形態には限定されない。MCNNに代えて、LSTMと呼ばれるネットワークアーキテクチャを構成素とするニューラルネットワークを用いてもよい。以下、LSTMを用いた実施の形態について説明する。
LSTMは、リカレント型ニューラルネットワークの一種であり、入力系列を記憶しておく能力を持つ。実装上、いろいろな変種があるが、入力の系列と、それに対する出力の系列とを一組とする多数組の学習データで学習し、入力の系列を受けると、それに対する出力の系列を受ける仕組みを実現することができる。この仕組みを用いて英語からフランス語に自動翻訳するシステムがすでに利用されている(非特許文献5)。
図14を参照して、この実施の形態でMCNN214に代えて用いられるMCLSTM(マルチカラムLSTM)530は、LSTM層540と、第1の実施の形態の連結層342と同様、LSTM層540内の各LSTMの出力を線形に連結する連結層542と、連結層542の出力するベクトルに対してSoftmax関数を適用して、補完候補が真の補完候補か否かを0~1の間のスコアで評価し出力するSoftmax層544とを含む。
LSTM層540は、第1のLSTM群550、第2のLSTM群552、第3のLSTM群554、及び第4のLSTM群556を含む。これらはいずれもLSTMからなるサブネットワークを含む。
第1のLSTM群550は、第1の実施の形態の第1の畳み込みニューラルネットワーク群360と同様、Baseベクトル列を受ける第1カラムのLSTMを含む。第2のLSTM群552は、第1の実施の形態の第2の畳み込みニューラルネットワーク群362と同様、3つのSurfSeqベクトル列をそれぞれ受ける第2、第3及び第4カラムのLSTMを含む。第3のLSTM群554は、第1の実施の形態の第3の畳み込みニューラルネットワーク群364と同様、4つのDepTreeベクトル列をそれぞれ受ける第5、第6、第7、及び第8カラムのLSTMを含む。第4のLSTM群556は、第1の実施の形態の第4の畳み込みニューラルネットワーク群366と同様、2つのPredContextベクトル列を受ける第9及び第10のLSTМを含む。
LSTM層540の各LSTMの出力は連結層542で単純に線形に連結され、Softmax層544への入力ベクトルとなる。
ただし、本実施の形態では、各単語ベクトル列は、例えば、出現順序にしたがって単語ごとに生成した単語ベクトルからなるベクトル系列の形で生成される。これらベクトル系列を形成する単語ベクトルは、それぞれ単語の出現順序に従って対応のLSTMに順次与えられる。
LSTM層540を構成するLSTM群の学習も、第1の実施の形態と同様、MCLSTM530の全体についての、学習データを用いた誤差逆伝播法により行われる。この学習は、ベクトル系列が与えられると、MCLSTM530が、補完候補である単語が真に指し先である確率を出力するように行われる。
<動作>
この第2の実施の形態に係る照応・省略解析システムの動作は、基本的に第1の実施の形態の照応・省略解析システム160と同様である。LSTM層540を構成する各LSTMへのベクトル列の入力も第1の実施の形態と同様である。
この第2の実施の形態に係る照応・省略解析システムの動作は、基本的に第1の実施の形態の照応・省略解析システム160と同様である。LSTM層540を構成する各LSTMへのベクトル列の入力も第1の実施の形態と同様である。
手順は第1の実施の形態と同様で、その概略は図12に示されている。違いは、図12のステップ464で、第1の実施の形態のMCNN214(図10)に代えて、図14に示すMCLSTM530を使用する点、及び単語ベクトル列として単語ベクトルからなるベクトル系列を用い、各単語ベクトルを順にMCLSTM530に入力する点である。
本実施の形態では、LSTM層540を構成する各LSTMにベクトル系列の各単語ベクトルが入力されるたびに、各LSTMはその内部状態を変え、出力も変わる。ベクトル系列の入力が終了した時点での各LSTMの出力は、それまでに入力されたベクトル系列に応じて定まる。連結層542は、それらの出力を連結してSoftmax層544への入力とする。Softmax層544は、この入力に対するsoftmax関数の結果を出力する。この値は上記したように、ベクトル系列を生成する際の、指示語、又は主語が省略された述語に対する指し先の補完候補が真の指し先候補か否かを示す確率である。ある補完候補に対して算出されるこの確率が、他の補完候補に対して算出された確率より大きく、かつあるしきい値θより大きい場合に、その補完候補が真の指し先候補であると推定する。
図15(A)を参照して、例文570において、述語である「受けた」という文言580に対する主語が不明であり、その補完候補として「報告書」「政府」及び「条約」という単語582、584及び586が検出されたものとする。
図15(B)に示す様に、単語582、584及び586に対して、それぞれ単語ベクトルを表すベクトル系列600、602、及び604が得られ、これらをMCLSTM530への入力として与える。その結果、MCLSTM530の出力として、ベクトル系列600、602、及び604に対してそれぞれ0.5、0.8、及び0.4という値が得られたものとする。これらの最大値は0.8である。また、この0.8という値がしきい値θ以上であれば、ベクトル系列602に対応する単語584、すなわち「政府」が「受けた」の主語であると推定される。
図12に示すように、こうした処理を対象となる文の中の全ての指示語、又は主語が省略された述語と、それらの指し先候補とのペアに対して実行していくことで、対象文の解析が行われる。
[コンピュータによる実現]
上記第1及び第2の実施の形態に係る照応・省略解析システムは、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。図16はこのコンピュータシステム630の外観を示し、図17はコンピュータシステム630の内部構成を示す。
上記第1及び第2の実施の形態に係る照応・省略解析システムは、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。図16はこのコンピュータシステム630の外観を示し、図17はコンピュータシステム630の内部構成を示す。
図16を参照して、このコンピュータシステム630は、メモリポート652及びDVD(Digital Versatile Disc)ドライブ650を有するコンピュータ640と、いずれもコンピュータ640に接続されたキーボード646、マウス648、及びモニタ642とを含む。
図17を参照して、コンピュータ640は、メモリポート652及びDVDドライブ650に加えて、CPU(中央処理装置)656と、CPU656、メモリポート652及びDVDドライブ650に接続されたバス666と、ブートプログラム等を記憶する読出専用メモリ(ROM)658と、バス666に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するランダムアクセスメモリ(RAM)660と、ハードディスク654とを含む。コンピュータシステム630はさらに、他端末との通信を可能とするネットワーク668への接続を提供するネットワークインターフェイス(I/F)644を含む。
コンピュータシステム630を上記した実施の形態に係る照応・省略解析システムの各機能部として機能させるためのコンピュータプログラムは、DVDドライブ650又はメモリポート652に装着されるDVD662又はリムーバブルメモリ664に記憶され、さらにハードディスク654に転送される。又は、プログラムはネットワーク668を通じてコンピュータ640に送信されハードディスク654に記憶されてもよい。プログラムは実行の際にRAM660にロードされる。DVD662から、リムーバブルメモリ664から又はネットワーク668を介して、直接にRAM660にプログラムをロードしてもよい。
このプログラムは、コンピュータ640を、上記実施の形態に係る照応・省略解析システムの各機能部として機能させるための複数の命令からなる命令列を含む。コンピュータ640にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ640上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ640にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の内、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステムとしての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
[可能な変形例]
上記実施の形態では、日本語に対する照応・解析処理を扱っている。しかし本発明はそのような実施の形態には限定されない。文全体の単語列を使い、複数の観点で単語ベクトル群を作成するという考え方は、どのような言語にも適用できる。したがって、指示語及び省略が頻発する他の言語(中国語、韓国語、イタリア語、スペイン語)等についても本発明を適用できると考えられる。
上記実施の形態では、日本語に対する照応・解析処理を扱っている。しかし本発明はそのような実施の形態には限定されない。文全体の単語列を使い、複数の観点で単語ベクトル群を作成するという考え方は、どのような言語にも適用できる。したがって、指示語及び省略が頻発する他の言語(中国語、韓国語、イタリア語、スペイン語)等についても本発明を適用できると考えられる。
また、上記実施の形態では、文全体の単語列を用いた単語ベクトル列として4種類を用いているが、単語ベクトル列としてはこの4種類に限定されるわけではない。異なる観点から文全体の単語列を用いて作成する単語ベクトル列であればどのようなものでも利用できる。さらに、文全体の単語列を用いるものを少なくとも2種類用いるのであれば、それら以外に文の一部の単語列を用いる単語ベクトル列を加えて使用してもよい。また、単なる単語列だけではなく、それらの品詞情報まで含めた単語ベクトル列を用いるようにしても良い。
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
本発明は、人間とのインタラクションが必要な装置及びサービス全般に適用可能であり、さらに、人間の発話を解析することにより様々な装置及びサービスにおける人間とのインターフェイスを改善するための装置及びサービスに利用できる。
90 文
100、102、104 述語
106 省略
110、112、114、114 単語
160 照応・省略解析システム
170 入力文
174 出力文
200 形態素解析部
202 係り受け関係解析部
204 解析後文
206 Base単語列抽出部
208 SurfSeq単語列抽出部
210 DepTree単語列抽出部
212 PredContext単語列抽出部
214 MCNN
216 照応・省略解析部
230 解析制御部
232 スコア算出部
234 リスト記憶部
236 補完処理部
238 単語ベクトル変換部
250 補完候補
260、262、264、300、302 単語列
280、282 部分木
284 係り受けパス
340 ニューラルネットワーク層
342、542 連結層
344、544 Softmax層
360 第1の畳み込みニューラルネットワーク群
362 第2の畳み込みニューラルネットワーク群
364 第3の畳み込みニューラルネットワーク群
366 第4の畳み込みニューラルネットワーク群
390 畳み込みニューラルネットワーク
400 入力層
402 畳み込み層
404 プーリング層
530 MCLSTM
540 LSTM層
550 第1のLSTM群
552 第2のLSTM群
554 第3のLSTM群
556 第4のLSTM群
600、602、604 ベクトル系列
100、102、104 述語
106 省略
110、112、114、114 単語
160 照応・省略解析システム
170 入力文
174 出力文
200 形態素解析部
202 係り受け関係解析部
204 解析後文
206 Base単語列抽出部
208 SurfSeq単語列抽出部
210 DepTree単語列抽出部
212 PredContext単語列抽出部
214 MCNN
216 照応・省略解析部
230 解析制御部
232 スコア算出部
234 リスト記憶部
236 補完処理部
238 単語ベクトル変換部
250 補完候補
260、262、264、300、302 単語列
280、282 部分木
284 係り受けパス
340 ニューラルネットワーク層
342、542 連結層
344、544 Softmax層
360 第1の畳み込みニューラルネットワーク群
362 第2の畳み込みニューラルネットワーク群
364 第3の畳み込みニューラルネットワーク群
366 第4の畳み込みニューラルネットワーク群
390 畳み込みニューラルネットワーク
400 入力層
402 畳み込み層
404 プーリング層
530 MCLSTM
540 LSTM層
550 第1のLSTM群
552 第2のLSTM群
554 第3のLSTM群
556 第4のLSTM群
600、602、604 ベクトル系列
Claims (6)
- テキスト文の文脈中で、ある単語と一定の関係を持つ別の単語であって、前記テキスト文だけからは当該ある単語と前記関係を持つことが明確でない前記別の単語を特定する文脈解析装置であって、
前記テキスト文中で、前記ある単語を解析対象として検出するための解析対象検出手段と、
前記解析対象検出手段により検出された解析対象について、当該解析対象と前記一定の関係を持つ前記別の単語である可能性のある単語候補を前記テキスト文中で探索するための候補探索手段と、
前記解析対象検出手段により検出された解析対象について、前記候補探索手段により探索された単語候補のうちから一つの単語候補を前記別の単語として決定するための単語決定手段とを含み、
前記単語決定手段は、
前記単語候補の各々について、前記テキスト文と、前記解析対象と、当該単語候補とによって定まる、複数種類の単語ベクトル群を生成するための単語ベクトル群生成手段と、
前記単語候補の各々について、前記単語ベクトル群生成手段により生成された単語ベクトル群を入力として、当該単語候補が前記解析対象と関係する可能性を示すスコアを出力するよう予め機械学習により学習済のスコア算出手段と、
前記スコア算出手段により出力されたスコアが最も良い単語候補を前記解析対象と前記一定の関係を持つ単語として特定する単語特定手段とを含み、
前記複数種類の単語ベクトル群は、各々が、少なくとも、前記解析対象と前記単語候補以外の前記テキスト文全体の単語列を用いて生成される1又は複数個の単語ベクトルを含む、文脈解析装置。 - 前記スコア算出手段は、複数個のサブネットワークを持つニューラルネットワークであり、
前記1又は複数個の単語ベクトルはそれぞれ、前記ニューラルネットワークに含まれる前記複数個のサブネットワークに入力される、請求項1に記載の文脈解析装置。 - 前記複数個のサブネットワークの各々は、畳み込みニューラルネットワークである、請求項2に記載の文脈解析装置。
- 前記複数個のサブネットワークの各々は、LSTMである、請求項2に記載の文脈解析装置。
- 前記単語ベクトル群生成手段は、
前記テキスト文全体に含まれる単語列を表す単語ベクトル列を出力する第1の生成手段、
前記テキスト文のうち、前記ある単語と前記単語候補とにより分割された複数個の単語列から、それぞれ単語ベクトル列を生成し出力する第2の生成手段、
前記テキスト文を構文解析して得られた係り受け木に基づき、前記単語候補に係る部分木から得られる単語列、前記ある単語の係り先の部分木から得られる単語列、前記単語候補と前記ある単語との間の、前記係り受け木中の係り受けパスから得られる単語列、及び前記係り受け木中のそれら以外の部分木からそれぞれ得られる単語列、から得られる単語ベクトル列の任意の組合せを生成し出力する第3の生成手段、及び、
前記テキスト文中において前記ある単語の前後の単語列よりそれぞれ得られる単語列を表す2つの単語ベクトル列を生成し出力する第4の生成手段、
の任意の組み合わせを含む、請求項1~請求項4のいずれかに記載の文脈解析装置。 - 請求項1から請求項5の何れかに記載の文脈解析装置としてコンピュータを機能させる、コンピュータプログラム。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201780053844.4A CN109661663B (zh) | 2016-09-05 | 2017-08-30 | 上下文解析装置以及计算机可读记录介质 |
| KR1020197006381A KR20190047692A (ko) | 2016-09-05 | 2017-08-30 | 문맥 해석 장치 및 그것을 위한 컴퓨터 프로그램 |
| US16/329,371 US20190188257A1 (en) | 2016-09-05 | 2017-08-30 | Context analysis apparatus and computer program therefor |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016-173017 | 2016-09-05 | ||
| JP2016173017A JP6727610B2 (ja) | 2016-09-05 | 2016-09-05 | 文脈解析装置及びそのためのコンピュータプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018043598A1 true WO2018043598A1 (ja) | 2018-03-08 |
Family
ID=61300922
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2017/031250 Ceased WO2018043598A1 (ja) | 2016-09-05 | 2017-08-30 | 文脈解析装置及びそのためのコンピュータプログラム |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20190188257A1 (ja) |
| JP (1) | JP6727610B2 (ja) |
| KR (1) | KR20190047692A (ja) |
| CN (1) | CN109661663B (ja) |
| WO (1) | WO2018043598A1 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110389996A (zh) * | 2018-04-16 | 2019-10-29 | 国际商业机器公司 | 实现用于自然语言处理的全句递归神经网络语言模型 |
| US11397776B2 (en) | 2019-01-31 | 2022-07-26 | At&T Intellectual Property I, L.P. | Systems and methods for automated information retrieval |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109697282B (zh) * | 2017-10-20 | 2023-06-06 | 阿里巴巴集团控股有限公司 | 一种语句的用户意图识别方法和装置 |
| CN108304390B (zh) * | 2017-12-15 | 2020-10-16 | 腾讯科技(深圳)有限公司 | 基于翻译模型的训练方法、训练装置、翻译方法及存储介质 |
| US10762298B2 (en) * | 2018-02-10 | 2020-09-01 | Wipro Limited | Method and device for automatic data correction using context and semantic aware learning techniques |
| JP7149560B2 (ja) * | 2018-04-13 | 2022-10-07 | 国立研究開発法人情報通信研究機構 | リクエスト言換システム、リクエスト言換モデル及びリクエスト判定モデルの訓練方法、及び対話システム |
| US11138392B2 (en) * | 2018-07-26 | 2021-10-05 | Google Llc | Machine translation using neural network models |
| CN110162785B (zh) * | 2019-04-19 | 2024-07-16 | 腾讯科技(深圳)有限公司 | 数据处理方法和代词消解神经网络训练方法 |
| CN111984766B (zh) * | 2019-05-21 | 2023-02-24 | 华为技术有限公司 | 缺失语义补全方法及装置 |
| CN112487155B (zh) * | 2019-09-12 | 2025-09-26 | 微软技术许可有限责任公司 | 对会话中的消息进行上下文补全 |
| CN113297843B (zh) * | 2020-02-24 | 2023-01-13 | 华为技术有限公司 | 指代消解的方法、装置及电子设备 |
| CN111858933B (zh) * | 2020-07-10 | 2024-08-06 | 暨南大学 | 基于字符的层次化文本情感分析方法及系统 |
| CN112256868B (zh) * | 2020-09-30 | 2025-04-15 | 华为技术有限公司 | 零指代消解方法、训练零指代消解模型的方法及电子设备 |
| US11645465B2 (en) | 2020-12-10 | 2023-05-09 | International Business Machines Corporation | Anaphora resolution for enhanced context switching |
| US20220284193A1 (en) * | 2021-03-04 | 2022-09-08 | Tencent America LLC | Robust dialogue utterance rewriting as sequence tagging |
| CN113011162B (zh) * | 2021-03-18 | 2023-07-28 | 北京奇艺世纪科技有限公司 | 一种指代消解方法、装置、电子设备及介质 |
| JP7570630B2 (ja) * | 2021-03-24 | 2024-10-22 | 日本電信電話株式会社 | 文生成装置、文生成方法およびプログラム |
| CN114091458B (zh) * | 2021-11-12 | 2025-01-07 | 北京明略软件系统有限公司 | 基于模型融合的实体识别方法和系统 |
| US12462171B2 (en) * | 2021-11-22 | 2025-11-04 | Tencent America LLC | Hierarchical context tagging for utterance rewriting |
| CN114492380B (zh) * | 2022-02-11 | 2025-08-12 | 杭州网易云音乐科技有限公司 | 文本关系抽取方法及装置、计算机存储介质、电子设备 |
| CN118296146B (zh) * | 2024-04-16 | 2025-06-27 | 中国科学院文献情报中心 | 一种识别目标语句的方法、设备、介质及程序产品 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090326919A1 (en) * | 2003-11-18 | 2009-12-31 | Bean David L | Acquisition and application of contextual role knowledge for coreference resolution |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63113669A (ja) * | 1986-05-16 | 1988-05-18 | Ricoh Co Ltd | 言語解析装置 |
| US7679534B2 (en) * | 1998-12-04 | 2010-03-16 | Tegic Communications, Inc. | Contextual prediction of user words and user actions |
| JP2001137788A (ja) * | 1999-11-12 | 2001-05-22 | Hitachi Ltd | 地名表記辞書作成方法および地名表記辞書作成装置 |
| WO2003064701A2 (en) * | 2002-01-30 | 2003-08-07 | Epigenomics Ag | Method for the analysis of cytosine methylation patterns |
| CN103097413A (zh) * | 2010-07-09 | 2013-05-08 | Jv生物公司 | 脂质缀合抗体 |
| US9665643B2 (en) * | 2011-12-30 | 2017-05-30 | Microsoft Technology Licensing, Llc | Knowledge-based entity detection and disambiguation |
| JP5734503B2 (ja) * | 2012-03-07 | 2015-06-17 | 三菱電機株式会社 | 語義推定装置、方法及びプログラム |
| JP5559352B2 (ja) * | 2012-05-31 | 2014-07-23 | 株式会社東芝 | 知見抽出装置、知見更新装置、及びプログラム |
| CN104169909B (zh) * | 2012-06-25 | 2016-10-05 | 株式会社东芝 | 上下文解析装置及上下文解析方法 |
| JP6150282B2 (ja) * | 2013-06-27 | 2017-06-21 | 国立研究開発法人情報通信研究機構 | ノン・ファクトイド型質問応答システム及びコンピュータプログラム |
| US9558263B2 (en) * | 2013-12-05 | 2017-01-31 | International Business Machines Corporation | Identifying and displaying relationships between candidate answers |
| US10387531B1 (en) * | 2015-08-18 | 2019-08-20 | Google Llc | Processing structured documents using convolutional neural networks |
| CN113064982A (zh) * | 2021-04-14 | 2021-07-02 | 北京云迹科技有限公司 | 一种问答库生成方法及相关设备 |
-
2016
- 2016-09-05 JP JP2016173017A patent/JP6727610B2/ja active Active
-
2017
- 2017-08-30 CN CN201780053844.4A patent/CN109661663B/zh active Active
- 2017-08-30 US US16/329,371 patent/US20190188257A1/en not_active Abandoned
- 2017-08-30 KR KR1020197006381A patent/KR20190047692A/ko not_active Ceased
- 2017-08-30 WO PCT/JP2017/031250 patent/WO2018043598A1/ja not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090326919A1 (en) * | 2003-11-18 | 2009-12-31 | Bean David L | Acquisition and application of contextual role knowledge for coreference resolution |
Non-Patent Citations (2)
| Title |
|---|
| EHARA, TERUMASA ET AL., ZERO-SUBJECT RESOLUTION BY PROBABILISTIC MODEL, vol. 1, no. 44, 15 February 1997 (1997-02-15), pages 12 - 28 * |
| OONO, MASAYUKI ET AL.: "Contextualization of selective preference model based on distributed representation", RESEARCH REPORT OF THE INFORMATION PROCESSING SOCIETY OF JAPAN OF NATURAL LANGUAGE PROCESSING, 15 January 2016 (2016-01-15), pages 1 - 9 * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110389996A (zh) * | 2018-04-16 | 2019-10-29 | 国际商业机器公司 | 实现用于自然语言处理的全句递归神经网络语言模型 |
| US11397776B2 (en) | 2019-01-31 | 2022-07-26 | At&T Intellectual Property I, L.P. | Systems and methods for automated information retrieval |
| US12067061B2 (en) | 2019-01-31 | 2024-08-20 | At&T Intellectual Property I, L.P. | Systems and methods for automated information retrieval |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109661663B (zh) | 2023-09-19 |
| JP2018041160A (ja) | 2018-03-15 |
| US20190188257A1 (en) | 2019-06-20 |
| CN109661663A (zh) | 2019-04-19 |
| KR20190047692A (ko) | 2019-05-08 |
| JP6727610B2 (ja) | 2020-07-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6727610B2 (ja) | 文脈解析装置及びそのためのコンピュータプログラム | |
| JP7529797B2 (ja) | オンラインゲームのためのユーザ入力テキストの言語検出 | |
| Lu et al. | Distilling discrimination and generalization knowledge for event detection via delta-representation learning | |
| Liu et al. | Refsum: Refactoring neural summarization | |
| JP5216063B2 (ja) | 未登録語のカテゴリを決定する方法と装置 | |
| Baykara et al. | Turkish abstractive text summarization using pretrained sequence-to-sequence models | |
| EP1856630A2 (en) | Hybrid machine translation system | |
| US12288028B2 (en) | Inferencer, inference method and inference program | |
| Xiangyu et al. | Capturing event argument interaction via a bi-directional entity-level recurrent decoder | |
| Singh et al. | Improving neural machine translation for low-resource Indian languages using rule-based feature extraction | |
| Alami et al. | DAQAS: Deep Arabic Question Answering System based on duplicate question detection and machine reading comprehension | |
| Lima et al. | Sequence labeling algorithms for punctuation restoration in brazilian portuguese texts | |
| EP3404553A1 (en) | Open information extraction method and system for extracting reified ternary relationship | |
| Patil et al. | Extractive text summarization using BERT | |
| CN115114937A (zh) | 文本获取方法、装置、计算机设备及存储介质 | |
| Endait et al. | Indicsquad: A comprehensive multilingual question answering dataset for indic languages | |
| Zhang et al. | Chinese relation classification using long short term memory networks | |
| KR101983477B1 (ko) | 단락 기반 핵심 개체 식별을 이용한 한국어 주어의 생략 성분 복원 방법 및 시스템 | |
| US12333264B1 (en) | Fuzzy-match augmented machine translation | |
| Hua et al. | Using two formal strategies to eliminate ambiguity in poetry text | |
| Pathak et al. | A case study of Hindi–English example-based machine translation | |
| Okba et al. | Semantic natural language translation based on ontologies combination | |
| KR20240058395A (ko) | 요약 생성 방법 및 그 시스템 | |
| Park et al. | Classification‐Based Approach for Hybridizing Statistical and Rule‐Based Machine Translation | |
| Xi et al. | Capturing event argument interaction via a bi-directional entity-level recurrent decoder |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17846602 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 20197006381 Country of ref document: KR Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 17846602 Country of ref document: EP Kind code of ref document: A1 |
