# Patent

## Title
Matching users based on behavior in a social network

## Abstract

Observation-based user profiling and profile matching are provided. The network behavior of users of a computer-implemented social network are observed and used for user profiling. By observing network behavior instead of necessarily relying on user self-reported data, accurate and objective user profiles can be formed; user profiling is accomplished based on the observed network behaviors with or without the knowledge of the user being profiled. The observed network behaviors can include the customization of a visual graphic, a media preference, a communication preference, or a selection of words from a wordlist. The user profiles can be with respect to a domain and two or more users can be matched based on their profiles with respect to the same domain. User ratings and profile updating based on the ratings are also provided.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application relates to U.S. Ser. No. 13/920,335, filed Jun. 18, 2013, which is a continuation of U.S. Ser. No. 13/442,157, filed Apr. 9, 2012, now U.S. Pat. No. 8,473,440, which is a continuation of U.S. Ser. No. 12/215,957, filed Jun. 30, 2008, now U.S. Pat. No. 8,156,064, which (i) relates to U.S. Provisional Application No. 60/948,157, filed Jul. 5, 2007 and (ii) is a continuation-in-part of U.S. Ser. No. 11/999,249, filed Dec. 3, 2007, now U.S. Pat. No. 8,533,269, each of which is incorporated by reference in their entirety.


FIELD OF THE INVENTION
The invention relates generally to social networks. More particularly, the present invention relates to user profiling and profile matching in a computer-implemented social network.
BACKGROUND OF THE INVENTION
Many Internet-based or web-based social networks are powerful tools to connect people separated by potentially vast distances. Social networks currently allow users to build a user profile and connect to friends whom the user may or may not already know from other social means. Some existing social networks, particularly dating websites, offer suggestions to their users for possible matches with other users. Typically, these matches are suggested based on characteristics provided in the user profiles.
User matching found in existing web-based social networks, however, suffer from the fact that they rely on user self-reported data to build a user profile. For example, dating websites typically provide surveys for their users to fill out. The surveyed users are then matched with suggested counterparts based on the survey data. With user profiles strictly reliant on self-reported data, users can easily provide an inaccurate portrayal of themselves. In other words, users are likely to game the system to attempt to look better or different than their actual selves. Since users are matched based on their profiles, inaccurate user profiles would naturally lead to improper or imperfect matches.
Furthermore, the user surveys provided by existing social networks typically ask the users to answer direct questions related to a particular subject. Therefore, the surveys are only relevant to one or a small number of topics or subjects and can be completely useless for user profiling with respect to other topics. In this scenario, additional user surveys may be required when the social network attempts to match users for other purposes. The additional surveys would be an annoyance to the users of the social network. For the example of dating websites, the user surveys generally contain questions related to particular romantic interests of the user. Though these questions may be relevant to dating, they may be completely irrelevant for another purpose, such as a community service event.
The present invention addresses at least the difficult problems of user profiling and profile matching.
SUMMARY OF THE INVENTION
The present invention is directed to profiling and profile matching based on observed network behavior. An application server operates a computer-implemented social network of users. One or more network behaviors of at least some of the users of the social network are observed. A network behavior can include a customization of a visual graphic by the observed user, a media preference of the observed user, a communication preference of the observed user, or any combination thereof. The observed network behaviors can be stored in a database.
Observed users are profiled based on the network behaviors, where the profiling is with respect to one or more domains, such as a romantic interaction, a transportation organization, an exercise goal, a fitness goal, a diet regimen, a smoking habit, an addiction, a cause, a community service, a physical activity, an emotional state, participation in a collaboration or project, participation in a study group for a class, online education, or any combination thereof. Two or more of the profiled users can be matched with respect to the same domain based on the user profiles.
In a preferred embodiment, the user profiling includes associating one or more scale factors for each of the observed network behaviors. The scale factor associating is based on a relevance of an observed network behavior to the domain used in profiling. In an embodiment, a rating function is also provided for rating the profile matching. The rating can be based on one or more user inputs of the matched profiled users, a participation data of the matched profiled users, or any combination thereof. The ratings can be used to update the user profiles and/or profile matches. In a preferred embodiment, the scale factors are refined based on the ratings.
In an embodiment, an observed network behavior includes the customization of an avatar, including determining the appearance of the avatar. Another observed network behavior includes media preference, where the media preference is associated with a media content, a media type, a frequency of media playback or any combination thereof. An observed network behavior can also include a communication preference, including a communication method, a communication timing, a communication frequency, or any combination thereof. In an embodiment, a network behavior also includes a selection of words from a word list by the observed user, where the words are associated with a value, a need, a goal, or any combination thereof.



