US11461551B1ActiveUtility

Secure word search

78
Assignee: PRIVATE AI INCPriority: Oct 23, 2018Filed: Oct 23, 2019Granted: Oct 4, 2022
Est. expiryOct 23, 2038(~12.3 yrs left)· nominal 20-yr term from priority
H04L 9/008G06F 16/3347G06F 16/243G10L 15/18G06F 16/248G10L 13/08G06F 16/951G06F 40/284H04L 9/3093G06F 3/167
78
PatentIndex Score
8
Cited by
19
References
20
Claims

Abstract

A method may include generating word string vectors for word strings in a document, obtaining encrypted word string vectors by encrypting the word string vectors, generating a search vector for a search query, obtaining an encrypted search vector by encrypting the search vector, calculating encrypted distances between the encrypted word string vectors and the encrypted search vector, obtaining a decrypted distance by decrypting an encrypted distance, and using the decrypted distance, determining a semantic match between the search query and the document.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method, comprising:
 generating one or more word string vectors for one or more word strings in a document; 
 obtaining one or more encrypted word string vectors by encrypting the one or more word string vectors, wherein the one or more word string vectors represent meanings of the one or more word strings as points in a multi-dimensional semantic space; 
 generating a search vector for a search query, wherein the search vector is in a multi-dimensional semantic space; 
 obtaining an encrypted search vector by encrypting the search vector; 
 calculating one or more encrypted distances between the one or more encrypted word string vectors and the encrypted search vector; 
 obtaining a decrypted distance by decrypting an encrypted distance of the one or more encrypted distances; and 
 using the decrypted distance, determining a semantic match between the search query and the document, 
 wherein the one or more word string vectors and the search vector are each semantic representations of a natural language word string that includes a vector in the multi-dimensional semantic space with a value assigned to each dimension of the vector based at least partially on semantic co-occurrences in a corpus of natural language documents. 
 
     
     
       2. The method of  claim 1 , wherein the search query comprises a first search term and a second search term, the method further comprising:
 generating a first search term vector for the first search term; and 
 generating a second search term vector for the second search term. 
 
     
     
       3. The method of  claim 2 , further comprising:
 obtaining a first encrypted search term vector by encrypting the first search term vector; and 
 obtaining a second encrypted search term vector by encrypting the second search term vector, wherein the encrypted distance is calculated using the first encrypted search term vector and the second encrypted search term vector. 
 
     
     
       4. The method of  claim 3 , wherein the encrypted distance is calculated as an encrypted weighted sum of a first distance corresponding to the first search term vector and a second distance corresponding to the second search term vector, and wherein the weighted sum is calculated using homomorphic analogues of multiplication and addition applied to a first encrypted distance corresponding to the first search term vector and a second encrypted distance corresponding to the second search term vector. 
     
     
       5. The method of  claim 1 , wherein the semantic match is determined when the decrypted distance is less than a threshold distance. 
     
     
       6. The method of  claim 1 , further comprising:
 obtaining a multiplication result by combining the one or more encrypted distances together using a homomorphic analogue of multiplication defined by a homomorphic encryption scheme. 
 
     
     
       7. The method of  claim 6 , wherein the multiplication result is obtained by combining the one or more encrypted distances together using multiplication, wherein the homomorphic encryption scheme defines the homomorphic analogue of multiplication to be multiplication. 
     
     
       8. A system, comprising:
 a computer processor; 
 a repository comprising a search query and one or more documents comprising one or more word strings; 
 a vector manager executing on the computer processor configured to:
 generate one or more word string vectors for one or more word strings of a document of the one or more documents, wherein the one or more word string vectors represent meanings of the one or more word strings as points in a multi-dimensional semantic space; 
 generate a search vector for the search query, wherein the search vector is in the multi- dimensional semantic space; and 
 using a decrypted distance, determine a semantic match between the search query and the document; and a cryptography manager executing on the computer processor configured to: 
 obtain one or more encrypted word string vectors by encrypting the one or more word string vectors; 
 obtain an encrypted search vector by encrypting the search vector; 
 calculate one or more encrypted distances between the one or more encrypted word string vectors and the encrypted search vector; and 
 obtain the decrypted distance by decrypting an encrypted distance of the one or more encrypted distances, 
 
 wherein the one or more word string vectors and the search vector are each semantic representations of a natural language word string that includes a vector in the multi-dimensional semantic space with a value assigned to each dimension of the vector based at least partially on semantic co-occurrences in a corpus of natural language documents. 
 
     
     
       9. The system of  claim 8 , wherein the search query comprises a first search term and a second search term, and wherein the vector manager is further configured to:
 generate a first search term vector for the first search term; and 
 generate a second search term vector for the second search term. 
 
     
     
       10. The system of  claim 9 , wherein the search query comprises a first search term and a second search term, and wherein the cryptography manager is further configured to:
 obtain a first encrypted search term vector by encrypting the first search term vector; and 
 obtain a second encrypted search term vector by encrypting the second search term vector, wherein the vector manager calculates the encrypted distance using the first encrypted search term vector and the second encrypted search term vector. 
 
     
     
       11. The system of  claim 10 , wherein the cryptography manager is further configured to calculate the encrypted distance as an encrypted weighted sum of a first distance corresponding to the first search term vector and a second distance corresponding to the second search term vector, and wherein the weighted sum is calculated using homomorphic analogues of multiplication and addition applied to a first encrypted distance corresponding to the first search term vector and a second encrypted distance corresponding to the second search term vector. 
     
     
       12. The system of  claim 8 , wherein the vector manager is further configured to determine the semantic match when the decrypted distance is less than a threshold distance. 
     
     
       13. The system of  claim 8 , wherein the vector manager is further configured to:
 obtain a multiplication result by combining the one or more encrypted distances together using a homomorphic analogue of multiplication defined by a homomorphic encryption scheme. 
 
     
     
       14. The system of  claim 13 , wherein the vector manager is further configured to obtain the multiplication result by combining the one or more encrypted distances together using multiplication, wherein the homomorphic encryption scheme defines the homomorphic analogue of multiplication to be multiplication. 
     
     
       15. A non-transitory computer readable medium comprising instructions that, when executed by a computer processor, perform:
 generating one or more word string vectors for one or more word strings in a document, wherein the one or more word string vectors represent meanings of the one or more word strings as points in a multi-dimensional semantic space; 
 obtaining one or more encrypted word string vectors by encrypting the one or more word string vectors; 
 generating a search vector for a search query, wherein the search vector is in the multi-dimensional semantic space; 
 obtaining an encrypted search vector by encrypting the search vector; 
 calculating one or more encrypted distances between the one or more encrypted word string vectors and the encrypted search vector; 
 obtaining a decrypted distance by decrypting an encrypted distance of the one or more encrypted distances; and 
 using the decrypted distance, determining a semantic match between the search query and the document, 
 wherein the one or more word string vectors and the search vector are each semantic representations of a natural language word string that includes a vector in the multi-dimensional semantic space with a value assigned to each dimension of the vector based at least partially on semantic co-occurrences in a corpus of natural language documents. 
 
     
     
       16. The non-transitory computer readable medium of  claim 15 , wherein the instructions further perform:
 generating a first search term vector for the first search term; and 
 generating a second search term vector for the second search term. 
 
     
     
       17. The non-transitory computer readable medium of  claim 16 , wherein the instructions further perform:
 obtaining a first encrypted search term vector by encrypting the first search term vector; and 
 obtaining a second encrypted search term vector by encrypting the second search term vector, wherein the encrypted distance is calculated using the first encrypted search term vector and the second encrypted search term vector. 
 
     
     
       18. The non-transitory computer readable medium of  claim 17 , wherein the encrypted distance is calculated as an encrypted weighted sum of a first distance corresponding to the first search term vector and a second distance corresponding to the second search term vector, and wherein the weighted sum is calculated using homomorphic analogues of multiplication and addition applied to a first encrypted distance corresponding to the first search term vector and a second encrypted distance corresponding to the second search term vector. 
     
     
       19. The non-transitory computer readable medium of  claim 15 , wherein the semantic match is determined when the decrypted distance is less than a threshold distance. 
     
     
       20. The non-transitory computer readable medium of  claim 15 , wherein the instructions further perform:
 obtaining a multiplication result by combining the one or more encrypted distances together using a homomorphic analogue of multiplication defined by a homomorphic encryption scheme.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.