Generating recommendation clusters in a social network
Claim Score by NHIP
Abstract
Techniques for generating recommendation cluster within a social network service are described. Consistent with some embodiments, sample members in a social network service are identified. The sample members may be associated with prior member activity involving a source member. A cluster category this then selected based on a member attribute shared by a plurality of the sample members. In turn, a recommendation cluster is generated based on the selected cluster category. Generating the recommendation duster may involve selecting member profiles that match the cluster category. The member profiles selected in this way form the recommendation cluster. One or more of the member profiles of the recommendation cluster are then surfaced to a client device operated by the source member.

Term
7.8 yearsto projected expiry
Projected expiry 28 July 2034, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
20 claims: 3 independent, 17 dependent
- 1Broadest claimClaim Score 67, broad(NHIP)A computer-implemented method comprising:identifying sample members in a social network service, the sample members being associated with prior member activity involving a source member;selecting a cluster category based on a member attribute shared by a plurality of the sample members;generating, by one or more processors, a recommendation cluster based on the selected cluster category, the generating comprising selecting member profiles that match the cluster category to be in the recommendation cluster;and surfacing one or more of the member profiles from e recommendation cluster to a client device operated by the source member.
- 11A computer system comprising:at least one processor;a recommendation module implemented by the at least one processor and configured to: identify sample members in a social network service, the sample members being associated with prior member activity involving a source member;select a cluster category based on a member attribute shared by a plurality of the sample members;generate, by one or more processors, a recommendation cluster based on the selected cluster category, the generating comprising selecting member profiles that match the cluster category to be in the recommendation cluster;and a presentation module implemented by the at least one processor and configured to surface one or more of the member profiles from the recommendation cluster to a client device operated by the source member.
- 20A non-transitory computer-readable medium storing executable instructions thereon, which, when executed by a processor, cause the processor to perform operations including:identifying sample members in a social network service, the sample members being associated with prior member activity involving a source member;selecting a cluster category based on a member attribute shared by a plurality of the sample members;generating, by one or more processors, a recommendation cluster based on the selected cluster category, the generating comprising selecting member profiles that match the cluster category to be in the recommendation cluster;and surfacing one or more of the member profiles from the recommendation cluster to a client device operated by the source member.
Independent claims3
63 paragraphs in 5 sections, as filed
RELATED APPLICATIONS
p-0002This application claims priority to U.S. Provisional Patent Application No. 61/826,600, entitled, Methods and Systems for Generating Recommendation Clusters in a Social Network, filed on May 23, 2013, which is incorporated by reference herein in its entirety.
TECHNICAL FIELD
p-0003The present disclosure generally relates to data processing systems. More specifically, the present disclosure relates to methods, systems, and computer program products for generating recommendations of members of a social network service.
BACKGROUND
p-0004A social network service may be a computer or web-based service that enables users to establish links or connections with persons for the purpose of sharing information with one another. Some social network services aim to enable friends and family to communicate and share with one another, while others are specifically directed to business users with a goal of facilitating the establishment of professional networks and the sharing of business information. For purposes of the present disclosure, the terms “social network” and “social network service” are used in a broad sense and are meant to encompass services aimed at connecting friends and family (often referred to simply as “social networks”), as well as services that are specifically directed to enabling business people to connect and share business information (also commonly referred to as “social networks” but sometimes referred to as “business networks” or “professional networks”).
DESCRIPTION OF THE DRAWINGS
p-0005Some embodiments are illustrated by way of example and not limitation in the FIGs. of the accompanying drawings, in which:
p-0006<figref idrefs="DRAWINGS">FIG. 1</figref> is a block diagram illustrating various components or functional modules of a social network service, consistent with some embodiments;
p-0007<figref idrefs="DRAWINGS">FIG. 2</figref> is a data diagram illustrating an example of a data model, according to an example embodiment;
p-0008<figref idrefs="DRAWINGS">FIG. 3</figref> is a user interface diagram illustrating an example of a user interface or web page for displaying recommendation clusters, consistent with some embodiments;
p-0009<figref idrefs="DRAWINGS">FIG. 4</figref> is a flow diagram illustrating a method of generating recommendation clusters, according to an example embodiment; and
p-0010<figref idrefs="DRAWINGS">FIG. 5</figref> is a block diagram of a machine in the form of a computing device within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.
DETAILED DESCRIPTION
p-0011The present disclosure describes methods, systems and computer program products that individually or in combination generate recommendations of members of a social network service to other members of the social networking system. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the various aspects of different embodiments of the present invention. It will be evident, however, to one skilled in the art, that the present invention may be practiced without all of the specific details.
p-0012Consistent with some embodiments, a social network service provides a member (referred herein as a “source member”) with a recommendation service that generates recommendation clusters that recommend members of the social network service that may be of interest to the source member. To generate the recommendation clusters, example embodiments of the recommendation service may track activities performed by the source member. For example, some embodiments of the recommendation service may track the profiles that the source member visited or the profiles the source member messaged. The members that have been involved with member activity from the source member may be referred to as sample members.
p-0013Based on the tracked activities, example embodiments may then identify one or more cluster categories. A “cluster category” may be a term that refers to one or more attributes shared by the members of the sample members. By way of example and not limitation, the source member may have viewed a number of member profiles that list Acme Inc. as an employer. Accordingly, working at Acme Inc, may be a cluster category. In some embodiments, multiple cluster categories are identified by the recommendation service to form multiple recommendation clusters,
p-0014For each of the identified cluster categories, the recommendation service may then generate a recommendation cluster based on matching candidate members with the identified cluster categories. The term “candidate members” may refer to a group of members that selections for a recommendation cluster are made. That is, the candidate members may define a search space for forming a recommendation cluster. In some cases, the candidate members may be connected to the sample members. In some cases, the candidate members may be identified as having an interest or intent that matches the intent of the source member. Still further, in some cases, the candidate members may be member profiles that lack member activity between them and the source member. Continuing with the above example, the recommendation service may generate a recommendation cluster based on the members that also work at Acme Inc.
p-0015In some embodiments, the recommendation service may surface the recommendation clusters to the source member. For example, the members corresponding to the “works at Acme Inc.” cluster category may be presented together in one cluster interface and other members corresponding to other cluster categories may be presented in other cluster interfaces. The cluster interface may be data or logic that may be used to create an interactive visual display to the source member so that the source member can view the various member profiles associated with the cluster category. In some cases, the source member may interact with the cluster module by cycling through the various members of the recommendation cluster.
p-0016In some cases, the cluster interface may specify evidence of why the members of a recommendation cluster may be relevant to the source member. For example and not by way of limitation, the recommendation service may specify the a given recommendation cluster was generated because the source member visited member profiles with a given cluster category (e.g., company, job title, some combination thereof, or the like). In some embodiments, the evidence may be obfuscated by the recommendation service. For example, rather than listing a particular company or job title, the recommendation service may specify that the members of the duster are selected because the member visited or messaged a given member.
p-0017It is to be appreciated that cluster recommendations may have many practical advantages. For example, some embodiments of the recommendation service may be deployed in or in conjunction with a social network service. As is explained in greater detail below, a social network service may limit certain types of communications. For example, a social network service may limit the communications between a source member and out-of-network members. It is to be appreciated that there may be many reasons a social network service may limit the communications between a source member and out-of-network members. For one, the social network service may use communication rules to limit spam messages. However, there may be legitimate situations for allowing out-of-network communications that may benefit the out-of-network members. Such may be the case where the source member uses the social network service to recruit candidates for an open position within a company, for example, and where the out-of-network member is using the social network service because they are interested to some degree about learning about new career opportunities. Accordingly, the social network service may provide limited communication privileges to the source members to facilitate the exchange of information regarding new job opportunities and job seekers. An example of a limited communication privilege may be the ability to send a determinable number (e.g., 10) of messages to out-of-network members over a period of time (e,g., a month). Such privileges may be offered by the social network service as part of a paid service.
p-0018For convenient description, the term “out-of-network” communications may refer to email, messages, instant-messages, text messages, voice messages, or any other communications utilizing the social networking service which is from a source member to a recipient member where the source member and the recipient member do not meet the requirements (e.g., they are not within a particular connection degree) typically required by the social networking service for a communication of that type. While the term “out-of-network communication” implies that the requirement of the social networking service that is being bypassed is a connection degree requirement, the term is used for descriptive convenience and may refer generally to any communication that bypasses rules that a social networking service has with respect to the particular communication. Further, the term “out-of-network” member may refer to a member in the social network service that is not directly connected to the source member in the social network service (e.g., a bidirectional or unidirectional connection was not established between the two members).
p-0019Messaging an out-of-network member using one of a limited number of available messages for a time period may be thought of as a type of cost for messaging the out-of-network member. However, there may also be other types of cost for messaging the out-of-network member. Other types of cost for messaging the out-of-network member may include time, reputation, consumption of computer resources (e.g., network bandwidth, computer processing time on the client and servers), and the like.
p-0020In some cases the recommendation cluster may reduce these costs because the recommendation cluster provides suggestions of members that may be relevant to the source member. Where the suggestions are relevant, the source member can increase the expected utility for sending the out-of-network message. Further, where the cluster recommendations can limit the number of out-of-net-network messages sent to low relevance members, the social network service can reduce the computational resources used to service those types of out-of-network messages.
p-0021These and other example embodiments are now describe in greater detail below.
Example System
p-0022<figref idrefs="DRAWINGS">FIG. 1</figref> is a block diagram illustrating various components or functional modules of a social network service <b>100</b>, consistent with some embodiments. As shown in <figref idrefs="DRAWINGS">FIG. 1</figref>, the front end consists of a user interface module (e.g., a web server) <b>112</b>, which receives requests from various client-computing devices, and communicates appropriate responses to the requesting client devices. For example, the user interface module(s) <b>112</b> may receive requests in the from of Hypertext Transport Protocol (HTTP) requests, or other web-based, application programming interface (API) requests. The application logic layer includes various application server modules <b>114</b>, which, in conjunction with the user interface module(s) <b>112</b>, generates various user interfaces (e.g., web pages) with data retrieved from various data sources in the data layer. With some embodiments, individual application server modules <b>114</b> are used to implement the functionality associated with various services and features of the social network service. For instance, the ability to generate recommendation clusters for a source member may be services implemented in independent application server modules <b>114</b>. Similarly, a variety of other applications or services that are made available to members of the social network service will be embodied in their own application server modules <b>114</b>. For example, with some embodiments, the social network system <b>110</b> includes modules that may individually or in combination provide a recommendation service, such as a recommendation module <b>116</b> and a presentation module <b>117</b>. The recommendation module <b>116</b> may be a computer-implemented module configured to generate recommendation clusters. As is described below, example embodiments may use a variety of information to generate the recommendation clusters, such as attributes obtained from member profiles the source member viewed, member profiles the source member messaged, search terms used by the member profile, member profiles saved in a contact list by the source member, member profiles “introduced” to the source member by another member, and any other such member activity. Such attributes, as described above, may be referred to as cluster categories.
p-0023The presentation module <b>117</b> may be a computer-implemented module configured to generate user interface elements for interacting with the identified recommendation cluster. For instance, the presentation module <b>117</b> may generate user interface elements that may execute on a client device. For example, the presentation module <b>117</b> may generate user interface elements that, when executed on a client device operated by the source member, display one or more recommendation clusters and user interface control elements for interacting with the displayed recommendation clusters,
p-0024As shown in <figref idrefs="DRAWINGS">FIG. 1</figref>, the data layer includes several databases, such as a database <b>118</b> for storing profile data. Consistent with some embodiments, when a person initially registers to become a member of the social network service, the person will be prompted to provide some personal information, such as his or her name, age (e.g., birthdate), gender, interests, contact information, home town, address, the names of the member's spouse and/or family members, educational background (e.g., schools, majors, matriculation and/or graduation dates, etc.), employment history, skills, professional organizations, and so on. This information is stored, for example, in the database with reference number <b>118</b>.
p-0025Once registered, a member may invite other members, or be invited by other members, o connect via the social network service. A “connection” may require a bi-lateral agreement by the members, such that both members acknowledge the establishment of the connection. It is to be appreciated that members may “connect” with entities other than member profiles, such as companies, groups, or any other suitable cohort. The various associations and relationships that the members establish with other members, or with other entities represented by date stored in the database <b>118</b>, are stored and maintained within the social graph, shown in <figref idrefs="DRAWINGS">FIG. 1</figref> with reference number <b>120</b>.
p-0026The social network service <b>100</b> may provide a broad range of other applications and services that allow members the opportunity to share and receive information, often customized to the interests of the member. For example, with some embodiments, the social network service may include a photo sharing application that allows members to upload and share photos with other members. With some embodiments, members may be able to self-organize into groups, or interest groups, organized around a subject matter or topic of interest. With some embodiments, the social network service <b>100</b> may host various job listings providing details of job openings with various organizations.
p-0027As members interact with the various applications, services and content made available via the social network service, the members' behavior (e.g., content (e.g., profiles) viewed, links selected, messages sent, etc.) may be monitored and information concerning the member's behavior may be stored, for example, as indicated in <figref idrefs="DRAWINGS">FIG. 1</figref> by the database with reference number <b>122</b>. This information may be used to classify the member as being in various categories. For example, if the member performs frequent searches of job listings, thereby exhibiting behavior indicating that the member is a likely looking for job opportunities, this information can be used to classify the member as a “job seeker.” Additionally, or alternatively, if a member visits member profiles or messages other member profiles, thereby exhibiting behaviour indicating that the member is likely trying to recruit candidates for a job position, this information can be used to classify the member as a “job placer.” Thus, example embodiments of the recommendation module <b>116</b> may extract further information regarding the member classified as a connection seeker, such as by job title, location, experience level, company, and the like.
Example Data Model
p-0028<figref idrefs="DRAWINGS">FIG. 2</figref> is a data diagram illustrating an example of a data model <b>200</b>, according to an example embodiment. The data model <b>200</b> may conceptually describe the data and relationships stored in databases <b>118</b>, <b>120</b>, <b>222</b>. For example, as illustrated in <figref idrefs="DRAWINGS">FIG. 2</figref>, the data model <b>200</b> may include a source member <b>202</b>, sample members <b>208</b>, candidate members <b>206</b>, and a member attribute <b>210</b>. The source member <b>202</b>, sample members <b>208</b>, and the candidate members <b>206</b> may be profiles of members of the social network service <b>100</b>, as may be stored in the database <b>118</b>. The member attribute <b>210</b> may be data or logic representing a skill, job title, geographic location, employer, experience level, or any other suitable attribute. As shown in <figref idrefs="DRAWINGS">FIG. 2</figref>, the sample members <b>208</b> and a subset of the candidate members <b>206</b> (e.g., subset candidates <b>206</b><i>a</i>) may list the same member attribute.
p-0029As <figref idrefs="DRAWINGS">FIG. 2</figref> illustrates, the source member <b>202</b> may initiate member activities that are performed with respect to the sample members <b>208</b>. Such member activities may include the operation of visiting the profile page of the sample members <b>208</b> or the operation of sending a message to the sample members <b>208</b>. As an example, the source member <b>202</b> may be a recruiter searching the social graph of the social network service <b>100</b> for member profiles that may be candidates for a job listing. Accordingly, the source member <b>202</b> may perform a search on the social network service for member profiles that match a supplied search criteria. The members that match the supplied search criteria may include the sample members <b>208</b>, which are then visited by the source member. Data representing the member activities, according to some embodiments, may be stored in the database <b>122</b> of <figref idrefs="DRAWINGS">FIG. 1</figref>. It is to be appreciated that the source member may be, in some embodiments, a member with a given service level agreement (e.g., premium subscribers) or may be using the social networking service <b>100</b> for any number of activities, such as recruiting, finding a job opportunity, finding a buyer, networking with a community or likeminded members, finding a seller, and the like.
p-0030The candidate members <b>206</b> may be member profiles from the social network service <b>100</b> that the recommendation module may use as a search space for generating recommendation clusters. In some cases, the candidate member profiles may lack member activity between the source member <b>202</b> and the candidate members <b>206</b>. That is, the source member profile <b>202</b> may not have previously communicated, connected, or may otherwise be unfamiliar with the candidate members <b>206</b>. In some cases, the recommendation module <b>116</b> may identify the candidate members <b>206</b> based on an inferred intent or interest of the candidate members <b>206</b>, such as including those members that are “job seekers.”
p-0031In some embodiments, based on the source member <b>202</b> visiting the sample members <b>208</b>, the recommendation module <b>116</b> may recommend the subset candidates <b>206</b><i>a </i>from the candidate members <b>206</b> to the source member <b>202</b> because the subset candidate members <b>206</b><i>a </i>share the member attribute <b>210</b> in common with the sample members <b>202</b>. In this case, the member attribute <b>210</b> is used as a cluster category and the subset candidate members <b>206</b><i>a </i>may represent a recommendation cluster.
p-0032It is to be appreciated that the data model <b>200</b> shown in <figref idrefs="DRAWINGS">FIG. 2</figref> is provided merely for illustration. Some embodiments may use different data models and still be consistent with this disclosure. For example, some embodiments may represent the member attribute as a property or field within a member profile, rather than a separate data object connected via relationship data.
Example User Interface
p-0033<figref idrefs="DRAWINGS">FIG. 3</figref> is a user interface diagram illustrating an example of a user interface <b>300</b> or web page for displaying recommendation clusters, consistent with some embodiments. In example embodiments, the presentation module <b>217</b> may generate data representing the user interface <b>300</b> in response to recommendation clusters identified by the recommendation module <b>316</b>.
p-0034As illustrated in <figref idrefs="DRAWINGS">FIG. 3</figref>, the user interface <b>300</b> may include cluster display modules <b>302</b><i>a </i>and <b>302</b><i>b. </i>The cluster display modules <b>302</b><i>a </i>and <b>302</b><i>b </i>may provide a visual indication of recommendation clusters identified by the recommendation module <b>116</b>. In example embodiments, the cluster display modules <b>302</b><i>a </i>and <b>302</b><i>b </i>may each display members belonging to different clusters. As discussed above, a recommendation cluster may group member profiles based a cluster category, which is, in turn, based on one or more member attributes listed by sample profiles. Thus, the cluster display modules <b>302</b><i>a </i>and <b>302</b><i>b </i>may each individually display multiple member profiles according to a cluster category and the multiple member profiles are therefore relevant for similar reasons. For example, the cluster display module <b>302</b><i>a </i>may be used to display member profiles that are each relevant to the source member for similar reasons (e.g., the member profiles list similar employers, geographic locations, skills, or combinations thereof). Grouping member profiles in cluster recommendations may allow efficient searching on behalf of the source member in many cases.
p-0035To facilitate comparably meaningful recommendation clusters, the presentation module <b>117</b> may display clustering evidence, such as clustering evidences <b>306</b><i>a </i>and <b>306</b><i>b. </i>In general, the clustering evidences <b>306</b><i>a </i>and <b>306</b><i>b </i>may identify member attributes that are used to cluster the various member profiles. For example, the clustering evidence <b>306</b><i>a </i>may provide an indication that the member profiles are clustered because the source member viewed member profiles from a given or similar company. Other examples of member attributes that may be used as a basis for clustering member profiles are job titles, experience level, education (degree, university, graduation level, and the like). In some cases, the member attribute, or member attributes, used to form a recommendation cluster may be obfuscated. For example, the presentation module <b>117</b> may indicate that the member profiles are clustered because a member profile viewed a given member, where the given member may have an attribute that is used to form the recommendation cluster,
p-0036According to some embodiments, the cluster display modules <b>302</b><i>a </i>and <b>302</b><i>b </i>may allow user interactions with the member profiles that form the recommendation clusters. For example, as shown in <figref idrefs="DRAWINGS">FIG. 3</figref>, the cluster display module <b>302</b><i>a </i>includes control elements <b>304</b> and module sizer <b>308</b>. The control elements <b>304</b> may be one or more user interface elements that allow the user to change the member profiles shown in the cluster display module <b>302</b><i>a </i>responsive to detecting that the user selected one of the scrolling elements <b>304</b>. For example, upon detecting that the source member selected one of the control elements <b>304</b>, the presentation module <b>117</b> may select a new subset of member profiles in the recommendation cluster to display in the cluster display module <b>302</b><i>a. </i>Such an approach for selecting the new subset may be used to simulate a carousel effect or a moving through a list of member profiles.
p-0037The module sizer <b>308</b> may be a user interface element that may resize the cluster display module <b>304</b><i>a. </i>Resizing may be an operation that updates the size or presence of the cluster display module <b>302</b><i>a. </i>For example, the module sizer <b>308</b> may close and remove the cluster display module <b>304</b><i>a </i>if the source member clicks on it, in some embodiments, the cluster display module <b>302</b><i>a </i>may include other module sizers, such as a module sizer for changing the dimensions of the cluster display module <b>302</b><i>a </i>or another tier moving the relative location of the cluster display module <b>302</b><i>a. </i>
p-0038In some cases, the control elements <b>304</b> and the module sizer <b>308</b> may appear on the condition that the source member hovers a input <b>310</b> over the cluster display module <b>302</b><i>a. </i>The input <b>310</b> may be a mouse cursor, a touch screen input, detected focus of eye movement, and the like. In other cases, rather than dynamically appearing on the condition of the user input <b>310</b>, the display module <b>302</b><i>a </i>may display the control elements <b>304</b> and the module sizer <b>308</b> may make these elements visible to the source member independent of the user input <b>310</b>.
Example Method for Generating Recommendation Clusters
p-0039<figref idrefs="DRAWINGS">FIG. 4</figref> is a flow diagram illustrating a method <b>400</b> of generating recommendation clusters, according to an example embodiment. The method <b>400</b> may begin at operation <b>402</b> when an application or service (e.g., the recommendation module <b>116</b>) of the social network system <b>110</b> identifies sample members that can be used to generate a recommendation cluster. In an example embodiment, the sample members may be members of the social network service that the source member has previously interacted with. For example, some embodiments may identify those members that the source member has sent a message to in the past or has previously visited. As described above, “visiting” may be a term that can refer to an action provided by the social network service where one member (e.g., the source member) can view the profile, or some subset thereof, of another member. As described above, visiting and messaging members are examples of member activity that may be stored in the database <b>122</b> of <figref idrefs="DRAWINGS">FIG. 1</figref>. Other examples of member activity that may be used to identify sample members include search terms used by the member profile to identify relevant members, member profiles saved in a contact list by the source member, member profiles “introduced” to the source member by another member, and any other such member activity,
p-0040At operation <b>404</b>, the recommendation module <b>116</b> may select one or more cluster categories based on member attributes shared by one or more of the sample members. For example, some portion of the sample members may be employed by the same company, or some portion of the sample members may have the same job title. It is to be appreciated that where there are multiple member attributes that can be used to select a cluster category, the selection can be performed using any number of methods. For example, one example embodiment may select the member attribute being listed by the most member profiles. In another example, the member attributes may be selected at random. Still further, other example embodiments may use a commonality threshold to filter out those member attributes that are only shared by a limited number of member profiles. It is of course possible that some embodiments may use any number of the above techniques to select a cluster category.
p-0041At operation <b>406</b>, the recommendation module <b>116</b> may generate a recommendation cluster based on the cluster category selected by operation <b>404</b>. For example, the recommendation module <b>116</b> may identify those member profiles in the social network service that list the member attributes that form the cluster category. For example, if the cluster category is the member attribute that specifies an employer, then operation <b>406</b> may identify member profiles that also work at the specified employer. In some embodiments, the recommendation module <b>116</b> may further identify the member profiles that form the recommendation cluster based on techniques for identifying the intents of the candidate profiles and or the source member, as is discussed in greater detail below. Examples of intent may include job seeker and employee finder. Accordingly, the recommendation module <b>116</b> may only select those member profiles that are identified as potential job seekers.
p-0042At operation <b>408</b>, the recommendation module <b>116</b> may surface the recommendation cluster to the source member. With reference to <figref idrefs="DRAWINGS">FIG. 3</figref>, the recommendation module <b>116</b> may cause the presentation module <b>117</b> to generate the user interface <b>300</b> that displays the cluster display modules <b>302</b><i>a </i>and <b>302</b><i>b. </i>The cluster display modules <b>302</b><i>a </i>and <b>302</b><i>b </i>may allow the source member to interact with and to view the member profiles that may be relevant to the interest of the source member.
p-0043Although the many examples presented herein involve publishing query messages or status updates to a content stream, in other embodiments, the same member targeting logic may be used to communicate query messages using a wide variety of communication channels. For example, the member targeting logic described herein may be used to communicate an email message, a text message, or any other type of message. With some embodiments, a messaging interface may allow the query message author to select the particular communication channel (e.g., status update, email, text message, etc.) by which a query message is to be communicated to the desired audience.
Interests and Intents
p-0044As discussed above, generating recommendation clusters may be based on criteria that considers how closely the interests and intentions of the source member match the interests and intentions of the members of the candidate members. For example, the social networking service may define one or more predefined personas for all members. These personas may be broken down into two components: intent—i.e., the various reasons that members use the social networking service (e.g., job searching, connection forming, or the like), and interests, i.e., various things members are interested in (e.g., patent law, software engineering, or the like). The social networking service may assign probabilities for each predefined intent category and probabilities for each predefined interest category. The probability reflects the likelihood that based on information and observed activity known to the social networking service, the member has one of the predefined intent and interests. For example, a member who is actively viewing pages regarding job opportunities and includes profile attributes indicating interest in software development may be determined to have a high probability of a job seeking intent and a high probability of being interested in software development. This may be implemented in some examples based upon training sets of data in which members are manually classified into the various categories based upon the information the social networking service knows about them. These manually classified member profiles may then be used as training data for a classification algorithm. For example, a Bayesian classifier may be used.
p-0045The interests and intent of the source member, as determined by the system, may be matched with members who have corresponding interests and intents. Members with interests and intent corresponding to that of the source member may have a higher likelihood of being recommended to the source member for an out-of-network communication. For example, the source member may be a recruiter interested in software engineers. These source members may be matched with software engineers who are looking for a job. Note that as described, both interests and intent are used as selection criteria, but in some examples, only interests or only intent may be utilized.
p-0046To determine the interests and intent of the source members, the system may use the same techniques described above. In particular, the system may examine past out-of-network communications to determine the interests and intent of the source member. For example, if a particular member sends a lot of out-of-network communications to patent attorneys who are looking for new jobs, the system may determine the intent of the source member is that of a recruiter or employer and the interest is patent law. In yet other examples, the system may explicitly ask the source member about their interests and intents through dialogue boxes or other inputs.
p-0047The system may determine a score representing how closely the interests and intent of the source member matches the interests and intent of the members in the set of potential recommended members. For example the system may maintain a list of interests and intents that correspond to each other. For example, a recruiter intent may be listed as corresponding to intents such as a job-seeker intent. Corresponding intents may include more than two intents. For example, an intent to use the social networking service to meet new people (e.g., to network) may correspond to a recruiter intent, a networking intent, a sates intent (e.g., to use the social networking service to sell products or services), or the like.
p-0048In addition, the list of corresponding interests and intents may contain a similarity score. For example, a recruiter intent may correspond with both a job-seeker intent and a networking intent, but may correspond more with the job-seeker intent. Thus a member with a job-seeker intent would score higher than one with a networking intent.
p-0049In addition to predefined lists and scores based on those lists, the system may also utilize one or more of the previously discussed clustering algorithms to cluster groups of members with corresponding interests and intents. The score may then be based upon how close the various interests and intents of the potential recommended member is to the interests and intents of the source member.
Example Computer Systems
p-0050The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules or objects that operate to perform one or more operations or functions. The modules and objects referred to herein may, in some example embodiments, comprise processor-implemented modules and/or objects.
p-0051Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. The performance of certain operations may be distributed among the one or more processors, not only residing within a single machine or computer, but deployed across a number of machines or computers. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or at a server farm), while in other embodiments the processors may be distributed across a number of locations.
p-0052The one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or within the context of “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., Application Program Interfaces (APIs)).
p-0053<figref idrefs="DRAWINGS">FIG. 5</figref> is a block diagram of a machine in the form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines networked deployment, the machine may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in peer-to-peer (or distributed) network environment. In a preferred embodiment, the machine will be a server computer, however, in alternative embodiments, the machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a mobile telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
p-0054The example computer system <b>500</b> includes a processor <b>5</b> (e.g., a central processing unit (CPU), a graphics processing unit (GRU) or both), a main memory <b>501</b> and a static memory <b>506</b>, which communicate with each other via a bus <b>508</b>. The computer system <b>500</b> may further include a display unit <b>510</b>, an alphanumeric input device <b>517</b> (e.g., a keyboard), and a user interface (UI) navigation device <b>511</b> (e.g., a mouse). In one embodiment, the display, input device and cursor control device are a touch screen display. The computer system <b>500</b> may additionally include a storage device <b>516</b> (e.g., drive unit), a signal generation device <b>518</b> (e.g., a speaker), a network interface device <b>520</b>, and one or more sensors <b>521</b>, such as a global positioning system sensor, compass, accelerometer, or other sensor.
p-0055The drive unit <b>516</b> includes a machine-readable medium <b>522</b> on which is stored one or more sets of instructions and data structures (e.g., software <b>523</b>) embodying or utilized by any one or more of the methodologies or functions described herein. The software <b>523</b> may also reside, completely or at least partially, within the main memory <b>501</b> and/or within the processor <b>502</b> during execution thereof by the computer system <b>500</b>, the main memory <b>501</b> and the processor <b>502</b> also constituting machine-readable media.
p-0056While the machine-readable medium <b>522</b> is illustrated in an example embodiment o be a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions. The term. “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
p-0057The software <b>523</b> may further be transmitted or received over a communications network <b>526</b> using a transmission medium via the network interface device <b>520</b> utilizing any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), the Internet, mobile telephone networks, Plain Old Telephone (POTS) networks, and wireless data networks (e.g., Wi-Fi® and WiMax® networks). The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software.
p-0058Although an embodiment has been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The accompanying drawings that form a part hereof, show by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. This Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
Contents5
6 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2017142221A1 | Cited by | United States of America | Search report |
| US2017031915A1 | Cited by | United States of America | Pre-grant |
| US12079302B2 | Cited by | United States of America | Search report |
| US12271401B2 | Cited by | United States of America | Applicant |
| US2017142221A1 | Cited by | United States of America | Pre-grant |
| US2020081938A1 | Cited by | United States of America | Search report |
| WO2024049556A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US10778803B2 | Cited by | United States of America | Search report |
| US2006229896A1 | Cites | United States of America | Pre-grant |
| US2009030932A1 | Cites | United States of America | Pre-grant |
| US2011313963A1 | Cites | United States of America | Pre-grant |
| US2012166285A1 | Cites | United States of America | Pre-grant |
| US2016098683A1 | Cites | United States of America | Pre-grant |
| US7680770B1 | Cites | United States of America | Pre-grant |
| US8849740B2 | Cites | United States of America | Pre-grant |
| US9462004B1 | Cites | United States of America | Pre-grant |
2 members in 1 office; this record represents the family
Priority claims1
| Document | Office | Kind | Date |
|---|---|---|---|
| 201361826600 | United States of America | P |
Members2
| Document | Office | Kind | |
|---|---|---|---|
| US2014351259A1 | United States of America | A1 | |
| US10331702B2 | United States of America | B2 |
94 transactions on the USPTO file
Allowed after 3 non-final rejections, 2 final rejections and 2 RCEs.
- Non-final rejections
- 3
- Final rejections
- 2
- RCEs
- 2
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Correspondence Address ChangeC.ADB | C.ADB | |
| Post Issue Communication - Certificate of CorrectionN423 | N423 | |
| Correspondence Address ChangeC.ADB | C.ADB | |
| Correspondence Address ChangeC.ADB | C.ADB | |
| Correspondence Address ChangeC.ADB | C.ADB | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Email NotificationEML_NTR | EML_NTR | |
| Email NotificationEML_NTR | EML_NTR | |
| Filing Receipt - CorrectedFLRCPT.C | FLRCPT.C | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail PUBS Letter Withdrawing a Notice Requiring Inventors Oath or DeclarationMM327-W | MM327-W | |
| PUBS Letter Withdrawing a Notice Requiring Inventors Oath or DeclarationM327-W | M327-W | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Applicant Initiated Interview SummaryMEXIA | MEXIA | |
| Interview Summary - Applicant Initiated - TelephonicEXAT | EXAT | |
| Interview Summary- Applicant InitiatedEXIA | EXIA | |
| Mail Post CardPST_CRD | PST_CRD | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Mail Interview Summary - Applicant Initiated - TelephonicMEXAT | MEXAT | |
| Interview Summary - Applicant Initiated - TelephonicEXAT | EXAT | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Mail Interview Summary - Applicant Initiated - TelephonicMEXAT | MEXAT | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Interview Summary - Applicant Initiated - TelephonicEXAT | EXAT | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| Email NotificationEML_NTR | EML_NTR | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Email NotificationEML_NTR | EML_NTR | |
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Filing Receipt - ReplacementFLRCPT.R | FLRCPT.R | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Email NotificationEML_NTR | EML_NTR | |
| Application Is Now CompleteCOMP | COMP | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Application Is Now CompleteCOMP | COMP | |
| Sent to Classification ContractorPGPC | PGPC | |
| FITF set to YES - revise initial settingFTFS | FTFS | |
| Cleared by OIPE CSRL194 | L194 | |
| Patent Term Adjustment - Ready for ExaminationPTA.RFE | PTA.RFE | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Entity status set to undiscounted (initial default setting or status change)BIG. | BIG. | |
| Initial Exam Team nnIEXX | IEXX |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Certificate of correctionCC | CC | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Information on status: patent application and granting procedure in generalPUBLICATIONS -- ISSUE FEE PAYMENT VERIFIEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalNOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONSSTPP | STPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 20140351259
- Application
- 14286879
Titles
- English
- GENERATING RECOMMENDATION CLUSTERS IN A SOCIAL NETWORK
Patent term adjustment
- A delay
- +292 daysthe office missed an examination deadline
- B delay
- +1 daypendency past three years
- Applicant delay
- −227 days
- Net adjustment
- 66 days
Classification
- CPC, 3
- G06F16/285
- G06F16/95
- G06Q10/40
- IPC, 1
- G06F17 30