IP Library Granted Patent US 12682261
Granted Patent B1
US 12682261 · App. 17/970,120 · Granted Jul 14, 2026

Dynamic generation of alternative questions

Inventors: Tingting Lin (San Francisco, CA); Anna Khazenzon (Berkeley, CA); Shane Mooney (Austin, TX)
Assignee: Quizlet, Inc.
G06N5/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12682261
App. No.
17/970,120
Granted
Jul 14, 2026
Kind
B1
Abstract

In one embodiment, a method includes storing machine learning classification models, retrieving metadata including a plurality of terms, each of the terms include a question side value and an answer side value, categorizing each of the terms into a particular type and identifying the answer side value of each of the plurality of terms, executing instructions to cluster the question side values and answer side values according to one or more criteria, receiving text input including a first term, retrieving the one or more clusters of question side values and answer side values corresponding to the text input of the first term, filtering and ranking the clusters of question side values and answer side values based on one or more attributes corresponding to the first term, determining a first cluster of question side values and answer side values are ranked above a predetermined threshold, displaying the alternative questions.

Claims (51)

1 . A computer-implemented method comprising,

digitally storing, in memory of a server computer, a plurality of trained machine learning classification models;

retrieving, from the server computer, metadata including a plurality of terms, wherein each of the terms include a word side value and a definition side value;

categorizing, by one or more machine-learning classification models of the plurality of machine learning classification models, each of the plurality of terms into a particular term type and identifying which of the word side value and the definition side value constitutes an answer side value of each of the plurality of terms;

normalizing by the server computer, the answer side value of each term to generate a normalized answer string by applying Normalization Form Compatibility Decomposition (NFKC) to standardize Unicode code points;

transforming, by the server computer, each normalized answer string into a set of character n-grams, concatenating the n-grams into a transformed string, and applying a locality-sensitive hashing algorithm to assign the transformed string to a bucket in the memory associated with a Jaccard similarity threshold;

generating, by the server computer, an answer cluster table that maps a hashed cluster key to a canonical cluster answer and to a plurality of normalized answer strings assigned to the same bucket, and generating a question cluster table that maps the hashed cluster key to a plurality of question side values that are associated with the canonical cluster answer;

receiving, by a client computing device, text input including comprising a first term that includes a first question side value and a first answer side value;

retrieving, from the answer cluster table and the question cluster table, using the server computer, a plurality of candidate alternative question side values mapped to a hashed cluster key corresponding to a normalized version of the first answer side value, and filtering the plurality of candidate alternative question side values based on attributes associated with the first term;

computing, by the server computer, for each of the plurality of candidate alternative question side values: a semantic similarity score to the first question side value based on cosine similarity of sentence embeddings;

categorizing the plurality of candidate alternative question side values into a rewording category or a context category based on at least the semantic similarity score;

ranking the candidate alternative question side values within each category;

transmitting, from the server computer to the client computing device, presentation instructions formatted to cause the client computing device to display a graphical user interface that presents an editable text field to receive the first term, a plurality of question values and corresponding answer values as part of a study workflow, and at least a top-ranked one of the candidate alternative question side values as an alternative question associated with the first term;

determining a user's knowledge state by receiving selections to prompts and, responsive to interaction with the plurality of question values and the corresponding answer values, determining whether a predetermined correctness threshold is met; and

in response to determining that the predetermined correctness threshold is met, causing, by the presentation instructions, display of one or more alternative questions selected from the top-ranked candidate alternative question side values in the category corresponding to the user's knowledge state, thereby generating and presenting alternative questions for the first term using the hashed cluster key and the clustered question side values without performing a brute-force comparison across the plurality of terms.

2 . The computer-implemented method of claim 1 , the filtering further comprising:

filtering the plurality of candidate alternative question side values based on one or more of a grade level, subject hierarchy level, question format quality, or popularity score.

3 . The computer-implemented method of claim 1 , the computing further comprising:

computing, by the server computer, for each of the plurality of candidate alternative question side values: the semantic similarity score to the first question side value based on the cosine similarity of the sentence embeddings, and a length ratio relative to the first question side value.

4 . The computer-implemented method of claim 1 , the filtering further comprising:

transmitting, from the server computer to the client computing device, second display instructions that are formatted to cause displaying, in the graphical user interface, a request for context;

receiving context input from the graphical user interface of the client computing device;

in response to receiving the context input, determining a knowledge state of the user of the client computing device;

filtering the alternative questions based on the determined knowledge state.

5 . The computer-implemented method of claim 1 , further comprising:

determining, by the one or more machine learning models, a normalization coefficient for the answer value side of each of the plurality of terms;

