Query-based recommendation systems using machine learning-trained classifier
Abstract
Systems and methods for query-based recommendation systems using machine learning-trained classifiers are provided. A service provider server receives, from a communication device through an application programming interface, a query in an interaction between the server provider server and the communication device. The service provider server generates a vector of first latent features from a set of first visible features associated with the query using a machine learning-trained classifier. The service provider server generates a likelihood scalar value indicating a likelihood of the query is answered by a candidate user in a set of users using a combination of the vector of first latent features and a vector of second latent features. The service provider server provides, to the communication device through the application programming interface, a recommendation message as a response to the query, where the recommendation message includes the likelihood scalar value and an indication of the candidate user.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method, comprising:
receiving, at a service provider server from a communication device through an application programming interface, a query in an interaction between the server provider server and the communication device;
generating, by the service provider server and using a machine learning-trained classifier, a vector of first latent features from a set of first visible features associated with the query;
generating, by the service provider server and using the machine learning-trained classifier, a vector of second latent features from a set of second visible features for a candidate user in a set of users, wherein the vector of second latent features comprises latent representations of a set of second visible features for the candidate user;
generating, by the service provider server, a likelihood scalar value between a first specified number and a second specified number, the likelihood scalar value indicating a likelihood that the query is answered by the candidate user using a combination of the vector of first latent features and the vector of second latent features, wherein the likelihood scalar value is generated at least in part by performing a matrix dot product operation on a plurality of latent feature pairs, and wherein each latent feature pair of the plurality of latent feature pairs comprises a pairing between a first latent feature in the vector of first latent features and a second latent feature in the vector of second latent features; and
providing, to the communication device through the application programming interface, a recommendation message as a response to the query, the recommendation message comprising the likelihood scalar value and an indication of the candidate user.
2. The method of claim 1 , further comprising:
extracting, by the service provider server, a plurality of first features from the query to generate the set of first visible features;
extracting, by the service provider server, a plurality of second features of the candidate user from a user profile associated with the candidate user; and
generating, based on the extracted plurality of second features, the set of second visible features for the candidate user.
3. The method of claim 2 , wherein:
the generating the vector of first latent features comprises generating first visible-to-latent connections between the set of first visible features and the vector of first latent features,
the generating the vector of second latent features comprises generating second visible-to-latent connections between the set of second visible features and the vector of second latent features, and
the generating the second visible-to-latent connections occurs concurrently with the generating the first visible-to-latent connections.
4. The method of claim 2 , wherein:
the first specified number is 0;
the second specified number is 1;
the vector of first latent features indicates a latent representation of the set of first visible features in a same feature space as that of the set of first visible features, and
the vector of second latent features indicates a latent representation of the set of second visible features in a same feature space as that of the set of second visible features.
5. The method of claim 2 , wherein:
the generating the vector of first latent features comprises:
generating a first embedding representation of the set of first visible features with a pre-trained language model, and
applying the first embedding representation to the machine learning-trained classifier to generate the vector of first latent features, and
the generating the vector of second latent features comprises:
generating a second embedding representation of the set of second visible features with the pre-trained language model, and
applying the second embedding representation to the machine learning-trained classifier to generate the vector of second latent features.
6. The method of claim 2 , wherein the vector of first latent features includes a plurality of first latent feature fields, wherein each of the plurality of first latent feature fields includes a different linear combination of the plurality of first features in the set of first visible features.
7. The method of claim 6 , wherein:
the vector of second latent features includes a plurality of second latent feature fields,
each of the plurality of second latent feature fields includes a different linear combination of the plurality of second features in the set of second visible features, and
the plurality of first latent feature fields and the plurality of second latent feature fields respectively include a number of latent feature fields that is adjustable by a predetermined hyperparameter.
8. The method of claim 1 , wherein the generating the likelihood scalar value further comprises:
applying an activation function operation to an output of the matrix dot product operation to generate the likelihood scalar value.
9. The method of claim 1 , further comprising:
generating a vector of likelihood scalar values comprising a plurality of likelihood scalar values that correspond to different candidate users in the set of users; and
generating an ordered listing of candidate users from the set of users that are associated with a respective likelihood scalar value in the vector of likelihood scalar values.
10. The method of claim 9 , wherein:
the generating the vector of likelihood scalar values comprises applying an activation function operation to the vector of likelihood scalar values; and
the generating the ordered listing of candidate users comprises ranking each likelihood scalar value in the vector of likelihood scalar values at an output of the matrix dot product operation.
11. The method of claim 1 , further comprising, before the generating the vector of first latent features:
representing textual features of the set of first visible features as a sequence of letters or words; and
processing the sequence of letters or words using a pre-trained language model, wherein the vector of first latent features is generated based on the processing of the sequence of letters or words.
12. The method of claim 1 , further comprising:
generating a tuple of information indicating the candidate user, the query, and the likelihood scalar value; and
generating the recommendation message with the tuple of information.
13. The method of claim 12 , further comprising:
processing the tuple of information with an iterative algorithm to optimize the tuple of information and generate training data from the tuple of information; and
training the machine learning-trained classifier with the training data in an offline mode.
14. The method of claim 1 , further comprising:
identifying one or more candidate users in the set of users that are associated with a likelihood scalar value that does not exceed a predetermined threshold;
sending, by the service provider server through the application programming interface, a request to communication devices of the one or more candidate users that prompts the one or more candidate users to answer a given query associated with the likelihood scalar value;
receiving, by the service provider server through the application programming interface, responses from the communication devices of the one or more candidate users;
generating additional tuples of information for the one or more candidate users based on the responses;
processing the additional tuples of information with an iterative algorithm to optimize the additional tuples of information and generate training data from the additional tuples of information; and
training the machine learning-trained classifier with the training data in an offline mode.
15. The method of claim 1 , further comprising, before the generating the vector of first latent features:
transforming data associated with the query into a specified format; and
inputting the data associated with the query in the specified format to the machine learning-trained classifier.
16. A system comprising:
a non-transitory memory; and
one or more hardware processors coupled to the non-transitory memory and configured to read instructions from the non-transitory memory to cause the system to perform operations comprising:
receiving, at a service provider server from a communication device through an application programming interface, a query in an interaction between the server provider server and the communication device;
extracting, by the service provider server, a plurality of first features from the query to generate a set of first visible features associated with the query;
generating, by the service provider server, a vector of first latent features from the set of first visible features using a machine learning-trained classifier;
combining, by the service provider server, a vector of first latent features and a vector of second latent features of a set of second visible features for a candidate user of a set of users into a plurality of latent feature pairs;
generating a likelihood scalar value at least in part by performing a matrix dot product operation on the plurality of latent feature pairs, wherein the likelihood scalar value is between a first number corresponding to a 0% probability and a second number corresponding to a 100% probability, such that the likelihood scalar value indicates a likelihood between 0% probability and 100% probability that the query is answered by the candidate user; and
providing, to the communication device through the application programming interface, a recommendation message as a response to the query, the recommendation message comprising the likelihood scalar value and an indication of the candidate user.
17. The system of claim 16 , wherein the operations further comprise:
extracting, by the service provider server, a plurality of second features of the candidate user from a user profile associated with the candidate user;
generating, based on the extracted plurality of second features, the set of second visible features for the candidate user; and
generating, by the service provider server, the vector of second latent features from the set of second visible features using the machine learning-trained classifier,
wherein:
the generating the vector of first latent features comprises generating first visible-to-latent connections between the set of first visible features and the vector of first latent features,
the generating the vector of second latent features comprises generating second visible-to-latent connections between the set of second visible features and the vector of second latent features, and
the generating the second visible-to-latent connections occurs concurrently with the generating the first visible-to-latent connections.
18. The system of claim 16 , wherein the operations further comprise:
generating a vector of likelihood scalar values comprising a plurality of likelihood scalar values that correspond to different candidate users in the set of users; and
generating an ordered listing of candidate users from the set of users that are associated with a respective likelihood scalar value in the vector of likelihood scalar values,
wherein the generating the ordered listing of candidate users comprises ranking each likelihood scalar value in the vector of likelihood scalar values.
19. A non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause a machine to perform operations comprising:
receiving, at a service provider server from a communication device through an application programming interface, a query in an interaction between the server provider server and the communication device;
extracting, by the service provider server, a plurality of first features from the query to generate a set of first visible features associated with the query;
generating, by the service provider server, a vector of first latent features from the set of first visible features using a machine learning-trained classifier;
performing, by the service provider server, a matrix dot product operation on a plurality of latent feature pairs to generate, for a plurality of candidate users, a respective likelihood scalar value between a first specified probability and a second specified probability, such that each respective likelihood scalar value indicates a respective likelihood of the query being answered by each of the candidate user, wherein each latent feature pair of the plurality of latent feature pairs comprises a pairing between a first latent feature in the vector of first latent features and a second latent feature in a vector of second latent features, wherein the vector of second latent features comprises latent representations of visible features of the candidate user; and
providing, to the communication device through the application programming interface, a recommendation message as a response to the query, the recommendation message comprising the likelihood scalar value and an indication of the candidate user.
20. The non-transitory machine-readable medium of claim 19 , wherein the operations further comprise:
generating a vector of likelihood scalar values comprising a plurality of the respective likelihood scalar values; and
generating an ordered listing of the plurality of candidate users,
wherein the generating the ordered listing of candidate users comprises ranking each likelihood scalar value in the vector of likelihood scalar values at an output of the matrix dot product operation.Join the waitlist — get patent alerts
Track US11823044B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.