Legal claims defining the scope of protection, as filed with the USPTO.
1. A computing system comprising: a memory storing processor-executable program code; and a processor to execute the processor-executable program code in order to cause the computing system to: determine a first tree comprising a first hierarchy of nodes and a second tree comprising a second hierarchy of nodes; determine first subtrees of the first tree which are identical to first subtrees of the second tree; generate a first mapping between nodes of the first subtrees of the first tree and nodes of the first subtrees of the second tree; generate a first feature vector for each of second subtrees of the first tree; insert the first feature vectors into an index structure; generate a second feature vector for each of second subtrees of the second tree; and generate a second mapping between nodes of second subtrees of the first tree and nodes of the second subtrees of the second tree based on the second feature vectors and the index structure.
2. A computing system according to claim 1 , the processor to further execute the processor-executable program code in order to cause the computing system to: generate an edit script of operations to transform the first tree to the second tree based on the first mapping and the second mapping.
3. A computing system according to claim 1 , wherein generation of the second mapping comprises: querying of the index structure for nearest neighbors of each of the second feature vectors.
4. A computing system according to claim 3 , wherein generation of a first feature vector for each of second subtrees of the first tree comprises: serialization of each of the second subtrees of the first tree into a first respective bag of grams, and wherein generation of a second feature vector for each of second subtrees of the second tree comprises: serialization of each of the second subtrees of the second tree into a second respective bag of grams.
5. A computing system according to claim 1 , wherein generation of a first feature vector for each of second subtrees of the first tree comprises: serialization of each of the second subtrees of the first tree into a respective bag of grams; and for each of the bags of grams corresponding to the second subtrees of the first tree, generate a fixed-size d-dimensional vector, and wherein generation of a second feature vector for each of second subtrees of the second tree comprises: serialization of each of the second subtrees of the second tree into a second respective bag of grams; and for each of the second bags of grams corresponding to the second subtrees of the second tree generate a second fixed-size d-dimensional vector.
6. A computing system according to claim 1 , wherein generation of the second mapping comprises: determination of distances between end points of the fixed-size d-dimensional vectors and end points of the second fixed-size d-dimensional vectors.
7. A non-transitory computer-readable medium storing program code, the program code executable by a processor of a computing system to cause the computing system to: determine a first tree comprising a first hierarchy of nodes and a second tree comprising a second hierarchy of nodes; determine first subtrees of the first tree which are identical to first subtrees of the second tree; generate a first mapping between nodes of the first subtrees of the first tree and nodes of the first subtrees of the second tree; generate a first feature vector for each of second subtrees of the first tree; insert the first feature vectors into an index structure; generate a second feature vector for each of second subtrees of the second tree; and generate a second mapping between nodes of second subtrees of the first tree and nodes of the second subtrees of the second tree based on the second feature vectors and the index structure.
8. A non-transitory computer-readable medium according to claim 7 , the program code executable by a processor of a computing system to cause the computing system to: generate an edit script of operations to transform the first tree to the second tree based on the first mapping and the second mapping.
9. A non-transitory computer-readable medium according to claim 6 , wherein generation of the second mapping comprises: querying of the index structure for nearest neighbors of each of the second feature vectors.
10. A non-transitory computer-readable medium according to claim 9 , wherein generation of a first feature vector for each of second subtrees of the first tree comprises: serialization of each of the second subtrees of the first tree into a first respective bag of grams, and wherein generation of a second feature vector for each of second subtrees of the second tree comprises: serialization of each of the second subtrees of the second tree into a second respective bag of grams.
11. A non-transitory computer-readable medium according to claim 7 , wherein generation of a first feature vector for each of second subtrees of the first tree comprises: serialization of each of the second subtrees of the first tree into a respective bag of grams; and for each of the bags of grams corresponding to the second subtrees of the first tree, generate a fixed-size d-dimensional vector, and wherein generation of a second feature vector for each of second subtrees of the second tree comprises: serialization of each of the second subtrees of the second tree into a second respective bag of grams; and for each of the second bags of grams corresponding to the second subtrees of the second tree generate a second fixed-size d-dimensional vector.
12. A non-transitory computer-readable medium according to claim 7 , wherein generation of the second mapping comprises: determination of distances between end points of the fixed-size d-dimensional vectors and end points of the second fixed-size d-dimensional vectors.
13. A computer-implemented method comprising: determining a first tree comprising a first hierarchy of nodes and a second tree comprising a second hierarchy of nodes; determining first subtrees of the first tree which are identical to first subtrees of the second tree; generating a first mapping between nodes of the first subtrees of the first tree and nodes of the first subtrees of the second tree; generating a first feature vector for each of second subtrees of the first tree; inserting the first feature vectors into an index structure; generating a second feature vector for each of second subtrees of the second tree; and generating a second mapping between nodes of second subtrees of the first tree and nodes of the second subtrees of the second tree based on the second feature vectors and the index structure.
14. A computer-implemented method according to claim 13 , further comprising: generating an edit script of operations to transform the first tree to the second tree based on the first mapping and the second mapping.
15. A computer-implemented method according to claim 13 , wherein generating the second mapping comprises: querying the index structure for nearest neighbors of each of the second feature vectors.
16. A computer-implemented method according to claim 15 , wherein generating a first feature vector for each of second subtrees of the first tree comprises: serializing each of the second subtrees of the first tree into a first respective bag of grams, and wherein generating a second feature vector for each of second subtrees of the second tree comprises: serializing each of the second subtrees of the second tree into a second respective bag of grams.
17. A computer-implemented method according to claim 13 , wherein generating a first feature vector for each of second subtrees of the first tree comprises: serializing each of the second subtrees of the first tree into a respective bag of grams; and for each of the bags of grams corresponding to the second subtrees of the first tree, generating a fixed-size d-dimensional vector, and wherein generation of a second feature vector for each of second subtrees of the second tree comprises: serializing each of the second subtrees of the second tree into a second respective bag of grams; and for each of the second bags of grams corresponding to the second subtrees of the second tree generating a second fixed-size d-dimensional vector.
18. A computer-implemented method according to claim 13 , wherein generating the second mapping comprises: determining distances between end points of the fixed-size d-dimensional vectors and end points of the second fixed-size d-dimensional vectors.
Unknown
July 21, 2015
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.