US11789952B2ActiveUtilityA1

Ranking enterprise search results based on relationships between users

Assignee: SALESFORCE COM INCPriority: Sep 26, 2018Filed: Sep 26, 2018Granted: Oct 17, 2023
Est. expirySep 26, 2038(~12.2 yrs left)· nominal 20-yr term from priority
G06Q 10/42G06Q 10/48G06F 16/24578G06F 16/248G06F 16/288G06F 16/9535G06Q 30/0201
53
PatentIndex Score
0
Cited by
44
References
20
Claims

Abstract

A system stores records of different entity types and processes search queries to determine search results comprising records that match the search query. The system receives a search query comprising search keywords from a source user. The system identifies a target user based on a search keyword received in the search query. The system determines a relationship between the source user and the target user. The system determines a relationship strength score for the relationship between the source user and the target user and ranks the search results based on the relationship strength score. The system provides the search results to the source user.

Claims

exact text as granted — not AI-modified
I claim: 
     
       1. A computer implemented method for ranking search results, the method comprising:
 receiving, by an online system from a client device, a request to create a session, wherein the online system stores records, wherein a record has one of a plurality of entity types, wherein the online system is used by a plurality of users associated with an enterprise; 
 identifying a source user that created the session; 
 receiving, by the online system, a search query from the source user, via the session created by the source user, the search query comprising a plurality of search keywords including a particular search keyword identifying one or more target users and one or more remaining search keywords; 
 identifying a target user matching the particular search keyword; 
 determining a relationship between the source user and the target user based on an enterprise relationship graph specifying relationships between the plurality of users; 
 determining a relationship strength score for the relationship between the source user and the target user, the relationship strength score determined based on interactions between the source user and the target user; 
 identifying one or more entity types associated with the source user and the target user; 
 determining a plurality of records of the one or more entity types associated with the source user and the target user wherein the plurality of records match the one or more remaining search keywords of the search query; 
 ranking the plurality of records based on features comprising the determined relationship strength score; and 
 transmitting one or more ranked records for display via the client device. 
 
     
     
       2. The method of  claim 1 , further comprising:
 determining a relationship type for the determined relationship between the source user and the target user, wherein the features used for ranking the plurality of records further comprise the determined relationship type. 
 
     
     
       3. The method of  claim 2 , wherein determining the relationship strength score for the relationship between the source user and the target user comprises:
 determining a rate of user interactions between the source user and the target user; 
 accessing an expected rate of interactions between users related by the determined relationship type; and 
 determining the relationship strength score for the relationship between the source user and the target user based on a comparison of the determined rate of user interactions between the source user and the target user and the expected rate of interactions. 
 
     
     
       4. The method of  claim 2 , wherein determining the relationship strength score for the relationship between the source user and the target user comprises:
 monitoring a rate of user interactions between the source user and the target user; 
 accessing an expected rate of user interactions between users related by the determined relationship type; and 
 determining the relationship strength score for the relationship between the source user and the target user based on a comparison of the monitored rate of user interactions between the source user and the target user and the expected rate of user interactions. 
 
     
     
       5. The method of  claim 1 , wherein determining the relationship strength score for the relationship between the source user and the target user comprises:
 determining a last interaction between the source user and the target user; and 
 determining the relationship strength score for the relationship between the source user and the target user based on an age of the last interaction between the source user and the target user. 
 
     
     
       6. The method of  claim 1 , wherein determining the relationship strength score for the relationship between the source user and the target user comprises:
 determining measure of distance between the source user and the target user within an organization hierarchy tree; and 
 determining the relationship strength score for the relationship between the source user and the target user based on the measure of distance. 
 
     
     
       7. The method of  claim 1 , wherein determining the relationship strength score for the relationship between the source user and the target user comprises determining a weighted aggregate of factors including:
 a measure of distance between the source user and the target user within an organization hierarchy tree; 
 an age of a last interaction between the source user and the target user; and 
 a rate of interaction between the source user and the target user. 
 
     
     
       8. The method of  claim 1 , wherein ranking the plurality of records comprises:
 accessing a set of weights, the set of weights determined based on features comprising the determined relationship strength score; and 
 ranking the plurality of records based on the set of weights. 
 
     
     
       9. The method of  claim 8 , wherein the set of weights comprise weights representing relevance scores for entity types, the relevance score for a particular entity type indicative of a likelihood of a particular user interacting with a particular record of the particular entity type. 
     
     
       10. The method of  claim 8 , wherein the set of weights represent a machine learning model for ranking search results returned by an input search query. 
     
     
       11. The method of  claim 1 , wherein determining the relationship between the source user and the target user comprises:
 determining in the enterprise relationship graph, a source node corresponding to the source user and a target node corresponding to the target user; 
 determining whether there is an edge between the source node and the target node in the enterprise relationship graph; 
 determining that there is no edge between the source user and target user; and 
 updating the enterprise relationship graph by adding a new edge between the source user and the target user. 
 
     
     
       12. The method of  claim 11 , further comprising:
 determining a relationship type for the determined relationship between the source user and the target user; and 
 annotating the edge between the source user and the target user with the relationship type. 
 
     
     
       13. The method of  claim 12 , wherein determining the relationship type for the determined relationship between the source user and the target user comprises:
 identifying the source user and the target user in an organization hierarchy tree associated with the enterprise; and 
 determining the relationship type for the relationship between the source user and the target user based on a connection between the source user and the target user within the organization hierarchy tree. 
 
     
     
       14. The method of  claim 12 , wherein determining the relationship type for the determined relationship between the source user and the target user comprises:
 identifying interactions between the source user and the target user, the interactions associated with the enterprise; and 
 determining the relationship type for the relationship between the source user and the target user based on the interactions between the source user and the target user. 
 
     
     
       15. The method of  claim 11 , further comprising:
 modifying the search query to perform search within records of the one or more entity types associated with the source user and the target user. 
 
     
     
       16. The method of  claim 1 , further comprising:
 determining a feature vector based on a user profile of the source user, the feature vector comprising a plurality of features; 
 comparing the feature vector with each of a plurality of clusters of user profiles, wherein a cluster of user profiles represents similar users; and 
 selecting, based on comparing of the feature vector with each of the plurality of clusters of user profiles, a cluster of users matching the feature vector of the user profile. 
 
     
     
       17. The method of  claim 1 , wherein a user is determined to be associated an entity type based on a number of user interactions with search results of that entity type. 
     
     
       18. The method of  claim 17 , further comprising:
 determining a weight for each of the one or more entity types based on the relationship strength score, wherein the features used for ranking the plurality of records further comprises the weights of each of the one or more entity types. 
 
     
     
       19. A non-transitory computer-readable storage medium storing computer program instructions that when executed by one or more electronic processors, cause the one or more electronic processors to perform operations comprising:
 receiving, by an online system from a client device, a request to create a session, wherein the online system stores records, wherein a record has one of a plurality of entity types, wherein the online system is used by a plurality of users associated with an enterprise; 
 identifying a source user that created the session; 
 receiving, by the online system, a search query from the source user via the session created by the source user, the search query comprising a plurality of search keywords including a particular search keyword identifying one or more target users and one or more remaining search keywords; 
 identifying target user matching the particular search keyword; 
 determining a relationship between the source user and the target user based on an enterprise relationship graph specifying relationships between the plurality of users; 
 determining a relationship strength score for the relationship between the source user and the target user, the relationship strength score determined based on interactions between the source user and the target user; 
 identifying one or more entity types associated with the source user and the target user; 
 determining a plurality of records of the one or more entity types associated with the source user and the target user wherein the plurality of records match the one or more remaining search keywords of the search query; 
 ranking the plurality of records based on features comprising the determined relationship strength score; and 
 transmitting one or more ranked records for display via the client device. 
 
     
     
       20. A computer system comprising:
 one or more electronic processors; and 
 a non-transitory computer-readable storage medium storing computer program instructions that when executed by the one or more electronic processors, cause the one or more electronic processors to perform operations comprising:
 receiving, by an online system from a client device, a request to create a session, wherein the online system stores records, wherein a record has one of a plurality of entity types, wherein the online system is used by a plurality of users associated with an enterprise; 
 identifying a source user that created the session; 
 receiving, by the online system, a search query from the source user via the session created by the source user, the search query comprising a plurality of search keywords including a particular search keyword identifying one or more target users and one or more remaining search keywords; 
 identifying a target user matching the particular search keyword; 
 determining a relationship between the source user and the target user based on an enterprise relationship graph, specifying relationships between the plurality of users; 
 determining a relationship strength score for the relationship between the source user and the target user, the relationship strength score determined based on interactions between the source user and the target user; 
 identifying one or more entity types associated with the source user and the target user; 
 determining a plurality of records of the one or more entity types associated with the source user and the target user wherein the plurality of records match the one or more remaining search keywords of the search query; 
 ranking the plurality of records based on features comprising the determined relationship strength score; and 
 transmitting one or more ranked records for display via the client device.

Join the waitlist — get patent alerts

Track US11789952B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.