Example sentence-driven machine translation result selecting apparatus and method thereof

The method addresses limitations in machine translation analysis by allowing flexible common word sequence detection and temporary exclusion tree construction with any node as the top node, reducing computational effort and enhancing the accuracy of sentence parse trees.

JP2025168465AInactive Publication Date: 2025-11-07榊 博史 +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025145603
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-08-10
Filing Date
2025-09-02
Publication Date
2025-11-07
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Existing machine translation analysis result selection methods are limited by the ability to obtain only one common word sequence with a fixed starting position, generate temporary exclusion trees with a fixed top node, and require extensive computational effort for forbidden tree non-containment judgments.

Method used

The method allows for multiple common word sequences with arbitrary starting positions, constructs temporary exclusion trees with any node as the top node, and separates the upper cover operation from forbidden tree non-containment judgments using a cascade connection of units like 'P. Matching Matrix Creation', 'D. Dominant Node Detection', and 'U. Upper Cover Module'.

Benefits of technology

This approach enhances the accuracy and efficiency of generating sentence parse trees by enabling flexible common word sequence detection, reducing computational overhead, and improving the precision of exclusion tree calculations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025168465000001_ABST
    Figure 2025168465000001_ABST
Patent Text Reader

Abstract

To improve a filtering-type example sentence-driven analysis unit forming one input sentence analysis tree with using, as one input, an OR tree obtained by expressing a plurality of analysis trees obtained through analysis of an input sentence with use of grammar rules in the form of one tree structure and also with using, as the other input, a temporarily exclusive tree obtained by the example sentence or an exclusive three pre-equipped by the apparatus.SOLUTION: In a common word sequence acquisition between an input sentence and an example sentence, a method according to the present invention includes the steps of: acquiring a plurality of common word sequences; designating the minimum number of common words; determining a common word start position in an example sentence tree; and replacing the common word with a common part of speech.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an example-driven machine translation analysis result selection device and method, and more particularly to an example-driven machine translation analysis result selection device and method that constructs an input sentence parse tree using an OR tree and an exclusion tree as input. [Background technology]

[0002] Conventionally, there is known a machine translation analysis result selection device that has a common word string detection unit that accepts an input sentence and an example sentence tree as input and finds a common word string between the input sentence and the example sentence tree terminal node string, and a temporary exclusion tree generation unit that constructs a temporary exclusion tree using an example sentence tree that has a common word string specified as an end node as input (see, for example, Patent Document 1).

[0003] Also, an example-driven machine translation analysis result selection device is known that accepts as input an OR tree generated by a grammar application unit that analyzes an input sentence using grammar rules, a temporary exclusion tree with tree values, and an internal exclusion tree (see, for example, Non-Patent Document 1).

[0004] The prior art, including the above, will be described in detail below with reference to the drawings.

[0005] Figure 1 shows both the prior art and the present invention. The parts enclosed by solid lines are the components of the present invention, and the parts enclosed by dotted lines are the parts of the prior art. The names of the operations of the present invention are shown in the solid line rectangles, and the names of the operations of the prior art are shown to the left of the dotted line rectangles. Document 1 in Figure 1 is Patent Document 1, and document 2 is Non-Patent Document 1.

[0006] The "Reference 1 Common Word String Detection Unit" in Figure 1 accepts an input sentence and an example sentence tree as inputs and finds the common word string between the input sentence and the example sentence tree terminal node sequence. The "Reference 1 Temporary Exclusion Tree Generation Unit" constructs a temporary exclusion tree using an example sentence tree whose terminal node is a common word string. The "Example Sentence B Overall Maximum Tree Value Algorithm" accepts as input the temporary exclusion tree generated by the preceding "Reference 1 Temporary Exclusion Tree Generation Unit," an exclusion tree built into the device, and an OR tree generated by a grammar application unit (outside the scope of this patent), and generates a sentence parse tree that does not include, as a subtree, a forbidden tree that is the output of the example-driven machine translation analysis result selection device. Thus, the prior art is comprised of two documents, References 1 and 2. The present invention performs operations that integrate the operations of these two documents.

[0007] First, we will explain the operation of the "common word string detection unit for document 1," enclosed by a dashed line in Figure 1. This unit accepts the input sentence and example sentence tree as input, and detects common word nodes or common part-of-speech nodes from among the terminal nodes of the example sentence tree. The "common word string detection unit for document 1" uses a last-in, first-out stack, and can only obtain one common node string with a limited starting position.

[0008] Next, we will explain the "temporary exclusion tree generation part of document 1" enclosed by a dashed line in Figure 1. In this part, a temporary exclusion tree is generated from an example sentence tree that has a mark at the common node at the terminal node. This method constructs a temporary exclusion tree by leaving, above the common word node, the nodes on the path that leads to the top node of the example sentence tree, and their sibling nodes. This "temporary exclusion tree generation part of document 1" method can only generate temporary exclusion trees that have the top node of the example sentence tree as the top node.

[0009] Next, we will explain the "Comprehensive Maximum Tree Value Algorithm of Reference 2," enclosed by a dashed line in Figure 1. This part accepts as input the "OR tree generated in the grammar application part," the "temporary exclusion tree with tree values," and the "built-in exclusion tree," and is the output of the entire example-driven machine translation analysis result selection device. It is the part that generates the sentence parse tree with the highest score among the parse trees that do not contain a forbidden tree as a subtree. Here, an OR tree is a structure in which multiple candidate analysis results are combined into a single tree at a special node called an OR node. A "temporary exclusion tree with tree values" is a temporary exclusion tree generated in the previous stage that has been given a tree value proportional to the number of nodes in that temporary exclusion tree. A "built-in exclusion tree" is an exclusion tree that the device possesses. Note that the forbidden tree is also a tree that the device possesses, but it is not shown in Figure 1 because it is information attached to the device.

[0010] As shown in Figure 1, the "Comprehensive Maximum Tree Value Algorithm of Reference 2" includes the functionality of the "U. Upper Cover Module" of the present invention. This function assigns the OR tree node number to be covered to each node of the temporary exclusion tree whose structure matches the subtree containing the top node of the OR tree, requiring a significant amount of computational effort. The "Comprehensive Maximum Tree Value Algorithm of Reference 2" includes the upper cover function within the loop for determining whether a forbidden tree is included, which requires a significant amount of computational effort. The reason why the upper cover operation cannot be separated from the "Comprehensive Maximum Tree Algorithm of Reference 2" in Reference 2 is that the cumulative tree value ordering of the opposing exclusion tree is obtained by actually constructing a structure with a lower connection part in the exclusion tree, called the upper cover lower maximum tree value state. Therefore, if the forbidden tree protrudes outside the opposing exclusion tree region when determining whether the opposing exclusion tree includes a forbidden tree, the upper cover operation must be redone and the lower connection part corrected. For these reasons, the upper cover operation cannot be separated from the "Comprehensive Maximum Tree Algorithm of Reference 2."

[0011] The differences between the conventional method and the method of this patent are explained at the end of the specification.

[0012] This specification also includes a method for improving performance by combining a sentence analysis method using word string to word string conversion using a neural network, which cites Document 3, which is Non-Patent Document 2, and Document 4, which is Non-Patent Document 3, which did not exist in the conventional method, with the conventional method. [Prior art documents] [Patent documents]

[0013] [Patent Document 1] Patent No. 4389332 specification [Non-patent literature]

[0014] [Non-Patent Document 1] Hirofumi Sakaki, "Computer Translation Technology," Institute of Electronics, Information and Communication Engineers, Corona Publishing, December 10, 1993, pp. 138-149 [Non-patent document 2] Hiroyuki Niino, "PyTorch Natural Language Processing Programming: Japanese Text Analysis with word2vec / LSTM / seq2seq / BERT!", Impress, March 18, 2021 [Non-patent document 3] Oriol Vinyals, 5 others, "Grammar as a foreign language", 2014, arXiv:1412.7449 Summary of the Invention [Problem to be solved by the invention]

[0015] The method of "common word sequence detection unit for document 1" shown in Figure 1 has the drawback of only being able to obtain one limited common word sequence, that is, a sequence whose left end matches the left end of an example word. To obtain a common word sequence between an input sentence and an example sentence tree, it is necessary to obtain multiple common word sequences, specify the minimum number of common words, allow arbitrary starting positions of common words in the example sentence tree, and easily substitute common parts of speech for common words.

[0016] The "Temporary exclusion tree generation for document 1" shown in Figure 1 has the drawback that it can only generate a temporary exclusion tree with the top node of the example sentence tree as its top node. It is necessary to construct a temporary exclusion tree with any node in the example sentence tree as its top node. Furthermore, when detecting the temporary exclusion tree, it is necessary to be able to choose between a design policy that traces back to the part corresponding to the "common word string detection section for document 1" and includes part-of-speech matching in the word matching, or a design policy that does not.

[0017] It is necessary to be able to construct a temporary exclusion tree with any node in the example tree as the top node.

[0018] It is necessary to obtain a score that more accurately reflects the influence of the temporary exclusion tree by calculating the score of the temporary exclusion tree from the amount of information possessed by the common words or part-of-speech nodes of the temporary exclusion tree.

[0019] When the temporary exclusion tree constructed from the example tree and the exclusion tree held by the device are collectively called exclusion trees, a subtree having one constituent node of the input OR tree as its top node is generally covered with multiple exclusion trees to form a group of opposing exclusion trees, which is a collection of exclusion trees with covered OR tree nodes, generally called opposing exclusion trees; such a group of opposing exclusion trees is constructed for all nodes of the input OR tree; and in order to make only this group of opposing exclusion trees the target of subsequent operations, it is necessary that it be possible to read and write from all subsequent operation processes.

[0020] In a group of opposing exclusion trees, which are grouped by top node, it is necessary to calculate the cumulative tree value, which is the sum of the selected tree values ​​and the tree values ​​of the exclusion trees, when a tree with the maximum tree value, called a selected tree, is connected to each of the lower connection nodes of one opposing exclusion tree, and then arrange the opposing exclusion trees in the group of opposing exclusion trees in descending order of cumulative tree value, and store these in the global memory.

[0021] The objective of this invention is to generate a sentence parse tree that does not contain forbidden trees and has the maximum tree value. In the forbidden tree non-containment judgment for the conflict exclusion trees that occurs in this process, it is necessary to read out the lower conflict exclusion tree group from the global memory to make the lower forbidden tree non-containment judgment for the forbidden tree subtree that protrudes from the lower connection node of the conflict exclusion tree. By doing this, it is no longer necessary to include an upper cover operation in the forbidden tree non-containment judgment loop, and it is possible to avoid the enormous number of calculations required in the method of Reference 2.

[0022] It is also necessary to generate more accurate parse trees by combining a sentence analysis method using word string to word string conversion with a neural network and an example-driven machine translation analysis result selection device. [Means for solving the problem]

[0023] This section describes means for obtaining multiple common word strings between an input sentence and example sentences, specifying the minimum number of common words, arbitrarily specifying the starting position of common words in the example sentence tree, and easily substituting common parts of speech for common words.

[0024] Figure 1 is also a diagram of the present invention. In this invention, the part that performs the same common word string detection operation as the "common word string detection unit for document 1" is a cascade connection of a "P. match matrix creation unit," an "N. adjacent match word detection element," and an "S. common word string detection unit." This cascade connection is capable of generating multiple common word strings with a specified number of common words or more and with any common starting position.

[0025] First, the "P. Matching Matrix Creation Unit" finds the element positions where the input word and example sentence word match, and then constructs a matching matrix by assigning element values ​​to these element positions using an existing recursion formula to form matching matrix elements. The "N. Adjacent Matching Word Detection Element" sets one element in the matching matrix as a parent element and constructs a parent-child relationship consisting of multiple child elements located to the upper left of that element and with an element value that is one less, for all parent elements in the matching matrix that can form a parent-child relationship. The "S. Common Word String Detection Unit" merges identical elements from a collection of trees that specify adjacent elements and constructs a single common word string tree using a recursive algorithm, and by selecting paths in this common word string tree that have more than a specified number of common words, it is possible to obtain multiple common word strings that are more than a specified number of common words, with no restrictions on starting positions.

[0026] The technical scope of these operations using the "P. Matching Matrix Creation Unit," "N. Adjacent Matching Word Detection Element," and "S. Common Word String Detection Unit" is defined in [Claim 1].

[0027] In a design that finds a common word sequence using part-of-speech matching as a matching condition in addition to word matching, the "P. Matching Matrix Creation Unit" looks up the input word sequence in a part-of-speech dictionary, and configures the word positions of words with part-of-speech information, where each word generally has multiple pairs of a part-of-speech name and part-of-speech information amount added after it, as row elements, and words with part-of-speech information, where the part-of-speech name immediately above it in the example sentence tree is added after the word at the lowest node in the example sentence tree, as column elements, after which it finds the element positions of word matches or part-of-speech matches, and in the case of word matches, it adds a "+" sign to the column word, and in the case of part-of-speech matches, it adds a "+" sign and the part-of-speech information amount of the matching part-of-speech name of the matching row word to the matching part-of-speech name following the column word, and then the "P. Matching Matrix Creation Unit" uses an existing recurrence formula to assign element values ​​to the found element positions to form match matrix elements, thereby constructing a match matrix. The subsequent operations of the "N. adjacent matching word detection element" and "S. common word string detection unit" are the same as in the case of word matching, and these operations allow the construction of a part-of-speech matching-allowed common word string to be used as the lowest node of the matching sentence example tree.

[0028] This operation is defined as claim 2.

[0029] In the present invention, in the operation of finding a temporary exclusion tree from a common word string between an input sentence and an example sentence tree, similar to the "temporary exclusion tree generation part of document 1," by introducing "D. Dominant node detection element" which was not present in document 1, it is possible to construct a temporary exclusion tree with any node in the example sentence tree as the top node.

[0030] The vertical connection of "D. Dominant node detection element" and "T. Temporary exclusion tree construction unit", which are designed to have only word matching as a matching condition, takes as input the string of matching words that is the output of the method [Claim 1] that considers only matching words to be word matches, and determines the dominating node, which is the node that is lowest on the example sentence tree among the nodes that dominate all of the matching words, and can determine a temporary exclusion tree by deleting nodes other than those on the path from the matching word to the dominating node and sibling nodes of the nodes on the path.

[0031] The cascade connection of the "D. Dominant node detection element" and the "M. Part-of-speech string matching allowing temporary exclusive tree construction unit", which are designed to use part-of-speech matching as a matching condition in addition to word matching, uses a "P. Matching matrix creation unit" that allows part-of-speech matching, and in the case of a word match where a + symbol is added to a word at a + addition node in the middle column of the lowest node in the matching example sentence tree obtained in [Claim 2], the word is designated as a + addition node, and in the case of a part-of-speech match where a + symbol is added to a part-of-speech name with part-of-speech information amount following the word, the pair of part-of-speech name and part-of-speech information amount is overwritten to the part-of-speech position immediately above in the example sentence tree and designated as a + addition node again, and a dominating node that is the lowest node of the nodes that dominate all + addition nodes is found, and nodes other than the nodes on the path from the + addition node to the dominating node and the sibling nodes of the nodes on the path are deleted, thereby making it possible to obtain a temporary exclusive tree that allows part-of-speech matching.

[0032] The technical scope of these operations using "D. Dominant node detection element" and "T. Temporary exclusion tree construction unit" or "M. Part-of-speech string matching-allowing temporary exclusion tree construction unit" is shown in [Claim 3].

[0033] The "temporary exclusion tree tree value calculation function" in Reference 1 corresponds to "V. Temporary exclusion tree tree value unit" in Figure 1, but Reference 1 only describes that the number of nodes in the temporary exclusion tree is used as the tree value of the temporary exclusion tree. In the "V. Temporary exclusion tree tree value unit" of the present invention, among the lowest nodes in the temporary exclusion tree, a word information amount of 1 is assigned to the matching word, and the part-of-speech nodes are assigned an associated part-of-speech information amount. Between nodes in a parent-child relationship in the example sentence tree, the sum of the information amounts held by the child nodes divided by the number of child nodes held by the parent node is used as the information amount of the parent node, and the sum of these is used as the tree value of the temporary exclusion tree, i.e., a value indicating the certainty of the existence of the temporary exclusion tree in the sentence parse tree, which is the final output. There is one variation of this method for calculating the tree value of the temporary exclusion tree, and these are used depending on the format of the sentence being handled.

[0034] The technical scope of this operation using "V. Temporary Exclusive Tree Tree Value Unit" is shown in [Claim 4].

[0035] When the temporary exclusion tree generated by the "E. temporary exclusion tree generation module" of the present invention and the exclusion tree held by the device are collectively referred to as an exclusion tree, the "U. upper cover module" of the present invention extracts one OR tree from the target OR tree register and attempts to upper cover it with all the exclusion trees in turn. If the upper cover is successful, it outputs the resulting exclusion tree with the covered node to an opposing exclusion tree group register, which is a register dedicated to that OR tree and is assigned the top node number of that OR tree. It also outputs to the target register the subtrees, of which there are generally multiple, generated as parts outside the coverage area of ​​the exclusion tree, by selecting the OR tree generated by the grammar application unit as the initial input for the operation to obtain an exclusion tree with covered node, while avoiding duplicate handling of OR trees, until all OR trees in the target OR tree register are exhausted. As a result, it generates an opposing exclusion tree group array, which is an array of opposing exclusion tree groups assigned OR tree node numbers.

[0036] This operation using the "U. Upper Covering Module" is shown in its technical scope in [Claim 5].

[0037] The subsequent "W. Forbidden Tree-Free Analysis Tree Generation Module" requires that the conflict exclusion trees in each conflict exclusion tree group dedicated to each OR tree node that makes up the input conflict exclusion tree group array be arranged in descending order of cumulative tree values. The selected conflict exclusion tree is the conflict exclusion tree with the largest cumulative tree value in a conflict exclusion tree group, and its cumulative tree value is called the selected tree value. Conversely, the cumulative tree value of a conflict exclusion tree is the sum of the selected tree values ​​at the lower connection nodes of that conflict exclusion tree when the lower conflict exclusion trees connected to all lower connection nodes of that conflict exclusion tree are selected exclusion trees, plus the tree value of the exclusion tree itself. It is possible to arrange the tree values ​​of conflict exclusion trees in ascending order by calculating the selected tree values ​​from the lower conflict exclusion tree groups in the OR tree to the higher conflict exclusion tree groups. The "K. Maximum Tree Value Tree Generation Unit" performs this descending order of cumulative tree values ​​of conflict exclusion trees. The "K. Maximum Tree Value Tree Generation Unit" allows the conflict exclusion trees to be arranged in descending order of cumulative tree values ​​without actually connecting lower tree structures with selected tree values ​​to the lower connection nodes of the conflict exclusion trees as in Reference 1.

[0038] The technical scope of this operation, which uses the "K. Maximum Tree Value Tree Generation Unit," is defined in Claim 6. The "Y. Exclusion Tree / Forbidden Tree Non-Inclusion Judgment Element" belonging to the "X. Out-of-area Forbidden Tree Non-Inclusion Judgment Unit" accepts a pair of an exclusion tree and a forbidden tree, covers it in such a way that the top node of the exclusion tree is covered by the top node of the forbidden tree, outputs information of limit no if the entire covered portion by the forbidden tree is included in the range of the exclusion tree, outputs information of limit yes if the covered portion by the forbidden tree is different from the exclusion tree, and generates information of non-limit if the forbidden tree covers the exclusion tree and a forbidden tree subtree exists outside the exclusion tree area.

[0039] The "X. Out-of-area prohibition tree non-inclusion judgment unit" performs recursive operations by using the "Y. Exclusion tree prohibition tree non-inclusion judgment element" to cover one exclusion tree that belongs to the conflict exclusion tree group of one OR tree node with a prohibition tree. If the judgment is limited yes, the processing target moves to the next exclusion tree in the conflict exclusion tree group. If the judgment is limited no, the exclusion tree is deleted from the conflict exclusion tree group to which it belongs, and then the processing target moves to the next exclusion tree. If the judgment is not limited, the processing target moves to the next exclusion tree from one lower connection node. The pair of opposing exclusion trees extracted from the global memory for the prohibition tree that has fallen outside the area and its subordinate connected OR tree node is presented to the lower recursive layer, and the results are awaited for all subordinate connected OR nodes of that exclusion tree. If the return value of any of the lower recursive layers is success, the processing target is moved to the next exclusion tree in the opposing exclusion tree group; otherwise, the exclusion tree is deleted from the opposing exclusion tree group to which it belongs, and then the processing target is moved to the next exclusion tree in the opposing exclusion group.

[0040] The "X. Out-of-domain prohibited tree non-inclusion judgment unit" performs a recursive operation on one conflicting exclusion tree in the conflicting exclusion tree group, and applies this operation to all conflicting exclusion trees in the conflicting exclusion tree group, returning success to the upper layer if there is a conflicting exclusion tree that has not been deleted in the conflicting exclusion tree group after application, and returning failure if there are no more conflicting exclusion trees, and this operation is performed from the conflicting exclusion tree group of the lower node of the input OR tree to the top node of the input OR tree. The presence of "Y. Exclusion tree prohibited tree non-inclusion judgment element" within the frame of "X. Out-of-domain prohibited tree non-inclusion judgment unit" in Figure 1 shows that the former has the latter as part of it.

[0041] The technical scope of these operations using the "Y. Exclusion tree prohibition tree non-inclusion judgment element" and the "X. Out-of-area prohibition tree non-inclusion judgment unit" is shown in [Claim 7].

[0042] In the "X. Out-of-area forbidden tree non-inclusion judgment unit" which performs recursive operation, in the second and subsequent recursive calls which handle processing at lower-connected nodes, only one type of non-inclusion judgment is made between the forbidden tree subtree outside the area of ​​the initial exclusion tree and each of the entire conflict exclusion trees in the conflict exclusion tree group of the lower-connected nodes. However, if in the first call of the "X. Out-of-area forbidden tree non-inclusion judgment unit" a forbidden tree non-inclusion judgment is made between the given forbidden tree and a subtree of the conflict exclusion tree whose highest node is any node other than the lowest node of the conflict exclusion tree, a more complete forbidden tree non-inclusion judgment can be expected.

[0043] To perform this operation, it is necessary to enumerate the constituent nodes of the conflict exclusion tree other than the lowest node using the "A. Constituent Node Acquisition Element" shown in the box of the "X. Out-of-area Prohibited Tree Non-Inclusion Judgment Unit" in Figure 1. The "X. Out-of-area Prohibited Tree Non-Inclusion Judgment Unit" in this format that uses this "A. Constituent Node Acquisition Element" is called the all-node type, and the method that performs a non-inclusion judgment on only the entire prohibited tree and conflict exclusion tree when called for the first time is called the top-node type.

[0044] The technical scope of these operations using "A. Configuration node acquisition element", "Y. Exclusion tree prohibition tree non-inclusion judgment element", and the improved "X. Out-of-area prohibition tree non-inclusion judgment unit" is shown in [Claim 8].

[0045] The "X. Out-of-area forbidden tree non-inclusion judgment unit", which performs recursive operations, applies the operation it performs on one conflicting exclusive tree in a conflicting exclusive tree group to all conflicting exclusive trees in the conflicting exclusive tree group. As a variation of this, in order to reduce the number of calculations, a forbidden tree non-inclusion judgment is performed starting from the top of the exclusion tree in the conflicting exclusive tree group, and if a non-inclusion judgment is obtained, subsequent forbidden tree non-inclusion judgments for that conflicting exclusive tree group are stopped and information of success is returned to the upper layer, or a method in which forbidden tree non-inclusion judgments are performed for all conflicting exclusive trees in the conflicting exclusive tree group while the recursive call depth is small, and after a certain call depth, if a forbidden tree non-inclusion judgment for one conflicting exclusive tree is successful, further judgments are not performed.

[0046] In this case, it is necessary for the exclusion trees in the conflicting exclusion tree group to be arranged in descending tree value order, and for this reason, after the determination of whether a conflicting exclusion tree is included in one conflicting exclusion tree group is completed, the tree value descending order order that was disrupted by the conflicting exclusion tree deletion in each conflicting exclusion tree group must be re-established by the "K. Maximum Tree Value Tree Generation Unit." In Figure 1, this tree value descending order arrangement operation is represented by placing the "K. Maximum Tree Value Generation Unit" within the frame of the "W. Analysis Tree Generation Module that Does Not Include Forbidden Trees."

[0047] The technical scope of these operations using the "K. Maximum Tree Value Generation Unit", the "Y. Exclusion Tree Prohibited Tree Non-Inclusion Judgment Element", and the improved "X. Out-of-Area Prohibited Tree Non-Inclusion Judgment Unit" is shown in [Claim 9].

[0048] As shown in the structure of the present invention in Figure 1, before the "W. Forbidden Tree Non-Containing Analytical Tree Generation Module" including the "X. Out-of-Domain Forbidden Tree Non-Containing Judgment Unit" starts operating, the "U. Upper Covering Module" generates conflict exclusion trees for all O$OR tree nodes in advance, and stores these in global memory that can be read and written from all calculation processes of the "G. Analytical Tree Generation Module." In this way, during the calculation process of the "X. Out-of-Domain Forbidden Tree Non-Containing Judgment Unit," the conflict exclusion trees for the OR tree nodes of the subordinate connection nodes of the conflict exclusion tree being processed can be retrieved from the global memory and used.

[0049] In Reference 2, a descending tree value array of the conflict exclusion trees in the conflict exclusion tree group is obtained by connecting a selected tree to each lower-connected node of the conflict exclusion tree. Furthermore, in Reference 2, each lower-connected node of the conflict exclusion tree is associated with an input OR tree subtree with that lower-connected node as its top node. If the conflict exclusion tree extends beyond the lower-connected node of the conflict exclusion tree during the forbidden tree non-containment test for one conflict exclusion tree, and the currently connected selected tree does not contain the conflict exclusion tree, a new conflict exclusion tree group must be constructed from the subtrees of the input OR tree. Placing the computationally intensive upper cover operation in the computation loop for the forbidden tree non-containment test would result in a huge computational effort. In this invention, before the forbidden tree non-containment test, the conflict exclusion tree group for each node in the OR tree is constructed in the "U. Upper Cover Module" and stored in global memory that can be read and written from all subsequent computational processes. This makes it possible to separate the upper cover operation from the forbidden tree non-containment test.

[0050] Furthermore, since the "G. analytic tree generation module" is mostly composed of operations that delete exclusion trees from the conflict exclusion tree group array, introducing the conflict exclusion tree group array into global memory has the advantage that the results of the previous operation can be immediately reflected in the next operation.

[0051] In this invention, the object of calculation for all processing after "U. Upper Covering Module" is the conflict exclusion tree group array. For this reason, it is necessary to assemble a sentence parse tree, which is the output of the example-driven machine translation analysis result selection device, from the conflict exclusion tree group array. This is done by "C. Maximum Tree-Value Tree Construction", which belongs to "W. Forbidden-Tree-Free Analyze Tree Generation Module". "C. Maximum Tree-Value Tree Construction" selects one of the conflict exclusion trees at the top node of the OR tree in the given conflict exclusion tree group array, and, starting from that conflict exclusion tree, performs the operation of constructing an output parse tree by repeatedly fusing selected trees in the conflict exclusion tree group with the same OR tree number at the lower connection nodes of one exclusion tree.

[0052] The technical scope of these operations using "C. Maximum Tree-Value Tree Construction" is shown in [Claim 10].

[0053] The example sentence trees of the present invention are basically constructed manually, but the parse tree constructed from the input sentence by the example-driven machine translation analysis result selection device of the present invention can be manually edited as needed to be used as an example sentence tree.

[0054] The technical scope of this operation is defined in [Claim 11].

[0055] The example-driven machine translation analysis result selector (KATE) described above is a method for analyzing sentences by extracting example sentence trees that share a common word sequence with the input sentence from an example sentence tree accumulation (ETP) and using them as part of the sentence analysis tree. Recently, a sentence analysis method (called STS) using word sequence-to-word sequence (seq2seq) conversion using a neural network has been proposed. The STS is trained using the example sentence tree accumulation ETP that KATE has. A common input sentence is then input to both the KATE with the example sentence tree accumulation ETP and the STS that has been trained using the ETP, and a matching subtree of the sentence analysis results of both is obtained. This matching subtree is the part where the outputs of the two methods, which operate on different principles, match, and is therefore reliable.

[0056] This matching subtree has two uses. One is to re-parse the same input sentence using KATE using a temporary set of example sentence trees, which is created by adding the obtained matching subtree to the example sentence tree accumulation ETP held by KATE. Since the matching example sentence tree is a reliable subtree of the sentence parse tree, it is expected that a reliable sentence parse tree will be obtained. The scope of this technology is shown in [Claim 12].

[0057] Another use of matching subtrees is to generate many matching subtrees for many input sentences, construct a matching subtree set, and add this matching subtree set to an existing example tree accumulation ETP to construct a new example tree accumulation ETP with increased example trees. This is expected to generate more accurate parse trees in the example-driven machine translation analysis result selection device (KATE). Furthermore, the STS learns about the matching subtree set, and more accurate parse trees can be expected to be generated. The technical scope of the operation of these matching subtrees is shown in [Claim 13].

[0058] A comparison between the conventional method and the method of the present invention is explained at the end of the specification.

[0059] The related claims from [Claim 1] to [Claim 11] are attached to each part of Figure 1. Also, Figure 33(1) is related to [Claim 12], and Figure 33(2) is related to [Claim 13]. [Brief explanation of the drawings]

