The described technology can provide semantic translations of a selected language snippet. This can be accomplished by mapping snippets for output languages into a vector space; creating predicates that can map new snippets into that vector space; and, when a new snippet is received, generating and matching a vector representing that new snippet to the closest vector for a snippet of a desired output language, which is used as the translation of the new snippet. The procedure for mapping new snippets into the vector space can include creating a dependency structure for the new snippet and computing a vector for each dependency structure node. The vector computed for the root node of the dependency structure is the vector representing the new snippet. A similar process is used to train a transformation function for each possible node type, using language snippets already associated with a dependency structure and corresponding vectors.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method for generating vector space predicate training data comprising: receiving multiple snippets in a particular language wherein at least one of the multiple snippets comprises at least two words; for each selected snippet of one or more of the multiple snippets: building a dependency structure for the selected snippet, wherein the dependency structure for the selected snippet comprises multiple nodes having corresponding node types; for each selected node of one or more of the multiple nodes of the dependency structure for the selected snippet: obtaining a vector corresponding to the selected node; and storing, as a part of the vector space predicate training data, a grouping corresponding to the selected node, the grouping comprising: the obtained vector for the selected node, the node-type associated with the selected node, and parameter vectors representing a word groupings associated with lower level nodes and used to obtain a vector; and providing an indication of the vector space predicate training data. 2. The method of claim 1, wherein the multiple nodes of the dependency structure for the selected snippet comprise: one or more leaf nodes each corresponding to one of the one or more words of the selected snippet; one or more intermediate nodes based on one or more of: the one or more leaf nodes of the dependency structure for the selected snippet or one or more other intermediate nodes of the dependency structure for the selected snippet; and a root node based on at least one of the one or more intermediate nodes of the dependency structure for the selected snippet. 3. The method of claim 2, wherein building the dependency structure for the selected snippet comprises: dividing the selected snippet into word groups; creating a leaf node corresponding to each word group; and until the root node is added corresponding to a word group comprising all words of the selected snippet: selecting two or more nodes from the dependency structure as combine nodes wherein the combine nodes are nodes that have not been combined with any higher level node and that have a determined relationship; and creating a new node at a level one level higher the selected combine node with a highest level, wherein the new node corresponds to a combination of the word groups corresponding to the selected combine nodes, and wherein the new node is connected by edges to the selected combine nodes. 4. The method of claim 2, wherein the parameter vectors for each intermediate node are obtained from a pair of lower level vectors or a tuple of lower level vectors obtained from nodes at a level closer to a lowest level than that intermediate node; and wherein the parameter vectors for the root node are obtained from a pair of lower level vectors or a tuple of lower level vectors obtained from nodes at a level closer to the lowest level than the root node. 5. The method of claim 2, wherein obtaining the vector corresponding to the selected node is performed by: where the selected node is a leaf node, obtaining a pre-defined vector for the word group corresponding to the selected node; and where the selected node is not a leaf node, combining vectors corresponding to two or more lower level nodes connected to the selected node by edges, wherein the combining is based on a type determined between the word groups associated with the two or more lower level nodes. 6. The method of claim 1, wherein node types correspond to at least two of: modifier, noun phrase, determiner, verb phrase, having, doing, affection, position phrase, time phrase, quality phrase, or quantity phrase. 7. The method of claim 1, wherein the dependency structure is an inverted tree structure. 8. A computer-readable storage medium storing instructions that, when executed by a computing system, cause the computing system to perform operations for training a vector space predicate, the operations comprising: receiving vector space predicate training data comprising one or more groupings, wherein: each of the one or more groupings is associated with a type that is the same as other types in the one or more groupings; and each of the one or more groupings includes: an output vector and one or more parameter vectors used to create the output vector; obtaining the vector space predicate; for each selected grouping of at least one of the one or more groupings: applying the obtained vector space predicate to the one or more parameter vectors of the selected grouping to obtain a predicate vector; comparing the predicate vector to the output vector of the selected grouping to obtain a difference; and modifying the vector space predicate based on the difference; and providing an indication of the modified vector space predicate. 9. The computer-readable storage medium of claim 8, wherein comparing the predicate vector to the output vector comprises determining a cosine distance between the predicate vector to the output vector. 10. The computer-readable storage medium of claim 8, wherein the vector space predicate comprises a vector transformation function. 11. The computer-readable storage medium of claim 8, wherein the vector space predicate comprises a neural network. 12. The computer-readable storage medium of claim 8, wherein multiple iterations of the operations for training the vector space predicate are performed, each iteration performed with different sets of groupings, each set of groupings for a particular iteration associated with a different type than types associated with other sets of groupings for other iterations; and wherein each iteration creates a different vector space predicate associated with the type associated with the set of groupings used in that iteration. 13. The computer-readable storage medium of claim 8, wherein the obtained vector space predicate has been partially trained prior to the modifying of the vector space predicate. 14. A system for semantically transforming a snippet into an alternate domain comprising: a memory; one or more processors; an interface configured to receive the snippet; a dependency structure building module configured to build a dependency structure for the snippet comprising multiple nodes, the multiple nodes comprising at least one leaf node, at least one intermediate node, and a root node; a predicate applying module configured to, for each selected non-leaf node of one or more of the multiple nodes including at least the root node, compute a vector based on one or more nodes at a level lower than the selected non-leaf node; and a vector space computing module configured to: map the computed vector for the root node into a vector space; determine a matching vector previously mapped into the vector space that is in the alternate domain and that is closest to the computed vector for the root node mapped into the vector space; and select an output snippet in the alternate domain that corresponds to the matching vector; wherein the interface is further configured to provide an indication of the output snippet. 15. The system of claim 14, wherein each selected non-leaf node of one or more of the multiple nodes of the dependency structure is associated with a type; and wherein the type determined is based on a relationship between word groups associated with two or more parent nodes of the selected non-leaf node. 16. The system of claim 15, wherein the predicate applying module is configured to, for each selected non-leaf node of one or more of the multiple nodes, compute the vector based on the one or more nodes the level lower than the selected non-leaf node by: selecting a vector space predicate with a vector space predicate type corresponding to the type determined for the selected non-leaf node; and applying the selected vector space predicate to the vectors corresponding to the two or more parent nodes of the selected non-leaf node. 17. The system of claim 14, further comprising a vector space building module configured to: compute vectors representing snippets in the alternate domain; and map the vectors representing snippets in the alternate domain into the vector space; wherein the matching vector previously mapped into the vector space is one of the vectors representing snippets in the alternate domain. 18. The system of claim 14, wherein: the interface is further configured to receive a second snippet; the dependency structure building module is further configured to build a second dependency structure for the second snippet; the predicate applying module is further configured to compute a second vector for a second root node of the second dependency structure; and the vector space computing module is further configured to: map the computed second vector into the vector space; determine a second matching vector previously mapped into the vector space that is in the alternate domain and that is closest to the computed second vector; compare the second matching vector to the computed second vector to determine a difference; determining that the difference is above a threshold value; based on the determining that the difference is above the threshold value, using output from an alternate form of machine translation on the second snippet to obtain a second output snippet; and the interface is further configured to provide an indication of the second output snippet. 19. The system of claim 14, wherein the at least one leaf node is at a lowest level, the at least one intermediate node is at a level above the lowest level, and the root node is at a highest level. 20. The system of claim 14, wherein the snippet is in a domain of a particular natural language and the alternate domain is a domain of a natural language other than the particular natural language.