Obfuscating search queries
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-modifiedWhat 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.