Method and system of creating clusters for feedback data
A method and system for generating clusters for feedback data may include receiving a request for clustering feedback data, the request including one or more parameters relating to the feedback data, retrieving a plurality of vectorized feedbacks stored in a key value format, the key value format including a feedback identifier used as a key for each of the plurality of vectorized feedbacks, creating a plurality of feedback clusters based on the one or more parameters and the retrieved plurality of vectorized feedbacks, the plurality of feedback clusters categorizing at least some of the feedback data into the plurality of feedback clusters, and transmitting data relating to the plurality of feedback clusters for display on a user interface screen.
1 . A data processing system comprising:
a processor; and
a memory in communication with the processor, the memory comprising executable instructions that, when executed by the processor, cause the data processing system to perform functions of:
ingesting new vectorized feedback entries from a long-term table database into a key-value database cache of feedback data, wherein each vectorized feedback entry in the table database includes feedback text vectorized across one or more vector dimensions, a unique feedback identifier (ID), and a model version number associated with a model used to vectorize each vectorized feedback entry, and the ingesting includes organizing the new vectorized feedback entries into a key-value format with a key composed of each new vectorized feedback entry's corresponding feedback ID and model version number and with a value storing the corresponding vectorized feedback text;
purging the key-value database cache of old vectorized feedback entries based on the model version numbers in the key of the key-value format, where the old vectorized feedback entries were generated during a time frame indicated by the model version number stored in each vectorized feedback entry's key in the key-value database cache;
presenting, in a first element of a feedback clustering user interface (UI), a list of a first plurality of feedback clusters of the feedback data in the key-value database;
receiving a request for a revised clustering of the feedback data from the feedback clustering UI, the request including one or more filter parameters relating to the vector dimensions of the vectorized feedback data specified in a second element of the feedback clustering UI;
filtering the key-value database cache to generate a filtered feedback list including a plurality of feedback IDs of feedback entries in the cache matching the one or more filter parameters;
creating a second plurality of feedback clusters describing a subset of entries in the cache based on the filtered feedback list, the second plurality of feedback clusters categorizing at least some of the feedback data in the subset into the second plurality of feedback clusters; and
in response to the request, replacing the list of the first plurality of feedback clusters with the second plurality of feedback clusters in the first element of the feedback clustering UI.
2 . The data processing system of claim 1 , wherein the executable instructions, when executed by the processor, further cause the data processing system to perform functions of creating a data query based at least on one of the one or more parameters.
3 . The data processing system of claim 1 , wherein the executable instructions, when executed by the processor, further cause the data processing system to perform functions of:
retrieving a list of a plurality of feedback identifiers based on the one or more parameters; and
retrieving the plurality of vectorized feedback clusters based at least in part on the plurality of feedback identifiers.
4 . The data processing system of claim 3 , wherein the list of the plurality of feedback identifiers is retrieved from a master feedback identifier data store.
5 . The data processing system of claim 3 , wherein the vectorized feedbacks are retrieved by comparing the list of the plurality of feedback identifiers with a list of vectorized feedbacks to identify vectorized feedbacks that are associated with one or more of the feedback identifiers in the list of the plurality of feedback identifiers.
6 . The data processing system of claim 1 , wherein the vectorized feedbacks are retrieved from a local storage medium.
7 . The data processing system of claim 1 , wherein the long-term table database includes both the vectorized feedback entries and older vectorized feedback entries, and wherein the cache is purged of one or more of the older vectorized feedback entries.
8 . The data processing system of claim 1 , wherein the feedback data is vectorized using a model having a changing version, each of the vectorized feedback entries include a model version number used for its creation, and the cache is purged of entries based on the model version number.
9 . A method for generating clusters for feedback data comprising:
ingesting new vectorized feedback entries from a long-term table database into a key-value database cache of feedback data, wherein each vectorized feedback entry in the table database includes feedback text vectorized across one or more vector dimensions, a unique feedback identifier (ID), and a model version number associated with a model used to vectorize each vectorized feedback entry, and the ingesting includes organizing the new vectorized feedback entries into a key-value format with a key composed of each new vectorized feedback entry's corresponding feedback ID and model version number and with a value storing the corresponding vectorized feedback text;
purging the key-value database cache of old vectorized feedback entries based on the model version numbers in the key of the key-value format, where the old vectorized feedback entries were generated during a time frame indicated by the model version number stored in each vectorized feedback entry's key in the key-value database cache;
presenting, in a first user interface (UI) element of a feedback clustering UI, a list of a first plurality of feedback clusters of the feedback data in the key-value database;
receiving a request for a revised clustering of the feedback data from the feedback clustering UI, the request including one or more filter parameters relating to the vector dimensions of the vectorized feedback data specified in a second element of the feedback clustering UI;
filtering the key-value database cache to generate a filtered feedback list including a plurality of feedback IDs of feedback entries in the cache matching the one or more filter parameters;
creating a second plurality of feedback clusters describing a subset of entries in the cache based on the filtered feedback list, the second plurality of feedback clusters categorizing at least some of the feedback data in the subset into the second plurality of feedback clusters; and
in response to the request, replacing the list of the first plurality of feedback clusters with the second plurality of feedback clusters in the first element of the feedback clustering UI.
10 . The method of claim 9 , further comprising creating a data query based at least on one of the one or more parameters.
11 . The method of claim 9 , further comprising:
retrieving a list of a plurality of feedback identifiers based on the one or more parameters; and
retrieving the plurality of vectorized feedback clusters based at least in part on the plurality of feedback identifiers.
12 . The method of claim 11 , wherein the list of the plurality of feedback identifiers is retrieved from a master feedback identifier data store.
13 . The method of claim 11 , wherein the vectorized feedbacks are retrieved by comparing the list of the plurality of feedback identifiers with a list of vectorized feedbacks to identify vectorized feedbacks that are associated with one or more of the feedback identifiers in the list of the plurality of feedback identifiers.
14 . The method of claim 9 , wherein the vectorized feedbacks are retrieved from a local storage medium.
15 . A non-transitory computer readable medium on which are stored instructions that, when executed, cause a programmable device to:
ingest new vectorized feedback entries from a long-term table database into a key-value database cache of feedback data, wherein each vectorized feedback entry in the table database includes feedback text vectorized across one or more vector dimensions, a unique feedback identifier (ID), and a model version number associated with a model used to vectorize each vectorized feedback entry, and the ingesting includes organizing the new vectorized feedback entries into a key-value format with a key composed of each new vectorized feedback entry's corresponding feedback ID and model version number and with a value storing the corresponding vectorized feedback text;
purge the key-value database cache of old vectorized feedback entries based on the model version numbers in the key of the key-value format, where the old vectorized feedback entries were generated during a time frame indicated by the model version number stored in each vectorized feedback entry's key in the key-value database cache;
present in a first user interface (UI) element of a feedback clustering UI, a list of a first plurality of feedback clusters of the feedback data in the key-value database;
receive a request for a revised clustering of the feedback data from the feedback clustering UI, the request including one or more filter parameters relating to the vector dimensions of the vectorized feedback data specified in a second element of the feedback clustering UI;
filter the key-value database cache to generate a filtered feedback list including a plurality of feedback IDs of feedback entries in the cache matching the one or more filter parameters;
create a second plurality of feedback clusters describing a subset of entries in the cache based on the filtered feedback list, the second plurality of feedback clusters categorizing at least some of the feedback data in the subset into the second plurality of feedback clusters; and
in response to the request, replace the list of the first plurality of feedback clusters with the second plurality of feedback clusters in the first element of the feedback clustering UI.
16 . The non-transitory computer readable medium of claim 15 , wherein the instructions when executed, further cause a programmable device to create a data query based at least on one of the one or more parameters.
17 . The non-transitory computer readable medium of claim 15 , wherein the instructions when executed, further cause a programmable device to perform functions of:
retrieving a list of a plurality of feedback identifiers based on the one or more parameters; and
retrieving the plurality of vectorized feedback clusters based at least in part on the plurality of feedback identifiers.
18 . The non-transitory computer readable medium of claim 17 , wherein the list of the plurality of feedback identifiers is retrieved from a master feedback identifier data store.
19 . The non-transitory computer readable medium of claim 17 , wherein the vectorized feedbacks are retrieved by comparing the list of the plurality of feedback identifiers with a list of vectorized feedbacks to identify vectorized feedbacks that are associated with one or more of the feedback identifiers in the list of the plurality of feedback identifiers.