BRIEF DESCRIPTION OF THE DRAWINGS
The present invention together with its objectives and advantages will be understood by reading the following description in conjunction with the drawings, in which:
FIG. 1 shows an example of matching users U of a computer-implemented social network based on profiles P(D) from observed network behavior according to the present invention.
FIG. 2 shows a matrix of scale factors SF for domains D and network behaviors according to the present invention.
FIG. 3 shows an example function for customizing an avatar according to the present invention.
FIG. 4 shows an example word selection as an example network behavior for observation according to the present invention.
FIG. 5 shows an example of a portable communication device where user network behavior can be observed according to the present invention.
FIG. 6 shows an example of a rating function including user input and participation data according to the present invention.
FIG. 7 shows a flow chart including profiling, profile matching, and profile updating according to the present invention.
FIG. 8 shows a flow diagram a method for observing network behavior.
FIG. 9 shows potential reaction information entered by users in response to data content received by the users.
FIG. 10 shows a flow diagram a method for building a model for new domains and/or new behaviors.
FIG. 11 shows a flow diagram of a method for defining a set of behaviors between objects of different dimensions.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Accurately profiling individuals can be a difficult task. In computer-implemented social networks, self-reported data are often used to profile individuals and, possibly, match multiple individuals based on the profiles. However, self-reported data can be highly inaccurate due to their reliance on the objectivity of the reporting individuals. The present invention is directed to profiling and profile matching based on observed network behavior of users of a computer-implemented social network.
FIG. 1 shows an example of a computer-implemented social network of users (e.g., U). An application server operates the social network over a communication network, such as the Internet, through one or more interfaces to the communication network. In an embodiment, each user U of the social network is able to communicate, or otherwise interact, with at least another user U of the social network. In certain embodiments, each user has a list of friends who may also be users of the social network.
It is important to note that the users U of the social network can perform one or more network behaviors (e.g., NB), including a customization of a visual graphic, a media preference, and a communication preference. The network behaviors NB can be observed and stored in a database. The network behavior NB is used to profile each of the observed users U. In a preferred embodiment a profile (e.g., P(D)) is generated with respect to one or more domains (e.g., D). The domain D can be related to a romantic interaction, a transportation organization, an exercise goal, a fitness goal, a diet regimen, an addiction, a smoking habit, a cause, a community service, a physical activity, an emotional state, participation in a collaboration or project, participation in a study group for a class, or any combination thereof. The profile P(D) of each user U is generated by a profiling function based on the observed network behavior NB.
In a preferred embodiment, the profiles P(D) of the observed users U are used to match two or more compatible users with respect to the domain D. In FIG. 1, user 110 and user 120 both have profiles P(D) related to X. Due to this relation, a matching function can match user 110 and user 120 with respect to the domain D. In an embodiment, the purpose of profile matching can be related to certain goals, needs, or interests of the users. For example, users can be matched to find a carpool partner, to find an exercise partner, to find a support group for diet, weight loss, smoking, or another addiction, or to find a cause or community service activity. In other embodiments, matched users can be communicatively connected, such as by email, telephone, instant messaging, video chatting, and/or in person. For computer-implemented social networks where each user has a friends list, matching can be used to add friends to the friends list. Generally, the users may be matched to other people, content, products, services, events and/or groups.
In a preferred embodiment of the present invention, the profiling function associates one or more scale factors for each of the observed network behaviors NB. The scale factors are associated based on a relevance of the observed network behavior NB to the domain D. FIG. 2 shows a matrix of scale factors (e.g., SF) for the domains D and the network behaviors NB for one of the users. In particular, an element of the matrix SFij can be related to the relevance of NBi with respect to domain D. As shown in FIG. 2, a user profile P(Dj) with respect to domain Dj is generated based on the scale factors SF in the column of domain Dj.
A network behavior NB may be directly relevant, indirectly relevant, partially relevant, or irrelevant to a particular domain D. For example, music preferences may be important to profiling and profile matching users for a carpool, but not relevant to another domain. In contrast, values and ideals may be important to profiling users to join a cause, but not with matching users for a carpool. In another example, personality types, such as leader versus follower, risk taker versus conservative, may be relevant for user profiling in a support group for changing lifestyle and behavior, such as a weight loss or smoking cessation program. In an embodiment, the magnitudes of the scale factors SF represent the relevancy of the network behavior NB with respect to a domain. The use of observed network behaviors NB enables profiling and profile matching for any number of domains D without necessarily requiring domain-specific input.
It is important to note that a network behavior is observed for a purpose of profiling one or more characteristics of a user without necessarily relying on user-reported data relating to the same characteristics. By not relying on user-reported data, the user cannot alter or game his or her profile by providing dubious information used in profiling. In fact, the user may not even be aware of how the observed network behavior is used for profiling.
In a preferred embodiment, a network behavior can include a customization or creation of a visual graphic, such as an avatar, an icon, or any visual representation. FIG. 3 shows an example customizing function 300 for users of a social network to customize an avatar 360. The customizing function 300 allows a user to adjust apparent physical traits of the avatar 360, such as height 310, weight 320, hair color 330, and hair length 340. In an embodiment, the user is offered a selection of choices for the avatar look and clothing. Creating an avatar's look and feel can reveal user preferences, such as gender, gender-related preferences, style, and attitude, without explicitly asking the user. Though the customizing function 300 shows a toggle 350 for adjusting the properties of the physical traits, other methods of customizing the appearance of the avatar 360 can be employed, such as dragging and dropping desired characteristics onto the avatar 360 or visual graphic.
The observed network behavior can also include user media preference. In an embodiment, the media preference is associated with media content, media type, frequency of media playback, or any combination thereof. The media content can include music, movies, television shows, and other audio-visual media. The media preferences can be extracted from the media player operated by the user or by user-entry. In addition, one or more behavioral characteristic, such as early adopter behavior or openness to new experience, can be determined based on timing, source, and means of media purchases. For example, information relating to whether or not the media was discovered originally by the user or through friends of the user can be used to measure attributes about the user. Similarly, information relating to the time after release of the media may be pertinent to certain domains and behavioral characteristics.
In an embodiment, the observed network behavior includes one or more communication preferences of the user. The communication preferences include communication methods, such as email, telephone, voice mail, and text messaging, communication timing, communication frequency, or any combination thereof. In an embodiment, communication timing and frequency includes when and how often each communication method is used, the length of time to respond to voice mails, emails, and other forms of messaging, and the length of time messages are left in the mail box. The above communication preferences can also be used to determine one or more user behavioral patterns and personality types. For example, user preference and frequency for video chatting, text messaging, email, and/or telephone can help to predict the technological acumen of a user. The timing of communications can also help to determine if the user generally functions in the early morning or late at night.
In another embodiment of the present invention, the observed network behaviors include a selection of words by a user from a word list. The words available for selection can be associated with values, needs, goals, or any combination thereof. FIG. 4 shows an example of lists of words 410 available for selection to describe properties of a selecting user. In a preferred embodiment, word selection occurs when a user drags 420 one or more words from the word list 410 to an icon, such as a candle 430. Other methods of selecting words, such as text boxes, can also be employed. Optionally, a user can also add new words 440 to the word lists.
An embodiment of the present invention is directed to observing network behaviors associated with a handheld communication device and at least partially profiling users based on the observed network behaviors on the handheld communication device. FIG. 5 shows an example of a handheld communication device 500 according to the present invention. The handheld communication device 500 can be any portable device capable of communicating with the network, including the application server operating the computer-implemented social network. For example, a handheld communication device 500 can include a mobile phone 510, a network-integrated mobile phone, such as the iPhone by Apple Computers (Cupertino, Calif., USA), a personal digital assistant, a laptop computer, a medical device, a wristwatch, an exercise device, a media player, an mp3 player, text messaging 520, electronic mail 530, a music player 540, a movie player 550, activity monitor 560, a health monitor 570, or any combination thereof.
In an embodiment, network behaviors on the handheld communication device 500 to be observed include the above-described communication preferences, such as communication methods, timing, and frequency. Communication methods can include phone 510, text messaging 520, and electronic mail 530. In an embodiment with a mobile phone handheld communication device 500, ring tone selection and the assignment of ring tones to individuals can also be observed and used for user profiling and profile matching.
In certain embodiments, the handheld communication device 500 can also include media playing capabilities 540-550. The observed network behaviors on the handheld communication device 500 can include the media preferences described above. In particular, user media preferences are observed from media content stored and/or media playback by the handheld communication device 500.
Many portable communication devices, such as mobile phones, have location-aware, activity-aware 560, and/or motion-aware technology. In an embodiment, network behaviors based on location-awareness, activity-awareness, and/or motion-awareness of the user carrying the portable communication device can be observed and used for user profiling and profile matching. In particular, a portable communication device 500 can include an accelerometer, a global positioning system (e.g., GPS) device, the heart monitor 570, or any device capable of detecting user activity. User activity can be observed and communicated to a profiling function for profiling the user. For example, the speed and distance a user runs and the media preferences of the user while running or undergoing an activity can be observed and used to profile the user. The profiles can be used for user profile matching. Further descriptions of example portable communication devices having activity-detection and network communication capabilities usable in embodiments of the present invention can be found in U.S. Pat. No. 8,633,269 filed on Dec. 3, 2007, which is hereby incorporated by reference in its entirety.
It is important to note that in a preferred embodiment, the user profiles are not static. In particular, the scale factors are updatable; therefore the profiles with respect to one or more domains can change. Changes to user profiles and/or scale factors can be caused by additional observed network behaviors or changes to past network behaviors. In addition, changes to user profiles can occur due to updates to the relevancy of one or more network behaviors with respect to a domain. In fact, the relevancy updates of the network behaviors can cause changes to user profiles and/or scale factors with or without any additions or changes to the network behaviors of the observed users. The relevance of a network behavior with respect to a domain can be updated by network activity of one or more users of the social network, or by cumulative activity of some or all of the users of the social network.
In a preferred embodiment, a rating function is provided for users to rate the quality of the profiling and/or the profile matching. An example rating function 600 is shown in FIG. 6. In an embodiment, the rating function 600 can be accessed on a handheld communication device, In particular, the ratings can be based on one or more user inputs and user surveys. For example, a user can be matched with one or more other users with respect to activity X, such as for carpooling. The rating function 600 allows the user to rate his or her compatibility with the matched users 610 or rate the overall profile matching 640. Ratings can include alphanumeric metrics, a metric of symbols, such as a number of stars 650, or any other type of rating metric.
The rating function can also include participation data 620. The participation data can be derived from user input 630. Alternatively or additionally, the participation data can be observed without user input. In an embodiment, the cancellation of the participation of matched users for an activity or the churn rate of matched users can be used to rate the profile matching.
It is important to note that the ratings can be used to update the profiles of the profiled users. In particular, the scale factors with respect to one or more domains can be raised or lowered based on the success of the profile matching as determined by the ratings. FIG. 7 shows a flow chart for an embodiment of the present invention with profile updating, including gathering information by observing one or more network behaviors of users 710, associating a scale factor to each of the observed network behavior with respect to a domain 720, profiling each of the observed users based on the scale factors 730, matching users having compatible profiles 740, rate profile matching 750, and updating the scale factors based on the ratings 760. The updated scale factors can be used to update 770 the user profiles. The ratings can also be used to measure the relevance of a network behavior with respect to one or more domains.
The step 710 generally illustrates constructing a profile vector for the user which is a set of attributes (e.g., [NB1, NB2, . . . , NBn]) for the network behaviors of the user. The step 720 may associate the scale factors to one or more current domains by accessing the sale factor vector already associated with each domain SF(D)=[SF1, SF2, SF3, . . . , SFn]. If a domain is a new domain that has not been used before, the scale factors may all be initialized to a predetermined value (e.g., unity) in some embodiments. The model may subsequently be trained with data over time. In other embodiments, an expert may make estimations of the initial scale factors based on prior knowledge, research and/or intuition that some network behaviors are believed to be more relevant than others with respect to a domain. For a new domain, a reasonable estimate of the scale factors is useful. However, since the scale factors will be trained by the model over time, the initial scale factors may be allowed to have inaccuracies.
The step 730 generally takes the profile vectors for the users and multiplying the profile vectors with the scale factors to produce a scaled user profile vector that is weighted for the domain. For example, a user A=[A1, A2, A3, . . . , An] becomes SFT(D)*A for each attribute=[SF1*A1, SF2*A2, SF3*A3, . . . , SFn*An]. The multiplying is generally performed for all the users involved in a match. Each attribute A1, A2, . . . , An may be a corresponding network behavior NB1, NB2, . . . , NBn.
The step 730 generally finds the users with the closest match after multiplying the scale factors across all of the attributes of all the users of interest. In some embodiments, a Euclidean distance may be calculated as a distance between vectors. Other techniques for determining matches may be implemented to meet the criteria of a particular application.
In the step 750, the matches may be rated based on user input and/or participation data. Matches with good ratings may maintain the corresponding scale factors unchanged. Poor ratings generally result in changes to the scale factors to improve future match predictions.
The step 760 generally updates the scale factors when appropriate. When sufficient data on the success of the matches is available, either from the user input or automatically from the participation data, a regression may be run. The scale factors are subsequently recalculated for the domain based on the regression run.
FIG. 8 shows a flow diagram a method for observing the network behavior. The method may implement one or both of the steps 710 and/or 750. One or more users may receive data 810 from the social network. In some situations, the data may be in the form of content 812 created by others. In other situations, the users may receive building blocks to choose from 814 to create content. In still other situations, the users generally receive connections to others 816 from the social network.
The users generally respond to the content/blocks/connections through some form of measured behavior information and/or manually-created information entered 820 into the handheld communication device 500. In some embodiments, the handheld communication device 500 will convert 830 the entered information into observed network behaviors and transfer the network behavior information to the application server (or apparatus). In other embodiments, the handheld communication device 500 generally transfers the received information to the application server (or apparatus), which subsequently converts 830 the information into the observed network behavior.
FIG. 9 shows potential reaction information entered by the users in response to the data received 810 by the users. The network behaviors that accumulate data in the user profile are often the result of engagements with content created by others and presented to the users, either in a news feed, advertisement, promoted post, message or the like. Reactions 822 of the users to the content can be strongly positive, positive, weakly positive, neutral, weakly negative, negative or strongly negative, rather than just zero to positive. The reactions can also be negative (e.g., levels of dissatisfaction) to neutral (e.g., ignored) to positive (e.g., level of satisfaction). The responses can also vary by degree.
In some embodiments, possible responses, ranging from strongly negative to strongly positive, using an arbitrary scale, may be as follows: −5 report abuse; −4 mark as spam; −3 share with negative recommendation, for example “don't buy”; −2 comment with negative bias, for example “the product is no good”; −1 dislike, a “thumbs down” function; 0 Ignore; +1 Click on the content, for example to view a photo or read “more”; +2 “Like” or click thumbs up to indicate a positive response or acknowledgment; +3 Comment with positive sentiment, for example “the product is great!”; +4 Share with positive sentiment; and +5 Conversion or follow through to purchase or engage an outcome desired by the content presenter. The example −5 to +5 scale values are arbitrary. The positive reactions, neutral reaction and negative reactions may be scaled with the scaling factors SF that can be adapted as the system accumulates more data.
The building blocks received by the users may be used by the users to create new content 824. The choices among the building blocks may include, but are not limited to, self-descriptions, self-photographs, audio files, video files and/or text selections. Other blocks (or files) may be available to the users to create new content and new compilations.
The self-description choices generally include words that the users choose to describe themselves. The self-description choices also include words used in making comments and other descriptions. The self-description content may also be entries in the user profiled.
The self-photographs generally include photos that the users choose for profile photographs and photographs posted in the social network.
The audio files generally include sounds that the users choose for posting in the social network. The audio may include, but is not limited to, voice, music, nature, animals, graphics, of mechanical or electrical origins, and the like. The audio files may be obtained from other sources in the social network and integrated into new content and/or recorded by the users and uploaded to a website.
The video files generally include moving pictures that the users choose for posting in the social network. The video generally includes, but is not limited to, performances, sports, music-videos, outdoor scenes, indoor scenes, movies, television programs, home movies, and the like. The video files may also be obtained from other sources in the social network for integration into new content and/or recorded by the users and uploaded to a website.
The text generally includes information in typed and/or handwritten form. The text may include, but is not limited to, news articles, blog postings, books, magazines, lists, and the like. In some situations, the text may be new content created by the users. In other situations, the text may be existing content copied from elsewhere in the social network and integrated into the new content.
The available connections received by the users are generally used to establish connections to others 826. The others may include at least other people, places, things, locations, activities, gatherings and/or events. The users usually have multiple options to select among the connections. Matching the users with compatible individuals, groups and the like is generally performed for the purpose of relationships, carpooling, support groups for various activities, participation in a collaboration or project, and/or participation in a study group for a class. The connection options generally involve, but are not limited to, friend queries, social dates, professional groups, social groups, events, products, jobs, school/education queries, web searches, links, media, events, purchases, travel, communications, locations and/or bookmarks.
The friend connections are generally used to find friends in the social network. The users may be seeking new friends and/or reestablishing friendships with old friends.
The social date connections may include queries intended to find other users for social dating purposes, sports, church affiliation and community service organizations. The connections options can include options such as education, preferred living areas, physical characteristics, religious backgrounds, hobbies and such. Successful matches of values, interests and preferences are helpful to success and values of joining other individuals and/or groups.
Many groups facilitate professional development including CEO (e.g., chief executive officer) groups and key executive groups like Vistage and Alliance of CEOs, and groups affiliated with various professions. The success of such groups depends on the cultural, personal and values to fit with the incoming members. Answers to queries created by the professional groups can be useful in matching new candidates with the appropriate group and aid various groups in finding new members.
Event connections generally aid the users in choosing a meet-up or local gathering, or deciding which conference, festivals and/or events would be the most valuable to the users. The connections that link the users to the events are often a function of what kind of people with which the users would like to be connected.
Products and/or brands have cultures, values, followings that can be matched to the users. The brands that resonate with individual users are more than just the features and functions of the product, but include the fit with the interests, values, preferences and other relationships of the users.
The success and levels of satisfaction/dissatisfaction with ones job is often a result of cultural fit. Job queries generally focus on compatibility of the users with other people on the job as well as the values, goals and interests of the organization and leadership.
Schools and/or education connections may be used to match the users with educational institutions and programs. Success generally depends on a personal fit of the users to the school and/or educational program as much as content or quality by traditional measures. Each of these groups also has a cultural profile based on the values, interests, preferences and biases of the members and the leaders. The groups are as interested in selecting the users for the right fit with members as members are in fit with the group.
Web searches may be used to connect the users with various topics in which the users have an interest. The web searches generally result in links that the users can follow to connect with a wide variety of resources available within and external to the social network.
Links generally provide a way for the users to connect from one web page to another quickly and easily. Links may also be made available to the users in the form of emails, text messages and other forms of electronic social interactions.
The media connections may include selections of music, books, television and/or movies. Other media content may be presented and selected based on the criteria of a particular application.
The event connections generally include events that the users like to attend and/or be a participant. The events may include, but are not limited to, concerts, festivals, conferences, meet-ups, political events, sporting events, collaborations, projects, study groups and/or classes (traditional and/or online).
The purchasing options generally involve what the users buy. The purchases may be for goods and/or services. Some purchases may include rentals and licensing fees.
Travel connections generally define where the users choose to travel. The choices may include where the users are staying, transportation choices, and length of the travel.
The communication connection options include with whom the users communicate. The choices may also record how the users communicate, for example, by emails, text messaging, blogs, message forums and other interactive techniques generally available in the social networks. Personality type communication choices are generally based on the type of network a user keeps, whether a close-knit group or a diverse collection of connections.
The location options generally involve where the users are located. The locations may be determined by mobile phone or Internet protocol (e.g., IP) address. Proximity is generally a good predictor of relationships and connections.
Bookmarks may provide semi-permanent connections between the users and one or more resources available within and/or external to the social network. Each bookmark provides a connection shortcut to a uniform resource locator (e.g., URL) that identifies another web page.
FIG. 10, shows a flow diagram a method 1000 for building a model for new domains and/or new behaviors. Control of the scale factors generally enables the observations of actual network behaviors to be used to adjust the profiles such that the data reflects the actual user behavior, not what the user originally entered (possible incorrectly) as self-perceived behavior.
In the step 1002, the observed network behavior (e.g., from the step 830) is associated with the domains D already established in the database. If the association was successful per the step 1004, another association is performed in the step 1006 (e.g., also see step 720) between the observed network behavior and the scale factors SF in the corresponding one or more domains D. If the associated domains include one or more scale factors corresponding to the observed network behavior per the step 1008, the method 1000 continues with the step 1010.
Step 1010 automatically generates ratings (similar to the manual rating in step 750) to determine how well the existing profile matches the actual behavior. For example, if the profile indicates that a particular user prefers to stay in and around their home town, and yet the particular user is constantly traveling to locations far away, the automatic rating will show that the prefer to stay home attribute is not reliable (e.g., a poor rating). Conversely, if the observed behavior supports the profile, the automatic rating will show that the corresponding attributes are reliable (e.g., a good rating). The automatic ratings are used in the step 1012 to update the scale factors of the attributes associated with the observed network behavior.
If the association in the step 1008 is unsuccessful, a new scale factor for the network behavior may be estimated in the step 1018. The new scale factor is generally added to the existing domain in the step 1020.
If the association in step 1004 is unsuccessful, a new domain may be created (e.g., also see step 720) in the step 1022. The new domain may be added to the database in the step 1024. A new scale factor is generally estimated in the step 1026. In some embodiments, the new scale factor operation of the step 1026 may be similar to the operations of the step 1018. The new scale factor is generally added to the new domain in the step 1028.
New scale factors may be started with a default value (e.g., one) or an estimated value based on prior knowledge, experience, research and/or intuition. An example of an estimation for an initial scale factor value may be as followed. Consider new domains called “Jogging group” and “Weight loss support”. The new domains generally lack initial scale factors associating the user profile vectors with the domains. An example scale factor estimate may be made such that if “running speed” is an attribute in the network behaviors profile, that attribute may have a high scale factor for the “Jogging group” domain. Likewise, a “weight” attribute may have a high scale factor for the “Weight loss group” domain. However, whether or not music preferences are important in such domains may be unknown and so corresponding initial scale factors may be set to a more neutral value.
FIG. 11 shows a flow diagram of a method 1100 for defining a set of behaviors between objects of different dimensions. The method 1100 may implement at least one or both of the steps 760 and/or 1012. A number of potential features generally exist in the profile vectors after the steps 822, 824, and/or 826 to describe the users.
Since the users are asked about the quality of the matches in the step 750 and/or automatic ratings are generated in the step 1010, a check may be performed in the step 1102 to determine if the matching involves objects (e.g., users, events, places, things, etc. . . . ) of similar dimensionality. If the objects do not have similar dimensions (e.g., matching a user to a location), the relevant attributes suitable for the matching process may be extracted in the step 1104.
The step 1104 generally extracts only the attributes from the user profiles and the object (or content) profiles which have a reasonable association with each other. Therefore, the profile vectors for the users and for the content may have the same dimensionality and the method of FIG. 7 may be executed. By way of example, books may have “subjects” as an attribute and users may have “interests” as an attribute. Therefore, books and interests have essentially the same dimensionality. However, books may not have a dimension for “hair color”, so the hair color attribute may be ignored (or removed from) the profile vector of the user, or included with a corresponding scale factor of zero with respect to recommending a book.
A target function is used in the step 1106 where a match probability is a function of the profiles (e.g., Probability Function (profile A, profile B), where A is a vector [A1, A2, . . . , An] and B is a vector [B1, B2, . . . , Bn].) The weights of each dimension of the vectors may be determined by performing a regression over a large amount of data. An initial condition may be that all dimensions have a similar (e.g., default) weight in determining a match. As data is accumulated, one or more regressions may be performed to find, for example, that some features are much more important than others in determining the matches.
In the step 1106, a match probability is generally calculated based on what is being matched and the relevant attributes. When the matching is people-to-people or other similarly matched content, the dimensionality is generally the same between the two user profile vectors. When matching people to other types of content, the relevant attributes used in the matching process may be extracted in the step 1104.
In the step 1108, comparisons are performed between the ratings and the match probabilities. The comparisons generally indicate how well and how poorly the calculated matches performed. Where matches are meet with good results from either the manual ratings and/or the automatic ratings, the scale factors of the relevant attributes may be increased in the step 1110. Where the matches are meet with poor results from either the manual ratings and/or the automatic ratings, the scale factors of the relevant attributes may be decreased in the step 1110. As such, the accuracy of the profiles are improved over time such that better matches may be predicted.
Some filtering may be performed in one or more of the step 1102, 1104 and/or 1106 to reduce noise that may cloud the results. A possible technique is to collapse a list of similar features into a single larger feature that is more dense. For example, User 1 may “Like Porsche”, User 2 may “Like Maserati” and so on. Rather than making each behavior into a unique attribute, an attribute may be defined such as “Likes a member of the set (Porsche, Maserati, etc. . . . )”. The technique generally works well for like-type responses. For the millions of groups in existing social networks, and millions of possibilities in the profile descriptions, the technique can also be a useful way of narrowing the vectors as sets can be derived through a hierarchical or linkage-based clustering.
Another way to narrow the vectors is to introduce penalty for including too many features. The pattern matching may be a least squares regression. Therefore, penalized excessive features (e.g., using the Lasso method) may automatically fall out of consideration.
Providing better matches generally has benefits to interactions and connections for the users. For example, with the monitoring of the result of the fit, either by asking the users directly to rate the match and/or by observing the users behavior and sentiment on the network, groups can better understand whether or not the groups are attracting the people that the group thinks should be attracted. A gap between who the groups want to attract and who the groups are actually attracting may exist. Identification of the gap by analyzing the matches may be cause for action in making changes in the organization. The system includes matching functions with the goal of matching users to the entities that may be a best match based on interests, values, and preferences, yielding a better long term satisfaction.
As one of ordinary skill in the art will appreciate, various changes, substitutions, and alterations could be made or otherwise implemented without departing from the principles of the present invention. For example, the Internet can be replaced by a local area network (e.g., LAN), a wide area network (e.g., WAN), or any other communication network. Other interfaces to other types of communication networks may be implemented to meet the criteria of a particular application. Furthermore, a domain can include any activity, goal, need, and/or interest. Accordingly, the scope of the invention should be determined by the following claims and their legal equivalents.
While the invention has been particularly shown and described with reference to the preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made without departing from the scope of the invention.

