Systems and methods for generating and utilizing a personalized vocabulary for search and recommendations
A device may receive global metadata terms and aliases, group level metadata terms and aliases, and user level metadata terms and aliases, and may generate global metadata graphs, group level metadata graphs, and user level metadata graphs. The device may train natural language understanding (NLU) models with the global metadata graphs, the group level metadata graphs, and the user level metadata graphs to generate trained NLU models, and may receive a search request from a user. The device may assign a level to the user and an identifier within the level based on a confidence and prior interactions associated with the user, and may select an NLU model from the trained NLU models based on the level and the identifier assigned to the user. The device may process the search request, with the NLU model, to generate search results, and may perform actions based on the search results.
1 . A method, comprising:
receiving, by a device associated with natural-language-based interactions that include at least one of voice searches or interactive chats for at least one of searching or providing recommendations from media systems utilizing a personalized vocabulary, global metadata terms and aliases, group level metadata terms and aliases, and user level metadata terms and aliases;
generating, by the device, global metadata graphs based on the global metadata terms and aliases, group level metadata graphs based on the group level metadata terms and aliases, and user level metadata graphs based on the user level metadata terms and aliases,
wherein the group level metadata graphs include a plurality of first nodes interconnected by a plurality of first edges representing relationships between the group level metadata terms and aliases, and
wherein the user level metadata graphs include a plurality of second nodes interconnected by a plurality of second edges representing relationships between the user level metadata terms and aliases;
training, by the device, natural language understanding (NLU) models with one or more of the global metadata graphs, the group level metadata graphs, and the user level metadata graphs to generate trained NLU models,
wherein the device performs at least one of processing searches or providing recommendations from the media systems utilizing the personalized vocabulary that is generated based on the generated group level metadata graphs;
receiving, by the device, a search request from a user, wherein the search request is related to the media system;
determining, by the device, a confidence score associated with prior interactions related to the user, wherein the confidence score is associated with a value related to a confidence of a determination of a level the user is related to for at least one of processing searches or providing recommendations from the media systems;
assigning, by the device, the level to the user based on the confidence score, wherein the level is associated with context related to at least one of the global metadata graphs or the user level metadata graphs;
assigning, by the device and to the user, an identifier within the level;
selecting, by the device, an NLU model from the trained NLU models based on the level and the identifier assigned to the user;
processing, by the device, the search request, with the NLU model, to generate search results associated with the at least one of processing searches or providing recommendations from the media systems;
providing, by the device, the generated search results while using a streaming service;
performing, by the device, one or more actions associated with an online service or an application based on the search results,
wherein the one or more actions include instructing the streaming service to utilize the search results and to provide details associated with the search results;
retraining, by the device, the trained NLU models based on increasing a quantity of training data available by utilizing the search results as additional training data for retraining the trained NLU models and based on pruning at least one of the group level metadata graphs or the user level metadata graphs with information received related to user interactions; and
utilizing, by the device, the retrained NLU models for subsequent search requests.
2 . The method of claim 1 , wherein modifying one or more of the group level metadata graphs or one or more of the user level metadata graphs comprises one or more of:
adding one or more new group level metadata terms and aliases to the one or more of the group level metadata graphs;
adding one or more new user level metadata terms and aliases to the one or more of the user level metadata graphs; or
modifying one or more of the global metadata graphs based on modifying one or more of the one or more of the group level metadata graphs or one or more of the user level metadata graphs.
3 . The method of claim 1 , further comprising:
translating a user-specific term in the search request to a common term; and
utilize the common term for the search request.
4 . The method of claim 1 , wherein the one or more actions include at least one of:
recommending products or services based on providing the search results to an online store, or
providing the search results to a personal assistant application for further interaction with the user via the personal assistant application.
5 . The method of claim 1 , wherein the information related to user interactions is received over a time period.
6 . The method of claim 1 , wherein the pruning is based on:
applying a dampening function that reduces a particular edge weight of a particular edge of the plurality of first edges or the plurality of second edges; and
pruning the particular edge or setting the particular edge weight of the particular edge to zero, when the particular edge weight falls below a particular threshold.
7 . A device, comprising:
one or more processors configured to:
receive global metadata terms and aliases, group level metadata terms and aliases, and user level metadata terms and aliases,
wherein the device is associated with natural-language-based interactions that include at least one of voice searches or interactive chats for at least one of searching or providing recommendations from media systems utilizing a personalized vocabulary;
generate global metadata graphs based on the global metadata terms and aliases, group level metadata graphs based on the group level metadata terms and aliases, and user level metadata graphs based on the user level metadata terms and aliases,
wherein the group level metadata graphs include a plurality of first nodes interconnected by a plurality of first edges representing relationships between the group level metadata terms and aliases, and
wherein the user level metadata graphs include a plurality of second nodes interconnected by a plurality of second edges representing relationships between the user level metadata terms and aliases;
train natural language understanding (NLU) models with one or more of the global metadata graphs, the group level metadata graphs, and the user level metadata graphs to generate trained NLU models,
wherein the device performs at least one of processing searches or providing recommendations from the media systems utilizing the personalized vocabulary that is generated based on the generated group level metadata graphs;
receive a search request from a user, wherein the search request is related to the media system;
determine a confidence score associated with prior interactions related to the user, wherein the confidence score is associated with a value related to a confidence of a determination of a level the user is related to for at least one of processing searches or providing recommendations from the media systems;
assign the level to the user based on the confidence score, wherein the level is associated with context related to at least one of the global metadata graphs or the user level metadata graphs;
assign, to the user, an identifier within the level;
select an NLU model from the trained NLU models based on the level and the identifier assigned to the user;
process, by the device, the search request, with the NLU model, to generate search results associated with the at least one of processing searches or providing recommendations from the media systems;
provide the generated search results while using a streaming service;
perform one or more actions associated with an online service or an application based on the search results,
wherein the one or more actions include instructing the streaming service to utilize the search results and to provide details associated with the search results;
retrain the trained NLU models based on increasing a quantity of training data available by utilizing the search results as additional training data for retraining the trained NLU models and based on pruning at least one of the group level metadata graphs or the user level metadata graphs with information received related to user interactions; and
utilize the retrained NLU models for subsequent search requests.
8 . The device of claim 7 , wherein the one or more processors are further configured to:
receive user interactions with the device;
relink one or more of the group level metadata terms and aliases in the at least one of the group level metadata graphs or the user level metadata graphs based on the user interactions; and
relink one or more of the user level metadata terms and aliases in the one or more of the user level metadata graphs based on the user interactions.
9 . The device of claim 7 , wherein the one or more processors, to perform the one or more actions, are configured to:
utilize the search results with a video streaming service or a music streaming service.
10 . The device of claim 7 , wherein the one or more processors, to perform the one or more actions, are configured to:
utilize the search results with an online store or a personal assistant application.
11 . The device of claim 7 , wherein the one or more actions include:
instructing a streaming service to provide details associated with the search results; and
displaying the details associated with the search results.
12 . The device of claim 7 , wherein the one or more actions include at least one of:
recommending products or services based on providing the search results to an online store, or
providing the search results to a personal assistant application for further interaction with the user via the personal assistant application.
13 . The device of claim 7 , wherein the one or more processors, when pruning, are further configured to:
apply a dampening function that reduces a particular edge weight of a particular edge of the plurality of first edges or the plurality of second edges; and
prune the particular edge or setting the particular edge weight of the particular edge to zero, when the particular edge weight falls below a particular threshold.
14 . The device of claim 7 , wherein the one or more processors are further configured to:
translate a user-specific term in the search request to a common term; and
utilize the common term for the search request.
15 . A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising:
one or more instructions that, when executed by one or more processors of a device, cause the device to:
receive global metadata terms and aliases, group level metadata terms and aliases, and user level metadata terms and aliases,
wherein the device is associated with natural-language-based interactions that include at least one of voice searches or interactive chats for at least one of searching or providing recommendations from media systems utilizing a personalized vocabulary;
generate global metadata graphs based on the global metadata terms and aliases;
generate group level metadata graphs based on the group level metadata terms and aliases,
wherein the group level metadata graphs include a plurality of first nodes interconnected by a plurality of first edges representing relationships between the group level metadata terms and aliases;
generate user level metadata graphs based on the user level metadata terms and aliases,
wherein the user level metadata graphs include a plurality of second nodes interconnected by a plurality of second edges representing relationships between the user level metadata terms and aliases;
train natural language understanding (NLU) models with the global metadata graphs, the group level metadata graphs, and the user level metadata graphs to generate trained NLU models;
receive a search request from a user;
determine a confidence score associated with prior interactions related to the user,
wherein the confidence score is associated with a value related to a confidence of a determination of a level the user is related to;
assign the level to the user based on the confidence score,
wherein the level is associated with context related to at least one of the global metadata graphs or the user level metadata graphs;
assign to the user, an identifier within the level;
select an NLU model from the trained NLU models based on the level and the identifier assigned to the user;
process the search request, with the NLU model, to generate search results;
provide the generated search results while using a streaming service;
perform one or more actions associated with an online service or an application based on the search results,
wherein the one or more actions include instructing the streaming service to utilize the search results and to provide details associated with the search results;
retrain the trained NLU models based on increasing a quantity of training data available by utilizing the search results as additional training data for retraining the trained NLU models and based on pruning at least one of the group level metadata graphs or the user level metadata graphs with information received related to user interactions; and
utilize the retrained NLU models for subsequent search requests.
16 . The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions, that cause the device to modify one or more of the group level metadata graphs or one or more of the user level metadata graphs, cause the device to:
add one or more new group level metadata terms and aliases to the one or more of the group level metadata graphs; or
add one or more new user level metadata terms and aliases to the one or more of the user level metadata graphs.
17 . The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions, that cause the device to modify one or more of the group level metadata graphs or one or more of the user level metadata graphs, cause the device to:
remove one or more group level metadata terms and aliases from the one or more of the group level metadata graphs; or
remove one or more user level metadata terms and aliases from the one or more of the user level metadata graphs.
18 . The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions further cause the device to:
receive user interactions with the device;
relink one or more group level metadata terms and aliases in the one or more of the group level metadata graphs based on the user interactions; and
relink one or more user level metadata terms and aliases in the one or more of the user level metadata graphs based on the user interactions.
19 . The non-transitory computer-readable medium of claim 15 , wherein the one or more actions include:
instructing a streaming service to provide details associated with the search results; and
displaying the details associated with the search results.
20 . The non-transitory computer-readable medium of claim 15 , wherein the one or more actions include at least one of:
recommending products or services based on providing the search results to an online store, or
providing the search results to a personal assistant application for further interaction with the user via the personal assistant application.