System and method for personalization of a chat bot
AssigneeTruist Bank
InventorsBarath Jayaraman, Alex Heath Misiaszek
Life of this patent
Estimating the term…
Abstract
A system and method are described for personalizing a chat bot for a user. The system and method include receiving user authentication, retrieving a user profile, determining a user personality using an AI engine configured to predict the user’s personality, receiving indication for a chat bot response, determining content and personality of the chat bot response based on the user profile, sending the chat bot response, receiving a user reply, determining user sentiment from the user reply, and recording user sentiment, response, and reply in the user profile. The system and method may further include providing the user with a predetermined personality for the chat bot.
Claims20
A system utilizing a machine learning framework for personalizing a chat bot for improved user experience, the system comprising:
- at least one processor;
- a communication interface communicatively coupled to the at least one processor;
- and
- a memory device storing executable code that, when executed, causes the at least one processor to:
- train an algorithm, via a machine learning framework and using a set of training data,
- the algorithm configured to determine user personality, the algorithm comprising:
- a front-end neural network configured for language processing to perform pre-processing and feature recognition on data selected from users’ sentiment logs, users’ preferences, users’ chat history logs, users’ social media data, users’ locations, users’ transactional data, and a combination thereof;
- the front-end neural network outputting extracted feature vectors;
- and
- a back-end neural network configured to receive the extracted feature vectors from the front-end neural network and output a user personality vector comprising numerical rankings of openness, conscientiousness, extroversion, agreeableness, and neuroticism, the back-end neural network comprising nodes wherein each node of a previous layer is connected to an associated node of a subsequent layer, and wherein each node of each hidden layer of the back-end neural network is associated with an activation function to generate an output received by a corresponding node in a subsequent layer;
- the training further comprising:
- performing data ingestion and the pre-processing by cleaning and transforming the set of training data, and versioning the set of training data to connect a data snapshot with a resulting trained model;
- performing real-time data validation during each training iteration that confirms numerical ranges and category distributions, and upon detection of an anomaly in the set of training data, automatically pauses training without human intervention and issues an alert to an agent;
- iteratively predicting the user personality vector based on the set of training data;
- testing and comparing the user personality vector predicted during each iteration against a target variable vector and determining an associated error amount for each output data point by comparing the predicted user personality vector against the target variable vector, the associated error amount communicated back through the algorithm as an error signal;
- and
- modifying, via a feedback loop, respective weights assigned to each of the nodes associated with each of the set of training data to improve predictability of the ranking of the user personality and terminating the training when the associated error amount for the output data is less than a predetermined acceptable level;
- determine a user personality by executing the trained algorithm to generate, for a user, a user personality vector based on data within a user profile, wherein the user profile comprises:
- a user sentiment log, the user sentiment log comprising entries comprising a topic identifier, a sentiment score, and a timestamp;
- record the user personality vector in the user profile;
- receive an indication for a chat bot response;
- determine the chat bot response, wherein the chat bot response comprises content that is based on the user profile and a chat bot personality that is based on the user personality vector in the user profile;
- send the chat bot response to the user;
- receive a user reply in response to the chat bot response;
- determine a user sentiment based on the user reply by executing a third neural network, the third neural network configured for language processing to detect multiple topics within the user reply and to assign, for each of multiple topics detected in the user reply, a respective sentiment score wherein the respective sentiment score comprises at least one of an opinion classification of negative, positive, or neutral, and an emotion classification;
- and
- record, in the users’ sentiment log of the user profile, entries comprising a topic identifier, the sentiment score, and a timestamp.
A system utilizing a machine learning framework for personalizing a chat bot for improved user experience, the system comprising:
- at least one processor;
- a communication interface communicatively coupled to the at least one processor;
- and
- a memory device storing executable code that, when executed, causes the at least one processor to:
- train an algorithm, via a machine learning framework and using a set of training data,
- the algorithm configured to determine user personality, the algorithm comprising:
- a front-end neural network configured for language processing to perform pre-processing and feature recognition on data selected from users’ sentiment logs, users’ preferences, users’ chat history logs, users’ social media data, users’ locations, users’ transactional data, and a combination thereof;
- the front-end neural network outputting extracted feature vectors;
- and
- a back-end neural network configured to receive the extracted feature vectors from the front-end neural network and output a user personality vector comprising numerical rankings of openness, conscientiousness, extroversion, agreeableness, and neuroticism, the back-end neural network comprising nodes wherein each node of a previous layer is connected to an associated node of a subsequent layer, and wherein each node of each hidden layer of the back-end neural network is associated with an activation function to generate an output received by a corresponding node in a subsequent layer;
- and
- the training further comprising:
- performing data ingestion and the pre-processing by cleaning and transforming the set of training data, and versioning the set of training data to connect a data snapshot with a resulting trained model;
- performing real-time data validation during each training iteration that confirms numerical ranges and category distributions, and upon detection of an anomaly in the set of training data, automatically pauses training without human intervention and issues an alert to an agent;
- iteratively predicting the user personality vector based on the set of training data;
- testing and comparing the user personality vector predicted during each iteration against a target variable vector and determining an associated error amount for each output data point by comparing the predicted user personality vector against the target variable vector, the associated error amount communicated back through the algorithm as an error signal;
- and
- modifying, via a feedback loop, respective weights assigned to each of the nodes associated with each of the set of training data to improve predictability of the ranking of the user personality and terminating the training when the associated error amount for the output data is less than a predetermined acceptable level;
- determine a user personality by executing the trained algorithm to generate, for a user, a user personality vector based on data within a user profile, wherein the user profile comprises:
- a user sentiment log, the user sentiment log comprising entries comprising a topic identifier, a sentiment score, and a timestamp;
- record the user personality vector in the user profile;
- provide, to the user, a chat bot personality selection comprising pre-determined chat bot personalities;
- receive, from the user, a user-selected chat bot personality;
- record, in the user profile, the user-selected chat bot personality;
- receive a first indication for a first chat bot response, wherein the first indication is the user authentication;
- determine the first chat bot response, wherein the first chat bot response comprises content that is based on the user profile and a chat bot personality that is based on the user personality vector in the user profile and the user-selected chat bot personality in the user profile;
- send the first chat bot response to the user;
- receive a first user reply, in response to the first chat bot response;
- determine a first user sentiment based on the first user reply by executing a third neural network, the third neural network configured for language processing to detect multiple topics within the first user reply and to assign, for each of multiple topics detected in the first user reply, a respective sentiment score wherein the respective sentiment score comprises at least one of an opinion classification of negative, positive, or neutral, and an emotion classification;
- record, in a sentiment log of the user profile, entries comprising a topic identifier, the sentiment score, and a timestamp;
- record the first chat bot response, the first user reply, and the timestamp in a chat history log of the user profile;
- and
- determine a second chat bot response based at least in part on the recorded sentiment score, wherein responsive to the sentiment score for a topic being negative, the second chat bot response avoids content similar to the first chat bot response for the topic, and responsive to the sentiment score for the topic being positive, the second chat bot response increases content similar to the first chat bot response for the topic.
Dependencies are inferred from the claim text.