filtering the answer value side of each of the plurality of terms by the normalization coefficient.

6 . A computer-readable non-transitory storage media comprising instructions executable by a processor to:

digitally store, in memory of a server computer, a plurality of trained machine learning classification models;

retrieve, from the server computer, metadata including a plurality of terms, wherein each of the terms include a word side value and a definition side value;

categorize, by one or more machine-learning classification models of the plurality of machine learning classification models, each of the plurality of terms into a particular term type and identifying which of the word side value and the definition side value constitutes an answer side value of each of the plurality of terms;

execute, by the one or more machine learning classification models, one or more algorithms with instructions to cluster the question side values and answer side values of each of the one or more terms according to one or more criteria;

normalize by the server computer, the answer side value of each term to generate a normalized answer string by applying Normalization Form Compatibility Decomposition (NFKC) to standardize Unicode code points;

transform, by the server computer, each normalized answer string into a set of character n-grams, concatenating the n-grams into a transformed string, and applying a locality-sensitive hashing algorithm to assign the transformed string to a bucket in the memory associated with a Jaccard similarity threshold;

generate, by the server computer, an answer cluster table that maps a hashed cluster key to a canonical cluster answer and to a plurality of normalized answer strings assigned to the same bucket, and generate a question cluster table that maps the hashed cluster key to a plurality of question side values that are associated with the canonical cluster answer;

receive, by a client computing device, text input including comprising a first term that includes a first question side value and a first answer side value;

retrieve, from the answer cluster table and the question cluster table, using the server computer, the one or more clusters a plurality of candidate alternative question side values mapped to a hashed cluster key corresponding to a normalized version of the first answer side corresponding to the text input of value, and filtering the plurality of candidate alternative question side values based on attributes associated with the first term;

compute, by the server computer, for each of the plurality of candidate alternative question side values: a semantic similarity score to the first question side value based on cosine similarity of sentence embeddings;

categorize the plurality of candidate alternative question side values into a rewording category or a context category based on at least the semantic similarity score;

rank the candidate alternative question side values within each category;

transmit, from the server computer to the client computing device, presentation instructions formatted to cause the client computing device to display a graphical user interface that presents an editable text field to receive the first term, a plurality of question values and corresponding answer values as part of a study workflow, and at least a top-ranked one of the candidate alternative question side values as an alternative question associated with the first term;

determine a user's knowledge state by receiving selections to prompts and, responsive to interaction with the plurality of question values and the corresponding answer values, determining whether a predetermined correctness threshold is met; and

in response to determining that the predetermined correctness threshold is met, cause, by the presentation instructions, displaying one or more alternative questions selected from the top-ranked candidate alternative question side values in the category corresponding to the user's knowledge state, thereby generating and presenting alternative questions for the first term using the hashed cluster key and the clustered question side values without performing a brute-force comparison across the plurality of terms.

7 . The media of claim 6 , the instructions for filtering and ranking of the one or more clusters of question side values and answer side values being further executable by the processor to:

filtering the plurality of candidate alternative question side values based on one or more of a grade level, subject hierarchy level, question format quality, or popularity score.

8 . The media of claim 6 , wherein the instructions for categorizing each of the plurality of terms into a particular term type further comprise instructions for categorizing each of the plurality of terms into a particular term type selected from multi-choice question, fill-in-the-blank, pure question, raw term, polar question, or solution.

9 . The media of claim 6 , wherein the instructions to categorize further comprise instructions for categorizing the plurality of candidate alternative question side values into a rewording category or a context category based on at least the semantic similarity score, a length ratio, and an exclusion of multiple-choice formatted questions from the rewording category.

10 . The media of claim 6 , wherein the instructions to rank further comprise instructions for ranking, by the server computer, the candidate alternative question side values within each category based on semantic similarity within a bounded range, subject hierarchy level match, format quality, and popularity score.

11 . The computer-implemented method of claim 1 , wherein to categorize each of the plurality of terms into a particular term type further comprises categorizing each of the plurality of terms into a particular term type selected from multi-choice question, fill-in-the-blank, pure question, raw term, polar question, or solution.

12 . The computer-implemented method of claim 1 , wherein the categorizing further comprises categorizing the plurality of candidate alternative question side values into a rewording category or a context category based on at least the semantic similarity score, a length ratio, and an exclusion of multiple-choice formatted questions from the rewording category.

13 . The computer-implemented method of claim 1 , wherein the ranking further comprises ranking, by the server computer, the candidate alternative question side values within each category based on semantic similarity within a bounded range, subject hierarchy level match, format quality, and popularity score.