[0060] [Figure 1] 1 is a block diagram of a machine translation result selection device using recursive calls according to one aspect of the present invention. [Figure 2] FIG. 10 illustrates a match matrix in a match matrix creation unit according to an aspect of the present invention. [Figure 3] FIG. 10 is a diagram illustrating a method for obtaining adjacent elements in an adjacent matching word detection element according to one aspect of the present invention. [Figure 4] FIG. 10 is a diagram showing an entire adjacent element indication in an adjacent matched word detection element according to one aspect of the present invention. [Figure 5] FIG. 10 is a diagram showing a tree representation of adjacent element indications in an adjacent matching word detection element according to one aspect of the present invention. [Figure 6] FIG. 10 illustrates path acquisition in a common word string detection unit according to one aspect of the present invention. [Figure 7] FIG. 10 illustrates a match matrix between input sentence word strings and example sentence word strings according to one aspect of the present invention. [Figure 8] FIG. 10 is a diagram showing common words in an example sentence tree and an example sentence exclusion tree according to an aspect of the present invention. [Figure 9] FIG. 10 illustrates dominating node acquisition according to an aspect of the present invention. [Figure 10] FIG. 10 is a diagram illustrating an extension to a common part-of-speech string according to one aspect of the present invention. [Figure 11] FIG. 10 is a diagram illustrating a tree-like average node value according to one aspect of the present invention. [Figure 12] FIG. 1 is a diagram showing a path average value type node value PA according to an embodiment of the present invention. [Figure 13] FIG. 2 is a diagram illustrating an input OR tree according to an embodiment of the present invention. [Figure 14] FIG. 10 is a diagram showing the result of OR node expansion of an input OR tree according to an embodiment of the present invention. [Figure 15] FIG. 1 illustrates an exclusion tree used in a top covering module according to one aspect of the present invention. [Figure 16] FIG. 1 shows the results of the first overcoat according to one embodiment of the present invention. [Figure 17] FIG. 10 shows the results of the second top coating according to one embodiment of the present invention. [Figure 18] FIG. 10 shows the results of the third, fourth and fifth rounds of top coating according to one embodiment of the present invention. [Figure 19] FIG. 10 is a diagram illustrating a process of constructing a tree from an array of opposing exclusion trees according to one embodiment of the present invention. [Figure 20] FIG. 10 is a diagram showing the result of building a tree from an array of opposing exclusion trees according to one aspect of the present invention. [Figure 21] FIG. 10 illustrates an array of opposing exclusion trees for determining tree values ​​in abbreviated form according to one aspect of the present invention. [Figure 22] FIG. 10 illustrates an example of an algorithm operation for determining a maximum tree-value tree according to one aspect of the present invention. [Figure 23] FIG. 10 illustrates a maximum tree value generation unit output according to an aspect of the present invention. [Figure 24] FIG. 10 shows three parse trees generated from the output of a maximum tree value generation unit according to one embodiment of the present invention. [Figure 25] FIG. 10 is a diagram illustrating the operation of an exclusion tree prohibition tree non-containment determination element according to one aspect of the present invention. [Figure 26] FIG. 1 illustrates an example of a forbidden tree according to an aspect of the present invention. [Figure 27] FIG. 10 is a diagram illustrating a top node type prohibition tree non-inclusion determination for an exclusion tree according to an aspect of the present invention. [Figure 28] FIG. 10 is a diagram showing the result of applying a top node type forbidden tree non-inclusion determination according to one aspect of the present invention. [Figure 29]FIG. 10 is a diagram illustrating a determination of whether an all-node type prohibition tree is included in an exclusion tree according to an aspect of the present invention. [Figure 30] FIG. 10 is a diagram showing the result of applying an all-node forbidden tree non-inclusion determination (first stage) according to one embodiment of the present invention. [Figure 31] FIG. 10 is a diagram showing the result of applying an all-node forbidden tree non-inclusion determination (second stage) according to one embodiment of the present invention. [Figure 32] FIG. 10 is a diagram showing an array of opposing exclusion trees that does not contain two prohibition trees according to one embodiment of the present invention. [Figure 33] FIG. 1 illustrates a combined operation with a neural network translation method according to an embodiment of the present invention. [Figure 34] FIG. 1 is a block diagram of a machine translation result selection device using recursive calls according to one aspect of the present invention. [Figure 35] 10 is a flowchart of the operation of the P. Match Matrix Creation Unit according to one aspect of the present invention. [Figure 36] FIG. 10 illustrates a tree showing parent-child relationships of match node representations on a match matrix according to one aspect of the present invention. [Figure 37] 1 is a flowchart of an N. adjacent match word detection element according to one embodiment of the present invention. [Figure 38] FIG. 10 illustrates inputs and outputs of a common word string detection unit according to one aspect of the present invention. [Figure 39] 1 is a flowchart of a common word string detection unit according to one aspect of the present invention. [Figure 40] FIG. 1 illustrates a common word string detection unit behavior representation method according to one aspect of the present invention. [Figure 41] FIG. 10 illustrates common word string detection unit behavior tracing according to one aspect of the present invention. [Figure 42] FIG. 10 illustrates common word string detection unit behavior tracing according to one aspect of the present invention. [Figure 43] FIG. 10 illustrates common word string detection unit behavior tracing according to one aspect of the present invention. [Figure 44] FIG. 10 illustrates common word string detection unit behavior tracing according to one aspect of the present invention. [Figure 45] FIG. 10 illustrates inputs and outputs of a common word string detection unit for example sentences according to one aspect of the present invention. [Figure 46] FIG. 10 illustrates common word string detection unit behavior tracing according to one aspect of the present invention. [Figure 47] FIG. 1 is a diagram illustrating an overview of the operation of a dominating node detection element according to one aspect of the present invention. [Figure 48] 1 is a flow chart of a dominating node detection element according to one aspect of the present invention. [Figure 49] FIG. 10 illustrates tracking of the first half of the motion of a dominating node detection element according to one aspect of the present invention. [Figure 50] FIG. 10 illustrates tracking of the first half of the motion of a dominating node detection element according to one aspect of the present invention. [Figure 51] FIG. 10 illustrates tracking of the latter half of the behavior of a dominating node detection element according to an aspect of the present invention. [Figure 52] 10 is a flowchart of a temporary exclusion tree construction unit according to one aspect of the present invention. [Figure 53] 10A and 10B are diagrams illustrating omissions in explaining the operation of a temporary exclusion tree construction unit according to an embodiment of the present invention. [Figure 54] FIG. 10 is a diagram illustrating the behavior tracing of a temporary exclusion tree construction unit according to an embodiment of the present invention. [Figure 55] FIG. 10 is a diagram illustrating the behavior tracing of a temporary exclusion tree construction unit according to an embodiment of the present invention. [Figure 56] FIG. 10 is a diagram showing the behavior tracing of temporary exclusion tree construction units when the number of matching words is 1 according to one embodiment of the present invention. [Figure 57] FIG. 2 is a diagram illustrating an example of a part-of-speech dictionary according to an aspect of the present invention. [Figure 58] FIG. 10 is a diagram illustrating the operation of a part-of-speech string matching type temporary exclusion tree construction unit in the case of word matching according to an aspect of the present invention. [Figure 59] FIG. 10 is a diagram illustrating the operation of a part-of-speech string matching type temporary exclusion tree construction unit in the case of part-of-speech matching according to an aspect of the present invention. [Figure 60]FIG. 10 is a flowchart illustrating a part-of-speech string matching type temporary exclusion tree construction unit according to an aspect of the present invention. [Figure 61] FIG. 10 is a diagram illustrating a tree-like average node value according to one aspect of the present invention. [Figure 62] FIG. 1 is a diagram showing a path average value type node value PA according to an embodiment of the present invention. [Figure 63] FIG. 10 is a diagram illustrating a path average type node value squared according to one aspect of the present invention. [Figure 64] FIG. 10 is a diagram showing data items generated in automatic calculation of temporary exclusion tree data according to an aspect of the present invention. [Figure 65] FIG. 10 illustrates a flow chart of a temporary exclusion tree value unit according to one aspect of the present invention. [Figure 66] FIG. 10 illustrates an input temporary exclusion tree to a temporary exclusion tree value unit according to one aspect of the present invention. [Figure 67] FIG. 10 is a diagram showing progress data of a temporary exclusive tree value unit according to one aspect of the present invention. [Figure 68] FIG. 10 is a diagram illustrating a register CR data format of a temporary exclusion tree value unit according to one embodiment of the present invention. [Figure 69] FIG. 10 is a diagram illustrating the operation of a temporary exclusive tree value unit according to one aspect of the present invention. [Figure 70] FIG. 10 is a diagram illustrating the operation of a temporary exclusive tree value unit according to one aspect of the present invention. [Figure 71] FIG. 10 is a diagram illustrating the operation of a temporary exclusive tree value unit according to one aspect of the present invention. [Figure 72] FIG. 10 is a diagram illustrating the operation of a temporary exclusive tree value unit according to one aspect of the present invention. [Figure 73] FIG. 10 is a diagram illustrating the operation of a temporary exclusive tree value unit according to one aspect of the present invention. [Figure 74] FIG. 10 illustrates inputs and outputs to a temporary exclusion tree value unit obtained by an algorithm according to one aspect of the present invention. [Figure 75] 10A and 10B are diagrams illustrating the function of an upper covering part according to one embodiment of the present invention. [Figure 76] FIG. 1 is a diagram illustrating an exclusion tree arrangement according to an aspect of the present invention. [Figure 77] FIG. 1 is a diagram showing an OR tree top cover using an exclusion tree according to one embodiment of the present invention. [Figure 78] FIG. 1 is a diagram showing an OR tree top cover using an exclusion tree according to one embodiment of the present invention. [Figure 79] FIG. 1 is a diagram showing an OR tree top cover using an exclusion tree according to one embodiment of the present invention. [Figure 80] FIG. 1 is a diagram showing an OR tree top cover using an exclusion tree according to one embodiment of the present invention. [Figure 81] 1 is a flowchart illustrating the operation of an upper coating module according to one aspect of the present invention. [Figure 82] FIG. 2 is a diagram showing the correspondence between a prototype representation and an abbreviated representation of an input OR tree according to an embodiment of the present invention. [Figure 83] 1 is a diagram showing a comparison between the prototype representation and the abbreviated representation of each part of an input OR tree according to one embodiment of the present invention. FIG. [Figure 84] 10 is a diagram showing the correspondence between a prototype representation and an abbreviated representation of an exclusion tree according to an aspect of the present invention. FIG. [Figure 85] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 86] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 87] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 88] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 89] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 90] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 91] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 92] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 93] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 94]FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 95] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 96] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 97] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 98] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 99] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 100] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 101] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 102] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 103] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 104] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 105] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 106] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 107] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 108] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 109] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 110] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 111] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 112]FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 113] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 114] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 115] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 116] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 117] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 118] FIG. 10 illustrates an upper cladding module operation according to one aspect of the present invention. [Figure 119] FIG. 1 shows a block diagram of an analytic tree generator according to one aspect of the present invention. [Figure 120] FIG. 10 is a diagram illustrating an upper coating unit output according to one aspect of the present invention. [Figure 121] FIG. 1 illustrates a structure in which exclusion trees are connected according to an embodiment of the present invention. [Figure 122] FIG. 1 illustrates a prototype representation of a connected exclusion tree structure according to one aspect of the present invention. [Figure 123] FIG. 1 is a diagram illustrating the principle of an algorithm for obtaining a maximum tree-value tree according to an embodiment of the present invention. [Figure 124] FIG. 10 illustrates an example of an algorithm operation for determining a maximum tree-value tree according to one aspect of the present invention. [Figure 125] 1 is a flowchart of a maximum tree value tree generation unit according to one aspect of the present invention. [Figure 126] FIG. 10 illustrates a maximum tree value generation unit operation according to one aspect of the present invention. [Figure 127] FIG. 10 illustrates a maximum tree value generation unit operation according to one aspect of the present invention. [Figure 128] FIG. 10 illustrates a maximum tree value generation unit operation according to one aspect of the present invention. [Figure 129] FIG. 10 illustrates a maximum tree value generation unit operation according to one aspect of the present invention. [Figure 130] FIG. 10 is a diagram showing the contents of a conflict exclusion tree register, which is the output of a maximum tree value generation unit according to one aspect of the present invention. [Figure 131] FIG. 10 is a diagram illustrating the input of a maximum tree value generator after a portion of an exclusion tree is deleted according to an aspect of the present invention. [Figure 132] FIG. 10 is a diagram illustrating the output of the maximum tree value generator after a portion of the exclusion tree is deleted according to an aspect of the present invention. [Figure 133] FIG. 10 is a diagram illustrating a change in an analytic tree due to partial deletion of an exclusion tree according to an embodiment of the present invention. [Figure 134] 10 is a flowchart of a tree value descending order subunit according to one aspect of the present invention. [Figure 135] FIG. 10 illustrates a flowchart of a maximum tree-value tree construction unit according to one aspect of the present invention. [Figure 136] FIG. 10 is a diagram illustrating the operation of constructing a maximum tree-value tree for a specified top node n1 when there is no exclusion tree deletion according to one embodiment of the present invention. [Figure 137] FIG. 10 illustrates a prototype representation of the maximum tree value tree generation unit output in the absence of exclusion tree pruning according to an aspect of the present invention. [Figure 138] FIG. 10 is a diagram showing a prototype representation of the maximum tree-value tree construction unit output of the top node n1 in the absence of exclusion tree deletion according to one embodiment of the present invention. [Figure 139] FIG. 10 is a diagram showing a covering method that gives the maximum tree value of the top node n1 for an input OR tree according to one embodiment of the present invention. [Figure 140] FIG. 10 is a diagram illustrating the maximum tree-value tree construction operation of the top node n1 in the case of partial deletion input of the exclusion tree according to one embodiment of the present invention. [Figure 141] FIG. 10 is a diagram showing a prototype representation of the maximum tree-value tree construction unit output of the top node n1 in the case of partial deletion input of the exclusion tree according to one embodiment of the present invention. [Figure 142] FIG. 10 illustrates an abbreviated representation of a maximum tree value generation unit output according to an aspect of the present invention. [Figure 143] FIG. 10 illustrates a prototype representation of a maximum tree value generation unit output according to one aspect of the present invention. [Figure 144]FIG. 10 is a diagram showing a forbidden tree used in a forbidden tree-free maximum tree value tree generation module according to one embodiment of the present invention. [Figure 145] FIG. 10 illustrates node merging at the output of an upper covering module according to an aspect of the present invention. [Figure 146] FIG. 10 is a diagram showing an array of conflict exclusion trees at the output of an outside-area prohibition tree non-containing determination unit according to one aspect of the present invention. [Figure 147] FIG. 10 is a diagram showing an output analytic tree of an outside-area prohibition tree non-containment determination unit according to one aspect of the present invention. [Figure 148] FIG. 1 illustrates an example of a forbidden tree according to an aspect of the present invention. [Figure 149] 10 is a flowchart illustrating an element for determining whether an exclusion tree prohibition tree is included in an exclusion tree according to one aspect of the present invention. [Figure 150] FIG. 10 is a diagram illustrating the operation of an exclusion tree prohibition tree non-inclusion determination element in the case of non-local output according to one aspect of the present invention. [Figure 151] FIG. 10 is a diagram illustrating the operation of an exclusion tree prohibition tree non-inclusion determination element in the case of limited no output according to one embodiment of the present invention. [Figure 152] FIG. 10 is a diagram illustrating the operation of an exclusion tree prohibition tree non-containment determination element in the case of a limited yes output according to one embodiment of the present invention. [Figure 153] 10 is a flowchart of an outside-area prohibition tree non-inclusion determination unit (top node type) according to one aspect of the present invention. [Fig. 154] FIG. 10 is a diagram showing an exclusion tree input of an outside-area prohibition tree non-containing determination unit according to one aspect of the present invention. [Figure 155] FIG. 10 is a diagram showing a forbidden tree input of an outside-area forbidden tree non-containing determination unit according to one aspect of the present invention. [Figure 156] FIG. 10 is a diagram illustrating the operation of an outside-area prohibited tree non-inclusion determination unit according to one aspect of the present invention. [Figure 157] FIG. 10 is a diagram illustrating the operation of an outside-area prohibited tree non-inclusion determination unit according to one aspect of the present invention. [Figure 158] FIG. 10 is a diagram illustrating the operation of an outside-area prohibited tree non-inclusion determination unit according to one aspect of the present invention. [Figure 159]FIG. 10 illustrates a maximum tree value generation unit output according to an aspect of the present invention. [Figure 160] FIG. 10 illustrates a parse tree generated from an example sentence tree according to one aspect of the present invention. [Figure 161] 1 is a flowchart of a main part of a determination according to one aspect of the present invention. [Figure 162] 10 is a flowchart of an out-of-area prohibited tree non-containment determination unit including a simplified representation of the main part of the determination according to one aspect of the present invention. [Figure 163] 10 is a flowchart of an all-node-type out-of-area prohibited tree non-inclusion determination unit according to one aspect of the present invention. [Fig. 164] FIG. 10 is a diagram showing a prohibition tree for explaining an all-node type out-of-area prohibition tree non-inclusion determination unit according to one aspect of the present invention. [Figure 165] FIG. 10 is a diagram illustrating the operation of an all-node-type out-of-area prohibited tree non-containment determination unit according to one aspect of the present invention. [Figure 166] FIG. 10 is a diagram illustrating the operation of an all-node-type out-of-area prohibited tree non-containment determination unit according to one aspect of the present invention. [Figure 167] FIG. 10 is a diagram illustrating the operation of an all-node-type out-of-area prohibited tree non-containment determination unit according to one aspect of the present invention. [Figure 168] FIG. 10 illustrates a configuration node acquisition operation input according to one aspect of the present invention. [Figure 169] 10 is a flowchart of a configuration node obtain element according to one aspect of the present invention. [Figure 170] FIG. 10 illustrates a configuration node acquisition operation according to one aspect of the present invention. [Figure 171] FIG. 10 illustrates a configuration node acquisition operation according to one aspect of the present invention. [Figure 172] 1 is a flowchart of a maximum tree value tree generation module that does not contain forbidden trees according to one embodiment of the present invention. [Figure 173] FIG. 10 illustrates a prototype representation of a maximum tree value tree generation unit output according to one aspect of the present invention. [Fig. 174] FIG. 10 is a diagram showing a forbidden tree used in a forbidden tree-free maximum tree value tree generation module according to one embodiment of the present invention. [Figure 175]FIG. 10 illustrates the operation of a maximum tree value tree generation module that does not contain forbidden trees, according to one aspect of the present invention. [Figure 176] FIG. 10 illustrates the operation of a maximum tree value tree generation module that does not contain forbidden trees, according to one aspect of the present invention. [Figure 177] FIG. 10 illustrates the operation of a maximum tree value tree generation module that does not contain forbidden trees, according to one aspect of the present invention. [Figure 178] FIG. 10 illustrates the operation of a maximum tree value tree generation module that does not contain forbidden trees, according to one aspect of the present invention. [Figure 179] FIG. 10 illustrates the operation of a maximum tree value tree generation module that does not contain forbidden trees, according to one aspect of the present invention. [Figure 180] FIG. 10 illustrates the operation of a maximum tree value tree generation module that does not contain forbidden trees, according to one aspect of the present invention. [Figure 181] FIG. 1 illustrates two forbidden-tree-free parse trees according to one embodiment of the present invention. [Figure 182] FIG. 1 illustrates an analytic tree before forbidden tree checking according to an aspect of the present invention. [Figure 183] FIG. 2 shows one forbidden-tree-free parse tree according to one embodiment of the present invention. [Figure 184] FIG. 1 illustrates the estimation operation of a basic seq2seq method according to one embodiment of the present invention. [Figure 185] FIG. 1 illustrates a learning operation of a basic seq2seq method according to one embodiment of the present invention. [Figure 186] FIG. 1 is a diagram illustrating the inference operation of the attention-assisted seq2seq method according to one embodiment of the present invention. [Figure 187] FIG. 1 is a diagram illustrating a learning operation of the attention-assisted seq2seq method according to one embodiment of the present invention. [Figure 188] FIG. 1 is a diagram illustrating a method for expressing a tree structure as a string according to an aspect of the present invention. [Figure 189] FIG. 1 is a diagram illustrating a string representation of a tree structure according to an aspect of the present invention. [Figure 190] FIG. 1 illustrates adjustable portions in an example-driven machine translation analysis result selection device according to one embodiment of the present invention. [Figure 191]FIG. 2 illustrates a seq2seq translation scheme in a training state according to one embodiment of the present invention. [Figure 192] FIG. 10 is a diagram illustrating the configuration of a matching subtree according to an aspect of the present invention. [Figure 193] FIG. 10 illustrates the use of a matching subtree as an additional example sentence tree according to one aspect of the present invention. [Figure 194] FIG. 10 illustrates an example sentence tree pool expansion according to one aspect of the present invention. [Figure 195] FIG. 10 illustrates detection of an exact match substring according to one aspect of the present invention. [Figure 196] 10 is a flowchart of the exact match subword string generator CCS according to one embodiment of the present invention. [Figure 197] 10 is a flowchart of a subtree cutting unit PTC according to an embodiment of the present invention. [Figure 198] FIG. 10 is a diagram illustrating a subtree cutter PTC operation trace according to one embodiment of the present invention. [Figure 199] FIG. 10 is a diagram showing example word strings in document 1 and input sentence word strings. [Figure 200] FIG. 10 is a diagram illustrating an operation for detecting a common word string in document 1. [Figure 201] This is a block diagram of the total maximum tree value expansion tree generation in Reference 2. [Figure 202] FIG. 10 is a diagram showing an input OR tree and a total maximum tree value expansion tree to be calculated. [Figure 203] FIG. 10 is a diagram showing the top cover result for the input OR tree. [Figure 204] FIG. 10 is a diagram showing the upper cover lower maximum tree value state array and the cover by the forbidden tree for the maximum tree value expansion tree. [Figure 205] This figure shows the upper cover state represented by the maximum tree value expansion tree and the newly generated OR tree to be processed. [Figure 206] FIG. 10 is a diagram showing the upper cover lower maximum tree value state obtained from the lower OR tree to be processed. [Figure 207] FIG. 10 is a diagram showing the upper covering part lower maximum tree value state across two layers. [Figure 208]FIG. 10 illustrates an analysis of forbidden tree coverage for a deleted maximum tree value expansion tree. [Figure 209] FIG. 10 is a diagram showing an example of a new topcover result for an input OR tree. [Figure 210] FIG. 10 is a flowchart illustrating an outside-area prohibited tree non-inclusion determination unit according to an aspect of the present invention. [Figure 211] FIG. 10 is a diagram illustrating an input of an outside-area prohibited tree non-containing determination unit according to one aspect of the present invention. [Figure 212] FIG. 1 is a diagram showing a prohibition tree to be checked for inclusion according to one embodiment of the present invention. [Figure 213] FIG. 10 is a diagram showing a summary of the operation of the outside-area prohibited tree non-inclusion determination unit according to one aspect of the present invention. [Figure 214] FIG. 10 illustrates a maximum tree value generation unit output according to an aspect of the present invention. [Figure 215] FIG. 10 illustrates a parse tree generated from an example sentence tree according to one aspect of the present invention. [Figure 216] FIG. 1 is a diagram illustrating a noun phrase separation type seq2seq translation method according to an embodiment of the present invention. [Figure 217] FIG. 2 illustrates a parse tree and its S-expression representation according to one embodiment of the present invention. [Figure 218] 10 is a flowchart of a noun phrase detection operation according to one aspect of the present invention. [Figure 219] FIG. 10 illustrates a noun phrase detection operation according to one aspect of the present invention. [Figure 220] FIG. 1 illustrates isolated noun phrase selection according to one aspect of the present invention. [Figure 221] FIG. 1 illustrates disjunctive noun phrase delimitation according to an aspect of the present invention. [Figure 222] FIG. 1 illustrates isolated noun phrase extraction according to one aspect of the present invention. [Figure 223] FIG. 1 illustrates a language conversion according to one aspect of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0061] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

[0062] [Outline of individual measures to solve the problem] Here we will provide an overview of the operation of the machine translation result selection device. Following the block diagram of the machine translation result selection device shown in Figure 1, we will provide an overview of the operation of each component, focusing on the role of each component and the transfer of data. Detailed descriptions to demonstrate the feasibility of the operation of each component will not be provided here. To ensure correspondence with the "Detailed Description of the Invention" described below, we will use the same figures as those used in the "Detailed Description of the Invention," with some exceptions.

[0063] First, we will explain the operation of "P. Matching Matrix Creation Unit," which is the first process in the block diagram in Figure 1. Consider the process of finding a common string that allows non-matching characters to be present between the input string [abcac] and the example string [acbac]. "P. Matching Matrix Creation Unit" is responsible for the first part of this process.

[0064] For the purposes of explanation, let us assume that the above a, b, c, etc. are each letters. In Figure 2, the vertical axis represents the input string, with character numbers 1 to 5 and the letters a, b, and c. ai indicates the character with input character number i. For example, the character in a3 is c. The horizontal axis represents the example string. Like the vertical axis, it has character numbers 1 to 5 and letters a, b, c, etc. bj indicates the character with the example character number. For example, the character in b3 is b.

[0065] The above is an explanation of the vertical and horizontal axes of Figure 2, and next we will explain the values ​​of the matching matrix. pi,j are the values ​​of the matrix in Figure 2. The first letter i in the value pi,j indicates the character number on the vertical axis, and the second letter j indicates the character number on the horizontal axis. For example, the value of p2,2 is 1, and the value of p2,3 is 2. The circled pi,j positions in this value are positions where the relationship ai=bj holds. For example, p2,3 shown earlier is circled because a2 is the letter b and b3 is also the letter b.

[0066] Here, starting from the 0th p-value on the vertical and horizontal axes in Figure 2,

[0067]

number

[0068] The first line of this formula indicates that if ai and bj are equal, the value 1 should be added to the p-value diagonally to the upper left, and the second line indicates that if ai and bj are not equal, the p-value should be the larger of the p-value on the left or the p-value above. When applying formula 1, start with p0.0 outside the matrix, which has a value of 0, and scan the first row of the matrix from column 0 to the right. After scanning the first row, scan the second row and repeat this process.

[0069] For example, a1 and b1 are equal, so p1,1 is 1, which is the sum of p0,0's value 0 and p2,5's value 2. For example, p2,5 has a p value of 2 on the left and a p value of 1 on the top, so it is the larger value of 2.

[0070] This matching matrix is ​​created by the "P. Matching Matrix Creation Unit."

[0071] Next, we will explain the operation of "N. Adjacent Matching Word Detecting Element" which is the second process of the method for finding a common string that allows non-matching characters to be present between example strings. This is the second process of the block diagram in Figure 1. This is the process of "m

[0072] ​The start element S is placed at the bottom right of each element in the matching matrix in Figure 3. Elements with a design value L, for example, greater than 3, are made child elements from the start element S, and arrows are extended from them. However, arrows are not extended to nodes with element values ​​greater than the design length L that are child nodes of other nodes. In Figure 3, child node arrows extend from element S to elements p3,5 and p5,5, but no arrow extends to element p5,2, which has a design length of 3 or less.

[0073] By performing this process on all matching elements and the start element S, the adjacent element designations shown in FIG. 4 are obtained.

[0074] In the entire adjacent element designation in Figure 4, the numbers enclosed in square brackets [ ] are the labels of pi and j for explanatory purposes. For example, p3,2 is labeled [4]. Also, the start element S is labeled [S].

[0075] The adjacent element instructions in Figure 4 are displayed as a tree showing the parent-child relationships in Figure 5. The "N. adjacent matching word detection element" obtains adjacent elements using the method shown in Figure 3, finds the entire adjacent element instructions in Figure 4 as a result, and expresses them in the tree shown in Figure 5.

[0076] Looking at Figure 4, we can see the paths [S, 5, 3, 1], [S, 9, 7, 3, 1], and [S, 9, 3, 4, 1]. These are common strings that allow for the inclusion of non-matching characters between the input string ai and the example string bj. Reversing the above paths and deleting element S yields the sequences [1, 3, 5], [1, 3, 7, 9], and [1, 4, 7, 9], which constitute the common strings mentioned above.

[0077] For example, looking at the sequence [1, 3, 5], this sequence indicates that a in the first line, b in the second line, and c in the third line of the input strings form a common string. On the other hand, in the example strings, this indicates that a in the first column, b in the third column, and c in the fifth column form a common string. In other words, they match with the common string [a, b, c]. The same is true for other sequences, and in the sequence [1, 4, 7, 9], this indicates that a in the first line, c in the third line, a in the fourth line, and c in the fifth line of the input strings form a common string. On the other hand, in the example strings, this indicates that a in the first column, c in the second column, a in the fourth column, and c in the fifth column form a common string. In other words, they match with the common string [a, c, a, c].

[0078] The operation of constructing this common string sequence is the "S. Common Word String Detection Unit" shown in the block diagram of Figure 1. An overview of this operation will be explained using Figure 6. Figure 6(1) is a tree obtained by merging identical nodes in the adjacent element indication tree of Figure 5. The top node of this tree is element S.

[0079] The paths in Figure 6(1) are [S, 5, 3, 1], [S, 9, 7, 3, 1], and [S, 9, 3, 4, 1], which are the same as the paths in Figure 4, and from these we can obtain a common string. Here, we will call the tree in Figure 6(1) a path tree.

[0080] Each node in the tree in Figure 6(1) corresponds to one layer, and each layer repeats the process of "extending each of the paths (usually multiple) sent from the lower layer to the node number of the layer and sending it to the higher layer." Figure 6(2) shows this operation. That is, layer 3 extends path [1] sent from layer 1 to its own layer number 3 and sends path [1, 3] to the higher layer. Layer 4 similarly sends path [1, 4] to the higher layer. Layer 5 extends path [1, 3] sent from layer 3 to its own layer number 5 to create path [1, 3, 5] and sends it to the higher layer. Layer 7 extends two paths [1, 3] and [1, 4] sent from the lower layer to its own layer number 7 to create paths [1, 3, 7] and [1, 4, 7] and sends them to the higher layer. Layer 9 extends the two paths [1, 3, 7] and [1, 4, 7] sent from the lower layer to create paths [1, 3, 7, 9] and [1, 4, 7, 9] for its own layer number 9, and sends them to the upper layer. Finally, layer S extends the paths [1, 3, 5] and [1, 3, 7, 9] sent from the lower layer to path [1, 4, 7, 9] for its own layer number S, and outputs them to the outside.

[0081] By deleting the last number S, we obtain the same paths [1, 3, 5], [1, 3, 7, 9], and [1, 4, 7, 9] as the layer S input. This forms the common string. The "S. common word string detection unit" uses the tree indicating the adjacent elements generated from "N. adjacent matching word detection element" as input and performs the path discovery operation described here using a recursive algorithm.

[0082] Up until now, in order to simplify the explanation and to complicate the operating conditions, we have explained the operation of the "P. Matching Matrix Creation Unit," "N. Adjacent Matching Word Detection Element," and "S. Common Word String Detection Unit" in terms of input sentences and example sentences between strings. Since the principles of matching between strings can also be applied to matching between words, from now on we will deal with matching between word strings.

[0083] Figure 7 is an example of a matching matrix for the example we will use hereafter. Hereafter, we will deal with a matching matrix for a common word string that allows for the existence of unshared words between word strings, rather than between character strings as in Figure 4. The input sentence is the word string (a boy with dogs), and the example sentence tree is as shown in Figure 8(1), with the word string (I saw a big man with boots) as the lowest-level node string. In this case, a single common word string consisting of the two words shown in Figure 7 is obtained through the actions of the "P. Matching Matrix Creation Unit," "N. Adjacent Matching Word Detection Element," and "S. Common Word String Detection Unit" described above. Therefore, the two words "a" and "with" are designated as common words in the example sentence tree in Figure 8(1). Common words are marked with an asterisk *. The example introduced in Figure 7 will be used throughout this specification.

