Semantic search and retrieval over encrypted vector space
AssigneeCyborg Inc.
InventorsNicolas Thomas Mathieu DUPONT, Alexandre HELLE
Life of this patent
Estimating the term…
Abstract
A method and system for performing end-to-end encrypted semantic search and retrieval are disclosed. The system is configured to perform semantic searches of encrypted data, using product quantization and distance scores to facilitate efficient and secure retrieval of relevant data. User queries, indexes, document identifiers and document contents remain encrypted throughout the search process, offering a significant enhancement in privacy and security compared to known search methods. The method and system are particularly beneficial for applications that rely on semantic understanding in search queries, such as Generative AI and Retrieval-Augmented Generation (RAG), while maintaining strict data confidentiality.
Claims24
A non-transitory, processor-readable medium storing instructions to cause a processor to:
- generate a plurality of embeddings based on indexable data and using an embedding model, each embedding from the plurality of embeddings including a vector representation of indexable data;
- quantize the plurality of embeddings based on at least one index parameter and using at least one of the embedding model or a clustering model, to generate a set of centroid identifiers;
- and
- index the set of centroid identifiers using an encryption technique, to generate a queryable, encrypted index.
A method, comprising:
- generating, via a processor, a plurality of embeddings based on indexable data and using an embedding model, each embedding from the plurality of embeddings including a vector representation of indexable data;
- quantizing the plurality of embeddings, via the processor, based on at least one index parameter and using the at least one of the trained embedding model or a clustering model, to generate a set of centroid identifiers;
- and
- indexing, via the processor, the set of centroid identifiers using an encryption technique, to generate a queryable, encrypted index.
A system, comprising:
- a processor;
- and
- a memory, operably coupled to the processor and storing instructions that, when executed by the processor, cause the processor to:
- generate a first set of centroid identifiers based on at least one embedding generated using an embedding model and including a vector representation of a query;
- for a given embedding from the at least one embedding:
- identify a subset of centroid identifiers from a second set of centroid identifiers associated with indexed data, and
- conduct an encrypted search based on the first set of centroid identifiers and the subset of centroid identifiers, to generate a query result for the query.
A non-transitory, processor-readable medium storing instructions to cause a processor to:
- perform at least one of stemming or stop-word removal on a query string, to identify at least one unique keyword associated with the query string;
- generate a set of at least one private token based on the at least one unique keyword, using a hash function and at least one private key;
- hash each private token from the set of at least one private token to generate a plurality of encrypted salted keywords;
- send a signal to a server to query the server using at least one of (1) the plurality of encrypted salted keywords, (2) at least one encrypted index token, or (3) a keyword count associated with the query string, to identify an encrypted search result for the query string;
- and
- cause transmission of a signal representing the encrypted search result to a compute device associated with the query string, for decryption and parsing.
Dependencies are inferred from the claim text.