## Claims

1. A method of matching users based on behavior in a social network, comprising the steps of:
(A) gathering information in a computer by observing one or more of said behaviors of two or more observed users among a plurality of said users of said social network, wherein said behaviors include at least one of (i) one or more reactions to content presented to said observed users, (ii) one or more content created by said observed users and (iii) one or more connections established by said observed users;
(B) generating a plurality of profiles of said observed users based on said information, wherein said behaviors are associated with a plurality of scale factors, respectively;
(C) updating said profiles by refining said scale factors;
(D) matching two or more of said observed users based on said profiles as updated;
(E) communicating between said computer and said observed users that were matched using a communication network; and
(F) establishing a new behavior in response to said information not matching any of said behaviors already known.

2. The method according to claim 1, further comprising the step of:
rating said match based on or more of said behaviors observed from said observed users that were matched.

3. The method according to claim 2, wherein said scale factors are refined based on said rating.

4. The method according to claim 1, further comprising the step of:
rating said match based on one or more inputs received from said observed users that were matched.

5. The method according to claim 1, wherein said reactions are selected by said observed users from a set comprising (i) one or more levels of satisfaction, (ii) a neutral reaction and (iii) one or more levels of dissatisfaction.

6. The method according to claim 1, wherein said content created by said observed users includes one or more among (i) self-descriptions, (ii) self-photographs, (iii) audio, (iv) video and (v) text.

