US12475109B1ActiveUtility

Obfuscating search queries

87
Assignee: IBMPriority: Aug 5, 2024Filed: Aug 5, 2024Granted: Nov 18, 2025
Est. expiryAug 5, 2044(~18.1 yrs left)· nominal 20-yr term from priority
G06F 16/24578G06F 16/285G06F 16/242G06F 16/90332
87
PatentIndex Score
1
Cited by
34
References
20
Claims

Abstract

Systems, methods, and computer program products for obfuscating search queries are described herein. A method comprises reading an input query; reading a set of known terms organized into hierarchical classes; determining whether the input query is included in the set of known terms; determining one or more classifications for the input query in accordance with its inclusion in the set of known terms; generating a prompt in accordance with the one or more classifications and the input query; providing the prompt to a generative language model as input; receiving, from the generative language model, a plurality of candidate queries in accordance with the prompt; determining a score for the plurality of candidate queries; and generating a plurality of decoy queries based on the plurality of candidate queries and the score.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer-implemented method for obfuscating search queries, the computer-implemented method comprising:
 reading an input query from a client computing platform;   reading a set of known terms, wherein the set of known terms is organized into hierarchical classes;   determining whether the input query is included in the set of known terms;   determining one or more classifications for the input query in accordance with its inclusion in the set of known terms;   generating a prompt in accordance with the one or more classifications and the input query;   providing the prompt to a generative language model as input, wherein the generative language model is pretrained for text generation;   receiving, from the generative language model, a plurality of candidate queries in accordance with the prompt;   determining a score for the plurality of candidate queries; and   generating a plurality of decoy queries based on the plurality of candidate queries and the score.   
     
     
         2 . The computer-implemented method of  claim 1 , wherein determining the one or more classifications includes:
 upon determining that the input query is not included in the set of known terms, classifying the input query using named entity recognition.   
     
     
         3 . The computer-implemented method of  claim 1 , wherein determining the one or more classifications includes:
 providing the input query as input to a classification language model fine-tuned for classification; and   receiving, from the classification language model, the one or more classifications in accordance with the plurality of known terms and the plurality of hierarchical classes.   
     
     
         4 . The computer-implemented method of  claim 3 , wherein the one or more classifications for the input query are determined using zero-shot classification. 
     
     
         5 . The computer-implemented method of  claim 1 , wherein the score is determined based on a complexity of the plurality of candidate queries and/or a quantity of candidate queries. 
     
     
         6 . The computer-implemented method of  claim 1 , wherein generating the plurality of decoy queries includes:
 determining the score is below a threshold;   identifying, responsive to determining the score is below the threshold, a subset of the set of known terms that are similar to individual ones of the candidate queries;   generating a seed prompt in accordance with the one or more classifications and the input query;   providing the seed prompt to the generative language model as input; and   generating, by the generative language model, the plurality of decoy queries in accordance with the seed prompt.   
     
     
         7 . The computer-implemented method of  claim 6 , wherein the subset is selected using a sentence similarity search. 
     
     
         8 . The computer-implemented method of  claim 6 , wherein the plurality of decoy queries includes the subset of the set of known terms. 
     
     
         9 . The computer-implemented method of  claim 1 , determining the one or more classifications includes:
 classifying the input query based on the organization of the set of known terms.   
     
     
         10 . The computer-implemented method of  claim 1 , further comprising:
 generating an input sequence including the plurality of decoy queries and the input query in a random ordering;   transmitting the input sequence to a server, the server configured to generate a plurality of responses for individual ones of the input sequence;   receiving, from the server, the plurality of responses;   selecting at least one response of the plurality of responses generated for the input query; and   transmitting the at least one response to the client computing platform.   
     
     
         11 . A computer program product for obfuscating search queries, the computer program product comprising:
 a set of one or more computer-readable storage media; and   program instructions, collectively stored in the set of one or more storage media for causing the processor set to perform the following computer operations:
 read an input query from a client computing platform; 
 reading a set of known terms, wherein the set of known terms is organized into hierarchical classes; 
 determine whether the input query is included in the set of known terms; 
 determine one or more classifications for the input query in accordance with its inclusion in the set of known terms; 
 generate a prompt in accordance with the one or more classifications and the input query; 
 provide the prompt to a generative language model as input, wherein the generative language model is pretrained for text generation; 
 receive, from the generative language model, a plurality of candidate queries in accordance with the prompt; 
 determine a score for the plurality of candidate queries; and 
 generate a plurality of decoy queries based on the plurality of candidate queries and the score. 
   
     
     
         12 . The computer program product of  claim 11 , wherein determining the one or more classifications includes:
 providing the input query as input to a classification language model fine-tuned for classification; and   receiving from the classification language model the one or more classifications in accordance with the plurality of known terms and the plurality of hierarchical classes.   
     
     
         13 . The computer program product of  claim 11 , wherein the score is determined based on a complexity of the plurality of candidate queries and/or a quantity of candidate queries. 
     
     
         14 . The computer program product of  claim 11 , wherein generating the plurality of decoy queries includes:
 determining the score is below a threshold;   identifying, responsive to determining the score is below the threshold, a subset of the set of known terms that are similar to individual ones of the candidate queries;   selecting a seed prompt based on the one or more classifications in accordance with the one or more classifications and the input query;   providing the seed prompt to the generative language model as input; and   generating, by the generative language model, the plurality of decoy queries in accordance with the seed prompt.   
     
     
         15 . The computer program product of  claim 11 , wherein the program instructions further cause the processor set to perform the following instructions:
 generate an input sequence including the plurality of decoy queries and the input query in a random ordering;   transmit the input sequence to a server, the server configured to generate a plurality of responses for individual ones of the input sequence;   receive, from the server, the plurality of responses;   select at least one response of the plurality of responses generated for the input query; and   transmit the at least one response to the client computing platform.   
     
     
         16 . A computer system for obfuscating search queries, the computer program product comprising:
 a processor set;   a set of one or more computer-readable storage media; and   program instructions, collectively stored in the set of one or more storage media for causing the processor set to perform the following computer operations:
 read an input query from a client computing platform; 
 reading a set of known terms, wherein the set of known terms is organized into hierarchical classes; 
 determine whether the input query is included in the set of known terms; 
 determine one or more classifications for the input query in accordance with its inclusion in the set of known terms; 
 generate a prompt in accordance with the one or more classifications and the input query; 
 provide the prompt to a generative language model as input, wherein the generative language model is pretrained for text generation; 
 receive, from the generative language model, a plurality of candidate queries in accordance with the prompt; 
 determine a score for the plurality of candidate queries; and 
 generate a plurality of decoy queries based on the plurality of candidate queries and the score. 
   
     
     
         17 . The computer system of  claim 16 , wherein determining the one or more classifications includes:
 providing the input query as input to a classification language model fine-tuned for classification; and   receiving from the classification language model the one or more classifications in accordance with the plurality of known terms and the plurality of hierarchical classes.   
     
     
         18 . The computer system of  claim 16 , wherein the score is determined based on a complexity of the plurality of candidate queries and/or a quantity of candidate queries. 
     
     
         19 . The computer system of  claim 16 , wherein generating the plurality of decoy queries includes:
 determining the score is below a threshold;   identifying, responsive to determining the score is below the threshold, a subset of the set of known terms that are similar to individual ones of the candidate queries;   selecting a seed prompt based on the one or more classifications in accordance with the one or more classifications and the input query;   providing the seed prompt to the generative language model as input; and   generating, by the generative language model, the plurality of decoy queries in accordance with the seed prompt.   
     
     
         20 . The computer system of  claim 16 , wherein the program instructions further cause the processor set to perform the following instructions:
 generate an input sequence including the plurality of decoy queries and the input query in a random ordering;   transmit the input sequence to a server, the server configured to generate a plurality of responses for individual ones of the input sequence;   receive, from the server, the plurality of responses;   select at least one response of the plurality of responses generated for the input query; and   transmit the at least one response to the client computing platform.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.