Discovery and recommendation of online learning resources
Assigneesalesforce.com, inc.
InventorsYang Zhang, Jason Paul Kovalski
Life of this patent
Estimating the term…
Abstract
A system models web content including learning resources available on a website, and makes suggestions of potentially useful learning resources when a user highlights text of interest within the website. In order to facilitate these suggestions, a neural network-based system is trained on learning resources and other content available on the website to create a common word embedding for learning resources and other website text. A student model may then be created to facilitate real time or near real time suggestions of relevant learning resources in response to selections of text from the website.
Claims20
A method comprising:
- training a site-wide neural language model for a website, the site-wide neural language model including a domain-specific neural language model trained over content for the website, the content including web pages and a number of learning resources;
- generating an embedding for the learning resources;
- clustering the learning resources into a number of clusters within the embedding;
- tuning the site-wide neural language model for each cluster based on one or more learning resources associated with the cluster, thereby providing a group of cluster-specific models including a model for each of the clusters;
- feeding content of each of the learning resources to the site-wide neural language model and a corresponding one of the cluster-specific models, thereby providing a site-wide embedding and a cluster-specific embedding for each learning resource;
- concatenating the site-wide embedding and the cluster-specific embedding for each of the learning resources, thereby providing an embedded space for a transformer-based neural model configured to receive a selection of content from the website and provide a probability distribution that one or more of the learning resources are relevant to the selection of content;
- configuring a student model with fewer layers than the transformer-based neural model to output the probability distribution in response to the selection of content;
- receiving a text selection from the content for the website;
- and
- providing a list of one or more of the learning resources in an order ranked according to relevance to the text selection by the student model.
A computer program product for recommending educational content comprising computer executable code embodied in a non-transitory computer readable medium that, when executing on one or more computing devices, performs the steps of:
- training a site-wide neural language model for a website, the site-wide neural language model including a domain-specific neural language model trained over content for the website, the content including web pages and a number of learning resources;
- generating an embedding for the learning resources;
- clustering the learning resources into a number of clusters within the embedding;
- tuning the site-wide neural language model for each cluster based on one or more learning resources associated with the cluster, thereby providing a group of cluster-specific models including a model for each of the clusters;
- feeding content of each of the learning resources to the site-wide neural language model and a corresponding one of the cluster-specific models, thereby providing a site-wide embedding and a cluster-specific embedding for each learning resource;
- concatenating the site-wide embedding and the cluster-specific embedding for each of the learning resources, thereby providing an embedded space for a transformer-based neural model configured to receive a selection of content from the website and provide a probability distribution that one or more of the learning resources are relevant to the selection of content;
- and
- configuring a student model with fewer layers than the transformer-based neural model to output the probability distribution in response to the selection of content.
A system comprising:
- a database storing a website having content that includes web pages and a number of learning resources;
- a server coupled to the database and hosting the website for access through a network;
- a training engine configured to train a student model by performing the steps of training a site-wide neural language model over content for the website, generating an embedding for the learning resources, clustering the learning resources into a number of clusters within the embedding, tuning the site-wide neural language model for each cluster based on one or more of the learning resources associated with the cluster to provide a group of cluster-specific models including a model for each of the clusters, feeding content of each of the learning resources to the site-wide neural language model and a corresponding one of the cluster-specific models to provide a site-wide embedding and a cluster-specific embedding for each learning resource, concatenating the site-wide embedding and the cluster-specific embedding for each of the learning resources to provide an embedded space for a transformer-based neural model configured to receive a selection of content from the website and provide a probability distribution that one or more of the learning resources are relevant to the selection of content, and configuring the student model to output the probability distribution in response to the selection of content with fewer layers than the transformer-based neural model, wherein the training engine dynamically updates the student model as the website changes;
- and
- a recommendation engine configured to receive a text selection from a user of the website based on content for the website displayed to the user in a user interface, and to responsively provide a list of one or more of the learning resources to the user in the user interface in an order ranked according to relevance to the text selection by the student model.
Dependencies are inferred from the claim text.