7. The method according to claim 1, wherein said connections include one or more among (i) friends, (ii) social dates, (iii) professional groups, (iv) social groups, (v) events, (vi) products, (vii) jobs, (viii) schools, (ix) education, (x) searches, (xi) links, (xii) media, (xiii) events, (xiv) purchases, (xv) travel, (xvi) communications, (xvii) locations and (xviii) bookmarks.

8. The method according to claim 1, further comprising the step of:
estimating a new scale factor corresponding to said new behavior.

9. An apparatus comprising:
a computer configured to (i) gather information by observing one or more behaviors of two or more observed users among a plurality of users of a social network, wherein said behaviors include at least one of (a) one or more reactions to content presented to said observed users, (b) one or more content created by said observed users and (c) one or more connections established by said observed users, (ii) generate a plurality of profiles of said observed users based on said information, wherein said behaviors are associated with a plurality of scale factors, respectively, (iii) update said profiles by refining said scale factors and (iv) match two or more of said observed users based on said profiles as updated; and
an interface to a communication network configured to provide communications between said computer and said observed users that were matched, wherein said reactions are selected by said observed users from a set comprising (i) one or more levels of satisfaction, (ii) a neutral reaction and (iii) one or more levels of dissatisfaction.

10. The apparatus according to claim 9, wherein said computer is further configured to rate said match based on or more of said behaviors observed from said observed users that were matched.