[0084] Next, we will explain the process in Figure 1, "D. Dominant Node Detection Element." The node with node name NP and node number n8 in Figure 8(1) is marked with the note "Dominating Node." A dominating node is defined as "the lowest-ranking node that dominates all common words."

[0085] In the example sentence tree of Figure 8(1), the trajectory tracing the nodes from the two common words upward to the top node is shown in Figure 9(1). This is called the dominating node matrix. The first row of the dominating node matrix in Figure 9(1) is the trajectory for the left matching word "a" from the word number of the matching word "a" in n11 to the word number of the top node n1. The second row is the trajectory for the matching word "with". If the contents of the dominating node matrix in Figure 9(1) are shifted to the right, the arrangement shown in Figure 9(2) is obtained. In this way, the top nodes of the example sentence trees can be aligned even if the path lengths from the matching words are different. Note that the number of columns of the dominating node is set to a value greater than the maximum path length. In Figure 9(2), the leftmost node among the nodes with the same row is the dominating node. In this case, node n8 is the dominating node. In this way, "D. Dominating Node Detection Element" operates to detect the dominating node.

[0086] Next, the operation of "T. temporary exclusion tree construction unit" in FIG. 1 will be explained.

[0087] In Figure 8(1), we mentioned that an asterisk * is added to the common words a(n11) and with(n19), but we also add an asterisk * to the path from the common word to the dominating node. Figure 8(1) shows this situation. Here, a sharp # is added to the sibling nodes of the node to which an asterisk * has been added, and to which an asterisk * has not yet been added. Figure 8(1) also shows this situation. If nodes to which an asterisk * and a sharp # have not been added are deleted from the example sentence tree with common words of the format shown in Figure 8(1), a tree of the format shown in Figure 8(2) is obtained. A tree of this format is selected as the temporary exclusion tree. In this way, the "T. Temporary Exclusion Tree Construction Unit" performs the operation of constructing a temporary exclusion tree from the example sentence tree with the known dominating node as shown in Figure 8(1).

[0088] The common words in Figure 8(2) are given a value of 1.0 after the equal sign. This is the value that common words have, called word value.

[0089] Next, the operation of "M. Part-of-Speech String Matching Allowed Temporary Exclusion Tree Construction Unit" in FIG. 1 will be described.

[0090] So far, we have discussed the case where the input sentence and the example tree word sequence share words in common. Here, we will expand this to include common parts of speech in addition to common words as matching targets. In this case, for each word in the input sentence, the part of speech name obtained by looking up the part of speech dictionary is added in parentheses after the word, and for the example tree, preprocessing is performed in which the part of speech name of the part of speech node above it is added in an arc after each terminal word sequence. The input sentence is allowed to have multiple part of speech names.

[0091] When finding common elements between the input sentence and example sentences, priority is given to commonality of words, and a "+" mark is added to matching words. Even if the words do not match, if the part-of-speech names in parentheses match, a "+" mark is added to the part-of-speech name in the parentheses, and at the same time, a part-of-speech dictionary is consulted and the part-of-speech value specific to the part-of-speech is added after the equals sign "=" following the part-of-speech name enclosed in parentheses. The part-of-speech value is then used to calculate the tree value of the temporary exclusion tree.

[0092] Figure 10 explains the extension of matching to include common parts of speech in addition to common words. The upper diagram in Figure 10(1) shows the state of common elements between the input sentence with parts of speech, "a(DET) boy(NOUN) with (PREP, ADJ) dogs(NOUN)" and the example sentence with parts of speech, "I(PRN) saw(VT) the(DET) big(ADJ) man(NOUN) with(PREP) boots(NOUN)." Here, DET is a determiner, NOUN is a noun, PREP is a preposition, and ADJ is an adjective.

[0093] In this case, a(DET) and the(DET), and with(PREP) and with(PREP) share a common part of speech and common words, so they are used as example sentence trees. In the example sentence tree, a "+" mark is added to the common word or common part of speech, along with an equal sign and a part of speech value. In the case of a part of speech match, the part of speech value is a value corresponding to the number of words belonging to that part of speech. For DETs, or determiners, such as "a" and "the," the value is 0.7. In the case of a word match, such as in the case of "with," the part of speech value is 1.0 regardless of the part of speech to which the word belongs. In the case of a part of speech match, the "+" mark and part of speech value are raised to the part of speech position, as shown in the center diagram of Figure 10(1), to indicate that this is the boundary of the temporary exclusion tree. In the case of a word match, the "+" mark is not raised. A temporary exclusion tree is then constructed using the method described in Figure 8. The constructed temporary exclusion tree is shown in the bottom diagram of Figure 10(1).

[0094] When an example sentence tree is generated by part-of-speech matching, a part-of-speech exclusion tree consisting only of part-of-speech nodes and word nodes is generated as shown in Figure 10(2). In this exclusion tree, the exclusion tree word nodes and example sentence word nodes match, so a lowest-level node notation is given in the form of a word name and the number 1 connected by an equal sign.

[0095] As described here, the "M. Temporary exclusion tree construction unit that allows part-of-speech string matching" performs the operation of constructing a temporary exclusion tree by expanding the scope of matching to include common parts of speech in addition to common words. Figure 1 shows the use of either the "T. Temporary exclusion tree construction unit that allows part-of-speech string matching" which only targets word matching without this expansion, or the "M. Temporary exclusion tree construction unit that allows part-of-speech string matching" which extends common elements to include parts of speech.

[0096] Here, the common word nodes and common part-of-speech nodes are collectively called match nodes. In Figure 8(2), the common word nodes, or match nodes, have a word value of 1.0, as shown after the equal sign. The common part-of-speech node DET in Figure 10(1) has a part-of-speech value of 0.7. Of course, the node with in the same figure has a word value of 1.0. The word value and part-of-speech value are collectively called match values. As in Figure 8(2) and the lower diagram in Figure 10(1), the match value is shown after the node name, followed by an equal sign "=". Note that the match value of a part-of-speech exclusion tree such as that in Figure 10(2) is defined as 1, since it is a word match.

[0097] As shown in Figure 8(2) and Figure 10(1), we can define the common word nodes and common part-of-speech nodes, that is, the matching values ​​of the matching nodes of the obtained temporary exclusion trees. These are the driving force behind the existence of the temporary exclusion trees to which they belong.

[0098] The above is an explanation of the operation of "T. Temporary exclusion tree construction unit" and "M. Part-of-speech sequence-accepting temporary exclusion tree construction unit" in the block diagram of FIG.

[0099] Next, we will explain the operation of "V. Temporary Exclusion Tree Tree Value Unit," which uses the temporary exclusion tree and matching values ​​obtained in the previous operation "T. Temporary Exclusion Tree Construction Unit" or "M. Part-of-Speech String Allowing Temporary Exclusion Tree Construction Unit" to determine the tree value of the temporary exclusion tree using a recursive algorithm. As shown in Figure 1, this is the final operation of "E. Temporary Exclusion Tree Generation Module."

[0100] The "V Temporary Exclusive Tree Tree Value Unit" operation starts from this match value and moves upward in the temporary exclusive tree to find the node value of each node in the temporary exclusive tree. The node value of a match node is the match value. There are two types of node values: tree-like average node value and path-like average node value, and we will explain how to find these in turn. The tree-like average node value TA is found gradually from the child node to the parent node by "dividing the sum of the tree-like average node values ​​TA of the child nodes of that node by the number of child nodes." This is how the tree-like average node value is calculated. The tree-like average node value TA is of course given to each node in the temporary exclusive tree.

[0101] Figures 11(1) and 11(2) explain how to find the parent node value from the child node value in one parent-child relationship in a temporary exclusion tree. In Figure 11(1), node value generation proceeds from match node C1, which has match value c1, and child node Y1 has a node value of y1. If there is no influence from other match nodes, as in this example, the node value of parent node X is (y1) / n, which is the node value y1 of child node Y1 divided by the number of child nodes n.

[0102] A node such as node Y1 that has a tree structure below it or is itself a matching node is called a valid node, and a node other than a matching node that does not have a tree structure below it, such as other child nodes below node Y2, is called an invalid node.

[0103] Figure 11(2) shows the case where the node value propagation results of match node C3 with a match value of c3, match node C1 with a match value of c1, and match node C2 with a match value of c2 extend to the parent-child relationship with node X as the parent node. As a result of tree-like average node value acquisition starting from these match nodes, the tree-like average node value of child node Y1 becomes y1, and the tree-like average node value of child node Y2 becomes y2. Since "the average of the node values ​​of the child nodes is the tree-like average node value of the parent node," the tree-like average node value TA of parent node X is (y1 + y2) / n. Here, the node value acquisition paths from match nodes C1 and C3 merge in the temporary exclusion tree before reaching child node Y1.

[0104] Figure 11(3) is an example of obtaining tree-like average node values ​​in an exclusion tree with three common words, "such(n4)", "be(n11)", and "by(n16)", and two common parts of speech, "AugV(n7)" and "VPX(n12)". For the sake of explanation, each node is assigned a node number. The tree-like average node value of each node is written to the right of the arrow "->".

[0105] The matching value of common words is 1.0, the matching value of the common part of speech "AugV" is 0.7, and that of "VPX" is 0.5. The tree-like average node value TA of nodes n3, n10, and n14 is the same as the matching value of each child node because they each have one child node. For example, the node value TA of node n8 is 0.625, which is the average of the node value of child node n9 and the node value of node n14.

[0106] The sum of the tree-like average type node values ​​TA of the temporary exclusion tree is called the tree-like average type sum TAST, and is defined as the tree-like average type tree value of that temporary exclusion tree. In the case of Figure 11(3), the TAST value, i.e., the tree-like average type tree value, is 11.31875, as shown in the figure.

[0107] In addition, we define the tree-like average value sum TAS. The tree-like average value sum TAS is also given to each node, just like the tree-like average value type node value TA. The tree-like average value sum TAS of a node is defined as "the result of adding the node's own tree-like average value type node to the sum of the tree-like average value type node values ​​TA of the nodes it dominates."

[0108] Note that node A dominates node B when node A is above node B. The tree average sum TAS is temporarily calculated as the sum of the tree average sums TAS of the node's child nodes plus its own tree average node value TA. For example, the TAS value of 6.875 for node n8 in the temporary exclusion tree in Figure 11(3) is calculated as the sum of the TAS value of node n9 (3.75), the TAS value of node n13 (2.5), and the TA value of node n8 (0.625). This value is shown in parentheses around node n8 and its child nodes in Figure 11(3). It is also self-evident that the path average sum TAS at the top node of an exclusion tree is the path average sum TAST.

[0109] The effect of the match value acts linearly when calculating the tree-like average node value at each node in the temporary exclusion tree. On the other hand, the path average node value at each node, called PA, is "Path average value type node value PA" = "Sum of match values ​​of match nodes that the node governs" x "Number of valid child nodes" x "Tree average value type node value TA of the node" The path average node value at the matched node is defined as the matched value itself.

[0110] In the case of Figure 12(1), the only dominating matching node is node C1, so the sum of the dominating matching node values ​​is c1, the only effective child node is node Y1, so the number of effective child nodes is 1, and the tree-like average value type node value is "y1 / n", which is the tree-like node value type node value of node Y1 divided by the number of child nodes n, so the path average value type node value of node X in Figure 12(1) is "c1 x 1 x y1 / n".

[0111] Figure 12(2) shows the case where the propagation results of the path average node values ​​of match node C3 with a match value of c3, match node C1 with a match value of c1, and match node C2 with a match value of c2 extend to a parent-child relationship with node X as the parent node. In addition, the node value propagation paths from match nodes C1 and C3 merge in the temporary exclusion tree before reaching child node Y1. In this case, at node X, the "sum of the match values ​​of the match nodes it governs" is the sum of the match values ​​of nodes C1, C2, and C3, so c1 + c2 + c3, and since there are two effective nodes, nodes Y1 and Y2, the "number of effective child nodes" is 2, and the "tree average node value of that node" is (y1 + y2) / 2, so the path average node value of parent node X is "(c1 + c2 + c3) × 2 × (y1 + y2) / n".

[0112] Figure 12(3) shows the path average node value for each node in the same temporary exclusion tree as Figure 11(3). The path average node value for each node is called PA. For example, the PA of node n8 is 2.5, which is the sum of the match values ​​of the match nodes it dominates, that is, the sum of the match values ​​of nodes n11, n13, and n16. The number of effective child nodes is also 2. Figure 11(3) also shows that the tree average node value of the node is 0.625. Therefore, the path average node value PA of node 8 in this case is 2.5 x 2 x 0.625, or 3.125.

[0113] The sum of the path average type node values ​​PA of the temporary exclusion tree is called the path average type sum PAST and is defined as the path average type tree value of that temporary exclusion tree. In addition to this, the path average type sum PAS is defined. Like the path average type node value PA, the path average type sum PAS is also given to each node. The path average type sum PAS of a node is defined as "the result of adding the sum of the path average type node values ​​PA of the nodes it dominates to its own path average type node value." The path average type sum PAS is temporarily calculated as "the result of adding the sum of the path average type sums PAS of its child nodes to its own path average type node value PA." For example, the PAS value of 10.625 of node n8 in the temporary exclusion tree in Figure 12(3) is calculated as the sum of the PAS value of 5.0 of node n9, the PAS value of 2.5 of node n13, and the PA value of 3.125 of node n8. This value is shown in parentheses at node n8 and its child nodes in Figure 12(3). It is also self-evident that the path average sum PAS at the top node of the exclusion tree is the path average sum PAST. In the case of Figure 12(3), the PAST value, i.e., the path average tree value, is 23.1275, as shown in the figure.

[0114] The tree average sum TAS is used only at the top node of the temporary exclusion tree to calculate the tree average sum TAST. However, there are cases where it is necessary to know information about the subtree of the temporary exclusion tree with a certain node as the top node.

[0115] For example, to calculate the path average value type node value PA of a certain node, it is necessary to know the "sum of the match values ​​of the match nodes that the node dominates." This value is called the dominating node match value sum WGS and is given for each node. Here, too, the relationship between the parent-child nodes in the temporary exclusion tree from which the tree average value sum TAS and path average value sum PAS were calculated is used. The dominating node match value sum WGS is provisionally calculated from the parent-child relationship as the "sum of the dominating node match value sum WGS of the child nodes of that node." For example, the WGS value of 2.5 for node n8 in the temporary exclusion tree in Figure 12(3) is calculated as the sum of the WGS value of 1.5 for node n9 and the WGS value of 1.0 for node n13. Since it is easy to track the dominating node match value sum WGS, it is not shown in Figure 12(3).

[0116] Unlike the tree average sum TAS and path average sum PAS, the dominating node match value sum WGS is not only used at the top node of the temporary exclusion tree, but is also used at intermediate nodes to obtain the path average type node value PA. Since all of the multiplication components of the path average type node value PA of a node are provisionally obtained from its child nodes, the path average type node value PA of a node can also be provisionally obtained from its child nodes.

[0117] In addition to the variables mentioned above, the number of valid nodes contained in the temporary exclusion tree must be calculated to find an index that indicates the quality of the temporary exclusion tree. As mentioned above, the number of valid nodes is defined as a node that has a tree structure below it or is itself a matching node. For this purpose, we define the sum of the number of valid nodes, NCS.

[0118] The NCS value is calculated by adding the value 1 to the sum of the NCS values ​​of the child nodes of the node. The value 1 is necessary to include the node's own count in its NCS value. For example, the NCS value of 8 for node n8 in the temporary exclusion tree in Figure 12(3) is calculated by adding the value 1 to the sum of the NCS value of node n9 (4) and the NCS value of node n13 (3). The NCS value is easy to track, so it is not shown in Figure 12(3). Since the NCS value for the top node in the temporary exclusion tree is the NCS value of the temporary exclusion tree, the NCS value is the NST value of the temporary exclusion tree. Therefore, the NCS value is necessary to calculate the NST value.

[0119] Next, we will discuss the coefficient of variation σ / m. Here, the coefficient of variation σ / m is

[0120]

number

[0121] This is the value defined by the formula shown below. In other words, it is the ratio of the standard deviation σ of the tree-like average node value TA on all nodes of the total number of effective nodes NCST to the average value m.

[0122]

number

[0123] It can be transformed as follows. We have already described how to obtain the variables on the right-hand side of Equation 2(2), the sum of tree average values ​​TAST and the sum of the number of valid nodes NCST. The variable T2ST is the sum of squared tree average values. This is the sum of the squares of the tree average values ​​TA at each node on the temporary exclusion tree for all valid nodes, and can be obtained in the same way as the tree average value operation TAST. Now, all of the variables on the right-hand side of Equation 2(2) can be obtained using the methods described above, so the coefficient of variation σ / m can also be obtained using the same method. In other words, the coefficient of variation σ / m can also be obtained using "V. Temporary Exclusive Tree Tree Value Unit".

[0124] The sum of the internal tree average values ​​TAST and the sum of the path average values ​​PAST of the numerical values ​​described above are used as the tree values ​​of the temporary exclusion tree. The tree values ​​represent the capabilities of the temporary exclusion tree and are used in selecting the analysis results of the input sentence. The value of the sum of the tree average values ​​TAST in Figure 11, 11.31875, and the value of the sum of the path average values ​​PAST in Figure 12, 23.1275, are temporary exclusion tree tree values ​​according to their respective definitions. As a rough guide, it is assumed that the sum of the tree average values ​​TAS should be used for corpora with an average word count of 15 or less, and the sum of the path average values ​​PAST should be used for corpora with a greater number of words. The reason for this is that the path average value type node value PA decays less than the tree average value type node value TA on the upward path from the matching node to the top node of the temporary exclusion tree. These are the tree values ​​of the temporary exclusion tree or exclusion tree generated in "V. Temporary Exclusion Tree Tree Value Unit."

[0125] The coefficient of variation σ / m is a value that indicates the variation in the tree-like average value type node value TA at the valid nodes in the temporary exclusion tree, and is used for filtering purposes, such as using temporary exclusion trees with a σ / m of 0.3 or less, and deleting temporary exclusion trees with a larger coefficient of variation. This is also a value obtained in "V. Temporary exclusion tree tree value unit".

[0126] We have shown above that the tree-like average node value TA, tree-like average sum TAS, path-like average node value PA, path average sum PAS, and dominating node match sum WGS can be obtained sequentially from the match node upwards in the temporary exclusion tree, taking advantage of the fact that the value of a node is determined from the values ​​of its child nodes. Each of the above values ​​can be found simultaneously using a recursive algorithm that instructs lower-level operations to obtain the values ​​of higher-level nodes in the temporary exclusion tree. This is done by the "V. Temporary Exclusion Tree Value Unit" in Figure 1.

[0127] Here we will discuss the "U. Upper Cover Module" present in Figure 1. As shown in Figure 1, this module "accepts as input the OR tree generated in the grammar application part, applies the built-in exclusion tree and temporary exclusion tree to it, and generates an array of conflicting trees as output." Note that this patent describes a method that uses only temporary exclusion trees. As shown in Figure 1, the "U. Upper Cover Module" alone constitutes the upper cover part.

[0128] So far, we have explained how to obtain a temporary exclusion tree based on the identity of word sequences that allow the insertion of other words between the word sequence of the input sentence and the word sequence of the example sentence tree. In other words, we have introduced a tree structure for the example sentence tree, but have simply used word sequences for the input sentence.

[0129] Here, we introduce a tree structure for an input sentence as shown in Figure 13. This is an OR tree for the input sentence "a boy with dogs" that we have used so far. The generation of the OR tree is outside the scope of this patent and occurs in the grammar application section. The example introduced in Figure 7 will be used throughout this specification.

[0130] As can be seen in Figure 13, an OR tree has special nodes called OR nodes, which are represented by the node name "OR". An OR node indicates that it governs the same word sequence. This is expressed as the OR node having the same word span. For example, of the two OR nodes in Figure 13, the top one has a word span consisting of the entire input sentence, "a boy with dogs". Similarly, the bottom one has a word span of "boy with dogs".

[0131] An OR tree is a means of representing multiple trees using a single tree. As shown in Figure 13, each node is numbered beginning with the letter n. Removing an OR node from an OR tree and representing the tree below it separately is called expanding the OR node. Selecting the left subtree below the OR node on the OR tree in Figure 13 results in the expansion shown in Figure 14(1). Selecting the right subtree below the OR node on the OR tree in Figure 13 and then selecting the left subtree below the OR node below that produces the expansion shown in Figure 14(2). Selecting the right subtree below the OR node on the OR tree in Figure 13 and then selecting the right subtree below the OR node below that produces the expansion shown in Figure 14(3). There are no other expansions for the OR tree in Figure 13. As the number of OR nodes in an OR tree increases and as the number of subtrees within a single OR tree increases, an astronomically large number of trees can be represented in a single OR tree. OR trees contain ambiguities resulting from the analysis results generated by the grammar application section. In other words, one of the expansion results in Figure 14 is the most desirable analysis result, and the others are worse analysis results. The part that filters these to obtain one analysis result is the parse tree generator that follows the "U upper cover module."

[0132] The operation of the "U Upper Cover Module" will be explained using examples that include those that have been used so far. The six trees shown in Figure 15 are introduced as examples of temporary exclusion trees. These temporary exclusion trees are used when performing upper covering on the OR tree shown in Figure 13. The construction method for the fourth temporary exclusion tree shown as temporary exclusion tree D in Figure 15 is shown in Figures 7 and 8.

[0133] As shown in Figure 1, the "U. Upper Cover Module" inputs the OR tree generated in the grammar application module as shown in Figure 13, as well as the temporary exclusion tree generated in the temporary exclusion tree generation module and the exclusion tree built into the device. Since the temporary exclusion tree and the exclusion tree are used together in the processing after the "U. Upper Cover Module", the term "exclusion tree" will be used as a general term for the temporary exclusion tree and the device's built-in exclusion tree.

[0134] In the top cover operation, both the independent exclusion tree that does not have information about the covered OR tree and the exclusion tree with the covered OR tree node number that top covers the OR tree in the top cover operation described below are called exclusion trees. There is no confusion between these because they appear in different environments.

[0135] Here, we will explain using as an example the case where the six exclusion trees shown in Figure 15 are exclusion tree inputs for "U. Upper Cover Module." The letters of the name of each exclusion tree are shown near each exclusion tree in Figure 15, and these exclusion trees will be called by their names. For example, an exclusion tree that has the letter B nearby will be called exclusion tree B. Note that the nodes in each exclusion tree are assigned node numbers beginning with the letter t. These exclusion trees are stored in a single array. Here, this array will be called array EXC.

[0136] The following describes the operation of covering an OR tree containing an OR node generated in the grammar application part with an exclusion tree. The covering operation is performed by repeating upper covers as explained below.

[0137] Figure 16 shows the result of the first top-cover operation using the exclusion tree array EXC. The left side of the arrow in Figure 16 represents the operation of top-covering the input OR tree with the exclusion tree array EXC. The containment symbol "⊃" represents the top-cover operation, and indicates that all patterns in the exclusion tree array EXC are used to top-cover the input OR tree.

[0138] The right side of the arrow indicates the result of this top cover. Here, top cover is defined as "the action of declaring that the subtree containing the top node of the OR tree to be covered matches the exclusion tree."

[0139] The array ACR on the right side of the arrow in Figure 16 contains one "alternative exclusion tree group." In this case, the upper cover is successful using exclusion tree A and exclusion tree D in Figure 15, which do not have coverage information at their constituent nodes, and a conflicting exclusion tree group is generated consisting of exclusion tree A and exclusion tree D, which have OR tree coverage information at their constituent nodes. The top nodes of the exclusion trees in one conflicting exclusion tree group are the same, and the top node is enclosed in a frame to indicate that it belongs to one conflicting exclusion tree group. A conflicting exclusion tree group is a group made up of exclusion trees that are incompatible options, and is named after the biological allele chromosomes. A conflicting exclusion tree group array is an array made up of several conflicting exclusion tree groups with different top nodes.

[0140] Each node in an opposition exclusion tree has a description that the node number in the exclusion tree beginning with t covers the node number beginning with n in the OR tree that the node covers. In addition to this, the top node in an opposition exclusion tree has a pattern value beginning with "p=" that the exclusion tree has, as well as blank values ​​beginning with "w=" and "v=". "w=" represents the cumulative number of part-of-speech nodes, and "v=" represents the cumulative tree value. These will be explained later.

[0141] The array OR on the right side of the arrow in Figure 16 is an OR tree array that stores the lower OR trees that are "left uncovered" when the input OR tree is top-covered with an exclusion tree. In the case of Figure 16, when exclusion tree A performs top-covering, the OR tree with node n14 as its top node that was left uncovered, the top-node baggage OR tree with node n5 that was left uncovered by exclusion tree D, and the OR tree with node n10 as its top node are stored in the OR tree array OR. In this way, a subtree of the input OR tree is called an OR tree even if it does not contain an OR node. The OR tree array stores OR trees from the left in the order of occurrence.

[0142] Figure 17 shows the result of the second upper cover operation using pattern array EXC. In this upper cover, the upper cover using exclusion tree B and exclusion tree C in Figure 15, which do not have cover information, is successful, and a conflicting exclusion tree group consisting of exclusion tree B and exclusion tree C, which do have cover information, is generated. This is stored to the right of the conflicting exclusion tree group generated in the first round in the conflicting exclusion tree group array ACR.

[0143] The OR tree used in this upper covering operation is deleted from the OR tree array, and a newly generated OR tree with node n26 as the top node is introduced to the right of the existing OR tree, resulting in the array OR storage contents shown in Figure 17.

[0144] Figure 18 summarizes the results of the third, fourth, and fifth topcover operations using pattern array EXC. This operation is shown on the left side of the arrow in Figure 18. In the third topcover, the topcover using exclusion tree E in Figure 15 is successful, and an exclusion tree E with top node t1⊃n5 is generated in the opposing exclusion tree group array ACR. In the fourth topcover, the topcover using exclusion tree F is successful, and an exclusion tree F with top node t1⊃n10 is generated in the opposing exclusion tree group array ACR. In the fifth topcover, the topcover using exclusion tree F is also successful, and an exclusion tree F with top node t1⊃n26 is generated in the opposing exclusion tree group array ACR. In this way, exclusion tree F in Figure 15 is used twice, generating two exclusion trees F with coverage information. The generated exclusion trees are introduced to the right of the existing data in the order in which they are generated, resulting in the record contents of array ACR in Figure 18.

[0145] Since no new OR trees are generated in the third to fifth upper cover operations, the contents of array OR become empty as shown in Figure 18, and the entire upper cover operation ends here. This upper cover operation has resulted in the contents of array ACR, which contains the opposing exclusion tree group array shown in Figure 18.

