Back to results
US 10,706,107 B2Granted
Search systems and methods utilizing search based user clustering
AssigneeOpen Text SA ULC
InventorsJaime Ayats Ardite, Todd Russell Poston
Life of this patent
Estimating the term…
Abstract
Embodiments of search systems that leverage the search or access activities of a core group of users to improve search functionality and performance of such search systems are disclosed. Specifically, embodiments may utilize users' search activity to generate clusters of users and associated labels for those clusters. These clusters can be leveraged during a search to generate suggestions for a user conducting the search.
Claims21
A search system, comprising:
- a network interface;
- a processor;
- a data store, comprising:
- user query event data, the user query event data comprising a plurality of user query events, where each user query event includes a user identifier (ID) associated with the user query event and one or more keywords associated with the user query event;
- and
- a search clustering file defining a plurality of user clusters, each user cluster comprising a set of user IDs associated with a search vector defined by one or more critical labels;
- a non-transitory computer readable medium, comprising instructions executable on the processor for:
- a clustering module for:
- accessing the user query event data;
- generating the search clustering file by:
- generating a plurality of query structures for a set of users of the search system by:
- for each of the user query events in the user query event data, evaluating each of the one or more keywords of the user query event to determine if a label is associated with the keyword and assigning the label to the user query event when the label is associated with the keyword;
- creating a query structure for each user query event for which at least one keyword of the user query event is associated with the label;
- saving the plurality of query structures for the set of users based on a number of user query event hits for each user and a hit threshold;
- and
- applying a clustering rule to the plurality of query structures to generate the plurality of user clusters, the set of user IDs associated with each cluster, and the search vector for each of the plurality of user clusters;
- and
- a suggestion module for:
- receiving a user query event from a first user;
- in response to receiving the user query event,
- determining a user ID of the first user;
- accessing the search clustering file based on the user ID of the first user to determine if the user can be associated with a cluster of the plurality of user clusters of the search clustering file;
- based on the cluster with which the first user is associated:
- provide to the first user a suggested search query term wherein the search query term is associated with the cluster;
- or
- provide to the first user a suggestion of a managed asset available for access, wherein the managed asset is determined based on the cluster.
23 more elements
A method, comprising:
- in a user clustering process:
- accessing user query event data comprising a plurality of user query events, where each user query event includes a user identifier (ID) associated with the user query event and one or more keywords associated with the user query event;
- generating a search clustering file defining a plurality of user clusters, each user cluster comprising a set of user IDs associated with a search vector defined by one or more critical labels, by:
- generating a plurality of query structures for a set of users of the search system by:
- for each of the user query events in the user query event data, evaluating each of the one or more keywords of the user query event to determine if a label is associated with the keyword and assigning the label to the user query event when the label is associated with the keyword;
- creating a query structure for each user query event for which at least one keyword of the user query event is associated with the label;
- saving the plurality of query structures for the set of users based on a number of user query event hits for each user and a hit threshold;
- and
- applying a clustering rule to the plurality of query structures to generate the plurality of user clusters, the set of user IDs associated with each cluster, and the search vector for each of the plurality of user clusters;
- and
- in a suggestion process:
- receiving a user query event from a first user;
- in response to receiving the user query event,
- determining a user ID of the first user;
- accessing the search clustering file based on the user ID of the first user to determine if the user can be associated with a cluster of the plurality of user clusters of the search clustering file;
- based on the cluster with which the first user is associated:
- provide to the first user a suggested search query term wherein the search query term is associated with the cluster;
- or
- provide to the first user a suggestion of a managed asset available for access, wherein the managed asset is determined based on the cluster.
16 more elements
A non-transitory computer readable medium, comprising instructions for:
- a user clustering process for:
- accessing user query event data comprising a plurality of user query events, where each user query event includes a user identifier (ID) associated with the user query event and one or more keywords associated with the user query event;
- generating a search clustering file defining a plurality of user clusters, each user cluster comprising a set of user IDs associated with a search vector defined by one or more critical labels, by:
- generating a plurality of query structures for a set of users of the search system by:
- for each of the user query events in the user query event data, evaluating each of the one or more keywords of the user query event to determine if a label is associated with the keyword and assigning the label to the user query event when the label is associated with the keyword;
- creating a query structure for each user query event for which at least one keyword of the user query event is associated with the label;
- saving the plurality of query structures for the set of users based on a number of user query event hits for each user and a hit threshold;
- and
- applying a clustering rule to the plurality of query structures to generate the plurality of user clusters, the set of user IDs associated with each cluster, and the search vector for each of the plurality of user clusters;
- and
- a suggestion process for:
- receiving a user query event from a first user;
- in response to receiving the user query event,
- determining a user ID of the first user;
- accessing the search clustering file based on the user ID of the first user to determine if the user can be associated with a cluster of the plurality of user clusters of the search clustering file;
- based on the cluster with which the first user is associated:
- provide to the first user a suggested search query term wherein the search query term is associated with the cluster;
- or
- provide to the first user a suggestion of a managed asset available for access, wherein the managed asset is determined based on the cluster.
16 more elements
Dependencies are inferred from the claim text.