The present disclosure generally relates to identifying relationships between users for filter-based searching of data available via information networks such as a wide area network (for example, the World Wide Web or the Internet), for example collaborative filtering.
The exponential growth of information available to users of various information networks (for example, broadcast, satellite, or cable television; wide area networks such as the World Wide Web or the Internet), requires organizing the presentation of the available information in an efficient and effective manner. Collaborative filtering attempts to organize presentation of information to a user in a wide area network (for example, the World Wide Web) based on automatically predicting the interests of a user by establishing relationships between items of interest to the user (for example, items recently viewed by the user at a commercial website) and other items that have been determined as of interest to other users. Item-based collaborative filtering, illustrated for example at the website “amazon.com” (users who bought x also bought y) is based on the premise that if a number of users purchase both items “x” and “y”, then another user viewing (or purchasing) the item “x” also may be interested in the item “y”.
Demographic based targeting classifies individuals according to demographics, in an attempt to provide content that is considered more appropriate to the target individuals. For example, technologies such as Choicestream (available at the website address “choicestream.com”) use a series of questions to categorize people into a set of clusters based on similar responses to the questions. Conventional collaborative filtering systems can establish a relationship between online users “A” and “B” based on both users entering the same rating value (five stars) for the same item “X”. Such collaborative filtering techniques have been used to determine cohorts (i.e., a group of individuals having similar tastes). An example of fixed cohorts (using fixed demographic data) is illustrated for example by the Claritas Prizm Clustering by Claritas, Inc., San Diego, Calif. Other examples of utilizing collaborative filtering to classify a user into a similar group are provided by companies such as Revenue Science (at the website address “www.revenuescience.com”), Aggregate Knowledge (at the website address “aggregateknowledge.com”), and Wunderloop (at the website address “wunderloop.com”).
Reference is made to the attached drawings, wherein elements having the same reference numeral designations represent like elements throughout and wherein:
In one embodiment, a method comprises detecting a first comment that is input by a first user at an instance coincident with the first user having been supplied a first identified position of a content asset; detecting a second comment that is input by a second user at an instance coincident with the second user having been supplied a second identified position of the content asset; and selectively establishing a similarity relationship between the first and second users, based on a determined positional similarity between the first and second comments based on the respective first and second identified positions relative to the content asset, and a determined content similarity between the first and second comments.
In another embodiment, an apparatus comprises a processor circuit and a network interface circuit. The processor circuit is configured for detecting a first comment that is input by a first user at an instance coincident with the first user having been supplied a first identified position of a content asset, and detecting a second comment that is input by a second user at an instance coincident with the second user having been supplied a second identified position of the content asset. The processor circuit also is configured for selectively establishing a similarity relationship between the first and second users, based on a determined positional similarity between the first and second comments based on the respective first and second identified positions relative to the content asset, and a determined content similarity between the first and second comments. The network interface circuit is configured for outputting the similarity relationship for storage in a database.
Particular embodiments disclosed herein enable the establishment of user relationships between users of a network, enabling the user relationships to establish affinity groups that cluster users into groups based on similar interests detected between the users. The particular embodiments detect comments that users input relative to consumption of a particular content asset, for example viewing a video stream supplied from playing a DVD owned by the user, or supplied by a media source via a network. The comments that are input by the users are analyzed not only with respect to the determined content similarity (for example, distinguishing favorable comments from unfavorable comments or neutral comments), but also with respect to the instance in which a user inputs a comment relative to the presentation of the content asset to the user.
In particular, the act of a user generating a comment at a specific instance relative to the content asset consumed by the user can demonstrate a substantially strong opinion or preference by the user with respect to the content that has just been consumed by the user at that particular position of the content. For example, assume a user is viewing a network content asset in the form of a sports event, a movie, a televised political debate, or an episode of a dramatic television series via a media stream downloaded from a network, or a content asset available from a local storage medium such as a DVD purchased by the user and supplied by a local DVD player that retrieves the media stream from the DVD: the user can have such a strong spontaneous and emotional reaction to a specific event presented in the media stream that the user submits a comment via the network to a destination, for example in the form of an instant message, a short message to a cell phone, or a message posting to an online bulletin board. Such a spontaneous and emotional reaction by the user to the specific event in the content asset can be recorded based on identifying not only the user and the user comment, but also the “position” of the content asset that is supplied to the user at the instant the user comment is detected. The term “position” can refer to a temporal position within the content asset (e.g., a timecode value within a media stream), or a spatial position within the content asset, for example in the case of a user reading an online book and submitting an online comment regarding a specific sentence, paragraph, and/or page of the online book. Hence, the spontaneous and emotional reaction by the user to the specific event and the content asset can be recorded based on detecting the instance the user inputs the comment, coincident with the position of the content asset that is being supplied for presentation to the user.
A similarity relationship can be established between users that spontaneously respond to the same event presented in the content asset based on determining the respective comments share a determined positional similarity relative to the content asset, for example based on identifying a substantially large number of comments that have been input within a ten-second interval relative to an identifiable timecode of a media stream. Hence, the similarity relationships can be established between multiple users that respond to the same event of the content asset, without analyzing the actual content of the event that caused the users to input their comments. Hence, the similarity relationships can be established without the necessity of performing any predictive analysis of the content asset.
Further, the similarity relationships can identify whether two users share the same affinity toward the same event in the content asset (for example, in the case of two fans of a sports team cheering a score by their sports team), or whether two users share an opposite affinity toward the same event in the content asset (for example, in the case of one fan cheering the event of a score by a sports team, while the other fan demonstrates opposition to the sports team by expressing dismay over the same event).
The establishment of the user relationships between users can be particularly effective in providing quality recommendations for content and advertising, since recommendations for a first user may be shared among other users that are deemed similar to the first user. Moreover, the establishment of the user relationships based on analyzing the positional similarity between the comments enables users to be categorized into different affinity groups based on their respective reactions to different positions of the content asset, even if all of the users having viewed the content asset express a favorable opinion or gesture of the overall content asset.
Hence, multiple affinity groups can be identified from a single content asset based on situational analyses of the comments submitted by the users having consumed at least a portion of the content asset, without the necessity of users viewing the entire content asset, or even without the necessity of any analysis of the content asset.
The particular embodiments disclosed herein thus can enhance the system of socially collaborative filtering described in commonly-assigned U.S. patent application Ser. No. 11/947,298, filed Nov. 29, 2007 and entitled “Socially Collaborative Filtering”, for determination of network items that are most likely to be preferred by a user. As described in further detail below, the particular embodiments disclosed herein improve the determination of network items, most likely to be preferred by a first user, based on establishing a similarity relationship between the first user and a second user based on respective comments made by the users relative to a network content asset, and identifying network items that are preferred by the second user.
Use of the term “network content asset” in this specification refers to online content that can be consumed by a user via the network (for example, online videos, music, e-books, online articles, written commentary, etc.). Use of the term “content asset” in this specification refers generally not only to a network content asset, but also to locally-stored content that can be consumed by the user and that can be indexed in the network, for example in the form of a data file stored on a tangible computer readable medium storage medium (for example, a compact disk (CD), a DVD, a nonvolatile memory card or portable disk drive), where the data file can have relevant metadata retrieved by a user device (for example, the personal computer 14b) and sent to the item database 26 for indexing. Relevant metadata can include an asset identifier (for example, DVD title or catalog identifier).
Each of the user devices 14 can be configured for sending the user selection inputs to the network 12, either directly or via intermediate devices (for example, cable or satellite television set-top box configured for sending requests to the network 12; local access router at the customer premises, etc.) to a server 18 configured for responding to the user selection inputs by supplying recommended content back to the requesting user device 14.
The server 18 includes a network interface circuit 20 and a processor circuit 22. The network interface circuit 20 can be configured for receiving or detecting the user selection inputs from the user devices 14; the network interface circuit 20 also can be configured for accessing databases 24, 26, and/or 28, described below; network interface circuit 20 also can be configured for outputting personalized recommendations to the user devices 14, where the personalized recommendations can include at least one network item determined most likely to be preferred by the identified user 16 based on socially collaborative filtering executed by the processor circuit 22. The network item supplied to the user device can be implemented either as a reference (for example, a Uniform Resource Identifier (URI)) to the recommended content available from identifiable providers 30, or in the form of the actual content to be presented for consumption by the user 16 (i.e., consumed by the user) based on the server 18 retrieving the recommended content from the content or service providers 30. The personalized recommendations also can identify at least one content asset already stored locally on a user device (for example, a personal computer 14b) and that is indexed within the network 12, for example within any one of the databases 24, 26, or 28.
The example server 18 can be implemented as a single server that can be implemented at the head end of an access network 12 for a content provider offering content services to the user 16, the access network 12 providing access to other content or service providers 30 via a wide area network such as the Internet; alternately, the example server 18 can be implemented as a distributed server system within the network 12, where a first server (e.g., 18) within the distributed server system receives the user inputs and updates the user selection preferences, described below, and a second server (e.g., 18′) within the distributed server system determines and outputs personalized recommendations for the user 16 based on the updated user selection preferences; alternately, the first server (e.g., 18) can interact with the user by detecting user inputs and supplying recommendations of network items to the user, and a second (back-end) server (e.g., 18′) can generate the recommendations of the network items to be presented to the user, where either the first server or the second server can determine the socially relevant gestures from the user inputs. The example server 18 also can be implemented as part of a content provider network 30 that provides various services to the user 16 via a wide area network such as the Internet.
The example server 18 will be described herein within the context of a single, integrated server to simplify the description of the example embodiments. The operations described with respect to the server 18 also can be implemented in various forms, including a distributed server system implemented within an access network locally reachable by the user devices 14, or a distributed server system implemented within a content provider network that is remotely reachable by the user devices via a wide area network.
The server 18 can generate personalized recommendations for the user 16 based on executing socially collaborative filtering based on retrieval of information that can be stored in a user database 24, an item database 26, and/or a community database 28. The user database 24 can be configured for storing information related to the user 16, including a user profile 32 and user selection preferences 34. The user profile 32 can include information about the user 16, including personal account subscription information related to establishment and maintenance of any network service utilized by the network devices 14; the user profile 32 also can include identification of other network users that have a close relationship with the identified user 16 (i.e., known user-to-user relationships), for example “buddy lists” for instant messaging sessions or cell phone subscriptions, or users of online forums that the user 16 has identified as being “favorite” users or “disliked” users (as described below, these user-to-user relationships, or “buddy lists”, are distinct from similarity relationships because the similarity relationships can be established by the server 18 without any knowledge by the identified user 16 of any of the other users). The user selection preferences 34 can illustrate the socially relevant gestures of the identified user 16 based on an accumulation of the user selection inputs executed by the identified user 16 relative to the context of those user selection inputs (i.e., relative to other input options that were concurrently presented to the user with the input option that was selected by the user). As described below, the socially relevant gestures for the identified user 16 can be used to establish various relationships, for example user-item relationships that identify the network items for which the identified user 16 demonstrates having the highest affinity (i.e., preference).
The item database 26 can be configured for storing information about network items that are available for presentation to the user, including item-to-item relationships and item-to-user relationships, described below. The community database 28 can include information identifying relationships between the identified user 16 and other elements of a community-based network service, for example messaging boards, Internet-based recommendation sites, Internet-based social community websites, etc., where the identified user 16 can identify himself or herself as having particular preferences in terms of political interests, hobbies, “favorite” users, “disliked” users, preferred content, or content to avoid. The community database 28 is described in further detail with respect to
The network information 42 can include one-way relationships that demonstrate affinities of a given network object toward another network object. For example, the network information 42 can include one-way user-user relationships 46, one-way user-item relationships 48, one-way item-item relationships 50, and one-way item-user relationships 52. As described below, the processor circuit 22 can determine each of the relationships 46, 48, 50 and 52 based on socially relevant gestures 40, and store the relationships 46, 48, 50 and 52 in an appropriate database 24, 26, or 28 for future use, for example updating the relationships 46, 48, 50, or 52 in response to additional detected socially relevant gestures.
The user-to-user relationships 46, which can be determined and stored by the processor circuit 22 in the user profile 32 and/or the community database 28, can demonstrate specific affinity determined by the processor circuit 22 between one person toward another person, where a given person (A) can have a strong affinity toward another person (B) based on a close personal or business relationship, whereas the second person (B) may demonstrate a lesser affinity toward the first person (A) for example in the case of a manager or popular individual (B) being admired by the other person (A). Hence, the users A and B can demonstrate asymmetric (i.e., unequal) affinity values toward each other. The user-to-user relationships 46 typically are updated only when the relevant user (for example, A) establishes or updates (for example, modifies or deletes) the relationship with the other user (B); hence, the user-to-user relationships 46 are not updated as a result of the user (A)'s interactions with network items.
As described below with respect to
The user-item relationships 48, stored for example by the processor circuit 22 in the user selection preferences 34 and illustrated below with respect to
The item-item relationships 50, which can be generated and stored by the processor circuit 22 in the item database 26, can demonstrate predetermined relationships between distinct network items, for example: relationships established between products and different accessories (for example, battery charger for a cellphone or other battery-operated device); relationships between similar video content based on the same actors, actresses, directors, etc.; music written and performed by the same performer, etc.. The item-item relationships 50 also can demonstrate relationships determined by the processor circuit 22 based on analysis of network content and performing comparisons between network items. An example item-item relationship 50 can be expressed by an e-commerce website that presents a product “X” with a related product “Y” with the description that individuals who purchased “X” also purchased “Y”. Example techniques for implementing item-item relationships 50 include domain specific knowledge: examples of implementing domain specific knowledge include the commercially available filtering offered by ChoiceStream (at the website address “choicestream.com”), which determines equivalents between movies, or ExpertSystems technology for determining similarity between concepts in text based content. Use of the item-item relationships 50 by the processor circuit 22 enables more efficient and faster determination of equivalence for new content (i.e., new network items) that are added to (i.e., made available to) the system 10. Such relationship analysis can be performed at any time, including when the network items are added to the system 10, when any user accesses the network items, or during background scans of content within the system 10.
The item-user relationships 52, which can be determined and stored by the processor circuit 22 in the item database 26, can demonstrate, for a given item, the relative affinity or “strength” of network users determined by the processor circuit 22 to a given item: the specific affinity values that demonstrate the “strength” of the item-user relationships 52 are illustrated in
Any of the disclosed circuits of the server 18 (including the network interface circuit 20, the processor circuit 22, and the memory circuit 23 and their associated components) can be implemented in multiple forms. Example implementations of the disclosed circuits include hardware logic that is implemented in a logic array such as a programmable logic array (PLA), a field programmable gate array (FPGA), or by mask programming of integrated circuits such as an application-specific integrated circuit (ASIC). Any of these circuits also can be implemented using a software-based executable resource that is executed by a corresponding internal processor circuit such as a microprocessor circuit (not shown), where execution of executable code stored in an internal memory circuit (for example, within the memory circuit 23) causes the processor circuit to store application state variables in processor memory, creating an executable application resource (for example, an application instance) that performs the operations of the circuit as described herein. Hence, use of the term “circuit” in this specification refers to both a hardware-based circuit that includes logic for performing the described operations, or a software-based circuit that includes a reserved portion of processor memory for storage of application state data and application variables that are modified by execution of the executable code by a processor. The memory circuit 23 can be implemented, for example, using a non-volatile memory such as a programmable read only memory (PROM) or an EPROM, and/or a volatile memory such as a DRAM, etc..
Further, any reference to “outputting a message” or “outputting a packet” (or the like) can be implemented based on creating the message/packet in the form of a data structure and storing that data structure in a tangible memory medium in the disclosed apparatus (for example, in a transmit buffer). Any reference to “outputting a message” or “outputting a packet” (or the like) also can include electrically transmitting (for example, via wired electric current or wireless electric field, as appropriate) the message/packet stored in the tangible memory medium to another network node via a communications medium (for example, a wired or wireless link, as appropriate) (optical transmission also can be used, as appropriate). Similarly, any reference to “receiving a message” or “receiving a packet” (or the like) can be implemented based on the disclosed apparatus detecting the electrical (or optical) transmission of the message/packet on the communications medium, and storing the detected transmission as a data structure in a tangible memory medium in the disclosed apparatus (for example, in a receive buffer). Also note that the memory circuit 23 can be implemented dynamically by the processor circuit 22, for example based on memory address assignment and partitioning executed by the processor circuit 22. In addition, the processor circuit 22 can be implemented as a multi-processor system or based on a distributed server system.
As illustrated in
As described below with respect to
In addition, the comments that congregate around a locus of a particular position 84 can be analyzed to determine whether the comments share a similar affinity (e.g., a similar comment or opinion), or whether the comments share opposite affinities (e.g., opposite opinions). Hence, the situational analysis of the comments based on position 84 relative to the instance 86 that the comment 80 was generated, as well as the content of the comments 80, enable the establishment of similarity relationships between the authors of the comments.
As illustrated in
As described below with respect to step 94, the server 18 also can associate the content asset 82 with the user 16 based on receiving a message from a user device 14 (for example, the personal computer 14b) that includes metadata identifying the content asset 82, for example in the case of the content asset 82 retrieved by the user device from a local tangible storage medium such as a DVD purchased by the user 16.
Once the processor circuit 22 has associated the user comment device 14 with the content asset 82 that is supplied to the corresponding user 16, the processor circuit 22 can apply any comments 80 generated by a user 16 toward the content asset 82 being supplied to the corresponding user 16. As will be apparent from the description herein, it is not necessary that any user 16 consume the content asset 82 in its entirety; to the contrary, since the similarity relationships 88 are established based on the positional similarity between comments 80 and independent of the actual content of the content asset 82, the similarity relationships 88 can be established based upon any user 16 commenting on any arbitrary portion of the content asset 82, for example based on the user viewing only a five second replay of a sports team having scored a goal in a championship game, or a particular event of a movie presented via a DVD.
In addition, it is not necessary that all users 16 consume the content asset 82 at the same time; to the contrary, the positional similarity is based upon comparing the instances the comments are input relative to the content positions 84 presented to the users writing the comments, not the time that the content asset 82 is presented to a user. Hence, the same content asset 82 can be presented to different users at different times, where each comment 80 input by a user 16 is identified based on associating the corresponding instance 86 that the comment 80 is input with the relative position 84 presented to the user 16.
Assume in step 92 of
The processor circuit 22 in the server 18 can detect in step 94 the comment 80a input by the user 16a at the instance 86a coinciding with the identifiable position 84a presented to the user 16a. As illustrated in
If the content asset 82 is presented to the user 16a in the form of a media stream obtained by a local device 14 (for example, the personal computer 14b) from a local source, for example a DVD, the local device 14 in step 92 can send to the server 18 a message that includes metadata identifying the content asset 82, the comment 80a, and the position 84a presented to the user 16a and identified by the local device 14 as coinciding with the time instance 86a that the local device 14 detected the comment 80a input by the user 16a.
In response to detecting in step 94 the comment 80a input by the user 16a at instance 86a, the processor circuit 22 of the server 18 can record in step 96 the comment 80a as a user comment entry 120 into a user comment database 122, illustrated in
The processor circuit 22 also stores in step 96 an asset comment entry 124 that identifies that the corresponding comment 80a was input at a time instance 86a coincident with the user 16a being presented with (i.e., supplied with) an identified position 84a of the asset 82, where the asset 82 is identifiable by its asset identifier (“C1”) 134. Hence, the processor circuit 22 records in step 96 the comment-specific attributes of the user comment 80a within the user comment entry 120a, and the positional context of the user comment 80a relative to the asset 82 presented to the user 16a within a corresponding asset comment entry 124a. The processor circuit 22 can repeat each of the steps 94 and 96 for each comment 80 that is input by any user 16 in step 92, resulting in a corresponding entry 120 and 124 for each comment 80. As illustrated in
The processor circuit 22 can begin determining the presence of similarity relationships 88 in step 100 upon detecting at least two comments stored within the asset comment database 126 in step 98. Hence, the processor circuit 22 can selectively generate similarity values 88 in step 100 in “real time” as the comments 80 are being generated. Alternately, the processor circuit 22 can selectively generate the similarity values 88 in step 100 after presentation of the content asset 82 to the users 16 has been completed. Also note that the operations described with respect to
Assuming the processor circuit 22 is configured for performing “real-time” situational analysis, the processor circuit 22 can begin situational analysis in step 100 after having stored into the community database 28 the user comment entry 120b and the asset comment entry 124b for the user comment 80b, referred to as the “recorded comment” with reference to
The processor circuit 22 can begin situational analysis of the recorded comment 80b relative to the stored comment 80a based on first determining in step 110 a positional similarity in the respective positions 84a specified in the respective asset comment entries 124a, 124b, where the positional similarity (e.g., “P21”) between the two comments 80a and 80b is inversely proportional to the “distance” between the respective positions 84a and 84b. As apparent from the foregoing, the positional similarity (or the inverse distance value) can be determined depending on how the position 84 is implemented, for example whether the position value 84 is implemented as a timecode value, a paragraph number of a text document, page number, etc. In the examples illustrated in
The processor circuit 22 can determine in step 112 whether the similarity in position (P21) between the two comments 80a, 80b under analysis falls within an identifiable threshold, for example a prescribed fixed threshold (e.g., 10 seconds), or a dynamic threshold that can be established based on a population of stored comments. For example, if a statistically significant number of comments 80 have been recorded relative to the content asset 82, a dynamic threshold based on a population of stored comments can be determined statistically, for example based on identifying from the asset comment database 126 at least one position 84 having a statistically significant number of comments that are “congregated” around the one position; hence, if a significant number of comments are “congregated around a given position 84, the “center” can be determined as the statistical mean of comment positions for a given collection or congregation of comments, and the dynamic threshold can be based on a prescribed standard deviation from the statistical mean. As apparent from the foregoing, other techniques can be employed to determine in step 112 whether the similarity in position between two comments falls within an acceptable threshold used to define whether there is a sufficient positional similarity between the two comments under analysis.
If in step 112 the processor circuit 22 determines the similarity in position does not fall within the determined threshold, the processor circuit 22 concludes in step 114 there is insufficient positional similarity between the two comments, and continues to the next comment without establishing any relationship between the two comments because the positional distance is too great between the two comments.
Assuming in step 112 that there is sufficient positional similarity based on the similarity in position falling within the desired threshold, the processor circuit 22 can calculate in step 116 the relative similarity in content or an opinion (SC21) between the recorded comment 80b and the stored comment 80a. In particular, the processor circuit 22 analyzes the respective comment content indicators 132 to determine whether they express similar content or opinions. Various recognition schemes can be employed, depending on the manner in which the comment content indicators 132 are implemented. For example, if the users 16 utilize a user device (e.g., 14a) that provide a predetermined set of feedback buttons (e.g., yes/no, buttons 1-5 for a 5-star rating system, etc.), the processor circuit 22 can determine the similarity between the comments based on this correlating the buttons that were pressed; if the comment content indicators 132 include text, various text and context correlation techniques can be employed, including semantic analysis technology that determines a taxonomy of the comment which is made. An example semantic analysis technology that can be implemented is the commercially available system from Expert System Cogito (available at the website address “www.expertsystem.net/page.asp?id=1521”).
In response to the processor circuit 22 calculating in step 116 the similarity in content (SC21) between the recorded comment 80b and the stored comment 80a, the processor circuit 22 can generate in step 118 a similarity value (e.g., “D21”) 88 that establishes a similarity relationship between the comments 80a and 80b, illustrated in
Referring to
The processor circuit 22 repeats in step 104 the steps of
The processor circuit 22 also can establish the similarity relationship 88c based on comparing the recorded comment 80c with the stored comment 80b, resulting in a relatively high positional similarity (e.g., P32=10) and a high content similarity (SC23=10) that create the similarity relationship (S23=100) 88c. Hence, the processor circuit 22 can add the similarity entries 128e and 128f for the respective users 16b and 16c in response to generating the similarity relationship 88c.
In contrast, the processor circuit 22, in response to detecting from the asset comment entry 124d the comment 80d by the user 16d, concludes in steps 112 and 114 of
As illustrated in
The similarity relationships between users also can be based on an accumulation of the individual similarity values 88, for example in the case where the same users generate multiple comments at different instances, for example if all the users 16a, 16b and 16c also generated a second set of comments that are recorded relative to the position 84b. Hence, the similarity relationships between users can change over time depending on the number of comments that are compared between the two users.
Also note that the similar comment database 130 does not limit the accumulation of comments to a single asset 82; to the contrary, the indexing by users 16 enables multiple comment comparisons to be implemented across multiple assets, for example different videos, electronic books, etc., where the relationships also can be filtered by context, as appropriate. For example, the users 16a and 16b can have a strongly opposing relationship 88a in one context (e.g., politics), but a strong affinity relationship based on similar opinions in another context (e.g., sports teams, photography, etc.). In addition, relationships can change over time based on newer comments having changing opinions where users having opposing viewpoints in the past can develop shared opinions within the same context.
Hence, the similarity relationship 88a generated by the processor circuit 22 can establish the relationship between the users 16a and 16b based on the determined relationship between their respective comments 80a and 80b. Consequently, the processor circuit 22 within the server 18 (or any other server in the network 12 configured for executing socially collaborative filtering) can determine the in step 106 a relationship between the users 16a and 16b, as illustrated in
As described in detail in the commonly-assigned U.S. patent application Ser. No. 11/947,298, the network interface circuit 20 of the server 18 can update the user selection preferences 34 of
The processor circuit 22 also can determine the context of the corresponding user selection input by also identifying input options within the presentation of available items that have been ignored by the user 16. Although the user selection of one item among multiple input options can result in the processor circuit 22 assigning a neutral gesture to the input options that were not selected, the repeated ignoring of input options by a user can cause the processor circuit to consider the multiple ignores as demonstrate ignore gestures toward the input options that repeatedly were not selected.
The updated user selection preferences 34 can be used by the processor circuit 22 to generate the item affinity values 54 for the user (“P1”) 16, illustrated in
Hence, the processor circuit 22 can identify a socially relevant gesture as increasing at least one item affinity value (also referred to as a positive socially relevant gesture) for example in response to a positive user selection input, decreasing at least one item affinity value (also referred to as a negative socially relevant gesture) for example in response to a negative user selection input, or generating little or no change in any item affinity value (also referred to as a neutral socially relevant gesture), described below.
A positive socially relevant gesture can be detected by the processor 22, for example, in response to a user 16 creating content, submitting positive comments on the content, providing a strong positive rating for the content (i.e., 5-star rating), or recommending the content to another user or to a group of users in an online community. Hence, example positive socially relevant gestures include a creation gesture that creates new network content, a comment gesture that inserts a comment into new or existing network content, a rate content gesture that provides a strong positive rating on the content, or a recommend content gesture that recommends the content to another user or group of users.
A neutral socially relevant gesture can be detected by the processor 22, for example, in response to a user 16 viewing the content, for example, for a brief interval indicating mild interest in the content (also referred to as a view gesture), or providing a neutral rating for the content, for example, 2-4 star rating out of a 1-5 star range (also referred to as a neutral rating gesture). Also note that the view gesture can be interpreted as either a positive socially relevant gesture, a neutral socially relevant gesture, or a negative socially relevant gesture, based on determining the duration of the viewing of the content as a percentage of the total duration of the content (for example, twenty percent or less is a negative socially relevant gesture, between twenty and seventy-five percent is a neutral socially relevant gesture, and above seventy-five percent is a positive socially relevant gesture).
A negative socially relevant gesture can be detected by the processor 22, for example, in response to a user 16 repeatedly ignoring content after multiple presentation offerings (also referred to as a multiple ignore gesture), submitting negative comments on the content or providing a strong negative rating, for example, a 1-star rating from the 5-star rating system (also referred to as a negative rating gesture), or abandoning viewing of the content (also referred to as an abandon view gesture).
Referring to
In particular, the processor circuit 22 can determine the group of closest network users (CNU) 140 based on identifying, from the available network items 58 that have been presented to the user 16b based on the respective input options, the ordered list of preferred network items (PNI) 120 having the highest relative item affinity values 54 generated for the identified user 16, as illustrated in
Hence, the preferred network items 120 that have the highest relative item affinity values 54 for the corresponding identified user (“Pc2”) 16b can represent the available network items 58 for which the identified user (“Pc2”) 16b has expressed the highest interest. The preferred network items 120 can be filtered by the processor circuit 22 according to presentation context, as appropriate.
The processor circuit 22 also can identify the ordered list of closest network users (CNU) 140 based on identifying the network users 16 providing the highest relative user affinity values 56 for each of the preferred network items (PNI) 120 based on their respective user selection preferences 34. For example, the item “C2” 62 illustrated in
As illustrated in
Hence, the similarity relationships 88c and 88a enable the respective users 16c and 16a to be added to the ordered list of users 140 based on the established relationships with the user 16b.
The list of the closest network users 118 also can be filtered based on presentation context as appropriate; hence, if the presentation context is photography, the processor circuit 22 can filter the network users that are not relevant to the presentation context, such that only the photography-related network users are accepted (as opposed to other network users that may share interests with the user 16b in sailing, politics, or history but that are unrelated to the presentation context of photography).
Following determination of the ordered list of network users 140, the processor circuit 22 can determine the preferred network items for each of the network users identified in the ordered list 140, based on the respective item affinity values 54 exhibited by the respective users according to their respective item affinity values (e.g., positive item affinity values 54a, neutral item affinity values 54b, or negative item affinity values 54c). The resulting set of the preferred network items for each of the network users in the ordered list 140 can be filtered to include only new network items not yet seen by the user “Pc2” 16b, resulting in a set of new network items (“Ci1”, “Ci2”, . . . “CiN”) 142 that are most likely to be preferred by the identified user “Pc2” 16b. Alternatively, the set 142 also can include network items that have been previously seen by the user, and/or content items or content assets that are stored locally on a user device and indexed within the network 12: the content items or content assets stored locally and that are identified in the set 142 can include new content assets that have not yet been consumed by the user 16b (for example, a content asset that has been “pushed” to a user device 14 according to a prescribed subscription, for example downloading the next movie in the user's subscription queue), and/or existing content assets that have already been seen or consumed by the user 16b. The identification of items “most likely to be preferred by the identified user” refers to those items determined as having the greatest probability of satisfying the user's interest (or preference) in content items or content assets that can be reachable via the network 12 or available locally on a user device such as the personal computer 14b. Hence, the network items 142 also can be referred to as the most “personally interesting content” to the user 16.
According to the example embodiments, similarity relationships can be established between users based on situational analysis of their comments relative to content consumed by the users, including determining positional similarity and content similarity between at least two comments. The established relationships can be used for generating an ordered list of network items most likely to be preferred by a user. The similarity relationships between users can be used for other applications, including demographic analysis including demographic clustering, etc..
While the example embodiments in the present disclosure have been described in connection with what is presently considered to be the best mode for carrying out the subject matter specified in the appended claims, it is to be understood that the example embodiments are only illustrative, and are not to restrict the subject matter specified in the appended claims.