[0146] An upper cover operation is an operation that applies an exclusion tree that does not have the coverage information of the exclusion tree array to an input OR tree and repeats the upper cover operation to construct an array of opposing exclusion trees. As mentioned above, an upper cover operation is an operation that "declares that the subtree containing the top node of the OR tree to be covered matches the exclusion tree." The OR tree subtree that has been upper covered in a certain upper cover operation is integrated with the exclusion tree, and a new exclusion tree with coverage information (let's call it exclusion tree A) is generated. The top node of one of the OR tree subtrees outside the exclusion tree's coverage matches one of the bottom nodes of exclusion tree A. This uncovered OR tree subtree becomes the target of future upper covers, and a new exclusion tree (let's call it exclusion tree B) is generated from the part that includes that top node. Exclusion tree B is connected below exclusion tree A in a way that they share nodes on one OR tree; by preparing the pattern appropriately, this can occur at all bottom nodes of exclusion tree A. As a result, by preparing the pattern appropriately, if the upper cover starts from the top node of the input OR tree, the entire OR tree can be covered by the exclusion tree without overlapping covers and without leaving any uncovered subtrees of the input OR tree. In the upper covers of the third to fifth rounds, the exclusion tree also covers without overlapping or gaps.

[0147] The above is an explanation of the operation of the "U upper covering module" present in FIG.

[0148] Before proceeding to the next explanation of "G. Parse Tree Generation Module", we will consider the output parse tree generated from the array of opposing exclusion trees generated in "U. Upper Cover Module".

[0149] Figure 19 shows the fusion of the lowest node of an exclusion tree and the highest node of another exclusion tree with the same OR tree node number in the opposing exclusion tree group array obtained in Figure 18. The thick line indicates fusion. When constructing a tree using this fusion, one exclusion tree must be selected from the opposing exclusion tree group.

[0150] First, select exclusion tree A from the group of opposing exclusion trees with node n1 as its top node. The bottom node n14 of exclusion tree A is fused with the group of opposing exclusion trees with top node n14. Select exclusion tree B from this group of exclusion trees. By merging node n14, the structure shown in Figure 20(2) is obtained.

[0151] Similarly, exclusion tree A is selected from the group of conflicting exclusion trees that has node n1 as its top node. Next, exclusion tree C is selected from the group of conflicting exclusion trees that has node n14 as its top node. Next, exclusion tree F is selected from the group of conflicting exclusion trees that consists of one conflicting exclusion tree that has node n26 as its top node. When nodes n14 and n26 are merged, the structure shown in Figure 20(3) is obtained.

[0152] Next, select exclusion tree D from the group of opposing exclusion trees that has node n1 as its top node. Next, select exclusion tree E and exclusion tree F from the group of opposing exclusion trees that has node n5 and node n10 as their top nodes, respectively. When nodes n5 and n10 are merged, the structure shown in Figure 20(1) is obtained.

[0153] Figures 20(1), (2), and (3) have the same structure as Figures 14(1), (2), and (3), respectively. Each diagram in Figure 14 is the result of expanding the OR nodes of the input OR tree in Figure 13, and simply contains the same information as the input OR tree. In contrast, each diagram in Figure 20 is the connection result of the exclusion tree that covers the input OR tree, and the nodes in Figure 20 with the annotations "v=" and "p=" are the exclusion tree connection boundaries. The numbers indicated by these annotations indicate information about the top node of the exclusion tree that is connected below the connection boundary.

[0154] Among the values ​​in each diagram in Figure 20, the numerical value following the string "p=" is the pattern value of the exclusion tree, which has already been explained. Up until now, we have not explained the value of the cumulative tree value following the string "v=". These values ​​can be given once the selection of all exclusion trees in the group of opposing exclusion trees has been completed and the fusion between the exclusion tree nodes has been completed.

[0155] The cumulative tree value v is the sum of the pattern values ​​p of the exclusion tree that has the node where it exists as its top node and the exclusion trees connected below it. For example, node n5 in Figure 20(3) is assigned a v value of 1.0 because the pattern value p of the exclusion tree that has it as its top node is 1.0. The sum of the pattern value 1.0 of the exclusion tree of node n5, the pattern value 1.0 of the exclusion tree of node n10, and the pattern value 3.5 of the exclusion tree of node n1 is 5.5, so the exclusion tree of node n1 is assigned a cumulative tree value v of 5.5.

[0156] The cumulative tree value v of the top node of the merged tree is the sum of the pattern values ​​of its output analytic trees. In other words, it is the sum of the exclusion tree pattern values ​​when the OR tree output from the upper cover module is covered by the exclusion tree without overlapping covers and without any uncovered input OR tree subtrees. The values ​​in Figures 20(1), (2), and (3) are 6.5, 5.16, and 5.5, respectively. The larger this value, the more appropriate the application of the exclusion tree, and the resulting fused tree is the most appropriate tree. In this case, unless the output tree in Figure 20(1) contains a subtree called a forbidden tree, it will ultimately be output by the analytic tree generator, i.e., the text-example-driven machine translation analysis result selection device.

[0157] Here, we will explain the operation of the "K. Maximum Tree Value Tree Generation Unit." The "K. Maximum Tree Value Tree Generation Unit" included in the "W. Maximum Tree Value Tree Generation Module without Forbidden Trees" will be discussed later.

[0158] If the tree structure of each exclusion tree is represented by a triangle with the name of the exclusion tree shown near each exclusion tree in Figure 18, we obtain the abbreviated representation shown in Figure 21. As mentioned above, the number after p= is the pattern value that each exclusion tree has, and we have already discussed how to obtain temporary exclusion trees.

[0159] Here we will explain cumulative tree values ​​and selected tree values. When all the exclusion trees connected to the lower levels of a certain exclusion tree are selected exclusion trees, the sum of the tree values ​​of the selected exclusion trees connected to the lower levels plus the pattern value p of that exclusion tree is called the cumulative tree value of that exclusion tree. The exclusion tree with the largest cumulative tree value in a group of opposing exclusion trees is called the selected exclusion tree, and the cumulative tree value of that exclusion tree is called the selected tree value. The top node of the exclusion tree group array in Figure 21 has a field for entering the cumulative tree value v as well as the pattern value p.

[0160] The v-value of the exclusion tree in the group of opposing exclusion trees at the top node, i.e., the cumulative tree value, is the sum of the pattern values ​​of the tree constructed from the group of opposing exclusion trees array. In other words, it is the sum of the pattern values ​​of the exclusion trees when the input OR tree is covered with an exclusion tree that does not have coverage information generated in "U. Upper Cover Module" and has no overlapping coverage, leaving no uncovered parts. This is obtained without constructing a tree like the one in Figure 20. The selected exclusion tree in the group of opposing exclusion trees at the top node is the one with the largest sum of pattern values ​​when the input OR tree is covered with an exclusion tree, i.e., it is the part of the desired analytic tree.

[0161] Each diagram in Figure 22 explains the process of calculating the selection tree value for the opposing exclusion tree and exclusion tree group array in Figure 21. The letters a, b, c, d, e, and f in Figure 22 represent the pattern values ​​of exclusion trees A, B, C, D, E, and F, respectively. Figure 22(1) is a diagram of a query for the selection tree value vn1 generated by top node n1. Node n1 queries node n14 for the value of the selection tree value vn14. As shown in Figure 22(2), this query is sent to node n14 as a query from above. Node n14 queries node n26 for the value of the selection tree value vn26. As shown in Figure 22(3), this query is sent to node n26 as a query from above. Because there is no structure connecting to a lower level of exclusion tree F, the pattern value 1.0 of exclusion tree F is returned to the upper level as the selection tree value of node n26, as shown in Figure 22(4). In FIG. 22(4), 1.0 is entered as the cumulative tree value v at the top node of the exclusion tree F.

[0162] As a result, the tree value associated with n14 as the top node is determined as shown in node diagram 22(5). That is, VB is 5.0, the same as the pattern value p of exclusion tree B, and VC is 3.66, which is the sum of the cumulative tree value of node n26 and the pattern value c. As a result, the value of the cumulative tree value VB is returned to the upper level as the selected tree value vn14 of node n14. Here, VB and VC are the cumulative tree values ​​at the top node of exclusion tree B and the top node of exclusion tree C, respectively.

[0163] Figure 22(6) shows that there is a response regarding node n14 in response to the query in Figure 22(1). Figure 22(6) shows a query for the selected tree value vn5 of node n5. As shown in Figure 22(7), this query is brought to node n5 as a query from a higher level. Since there is no structure connecting to a lower level of exclusion tree E, the pattern value 1.0 of exclusion tree E is returned to the higher level as the selected tree value vn5 of node n5, as shown in Figure 22(8). In Figure 22(8), the value 1.0, the same as the pattern value, is entered as the value of the cumulative tree value v of exclusion tree E.

[0164] Also in Figure 22, there is a query for the selected tree value vn10 of node n10. As shown in Figure 22(10), this query is brought to node n10 as a query from a higher level. Since there is no structure connecting to a lower level of exclusion tree F, the pattern value 1.0 of exclusion tree F is returned to the higher level as the selected tree value vn10 of node n10, as shown in Figure 22(11). In Figure 22(11), the value 1.0, the same as the pattern value, is entered as the value of the cumulative tree value v of exclusion tree F.

[0165] As a result, the selected tree value of node n1 is determined as shown in node diagram 22(12). That is, the cumulative tree value VA is the sum of the selected tree value vn14 where node n14 occurs and the pattern value a of exclusion tree A, and the cumulative tree value VD is the sum of the selected tree value vn5 where node n5 occurs, the selected tree value vn10 where node n10 occurs, and the pattern value d of exclusion tree D. As shown in Figure 22(12), the cumulative tree value VA is larger, so this becomes the selected tree value vn1 where node n1 occurs, 6.5.

[0166] The tree with this selected tree value is shown in Figure 22(13), and the prototype representation of this tree is shown in Figure 20(1).

[0167] In Figure 22, the exclusion trees in each opposing exclusion tree group are arranged in descending order of cumulative tree value. Therefore, the tree in Figure 22(13), in which exclusion tree B is connected to the subordinate of exclusion tree A, is the maximum tree value tree, and its tree value is 6.5. The prototype representation of this tree is shown in Figure 20(1).

[0168] The "K. Maximum Tree Value Tree Generation Unit" immediately preceding the "W. Forbidden Tree-Free Analysis Tree Generation Module" in the block diagram of Figure 1 uses recursive operations without constructing a tree with the maximum tree value described here.

[0169] Next, we will explain the operation of the "X. Out-of-area prohibited tree non-inclusion judgment unit." As shown in the block diagram in Figure 1, its components are the "Y. Exclusive tree prohibited tree non-inclusion judgment unit," "N. Component node acquisition element," and "K. Maximum tree value generation unit." There are two types of "X. Out-of-area prohibited tree non-inclusion judgment unit": the top-node type "X. Out-of-area prohibited tree non-inclusion judgment unit" and the all-node type "X. Out-of-area prohibited tree non-inclusion judgment unit," with the latter all-node type "X. Out-of-area prohibited tree non-inclusion judgment unit" being upwardly compatible with the former top-node type "X. Out-of-area prohibited tree non-inclusion judgment unit."

[0170] We will now explain the "X. Out-of-area prohibited tree non-inclusion judgment unit" using the example of the opposing exclusion tree group array we have used so far. Figure 23 shows the output of the "K. Maximum tree value generation unit", which is a reprint of Figure 18. This consists of six exclusion trees, A to F, that make up the opposing exclusion tree group array, and the exclusion trees in each opposing exclusion tree group are arranged in order of cumulative tree value by the action of the "K. Maximum tree value generation unit".

[0171] From this, when an analytic tree is constructed using the "C. Maximum Tree Value Tree Construction Unit", the tree in Figure 24 is obtained. Among these, the one with the largest tree value is the tree in Figure 24(a), and if there is no filtering by the "X. Out-of-Domain Forbidden Tree Non-Inclusion Judgment Unit", this will be output as the analytic tree that is the output of the example-driven machine translation analysis result selection device. The "X. Out-of-Domain Forbidden Tree Non-Inclusion Judgment Unit" deletes analytic trees that contain forbidden trees. The deletion is performed on the opposing exclusive tree group array that is the output of the "K. Maximum Tree Value Generation Unit" without constructing a tree.

[0172] First, the operation of the "Y. Exclusive tree / forbidden tree non-inclusion judgment unit", a component of the "X. Out-of-area forbidden tree non-inclusion judgment unit", will be explained using Figure 25. In the left-hand part of each diagram in Figure 25, the left side of the thick dotted line is the exclusive tree that is the target of the forbidden tree non-inclusion judgment, and the right side of the dotted line is the forbidden tree. In other words, this dotted line represents the judgment input of the "Y. Exclusive tree / forbidden tree non-inclusion judgment unit". Also, the right side of the arrow is the judgment output of the "Y. Exclusive tree / forbidden tree non-inclusion judgment unit".

[0173] In the case of Figure 25(1), the exclusion tree does not contain the forbidden tree, so the "Y. exclusion tree / forbidden tree non-containment judgment unit" outputs "limited yes". In the case of Figure 25(2), the exclusion tree does not contain the forbidden tree within its range, so the "Y. exclusion tree / forbidden tree non-containment judgment unit" outputs "limited no". In the case of Figure 25(3), the exclusion tree range does not contain the forbidden tree, but the forbidden tree extends outside the exclusion tree range, so it is not possible to judge whether it is non-contained within the exclusion tree range. In this case, the "Y. exclusion tree / forbidden tree non-containment judgment unit" outputs the judgment of "not limited" along with the subtree outside the exclusion tree range in the forbidden tree.

[0174] Figure 28 shows the opposing exclusion tree group array after exclusion tree B has been deleted based on the judgment in Figure 25(2). In this array, exclusion tree B has been deleted, and the order of exclusion tree A and exclusion tree D has been reversed due to the new cumulative tree value calculation that accompanies this deletion. The analytic trees obtained from the opposing exclusion tree group array in Figure 28 are the analytic trees in Figures 24(b) and (c), and the tree in Figure 24(a) is deleted because it does not contain the prohibited tree in Figure 26(1). In this case, the tree in Figure 24(b), which has the higher cumulative tree value, is generated as the analytic output.

[0175] This concludes the explanation of the operation of the top node type "X. Out-of-area prohibited tree non-inclusion judgment unit." Next, we will explain the operation of the all node type "X. Out-of-area prohibited tree non-inclusion judgment unit." Here, we will again use the example of the opposing exclusion tree group array used so far.

[0176] Figure 23 is the output of the "K. Maximum Tree Value Generation Unit." The forbidden tree that is the target of the non-inclusion judgment here is shown in Figure 26(2). This forbidden tree is not included in the subtrees that include the top nodes of all the exclusion trees in Figure 23, and the operation of the top node type "X. Out-of-area forbidden tree non-inclusion judgment unit" makes a "limited yes" judgment for all exclusion trees. However, the operation of the "all node type X. Out-of-area forbidden tree non-inclusion judgment unit" judges the non-inclusion of forbidden trees for subtrees that have all nodes of exclusion trees other than the bottom node as their top nodes, so a different result occurs.

[0177] In this case, as shown in Figure 29(1), the "Y. exclusion tree forbidden tree non-inclusion judgment unit" judges that the subtree with node n2 of exclusion tree D as the top node is "not bounded". Also, a forbidden tree subtree outside the domain will occur. In this case, it is necessary to judge whether the exclusion trees connected below exclusion tree D are non-inclusive. The exclusion tree connected below exclusion tree D with node n5 as the boundary is exclusion tree E. Therefore, a forbidden tree non-inclusion judgment is performed between exclusion tree E and the part of the forbidden tree outside the covering domain of exclusion tree D. This is shown in Figure 29(2). In this case, the "X. outside domain forbidden tree non-inclusion judgment unit" judges that it is "bounded no".

[0178] This means that exclusion tree E is not a forbidden tree free tree. Therefore, exclusion tree E is deleted because it is not a forbidden tree free tree. Note that exclusion tree D, which constitutes the part that does not contain forbidden trees, is not deleted in the first stage. This is because there may be exclusion trees other than exclusion tree E that are connected below node n5 of exclusion tree D as the boundary.

[0179] However, in this case, there is no other exclusion tree with node n5 as its top node other than exclusion tree E. Therefore, the group of conflicting exclusion trees with node n5 as its top node disappears. This is the first stage of processing, and Figure 30 shows this state. The group of conflicting exclusion trees with node n5 as its top node has changed to a single node with a cumulative tree value v of 0. Here, exclusion tree D remains.

[0180] Next, a rule is invoked that deletes any exclusion tree connected to a subordinate exclusion tree with a pattern value of 0. This is the second stage of processing, and as a result, the conflicting exclusion tree group array shown in Figure 31 is generated. Exclusion trees D and E have been deleted from the conflicting exclusion tree group array shown in Figure 23, which is the input to the "X. Out-of-area prohibited tree non-inclusion judgment unit," and exclusion tree F, another subordinate exclusion tree connected to exclusion tree D, has also been deleted.

[0181] The analytic trees obtained from the opposing exclusion tree group array in Figure 31 are the analytic trees in Figures 24(a) and (c), and the analytic tree in Figure 24(b) is deleted because it does not include the prohibited tree in Figure 26(2). In this case, the analytic tree in Figure 24(a), which has a high cumulative tree value, is generated as the analytic output, so there is no impact from not including the prohibited tree.

[0182] Let us consider finding an opposing exclusion tree group array that does not contain both of the two forbidden trees in Figure 26 from the opposing exclusion tree group array in Figure 23. To do this, we need to use an all-node type "X. Out-of-area forbidden tree non-containment judgment unit" that is upwardly compatible with the top-level node type "X. Out-of-area forbidden tree non-containment judgment unit." Figure 28, which is an opposing exclusion tree group array that does not contain forbidden trees shown in Figure 26(1), is obtained by deleting exclusion tree D from the input of Figure 23, and Figure 31, which is an opposing exclusion tree group array that does not contain forbidden trees shown in Figure 26(2), is obtained by deleting exclusion tree B, exclusion tree E, and exclusion tree F, which has node n10 as its top node, from the input of Figure 23.

[0183] By deleting exclusion tree D, exclusion tree B, exclusion tree E, and exclusion tree F, which has node n10 as its top node, from the input exclusion tree array in Figure 23, we obtain Figure 32. This is an exclusion tree array that does not contain the two forbidden trees in Figure 26. From this, the only tree that can be obtained using "C. Maximum tree value tree construction unit" is the tree in Figure 24(c), and its tree value is 5.16.

[0184] Of the analytic trees obtained from the opposing exclusion tree group array in Figure 23, the one with the largest tree value is shown in Figure 24(a), with a tree value of 6.5. Of the analytic trees obtained from the opposing exclusion tree group array in Figure 26(1) that does not contain a forbidden tree, the one with the largest tree value is shown in Figure 24(b), with a tree value of 5.5.

[0185] In this case, as shown in Figure 29(1), the "Y. exclusion tree forbidden tree non-inclusion judgment unit" judges that the subtree with node n2 of exclusion tree D as the top node is "not bounded". Also, a forbidden tree subtree outside the domain will occur. In this case, it is necessary to judge whether the exclusion trees connected below exclusion tree D are non-inclusive. The exclusion tree connected below exclusion tree D with node n5 as the boundary is exclusion tree E. Therefore, a forbidden tree non-inclusion judgment is performed between exclusion tree E and the part of the forbidden tree outside the covering domain of exclusion tree D. This is shown in Figure 29(2). In this case, the "X. outside domain forbidden tree non-inclusion judgment unit" judges that it is "bounded no".

[0186] Using Figure 29(1), we will explain the role of the "N. Component Node Acquisition Element" in the "X. Out-of-area Forbidden Tree Non-Inclusion Judgment Unit." In the all-node type "X. Out-of-area Forbidden Tree Non-Inclusion Judgment Unit," for the exclusion tree that has node n1, the top node, as its top node, it must judge whether or not the subtrees that have all nodes other than the bottom node of that exclusion tree as their top nodes are forbidden tree non-inclusion. In the case of Figure 29(1), it is necessary to enumerate nodes n1, n2, n3, n7, and n8. This is done by the "N. Component Node Acquisition Element."

[0187] We will now explain the role of the "K. Maximum Tree Value Tree Generation Unit" in the "X. Out-of-area Prohibited Tree Non-Inclusion Judgment Unit." In the first-conflict exclusive tree processing method, the "K. Maximum Tree Value Tree Generation Unit" is used to arrange the exclusion trees in each conflict exclusive tree group being processed in descending order of cumulative tree value. Then, by giving priority to applying prohibited trees to trees that are likely to occur as a result of analysis, the number of calculations can be reduced.

[0188] The "K. Maximum Tree Value Tree Generation Unit" and "C. Maximum Tree Value Tree Assembly Unit" following the "X. Out-of-area Forbidden Tree Non-Containment Judgment Unit" select the tree with the maximum tree value from the opposing exclusive tree array that has been determined to not contain a forbidden tree, and then assemble the tree using the following "C. Maximum Tree Value Tree Assembly Unit." This tree is the analytic tree that is the output of the Text Example Driven Machine Translation Analysis Result Selection Device.

[0189] Here we will provide an overview of the operation of each part in the block diagram of the machine translation result selection device shown in Figure 1. First, we will trace the process leading up to the generation of exclusion tree D from the exclusion trees shown in Figure 15. First, based on the outputs of the "P. Matching Matrix Creation Unit" and the "N. Adjacent Matching Word Detection Element," the "D. Dominating Node Detection Element" is applied to the example sentence tree with the common word string shown in Figure 7, which is detected by the "S. Common Word String Detection Unit," to obtain the example sentence tree with dominating markers shown in Figure 8(1). Then the "T. Temporary Exclusion Tree Construction Unit" is applied to this to obtain the temporary exclusion tree shown in Figure 8(2). This exclusion tree is called exclusion tree D.

[0190] The temporary exclusion tree obtained in this way is given a value of 3.5 by "V. Temporary exclusion tree tree value unit." This is how exclusion tree D was generated.

[0191] The exclusion tree D having the pattern value 3.5 obtained in this way and other exclusion trees introduced for the purpose of explanation form an exclusion tree array consisting of six exclusion trees, exclusion trees A to F, as shown in FIG.

[0192] Thereafter, the operation of generating a single output parse tree is performed by the action of this exclusion tree arrangement from an OR tree containing multiple parse trees shown in the top row of Figure 16. Note that this OR tree is introduced for the purpose of explanation and is generated using technology outside the scope of this patent.

[0193] If we then perform an upper cover on the OR tree in Figure 16 using the "U. Upper Cover Module" that uses the exclusion tree array in Figure 15, we will obtain the opposing exclusion tree group array shown in Figure 18. The node number of the covered OR tree is entered at each node of the exclusion tree in this opposing exclusion tree group array, and OR tree nodes that are covered by the top node of the exclusion tree are grouped together as an opposing exclusion tree group.

[0194] Next, we will explain the operation of the top node type "X. outside-area prohibited tree non-inclusion judgment unit". Figure 26(1) is a prohibited tree used to explain the operation of the top node type "X. outside-area prohibited tree non-inclusion judgment unit". The prohibited tree non-inclusion judgment of Figure 26(1) is performed on the opposing exclusion tree group array of Figure 23. The top node type "X. outside-area prohibited tree non-inclusion judgment unit" judges that the subtree including the top node of the exclusion tree does not contain a prohibited tree.

[0195] Among the exclusion trees in the opposing exclusion tree group array in Figure 23, the "Y. exclusion tree forbidden tree non-inclusion judgment unit" judges that the forbidden tree is not included as "bounded yes" for all exclusion trees other than exclusion tree A. As we saw earlier, for exclusion tree A, the judgement is "not bounded" as shown in Figure 27(1).

[0196] In this case, it is necessary to perform a non-inclusion judgment using the "Y. exclusion tree forbidden tree non-inclusion judgment unit" for the exclusion trees connected below exclusion tree A. One of the exclusion trees connected below exclusion tree A with node n14 as the boundary is exclusion tree B, and a non-inclusion judgment is performed for this exclusion tree. Since a forbidden tree inclusion is performed for the outside of the domain of this first exclusion tree, the word "outside of domain" is added to the "X. outside-domain forbidden tree non-inclusion judgment unit."

[0197] A forbidden tree non-containment check is performed between exclusion tree B and the part of the forbidden tree other than the part covered by exclusion tree A. This is shown in Figure 27(2). In this case, the "X. Outside-area forbidden tree non-containment check unit" generates a "limited no" check. This means that exclusion tree B is not a forbidden tree non-container. Therefore, exclusion tree B is deleted because it is not a forbidden tree non-container. However, exclusion tree A, which constitutes a part of the forbidden tree non-container, is not deleted. This is because there may be an exclusion tree other than exclusion tree B connected below node n14 of exclusion tree A as the boundary. In fact, in this case, exclusion tree C exists.

[0198] Figure 19 shows the fusion of the lowest node of an exclusion tree with the highest node of another exclusion tree that has the same OR tree node number in the opposing exclusion tree group array obtained in Figure 18. The thick line indicates fusion. The opposing exclusion tree group represents the selection of one exclusion tree from an opposing exclusion tree group. By applying all selection methods to construct trees, the three trees shown in Figure 20 are obtained.

[0199] 20, nodes that have a node number, v value, and p value are boundary nodes of the exclusion trees that make up the tree and contain information about the exclusion trees connected below the boundary node. Of these values, the node number is the node number of the OR tree that the exclusion tree covers, the v value is the cumulative tree value of the node, and the p value is the pattern value of the exclusion tree with that node as the top node.

[0200] The v-value, which is the cumulative tree value of node NOUN(n26) in the tree in Figure 20(2), is 1, which is the pattern value of the exclusion tree F connected below it. The v-value of node NP(n14) in the tree in Figure 20(2) is 3.66, which is the sum of the pattern value of exclusion tree F and the pattern value of exclusion tree C. The v-value of node NP(n1) in the tree in Figure 20(2) is 5.16, which is the sum of the pattern value of exclusion tree F, the pattern value of exclusion tree C, and the pattern value of exclusion tree A. The v-value, which is the cumulative tree value of a tree, is the v-value at its top node.

[0201] The "K. Maximum Tree Value Unit" is the part that calculates the cumulative tree value v. This assigns a value to the right side of "v=", which is blank in the opposing exclusion tree group array in the format of Figure 18, and at the same time, the "K. Maximum Tree Value Unit" performs the process of arranging the exclusion trees in each opposing exclusion tree group in descending order of v-values. In particular, since the v-value at the top node is the tree value of that tree, the exclusion tree arranged at the left end in the opposing exclusion tree group of the top node is the component part of the tree with the maximum tree value. Figure 22 shows the principle behind this.

[0202] Next, the "W. Analysis tree generation module that does not contain forbidden trees" and its constituent part, the "Y. Exclusion tree and forbidden tree non-containment judgment element", are shown.

[0203] The "Y. exclusion tree / forbidden tree non-containment judgment element" generates a "bounded no" judgment when the exclusion tree does not contain a forbidden tree, as shown in Figure 25(2), and generates a "not bounded" judgment when the exclusion tree does not contain a forbidden tree subtree but the forbidden tree extends outside the area below the exclusion tree, as shown in Figure 25(3). In other cases, a "bounded yes" judgment is generated.

[0204] In the "Y. Exclusion Tree / Forbidden Tree Non-Inclusion Judgment Element," in the case of the top node type, the top node of the exclusion tree and the top node of the forbidden tree must match when judging whether the forbidden tree is included or not, as in Figure 25(1). However, in the case of the all node type, they do not need to match, as in Figure 29(1).

[0205] Here, we introduce the definition that an opposing exclusion tree group array that does not contain a forbidden tree is an analytic tree constructed from the opposing exclusion tree group array that does not contain a forbidden tree.

[0206] The "W. Analysis Tree Generation Module Not Containing Forbidden Trees" receives as input the array of conflict exclusion trees shown in FIG. 23, which is the output of the "K. Maximum Tree Value Unit", and generates an array of conflict exclusion trees not containing a given forbidden tree.

[0207] The opposing exclusion tree group array not including the forbidden tree of Figure 26(1) is shown in Figure 28, and the analytic trees obtained from the opposing exclusion tree group array of Figure 28 are the analytic trees of Figures 24(b) and (c), with the tree of Figure 24(a) being deleted. The opposing exclusion tree group array not including the forbidden tree of Figure 26(2) is shown in Figure 31, and the analytic trees obtained from the opposing exclusion tree group array of Figure 31 are the analytic trees of Figures 24(a) and (c), with the tree of Figure 24(b) being deleted. The opposing exclusion tree group array not including the two forbidden trees of Figure 26 is shown in Figure 32, and the analytic tree obtained from the opposing exclusion tree group array of Figure 32 is only the analytic tree of Figure 24(c).

[0208] The "W. Forbidden Tree-Free Analysis Tree Generation Module" has the "K. Maximum Tree-Value Tree Generation Unit" and the "C. Maximum Tree-Value Tree Construction Unit" as its components, and its output is the output of the example-driven machine translation analysis result selection device.

[0209] The analytic tree selected from the opposing exclusive tree group array generated by the "K. Maximum Tree Value Tree Generation Unit" on the input side of the "W. Forbidden Tree Free Analytic Tree Generation Module" because it has the maximum tree value is the tree in Figure 24(a), and its tree value is 6.5. The analytic tree that does not contain two forbidden trees is the tree in Figure 24(c), and its tree value is 5.16. This tree is the analytic tree that does not contain forbidden trees and has the maximum tree value.

[0210] Reference 3 describes a word sequence to word sequence (seq2seq) translation method using a neural network, and reference 4 shows how to use this method for English to English syntactic translation, i.e., sentence analysis. This sentence analysis method is called the seq2seq sentence analysis method here.

[0211] Figure 33 shows two ways of combining the example-driven machine translation analysis result selection device and the seq2seq translation method. Figure 33 shows signal paths rather than a flow chart. In the two diagrams in Figure 33, KATE is the example-driven machine translation analysis result selection device. Here, the set of example trees held by the example-driven machine translation analysis result selection device is shown separated from the KATE main body to make it clear that it provides information specifically to the KATE main body. This set of example trees is denoted as ETP. The seq2seq translation method is denoted as STS. This is assumed to be a state in which learning has already been performed on the example tree set ETP.

[0212] In Figure 33, x is a common input for the example-driven machine translation analysis result selection device KATE and the seq2seq translation method STS, and is a word string such as an English sentence. yk is the parse tree for the input x generated by the example-driven machine translation analysis result selection device KATE. yk is expressed as an S-expression in the form of a word string. ys is the parse tree output for the input x of the seq2seq translation method in the form of an S-expression.

[0213] The exact match segment word string generation unit is shown as CCS. CCS is the unit that generates the exact match segment word string between the output yk of the example-driven machine translation analysis result selection device KATE, which is a word string, and the output ys of the seq2seq sentence analysis method STS, which is also a word string. An exact match segment word string is a continuous matching word string with no intervening mismatches. It is easier to obtain an exact match segment word string than a matching word string with intervening mismatches, as shown in Figure 7.

[0214] The subtree extraction unit PTC extracts the matching subtree between the output yk of the example-driven machine translation analysis result selection device KATE and the output ys of the seq2seq sentence analysis method STS from the output of the perfect match subword generation unit CCS. This extraction is performed by extracting word strings with the same number of open and close parentheses.

[0215] First, we will show a method for improving the accuracy of the example-driven machine translation analysis result selection device shown in Figure 33(1). For one input sentence X, multiple exact subword sequences Z are typically generated by CCS between the sentence analysis result output yk of KATE and the sentence analysis result output ys of STS. These exact matching word sequences typically generate multiple matching subtrees CT. The tree structure in Figure 33(1) is an example of a matching subtree. In the method shown in Figure 33(1), this matching subtree is temporarily added to the example tree already in the example tree pool ETP for the input sentence X, and the sentence is analyzed by KATE. Since the generated matching subtree is a subtree common to KATE and STS, which are two completely different analysis systems, it is expected to be reliable. Therefore, the sentence analysis results of KATE that include this matching subtree as a subtree in the analysis result are expected to be more accurate. The curve in Figure 33(1) indicates the addition of a matching subtree.

[0216] Next, we will describe a method for finding incremental AETPs for example trees included in the example tree pool ETP, as shown in Figure 33(2). In this case, as shown in Figure 33(2), a system consisting of KATE, STS, CCS, and PTC is run on examples from the example set Xpool that is not included in the example tree pool ETP to obtain many matching subtrees, which are then stored in the additional example tree pool AETR as increments to the example tree. This method allows for more reliable example trees to be obtained than using the analysis results of KATE or STS alone. Furthermore, matching subtrees can be manually selected as needed. In the case of KATE, simply adding an additional example tree increment to the example tree ETP is expected to generate a more accurate parse tree. In the case of STS, further learning about the incremental AETP is expected to generate a more accurate parse tree.

[0217] The above are two methods that use the combined operation of the example-driven machine translation analysis result selection device and the seq2seq translation method.

[0218] This concludes the explanation of [Outline of the functions of individual means for solving problems].

[0219] [Detailed description of the invention] An overview of the operation of the present invention was previously explained in "Outline of Functions of Individual Means for Solving Problems." Below, the operation of the "Example-Driven Machine Translation Analysis Result Selection Device" will be explained in the order of this overview explanation.

[0220] FIG. 34 is a re-display of FIG. 1 relating to "Configuration of the Example-Driven Machine Translation Analysis Result Selection Device of the Present Invention" shown in "Interconnection Between Individual Means for Solving the Problem."

[0221] The detailed operation of the "P. Match Matrix Creation Unit" belonging to the "Temporary Exclusion Tree Generation Unit" in Figure 34 will be described. The "P. Match Matrix Creation Unit" is the means for realizing the calculation of Equation 1, which is re-expressed as Equation (1).

[0222] As shown in Figure 2, the word sequence of the input sentence is represented as aj (j is the word number) and arranged vertically on the left side of the matrix frame. Here, to simplify the description, single letters of the alphabet are used instead of words. The numbers to the left of each letter are the character numbers. This common word sequence detection method is equally applicable to characters and words, so from here on, when describing the common word sequence detection algorithm, we will use the terms word and character interchangeably.

[0223] The sample characters are represented as bi (i is the character number) and arranged horizontally at the top of the matrix. The number above each character is the character number.

[0224] Next, each element of the matrix is ​​constructed using formula (1). p in formula (1) is the value of the matrix element, and will be called the matrix element value. The first of the following subscripts is the coordinate on the vertical axis (i), and the second is the coordinate on the horizontal axis (j). The 0 written in the corner of the matrix frame indicates that this point is the origin of the matrix element values, which is 0. In this matrix, the matrix element value of row 0 and column 0 is defined as 0. The construction of the matrix element values ​​begins with p1,1, and scanning horizontally, and when it reaches p1,5, scanning the next row from p2,1 is continued up to p2,7, and so on until it reaches p5,5.

[0225] In formula (1), if there is no match between the character on the j side and the character on the i side during operation, the larger of the matrix element values ​​above or to the left of the element is used as the current matrix element value (formula 2), and if there is a match, the matrix element value on the upper left plus 1 is used as the current matrix element value (formula 1).

[0226] As the matrix element value at the top left is 0, a match for the character "a" occurs, and matrix element value p1,1 becomes 1. Continuing with p1,2 and p1,3, a match for the character "a" occurs at p1,4, but as the matrix element value for the "0th row" is 0, the matrix element value remains 1. The operation reaches matrix element value p2,3, where a match for the character "b" occurs and the matrix element value at the top left is 1, so p2,3 becomes 2. The matrix element values ​​are confirmed sequentially below, and up to matrix element value p5,5, the value of p4,4 at the top left is 3, so matrix element value p5,5 becomes 4. The matrix element values ​​when the characters in the input string and example string match are circled for emphasis.

[0227] Figure 35 is a flowchart of the "P. Match Matrix Creation Unit" present in Figure 34. This flowchart realizes the operation of equation (1).

[0228] In Figure 35, operation P1 gives the number of rows I and the number of columns J of the match matrix, then operation P2 sets all p values ​​in the 0th row and 0th column outside the frame of the l matrix to 0, and then operation P3 sets the i value to 1 and makes the first row to be handled the first row.

[0229] Operation P4 determines whether values ​​have been written to a predetermined number of rows. If the answer is yes, the operation ends and the written matrix is ​​output in operation P10. If the answer is no, operation P5 sets the value of j to 1 to start writing from the first column of the row. Operation P6 determines whether values ​​have been written to the entire row. If the answer is yes, operation P9 adds 1 to the value of i to write the next row. If the answer is no in operation P6, operation P7 writes the matrix element value pi,j according to equation (1). That is, if the input text character ai and the example text character bj match, the matrix element value pi,j in the upper left corner is added by the first formula of equation (1) and written as the matrix element value pi,j. If there is no match, the larger of the matrix element values ​​from the left or the top corner is written as the matrix element value pi,j according to the second formula of equation (1). The next operation P8 shifts the column to be written to the right by one position. The operation following operation P8 is operation P6, which determines whether all columns in that row have been written. If the determination of operation P6 is yes, operation P9 determines that writing of the i-th row is complete and adds 1 to the i value to write the next row. In this case, the next operation is operation P4, which determines whether all rows have been written. If the determination of operation P4 is no, the operation moves to operation P5, which writes the next row, and if the determination is yes, the operation moves to operation P10, which outputs the completed match matrix.

[0230] Of the operations in Figure 35, all except operation P7 are for scanning the match matrix, and operation P7 performs the calculation of equation (1) for the i and j values ​​determined by the scan. Since the scanning calculations in the flowchart have been made clear from the above explanation, we will not trace the calculations for determining the values ​​in Figure 2.

[0231] The flowchart in FIG. 35 has a gateway function for the entire "E. Temporary Exclusion Tree Generation Module" to which "P. Match Matrix Creation Unit" belongs, in addition to the match matrix construction function.

[0232] The "P. Matching Matrix Creation Unit" in Figure 34 is used to create a matching matrix as shown in Figure 2, given an input string and an example string. Of course, this method can be used as is to create a matching matrix between an input word string and an example word string.

[0233] For example, as shown on page 111 of "Algorithms Written in C by Teruo Hikita, published by Science Publishing, December 1995," the maximum value of pij of the circled matching words in the matching matrix shown in Figure 2 indicates the number of common characters (words) that the longest common subsequence can have. However, further calculations are required to find the position of the common word.

[0234] The following shows the calculation of "N. Adjacent Word Detection Element" in FIG. 34, which is performed using the output of "P. Match Matrix Creation Unit" in FIG.

[0235] The first step of this operation is to draw an arrow from the matched word with matrix element value pij in row i and column j of the completed match matrix as shown in Figure 2 to "the matched word above row i and to the left of column j with a matrix element value that is one less than row i and column j." If there are multiple such matched words, multiple arrows are drawn from the matched word with matrix element value pij.

[0236] By doing this, a set of arrows like the one shown in Figure 36(a) can be obtained from the matched word matrix in Figure 2. For example, arrows are drawn from the matched word at position (4,4) on the matched matrix, with a matrix element value of 3, to two matched words at positions (2,3) and (3,2), with a matrix element value of 2.

[0237] Here, the matching characters on the match matrix are represented as in Figure 36(b-1). Figure 36(b-2) shows the result after removing the matrix element values ​​pi,j. The format in Figure 36(b-1) is used in the calculation of "N. Adjacent word detection element", and the format in Figure 36(b-2) is used in the calculation of "S. Common word string generation unit". This is called the match node representation. Figure 36(c) shows each match node in Figure 36(a) described in match node representation. Note that the representation in Figure 36(b-2), which removes the matrix element value pij of the match node from the match node representation, is called the match node index. Hereinafter, a match node index of the form (i,j) will be specified for each match node.

[0238] Arrows coming out of a node in the matching matrix can be represented as a tree consisting of a parent and, in general, multiple children. Each diagram in Figure 36(d) represents arrows coming out of each matching node. For example, Figure 36(d-4) represents arrows going from node (4,4) to node (2,3) and node (3,2). However, Figure 36(d-7) relates to arrows coming out of node S outside the matching matrix in Figure 36, and will be explained later.

[0239] Each tree in Figure 36(d) can be represented by the two-dimensional array in Figure 36(e). This is called a parent-child relationship table. It is necessary when handling the structure in Figure 36(d) in an algorithm. In Figure 36(e), the parent node in Figure 36(d) is placed at the left end of each row, and the child node is placed to the right of it. Parent nodes and child nodes in each row are separated by commas, and so are the child nodes themselves. For example, the fourth row from the bottom in Figure 36(e) represents the tree in Figure 36(d-4), with nodes (2,3) and (3,2) placed to the right of node (4,4). Each column of the two-dimensional array in Figure 36(e) represents one parent-child relationship. This two-dimensional array is stored in match element register M. In other words, Figure 36(c) is the content of match element register M.

[0240] Figure 37 is a flowchart of the "N. Adjacent Matching Word Detection Element" in Figure 34. This flowchart is an algorithm that inputs a matching matrix and finds the parent-child relationship in the format of Figure 36(e). The parent-child relationship in the format of Figure 36(e) is the adjacent relationship of the matching words in the character string.

[0241] The operation of this flowchart will be explained. The operation starts with operation N1, and the next operation N2 performs a full scan of the match matrix in the format of Figure 36(a) and collects all match nodes in the match matrix that have the format of Figure 36(c). The results are stored in the "match element register M" which shows the parent-child relationship in Figure 36(c).

[0242] Operation N3 is a determination operation for extracting the contents of match element register M one by one from the beginning until the contents of match element register M are empty.

[0243] Operation N4 is to construct a parent-child relationship in the format of FIG. 36(d) from the matched words having the format "(i, j: p)" extracted from the matched element register M.

[0244] In operation N4, first, the position (i, j) or match node index is obtained from the match node to be processed, which has the format of the above "(i, j: p)" or match node expression. Next, all match nodes in Figure 36(c) are searched for "m

[0245] If the matching node to be processed does not have a matching node that is “above row i and to the left of column j and has an element value that is one less than that of the matching node to be processed,” it is deleted without being introduced into two-dimensional matrix A.

[0246] When all the matching nodes in Figure 36(c) have been processed, the parent-child relationships, i.e., the adjacent matching node relationships, in the format of Figure 36(e) are obtained in two-dimensional matrix A. However, the bottom row for node S has not yet been obtained.

[0247] ​After processing of these matching nodes on the matching matrix is ​​completed, operation N3 determines that matching element register M is empty and the operation moves to operation N5. In operation N5, two-dimensional matrix A is scanned, and the leftmost node of the row whose element value is equal to or greater than the design length L and does not exist anywhere other than the leftmost node of each row, i.e., the parent node, is extracted and placed to the right of node S. As a result, all rows in Figure 36(e) are completed.

[0248] The "N. adjacent matching word detection element" in FIG. 34 generates the node adjacency relationships in the format of FIG. 36(d) or FIG. 36(e) from the input string and example sentence tree string described above.

[0249] In Figure 36(a), the partial relationship between a node with a certain matrix element value and the next matrix element value is defined by each relationship in Figure 36(d). Figure 36(a) shows a continuous relationship connecting the partial relationships. For example, the sequence of nodes (5,5), (4,4), (2,3), and (1,1) is the longest common subsequence in the aforementioned Hikita paper. The "S. Common Word String Generation Unit" of the present invention aims to automatically find common subsequences of a length greater than a certain design length, in addition to the longest common subsequence. To achieve this, as shown in Figure 36(a), a start node "S" is placed at the bottom right outside of the matching matrix, and an arrow is extended from node S to element values ​​greater than the design length L. However, the arrow is not extended to nodes with matrix element values ​​greater than the design length L that are child nodes of other nodes.

[0250] Figure 36(a) shows the case where the design length is 3, and due to the above operation, arrows extend from node S to nodes (3,5) and (5,5), which have a design length of 3 or more. Node 7 (4,4) also has an element value greater than the design length L, but since it is a child node of node (5,5), there is no arrow from node S. Node (5,2) is not a child node of any node, but has an element value smaller than the design length, so there is no arrow from node S.

[0251] Observing Figure 36(a), we can see a path consisting of node S, (5,5), (4,4), (2,3), and (1,1). This is a common string containing four characters. Each parent-child relationship in Figure 36(d) merely represents this path locally. A common string can be obtained by combining local paths to form a global path. This operation is performed by the "S. Common Word String Detection Unit" in Figure 34. Before explaining the details of its operation, we will explain the effect of constructing a global path using example inputs and outputs of this unit.

[0252] Each diagram in Figure 38(a) is a local structure representing the parent-child relationships in Figure 36(a), and is obtained by removing the matrix element value information from each diagram in Figure 36(d). Figure 38(b) is obtained by removing the element value information from Figure 36(e), which summarizes all the parent-child relationships in Figure 38(a) in the form of a matrix. The parent-child relationships in Figure 38(b) are input to the "S. Common Word String Detection Unit." In this way, once the parent-child relationships are obtained, the matrix element value pij information that existed in Figure 36(e) becomes unnecessary.

[0253] Figure 38(c-1) shows the result of combining parent-child relationships. However, the two nodes connected by a thick line are the same node. By merging the same nodes in Figure 38(c-1), a tree with node S as the top node, shown in Figure 38(c-2), is obtained. By tracing the path from the bottom node of this tree to just before the top node S, a set of common strings can be obtained. This is shown in Figure 38(d-1). Figure 38(d-1) is the output of the "S. Common Word String Detection Unit." We will call this the matching node path.

[0254] Figure 38(d-2) is obtained by extracting only the i value, i.e., the character number of the input string, for each path in Figure 38(d-1). The first path in Figure 38(d-2) is (1, 2, 3), which shows that the first, second, and third characters in the input string are matching characters (words). The central path in Figure 38(d-2) shows that the first, second, fourth, and fifth characters in the input string are matching characters.

[0255] Similarly, we extract only the j value, i.e., the character number of the example string, for each path in Figure 38(d-1) to obtain Figure 38(d-3). The first path in Figure 38(d-3) is (1, 3, 5), which shows that the first, third, and fifth characters in the example string are matching characters (words).

[0256] The parent-child relationship in Figure 38(c-1) does not include the structure in Figure 38(a-5). This is because, as can be seen in Figure 36(a), the path extending from node S does not include node (5,2), which only generates short path lengths.

[0257] The "S. common word string detection unit" generates each path in Figure 38(d-1) directly from the parent-child relationships in Figure 38(b) without using the global tree structure shown in Figure 38(c-2). Figure 38(c-2) is a diagram to explain the relationship between the parent-child relationships at the matching nodes and the global tree structure as seen in Figure 36(a).

[0258] Up until now, matched nodes have been described in the format (i,j,pi,j) in Figure 36(b-1), as seen in Figure 36(c). However, as mentioned above, once the local relationship in Figure 36(d) is obtained, the element value pij of the matched node is no longer necessary, so from now on, matched nodes will be described in terms of the matched node coordinates in Figure 36(b-2). The word "coordinates" is used because matched nodes are specified by their coordinates in Figure 36(a). Although the word "name" could be used instead of coordinates to specify the layer, this word is used because matched nodes are defined by their coordinates in Figure 36(a).

[0259] Figure 39 is a flowchart of one layer in the "S. Common Word String Detection Unit" in Figure 34 that finds common word strings in the format of Figure 38(d). Since a given layer must process only one specific matching node, the name of each layer is the same as the coordinates of the matching node it must process. When processing a specific layer, the name of that layer is called "self coordinates," and the name of the upper layer that called that layer is called "upper coordinates." A matching node with upper coordinates is physically located above the matching node with self coordinates in the structure of the format of Figure 38(d).

[0260] In operation S1, the coordinates of the matched node to be handled in self coordinates and the coordinates of the caller are given from the upper coordinates.

[0261] In operation S2, it is determined whether the node with the self coordinates given in operation S1 has a child node based on the parent-child relationship in the format of Figure 36(c), which is the input of "S. Common Word String Detection Unit". If there is no child node, the search has reached its end, and operation S11 is performed. In other words, only the self coordinates are generated as the path value, and the search returns to the upper coordinates together with this value. The end point of the search is a node such as the matching single node marker (1,1) in Figure 36(a).

[0262] The next operation S3 determines whether there is a value in the path value array of that layer. For example, in Figure 36(a), when the route search reaches node S, (5,5), (4,4), (2,3), and node (2,3), the route search for node S, (3,5), (2,3), and (1,1) has already been performed, so there is no need to search for routes beyond node (2,3). This operation is to stop the search from that point onwards. The path value array remembers past searches. If there is a value in the path value array, no further operations are performed and the path value array is retained and the process returns to the upper layer by operation S12.

[0263] The next operation S4 is an operation to extract child nodes based on the parent-child relationships that are input to the "S. common word string detection unit" in the format of FIG. 38(b), and generally store multiple child node numbers in a child node array.

[0264] The child nodes in the child node array obtained in operation S4 are extracted from the child node array in order from the top of the array. In the next operation S5, it is determined whether the processing of all child nodes has been completed and the child node array is empty. If it is empty, operation S12 returns to the upper coordinate system while retaining the path value array constructed so far.

[0265] In the next operation S6, one child node is extracted from the child node array, and in the next operation S7, the lower layer is called to process that child node. The coordinates of the extracted child node and the self coordinates of this layer are given to the lower layer.

[0266] After that, the process waits for the operation of the layer of the lower coordinate to be completed. When the operation for the lower coordinate is completed, the contents of the path value array of the lower layer provided from the lower layer are received in operation S8 and stored in temporary register T.

[0267] The data stored in the temporary register T is generally a set of multiple unit paths. In operation S9, the self coordinates of the current layer are added to the end of the paths that make up each unit register. This expresses the self coordinates of the current layer as a new component of these unit paths.

[0268] In operation S10, the contents of this temporary register T are added to the end of the paths, generally multiple paths, generated from the previously processed child node already stored in the path register P. Then, the operation returns to operation S5 to check whether there are any unprocessed child nodes.

[0269] As is clear from the above, one layer in this "S. Common Word String Detection Unit" treats each child node in the child node array as unrelated to each other. As a result, a tree like the one in Figure 38(c-2) does not appear in the processed data, and only a matching node sequence like the one in Figure 38(d-1) appears.

[0270] In this way, the operation of this layer starts with operation S1 instructed by the upper layer and ends with operation S12 which reports to the upper layer. In most cases, the operation of one layer, i.e., one matching node, is completed once, but there are times when one layer is called more than once, such as the search of nodes S, (5,5), (4,4), (2,3) after the path search of nodes S, (3,5), (2,3), (1,1) mentioned above. In this case, the operation passes through the path of operation S1, operation S2, operation S3, operation S12 and does not reach any other operations.

[0271] We will now describe the structure of each diagram in Figure 40, which shows the process of calculation for the "S. Common Word String Detection Unit" flowchart in Figure 39. Each layer of the common word string detection unit has three unique numerical values: "self coordinates," "superordinate coordinates," and "path value array." The path value array is generally a collection of multiple matching node coordinate arrays stored in the path value register P of that self coordinate.

[0272] The contents of the register that stores the upper coordinates are shown in square brackets "[]" after the string "A+self coordinates". The contents of the register that stores the "self coordinates" are shown in square brackets "[]" after the string "S+self coordinates". Also, the path value array is shown in square brackets "[]" after the string "P+self coordinates".

[0273] In addition, the contents of the register that stores the "child node array" that occurs during each operation are shown in square brackets "[]" after the string "C+self coordinate". A "child node array" is a child node array that has the node of the self coordinate as its parent in the parent-child relationship in the format of Figure 38(b).

[0274] Similarly, the contents of the register that stores the "temporary path array" that is generated temporarily is shown enclosed in square brackets "[]" after the letter T. The "temporary path array" is the basis for creating the "path value array" and is used in operations S8, S9, and S10 in the common word string detection unit algorithm in Figure 39. Only the contents of register T are reset sequentially, so there is no need to specify it using the self-layer index.

[0275] Figure 40(a) shows the structure of each action representation in each layer described above. The title "Self coordinates + action name" is placed in the upper left corner of each layer notation. The output generated from each layer is shown in quotation marks "" after the title.

[0276] Note that matching node coordinates such as (1,1) and (5,2) are difficult to visualize for the purposes of this explanation, so they are displayed with the replacement shown in Figure 40(b). For example, matching node coordinates (3,2) are replaced with the number 4. These replacement numbers correspond to the scanning order when scanning the matching nodes from the top left to the bottom right in Figure 36(a). Figure 38(d-1) is the output of the common word string detection unit, and after the corresponding output is generated, the representation is restored to Figure 38(d-1). Each figure in Figure 40(c) is the result of applying the replacement shown in Figure 40(b) to each figure in Figure 38(a). Figure 40(d) shows the tree nodes in Figure 38(c-2) generated by merging the common nodes with replacement. By following the path in Figure 38(d), the common string set in Figure 38(e) can be obtained. This is obtained by applying the replacement shown in FIG. 40(b) to each character in the output of the "S. Common Word String Detection Unit" shown in FIG. 38(d-1).

[0277] Then, each local relationship in Fig. 40(c) after the expression replacement is given to the "S. Common word string detection unit" in Fig. 39 to perform motion tracking to find the node path in Fig. 40(e). Motion tracking is performed using each of Figs. 41 to 44.

[0278] In the following explanation of motion tracking, the figure number, self-coordinates, and common word string detection unit operation name are simultaneously represented by the string "figure + figure number + = + self-coordinates + common word string detection unit operation name."

[0279] Figure 41(1) = SS1 is the state in which the algorithm in Figure 39 for layer S has been called from outside. The first S in the operation title SS1 is the self coordinate, and the following S1 is the operation name shown in Figure 39. The register SS that stores the self coordinate stores the coordinate S of this layer. Since the external layer coordinate is defined as empty, the contents of the upper coordinate AS are empty.

[0280] Figure 41(2) shows the operation of SS2. Since node S has a child node according to the input of Figure 40(c-7), the judgment is "yes" by the operation of operation S2 of Figure 39, and the next operation is operation SS3 of Figure 41(3). Since the path value register value PS for this layer S is empty, the judgment here is "no", and the next operation is operation SS4 of Figure 41(4). Here, child nodes 5 and 9 in Figure 40(c-7) are introduced into register CS, which stores child nodes. In operation SS5 of Figure 41(5), since there is data in register CS, the judgment is "no", and the next operation moves to operation SS6 of Figure 41(6). In operation SS6 of Figure 41(6), node 5, the first node in the child node array stored in register CS, is extracted as the processing target, and layer 5, the lower layer indicated by this, is called. Operation SS7 of Figure 41(7) is the operation to call layer 5. This call operation is expressed in SS7 as "5-->layer 5".

[0281] The operation in Figure 41(8) = 5S1 is the first operation of the layer called with the self coordinate 5 and the upper coordinate S. This is, of course, the operation S1 in Figure 39 at the self coordinate 5. The first letter of the operation title has changed from "S" to "5." S is stored in register A5, which stores the upper coordinate, and 5 is stored in register S5, which stores the self coordinate. As can be seen in Figure 40(c-3), node coordinate 5 has child node coordinate 3, so the judgment in Figure 41(9) = 5S2 operation is "yes" and the next operation is the operation in Figure 41(10) = 5S3. Since there is no value in the path value register P5, the next operation is the operation in Figure 41(11) = 5S4. The child node that has node 5 as its parent node is node 3, which is obtained from Figure 40(c-3), and its coordinates are entered into register C5.

[0282] Since there is a child node in register C5, the result of operation Diagram 41(12)=5S5 is "no" and the next operation is Diagram 41(13)=5S6. Here, 3 is extracted from the beginning of register C5. This is indicated by "3" after the title. Diagram 41(14)=5S7 is an operation that calls layer 3 together with information on the self coordinate 3 and the upper coordinate 5. The call operation is expressed as "3-->layer 3" in Diagram 41(14)=5S7.

[0283] By the operation in Figure 41(15)=3S1, 5 is stored in register A3, which stores the upper coordinates, and 3 is stored in register S3, which stores the self coordinate 3. The operation in Figure 41(16)=3S2 is shown below. As can be seen in Figure 40(c-1), node 3 has child node 1, so the decision here is "yes" and the next operation is the operation in Figure 41(17)=3S3. As there is no value in the path value register P3 for this layer, the next operation is Figure 41(18)=3S4. The child node that has node 3 as its parent node is node 1, which is obtained from Figure 40(c-1), and its coordinates are entered into the C register.

[0284] Since there is a child node in register C3, the result of the judgment in Figure 41(19) = 3S5 is "no" and the next operation is operation diagram 41(20) = 3S6. Here, 1 is extracted from the beginning of register C3. This is indicated by "1" after the title. Operation diagram 41(21) = 3S7 is the operation to call layer 1. The call operation is expressed in 3S7 as "1-->layer 1".

[0285] In the Figure 41(22)=1S1 operation, register A1, which stores higher-level coordinates, stores 3, and register S1, which stores self-coordinates, stores 1. Since there is no child node in Figure 40(c) whose parent node is node coordinate 1, the determination in the Figure 41(23)=1S2 operation is "no," and the next operation is Figure 41(24)=1S11.

[0286] The operation in Figure 41 (24) = 1S11 is an operation to introduce a value consisting only of the self coordinate as the path value register value. Here, the node coordinate 1 in register S1 is introduced into the path value register "P1" in the form of (1) which represents an array. From now on, multiple arrays will occur in the path value register, but these will be listed in parentheses "()".

[0287] Next, the operation moves to Figure 41 (25) = 1S12, which is the output operation in the layer of self coordinate 1. Using the parent layer value 3 stored in register A1, it returns to the upper layer, layer 3, and outputs the path value "(1)" held in path value register P1 to layer 3. This operation is expressed as "(1) --> layer 3".

[0288] The next operation is the operation in Figure 41(26) = 3S8, where the path value coming from the lower layer is inserted into the temporary register T.

[0289] The next operation is Figure 41(27) = 3S9 operation. This operation is specified as operation S9 in Figure 39, and is an operation in which the self coordinates of the current layer are added to the end of each unit path component stored in temporary register T, and this is made the new memory content of temporary register T. As a result, the memory content of temporary register T changes to (1, 3). Here we define a "unit path". A unit path is a continuous structure with no branches or loops in the coordinates of the matching nodes.

[0290] The next operation is the operation (28) = 3S10 in Figure 41. This operation is specified as operation S10 in Figure 39, and is an operation that adds the current contents of temporary register T to the end of a collection of generally multiple unit paths stored in path value register P3. Since there have been no unit paths stored in path value register P3 up until now, the new contents of P3 will be (1, 3).

[0291] Next, the operation returns to operation 3S5 in Figure 41(29). The contents of register C3, which currently stores the child node array, have been deleted in operation 3S6 in Figure 41(20). Therefore, the result of operation 3S5 in Figure 41(29) is "yes," and the operation moves to operation 3S12 in Figure 41(30), which outputs this layer. Here, the value of the upper layer, 5, in register A3 is followed, and the value of path value register P3 (1,3) is returned to layer 5.

[0292] The next operation is operation S8 of layer 5, operation 5S8 in Figure 42(31). Temporary register T contains the path (1,3) brought from layer 3. In the next operation 5S9 in Figure 42(32), the self coordinate 5 of the current layer is added to the end of the unit path components of temporary register T, and this becomes the new memory content of temporary register T. In the next operation 5S10 in Figure 42(33), the content of temporary register T is added to the content of path value array P5.

[0293] The operation proceeds to operation 5S5 in Figure 42 (34). Here too, the contents of register C5 have been erased in operation 5S6 in Figure 41 (13). Therefore, the result of the decision in 5S5 in Figure 42 (34) is "yes," and the operation proceeds to operation 5S12 in Figure 42 (35), which outputs this layer. Here, according to the value S of the upper layer in register A5, layer S is returned with the value (1, 3, 5) of path value register P5.

[0294] The next operation is the SS8 operation in Figure 42 (36). First, the path value from the lower layer is introduced into the temporary register T. Next, the SS9 operation in Figure 42 (37) adds the current self-layer coordinate S to the unit path in register T. After that, as shown in the SS10 operation in Figure 42 (38), this path is introduced into the path value register PS.

[0295] Next, the contents of register CS, which stores unprocessed child nodes, is 9 by operation SS5 (Fig. 42(39)), so the next operation is operation SS6 (Fig. 42(40)). Child nodes 5 and 9 are introduced into register CS in layer S by operation SS4 (Fig. 41(4)), and the first node 5 is extracted by operation SS6 (Fig. 41(6)), so node 9 currently remains. 9 is extracted from register C by operation SS6 (Fig. 42(40)). Layer 9 is called by operation SS7 (Fig. 42(41)).

[0296] In the Figure 42(42)=9S1 operation, S is stored in register A9, which stores the parent coordinates, and 9 is stored in register S9, which stores the self coordinates. As can be seen in Figure 40(c-6), node coordinate 9 has coordinate 7 as its child node, so the decision in Figure 42(43)=9S2 operation is "yes" and the next operation is Figure 42(44)=9S3. Since there is no value in the path value register P9 for this layer, the decision is "no" and the next operation is Figure 42(45)=9S4 operation. The child node that has node 9 as its parent node is node 7, obtained from Figure 40(c-6), and its coordinates are entered into register C9. In operation Figure 42(46)=9S5, the decision is "no" and the next operation is Figure 42(47)=9S6 operation, which extracts the value 7 from register C9. The next operation in Figure 42(48)=9S7 calls layer 7.

[0297] In the Figure 42(49)=7S1 operation, 9 is stored in register A7, which stores the parent coordinates, and 7 is stored in register S7, which stores the self coordinates. As can be seen in Figure 40(c-4), node coordinate 7 has child node coordinates 3 and 4, so the Figure 42(50)=9S2 operation checks "yes" and the next operation is Figure 42(51)=7S3. Since there is no value in the path value register P7 for this layer, the check in Figure 42(51)=7S3 is "no" and the next operation is Figure 42(52)=7S4. The child nodes that have node 7 as their parent node are nodes 3 and 4 from Figure 40(c-4), and these coordinates are entered into register C7. In the Figure 42(53)=7S5 operation, the check is "no" and the next operation is Figure 42(54)=7S6, and the value 3 of register C7 is extracted. The following Figure 42(55)=7S7 operation calls Layer 3.

[0298] By the operation of Figure 42 (56) = 3S1, 7 is stored in register A3, which stores the upper coordinates, and 3 is stored in register S3, which stores the self coordinates. Figure 42 (57) = 3S2 operation is shown. As can be seen in Figure 40 (c-1), node coordinate 3 has child node coordinate 1, so the judgment here is "yes" and the next operation is Figure 43 (58) = 3S3.

[0299] The path value register P3 for this layer already contains the path value (1, 3) from the previous processing of layer 3. In other words, the path (1, 3) has been introduced into path value register P3 by operation (28) = 3S10 in Figure 41. In other words, the part below node 3 has already been searched. Therefore, the judgment of operation (58) = 3S10 in Figure 43 is "yes," and the next operation is the output operation, operation (59) = 3S12 in Figure 43. Here, according to the value 7 of the upper layer in register A3, it returns to layer 7 with the value (1, 3) of path value register P3.

[0300] The next operation is operation S8 of layer 7, operation 43(60)=7S8. Temporary register T contains the path (1,3) brought from layer 3. In the next operation, operation 43(61)=7S9, the current layer's self coordinate 7 is added to the end of the unit path components of temporary register T, and this becomes the new memory content of temporary register T. In the next operation, operation 43(62)=7S10, the content of temporary register T is added to the content of path value register P7.

[0301] The loop operation executes the operation 7S5 in Figure 43(63). Here, there is a value in register C7, so the result is "no" and the next operation 7S6 in Figure 43(64) extracts child node 4. Next, the operation 7S7 in Figure 43(65) calls layer 4.

[0302] By the operation of Figure 43(66)=4S1, register A4, which stores higher-level coordinates, stores 7, and register S4, which stores self-coordinates, stores 4. As can be seen in Figure 40(c-2), node coordinate 4 has child node coordinate 1, so the judgment of operation of Figure 43(67)=4S2 is "yes" and the next operation is operation of Figure 43(68)=4S3.

[0303] Since there is no value in the path value register P4 for this layer, the decision in Figure 43(68)=4S3 operation is "no" and the next operation is Figure 43(69)=4S4 operation. Here, the child node having node 4 as its parent node is node 1 obtained from Figure 40(c-2), and the node coordinates of this node are entered into register C4. The decision in Figure 43(70)=4S5 operation is "no" and the next operation is Figure 43(71)=4S6 operation, which extracts the value 1 from register C4. The next operation in Figure 43(72)=4S7 calls layer 1.

[0304] By the operation of Figure 43(73)=1S1, register A1, which stores higher-level coordinates, stores 4, and register S1, which stores self-coordinates, stores 1. Since there is no child node in Figure 40(c) whose parent node is node coordinate 1, the determination in operation of Figure 43(74)=1S2 is "no," and the next operation is operation of Figure 43(75)=1S11.

[0305] Operation (75) = 1S11 in Figure 43 is an operation to input a path value consisting only of the self coordinate into the path value register. Here, the node coordinate 1 in register S1 should be input in the form of (1) representing an array into the path value register P1 of layer 1. However, since the path value (1) has already been input into the path value register P1 by the previous operation shown in operation (24) = 1S11 in Figure 41, nothing is done here.

[0306] Next, the operation moves to the output operation in this layer, operation (76) = 1S12 in Figure 43. Using the value 4 of the parent layer stored in register A1, it returns to the upper layer, layer 4, and outputs the path value "(1)" which is the content of path value array P1 to layer 4.

[0307] The next operation is operation 43(77)=4S8 in which the path value from the lower layer is introduced into temporary register T. The next operation is operation 43(78)=4S9 in FIG. 43. This operation adds the self coordinate of the current layer to the end of each unit path component stored in temporary register T, and sets this as the new memory content of temporary register T. As a result, the memory content of temporary register T changes to (1, 4). The next operation in FIG. 43(79)=7S10 introduces the content of temporary register T into the path value array P4.

[0308] The loop operation returns to Figure 43(80)=4S5 operation. This time, unlike the previous Figure 43(70)=4S5 operation, register C4 is empty, so the answer is "yes" and the next operation is Figure 43(81)=4S12 operation. Here, the operation moves to layer 7 with a path value of (1,4) according to the value 7 of the upper layer coordinate in register A4.

[0309] The next operation is Figure 43(82)=7S8 operation. Temporary register T contains the path (1,4) brought from layer 4. In the next operation, Figure 43(83)=7S9, the coordinate 7 of the current layer is added to the end of the unit path component of temporary register T, and this is made the new memory content of temporary register T. In the next operation, Figure 43(84)=7S10, the content of temporary register T is added to the content of path value array P7.

[0310] The loop operation returns to operation 7S5 (85) in Figure 44. Since the contents of register C7 are empty, the result is "yes," and the next operation is output operation 7S12 (86) in Figure 44. In operation 7S12 in Figure 44, the contents of the path value array are used to return to layer 9 according to the value 9 of register A7.

[0311] The next operation is Figure 44(87)=9S8 operation. The temporary register T contains the path brought from layer 7. In the next operation, Figure 44(88)=9S9, the self coordinate 9 of the current layer is added to the end of the unit path component of temporary register T, and this becomes the new memory content of temporary register T. In the next operation, Figure 44(89)=9S10, the content of temporary register T is added to the content of path value array P9.

[0312] The loop operation returns to operation 9S5 (Fig. 44(90)). Since the contents of register C9 are empty, the result is "yes," and the next operation is operation 9S12 (Fig. 44(91)), which is an output operation. This operation returns to layer S according to the value S of register A9 along with the contents of the path value register.

[0313] The next operation is Figure 44(92) = SS8 operation. Temporary register T contains two paths brought from layer 9. In the next Figure 44(93) = SS9 operation, the self coordinate S of the current layer is added to the end of the unit path components of temporary register T, and this becomes the new memory content of temporary register T. In the next Figure 44(94) = SS10 operation, the content of temporary register T is added to the content of path value register PS.

[0314] The loop operation causes the operation to move again to operation Diagram 44 (95) = SS5. Since the contents of register CS are empty, the decision is "yes" and the next operation is output Diagram 44 (96) = SS12 operation. In Diagram 44 (96) = SS12 operation, since the value of register AS is empty along with the contents of the path value register, the contents of path value register PS are output to the "common word string input register CWR" controlled by the "D. dominating node detection element", which is the next operation of the current "S. common word string detection element".

[0315] The path value in this case is "(1, 3, 5, S) (1, 3, 7, 9, S) (1, 4, 7, 9, S)", and as a result, the node path in Figure 40(e) is obtained by using each local relationship in Figure 40(c) without going through the fused tree structure in Figure 40(d). The reason for not going through the fused tree is that the lower structures are decomposed into independent paths and handled in operation S7, as can be seen in the flowchart in Figure 39.

[0316] It goes without saying that if the rewriting for visual recognition is undone in the node path of FIG. 40(e), the node path returns to that of FIG. 38(d-1).

[0317] This concludes the description of this "S. Common Word String Detection Unit."

[0318] So far, we have provided a detailed explanation of the operation of the "N. Adjacent Matching Word Detection Element" which operates using the output of the "P. Matching Matrix Creation Unit" as input, and the "S. Common Word String Detection Unit" which operates using the output of the "N. Adjacent Matching Word Detection Element" as input, among the various parts of the configuration diagram of the present invention shown in Figure 34.

[0319] The flowchart of the "P. Matching Matrix Creation Unit" is shown in Figure 35, the flowchart of the "N. Adjacent Matching Word Detection Element" is shown in Figure 37, and the flowchart of the "S. Common Word String Detection Unit" is shown in Figure 39. In particular, the "S. Common Word String Detection Unit" uses a recursive operation in which the same algorithm is used recursively.

[0320] As explained, the "P. Matching Matrix Creation Unit" represents matches between input sentences and example sentences as nodes on a two-dimensional matrix, the "N. Adjacent Matching Word Detection Element" represents the adjacency relationships between nodes on that two-dimensional matrix, and the "S. Common Word String Detection Unit" constructs long node paths by connecting the inter-node adjacency relationships. These node paths represent the chain of matching words between the input sentence and example sentences.

[0321] These operations are outlined in Figure 36, and the specific method is shown in Figure 45. Figure 45(c-4) shows the specific results, which show that the third word "a" and the sixth word "with" in the example sentence are matching words.

[0322] Figure 45(a) shows an overview of the sequential operations of the "P. Matching Matrix Creation Unit" and the "S. Common Word String Detection Unit" for a pair of an input sentence and an example sentence. This combination of an input sentence and an example sentence is the starting point for the example used in explaining the operation of this "Example-Driven Machine Translation Analysis Result Selection Device."

[0323] Figure 45(a) is a diagram showing the parent-child relationships of the matching node expressions on the matching matrix, and corresponds to Figure 36(a). The left part of Figure 45(b) corresponds to each diagram in Figure 36(d) and includes the matrix element value p. The center part of Figure 45(b) is the input part of the "S. Common Word String Detection Unit," and shows the relationship between node coordinates without including the matrix element value p. The right part of Figure 45(b) is the result of rewriting as in Figure 40(b) to improve the visibility of the explanation.

[0324] Figure 45(c-1) shows the path obtained by using this rewritten relationship as input and running the "S. Common Word String Detection Unit." Figure 45(c-2) shows the result of rewriting this back to the original node coordinates. The matching words in the input word string are shown in Figure 45(c-3), and the matching words in the example word string are shown in Figure 45(c-4). In the example sentence, the third and sixth words are the matching words.

[0325] Here, we trace the operation of the "S. common word string detection unit" which obtains the path in Figure 45(c-1) from the local relationship of node coordinates on the right side of Figure 45(b). Figure 39 is a flowchart of this unit, and the details of its operation have already been explained. Each diagram in Figure 46 shows the traced operation. The configuration in each diagram is shown in Figure 40(a). Here, we will not trace the entire calculation, but will only show the important operations. In explaining the operation tracing, we will once again simultaneously represent the figure number, self coordinates, and common word string detection unit operation name using the string "Figure + figure number + = + self coordinates + common word string detection unit operation name". The figure number is the lower-level figure number in Figure 46.

[0326] In Figure 46(6)=SS6, it is determined that the node coordinate of the node below node coordinate S is 2, and operation proceeds to Figure 46(8)=2S1. Furthermore, in Figure 46(13)=2S6, it is determined that the node coordinate of the node below node coordinate 2 is 1, and operation proceeds to Figure 46(15)=2S1. In Figure 46(16)=1S2, it is determined that there is no node below node coordinate 1, and in the next Figure 46(17)=1S11, a path called "(1)" is created in the path value array P1. Next, in Figure 46(18)=1S12, this path (1) is stored in the layer with node coordinate 2, and operation returns. In Figure 46(21)=2S10, the self node coordinates are added to this path, creating the path "(1, 2)". Next, in Figure 46(23)=2S12, this path (1, 2) is stored in the layer with node coordinate S, and operation returns. In Figure 46(26)=SS10, the self node coordinates are added to this path to create the path "(1, 2, S)". Finally, in Figure 46(28)=SS12, the output "(1, 2, S)" is output externally.

[0327] When this output is converted back to the original coordinate notation, the diagram in Figure 45(c-1) is obtained, from which the positions of the matching words in the example sentence in Figure 45(c-4) can be obtained.

[0328] In this way, it has been shown that for the pair of input sentence and example sentence in FIG. 45(a), the matching matrix in FIG. 45(a) can be used to obtain the position of the matching word in the example sentence in FIG. 45(c-4).

[0329] The method described above is the operation up to "S. Common Word String Detection Unit" in Figure 34. Since the "S. Common Word String Detection Unit" provides a method for obtaining matching words between an input sentence and example sentences, we will now show how to construct a temporary exclusion tree based on these matching words.

[0330] Figure 47 shows an example of an example sentence tree and its matching words. Figure 47(a) shows the relationship between the entire example sentence tree and the matching words. The matching words are the word "a" at node n11 and the word "with" at node n19, and the asterisk * indicates that they are matching words. For the tree in Figure 47(a), an attribute called a dominating node is added to node NP numbered n8. In Figure 47(b), this is shown by the expression "NP(n8) = dominating node." The calculation that assigns this dominating node attribute is performed by "D. Dominating node detection element" in Figure 34. As can be seen in Figure 34, this is the calculation that constitutes the input for the "T. Temporary exclusion tree construction unit" or "M. Part-of-speech string matching-allowing temporary exclusion tree construction unit" calculation.

[0331] The operation of "D. Dominant node detection element" in FIG. 34 will be explained below.

[0332] Here we will define a dominating node. A dominating node is defined as "the node at the lowest level among the nodes that dominate all matching words." When node A is above node B in the tree, we say that node A dominates node B.

[0333] In Figure 47(b), node n8 dominates matched word n11 and matched word n19. For example, node n5 also dominates node n11 and node n19, but it is not subordinate to node n8. Node n9, which is subordinate to node n8, is not a dominating node because it does not dominate matched node n19.

[0334] The differences between Figure 47(b) and Figure 47(a) other than the dominating node are related to the calculations of "T. Temporary exclusion tree construction unit" and will not be mentioned in the explanation of "D. Dominating node detection element." Figure 48 is a flowchart of "D. Dominating node detection element."

[0335] The calculations of each of the operations D1 to D18 that make up the flowchart in Figure 48 are shown in Figure 48. Each operation in the flowchart in Figure 48 is limited to an operation that controls the movement state of data for a matrix called the dominating node matrix. For this reason, instead of explaining each operation, we will clarify the effect of each operation in Figure 48 through operation tracking using the example of the common words "a" and "with" obtained in Figure 47 in the previous section "S. Common Word String Detection Unit."

[0336] Figures 49 and 50 show the changes in the accommodation information of the dominating node matrix in the first half of the flowchart of "D. Dominant Node Detection Element" in Figure 48 for the matched words obtained in Figure 47. The number of rows in the dominating node matrix is ​​selected to be larger than the number of matched words, and the number of columns is selected to be any number equal to or greater than the "tree height" of the example sentence tree being handled. In the example of Figure 47(b), 2 rows and 10 columns are appropriate, and the dominating node matrices in Figures 49 and 50 have this size. However, descriptions of columns with no data are omitted. Row numbers 1 and 2 are shown to the left of each matrix row, and column numbers from 1 to 10 are shown for each column.

[0337] The upper left corner of each diagram in Figures 49 and 50 shows the actions that make up the flowchart for "D. Dominant Node Detection Element" shown in Figure 48. This clearly shows the actions that generated the matrix data. Each action is expressed as "subdiagram number in Figures 49 and 50 + action in Figures 49 and 50 + detection cursor position." Actions whose results do not affect the dominant node matrix are shown in parentheses. Below the flowchart actions in Figure 48 in each diagram in Figures 49 and 50, a number beginning with n is shown, indicating the position of the detection cursor in the example tree in Figure 47(b). The detection cursor is an input acquisition means for introducing the node names of the example tree into the arrangement node matrix.

[0338] Below, the first half of the calculation to find the dominating node n8 shown in Figure 47(b) based on two types of input information, namely the example sentence tree in Figure 47(a) and the matching words n11 and n19, will be traced using Figures 49 and 50. In explaining the action tracing, each action in Figures 49 and 50 is expressed as a string of characters: ["Figure"" + sub-figure number in Figures 49 and 50 + action in Figures 49 and 50 + detection cursor = " + cursor position]. However, the part enclosed in "" is the string itself, and the part not enclosed is the variable part. The actions in Figures 49 and 50 allow for multiple actions to be performed consecutively, and actions that do not produce a result in a judgment action, etc., are shown enclosed in parentheses.

[0339] With the detection cursor = undefined in Figure 49(1) (D1), D2, the pair of example sentence tree and matching node is received, and the first half of the dominating node detection element operation begins. Operation D2 records that the input example sentence tree is Figure 47(a) and that the matching word nodes are n11 and n19, and adds the left-end attribute to node n11 and the right-end attribute to node n19. The left-end attribute will then be used in operation D3, and the right-end attribute will be used in operation D9. In addition, the right-end flag, which is the indicator for handling the right-end matching node, is set to the down state. The right-end flag will be mentioned when changing its up or down state.

[0340] In Figure 49(2), a dominating node matrix with 2 rows and 10 columns is prepared with the D3 detection cursor = n11. Since it is recorded that the matching word with the leftmost attribute is n11, the detection cursor position is n11. The values ​​of M rows and N columns in action D3 can be arbitrary, but the number of rows must be greater than the number of matching words, and the number of columns must be greater than the "height" of the example sentence tree. The "height" of the example sentence tree is the maximum number of nodes on the path from the matching word to the top node of the example sentence tree. The circle in row 1, column 1 in the matrix in Figure 49(2) is the position of the write cursor into the dominating node matrix.

[0341] Figure 49(3) D4, (D5) Operation D4 of detection cursor = n11 writes out the value of 11 at the detection cursor position, which is the cursor position, in row 1, column 1. Since node n11 is not the top node of the example tree in Figure 47(a), the next operation D5 determines that the next operation is operation D6.

[0342] As shown in Figure 49(4) D6 detection cursor = 10, the detection cursor position has moved one node higher than in Figure 49(3), to node n10, and the write position on the governing node matrix has also moved one node to the right from the write position in Figure 49(3).

[0343] The next operation, D4, (D5) of the detection cursor 10 in Figure 49(5), writes the detection cursor position 10 at the write position specified in Figure 49(4). Furthermore, the operation, D4, (D5) of the detection cursor 10 in Figure 49(5), writes the value of the detection cursor position 11 to the write cursor position, row 1, column 2. For a while, the detection cursor does not reach the top node of the example tree in Figure 47(a), so the judgment of operation D5 continues to be no, and the loop of operations D6, D4, and (D5) continues. Accordingly, the detection cursor moves up in the example tree in Figure 47(a), and the write cursor position of the dominating node matrix moves to the right. In this way, the detection cursor reaches the top node, reaching the cursor position = n1 in Figure 49(12) D6.

[0344] Figure 49(13) D4, (D5), (D7) are the operations of the detection cursor = n1. First, operation D4 fills the sixth column, which is specified as the dominant node write position in Figure 49(12), with the value 1. Next, operation D5 generates a yes judgment that the detection cursor has reached the top node of the example sentence tree in Figure 47(a). In the next operation D7, the right end flag has been set to the down state by operation D2, so the judgment here is no and the next operation is operation D8.

[0345] In Figure 49 (14) D8, (D9), the detection cursor is set to 19, and the detection cursor is moved to the matching word n19, which is one word to the right of the previous matching word n11. The matching word was recorded by action D2. Furthermore, action D8 moves the writing cursor to the first column of the next row of the dominating node matrix from the current writing position. The position of the circle in Figure 49 (14) is the new writing position. Note that the rightmost attribute has been added to matching word n19 by the action of action D2, so action D9 determines whether the rightmost attribute exists, and a yes determination is made that this matching word is the rightmost matching word. Therefore, the next action is action D10.

[0346] In Figure 49(15)D10, when the detection cursor is 19, the right-end flag is raised. The right-end flag was lowered in action D2 and has remained in this state ever since. In this way, the right-end attribute of the matching word takes effect with a delay.

[0347] For a while, the detection cursor does not reach the top node of the example sentence tree in Figure 47(a), so the judgment for action D5 continues to be no, and the loop of actions D6, D4, and (D5) continues. Accordingly, the detection cursor moves upward in the example sentence tree in Figure 47(a), and the write cursor position in the dominating node matrix moves to the right. In this way, the detection cursor reaches the top node at cursor position n1 in Figure 50(25) D6.

[0348] Figure 50(26) D4, (D5), (D7) are the operations when the detection cursor is 1. First, operation D4 fills the sixth column, which is specified as the dominant node write position in Figure 50(25), with the value 1. Next, operation D5 generates a yes judgment that the detection cursor has reached the top node of the example sentence tree in Figure 47(a). In the next operation D7, the right-end flag has been set to up by operation D2, so the judgment here is yes and the next operation is operation D11.

[0349] When the D11 detection cursor is set to 1 in Figure 50(27), the right-end flag is set to the down state again, terminating the first half of the "D. Dominant Node Detection Element" operation in Figure 48. The first half output at this point is the contents of the dominating node matrix in Figure 50(27). In other words, Figure 50(27) is the output of the first half of the "D. Dominant Node Detection Element" flowchart shown in Figure 48 for the example sentence tree in Figure 47(a) that has matching word nodes n11 and n19.

[0350] The first half output is ultimately the path from the matching word nodes n11 and n19 to the top node in the example tree diagram 47(a).

[0351] The operation moves to the second half of operation D12 and after. In Figure 50 (27), there is no data from row 7 onwards in the dominating node matrix, so it is not shown. In the second half, the entire dominating node matrix with 2 rows and 10 columns is displayed and explained. Figure 50 (27) is the output of operation D11 in this case, and Figure 51 (1) is the input for the second half of input operation D12. The difference between these two is that there is an additional blank element to the right of the data-containing element.

[0352] The second half of the explanation will be written in a similar notation to the first half. However, each action in the second half will be expressed as ["sub-figure number in Figure 51 + action in Figure 48 + inspection cursor position"]. In other words, from now on, we will use the inspection cursor instead of the write cursor. Also, as in the first half, actions that do not change data values, such as judgment actions, will be enclosed in parentheses.

[0353] In Figure 51(1), D12, the inspection cursor is set to undefined, and the contents of the dominating node matrix generated in the first half of the operation are received. Next, in Figure 51(2), D13, the inspection cursor is set to undefined, and the path data that was previously left-justified is moved to the right.

[0354] In Figure 51 (3) D14, (D15) inspection cursor = 10, first operation D14 places the inspection cursor at the right end of the dominating node matrix, then operation D15 determines whether the element values ​​of each row in column 10 pointed to by the inspection cursor are equal. The inspection cursor checks whether the two row elements in the column where the cursor is located are the same. In this case, the two row elements are 1 and therefore identical, so the next operation is operation D16.

[0355] In Figure 51 (4) D16, (D15) when the inspection cursor is 9, operation D16 moves the inspection cursor to column 9, one column to the left. Next, operation D15 examines the two row elements in the column where the inspection cursor is located. Since the two row elements are 5 and are the same, the next operation is operation D16.

[0356] In Figure 51 (5) D16, (D15) when the inspection cursor is 8, operation D16 moves the inspection cursor to column 8, one column to the left. Then operation D15 checks all row elements in the column where the cursor is located. Since the two row elements are 8 and are the same, the next operation is operation D16.

[0357] In Figure 51 (6) D16, (D15) when the inspection cursor is 7, operation D16 moves the inspection cursor to column 7, one column to the left. Next, operation D15 examines the two row elements in the column where the cursor is located. The elements in column 8 are 9 and 17, and all row elements are not the same. Therefore, the next operation is operation D17.

[0358] In Figure 51(7) D17, D18, when inspection cursor = 8, first, operation D17 moves the inspection cursor back one column to the right. Then, operation D18 outputs the element value with the same value in the column indicated by the inspection cursor. In this case, the output is 8, and it can be seen that the corresponding node n8 in Figure 47(a) is the dominating node.

[0359] A dominating node is defined as "the node at the lowest level among the nodes that dominate all matching words." Each row in Figure 50(27) and Figure 51 represents a path from each matching word node to the top node in the example sentence tree. The presence of a specific node on a path from an all-matching word node indicates that this node dominates all matching words. If there is a series of such nodes, the lowest node in that series is the dominating node. This is why "D. Dominating Node Detection Element" in Figure 48 works. Figure 47(b) shows the dominating nodes found in this way displayed on the example sentence tree.

[0360] This concludes the explanation of the operation of "D. Dominant node detection element".

[0361] Next, we will explain the operation of "T. Temporary exclusion tree construction unit" present in Figure 34. This unit is a method for handling example sentence trees generated from example sentences that have a common word string for the input sentence. If a common part-of-speech string is allowed, it will be handled by "M. Temporary exclusion tree construction unit that allows part-of-speech string matching" described later.

[0362] Figure 52 is a flowchart of "T. Temporary exclusion tree construction unit." We will use the examples in Figure 45 that have been used so far in explaining "T. Temporary exclusion tree construction unit," which start with the common words "a" and "with." For this reason, we will trace the operation of "T. Temporary exclusion tree construction unit," which takes as input the example sentence tree to the left of the equal sign in Figure 53 with an indication of the dominating node, which is the output of the previous "D. Dominant node detection element." The input example sentence tree to the left of the equal sign in Figure 53 is a reprint of Figure 47(b).

[0363] The operations of each of the operations T1 to T15 constituting the flowchart of Figure 52 are shown in Figure 52. Each operation in the flowchart of Figure 52 is limited to an operation that controls the assignment of markers to the example sentence tree shown in Figure 53. For this reason, instead of explaining each operation, we will clarify the effect of each operation in Figure 52 by tracing the operation of "T. temporary exclusion tree construction unit" when the input example sentence tree to the left of the equal sign in Figure 53 is input.

[0364] In order to avoid increasing the length of the description in explaining the computational process of this flowchart, the example tree is abbreviated as shown in Figure 53. That is, the left side of the equal sign in Figure 53 is the example tree to be handled, and the right side is the example tree described using the abbreviation. This abbreviation is possible because the part of the example tree above the dominating node, node n8, does not become part of the temporary exclusion tree.

[0365] Figures 54 and 55 show the action tracing process when the example sentence tree in Figure 53 is input into the "T. Temporary Exclusion Tree Construction Unit" in Figure 52, along with information that the matching word nodes are n11 and n19 and the dominating node is n8. Action tracing is shown in the form of adding information to each node in the example sentence tree after the omissions in Figure 53. For action tracing, each action in Figures 54 and 55 is expressed as a string of characters: ["Figure"" + sub-figure number in Figure 54 or 55 + action in Figure 53 + processing cursor position = " + node symbol where cursor is located]. However, the part enclosed in "" is the string itself, and the part not enclosed is the variable part. The actions in Figures 54 and 55 allow for multiple actions to be performed consecutively, and actions that do not produce a result in a judgment action, etc., are shown enclosed in parentheses.

[0366] The processing cursor moves over the nodes that make up the example tree in Figure 53, adding a * or # mark. In Figures 54 and 55, the processing cursor position is indicated by an arrow with the letter C.

[0367] The actions are tracked as follows. In Figure 54(1) (T1), T2, (T3), and T4, when the processing cursor position is n11, the action starts with action T1, and in action T2, the leftmost attribute is added to node n11 and the rightmost attribute is added to n19. The processing cursor is placed on the leftmost node n11, and the rightmost flag is set to down. In action T3, since there are multiple matching word nodes, the decision is no, and in the next action, action T4, a mark * is added to node n11 where the processing cursor is located. Figures 54 and 55 show the state of information addition to the example sentence tree after the completion of the writing actions. Figure 54(1) shows the state after the completion of actions (T1), T2, (T3), and T4.

[0368] In Figure 54(2) (T5), T6, T4, when the processing cursor position is n10, the judgment of operation T5 is no because of the position of node n11, and operation T6 moves the processing cursor up one level to node n10. Operation T4 adds a mark * to this cursor position.

[0369] In FIG. 54(3) (T5), T6, T4, when the processing cursor position is n9, the judgment of operation T5 is no because of the position of node n10, and the processing cursor moves up one level at operation T6 to reach node n9.

[0370] In Figure 54(4) (T5), T6, T4, when the processing cursor position = n8, the judgment of operation T5 is no due to the position of node n9, and operation T6 moves the processing cursor up one level to node n8. The next operation T4 adds a marker * to node n8 where the processing cursor is located, and adds a marker # to its child node, node n17.

[0371] In Figure 54(5) (T5), (T9), T10, (T7), T8, T4 where the processing cursor position is n8, the current processing cursor is at node n8, i.e., the dominating node, so the judgment for action T5 is yes and the next action is action T9. The right-end flag was set to down by the previous action in Figure 54(1) (T1), T2, (T3), T4 where the processing cursor position is n11, so the judgment here is no and the next action is action T10. This action moves the processing cursor to the matching word node n19, which is one node to the right of node n11. The next action is action T7. This matching word node has the right-end attribute, so the judgment for action T7 is yes and the next action is action T8. Here, the right-end flag is set to up and the action returns to action T4. In the next action T4, a marker * is added to node n19 where the processing cursor is located.

[0372] In Figure 54(6) (T5), T6, T4, when the processing cursor position is n19, the judgment of operation T5 is no because of the position of node n19, and operation T6 moves the processing cursor up one level to node n18. Operation T4 adds a mark * to this cursor position.

[0373] In Figure 55(7) (T5), T6, T4, the processing cursor position = n18, so the judgment of operation T5 is no due to the position of node n18, and operation T6 moves the processing cursor up one level to node n17. A marker # has already been added to this cursor position in the operation of Figure 54(4) (T5), T6, T4, where cursor position = n8, but operation T4 changes this marker to *. Also, a marker # is added to node n20, which is a child node of node n17.

[0374] In Figure 55(8) (T5), T6, T4 cursor position = n17, the judgment of operation T5 is no because of the position of node n17, and operation T6 moves the processing cursor up one level to node n18. Since a marker * has already been added to this cursor position in the operation of Figure 54(4) (T5), T6, T4 cursor position = n8, operation T4 does nothing.

[0375] In Figure 55(9)(T5),(T9) cursor position=n8, the current processing cursor is at node n8, that is, the dominant node and the node with the marker *, so the judgment of action T5 is yes and the next action is action T9. The right end flag is in the up state due to the actions of Figure 54(5)(T5),(T9),T10,(T7),T8,T4 processing cursor position=n8, so the judgment of action T9 is yes and action T15 is reached.

[0376] In Figure 55(10), T15 cursor position = undefined, nodes that have not been marked with * or # in the previous operations are deleted from the example sentence tree. Figure 55(8) before deletion is a diagram that includes the omission in Figure 53, but since no markers are added to the nodes in the omitted part, all of them are deleted. As a result of the deletion, the temporary exclusion tree in Figure 55(10) is generated. This result is the temporary exclusion tree obtained by inputting the information that the matching word nodes for the example sentence tree in Figure 53 are n11 and n19 and that the dominating node is n8 into the "T. Temporary exclusion tree construction unit" in Figure 52, and the figures in Figures 54 and 55 show the calculation process.

[0377] The operations described so far have been for cases where there are multiple matching words. Next, we consider the case where there is a single matching word. For this reason, the marker addition operation process when the example sentence tree of Figure 56(1) is input to the "T. Temporary Exclusion Tree Construction Unit" of Figure 52, along with the information that the matching word node is n4, is shown in each of Figures 56(2) to (6). To trace the calculation process, each operation in Figure 56 is expressed as a string of characters: ["Figure"" + sub-figure number in Figure 56 + operation in Figure 56 + processing cursor position = " + node symbol where cursor is located]. However, the part enclosed in "" is the string itself, and the part not enclosed is the variable part. The operations in Figure 56 allow for multiple operations to be performed consecutively, and operations that do not produce a result, such as judgment operations, are shown enclosed in parentheses.

[0378] The following operations are traced. The processing cursor moves over the nodes that make up the example tree in Figure 56(1) and adds a * or # mark. In Figure 53, the processing cursor position is indicated by an arrow with the letter C.

[0379] In Figure 56(2) (T1), T2, (T3), and T11, when the processing cursor position is n4, the operation starts with action T1, and action T2 adds both the leftmost attribute and the rightmost attribute to node n4. The processing cursor is placed at the leftmost node n4, and the rightmost flag is set to down. Since there is one matching word node in action T3, the judgment is yes, and the next action, action T11, adds a mark * to the processing cursor position. Each of Figures 56(2) to (6) shows the state of information addition to the example sentence tree after the completion of the notation actions. Figure 56(2) shows the state after the completion of actions (T1), T2, (T3), and T11.

[0380] The following Figure 56(3)(T12), T13 processing cursor position = n3, Figure 56(4)(T12), T13 processing cursor position = n2, and the operations T11, T12, T13 are looped twice.

[0381] In FIG. 56(5) (T12), T14, the processing cursor position is n2. Since the current processing cursor position is node n2 and it has multiple child nodes, the judgment of operation T12 is yes, and a mark # is added to node n5 that does not have a mark.

[0382] In the next Figure 56(6) T15 processing cursor position = undefined, nodes that have not been marked with a * or # marker in the previous operations are deleted from the example sentence tree. As a result of the deletion, the temporary exclusion tree shown in Figure 56(6) is generated. The result is a temporary exclusion tree obtained by inputting the example sentence tree shown in Figure 56(1) together with the knowledge that the matching word node is n4 into the "T. Temporary exclusion tree construction unit" shown in Figure 52, and the figures in Figure 56(2) to (6) show the operation tracing process.

[0383] The above has shown a method for constructing a temporary exclusion tree by detecting a dominating node in the input example sentence tree using "D. Dominant node detection element" in Figure 48, and adding a mark * to the nodes on the path from the matching word node to the dominating node using "T. Temporary exclusion tree construction unit" in Figure 52, adding a mark # to the child nodes of the nodes on the path, and deleting nodes in the example sentence tree that do not have a mark added.

[0384] So far we have explained "T. Temporary Exclusion Tree Construction Unit," the flowchart of which is shown in Figure 52, which finds example sentences that share a common word string with the input sentence and generates a temporary exclusion tree from the example sentence tree that these example sentences have. This can be summarized as shown in Figure 58(a). In other words, this is a method of obtaining the temporary exclusion tree shown on the right of Figure 58(a) from an example sentence tree with a dominating node, which has a common word string with the input sentence and is the output of "S. Common Word String Detection Element," as shown on the left of the same figure, and which has a dominating node added by "D. Dominant Node Detection Element."

[0385] The operation of finding example sentences that share a common word string with the input sentence can be expanded to allow example sentences that share a common part-of-speech string with the input sentence. Below we will explain "M. Part-of-speech string matching type temporary exclusion tree construction unit," which allows common parts of speech. As shown in Figure 34, this part is used in place of "T. Temporary exclusion tree construction unit," which only allows word matching.

[0386] For "M. Part-of-Speech String Matching Type Temporary Exclusion Tree Construction Unit", part-of-speech descriptions are required for the input sentence words and the example sentence tree word nodes. The part-of-speech descriptions are written in parentheses after the word string. "First, when an input sentence is entered, a part of speech dictionary is consulted to determine the part of speech. Next, the part of speech name is added in parentheses after each word in the input sentence. If a word has multiple parts of speech, they are listed separated by commas. Next, in the word nodes of the example sentence tree, the part of speech name and part of speech value are added in parentheses after each word, joined by an equals sign. In this case, the part of speech name is the name of the part of speech node immediately above the terminal node, and the part of speech value is also consulted in the part of speech dictionary." It is obtained by the process.

[0387] Figure 57 is an example of a part-of-speech dictionary, where the part-of-speech and part-of-speech value of the headword are listed after the colon ":" and are connected by an equal sign and enclosed in parentheses. If a word has multiple parts-of-speech, they are listed separated by a comma ",". The part-of-speech value is given by formula (3) described below.

[0388] The word identity determination corresponding to "T. Temporary exclusion tree construction unit" determines a match simply if the word strings match. The identity determination between input sentence words and example sentence tree words that have part-of-speech descriptions for "M. Part-of-speech string matching allowed temporary exclusion tree construction unit" is performed by modifying the identity determination method of "P. Matching matrix creation unit." The identity determination between input sentence words and example sentence tree words in "P. Matching matrix creation unit" is described as follows. That is, "If either the words or the part-of-speech description match, it is determined to be a match. If the words match, it is determined to be a word match, and if the words do not match but the parts of speech match, it is determined to be a part-of-speech match. However, if the part-of-speech name is NOUN and the words do not match, it is not determined to be a match. If the words match, a mark "+" is added to the left of the matching word, and if the parts of speech match, a mark "+" is added to the left of the part-of-speech name in the part-of-speech description of the example tree word. If the parts of speech match, then the example tree word is replaced with the input sentence word."

[0389] The change in the matching determination method to accommodate "M. Part-of-Speech String Matching Allowing Temporary Exclusion Tree Construction Unit" in "P. Matching Matrix Creation Unit" is a change of only one step, so no further explanation will be given.

[0390] Next, the common word string is found using the "N. Adjacent Matching Word Detection Element" and "S. Common Word String Detection Unit" that follow the "P. Matching Matrix Creation Unit." For this, a matching matrix of the format shown in Figure 45(a) is used for the pair of input sentence and example sentence.

[0391] FIG. 58(a) shows an example sentence tree in which part-of-speech agreement is achieved, and the state of part-of-speech agreement is indicated by a line with arrows at both ends.

[0392] The example sentence tree in Figure 58(a) is the example sentence tree when word matching is established, and the state of word matching is indicated by a line with double-headed arrows for the matching words. In the case of word matching, the example sentence tree in Figure 58(b) is the input for "M. Part-of-Speech String Matching Allowing Temporary Exclusion Tree Construction Unit." A "+" mark is added to the left of the matching word name.

[0393] Figure 59(a) shows example sentence trees when a part-of-speech match is achieved, and the part-of-speech match status is indicated by a line with arrows at both ends. The example sentence tree at the top of Figure 59(a) is the example sentence tree with the common part-of-speech sequence before the example words are replaced with input sentence words, and the example sentence tree at the bottom is the example sentence tree after the example words are replaced with input sentence words.

[0394] In the case of part-of-speech matching, the example sentence tree at the bottom of Figure 59(a) is the input for "M. Part-of-speech string matching-allowing temporary exclusion tree construction unit." At the matching node, a mark "+" is added to the left of the part-of-speech name in the part-of-speech description, and the word name has been changed from the word name in the example sentence tree to the word name in the input sentence.

[0395] The mark "+" is a symbol that designates the part that contributed to the match in the matching node of the example sentence tree, and a word node or part-of-speech node to which the mark "+" is added is called a "+added node."

[0396] Figure 60 is a flowchart for "M. Part-of-Speech String Matching Allowable Temporary Exclusion Tree Construction Unit." This has the same structure as the flowchart for "T. Temporary Exclusion Tree Construction Unit" in Figure 52, and the operational description of each operation is the same except for the difference between the letters M and T. However, operation M2 differs from the corresponding operation T2 because it includes operations for preparing for the generation of an exclusion tree and the modification of +additional nodes. Also, the wording "matching word" in operations T3, T7, and T10 in the flowchart for "T. Temporary Exclusion Tree Construction Unit" becomes "+additional node" in the corresponding operations M3, M7, and M10. This "M. Part-of-Speech String Matching Allowable Temporary Exclusion Tree Construction Unit" is upwardly compatible with "T. Temporary Exclusion Tree Construction Unit." Operation M2 is an operation that converts "T. Temporary Exclusion Tree Construction Unit" into "M. Part-of-Speech String Matching Allowable Temporary Exclusion Tree Construction Unit" by emulation.

[0397] The operation of operation M2 is described as follows: "(a) If a "+" mark is added to the left of a word due to word matching, the part-of-speech description enclosed in parentheses to the right of the word name in the word node is replaced with the string "=1". If a "+" mark is added to the left of the part-of-speech name in the part-of-speech description of a word node due to part-of-speech matching, the part-of-speech description to the right of the word, including the "+" mark, is overwritten as is with the part-of-speech name of the part-of-speech node immediately above, and the part-of-speech description of the word is replaced with the string "=1". Next, a new exclusion tree consisting of word nodes and part-of-speech nodes is constructed. A word node or part-of-speech node to which a "+" mark is added is called a "+addition node". (b) The node numbers of the entire example sentence tree and all +addition nodes are recorded. The leftmost attribute is added to the +addition node at the left end of the example sentence tree, and the rightmost attribute is added to the +addition node at the right end. The processing cursor is placed on the +addition node with the leftmost attribute. The rightmost flag is set to the down state."

[0398] In this behavioral description, the part (b) is essentially the same as the behavior T2 of "T. temporary exclusion tree construction unit", and the part (a) is a part added for emulation purposes.

[0399] The top row of Figure 58(c) shows the result of the M2 operation on the input of the "M. Part-of-Speech String Matching Allowing Temporary Exclusion Tree Construction Unit" in Figure 58(b) in the case of word matching. "+a(DET=0.7)" before the M2 operation becomes "+a=1". The same node "+with(PREP=0.7)" changes to the node "+with=1".

[0400] The top diagram in Figure 59(b) shows the result of the M2 operation on the input of the "M part-of-speech string matching-allowing temporary exclusion tree construction unit" in the bottom diagram in Figure 59(a) in the case of part-of-speech matching. In the example sentence tree resulting from the M2 operation, "the(+DET=0.7)" has changed to "the=1", and in the part-of-speech node immediately above it, "DET" has changed to "+DET=0.7". Also, in the right-most matching node, the description "of(+PREP=0.7)" has changed to "of=1", and the description of the part-of-speech name immediately above it has changed from "PREP" to "+PREP=0.7". Together with this, the top diagram in Figure 59(b), which is the result of the M2 operation, has two exclusion trees consisting of the newly generated part-of-speech nodes and word nodes. This is an exclusion tree to compensate for the matching words that are lost in the "M. Part-of-speech string matching type temporary exclusion tree construction unit" operation that follows operation M2. As will be described later, an exclusion tree consisting of part-of-speech nodes and word nodes is called a part-of-speech exclusion tree.

[0401] The example sentence tree to the right of the arrow in Figure 58(c) is the result of adding marks "*" and "#" to the tree to the left of the arrow by operation M4 of "M. Part-of-Speech String Matching Allowable Temporary Exclusion Tree Construction Unit" in Figure 60. This state is the state immediately before the deletion of unmarked nodes by operation M15 of "M. Part-of-Speech String Matching Allowable Temporary Exclusion Tree Construction Unit" in Figure 60. Both the marks "+" and "*" have been added to nodes "a" and "with".

[0402] The flowchart of "M. Part-of-speech matching-allowed temporary exclusion tree construction unit" in Figure 60 and the flowchart of "T. Temporary exclusion tree construction unit" in Figure 52 are identical except for operation M2 explained earlier, by replacing "matching word" with "mark + additional node", so we will not trace the operations in Figure 60.

[0403] The tree on the right side of the arrow in FIG. 58(c) is the structure obtained by deleting unmarked nodes by operation M15 from the example tree on the left, and is the desired temporary exclusion tree.

[0404] The second-level example sentence tree in Figure 59(b) is the result of adding the marks "*" and "#" to the first-level tree by operation M4 of "M. Part-of-Speech String Matching Allowable Temporary Exclusion Tree Construction Unit" in Figure 60. This state is the state immediately before the deletion of unmarked nodes by operation M15 of "M. Part-of-Speech String Matching Allowable Temporary Exclusion Tree Construction Unit" in Figure 60. Both the marks "+" and "*" have been added to the nodes "DET=0.7" and "PREP=0.7".

[0405] Here too, there is identity other than the action M2, so action tracking in FIG. 60 is not performed for this example.

[0406] The third-level tree in Figure 59(b) is the temporary exclusion tree obtained by deleting unmarked nodes from the second-level example sentence tree using operation M15. Note that part-of-speech exclusion trees exist independently after generation, so they are not deleted. In this way, part-of-speech exclusion trees are generated automatically in the case of part-of-speech agreement. Since the word nodes in a part-of-speech exclusion tree always match the words in the input sentence, the names of these words have nodes with the numerical value 1 connected by an equal sign.

[0407] In Figure 59(b), the part-of-speech nodes of an exclusion tree that has a part-of-speech node in the third row as its lowest node have part-of-speech values. In information theory, part-of-speech values ​​are defined as "the amount of information obtained by part-of-speech matching when the amount of information obtained by word matching is set to 1." Part-of-speech values ​​were introduced during the explanation of "M. Part-of-speech string matching-allowing temporary exclusion tree construction unit," but their impact occurs in the subsequent "V. Temporary exclusion tree tree value unit." Before explaining "V. Temporary exclusion tree tree value unit," we will explain how to obtain part-of-speech values ​​and their properties.

[0408] Equation (2) is the difference between the base 2 logarithm and base 10 logarithm for the same antilogarithm A. We can see that the logarithm when the base is 2 is 3.322 times the logarithm when the base is 10. Equation (3) shows the relationship in information theory between the probability P of an event and the amount of information I obtained when it occurs. The unit of information I is bits. The leftmost value in equation (4) is the amount of information obtained when an event with a probability of 1 in 100,000 occurs, based on equation (3). This can be converted into the number second from the left in equation (4) that does not contain negative numbers. This value can be converted into the third value from the left in equation (4) using equation (2). This can be converted into the fourth value from the left. In other words, when an event with a probability of 1 in 100,000 occurs, 16.61 bits of information will be obtained.

[0409]

number

[0410]

number

[0411]

number

[0412] The number of entry words contained in an English-Japanese-Chinese dictionary is approximately 100,000. In other words, when you know that one English word has occurred, 16.61 bits of information is obtained in consideration of equation (4). This amount of information is called one word unit (WU). This amount of information is the word value, which is the amount of information in the case of a word match.

[0413] Let's consider parts of speech with a small number of words. Parts of speech with a number of words on the order of 10 include ABRN (titles such as Mr., DR., Prof.), COORD (coordinating conjunctions such as and, or), INT (interjections such as Ah, Oh), DET (determinatives containing articles such as a, the), PREP (prepositions such as at, of, on), PRN (pronouns such as I, you), SUBORD (conjunctions such as before, until, because), and WH (relatives such as who, which, that). If we consider that each of these parts of speech contains 30 words, the amount of information obtained when these parts of speech occur is 0.7 WU, as shown in equation (5).

[0414]

number

[0415] Parts of speech that belong to the order of 100 words include VT (transitive verbs such as have, see, etc.), VI (intransitive verbs such as walk, stand, etc.), ADJ (adjectives such as beautiful, strong, etc.), and ADV (adverbs such as fast, deeply, etc.). If we consider that 300 words belong to each of these parts of speech, the amount of information obtained when these parts of speech occur is approximately 0.5 WU, as shown in equation (6). In other words, obtaining information that these parts of speech have occurred provides half the amount of information that would be obtained if the words themselves occurred.

[0416]

number

[0417] The "V. Temporary Exclusion Tree Tree Value Unit" explained below performs calculations that take as input the part-of-speech value and word value present at the lowest node in a temporary exclusion tree and output the tree value of that temporary exclusion tree and the quality of the temporary exclusion tree. The following description is the basic theory behind the operation of the "V. Temporary Exclusion Tree Tree Value Unit" for determining the tree value of a temporary exclusion tree and its quality index.

[0418] When determining whether an example sentence tree matches an input sentence, the word value obtained for a word match is naturally 1 WU (word unit), or 1. When the parts of speech of the article (DET) and preposition (PREP) match, as in the case of Figure 59(a), the amount of information obtained is 0.7 WU, and the part-of-speech value for these is 0.7.

[0419] Based on these facts, it is possible to create a part-of-speech dictionary in the format shown in Figure 57, which shows the correspondence between words, parts of speech, and part-of-speech values.

[0420] The above discussion has provided a method for assigning word values ​​and part-of-speech values ​​to matched word nodes and matched part-of-speech nodes. In Figure 59, these are expressed as numbers connected to the word name with an equal sign.

[0421] Here, the collective term for match word nodes and match part-of-speech nodes is called match nodes. The collective term for word values ​​and part-of-speech values ​​is called match values. When necessary, the collective terms and the individual names for match word nodes, match part-of-speech nodes, word values, and part-of-speech values ​​will be used interchangeably.

[0422] It is defined that the match value of this match node propagates through the temporary exclusion tree and provides information to other nodes that make up the temporary exclusion tree. The value possessed by a node in the temporary exclusion tree by this propagation is called the node value. In other words, the match value is the source of information, and the node value is the result of that propagation. The method for calculating this node value is described below. The sum of the node values ​​of all nodes that make up the temporary exclusion tree is specifically the "tree average value sum TAST" or the "path average value sum PAST," and these are defined as the tree values ​​of the temporary exclusion tree. Note that when calculating this sum, the match value possessed by the match node is also treated as a node value.

[0423] Here, the following variables are shown in Table 1:

[0424] [Table 1]

[0425] These variables are classified into three types: those relating to the node of the temporary exclusion tree itself, those relating to a subtree of the temporary exclusion tree, and those relating to the entire temporary exclusion tree.

[0426] The variables related to the nodes themselves are TA, WGS, LAC, LNC, PA, and T2. Of these, the variable TA represents the value generated by the tree-like average node value calculation method, which is the first method of calculating node values, while the variable PA represents the value generated by the second method of calculating node values.

[0427] Next, variables related to subtrees of the temporary exclusion tree are TAS, PAS, T2S, NCS, and BCS. These are treated as variables related to the top node of a subtree of the temporary exclusion tree. Since all nodes of the temporary exclusion tree, including their bottom nodes, can become the top node of a subtree of the temporary exclusion tree, variables related to subtrees of the temporary exclusion tree can also be considered variables related to nodes of the temporary exclusion tree.

[0428] Although there is only one type of match value, there are two types of node values ​​obtained by different calculation methods. These two types of node value calculation methods are described below, and they are used depending on the field of the input sentence. The first one is the tree-like average node value.

[0429] First, we will discuss the tree-like average node value calculation method. Figure 61(a) shows how child node values ​​are propagated to parent node values ​​in one parent-child relationship in a temporary exclusion tree. Here, node value propagation proceeds from match node C1, which has match value c1, and child node Y1 has a node value of y1. If there is no influence from other match nodes as in Figure 61(a), the node value of parent node X as a result of node value propagation is (y1) / n, which is the node value y1 of child node Y1 divided by the number of child nodes n. This is the tree-like average node value calculation method. The basis of this calculation method is that the average of the node values ​​of the child nodes is the node value of the parent node. This type of node value calculation method is called the tree-like average node value calculation method. In other words, the influence of one child node decays at a rate equal to the inverse of the number of child nodes. A node that has a node value, such as node Y1, is called an effective node, and a node that does not have a node value, such as other nodes, is called an ineffective node.

[0430] In equation (7), TA is the tree-like average node value of the parent node, ΣbTA is the sum of the tree-like average node value of the child node over all branches, and as shown in Table 1, LAC is the number of all child nodes, which is the same as the value shown as the subscript n of the letter Y in Figures 61(a) and (b). The subscript child component b here represents all branches. Since equation (7) deals with a specific parent node, no subscript is added to TA to identify the parent node. TA = (Σ b TA) / LAC (7)

[0431] Figure 61(b) shows a method for calculating the tree-like average value of a parent-child relationship influenced by three coincident nodes. The paths to this parent-child relationship from coincident nodes C1 and C3 merge along the way. In this case, the node value of parent node X is (y1 + y2) / n, which is the sum of the node value y1 of child node Y1 and the node value y2 of child node Y2 divided by the number of child nodes n. In other words, the influence of effective child nodes is linearly added.

[0432] In this way, the tree-average node value of the parent node is given by equation (7). As mentioned above, the tree-average node value of the matched word is the word value, and the tree-average node value of the matched part of speech is defined as the part of speech value.

[0433] Figure 61(c) shows an example of node value propagation from a matching node using the tree-like average node value calculation method. The first part of each node string represents a phrase structure component or word, the part in parentheses is the node number for the purpose of explanation here, and the number after the arrow is the tree-like average node value.

[0434] Nodes n4, n11, and n16 are matched word nodes, and have a word value of 1. Nodes n7 and n13 are matched part-of-speech nodes, and among these, node n7 has a part-of-speech value of 0.7 for auxiliary verbs, and node n13 has a part-of-speech value of 0.5 for transitive verbs.

[0435] Below, we consider the match values ​​of these matched words and parts of speech as the source of node values, and show how they propagate to the node values ​​of other nodes according to equation (7). Nodes n4 to n3 have one child node, so they propagate without attenuation. Node n5 is an invalid node, so its node value is 0. Node n2 has a node value of 0.5, which is 1 divided by the number of child nodes, 2. Node n11 has a matched word, so its word value is 1, which propagates to node n10 without attenuation. Node n13 has a matched part of speech, and since it is a transitive VPT, its part of speech value is 0.5, which propagates to node n12 without attenuation. Node n9 has a node value of 0.75, which is the average of its child nodes. Node n16 is a matched word, so its word value is 1, which propagates to node n15 without attenuation. Node n17 is an invalid node, so its node value is 0. Therefore, the node value of node n14 is the average of its child node values, which is 0.5. The node value of node n8 is 0.625, which is the sum of the node values ​​of its child nodes, 1.25, divided by the number of child nodes, 2. The node value of node n6 is the average of its child nodes, which is 0.6625. The node value of node n1, the top node, is the average of its child node values, which is 0.58125.

[0436] By repeatedly propagating node values ​​in the form of equation (7) from the matching nodes in the temporary exclusion tree to higher levels, it is possible to give tree-like average node values ​​to all nodes in the temporary exclusion tree. The sum of the tree-like average node values ​​TA in the temporary exclusion tree is called the tree-like average sum TAST. This TAST is one of the indicators that express the capacity of the temporary exclusion tree, and is called the tree-like average tree value.

[0437] The sum of the tree-like average node values ​​TA of all nodes of a temporary exclusion tree subtree, with a certain node constituting the temporary exclusion tree as the top node, is called the tree-like average sum TAS (Tree Average Sum) of that subtree. TAS can be found by moving the top node of the subtree up along the ascending path of the node values ​​of the temporary exclusion tree. When the top node of the subtree reaches the top node of the temporary exclusion tree, the tree-like average sum TAS there is the tree-like average sum TAST. This method can be implemented as an algorithm, and this will be discussed later.

[0438] As mentioned above, these node values ​​are shown after the arrows of each node in Figure 61(c). The sum of these node values, the tree average sum TAST, is 11.31875. This TAST value is the tree value calculated using the tree average node value calculation method, which represents the capacity of the temporary exclusion tree in Figure 61(c). As mentioned above, in this calculation, the match value of the match node was treated as the node value of that node.

[0439] So far, we have discussed the tree-average-type node value TA and its calculation method. Next, we will discuss the other type, the path-average-type node value called PA, and its calculation method.

[0440] The names of the variables used hereafter are shown in Table 1.

[0441] In a node relationship with one parent-child relationship, the path average type node value PA of the parent node at the parent node X is defined by the following formula (8): Here, as shown in Table 1, the variable WGS is the sum of the match values ​​of the match nodes governed by the node X, the variable LNC is the number of valid child nodes, and the variable TA is the tree average value of the node X defined in formula (7). PA = WGS × LNC × TA (8) = (Σ b WGS)×LNC×(Σ b TA) / LAC (8)' WGS = Σ b WGS (9)

[0442] Equation (8) shows that the tree average value type node value TA multiplied by the coefficient (WGS × LNC) is the path average value type node value PA. Substituting equations (9) and (7) into equation (8) transforms it into equation (8)'. Equation (9) shows that the sum of the match values ​​of child nodes is the sum of the match values ​​of parent nodes.

[0443] An example will be used to explain equation (8). Figure 62(a) shows the case where the only matching node dominated by node X is node Ca, which has a matching value ca. In this case, the dominating node matching value sum at node X is the value ca that is propagated from matching node Ca via child node Y1. Also, the number of effective child nodes LNC is 1 because the only effective node is node Y1. The tree node value TA is (y1) / n, which is the tree average value of node Y1 divided by the number of child nodes LAC, according to equation (7). The value connected with node X by an equal sign in Figure 62(a) is the path average value PA of node X. Note that the part enclosed in parentheses for node Y1 indicates the dominating node matching sum and the tree average value.

[0444] Figure 62(b) shows the case where node X dominates three matching nodes: node Cb with matching value cb, node Cc with matching value cc, and node Cd with matching value cd. In this case, the total matching value at node X is the sum of the matching values ​​of the dominating matching nodes (cb + cc + cd). The effective child nodes are nodes Y1 and Y2, and the number of effective child nodes is 2. The tree average value TA is (y1 + y2) / n, which is the sum of the tree average value y1 of child node Y1 and the tree average value of child node Y2 divided by the number of child nodes n. The value connected with node X by an equal sign in Figure 62(b) is the path average value PA of node X, which is given as the product of these values. The parts enclosed in parentheses for nodes Y1 and Y2 are the dominating node matching sum and tree average value for each node.

[0445] Here, we will explain the basis of formula (9). It indicates that the dominating node match sum WGS of a parent node is the sum of the WGS of its child nodes. This can be explained by Figure 62(b). In other words, the set sum of the match nodes dominated by a child node is the match node of the parent node, so the dominating node match value sum WGS of a parent node is the sum of the dominating node match value sums of its child nodes. In this way, the tree average value TA given by formula (7) is the sum of the TA of the child nodes divided by the child nodes, whereas the dominating node match value sum WGS of a child node is not divided by the number of child nodes.

[0446] As with equation (7), equations (8), (8)', and (9) deal with specific parent nodes, so no subscript is added to identify the parent node.

[0447] By repeatedly propagating node values ​​in the form of equation (8)' from the matching nodes in the temporary exclusion tree from child nodes to parent nodes, it is possible to give path average node values ​​PA to all nodes in the temporary exclusion tree. As shown in Table 1, the sum of path average node values ​​PA in the temporary exclusion tree subtrees is called the path average sum PAS. When the top node of the subtree reaches the top node of the temporary exclusion tree, the tree average sum PAS there is the path average sum PAST. This PAST, along with the aforementioned TAST, is one of the indicators that express the capacity of the temporary exclusion tree, and is called the path average tree value.

[0448] Figure 62(c) is an example of node value propagation from a matching node using path average node value calculation. This temporary exclusion tree is the same as that in Figure 61(c). The first part of each node string represents a phrase structure component or word, the part in parentheses is the node number for the purpose of this explanation, and the part following the arrow is the matching value for the matching word, and for other nodes, the path average node value PA calculation formula and its calculation result using formula (8).

[0449] Nodes n4, n11, and n16 are matched word nodes, and have a word value of 1. Nodes n7 and n13 are matched part-of-speech nodes, and of these, node n7 has a part-of-speech value of 0.7 for auxiliary verbs, and node n13 has a part-of-speech value of 0.5 for transitive verbs. The handling of these word values ​​and part-of-speech values ​​is the same as in the tree-like average value type.

[0450] In the case of Figure 62(c), the path average value sum PAST value is 23.1275. As mentioned above, PAST is also called the path average tree value.

[0451] The above is the basic theory of the operation of "V. Temporary Exclusion Tree Tree Value Unit" for finding the tree value of a temporary exclusion tree.

[0452] In this way, the path average value PA at a node is the tree average value TA multiplied by two variables. Among these variables, the governing node agreement value sum WGS is the sum of agreement values ​​that are the driving force behind the path average value PA, and is a variable that indicates the correctness of the path average value PA. Another variable, the number of valid nodes LNC, represents the number of paths to the parent node, and is therefore a variable that indicates the reliability of the path average value PA.

[0453] In this way, the tree value of the temporary exclusion tree given by TAST or PAST is given as the sum of its node values ​​TA or PA. A filter is needed to prevent the tree value of the temporary exclusion tree from becoming large due to a large number of nodes, or from becoming large due to the node values ​​of some nodes.

[0454] A quality index of the temporary exclusion tree is required for this filtering. The following is the basic method of operation of "V. Temporary Exclusion Tree Tree Value Unit" for calculating the quality index of the temporary exclusion tree.

[0455] One of the quality indicators is the average value of the node values ​​of the valid nodes in the temporary exclusion tree. The calculation methods for the tree average value type node value average TAAv and the path average value type node value average PAAv are shown in the following equations (10) and (11), respectively. TAAv = TAST / NCST (10) PAAv = PAST / NCST (11) In the formula, TAAv is the average of the tree average type node values ​​at the effective nodes, and PAAv is the average of the path average type node values ​​at the effective nodes, and both can be quality indicators.

[0456] As shown in Table 1, TAST in the formula is the sum of tree average values, i.e., the tree average tree value, PAST is the sum of path average values, i.e., the path average tree value, and NCST is the sum of the number of valid nodes.

[0457] As shown in Table 1, the sum of the path average node values ​​PA of all nodes in a temporary exclusion tree subtree, with a certain node constituting the temporary exclusion tree as the top node, is called the path average sum PAS of that subtree. PAS can be found by moving the top node of the subtree up along the ascending path of the node values ​​of the temporary exclusion tree. When the top node of the subtree reaches the top node of the temporary exclusion tree, the path average sum PAS there is the path average total PAST. This method can be implemented as an algorithm in the same way as the tree-like average sum TAST, and this will be discussed later.

[0458] In the example of Figure 61(c), the total number of valid nodes NCST is 15 and the total tree average value TAST is 11.31875, so the tree average node value average TAAv of the valid nodes is 0.7546. This value indicates good properties as a temporary exclusion tree.

[0459] Similarly, in the example of Figure 62(c), the total number of valid nodes NCT is 15 and the total path average value PAST is 23.3775, so the path average type node value average PAAv at the valid nodes is 1.3385. This value also indicates good properties as a temporary exclusion tree.

[0460] We will now discuss the application of the coefficient of variation, another quality index. The coefficient of variation is defined as the standard deviation divided by the mean value. This is applied to the tree-like average node value of the temporary exclusion tree. Equation (12) shows this.

[0461]

number

[0462] All variables in equation (12) relate to the tree-mean-type node values ​​for all nodes in the temporary exclusion tree. σ is the standard deviation, and m is the mean value TAAv shown in equation (10). NCST is the sum of the number of valid nodes. TAi is the tree-mean-type node value of the i-th node in the temporary exclusion tree. The summation symbol indicates the summation over all valid nodes in the temporary exclusion tree. Transforming this gives us equation (13) below, where TAST is the tree-mean-type sum given by equation (14), and T2ST is the tree-mean-type sum of squared node value given by equation (15). These names have already been given in Table 1.

[0463]

number

[0464]

number

[0465]

number

[0466] In the example of Figure 61(c), the value of TAST is 11.31875. The value of T2ST, which is the square of the node value at each valid node, is as shown in Figure 63. Here, an arrow is placed after each valid node, followed by an equals sign to represent the squaring of the tree-like average node value, followed by the value of the tree-like average node value squared T2. The sum T2ST of the tree-like average node value squared T2 over all nodes is approximately 9.22, and this value is shown next to the temporary exclusion tree. The coefficient of variation σ / m is a very small value of approximately 0.282, as shown in equation (16), which is a good value for a temporary exclusion tree.

[0467]

number

[0468] We have shown above how to express the quality of a temporary exclusion tree using the tree-like average value type node value average TAAv of effective nodes in formula (10), the path average value type node value average PAAv of effective nodes in formula (11), and the coefficient of variation in formula (13). Of these, the larger the first two, the better the quality of the temporary exclusion tree, and the smaller the coefficient of variation, the better the quality. As explained in the explanation of formulas (10) and (11), these are used as filters for the temporary exclusion tree, and are used appropriately depending on the situation, such as the field in which the input sentence originates.

[0469] Using the example in Figure 61, we have described the tree-average node value TA and its sum on the temporary exclusion tree, the tree-average sum TAST, and using the example in Figure 62, the path-average node value PA and its sum, the path-average sum PAST. We have also described the tree-average node value average TAAv and the path-average node value average PAAv using these values. We have also described the coefficient of variation σ / m using the tree-average sum of squares T2ST.

[0470] The above is the basic method of operation of "V. Temporary Exclusion Tree Tree Value Unit" for determining the quality index of a temporary exclusion tree.

[0471] What has been described so far is the basic method for the operation of the "V. Temporary Exclusion Tree Tree Value Unit" for calculating the tree value and quality index of a temporary exclusion tree, and the values ​​calculated in Figures 61(c) and 62(c) were calculated manually by inspection. Below, we will explain how to use an algorithm to calculate the tree value and quality index based on the theory described above. In other words, we will explain how to configure the "V. Temporary Exclusion Tree Tree Value Unit" shown in Figure 34. As an example, we will use the temporary exclusion tree shown in Figure 64(a), which is a compromise between Figures 48 and 49, which are slightly simpler than Figures 61 and 62, from the perspective of simplifying the description and maintaining continuity of the usage example. In other words, this is a temporary exclusion tree with a matching node "a" with a word value of 1 and a part-of-speech node PREP with a part-of-speech value of 0.7. As shown in Figure 64, a node number is assigned to each node.

[0472] In Figure 64(a), the manually calculated tree-like average value type node value TA, path average value type node value PA, tree-like average value type node value squared T2, tree-like average value sum TAS, path average value sum PAS, and tree-like average value sum of squares T2S are shown following the arrow after the node name with the node number.

[0473] In the data calculation method using an algorithm, i.e., the construction method of the "V. Temporary Exclusive Tree Tree Value Unit", the sum of node values ​​such as TA and PA is calculated by stacking the node values ​​on the temporary exclusive tree. This stacking is first done by inspection, and then by using the flowchart of the "V. Temporary Exclusive Tree Tree Value Unit" shown in Figure 65. This flowchart describes the operation of one layer of the "V. Temporary Exclusive Tree Tree Value Unit" which performs recursive calculations.

[0474] Figure 64(b) is a diagram in which data attached to each node is added to the temporary exclusion tree of Figure 64(a). The accumulation of node values ​​occurs from the lower levels of the temporary exclusion tree, so the accumulation will be explained starting from the lowest node.

[0475] Each node has the following 10 types of data items. These are all the necessary data items. When calculating data using the flowchart in Figure 65, data items related to the operations in the flowchart are added to these.

[0476] The first data item is the node number to which the data value belongs. This is indicated by the data item name "layer." The name "layer" comes from the layer handled by the "V. Temporary Exclusive Tree Value Unit," which performs recursive operations. The figure numbers in Figure 69, which will be described later and show each operation in Figure 65, are added in parentheses. The next data item is the tree-like average value type node value TA calculated by equation (7), which is the tree-like average value type node value item held by the node specified by the layer value. The next data item is called WGS, which is the dominating node match value sum given as WGS as shown in equation (9). It is the sum of the match values ​​of the matching nodes that have paths to the child nodes of the node in question. "Having a path" from a lower node is equivalent to "dominating" the lower node, so the item WGS is the sum of the match values ​​of the matching nodes that the node in question dominates. This is used to obtain the path-like average value type node value PA shown in Figure 62.

[0477] The item LAC for the number of total child nodes is the item for the number of child nodes connected directly below the node in question, and the item LNC for the number of valid child nodes is the item for the number of valid nodes connected directly below the node in question. The value obtained by subtracting the LNC value from the LAC value is the number of invalid child nodes. The first letter L indicates that this variable is local.

[0478] The five data items with the letter "S" at the end of the abbreviation string below the asterisk "*" delimiter are the sum of the node data in the subtree of the temporary exclusion tree with the node in question as the top node. That is, the tree average sum item TAS contains the sum of the tree average type node values ​​TA below the node in question, the path average sum item PAS contains the sum of the path average type node values ​​PA, and the tree average sum of squares T2S contains the sum of the tree average type node values ​​TA. The valid node count sum item NCS contains the number of valid nodes in the subtree with the node in question as the top node, and the invalid node count sum item BCS contains the number of invalid nodes.

[0479] The values ​​of data items that end with the letter "S" in their strings are calculated by "addition." First, the calculation methods for TAS, PAS, and T2S are shown in equations (17), (18), and (19), respectively. That is, the TAS, PAS, and T2S values ​​of the node are constructed by adding the squares of the TA, PA, and TA values ​​of the node itself to the sum of the TAS, PAS, and T2S values ​​of the child nodes. TAS = Σ b TAS + TA (17) TAS= (Σ b TAS)×(1 + 1 / LAC) (17)' PAS = Σ b PAS + PA (18) PAS = Σ b PAS + (Σ b WGS)×LNC×TA (18)' T2S = Σ b T2S + TA 2 (19) NCS = Σ b NCS + 1 (20) BCS = Σ b BCS (21)

[0480] Here, the path average value PA at the node in question and the tree average value squared T2, which are the squares of the TA values, are not treated as data items, but only the path average value sum PAS and the tree average value sum T2S, which are the sums in the subtree and the sums of squares from lower down, are treated. Note that the tree average value TA is treated as a data item because it is necessary to calculate the path average value PA and the tree average value squared T2.

[0481] The total number of valid nodes (NCS) of a subtree is calculated by adding 1 to the sum of the total number of valid nodes (NCS) of its child nodes, as shown in equation (20), and the total number of invalid nodes (BCS) is calculated by adding the total number of invalid nodes (BCS) of its child nodes, as shown in equation (21). The total number of valid nodes (NCS) and the total number of invalid nodes (BCS) are used to calculate the tree-average-type node value average (TAAv) and path-average-type node value average (PAAv), respectively, given by equations (10) and (11). Note that equations (17)' and (18)' are obtained by decomposing the tree-average-type node value (TA) and path-average-type node value (PA), respectively, and are not used to calculate the tree-average-type node value average (TAS) and path-average-type node value average (PAS). The total number of child nodes (LAC) and the total number of valid child nodes (LNC) in these equations are the total number of child nodes and the number of valid child nodes of the node in question, respectively. All of these equations represent the operation of adding the second term to the first term on the right-hand side.

[0482] As in the calculation of the tree average value type node value TA in equation (7) and the path average value type node value PA in equation (8), a specific node is handled here, so no subscript is added to specify the node.

[0483] The data values ​​associated with individual nodes are shown below. As mentioned above, the acquired data is written next to each node in Figure 64(b). The data values ​​generated by adding data from the bottom up in the tree are explained in order of generation. First, we will consider the word node "the" in node n4 (layer 4). Node "the" is a matching word node, and due to word matching, this node receives a word value of 1, i.e., a matching value of 1. According to the definition described in relation to equation (7), this is the tree-like average value of this node, so 1.0 is introduced into the tree-like average type node value item TA. Next, node n4's own node value of 1.0 is introduced into the dominating node matching value sum WGS, which is the sum of the node values ​​it dominates. Since this node is the lowest-level node and has no child nodes, 0 is entered into the total child node count item LAC and also into the effective child node count item LNC. Additionally, a tree-like average type node value TA value of 1.0 is introduced into the tree-like average sum TAS, which is the sum of the tree-like average values ​​of the currently handled node and its subordinates.

[0484] There is no data item for the path average value type node value PA, but there is an item PAS for the path average value sum of the current node and its subordinate nodes, which is the summation result. The path average value type node value PA for the matched word and matched part of speech is the same as the matched word value and part of speech value. In this case, the matched word value 1.0 is first entered in the path average value sum item PAS.

[0485] There is no data item for the tree-like average value type node value squared T2, but there is an item T2S for the sum of the tree-like average value squared of the current node being handled and its subordinates, which is the sum of the tree-like average value type node value. Here, the square of the TA value in the tree-like average value type node value item is first entered. Therefore, the content of T2S becomes 1.0.

[0486] Since node n4 is a valid node with a node value, first enter 1 in the item for the sum of the number of valid nodes NCS, which is the item for the total number of valid nodes of the currently handled node and its subordinates. Also, enter 0 in the item for the sum of the number of invalid nodes BCS, which is the item for the total number of invalid nodes of the currently handled node and its subordinates.

[0487] From here on, we will proceed with our consideration along the propagation path of node values. We will consider node DET, which represents the part of speech of node n3 (layer 3). According to equation (7), the tree-like average node value TA of node n3 is 1.0, which is stored in the item TA. According to equation (9), the value of node 4 is carried over as is to the item WGS of the dominating node matching value sum. Since the only child node is an effective node, a 1 is introduced into the item LAC of the total child node count, and a 1 is introduced into the item LNC of the effective child node count.

[0488] The tree-like average node value TA at node n3 is 1.0. This is added to the item TAS of the average sum of path values ​​of the current node and its subordinate nodes according to equation (17), and the value becomes 2.0.

[0489] The path average node value PA at node n3 is calculated as 1.0 using equation (8). This is added to the path value average sum item PAS of the current node and its subordinate nodes according to equation (18), and the value becomes 2.0.

[0490] The square of the tree-like average node value TA at node n3 is 1.0. This is added to the average sum of squares T2S, which is the sum of the tree-like average sum of squares of the current node and its subordinate nodes, according to equation (19), and the value becomes 2.0.

[0491] The item NCS, which is the sum of the number of active nodes at the currently handled node and its subordinate active nodes, has the value 1 added to it according to formula (20), becoming 2. Also, the item BCS, which is the sum of the number of inactive nodes at the currently handled node and its subordinate nodes, has nothing added according to formula (21), so the accommodation value remains 0.

[0492] Let us consider node NP, which represents the noun phrase at node n2 (layer 2) above node n3. According to equation (7), the tree mean value of node n2 is 0 because the node value of node n5 is 0, and this is stored in the tree mean value type node value item TA. According to equation (9), the value of node n3 is carried over as is to the dominating node match value sum WGS of this node. There are two immediate child nodes, one of which is an effective node, so 2 is introduced into the total child node count LAC and 1 is introduced into the effective child node count LNC.

[0493] The tree-like average node value TA at node n2 is 0.5. This is added to the tree-like average sum TAS, which is an item in the tree-like average node value total of the current node and its subordinate nodes, according to equation (17), and the value becomes 2.5.

[0494] The path average value type node value PA at node n2 is calculated as 0.5 using equation (8). This is added to the path average value sum item PAS, which is the total of the path average value type node values ​​of the current node and its subordinate nodes, according to equation (18), and the value becomes 2.5.

[0495] The tree mean value squared node value T2 at node n2 is 0.25. This is added to the item tree mean value squared node value T2S, which is the total item of the tree mean value squared node value of the current node and its subordinates, according to equation (19), and the value becomes 2.25.

[0496] The item NCS, which is the total number of active nodes at the currently handled node and its subordinate nodes, is incremented by 1 according to formula (20), becoming 3. Also, the item BCS, which is the total number of inactive nodes at the currently handled node and its subordinate nodes, is incremented by 1 according to formula (21), becoming 1.

[0497] The next node that can be handled is node n7 (layer 7), which is not node n1 above node n2. This node will be examined from now on, and the data calculation algorithm must automatically select this handling order.

[0498] Below we will discuss the part-of-speech node PREP for node n7 (layer 7). It is a part-of-speech match, and the matching part-of-speech PREP generates a part-of-speech value of 0.7, as seen in the dictionary in Figure 57. According to the definition given in relation to equation (7), this is the tree-like average value TA of this node, so 0.7 is entered into the tree-like average type node value item TA. Next, node n7's own node value of 0.7 is also entered into the dominating node match value sum WGS, which is the sum of the node values ​​it dominates. Since this node is the lowest-level node and has no child nodes, 0 is entered into the total child node count item LAC and also into the effective child node count item LNC. Finally, the tree-like average type node value TA value of 0.7 is entered into the tree-like average type node sum item TAS, which is the sum of the tree-like average type node values ​​of the currently handled node and its subordinates.

[0499] There is no data item for the path average value node value PA, but there is a path average sum PAS item, which is the sum of the path average value node values ​​of the current node and its subordinate nodes, which is the result of the addition. The path average value node value PA for the matched word and matched part of speech is the same as the matched word value and part of speech value. In this case, the matched part of speech value 0.7 is first entered in the path average sum item PAS.

[0500] There is no data item to be written as T2 for the tree mean squared sum, but there is an item T2S for the sum of the tree mean squared sum of the current node and its subordinate nodes, which is the summation result. Here, the square of the tree mean value item TA value is first entered. Therefore, the content of T2S is 0.49.

[0501] Since node n4 is a valid node with a node value, first enter 1 in the item for the sum of the number of valid nodes NCS, which is the item for the total number of valid nodes of the currently handled node and its subordinates. Also, enter 0 in the item for the sum of the number of invalid nodes BCS, which is the item for the total number of invalid nodes of the currently handled node and its subordinates.

[0502] Let us consider node PP, which represents the prepositional phrase of node n6 (layer 6), which is higher than node n7. According to equation (7), the tree-like average value type node value TA of node 6 is 0 because the node value of node 8 is 0, and this is stored in the item TA. According to equation (9), the value of node 7, 0.7, is carried over as is to the dominating node match value sum WGS, which is the item of the dominating node. Since there are two child nodes, one of which is an effective node, 2 is introduced into the total child node count LAC and 1 is introduced into the effective child node count LNC.

[0503] The tree average value sum TAS, which is an item in the tree average node value sum of the currently handled node and its subordinates, is set to 1.05 according to equation (17). The path average type node value PA at node n6 is calculated using equation (8) and is 0.245. This is added to the path average type node value sum PAS, which is an item in the path average type node value sum of the currently handled node and its subordinates, and the value becomes 0.945.

[0504] The value 1 is added to the NCS, which is the item for the total number of valid nodes at the currently handled node and its subordinate nodes, according to formula (20), making it 2. Also, the value 1 is added to the BCS, which is the item for the total number of invalid nodes at the currently handled node and its subordinate nodes, according to formula (21), making the accommodation value 1.

[0505] Now that we have finished dealing with nodes n2 and n6, we can move on to dealing with node n1, which is a node of the noun phrase NP. First, we find the value of the tree average node value TA. The tree average node value TA of one of the child nodes, node n2, is 0.5, and the tree average node value TA of the other, node n6, is 0.35. The sum of these two is 0.85, and since node n1 has two child nodes, equation (7) gives the tree average node value TA of node 1 as 0.425. This is entered into the item TA.

[0506] The sum of the match values ​​of matched nodes that have paths to child nodes is calculated. Node n2 inputs 1.0 as the dominating node match value sum WGS value, and node n6 inputs 0.7 as the dominating node match value sum WGS value, so according to formula (8), the dominating node match value sum WGS of node n1, the parent node, is 1.7. The total number of child nodes is 2, and the number of effective child nodes is also 2, so these values ​​are entered into the total child node count item LAC and the effective child node count item LNC, respectively.

[0507] As shown in equation (17), the tree average sum item TAS is the sum of the tree average node values ​​of the current node and its subordinates. This value is the sum of the tree average sum TAS value of node n2, the tree average sum TAS value of node n6, and its own tree average type node value TA value, and this value 3.975 is introduced into the tree average sum TAS value. Up until now, the tree average sum TAS value has been calculated by adding up the tree average type node value TA value of each node, and has reached the top node of the temporary exclusion tree. This tree average sum TAS value is the sum of the tree average sum TA values ​​of the temporary exclusion tree. This is called the tree average sum TAST. The tree average sum TAS and the tree average sum TAST are shown connected by an equal sign in layer 1 of Figure 64.

[0508] As shown in equation (18), the path average sum item PAS is the sum of the path average node values ​​of the current node and its subordinate nodes. To calculate this value, the path average node value PA of node n1 is calculated. As shown in equation (8), this is given by WGS × LNC × TA, and its value is 1.445.

[0509] Adding this value to the path average sum PAS value of node n2 and the path average sum PAS value of node n6 gives 4.89, which is the total path average sum PAS value of the current node and its subordinates, and this is the path average sum PAS value of node n1. As with the tree average sum PAS value TA, the path average sum PAS value of node n1 is the path average sum PAST value, which is the sum of the path average sum PA values ​​of the temporary exclusion tree. This is shown with an equal sign for layer 1 in Figure 64.

[0510] As shown in equation (19), the tree mean squared item T2S is the sum of the squared tree mean node values ​​T2 of the currently handled node and its subordinates. To calculate this value, calculate the squared tree mean node value T2 of node n1. Add this value to the tree mean squared tree sum T2S value of node n2 and the tree mean squared tree sum T2S value of node n6 to get 3.043125, which is the tree mean squared tree sum T2S value of node n1, the currently handled node. This is in other words the tree mean squared tree sum over the entire temporary exclusion tree. This is called the tree mean squared tree sum T2ST. In Figure 64, the tree mean squared tree sum T2S value and the tree mean squared tree sum T2ST are connected by an equal sign in the description of layer1.

[0511] As shown in equation (20), the sum of the number of valid nodes NCS, which is an item in the total number of valid nodes of the currently handled node and its subordinates, is the sum of the NCS value of the number of valid nodes of node n2 and the NCS value of the number of valid nodes of node n6 plus 1, which is 6. Also, as shown in equation (21), the sum of the number of invalid nodes BCS, which is an item in the total number of invalid nodes, is the sum of the BCS value of the number of invalid nodes of node n2 and the BCS value of the number of invalid nodes of node n6, which is 2. Here again, the NCS value and the BCS value are equal to the total number of valid nodes NCST and the total number of invalid nodes BCST, which are the totals of the number of nodes in the entire temporary exclusion tree, respectively, and this is indicated by an equal sign.

[0512] The variables related to the performance of a temporary exclusion tree are the sum of tree average values ​​TAST, the sum of path average values ​​PAST, the sum of squared tree average values ​​T2ST, the sum of the number of valid nodes NCST, and the sum of invalid nodes BCST. These are obtained from the variables that occur at the top node: the sum of tree average values ​​TAS, the sum of path average values ​​PAS, the sum of squared tree average values ​​T2S, the sum of the number of valid nodes NCS, and the sum of invalid nodes BCS. In addition, the tree average value TA at the top node can also be used as a variable to express the performance of a temporary exclusion tree.

[0513] In this way, the above data can be obtained as attributes of the top-level node by manually using equations (7), (8), (9), (17), (18), and (19) from the lowest level. This is shown in Figure 64(b).

[0514] Hereafter, using these formulas (7), (8), (9), (17), (18), and (19), we will show how to calculate the sum of tree average values ​​TAS, the sum of path average values ​​PAS, the sum of squared tree average values ​​T2S, the sum of the number of valid nodes NCS, the sum of invalid nodes BCST, and the TA value at the top node of the temporary exclusion tree using the recursive flowchart of "V. Temporary exclusion tree tree value unit" shown in Figure 65. Here again, we will use the examples shown in Figures 64(a) and (b).

[0515] This flowchart uses the operational rules for one layer as a basic unit. A layer is called by a higher layer, performs an operation while calling a lower layer, and reports the results to the higher layer. The inputs to one layer are the layer number of the upper layer given by the upper layer and the subtree of the temporary exclusion tree that the current layer should process. The top node number of this subtree is the layer number of the current layer. In other words, each layer number has a one-to-one correspondence with a node number in the temporary exclusion tree. The top node of this temporary exclusion tree subtree is called the current processing node.

[0516] A layer controls the flow of data between its associated registers. Among these registers, the data values ​​stored in registers TA, which stores the tree-like average node value of the currently handled node; register WGS, which stores the sum of the dominating node match values; register LAC, which stores the total number of child nodes; register LNC, which stores the number of valid child nodes; register TAS, which stores the tree-like average sum; register PAS, which stores the path average sum; register T2S, which stores the tree-like average sum of squares; register NCS, which stores the sum of the number of valid nodes in the subtree with the currently handled node as the top node; and register BCS, which stores the sum of the number of invalid nodes in the subtree with the currently handled node as the top node, are data values ​​stored in the data items in Figure 64 with the same names as the register names. In addition, there is a current layer register S, which identifies the current layer. This data value is stored in the layer item in Figure 64. Figure 64 shows the results of manual calculations, but these are implemented in layer calculations.

[0517] There are registers specific to layer operations that do not exist in manual operations. One of these is the upper layer register U, which stores the number of the upper layer that called the current layer. In addition to this, there is the operation number register V, which displays the operation currently being performed in the layer, the unprocessed child subtree array register CR, which stores the child subtree array of the currently processed node in the layer, and the processed child subtree TA value sum register GC, which stores the sum of the tree-like average node values ​​TA of the processed child subtrees.

[0518] As mentioned above, the purpose of the flowchart in Figure 65 is to give a temporary exclusion tree and use an algorithm to calculate data that represent the performance of this temporary exclusion tree, such as the sum of tree average values ​​TAST, the sum of path average values ​​PAST, the sum of squared tree average values ​​T2ST, the sum of valid node counts NCST, and the sum of invalid node counts BCST.

[0519] The operations consist of V1 to V12 as follows: V1: Call from higher level, V2: Structure existence check, V3: Child subtree decomposition, V4: Child subtree termination, V5: First subtree extraction, V6: Invalid node removal, V7: Subtree value addition, V8: Self node addition, V9: Match correspondence, V10: Valid node processing, V11: Invalid node processing, V12: Report to higher level. Each operation is indicated by a pair of operation symbol and its title, and an outline of the operation is shown in the rectangle or diamond that represents the operation.

[0520] As mentioned above, Figure 65 is a flowchart of one layer that processes one specific currently handled node of the temporary exclusive tree value. That is, a call from the upper layer is received by the call operation V1 from the upper layer and an operation is performed, and a report to the upper layer is made by the report to upper layer operation V12. Also, the operation of the lower layer is called by the first subtree extraction operation V5, which starts the operation of the lower layer. Then, a report is received from the lower layer by the invalid node exclusion operation V6. Each operation that makes up this flowchart will be explained below. That is, V1: Call from above operation performs the operation "The node number of the calling side and the subtree of the called side are given from above. The top node is stored in register S. The node number of the calling side is put into register U."

[0521] V2: The structure determination operation determines whether the given subtree is a tree consisting of multiple nodes, generates a yes or no decision, and determines the subsequent operation.

[0522] V3: The child subtree decomposition operation performs the following operations: "The top node is stored in register S, but construct a child subtree array after removing the top node and store it in register CR. Store the number of child subtrees in register LAC. Reset register LNC."

[0523] V4: The child subtree termination operation determines whether "CR is empty", and if it is empty, it makes a yes decision, and if it is not empty, it makes a no...

Claims

1. means for receiving an input sentence and an example sentence tree and determining a common word sequence between the input sentence and a terminal node sequence of the example sentence tree; means for constructing a temporary exclusion tree from the example sentence tree having the common word string as an end node, the temporary exclusion tree having a tree value proportional to the number of nodes of the temporary exclusion tree; A means for analyzing the input sentence using grammar rules to obtain an OR tree, the OR tree being a tree in which candidates of the analysis result are grouped together at nodes; A method for constructing a sentence parse tree in an example-driven machine translation analysis result selection device comprising: constructing the temporary exclusion tree having an arbitrary node in the example sentence tree as a top node; a step of assigning a word information amount of 1 to a matching word among the lowest nodes of the temporary exclusion tree and assigning an associated part-of-speech information amount to a part-of-speech node; a step of assigning, between nodes in a parent-child relationship in the example sentence tree, the sum of the amounts of information possessed by the child nodes divided by the number of child nodes possessed by the parent node as the amount of information possessed by the parent node; a step of calculating a sum of the word information amount, the part-of-speech information amount, and the parent node, the sum being the tree value; a step of sequentially attempting to perform an upper cover on the OR tree using the temporary exclusion tree and an exclusion tree stored in the example-driven machine translation analysis result selection device, wherein the upper cover adds a node number to a node of the OR tree that covers each node of the temporary exclusion tree that has a structure identical to a subtree including the top node of the OR tree; If the upper cover is successful, the resulting exclusion tree is included in a group of opposing exclusion trees assigned the node number of the top node of the OR tree; for each of the OR trees, arranging the groups of opposing exclusion trees to obtain an opposing exclusion tree group arrangement; a step of arranging the conflict exclusion trees in descending order of the accumulated tree values ​​in each of the conflict exclusion tree groups constituting the conflict exclusion tree group array; constructing the sentence parse tree from the array of the opposing exclusion trees in which the opposing exclusion trees are arranged in descending order of the tree values; A method comprising:

2. a step of consulting a part-of-speech dictionary for a word string included in the input sentence; adding a set of a part of speech name and the part of speech information amount as first part of speech information to the end of each word included in the word string, and setting the word position of each word having the first part of speech information as a row element of a matching matrix; adding, as second part-of-speech information, the name of the part of speech immediately above the word at the lowest node in the example sentence tree, to the end of the word at the lowest node in the example sentence tree, and setting the word having the second part-of-speech information as a column element of the matching matrix; identifying the location of elements that match words or parts of speech; If the words match, adding a symbol to the word column of the match matrix; If the parts of speech match, add the part of speech information amount of the part of speech name that matches the row word of the matching matrix that matches the symbol to the part of speech name that matches the column word of the matching matrix; after adding the part-of-speech information amount, constructing the matching matrix by assigning element values ​​to the positions of the identified elements as elements of the matching matrix; The method of claim 1 further comprising:

3. a step of assigning the word to the node to which the symbol is added when the word to which the symbol is added matches a node to which the symbol is added in a sequence of lowest-level nodes of the example sentence tree; a step of overwriting the pair of the part of speech name and the part of speech information amount at the position of the part of speech immediately above the word in the example sentence tree and designating the node to which the symbol is added, when the part of speech name to which the part of speech information amount following the word matches the part of speech to which the symbol is added; A step of determining a dominating node that is the lowest node among the nodes that dominate all the nodes to which the symbol is added; deleting nodes on a path from the node to which the symbol is added to a dominating node and nodes other than sibling nodes of the nodes on the path; The method of claim 2 further comprising:

4. 2. The method of claim 1, wherein the tree value is a value indicating the certainty of the existence of the temporary exclusion tree.

5. a step of using an output subtree of the OR tree generated as the uncovered region portion as an initial input, and analyzing the input sentence using the grammar rules to obtain an OR tree; a step of obtaining a conflict exclusion tree group array, which is an array of conflict exclusion tree groups in which node numbers are assigned to each OR tree, by performing the process until there are no more OR trees to be processed while avoiding duplicate handling of OR trees; The method of claim 3 further comprising:

6. calculating the tree value from a lower conflict exclusion tree group toward a higher conflict exclusion tree group in the OR tree; arranging the calculated tree values ​​in ascending order; The method of claim 5 further comprising:

7. accepting a pair of an exclusion tree and a prohibition tree, and covering the top node of the exclusion tree with the top node of the prohibition tree; outputting information on the limit no when the entire coverage portion of the prohibition tree is included in the range of the exclusion tree; outputting information indicating a limit "yes" when the coverage portion of the prohibition tree is different from the exclusion tree; generating non-confined information when a subtree of the forbidden tree protrudes outside the exclusion tree region in a state where the forbidden tree covers the exclusion tree; Cover one exclusion tree belonging to the conflict exclusion tree group of one OR tree node with a prohibition tree, If the result is yes, move the processing target to the next exclusion tree in the group of conflict exclusion trees; If the limit is no, the exclusion tree is deleted from the conflict exclusion tree group to which the exclusion tree belongs, and the processing target is shifted to the next exclusion tree; In the case of non-confined, a pair of a prohibition tree that protrudes from one lower connection node outside the exclusion tree region and a group of conflicting exclusion trees of said lower connection node is presented to a lower recursive layer, and if the return value of any of said lower recursive layers is success, the processing target is shifted to the next exclusion tree in the group of conflicting exclusion trees, and if not, the next exclusion tree is deleted from the group of conflicting exclusion trees to which the next exclusion tree belongs, and then the processing target is shifted to the next exclusion tree; For one conflict exclusion tree in the conflict exclusion tree group, If there are conflicting exclusion trees that have not been deleted, return success to the upper layer; If the conflict exclusion tree no longer exists, return failure.

7. The method of claim 6, further comprising recursively executing:

8. The method according to claim 7, further comprising a step of determining whether a prohibition tree is included between a given prohibition tree and a subtree of the conflict exclusion tree, using a constituent node other than the lowest node of the given prohibition tree and conflict exclusion tree as the highest node.

9. a step of determining whether a prohibition tree is included between the head of an exclusion tree in the group of conflict exclusion trees and a subtree of the conflict exclusion tree; if no forbidden tree is included between the subtree of the conflicting exclusive tree and the new tree, suspending the determination of whether or not a forbidden tree is included between the subtree of the conflicting exclusive tree and the new tree, and returning information to the upper layer that no forbidden tree is included between the subtree of the conflicting exclusive tree and the new tree; The method of claim 8 further comprising:

10. selecting one of the conflict exclusion trees of the top node of the OR tree in a given conflict exclusion tree group array; a step of constructing the sentence parse tree by repeatedly merging a tree having the maximum tree value in a group of conflict exclusion trees having the same OR tree number as a lower connection node of one exclusion tree, starting from the conflict exclusion tree; The method of claim 7 further comprising:

11. 2. The method of claim 1, further comprising the step of manually modifying the parse tree obtained from the input sentence as needed and introducing it into the collection of example sentence trees.

12. 2. The method of claim 1, further comprising the step of: applying the same input sentence to the example-driven machine translation analysis result selection device and a sentence analysis method (STS) using word sequence-to-word sequence (seq2seq) conversion that uses a neural network trained by an accumulation of example trees (ETP) that accommodates a plurality of sentence analysis trees; obtaining a matching subtree between the output of the example-driven machine translation analysis result selection device and the output of the sentence analysis method; adding the obtained matching subtree to the example tree; and analyzing the same input sentence using the example-driven machine translation analysis result selection device, thereby obtaining a highly reliable analysis result in the example-driven machine translation analysis result selection device.

13. a step of acquiring matching subtrees between the output of the example-driven machine translation analysis result selection device and the output of a sentence analysis system (STS) using word string to word string (seq2seq) conversion that uses a neural network trained by an example sentence tree accumulation (ETP) that accommodates multiple sentence analysis trees by applying the same input sentence to the example-driven machine translation analysis result selection device and the output of the STS, acquiring additional matching subtree accumulations, and adding the acquired additional matching subtree accumulations to the ETP to obtain an ETP that includes multiple example sentence trees; the STS learning about the acquired additional matching subtree collection; The method of claim 1 further comprising:

14. The example-driven machine translation analysis result selection device: detecting a noun phrase from a result of parsing the source language sentence; extracting a noun phrase from a source sentence; retaining a trace of the extracted noun phrase as a noun; a step of performing seq2seq language conversion using word string conversion using a neural network on each of the body sentences including the extracted noun phrase and the noun phrase trace after the noun phrase extraction, and then outputting a highly accurate language conversion result by introducing each extracted noun phrase word string conversion result into the extracted noun phrase trace part of the single-string conversion result of the body sentence including the noun phrase trace; determining a noun phrase range from an S-expression representation of the result of the source language sentence syntactic analysis; detecting the extent of each of the noun phrases by detecting the beginning and end points of the noun phrases on an S-expression; performing a noun phrase detection operation in which noun phrases contained in one noun phrase are arranged in a row below the one noun phrase on an NP matrix; using the output of the noun phrase detection operation to determine whether to extract a containing noun phrase or a contained noun phrase for the other noun phrase contained in the one noun phrase, based on the start point, end point, and number of leaf words that each of the noun phrases dominates in the NP matrix; The method of claim 1 further comprising:

Citation Information

Patent Citations

  • Machine translation analysis result selection device

    JP4389332B2