11. The apparatus according to claim 10, wherein said scale factors are refined based on said rating.

12. The apparatus according to claim 9, wherein said computer is further configured to rate said match based on one or more inputs received from said observed users that were matched.

13. The apparatus according to claim 9, wherein said content created by said observed users includes one or more among (i) self-descriptions, (ii) self-photographs, (iii) audio, (iv) video and (v) text.

14. The apparatus according to claim 9, wherein said connections include one or more among (i) friends, (ii) social dates, (iii) professional groups, (iv) social groups, (v) events, (vi) products, (vii) jobs, (viii) schools, (ix) education, (x) searches, (xi) links, (xii) media, (xiii) events, (xiv) purchases, (xv) travel, (xvi) communications, (xvii) locations and (xviii) bookmarks.

15. The apparatus according to claim 9, wherein said computer is further configured to establish a new behavior in response to said information not matching any of said behaviors already known.

16. The apparatus according to claim 15, wherein said computer is further configured to estimate a new scale factor corresponding to said new behavior.

17. A method of matching users based on behavior in a social network, comprising the steps of:
(A) gathering information in a computer by observing one or more of said behaviors of two or more observed users among a plurality of said users of said social network, wherein said behaviors include at least one of (i) one or more reactions to content presented to said observed users, (ii) one or more content created by said observed users and (iii) one or more connections established by said observed users;
(B) generating a plurality of profiles of said observed users based on said information, wherein said behaviors are associated with a plurality of scale factors, respectively;
(C) updating said profiles by refining said scale factors;
(D) matching two or more of said observed users based on said profiles as updated; and
(E) communicating between said computer and said observed users that were matched using a communication network, wherein said reactions are selected by said observed users from a set comprising (i) one or more levels of satisfaction, (ii) a neutral reaction and (iii) one or more levels of dissatisfaction.

18. The method according to claim 17, further comprising the step of:
rating said match based on or more of said behaviors observed from said observed users that were matched.

19. The method according to claim 18, wherein said scale factors are refined based on said rating.

20. The method according to claim 17, further comprising the step of:
rating said match based on one or more inputs received from said observed users that were matched.