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.
展开▼