Friend recommendation method and device, friend adding method and device, equipment, storage medium and product
By clustering potential friends in social networks to form multiple tagged cluster sets, the problems of low query efficiency and insufficient recommendation accuracy in existing technologies are solved, and more efficient and personalized friend recommendations are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2024-11-18
- Publication Date
- 2026-05-19
AI Technical Summary
Existing social network recommendation systems suffer from low user query efficiency and insufficient recommendation accuracy when there are many potential friends, failing to meet personalized needs.
The clustering function divides potential friends into multiple cluster sets, each representing a tag. It displays relevant information about the cluster sets, supports automatic and custom clustering, and improves query efficiency and recommendation accuracy.
This allows users to intuitively see the grouping of potential friends, improving query efficiency and recommendation accuracy, and meeting users' personalized needs.
Smart Images

Figure CN122064876A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of human-computer interaction, and in particular to a friend recommendation method, friend addition method, device, equipment, storage medium, and product. Background Technology
[0002] With the rapid development of social networks, users' demand for finding and adding friends with shared interests is growing. To meet this demand, social network recommendation systems typically identify users' potential social relationships and recommend potential friends who may interact with them.
[0003] In related technologies, recommendation systems recommend people a user might know based on direct or indirect connections between the user and potential friends (such as having mutual friends, friends following each other, being in the same group, etc.). Recommendation systems typically display potential friends as a list, allowing users to browse different potential friends by swiping.
[0004] However, the recommendation methods in related technologies have low query efficiency when the number of potential friends is large. Summary of the Invention
[0005] This application provides a friend recommendation method, friend addition method, device, equipment, storage medium, and product, the technical solution of which is as follows.
[0006] According to one aspect of this application, a friend recommendation method is provided, the method being executed by a first client logged in with a first account, the method comprising:
[0007] Display potential friends who have a potential social relationship with the first account;
[0008] Receive a trigger operation for the clustering function targeting the potential friends;
[0009] In response to a trigger operation for the clustering function, a cluster set for the potential friends is displayed, and relevant information of the potential friends belonging to the cluster set is displayed around the cluster set.
[0010] In some embodiments, the method further includes:
[0011] In response to the trigger operation on the rotating wheel, the information card of the first potential friend and the first add control are displayed by default;
[0012] The first potential friend is the potential friend with the highest relationship score with the first account among the potential friends displayed around the cluster set.
[0013] In some embodiments, the content of the social business card includes at least one of the following:
[0014] The profile picture of the first account;
[0015] The nickname of the first account;
[0016] The interests of the first account;
[0017] Background of the first account;
[0018] The tag information for the first account.
[0019] In some embodiments, the display style of the social business card includes at least one of the following:
[0020] Image-based assets; video-based assets; a collection of multiple social assets.
[0021] According to one aspect of this application, a method for adding friends is provided, the method being executed by a first client logged in with a first account, the method comprising:
[0022] Displays a clustered set of potential friends;
[0023] The periphery of the cluster set displays relevant information about potential friends belonging to the cluster set;
[0024] In response to an interactive operation on the cluster aggregation, add potential friends from the cluster set.
[0025] In some embodiments, the cluster set includes a rotating roulette wheel, and the method further includes:
[0026] In response to the rotation of the rotating wheel, the information card information of different potential friends is switched and the control is added.
[0027] According to one aspect of this application, a friend recommendation device is provided, the friend recommendation device comprising:
[0028] The first display module is used to display potential friends who have a potential social relationship with the first account;
[0029] The first receiving module is used to receive the trigger operation of the clustering function for the potential friends;
[0030] The first display module is configured to, in response to a trigger operation for the clustering function, display a cluster set for the potential friends, and display relevant information of the potential friends belonging to the cluster set around the cluster set.
[0031] According to one aspect of this application, a friend-adding device is provided, the friend-adding device comprising:
[0032] The second display module is used to display clusters of potential friends;
[0033] The second display module is used to display relevant information about potential friends belonging to the cluster around the cluster set;
[0034] The second adding module is used to add potential friends from the cluster set in response to interactive operations on the cluster aggregation.
[0035] According to another aspect of this application, a computer device is provided, comprising: a processor and a memory, wherein the memory stores at least one computer program, the at least one computer program being loaded and executed by the processor to implement the friend recommendation method or friend addition method as described above.
[0036] According to another aspect of this application, a computer storage medium is provided, wherein at least one computer program is stored in the computer-readable storage medium, and the at least one computer program is loaded and executed by a processor to implement the friend recommendation method or friend addition method as described above.
[0037] According to another aspect of this application, a computer program product is provided, comprising a computer program stored in a computer-readable storage medium; the computer program is read from and executed by a processor of a computer device from the computer-readable storage medium, causing the computer device to perform the friend recommendation method or friend addition method as described above.
[0038] The beneficial effects of the technical solutions provided in this application include at least the following:
[0039] The method provided in this application clusters potential friends who have potential social relationships with a first account. By using the clustering function, multiple potential friends are divided into multiple cluster sets, and each cluster set can represent a tag information. This clustering display method can classify potential friends according to different types. On the one hand, users can intuitively see the grouping of potential friends through the cluster sets, which can improve the efficiency of querying potential friends. On the other hand, targeted grouping of potential friends based on cluster sets can improve recommendation accuracy and meet users' personalized needs.
[0040] Furthermore, by displaying information about potential friends belonging to each cluster around the perimeter of each cluster, such as the number of potential friends in each cluster, users can quickly understand the general information of each cluster, identify groups or individuals of potential friends they are interested in, and improve social efficiency. Attached Figure Description
[0041] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0042] Figure 1 This is a schematic diagram of the architecture of a computer system provided in one embodiment of this application;
[0043] Figure 2 This is a schematic diagram of a friend recommendation scenario provided in an embodiment of the related technology of this application;
[0044] Figure 3 This is a schematic diagram of a friend recommendation method provided in one embodiment of this application;
[0045] Figure 4 This is a flowchart of a friend recommendation method provided in one embodiment of this application;
[0046] Figure 5 This is a schematic diagram of a friend recommendation method provided in one embodiment of this application;
[0047] Figure 6 This is a flowchart of a friend recommendation method provided in one embodiment of this application;
[0048] Figure 7 This is a flowchart of a friend recommendation method provided in one embodiment of this application;
[0049] Figure 8 This is a schematic diagram of a friend recommendation method provided in one embodiment of this application;
[0050] Figure 9 This is a flowchart of a friend recommendation method provided in one embodiment of this application;
[0051] Figure 10 This is a schematic diagram of a friend recommendation method provided in one embodiment of this application;
[0052] Figure 11 This is a flowchart of a friend recommendation method provided in one embodiment of this application;
[0053] Figure 12 This is a flowchart of a friend recommendation method provided in one embodiment of this application;
[0054] Figure 13 This is a schematic diagram of a friend recommendation method provided in one embodiment of this application;
[0055] Figure 14This is a schematic diagram of a friend recommendation method provided in one embodiment of this application;
[0056] Figure 15 This is a schematic diagram of a friend recommendation method provided in one embodiment of this application;
[0057] Figure 16 This is a flowchart of a friend recommendation method provided in one embodiment of this application;
[0058] Figure 17 This is a schematic diagram of a friend recommendation method provided in one embodiment of this application;
[0059] Figure 18 This is a schematic diagram of a friend recommendation method provided in one embodiment of this application;
[0060] Figure 19 This is a schematic diagram of a friend recommendation method provided in one embodiment of this application;
[0061] Figure 20 This is a flowchart of a friend recommendation method provided in one embodiment of this application;
[0062] Figure 21 This is a schematic diagram of a friend recommendation method provided in one embodiment of this application;
[0063] Figure 22 This is a flowchart of a friend-adding method provided in one embodiment of this application;
[0064] Figure 23 This is a flowchart of a friend-adding method provided in one embodiment of this application;
[0065] Figure 24 This is a schematic diagram of different tables in a database provided in one embodiment of this application;
[0066] Figure 25 This is an overall flowchart of bulk sending of social business cards provided in one embodiment of this application;
[0067] Figure 26 This is a structural block diagram of a friend recommendation device provided in one embodiment of this application;
[0068] Figure 27 This is a structural block diagram of a friend-adding device provided in one embodiment of this application;
[0069] Figure 28 This is a schematic diagram of the structure of a computer device provided in one embodiment of this application. Detailed Implementation
[0070] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0071] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0072] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used in this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
[0073] It should be understood that although the terms first, second, etc., may be used in this application to describe various information, this information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, a first parameter may also be referred to as a second parameter, and similarly, a second parameter may also be referred to as a first parameter. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."
[0074] It should be noted that this application may display prompt interfaces, pop-ups, or output voice prompts before and during the collection of user data. These prompt interfaces, pop-ups, or voice prompts are used to inform the user that their data is being collected. This ensures that the application only begins the steps for collecting user data after receiving confirmation from the user regarding the prompt interface or pop-up; otherwise (i.e., without user confirmation), the steps for collecting user data end, meaning no user data is collected. In other words, all user data collected in this application is collected with the user's consent and authorization, and the collection, use, and processing of related user data must comply with the relevant laws, regulations, and standards of the relevant countries and regions.
[0075] First, let me introduce the relevant terms used in this application:
[0076] Potential social relationships refer to social relationships that may exist between users or that have not yet been formally established. Optionally, potential social relationships are not existing social relationships, but rather relationships that are inferred from various user data to suggest the potential or possibility of establishing connections between users.
[0077] Clustering is the process of dividing a group of objects into multiple groups (clusters) based on certain similarities or characteristics. Objects within each cluster have high similarity, while objects between different clusters have low similarity.
[0078] For example, in social networks, clustering refers to grouping users with similar interests, backgrounds, or behaviors into different "sets" or "groups." Recommendation systems in social networks can cluster users based on their interests, behaviors, friend relationships, etc., dividing users into multiple cluster groups or multiple cluster sets.
[0079] Relationship circles: This refers to how social networks divide users into different levels of circles based on the closeness of their relationships. Each relationship circle represents the strength or distance of a user's relationship with other users.
[0080] For example, social networks divide users' potential friends into three levels of relationship circles based on the closeness of the relationship. The granularity of the three levels of relationship circles increases sequentially, namely, the first-level relationship circle, the second-level relationship circle, and the third-level relationship circle.
[0081] For example, the first-level relationship circle is the broadest classification, covering users' main areas of interest. The clusters of first-level relationship circles include a wide range of categories such as games, music, food, travel, sports, movies, and anime / manga. Building upon the first-level relationship circle, the second-level relationship circle is further subdivided. Taking games as an example of first-level relationship circles, the clusters of second-level relationship circles might include specific games such as Game A, Game B, Game C, Game D, and Game E. Based on the second-level relationship circle, the third-level relationship circle is a more granular classification, further subdividing the second-level relationship circle into more specific social groups. Taking Game A as an example of a second-level relationship circle, the clusters of third-level relationship circles might include those from the same server, those who are the same MVP, those who play support, and those who are both in the Silver rank. By classifying potential friends with potential social relationships into specific circles, the recommendation system can more accurately recommend potential friends with shared interests or backgrounds to the primary account.
[0082] Figure 1 This is a structural block diagram of a computer system 100 provided in an exemplary embodiment of this application. The computer system 100 can be implemented as a system architecture based on an interactive check-in method. The computer system 100 includes: a first terminal 120, a server 140, and a second terminal 160.
[0083] The first terminal 120 has a first client application with the target application installed and running. For example, the target application is an application with social attributes, which can be any one of the following: chat application, office application, social networking application, sports application, fitness application, learning application, or game application. The first terminal 120 is the terminal used by the first user, who can log in to the first client using a first account. Optionally, the first client has a recommendation system installed. The recommendation system recommends potential friends with potential social relationships to the first account. The first user can send friend requests to potential friends, and thus add potential friends with potential social relationships through the first account in the first client.
[0084] The second terminal 160 has a second client application installed and running the target application. For example, the target application is an application with social attributes, which can be any of the following: chat application, office application, social networking application, sports application, fitness application, learning application, or game application. The second terminal 160 is the terminal used by the second user, who can log in to the second client using a second account. Optionally, the second client displays social contact cards and friend requests sent by the first user, and the second user can add friends using their second account.
[0085] Optionally, the first terminal 120 and the second terminal 160 can be clients that install and run the same type of target application.
[0086] The first terminal 120 and the second terminal 160 are connected to the server 140 via a wireless network or a wired network.
[0087] Server 140 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud servers, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. Server 140 includes at least one of the following: a single server, multiple servers, a cloud computing platform, and a virtualization center.
[0088] For example, server 140 includes processor 144 and memory 142. Memory 142 further includes receiving module 1421, control module 1422, and sending module 1423. Receiving module 1421 is used to receive requests sent by clients, such as a trigger request for the check-in entry. Control module 1422 is used to control the rendering of the screen in the client. Sending module 1423 is used to send responses to clients, such as sending check-in results to clients. Server 140 is used to provide background services for clients of first terminal 120 and second terminal 160.
[0089] Optionally, server 140 undertakes the main computing work, while first terminal 120 and second terminal 160 undertake secondary computing work; or, server 140 undertakes secondary computing work, while first terminal 120 and second terminal 160 undertake the main computing work; or, server 140, first terminal 120, and second terminal 160 collaborate on computing using a distributed computing architecture.
[0090] This application does not limit the form of the client installed on the first terminal 120 and the second terminal 160, including but not limited to Apps (Applications), mini-programs, etc., installed on the first terminal 120 and the second terminal 160, and can also be in the form of web pages. The first terminal 120 and the second terminal 160 can refer to one of multiple terminals; this embodiment only uses the first terminal 120 and the second terminal 160 as examples. The device types of the first terminal 120 and the second terminal 160 include at least one of the following: smartphones, tablets, wearable devices, PCs (Personal Computers), laptops, and desktop computers. The following embodiments use smartphones as examples for the first terminal 120 and the second terminal 160.
[0091] Those skilled in the art will understand that the number of the first terminal 120 and the second terminal 160 can be more or less. For example, the first terminal 120 and the second terminal 160 can each be only one, or the first terminal 120 and the second terminal 160 can each be multiple or more. This application does not limit the number or type of the first terminal 120 and the second terminal 160.
[0092] In related technologies, recommendation systems recommend people a user might know based on direct or indirect connections between the user and potential friends (such as having mutual friends, friends following each other, being in the same group, etc.). For example, if user A and user B have a mutual friend C, the recommendation system will recommend user B to user A. For instance, as shown... Figure 2As shown, the recommendation list on the recommendation interface 200 recommends people the user may know. For example, in area 201, the user and "Xiaobai" have a mutual friend "Potato." The recommendation system recognizes that the user and "Xiaobai" have a potential social relationship and recommends "Xiaobai" as a potential acquaintance to the user. However, the recommendation methods in related technologies are mainly based on the user's existing social circle, resulting in insufficient recommendation accuracy and failing to meet the user's personalized needs.
[0093] Based on this, in order to solve the problems existing in the related technologies, this application provides a friend recommendation method. Figure 3 A schematic diagram of a friend recommendation method provided in an exemplary embodiment of this application is shown. The method is executed by a computer device, which is... Figure 1 The following explanation uses the first terminal 120 as an example. The first terminal 120 has a first client installed and running, and the first client is logged into a first account. This method can be executed by the first client logged into the first account, and the steps are briefly described below:
[0094] Optionally, potential friends with potential social relationships with the first account are displayed on the client of the first account. For example, a recommendation stream interface 10 is displayed on the client of the first account; the recommendation stream interface 10 is an information stream interface used to display friends with potential social relationships with the first account. Optionally, a communication program is installed in the first client, and the first account is the user account logged into the first client. Here, potential social relationships refer to social relationships that may exist between users or have not yet been formally established. Optionally, potential social relationships can be manifested in ways including but not limited to: having common interests and hobbies, mutual friends, similar social activities, nearby geographical locations, and similar behavioral patterns—at least one of these.
[0095] For example, such as Figure 3 As shown in part (a) of the diagram, a recommendation stream interface 10 is displayed on the client of the first account. The recommendation stream interface 10 displays potential friends who have potential social relationships with the first account, and displays potential social relationships with the first account around each potential friend. For example, it shows that "Lin XX" has "20 mutual friends" with the first account and shares the same hobby "music" with the first account. Another example is that "Yin XX" is in the same group chat as the first account and shares the same interest "games" with the first account.
[0096] In some embodiments, potential friends with whom the first account has a potential social relationship can form different levels of relationship circles. Each level of relationship circle includes multiple cluster sets (or relationship sets), each cluster set represents a label, and the labels of the multiple cluster sets are different. Each cluster set includes at least one potential friend. Optionally, the granularity of the division of different levels of relationship circles is different.
[0097] In some embodiments, a first client receives a trigger operation for a clustering function targeting potential friends. In response to the trigger operation, the first client displays a set of clusters targeting potential friends and displays relevant information about potential friends belonging to those clusters around the clusters. For example, the number of potential friends belonging to a cluster is displayed around the clusters. Optionally, the clustering function includes automatic clustering and custom clustering. Automatic clustering automatically divides potential friends into at least two clusters belonging to the same or different levels. Custom clustering divides potential friends into specified clusters based on custom filtering criteria.
[0098] In some embodiments, the clustering functionality includes automatic clustering. Optionally, in conjunction with reference to [reference needed] Figure 3 Part (a) of the diagram shows a clustering control 11 displayed on the recommendation feed interface 10. In response to a click on the clustering control 11, the recommendation system automatically clusters potential friends, displaying at least two cluster sets for potential friends belonging to the same or different levels. For example, it displays at least two cluster sets for potential friends belonging to the same or different levels. After clicking the clustering control 11, it displays at least two cluster sets belonging to the first level of the relationship circle, including the first cluster set. In response to an interaction with the first cluster set, it displays a second cluster set belonging to the second level of the relationship circle, which is a subset of the first cluster set.
[0099] For example, potential friends with a potential social relationship with the first account are divided into three levels of relationship circles according to the closeness of the relationship. The granularity of the three levels of relationship circles increases sequentially, namely the first-level relationship circle, the second-level relationship circle, and the third-level relationship circle.
[0100] like Figure 3As shown in part (b) of the diagram, on the display interface 20 of the first-level relationship hierarchy, the cluster sets of the first-level relationship hierarchy are displayed as "Both in XX Notification Group", "Both in City A", "Both playing games", "Both are Capricorns", and "Both are music lovers". Among them, there are 20 potential friends under the tag "Both in XX Notification Group", 4 potential friends under the tag "Both in City A", 50 potential friends under the tag "Both playing games", 3 potential friends under the tag "Both are Capricorns", and 16 potential friends under the tag "Both are music lovers". In response to a trigger operation on the first cluster set 21 "Both playing games", as follows... Figure 3 As shown in part (c) of the diagram, the display interface 30 shows the second-level relationship hierarchy, with the cluster sets of the second-level relationship hierarchy being "Game A", "Game B", "Game C", "Game D", and "Game E". These five cluster sets, "Game A", "Game B", "Game C", "Game D", and "Game E", are subsets of the "Play Games Together" cluster set. In response to a trigger operation targeting the second cluster set 31, "Game C", as shown... Figure 3 As shown in part (d) of the diagram, the display interface 40 shows the three-level relationship hierarchy. The cluster sets of the three-level relationship hierarchy are "This Week's Rank", "Same MVP", "Same Server", "Playing Support", and "Reaching Star Rank This Week". Among them, the five cluster sets "This Week's Rank", "Same MVP", "Same Server", "Playing Support", and "Reaching Star Rank This Week" are subsets of the cluster set "Game C".
[0101] In some embodiments, the clustering functionality includes a custom clustering function. A custom clustering function divides potential friends into specified cluster sets based on custom filtering criteria. Optionally, this can be combined with reference to... Figure 3 In part (b) of the diagram, a custom clustering control 22 is displayed on the first-level relationship layer display interface 20. The custom clustering control 22 is used to trigger the custom clustering function. In response to the triggering operation of the custom clustering control 22, an input window (not shown in the figure) is displayed. The input window is used for the first account to input custom filter conditions. In response to the input operation of the custom filter conditions in the input window, the cluster set obtained by the custom filter condition clustering is displayed.
[0102] For example, the cluster sets in the first-level relationship layer are "in the same XX notification group", "in the same city A", "playing the same game", "being the same Capricorn", and "being the same music fan". The display interface 20 of the first-level relationship layer includes a custom clustering control 22. In response to the trigger operation of the custom clustering control 22, the first account can enter "anime" in the input window. After the input is completed, the cluster set corresponding to "anime" is displayed in the second-level relationship layer.
[0103] The embodiments of this application mainly involve two parts: the first part is an introduction to the friend recommendation method; the second part is an introduction to the friend addition method.
[0104] The following section will first introduce the friend recommendation method.
[0105] Figure 4 This is a flowchart illustrating a friend recommendation method provided in an exemplary embodiment of this application. The method is executed by a computer device, which may be... Figure 1 The first terminal 120 is shown. The first terminal 120 has a first client installed and running, and the first client is logged into a first account. Specifically, this method can be executed by the first client logged into the first account. The method includes at least a portion of steps 210, 220, and 230:
[0106] Step 210: Display potential friends who have a potential social relationship with the first account;
[0107] The first account is the account logged into the first client. The first account can also be called a user account. The first account can be understood as the user using the first account.
[0108] In some embodiments, potential social relationships refer to social relationships that may exist between user accounts or have not yet been formally established. Potential social relationships are not directly existing social relationships, but rather are inferred from the analysis of user account data regarding the potential or possibility of establishing a connection between user accounts. Optionally, potential friends refer to friends who have a potential social relationship with the first account (i.e., the user using the first account).
[0109] Optionally, the manifestation of potential social relationships includes, but is not limited to, at least one of the following: shared interests and hobbies, mutual friends, similar social media activity, similar geographical locations, and similar behavioral patterns. Specifically, similar social media activity indicates that the similarity between the social media activity posted by the first account and the potential friend is greater than a first threshold; similar geographical locations indicate that the geographical distance between the first account and the potential friend is greater than a second threshold; and similar behavioral patterns indicate that the overlap in behavioral patterns between the first account and the potential friend is greater than a third threshold.
[0110] For example, a potential social relationship can be seen in the shared interests and hobbies between the first account and potential friends. For instance, if the first account user and potential friends have interest tags on their respective social profiles, such as liking a particular sport, book, music, or movie, the recommendation system would consider a potential social relationship between the first account and potential friends.
[0111] For example, a potential social relationship is reflected in the fact that the first account and the potential friend have mutual friends. For instance, if the first account and the potential friend have mutual friends, the recommendation system infers that the two people may know each other or establish a connection based on their mutual friends, and recommends the potential friend to the first account.
[0112] For example, a potential social relationship is reflected in the similar social dynamics of the first account and the potential friend. Social dynamics refer to users' interactive behaviors on the platform, such as liking, commenting, and sharing content. If the first account and the potential friend have similar interaction patterns or activity levels on the platform, the recommendation system can infer that they may have similar interests and needs based on their social dynamics. For example, if the first account likes video A and the potential friend also likes video A, the recommendation system believes that the first account and the potential friend have a potential social relationship.
[0113] For example, potential social relationships are reflected in the proximity of the first account and potential friends in their geographical locations. Geographical proximity is also an important factor in social recommendations. Recommendation systems typically prioritize recommending potential users who are geographically closer to the first account. For instance, if the first account's geographical location is in District XX, and a potential friend's geographical location is also in District XX, the recommendation system considers a potential social relationship between the first account and the potential friend.
[0114] For example, a potential social relationship is reflected in the similar behavioral patterns of the first account and potential friends. These behavioral patterns include the frequency of user activity on the platform, interaction methods, and content consumption types. If the first account and potential friends exhibit similar behavioral patterns on a social platform, the recommendation system can conclude that they share the same preference information based on these patterns. For instance, if both the first account and potential friends have joined an art group and are highly active in the group, the recommendation system would conclude that a potential social relationship exists between them.
[0115] In some embodiments, potential friends with social relationships with the first account are displayed on the recommendation feed interface. For example, in conjunction with reference to [reference needed] Figure 5 On the client of the first account, a recommendation stream interface 300 is displayed. The recommendation stream interface 300 shows potential friends who have potential social relationships with the first account. Around each potential friend, potential social relationships with the first account are displayed. For example, it shows that "Lin XX" has "20 mutual friends" with the first account and shares the same hobby "music". Another example is that "Yin XX" is in the same group chat as the first account and shares the same interest "games".
[0116] Step 220: Receive the trigger operation for the clustering function for potential friends;
[0117] Clustering refers to the function of dividing potential friends into multiple groups (or clusters) based on similarity or common characteristics. Optionally, potential friends belonging to the same group have higher similarity, while potential friends belonging to different groups have lower similarity.
[0118] In some embodiments, the triggering factors for clustering functionality include, but are not limited to, at least one of event factors, location factors, time factors, and behavioral factors.
[0119] For example, the triggering factors for clustering include event factors, which are specific events or activities in which the first account participates. When the first account participates in an event or activity, that event or activity serves as an event factor, triggering the recommendation system to cluster potential friends for the first account. For instance, if the first account participates in an online game competition, the recommendation system might cluster the first account with other participants, viewers, or participants in related activities based on that game competition, forming event-related clusters. These other participants, viewers, or participants in related activities can be considered potential friends.
[0120] For example, the triggering factors for clustering include location factors, where the geographical location and region of the first account are used as clustering triggers. The recommendation system can determine the potential social relationships of the first account based on its geographical location. For instance, if the first account and user A participate in an activity at the same location, the recommendation system may cluster the first account and user A, forming a location-based cluster. In this cluster, user A can be considered a potential friend of the first account.
[0121] For example, the triggering factors for clustering include time factors, which use the activity and behavior of the first account within a specific time period as the clustering trigger. Based on time-dimensional factors, the recommendation system can cluster the first account with people who have interacted or behaved within similar time periods, based on the first account's active time or historical activity periods. For instance, if the first account is more active between 8 PM and 10 PM, the recommendation system might cluster it with users who are also active during this time period. Users active during this same time period can then be considered potential friends of the first account.
[0122] For example, the triggering factors for clustering include behavioral factors, which are the specific operations and behavioral patterns of the first account on the social platform. Behavioral factors refer to the specific actions (such as browsing, clicking, commenting, sharing, etc.) of the first account on the social platform. For instance, if the first account frequently participates in comments on a movie, the recommendation system will cluster the first account with other users who like that movie. Among them, other users who like that movie can be considered potential friends of the first account.
[0123] In some embodiments, the clustering function may be triggered in ways including, but not limited to, at least one of control-based triggering, sensor-based triggering, and touchscreen-based triggering.
[0124] For example, the clustering function can be triggered via a control-based triggering method. Optionally, a recommendation stream interface is displayed on the client of the first account, showing potential friends with potential social relationships with the first account. Optionally, a clustering control is displayed on the recommendation stream interface. In response to a triggering operation on the clustering control, the recommendation system clusters potential friends. The clustering control is a UI element, such as a button control or a switch control.
[0125] For example, the clustering function can be triggered via sensor-based methods. Optionally, the first terminal device of the first account is equipped with a motion sensor, which can collect the first account's control operations on the device's posture. The motion sensor is a sensor in the terminal device capable of detecting motion and posture; common motion sensors include at least one of a gyroscope, accelerometer, orientation sensor, magnetic sensor, and gravity sensor. Body posture refers to the position and orientation of the first terminal device in space. The motion sensor can detect data of the first terminal device in different postures, such as tilting or rotating. In response to the body posture control operations on the first terminal device, such as shaking or swaying, the clustering function for potential friends is triggered.
[0126] For example, the clustering function can be triggered via a touchscreen. Optionally, the touchscreen collects user interaction data from the first account. The touchscreen is an input device, allowing the user of the first account to interact with the device using their finger or a stylus. In response to the touchscreen collecting interaction data related to the clustering function, the clustering function for potential friends is triggered. The interaction data includes, but is not limited to, at least one of the following: click, long press, swipe, touch, button, and gesture.
[0127] Step 230: In response to the trigger operation for the clustering function, display the cluster set for potential friends, and display relevant information of potential friends belonging to the cluster set around the cluster set.
[0128] In some embodiments, in response to a trigger operation for the clustering function, at least one cluster set for potential friends is displayed, and relevant information about potential friends belonging to each cluster set is displayed around the at least one cluster set. Optionally, the trigger operation for the clustering function includes at least one of the control-based triggering method, sensor-based triggering method, and touchscreen-based triggering method described above.
[0129] In some embodiments, potential friends with whom the first account has a potential social relationship can form different levels of relationship circles. Each level of relationship circle includes multiple cluster sets, and each cluster set represents a label. Optionally, different cluster sets have different labels. Each cluster set includes at least one potential friend. The cluster set may also be referred to as a relationship set, cluster circle, cluster group, or cluster. This application does not limit this terminology.
[0130] In some embodiments, at least one cluster set targeting potential friends is displayed. Each of the at least one cluster set includes cluster elements belonging to that cluster set. Optionally, cluster elements include, but are not limited to, at least one of the following: cluster set name, cluster set display style, cluster set activity level, and cluster set tags. For example, cluster elements may include cluster set names reflecting the theme of the cluster set, such as "local gamers," "fitness interest groups," or "food lovers." Another example is cluster set tags reflecting common characteristics of the cluster set, such as "games," "music," or "travel." These are merely illustrative examples and are not intended to limit the scope of the application.
[0131] In some embodiments, relevant information about potential friends belonging to each cluster is displayed around at least one cluster set. Optionally, the relevant information about potential friends includes, but is not limited to, at least one of the following: the number of potential friends in each cluster set, the profile picture of the potential friend, the nickname of the potential friend, the activity level of the potential friend, and the relationship identifier between the potential friend and the first account. The above are merely illustrative examples and are not intended to limit the scope of this application.
[0132] In summary, the method provided in this application clusters potential friends who have potential social relationships with the first account. By using the clustering function, multiple potential friends are divided into multiple cluster sets, and each cluster set can represent a tag information. This clustering display method can classify potential friends according to different types. Users can intuitively see the grouping of potential friends through the cluster sets, which can improve the query efficiency for potential friends. At the same time, targeted grouping of potential friends based on cluster sets can improve recommendation accuracy and meet users' personalized needs.
[0133] Furthermore, by displaying information about potential friends belonging to each cluster around the perimeter of each cluster, such as the number of potential friends in each cluster, users can quickly understand the general information of each cluster, identify groups or individuals of potential friends they are interested in, and improve social efficiency.
[0134] In some embodiments, a first client logged in with a first account receives a trigger operation for a clustering function targeting potential friends, and in response to the trigger operation, displays a cluster set targeting potential friends. Optionally, the clustering function targeting potential friends includes an automatic clustering function and a custom clustering function. The automatic clustering function automatically divides potential friends into at least two cluster sets belonging to the same level or different levels. The custom clustering function divides potential friends into specified cluster sets based on custom filtering conditions.
[0135] The automatic clustering function and the custom clustering function will be introduced below.
[0136] The clustering function for potential friends is an automatic clustering function.
[0137] In some embodiments, the automatic clustering function is a feature where the recommendation system automatically clusters potential friends based on clustering triggers. These triggers include, but are not limited to, at least one of event factors, location factors, time factors, and behavioral factors.
[0138] Figure 6 This is a flowchart of a friend recommendation method provided in an exemplary embodiment of this application. Step 230 above can be replaced by step 231.
[0139] Step 231: In response to a trigger action for the automatic clustering function, display at least two cluster sets for potential friends that belong to the same level or different levels.
[0140] In some embodiments, potential friends with whom the first account has a potential social relationship can form different levels of relationship circles. Each level of relationship circle includes multiple cluster sets, each cluster set represents a label, and the labels of the multiple cluster sets are different. Each cluster set includes at least one potential friend. Optionally, the granularity of the division of different levels of relationship circles is different.
[0141] In some embodiments, in response to a triggering operation of the automatic clustering function, at least two cluster sets belonging to the same level for potential friends are displayed. Here, "same level" refers to the same dimension or the same granularity. Optionally, cluster sets at the same level (same granularity) are displayed within the relationship hierarchy.
[0142] For example, social networks categorize users' potential friends into two levels of relationship circles based on the closeness of the relationship. The granularity of these two levels increases progressively: Level 1 and Level 2 relationship circles. For instance, Level 1 relationship circles are the broadest category, encompassing the primary interests of the first account. The clusters within Level 1 relationship circles include a wide range of categories such as games, music, food, travel, sports, movies, and anime / manga. Games, music, food, travel, sports, and movies belong to the same level of cluster. Optionally, Level 2 relationship circles can be further subdivided based on the Level 1 relationship circles.
[0143] For example, taking games divided into first-level relationship layers as an example, the cluster set of second-level relationship layers may include specific game subsets such as game A, game B, game C, game D, and game E. Among them, game A, game B, game C, game D, and game E belong to the same level of cluster set.
[0144] For example, taking music as an example of dividing the first-level relationship layer, the cluster set of the second-level relationship layer may include specific music subsets such as pop music, classical music, rock music, rap music, and folk music. Among them, pop music, classical music, rock music, rap music, and folk music belong to the same level of cluster set.
[0145] For example, taking food as an example of dividing into first-level relationship layers, the cluster set of second-level relationship layers may include specific food subsets such as Chinese food, Western food, fast food, and desserts. Among them, Chinese food, Western food, fast food, and desserts belong to the same level of cluster set.
[0146] For example, taking travel as an example of dividing into first-level relationship layers, the cluster set of second-level relationship layers may include specific travel subsets such as adventure travel, hiking, and self-driving travel. Among them, adventure travel, hiking, and self-driving travel belong to the same level of cluster set.
[0147] For example, taking sports with a first-level relationship layer as an example, the cluster set of the second-level relationship layer may include specific sports subsets such as individual sports, two-person sports, and team sports. Among them, individual sports, two-person sports, and team sports belong to the same level of cluster set.
[0148] For example, taking movies divided into first-level relationship layers as an example, the cluster set of second-level relationship layers may include specific movie subsets such as comedy movies, suspense movies, and science fiction movies. Among them, comedy movies, suspense movies, and science fiction movies belong to the same level of cluster set.
[0149] In some embodiments, in response to a triggered operation of the automatic clustering function, at least two cluster sets belonging to different levels are displayed for potential friends. Here, different levels refer to different dimensions or different granularities. Optionally, cluster sets at different levels (different granularities) are displayed within the relationship hierarchy.
[0150] For example, potential friends with a potential social relationship with the first account are divided into first-level relationship layers according to the closeness of the relationship. Optionally, different levels of cluster sets are displayed on the first-level relationship layers. For example, the cluster sets on the first-level relationship layers include broad categories such as game A and music. Optionally, games and music belong to the same level, and game A is a subset of games; the cluster sets of music and game A are displayed simultaneously on the first-level relationship layers. Here, the cluster sets of game A and music belong to different levels.
[0151] In this embodiment, through automatic clustering and the display of multi-level cluster sets, the recommendation system can help users recommend potential friends across multiple dimensions, thereby increasing the likelihood and diversity of social interactions. The multi-level cluster sets make the recommendations more hierarchical and personalized.
[0152] • For at least two cluster sets to belong to the same level
[0153] In some embodiments, in response to a triggering operation of the automatic clustering function, at least two cluster sets belonging to the same level for potential friends are displayed. Here, "same level" refers to the same dimension or the same granularity. Optionally, cluster sets at the same level (same granularity) are displayed within the relationship hierarchy.
[0154] like Figure 7 As shown, step 231 above can be replaced by steps 231a and 231b.
[0155] Step 231a: In response to a trigger operation for the automatic clustering function, display at least two cluster sets belonging to the first relationship layer for potential friends, wherein the first cluster set is included among the at least two cluster sets;
[0156] In some embodiments, in response to a trigger operation on the automatic clustering function, the system displays that the first account has entered the first relationship circle, and displays at least two cluster sets belonging to the first relationship circle for potential friends. The at least two cluster sets of the first relationship circle belong to the same level (or the same granularity) of cluster sets. The at least two cluster sets include the first cluster set, which is the cluster set belonging to the first relationship circle. The first relationship circle is a relationship circle defined according to the closeness of the initial relationship between the potential friend and the first account.
[0157] In some embodiments, relationship stratification refers to the stratification of potential friends into different levels based on the closeness of the relationship between potential friends and the primary account in a social network.
[0158] In some embodiments, the degree of relationship closeness is used to characterize the relationship density between potential friends and the first account. Optionally, the degree of relationship closeness is measured through social interaction data between the first account and potential friends, and the metrics for measuring the degree of relationship closeness include, but are not limited to, at least one of the following: degree of interaction overlap, degree of interest overlap, degree of social circle overlap, number of mutual friends, and degree of activity overlap.
[0159] For example, a metric for measuring the closeness of a relationship includes the number of mutual friends between the first account and potential friends. For instance, if the first account and user A have 10 mutual friends, and the first account and user B have 15 mutual friends, then user B has more mutual friends than user A and the first account. Therefore, the relationship between the first account and user B is considered to be closer than the relationship between the first account and user A.
[0160] For example, a metric for measuring the closeness of a relationship includes the degree of overlap in interests between the first account and potential friends. For instance, the first account's interests are tagged with "sports," "food," "travel," and "running," user C's interests are tagged with "sports" and "travel," and user D's interests are tagged with "food." User C shares more common interest tags with the first account than user D, therefore the relationship between the first account and user C is considered closer than that between the first account and user D.
[0161] Step 231b: In response to an interactive operation on the first cluster set, display the second cluster set belonging to the second relation layer, the second cluster set being a subset of the first cluster set.
[0162] The first cluster set belongs to the first relationship layer, and the second cluster set belongs to the second relationship layer. Optionally, the second cluster set is a subset of the first cluster set. The second relationship layer is a relationship layer divided according to the closeness of the second relationship between potential friends and the first account. Optionally, the granularity of the second relationship layer is smaller than that of the first relationship layer.
[0163] In some embodiments, in response to an interactive operation on a first cluster set, a second cluster set belonging to a second relationship layer is displayed. Optionally, the interactive operation on the first cluster set includes, but is not limited to, at least one of: a click operation, a swipe operation, a zoom operation, a voice operation, and a drag operation.
[0164] In some embodiments, the first cluster set and the second cluster set are displayed as collection interface elements. For example, the first cluster set and the second cluster set are displayed as cluster circles, and for each cluster set, potential friends are displayed around the cluster circle in the form of a first identifier. For example, the first identifier is the potential friend's avatar, and the potential friend's avatar is displayed around the cluster circle. Optionally, in response to an interactive operation on the first cluster set, it is displayed that the first account has entered the second relationship layer, and the second cluster set belonging to the second relationship layer is displayed.
[0165] For example, in conjunction with reference Figure 8 Potential friends with a strong social connection to the first account are categorized into a first relationship layer and a second relationship layer based on the closeness of their relationship. For example... Figure 8 As shown in part (a) of the diagram, the display interface 400 of the first relationship layer displays the cluster sets of the first relationship layer as "Both in XX Notification Group", "Both in City A", "Both playing games", "Both are Capricorns", and "Both are music fans". The cluster sets of the first relationship layer include a first cluster set 401, which is the cluster set of "Both playing games". In response to interactive operations on the first cluster set 401, such as scaling the cluster set of "Both playing games", ... Figure 8 As shown in part (b) of the diagram, the first account enters the second relationship layer. In the display interface 500 of the second relationship layer, the cluster sets of the second relationship layer are shown as "Game A", "Game B", "Game C", "Game D" and "Game E". Among them, the five cluster sets "Game A", "Game B", "Game C", "Game D" and "Game E" are subsets of the cluster set "Playing Games Together".
[0166] In this embodiment, a trigger operation for the automatic clustering function is provided, displaying at least two cluster sets belonging to the same level for potential friends. This approach is suitable for scenarios with a large number of potential friends in the initial screening, providing users with more accurate friend recommendations and increasing the relevance and personalization of the recommendations. By providing clear and organized relationship layers, users can more easily find social content that interests them.
[0167] • For at least two cluster sets belonging to different levels
[0168] In some embodiments, in response to a triggered operation of the automatic clustering function, at least two cluster sets belonging to different levels are displayed for potential friends. Here, different levels refer to different dimensions or different granularities. Optionally, cluster sets at different levels (different granularities) are displayed within the relationship hierarchy.
[0169] like Figure 9 As shown, step 231 above can also be replaced by steps 231c and 231d.
[0170] Step 231c: In response to the triggered operation of the automatic clustering function, display the first cluster set and the second cluster set belonging to the first relationship circle for potential friends;
[0171] In some embodiments, in response to a trigger operation on the automatic clustering function, the system displays that the first account has entered the first relationship circle, and displays a first cluster set and a second cluster set belonging to the first relationship circle for potential friends. The first and second cluster sets of the first relationship circle belong to cluster sets at different levels (or different granularities). The first and second cluster sets are cluster sets belonging to the first relationship circle. The first relationship circle is a relationship circle defined according to the closeness of the initial relationship between potential friends and the first account.
[0172] In some embodiments, the degree of relationship closeness is used to characterize the relationship density between potential friends and the first account. Optionally, the degree of relationship closeness is measured through social interaction data between the first account and potential friends, and the metrics for measuring the degree of relationship closeness include, but are not limited to, at least one of the following: degree of interaction overlap, degree of interest overlap, degree of social circle overlap, number of mutual friends, and degree of activity overlap.
[0173] Optionally, the first cluster set and the second cluster set belong to different levels. Here, different levels refer to different dimensions or different granularities. For example, the first cluster set is the cluster set corresponding to music, and the second cluster set is the cluster set corresponding to game A. Optionally, games and music belong to the same level, and game A is a subset of games. Therefore, the cluster sets of game A and music belong to different levels.
[0174] Step 231d: In response to an interactive operation on the second cluster set, display the third cluster set belonging to the second relation layer, which is a subset of the second cluster set.
[0175] The second cluster set belongs to the first relationship layer, and the third cluster set belongs to the second relationship layer. Optionally, the third cluster set is a subset of the second cluster set. The second relationship layer is a relationship layer divided according to the closeness of the second relationship between potential friends and the first account. Optionally, the granularity of the second relationship layer is smaller than that of the first relationship layer.
[0176] In some embodiments, in response to an interactive operation on the second cluster set, a third cluster set belonging to the second relationship layer is displayed. Optionally, the interactive operation on the second cluster set includes, but is not limited to, at least one of: click operation, swipe operation, zoom operation, voice operation, and drag operation.
[0177] In some embodiments, the second and third cluster sets are displayed as collection interface elements. For example, the second and third cluster sets are displayed as cluster circles, with potential friends displayed around each cluster according to their closeness to the first account. Optionally, in response to an interaction with the second cluster set, the first account is shown to have entered the second relationship circle, and the third cluster set belonging to the second relationship circle is displayed.
[0178] For example, in conjunction with reference Figure 10 Potential friends with a strong social connection to the first account are categorized into a first relationship layer and a second relationship layer based on the closeness of their relationship. For example... Figure 10 As shown in part (a) of the diagram, the display interface 600 of the first relationship layer displays the cluster sets of the first relationship layer as "both in XX notification group", "both in City A", "game C", "both Capricorns", and "both music fans". The cluster sets of the first relationship layer include a first cluster set 601 and a second cluster set 602. For example, the first cluster set 601 is the cluster set of "music fans", and the second cluster set 602 is the cluster set of "game C". The first cluster set 601 and the second cluster set 602 belong to different levels. In response to an interactive operation on the second cluster set 602, such as scaling the cluster set of "game C", ... Figure 10As shown in part (b) of the diagram, the first account enters the second relationship circle. In the display interface 700 of the second relationship circle, the third cluster set of the second relationship circle is displayed, namely "This Week's Ranked Match", "Same MVP", "Same Server", "Playing Support", and "Reaching Star Rank This Week". Among them, the five cluster sets "This Week's Ranked Match", "Same MVP", "Same Server", "Playing Support", and "Reaching Star Rank This Week" are subsets of the cluster set "Game C".
[0179] In this embodiment, a trigger operation for the automatic clustering function is provided, which displays at least two cluster sets belonging to different levels for potential friends. This method is suitable for scenarios where the number of potential friends in the initial screening is relatively small. The cluster sets at different levels are displayed on one interface, which can reduce the user's interaction steps.
[0180] The clustering function for potential friends is a custom clustering function.
[0181] In some embodiments, the custom clustering function is a recommendation system that clusters potential friends based on custom filtering conditions.
[0182] Figure 11 This is a flowchart of a friend recommendation method provided in an exemplary embodiment of this application. Step 230 above can be replaced by step 232.
[0183] Step 232: In response to the triggered operation for the custom clustering function, display the cluster set corresponding to the custom filter conditions.
[0184] Custom filter criteria refer to filter conditions set by users based on their own needs or preferences. Optionally, custom filter criteria are also called custom clustering criteria.
[0185] In some embodiments, in response to a trigger operation for a custom clustering function, a cluster set corresponding to the custom filter conditions is displayed. This cluster set is obtained by clustering based on the custom filter conditions of the first account. Optionally, the cluster set corresponding to the custom filter conditions includes at least one potential friend.
[0186] In some embodiments, if the cluster set displayed on the current relationship circle display interface does not meet the needs of the first account, the user controlling the first account clusters from potential friends according to custom filtering conditions to obtain the cluster set corresponding to the custom filtering conditions, which is then used as a new cluster set for the current relationship circle.
[0187] For example, the clusters in the current relationship circle are "both in XX notification group", "both in City A", "both playing games", "both Capricorns", and "both music lovers". The user controlling the first account prefers sports. If the clusters in the current relationship circle do not meet the user's preference, the user controlling the first account can set custom filtering conditions, such as setting custom filtering conditions related to sports. In response to the trigger operation of the custom clustering function, the clusters corresponding to the custom filtering conditions related to sports are displayed. The potential friends in this cluster are friends who prefer sports.
[0188] like Figure 12 As shown, step 232 above can be replaced by steps 232a and 232b.
[0189] Step 232a: In response to a trigger operation for the custom clustering function, display the input window for the custom filter criteria;
[0190] In some embodiments, a custom clustering control is displayed to trigger a custom clustering function. In response to a triggering operation on the custom clustering control, an input window is displayed for a first account to input custom filter criteria. In response to inputting custom filter criteria in the input window, the resulting cluster set from the custom filter criteria clustering is displayed.
[0191] For example, in conjunction with reference Figure 13 On the display interface 800 of the first relationship layer, the cluster sets of the first relationship layer are displayed as "both in XX notification group", "both in City A", "both playing games", "both being Capricorns", and "both liking music". For example... Figure 13 As shown in part (a) of the figure, a custom clustering control 801 is displayed on the display interface 800. The custom clustering control 801 is used to trigger the custom clustering function. Optionally, in response to a triggering operation on the custom clustering control 801, such as Figure 13 As shown in part (b) of the figure, the input window 802 displays the custom filter conditions. The input window 802 is used by the first account to input custom filter conditions.
[0192] In some embodiments, custom filter criteria include, but are not limited to, at least one of the following:
[0193] • Custom filter criteria based on keywords;
[0194] • Custom filter criteria based on numerical values;
[0195] • Symbol-based custom filtering criteria;
[0196] • Custom filter criteria based on emoji elements.
[0197] For example, custom filtering conditions include keyword-based custom filtering conditions. Optionally, the recommendation system filters potential friends related to the keywords entered by the first account from all potential friends, and clusters the filtered related potential friends to obtain the cluster set corresponding to the keyword as the custom filtering condition. The keyword can be in the form of a word or a phrase. For example, a user can use "technology" as a keyword, filter potential friends related to "technology" from all potential friends, and then cluster them to obtain the cluster set corresponding to "technology".
[0198] For example, custom filtering conditions include numerical custom filtering conditions. Optionally, the recommendation system filters potential friends related to the numerical value input by the first account from all potential friends, and clusters the filtered related potential friends to obtain the cluster set corresponding to the numerical value as the custom filtering condition. Optionally, a preset tag type corresponding to the numerical value is set, and the system quickly filters relevant potential friends under the tag type corresponding to the numerical value from all potential friends based on the numerical value as the custom filtering condition, and clusters them to obtain the cluster set corresponding to that tag type. For example, numerical value 1 represents the sports-related cluster set, numerical value 2 represents the game-related cluster set, numerical value 3 represents the food-related cluster set, and numerical value 4 represents the movie-related cluster set. For example, "1" can be used as a filtering condition to filter potential friends related to "sports" from all potential friends and then cluster them to obtain the cluster set corresponding to "sports".
[0199] For example, custom filtering conditions include symbol-based custom filtering conditions. Optionally, the recommendation system filters potential friends related to the symbol input by the first account from all potential friends, and clusters the filtered related potential friends to obtain the cluster set corresponding to the symbol as the custom filtering condition. The symbol can be a special character, tag, marker, etc. For example, symbols such as "#", "&", "¥", "*", "@", etc. (This is only an example; in practice, any symbol that has a similar effect can be used as a symbol for custom filtering conditions, and this application does not limit this). Optionally, a preset tag type corresponding to the symbol is set, and based on the symbol as a custom filtering condition, relevant potential friends under the tag type corresponding to the symbol are quickly filtered from all potential friends, and clustered to obtain the cluster set corresponding to that tag type. The implementation method is the same as the above-mentioned numerical-based custom filtering condition type. For example, "#" can be used as a filtering condition to filter potential friends who like trending topics from all potential friends, and after clustering, the cluster set corresponding to "trending topics" is obtained.
[0200] For example, custom filtering conditions include those based on emoji elements. Optionally, the recommendation system filters potential friends related to the emoji elements input by the first account from all potential friends, and clusters the filtered potential friends to obtain a cluster set corresponding to the emoji element as the custom filtering condition. Optionally, a preset tag type corresponding to the emoji element is set, and relevant potential friends under the tag type corresponding to the emoji element are quickly filtered from all potential friends based on the emoji element as the custom filtering condition, and clustered to obtain a cluster set corresponding to that tag type. The implementation method is the same as the above-mentioned custom filtering condition type based on numerical values. For example, using a smiley face emoji as the filtering condition, potential friends related to "food" are filtered from all potential friends and then clustered to obtain a cluster set corresponding to "food".
[0201] It should be noted that the above are merely examples illustrating custom filtering conditions. Other conditions that achieve similar effects can also be used as custom filtering conditions, and this application does not limit them.
[0202] In this embodiment, users can use keywords, numerical values, symbols, and emoticons as various methods to customize filtering conditions. The diverse filtering options allow users to customize their searches according to their specific needs, improving their experience when using social networks or other information retrieval platforms.
[0203] Step 232b: In response to an input operation for a custom filter condition, display the cluster set corresponding to the custom filter condition.
[0204] In some embodiments, in response to a trigger operation for a custom clustering function, an input window for custom filter conditions is displayed; in response to an input operation for custom filter conditions, the cluster set corresponding to the custom filter conditions is displayed. The custom filter conditions include at least one of the four types mentioned above (keywords, numerical values, symbols, and emoji elements).
[0205] For example, in conjunction with reference Figure 14 Let's take a keyword-based custom filter as an example for illustration. Figure 14 As shown in part (a) of the diagram, on the display interface 900 of the first relationship layer, an input window 901 for custom filter conditions is displayed. In response to inputting keyword 902 into the input window 901, the cluster set 904 corresponding to the custom filter conditions is displayed. For example, if keyword 902 is "two-dimensional," in response to inputting "two-dimensional," clicking the "OK" button 903 will display the following: Figure 14 As shown in part (b) of the figure, the newly added cluster set 904 corresponding to "two-dimensional" is displayed on the display interface 900 of the first relationship layer.
[0206] In this embodiment, by having a user trigger the custom clustering function, relevant potential friends corresponding to custom filtering conditions can be filtered from potential friends, and the filtered relevant potential friends can be clustered into a cluster set. The cluster set corresponding to the custom filtering conditions can more accurately match the user's needs. Through custom clustering, users can more easily find groups or individuals with similar interests, thereby enhancing social interaction and participation.
[0207] Potential friends are displayed around the cluster set in the form of a first identifier.
[0208] In some embodiments, one or more cluster sets are displayed at each level of the relationship hierarchy, each cluster set including at least one potential friend. Optionally, potential friends are displayed around the cluster sets in the form of a first identifier, which includes at least one of the following:
[0209] • Profile picture of a potential friend;
[0210] • Nicknames of potential friends;
[0211] • The virtual avatar of a potential friend;
[0212] • The score indicating the closeness of the relationship between potential friends and the primary account.
[0213] The primary identifier refers to the key identifying information used to distinguish potential friends. It helps the primary account quickly identify and understand crucial information about potential friends.
[0214] In some embodiments, the visual salience of the first identifier is positively correlated with the relationship to the first account. Optionally, visual salience includes, but is not limited to, at least one of display size, display brightness, display hue, display style, and display effect.
[0215] For example, the first identifier includes the profile picture of a potential friend, and the visual prominence of the potential friend's profile picture is positively correlated with the closeness of the relationship with the first account. For instance, the display size of the potential friend's profile picture is positively correlated with the closeness of the relationship with the first account. Optionally, the higher the closeness of the relationship between the potential friend and the first account, the larger the potential friend's profile picture is displayed; the lower the closeness of the relationship, the smaller the potential friend's profile picture is displayed.
[0216] For example, the first identifier includes the nickname of a potential friend, and the visual salience of the potential friend's nickname is positively correlated with the closeness of the relationship with the first account. For instance, the display brightness of the potential friend's nickname is positively correlated with the closeness of the relationship with the first account. Optionally, the higher the closeness of the relationship between the potential friend and the first account, the higher the display brightness of the potential friend's nickname; conversely, the lower the closeness of the relationship, the lower the display brightness of the potential friend's nickname.
[0217] For example, the first identifier includes a virtual avatar of a potential friend, and the visual salience of the virtual avatar is positively correlated with the closeness of the relationship with the first account. Taking the positive correlation between the display effect of the virtual avatar of a potential friend and the closeness of the relationship with the first account as an example, optionally, the higher the closeness of the relationship between the potential friend and the first account, the richer the animation display effect of the virtual avatar; the lower the closeness of the relationship, the more monotonous the animation display effect of the virtual avatar.
[0218] For example, if potential friend A has a close relationship with the first account, potential friend A's virtual avatar can be displayed as a dynamic avatar. If potential friend B has a low close relationship with the first account, potential friend B's virtual avatar can be displayed as a static avatar. The display effect of potential friend A is more significant than that of potential friend B.
[0219] For example, the first identifier includes a relationship closeness score between a potential friend and a first account. The visual salience of this score is positively correlated with the relationship closeness of the first account. For instance, the display hue of the relationship closeness score is positively correlated with the relationship closeness of the first account. Optionally, the higher the relationship closeness between a potential friend and a first account, the brighter the display hue of the score; conversely, the lower the relationship closeness, the darker the display hue.
[0220] For example, potential friend C has a relationship closeness score of 80 with the first account, which can be displayed in red. Potential friend D has a relationship closeness score of 50 with the first account, which can be displayed in gray. Potential friend C's display color is more prominent than that of potential friend D.
[0221] In some embodiments, potential friends are dynamically displayed around a cluster set in the form of a first identifier. Optionally, potential friends are dynamically displayed around the cluster set in a preset rotation direction in the form of a first identifier. For example, potential friends are dynamically displayed around the cluster set in a clockwise direction in the form of a first identifier, or potential friends are dynamically displayed around the cluster set in a counterclockwise direction in the form of a first identifier.
[0222] For example, in conjunction with reference Figure 15 Taking the example of a potential friend's avatar being the first identifier, the avatars of potential friends are dynamically displayed around the cluster set according to a preset rotation direction. For example... Figure 15 As shown in part (a) of the diagram, cluster set 1001 is displayed on the display interface 1000 of the first relationship layer. Cluster set 1001 is a cluster set obtained by clustering potential friends of the "Fan Movement". Cluster set 1001 includes 5 potential friends, namely potential friend A, potential friend B, potential friend C, potential friend D and potential friend E. The avatars of the 5 potential friends are dynamically displayed around cluster set 1001 in a clockwise direction. For example, at time i, potential friend A is displayed at the first perimeter position of cluster set 1001. Potential friend A is dynamically displayed around cluster set 1001 in a clockwise direction. At time i+1, as shown... Figure 15 As shown in part (b) of the figure, potential friend A is displayed in the second weekside position of cluster set 1001, and potential friends B, C, D and E are displayed in a similar manner to potential friend A.
[0223] In this embodiment, potential friends are displayed around clusters in the form of a first identifier, providing an intuitive and quick way to identify and understand key information about potential friends. Through this first identifier, users can quickly determine whether potential friends match their interests and social needs, thus making a decision on whether to add them as friends. This intuitive information display helps improve the user experience and interaction efficiency of social networks.
[0224] How to add potential friends
[0225] In some embodiments, each cluster includes at least one potential friend, which is displayed around the cluster in the form of a first identifier. The clustering elements of the cluster include a spinning wheel; in response to interaction with the spinning wheel, profile information of the potential friend is displayed, allowing the user to add potential friends as needed.
[0226] In some embodiments, each cluster set includes clustering elements belonging to that cluster set. Optionally, clustering elements include, but are not limited to, at least one of the following: the name of the cluster set, the display style of the cluster set, the activity level of the cluster set, and the label of the cluster set.
[0227] In some embodiments, the clustering elements of a cluster set also include a rotating wheel. The rotating wheel is a display style for the cluster set; in other words, the display styles of the cluster set include the display style of the rotating wheel. The rotating wheel is a user interface control that allows users to browse and switch between different options or content by rotating it.
[0228] It should be noted that the aforementioned potential friends are displayed around the cluster set in the form of a first identifier, which can also be regarded as potential friends being displayed around the cluster set in the form of a rotating wheel in the form of a first identifier.
[0229] In some embodiments, adding potential friends includes two methods: selecting potential friends for selection and adding potential friends in bulk. Selecting potential friends for selection refers to adding the selected potential friends, while adding potential friends in bulk refers to selecting all potential friends displayed around the cluster set with a single click.
[0230] The following sections will introduce these two methods for adding potential friends.
[0231] • For selecting to add friends
[0232] Figure 16 This is a flowchart of a friend recommendation method provided in an exemplary embodiment of this application. The method includes steps 310 and 320:
[0233] Step 310: In response to the rotation of the spinning wheel, switch the display of different potential friend profile information and display the first add control;
[0234] The first add control is used to add and rotate the selected potential friend. Profile card information refers to displaying information cards about potential friends. Optionally, the profile card information includes the potential friend's social dynamics regarding the cluster set.
[0235] In some embodiments, the profile card information is an interactive control that, in response to a trigger operation on the profile card information, displays the public profile information of potential friends. For example, it displays the potential friends' basic information (such as avatar, nickname / username, gender, age, location, and personal signature), social dynamic information (such as recently posted posts, shared photos, comments, etc.), interest tag information (one or more tags, such as "sports enthusiast", "travel expert", "gaming" tags, etc.) or other information.
[0236] In some embodiments, in response to a trigger operation on the spinning wheel, the profile card information of the first potential friend and the first add control are displayed by default. The first potential friend is the potential friend with the highest relationship score with the first account among the potential friends displayed around the cluster set.
[0237] For example, in conjunction with reference Figure 17 The second relationship layer display interface 1100 includes cluster set 1101, which is the cluster set corresponding to "same region server". For example... Figure 17 As shown in part (a) of the figure, the number of potential friends in cluster set 1101 is 18, namely potential friend A, potential friend B, potential friend C, potential friend D, potential friend E... Cluster set 1101 includes a rotating wheel 1101a, around which the avatars of potential friends are displayed. The display size of the avatars of different potential friends is different, and the size of the avatars of potential friends is positively correlated with the closeness of the relationship with the first account. For example, potential friend A has the highest closeness of the relationship with the first account, and the avatar of potential friend A is displayed as the largest compared to the avatars of other potential friends. Optionally, in response to a click operation on the rotating wheel 1101a, the profile card information 1102 of the first potential friend and the first add control 1103 are displayed. Figure 17 As shown in part (b) of the figure, the profile card information 1102 of potential friend A is displayed and the first add control 1103 is displayed. The profile card information 1102 includes the social dynamic information of potential friend A about "same server". The first account can add potential friend A through the first add control 1103.
[0238] In some embodiments, in response to a rotation operation on the rotating wheel, the display of profile card information corresponding to different potential friends is switched, and a first add control is displayed.
[0239] For example, in conjunction with reference Figure 18 The second relationship layer display interface 1200 includes cluster sets corresponding to "same region / server". For example... Figure 18 As shown in part (a) of the diagram, the number of potential friends in the cluster corresponding to "same server / region" is 18, namely potential friend A, potential friend B, potential friend C, potential friend D, potential friend E... Optionally, in response to the rotation operation of the rotating wheel 1201, the information card information corresponding to different potential friends is switched, and the first add control is displayed. Figure 18As shown in part (a) of the figure, the profile information 1202 of potential friend A is displayed, as well as the first add control 1203. The first account selects potential friend A, and the first add control 1203 is displayed as "Add Friend (1)". The first account can add potential friend A through the first add control 1203. In response to a leftward rotation operation of the rotating wheel 1201, as Figure 18 As shown in part (b) of the figure, the information card information 1204 of potential friend D is displayed. The first account selects potential friend A and potential friend D. The first add control 1203 is displayed as "Add Friend (2)". The first account can add potential friend A and potential friend D through the first add control 1203.
[0240] Step 320: In response to the triggering operation for the first added control, display the social business card of the first account and send the social business card to the selected potential friends.
[0241] The first add control is used to add a selected potential friend. Optionally, the display interface includes a send control, which, in response to a triggering operation on the send control, sends the social media profile of the first account to the selected potential friend.
[0242] In some embodiments, the content of a social business card includes at least one of the following:
[0243] • The profile picture of the first account;
[0244] • The nickname of the first account;
[0245] • The interests of the first account;
[0246] • Background of the first account;
[0247] • Tag information for the first account.
[0248] In some embodiments, the display style of a social card includes at least one of the following: image assets; video assets; and a collection of multiple social assets. Image assets refer to image content added to the social card of the first account. Video assets refer to video content added to the social card of the first account. A collection of multiple social assets refers to a collection of content added to the social card of the first account.
[0249] In some embodiments, the social business card is a personal business card generated based on artificial intelligence. Optionally, in response to a change operation on the social business card, an updated social business card is displayed. A change control is displayed on the display interface, and in response to a trigger operation on the change control, an updated social business card is generated based on artificial intelligence.
[0250] In this embodiment, the social business card changing and display function provides users with a flexible and personalized way to manage their social image, while also improving the interactivity and usability of the social network.
[0251] For example, such as Figure 19 As shown in part (a) of the figure, the first account displays potential friend A and potential friend D selected by the first account and the first add control 1301 on the display interface 1300. The first add control 1301 is displayed as "Add Friend (2)". The first account can add potential friend A and potential friend D through the first add control 1301. Optionally, in response to a trigger operation on the first add control 1301, such as Figure 19 As shown in part (b) of the figure, the social card 1302 of the first account, the change control 1303, and the send control 1304 are displayed. The social card 1302 is displayed as an image asset. In response to the trigger operation of the change control 1303, the social card of the first account can be updated. In response to the trigger operation of the send control 1304, the social card of the first account can be sent to selected potential friends, such as sending the social card to potential friend A and potential friend D.
[0252] In this embodiment, the option to add potential friends allows users to select potential friends more effectively and engage in personalized social interactions. Users can choose specific potential friends to interact with based on their needs, improving the efficiency and quality of their social interactions.
[0253] • For adding friends in bulk
[0254] Figure 20 This is a flowchart of a friend recommendation method provided in an exemplary embodiment of this application. The method includes steps 410 and 420:
[0255] Step 410: Display the second added control;
[0256] The second add control is used to add potential friends in batches around the cluster set.
[0257] Step 420: In response to the triggered operation for the second added control, display the social business card of the first account and send the social business card in bulk to potential friends.
[0258] For an introduction to social business cards, please refer to step 320 above; it will not be repeated here.
[0259] For example, such as Figure 21As shown in part (a) of the figure, the cluster set included on the display interface 1400 is the cluster set corresponding to "same region / server". The number of potential friends in the cluster set corresponding to "same region / server" is 18, namely potential friend A, potential friend B, potential friend C, potential friend D, potential friend E... Optionally, the display interface 1400 displays a second add control 1401, which is used to add all potential friends (18) displayed around the cluster set corresponding to "same region / server" in batches. For example, the second add control 1401 is displayed as "Add All with One Click". Optionally, in response to a trigger operation on the second add control 1401, such as... Figure 21 As shown in part (b) of the figure, the social card 1402 of the first account, the change control 1403, and the send control 1404 are displayed. The social card 1402 is displayed as an image asset. In response to the trigger operation of the change control 1403, the social card of the first account can be updated. In response to the trigger operation of the send control 1404, the social card of the first account can be sent to a batch of selected potential friends, such as sending the social card to all potential friends in the cluster set corresponding to "same region and server".
[0260] In this embodiment, the method of adding potential friends in batches is suitable for expanding social networks. Users can send social contact cards to multiple potential friends at once, quickly increasing the number of connections and saving time. It is suitable for use when rapidly expanding social circles.
[0261] The following section will first introduce how to add friends.
[0262] Figure 22 This is a flowchart illustrating a friend-adding method provided in an exemplary embodiment of this application. The method is executed by a computer device, which may be... Figure 1 The first terminal 120 is shown. The first terminal 120 has a first client installed and running, and the first client is logged into a first account. This method can be specifically executed by the first client logged into the first account. The method includes at least a portion of steps 510, 520, and 530:
[0263] Step 510: Display the clustered sets for potential friends;
[0264] The first account is the account logged into the first client. The first account can also be called a user account. The first account can be understood as the user using the first account.
[0265] Optionally, potential friends refer to friends who have a potential social relationship with the first account (i.e., the user using the first account). Here, a potential social relationship refers to a social relationship that may exist between users or has not yet been formally established. Potential social relationships are not directly existing social relationships, but rather inferred through analysis of user data as a potential or possibility for users to establish a connection. Optionally, potential social relationships can be manifested in ways including, but not limited to, at least one of the following: sharing common interests and hobbies, mutual friends, similar social activities, nearby geographical locations, and similar behavioral patterns.
[0266] For a description of potential friends and potential social relationships, please refer to step 210 above; it will not be repeated here.
[0267] In some embodiments, a cluster set of potential friends is displayed. Optionally, the cluster set is obtained based on a clustering function. The clustering function refers to the function of dividing potential friends into multiple groups (or clusters) based on similarity or common characteristics. Optionally, potential friends belonging to the same group have higher similarity, while potential friends belonging to different groups have lower similarity.
[0268] In some embodiments, the triggering factors for clustering functionality include, but are not limited to, at least one of event factors, location factors, time factors, and behavioral factors.
[0269] In some embodiments, the clustering function may be triggered in ways including, but not limited to, at least one of control-based triggering, sensor-based triggering, and touchscreen-based triggering.
[0270] Optionally, the clustering function includes automatic clustering or custom clustering. That is, the cluster set is a cluster set obtained based on the automatic clustering function, or the cluster set is a cluster set obtained based on the custom clustering function.
[0271] In some embodiments, the cluster set is a cluster set obtained based on the automatic clustering function. The cluster set can be a set belonging to the same level or different levels.
[0272] In this context, "same level" refers to the same dimension or the same granularity. "Different levels" refers to different dimensions or different granularities. "Relationship circles" refers to the categorization of potential friends into different levels based on the closeness of the relationship between the potential friend and the primary account in a social network.
[0273] Optionally, potential friends with whom the first account has a potential social relationship can form different levels of relationship circles. Each level of relationship circle includes multiple cluster sets, and each cluster set represents a label. Optionally, different cluster sets have different labels. Each cluster set includes at least one potential friend. The cluster set can also be called a relationship set, cluster circle, cluster group, or cluster. This application does not limit this terminology.
[0274] Optionally, cluster sets at the same level (same granularity) can be displayed in the relationship hierarchy; or, cluster sets at different levels (different granularities) can be displayed in the relationship hierarchy.
[0275] For example, social networks categorize a user's potential friends into two levels of relationship circles based on the closeness of the relationship. The granularity of these two levels increases progressively: Level 1 and Level 2 relationship circles. For instance, Level 1 relationship circles are the broadest category, encompassing the primary interests of the first account. The clusters within Level 1 relationship circles include broad categories such as games, music, food, travel, sports, movies, and anime / manga. Games, music, food, travel, sports, movies, and anime / manga belong to the same level of clusters. Optionally, Level 2 relationship circles can be further subdivided based on Level 1. Taking games as an example for Level 1 relationship circles, the clusters within Level 2 relationship circles might include specific games such as Game A, Game B, Game C, Game D, and Game E. Games A, B, C, D, and E belong to the same level of clusters.
[0276] For example, potential friends with a potential social relationship with the first account are divided into first-level relationship layers according to the closeness of the relationship. Optionally, different levels of cluster sets are displayed on the first-level relationship layers. For example, the cluster sets on the first-level relationship layers include broad categories such as game A and music. Optionally, games and music belong to the same level, and game A is a subset of games; the cluster sets of music and game A are displayed simultaneously on the first-level relationship layers. Here, the cluster sets of game A and music belong to different levels.
[0277] In some embodiments, the cluster set is a cluster set obtained based on a custom clustering function. The cluster set corresponds to the custom filtering conditions. Optionally, in response to a triggering operation for the custom clustering function, the cluster set corresponding to the custom filtering conditions is displayed.
[0278] Custom filter criteria refer to filter conditions set by users based on their own needs or preferences. Optionally, custom filter criteria are also called custom clustering criteria. Custom filter criteria include, but are not limited to, at least one of the following:
[0279] • Custom filter criteria based on keywords;
[0280] • Custom filter criteria based on numerical values;
[0281] • Symbol-based custom filtering criteria;
[0282] • Custom filter criteria based on emoji elements.
[0283] Optionally, if the cluster set displayed on the current relationship circle display interface does not meet the needs of the first account, the user controlling the first account can cluster from potential friends according to the custom filter conditions to obtain the cluster set corresponding to the custom filter conditions, and use it as the new cluster set for the current relationship circle.
[0284] For example, the clusters in the current relationship circle are "both in XX notification group", "both in City A", "both playing games", "both Capricorns", and "both music lovers". The user controlling the first account prefers sports. If the clusters in the current relationship circle do not meet the user's preference, the user controlling the first account can set custom filtering conditions, such as setting custom filtering conditions related to sports. In response to the trigger operation of the custom clustering function, the clusters corresponding to the custom filtering conditions related to sports are displayed. The potential friends in this cluster are friends who prefer sports.
[0285] Step 520: Display relevant information about potential friends belonging to the cluster around the cluster set;
[0286] In some embodiments, relevant information about potential friends belonging to each cluster is displayed around at least one cluster set. Optionally, the relevant information about potential friends includes, but is not limited to, at least one of the following: the number of potential friends in each cluster set, the profile picture of the potential friend, the nickname of the potential friend, the activity level of the potential friend, and the relationship identifier between the potential friend and the first account. The above are merely illustrative examples and are not intended to limit the scope of this application.
[0287] Step 530: In response to the interactive action on the cluster aggregation, add potential friends in the cluster set.
[0288] In some embodiments, at least one cluster set targeting potential friends is displayed. Each of the at least one cluster set includes cluster elements belonging to that cluster set. Optionally, cluster elements include, but are not limited to, at least one of the following: cluster set name, cluster set display style, cluster set activity level, and cluster set tags. For example, cluster elements may include cluster set names reflecting the theme of the cluster set, such as "local gamers," "fitness interest groups," or "food lovers." Another example is cluster set tags reflecting common characteristics of the cluster set, such as "games," "music," or "travel." These are merely illustrative examples and are not intended to limit the scope of the application.
[0289] In some embodiments, potential friends in a cluster set are added in response to an interactive operation on a cluster aggregation. The interactive operation on the cluster set includes interactive operations on the cluster elements of the cluster set. Optionally, potential friends in a cluster set are added in response to an interactive operation on a cluster element.
[0290] In summary, the method provided in this application clusters potential friends with potential social relationships to the first account. The clustering function divides multiple potential friends into multiple cluster sets, each representing a label. This clustering display method categorizes potential friends according to different types, allowing users to intuitively see the grouping of potential friends. By displaying relevant information about the potential friends belonging to each cluster set around it, such as the number of potential friends in each cluster set, users can quickly understand the overview information of each cluster set and identify groups or individuals of potential friends they are interested in. Users can add potential friends from multiple cluster sets according to their interests and needs. This method of adding potential friends based on cluster sets improves social efficiency.
[0291] In some embodiments, each cluster set includes clustering elements belonging to that cluster set. Optionally, clustering elements include, but are not limited to, at least one of the following: the name of the cluster set, the display style of the cluster set, the activity level of the cluster set, and the label of the cluster set.
[0292] In some embodiments, the clustering elements of a cluster set also include a rotating wheel. The rotating wheel is a display style for the cluster set; in other words, the display styles of the cluster set include the display style of the rotating wheel. The rotating wheel is a user interface control that allows users to browse and switch between different options or content by rotating it.
[0293] Figure 23This is a flowchart of a friend-adding method provided in an exemplary embodiment of this application. Step 530 above can be replaced by steps 531 and 532.
[0294] Step 531: In response to the trigger operation on the spinning wheel, display the profile card information of potential friends under the cluster set and add controls;
[0295] In some embodiments, in response to a trigger operation on a spinning wheel, profile card information for potential friends in a cluster set is displayed, and an add control is provided.
[0296] The profile card information refers to the information card displaying potential friends. Optionally, the profile card information includes the potential friends' social dynamics information about the cluster set. In some embodiments, the profile card information is an interactive control that, in response to a trigger operation on the profile card information, displays the potential friends' public profile information, such as basic information (e.g., avatar, nickname / username, gender, age, location, and personal signature), social dynamics information (e.g., recently posted posts, shared photos, comments, etc.), interest tag information (one or more tags, such as "sports enthusiast," "travel expert," "gaming," etc.) or other information.
[0297] Optionally, the added control can be a first added control or a second added control. The first added control is used to add potential friends that are rotated, while the second added control is used to add potential friends in batches around a cluster set.
[0298] Step 532: In response to the trigger action for adding the control, add potential friends.
[0299] In some embodiments, in response to a triggering action on the added control, the social business card of the first account is displayed, and the social business card is sent to potential friends.
[0300] Optionally, the add control is a first add control. In response to a trigger operation on the first add control, the social card of the first account is displayed, and the social card is sent to selected potential friends. The first add control is used to add the selected potential friend. Optionally, in response to a potential friend's receiving operation, the selected potential friend is added.
[0301] Optionally, the add control is a second add control. In response to a trigger operation on the second add control, the social contact card of the first account is displayed, and the social contact cards are sent in bulk to potential friends. The second add control is used to add potential friends displayed around cluster sets in bulk. Optionally, in response to a potential friend receiving operation, all potential friends are added. Here, for each cluster set, "all potential friends" refers to all potential friends displayed around that cluster set.
[0302] In some embodiments, the content of a social business card includes at least one of the following:
[0303] • The profile picture of the first account;
[0304] • The nickname of the first account;
[0305] • The interests of the first account;
[0306] • Background of the first account;
[0307] • Tag information for the first account.
[0308] In some embodiments, the display style of a social card includes at least one of the following: image assets; video assets; and a collection of multiple social assets. Image assets refer to image content added to the social card of the first account. Video assets refer to video content added to the social card of the first account. A collection of multiple social assets refers to a collection of content added to the social card of the first account.
[0309] In some embodiments, the social business card is a personal business card generated based on artificial intelligence. Optionally, in response to a change operation on the social business card, an updated social business card is displayed. A change control is displayed on the display interface, and in response to a trigger operation on the change control, an updated social business card is generated based on artificial intelligence.
[0310] In some embodiments, when sending social business cards to potential friends in batches for the same cluster set, the same social business card may be sent to potential friends, or different social business cards may be sent to potential friends.
[0311] Optionally, the same social calling card can be sent to potential friends within the same cluster. For example, for a travel-related cluster, the social calling card sent to potential friends within that cluster could highlight the user's relevant travel experiences and photos. Similarly, for a gaming-related cluster, the social calling card sent to potential friends within that cluster could highlight the game stats of the primary account.
[0312] Optionally, different social calling cards can be sent to potential friends within the same cluster. Alternatively, different social calling cards can be sent based on the focus of each potential friend within the cluster. For example, consider a game-related cluster. In the cluster "Game A," there are three potential friends: Potential Friend A focuses on hero rank, so the social calling card sent to Potential Friend A in this cluster can highlight the user's hero rank; Potential Friend B focuses on game win rate, so the social calling card sent to Potential Friend B in this cluster can highlight the user's recent game win rate; Potential Friend C focuses on server ranking, so the social calling card sent to Potential Friend C in this cluster can highlight the user's server ranking. The above is merely an illustrative example, and this application does not limit its scope.
[0313] In this embodiment, the first account (i.e., the user controlling the first account) can browse potential friends through an intuitive interactive method such as spinning a wheel. By providing two types of add controls (a first add control and a second add control), users can choose to add friends individually or in batches as needed, which improves the efficiency of friend management and allows users to choose to add friends according to their personal interests and social needs, making social interaction more personalized.
[0314] The relationship layers in this application can be relationship layers in any domain (or any scenario), and the cluster sets in the relationship layers can also be cluster sets in any domain (or any scenario) to divide relationship levels. For example, the cluster sets are cluster sets in the sports domain, the gaming domain, the food domain, the music domain, the film domain, the technology domain, the topic domain, etc. The above are just illustrative examples, and this application does not limit them.
[0315] Next, taking cluster sets in the game domain as an example, we will explain in detail the backend technical implementation of the friend recommendation method and friend addition method provided in this application.
[0316] Technical Implementation
[0317] 1. Data Model (Data Structure) and Tag System
[0318] In some embodiments, in response to a triggered operation of the clustering function for potential friends, the server searches for potential friends in the database and returns potential friends under different cluster sets to the client.
[0319] Optionally, the server's database stores various types of data tables, primarily including: a User table, a Friendship table, a Relation table, and a Tag table. The structures of each data table are shown below:
[0320] 1) The user table stores basic information about all users (the user controlling the primary account). Key fields include:
[0321] user_id: Unique identifier for the user
[0322] username: Username
[0323] • avatar: User profile picture
[0324] • account: User account
[0325] • create_time: Creation time
[0326] • update_time: Update time
[0327] Optionally, the server queries the user table in the database for basic information of the first account. The user table includes at least one of the following: the identifier of the first account, the username of the first account, and the user avatar of the first account.
[0328] 2) The friend relationship table is used to store potential friends with whom the user has a potential social relationship. The main fields of the friend relationship table include:
[0329] ·id: A unique identifier for the friend relationship table
[0330] • from_uid: The user_id of the associated user
[0331] • to_uid: The user_id of the associated user
[0332] •releation_id: id from the relationship table
[0333] •releation_strength: Relationship concentration
[0334] • Releation_Activity: Description of the relationship activity
[0335] In this context, "associated party" can be considered the user controlling the primary account, and "associated party" can be considered potential friends. "Association relationship" refers to the connection between the user controlling the primary account and potential friends; that is, it can be considered the potential social relationship between the primary account and potential friends. "Relationship concentration" refers to the closeness of the relationship between potential friends and the primary account. "Relationship activity description" can be considered the social interactions between potential friends and the primary account.
[0336] Optionally, the server searches for potential friends with potential social relationships with the first account in the friend relationship table of the database. The friend relationship table includes at least one of the following: a friend relationship table identifier, a first account identifier, potential friend identifiers, an association relationship table identifier, the closeness of the relationship between the first account and potential friends, and the intersection of activities between the first account and potential friends.
[0337] 3) The relationship table stores the relationships between the user controlling the primary account and potential friends. The main fields of the relationship table include:
[0338] ·id: A unique identifier for the association table
[0339] ·name: Relationship name
[0340] • level: This relationship is at the hierarchical level of the tag system's tree structure.
[0341] ·up_id: The ID of the parent relation of this relation.
[0342] Optionally, the server searches for potential friends under different levels of clusters in the database's relationship table. Optionally, the relationship table includes clusters at different levels, and the hierarchical structure of the label system in the relationship table represents the different levels of clusters.
[0343] In some embodiments, the relationship table is used to maintain the relationships and hierarchical structure between the first account and potential friends, and can be regarded as a tagging system. The hierarchical structure in the tagging system can be considered as a set of clusters at different levels, that is, a set of clusters at different levels formed between the first account and potential friends.
[0344] Optionally, the relationship table can be linked to the relationship_id field of the friend relationship table as a foreign key. The relationship_id field acts as a foreign key connecting the relationship table and the friend relationship table, establishing a relationship between the two tables. The design of the relationship table itself needs to consider the functional requirements of the tag system and should be maintained as a tree structure.
[0345] For example, let's take a relationship table that includes a three-level tag system (which can also be viewed as three levels of cluster sets) as an example. For instance, for a combination of cluster sets: the first-level relationship set "Game" + the second-level relationship set "Game A" + the third-level relationship set "Same Server", the three records presented in the "Relationship Table" are as follows:
[0346] Record 1:
[0347] id:1
[0348] Name: Game
[0349] level: 0
[0350] up_id: 0
[0351] Record 2:
[0352] id:2
[0353] Name: Game A
[0354] level: 1
[0355] up_id: 1
[0356] Record 3:
[0357] id:3
[0358] name: server in the same region
[0359] level: 2
[0360] up_id: 2
[0361] For example, if the first account's ID 888 and the potential friend's ID 999 are related in the same server and the relationship density is 80, the record in the friend relationship table would be as follows:
[0362] id:1
[0363] from_uid: 888
[0364] to_uid:999
[0365] releation_id: 3
[0366] releation_strength: 80
[0367] 4) The tag table is used to represent the hierarchy of clusters between users of the first account and potential friends. The main fields of the tag table include:
[0368] ·id: A unique identifier for the tag table
[0369] • name: Tag name
[0370] • level: tag hierarchy
[0371] ·up_id: ID of the parent tag
[0372] Alternatively, the association table can be viewed as a specific labeling system.
[0373] refer to Figure 24 The user table is associated with the friend relationship table, the association table, and the tag table. The user table stores basic information about all users (the user controlling the first account). The friend relationship table stores potential friends with whom users have potential social relationships. The association table stores the relationships between the user controlling the first account and potential friends. The tag table represents the hierarchy of clusters between users of the first account and potential friends. These data tables are stored in a database, and their design and relationships provide backend support for the various functions of the friend recommendation and friend addition methods in this embodiment.
[0374] 2. Component implementation for cluster sets at different levels
[0375] 2.1 The components corresponding to the cluster sets are implemented on the server side.
[0376] Data initialization:
[0377] 1) Clustering (Standard Case): This is done by product operations. As described in the methodology, a new relationship hierarchy is typically defined and divided into different levels (e.g., three levels: Level 1, Level 2, and Level 3). Each level of the relationship hierarchy includes one or more clusters; that is, each level of the relationship hierarchy includes one or more cluster circles. Optionally, the relationships involved in this cluster are entered into the relationship table.
[0378] 2) Clustering (custom labels): Users input custom filter conditions. First, the system needs to check if the clustering already exists in the relationship table. If it does, it is used directly; otherwise, a new relationship field is entered.
[0379] 3) Relationship Establishment: After the clustering sets are divided, each business side needs to write its business logic to traverse and calculate the relationships between all user groups according to the circle rules. This logic involves a full traversal, which is relatively heavy and time-consuming. Therefore, it needs to be written as an offline scheduled task to run, and the results will be written into the friend relationship table.
[0380] Component services corresponding to clustered collections:
[0381] First, an HTTP service (query_relation) is provided for the front-end components to call.
[0382] Request parameters:
[0383] • id: Master ID (a unique identifier for the user specified in the query request), which corresponds to the from_uid field in the friend relationship table (the user_id of the associated user, which can be considered the first account).
[0384] ·relation_id: Relation ID. If it is 0, all first-level relations are returned.
[0385] Response body parameters:
[0386] ·data:Array: This is an array where each element is an Object, and the Object structure is as follows:
[0387] • relation_id: ID of the relation table
[0388] relation_name: Relation name
[0389] • items: This is an array containing data about all users (and all potential friends) related to the owner's ID in this relationship. <object>The structure of each element is as follows:
[0390] -user_id: User ID
[0391] -relation_strength: The relationship strength between potential friends and the primary account.
[0392] -user_avatar: User avatar
[0393] • sub_relations_id: A list of IDs of the child relations of this relationship. It can be directly queried by assigning its own ID to the up_id of the relationship table.
[0394] Data logic description:
[0395] 1) Based on the uid in the request parameter, query the friend relationship table for all relationship records where from_uid = uid and relation_id = relation_id.
[0396] 2) Extract the to_uid and corresponding relation_strength from the query results, and cluster them according to relation_id.
[0397] 3) Query the user table with the clause WHERE id = TO_uid to retrieve the user's profile picture.
[0398] 4) Query the relation table where relation_id = relation_id to find the name of the relation.
[0399] 5) Query the relationship table where up_id = relation_id to find all sub-relation IDs and their corresponding names.
[0400] 6) Assemble the data into the response body parameters as agreed upon by the interface and return it to the front end.
[0401] 2.2 The components corresponding to the cluster sets are implemented on the front end.
[0402] Data loading:
[0403] 1) First-level relationship clustering page: When entering the first-level relationship clustering page, the client initiates a network request to the query_relation service, with the request parameters being uid = the currently logged-in user ID and relation_id = 0. The client will then receive the server's response body data.
[0404] 2) Clustering page for non-first-level relationship circles: After the first-level relationship circle clustering page is rendered, data preloading of sub-relationships is performed on the sub_relations_id of the component ID corresponding to the already rendered cluster set on the screen. The query_relation service is still requested, with the request parameters being uid = the user ID of the current login state, and relation_id includes[...sub_relations_id]. This data preloading is performed to ensure smooth UI (user interface) rendering animations later.
[0405] UI implementation:
[0406] For example, this section uses cluster circles to represent the display of clustered sets, and dynamically displays icons corresponding to the avatars of potential friends around these cluster circles in a waterfall layout. The following technical points exist in the client-side components:
[0407] 1) Interface layout design
[0408] • Clustering Circles: Dynamic clustering circles are drawn using SVG or Canvas technology. Each potential friend is displayed as an icon, the size and color of which are adjusted according to the relationship concentration with the user. Note that the radius of the icon is determined by the relationship concentration. Visualization libraries such as D3.js are used to implement data-driven graphical displays.
[0409] • Waterfall Layout: Use CSS Grid or Flexbox layout to display detailed information about potential friends in a waterfall layout. Dynamically load more information about potential friends by monitoring scroll events using JavaScript, improving the user experience.
[0410] 2) Jump animation
[0411] • Cluster transition effect: Use CSS3 transition effects to achieve page fade-in and fade-out. When the first account jumps from one cluster to another sub-cluster, for example, from the "Games" cluster to the "Game A" cluster, the displayed page will gradually become transparent and then display the new content.
[0412] • Potential friend profile card transition effect: When a user clicks on a potential friend's avatar, the potential friend's profile card will enlarge and rotate, with the rotation animation achieved through the CSS Transform property.
[0413] 3) Collision detection
[0414] Collision detection mechanism: The bounding box of each icon is calculated using the Canvas API or the getBoundingClientRect method of SVG, enabling dynamic position adjustment. If multiple potential friend icons overlap, their positions are adjusted using an algorithm to avoid overlap.
[0415] • Push-out method for adjusting overlapping icons: Push overlapping icons outwards until they no longer overlap. To adjust horizontally, if A is on the left, push it to the right (boxA.left += overlapX, boxA.right += overlapX); if A is on the right, push it to the left (boxA.left -= overlapX, boxA.right -= overlapX). To adjust vertically, if A is on top, push it down (boxA.top += overlapY, boxA.bottom += overlapY); if A is on the bottom, push it up (boxA.top -= overlapY, boxA.bottom -= overlapY).
[0416] • Dynamically adjust positions: During each rendering, iterate through all potential friend icons and perform collision detection. If overlap is found, call the function encapsulated in the push-out method to adjust the position.
[0417] • Circle detection and spatial partitioning: The icons of potential friends are divided into multiple levels, and collision detection is only performed between adjacent levels; at the same time, spatial partitioning algorithms such as quadtrees are used to divide the space into multiple regions, and collision detection is only performed on objects within the same region.
[0418] 4) Rotation animation
[0419] The cluster set is used as a cluster circle for explanation.
[0420] • Clustering circle rotation: Use CSS animations or JavaScript timers to make the clustering circle rotate at a certain speed and in a preset direction, such as clockwise. Users can control it with gestures or mouse wheel, enhancing interactivity.
[0421] • Potential friend profile card rotation effect: When a user clicks on a potential friend's profile card, the card will rotate 360 degrees, achieved through CSS Animation, giving the user a stronger sense of interaction.
[0422] 5) Infinite Canvas
[0423] • Infinite Scrolling: When a user scrolls through a cluster using gestures or the mouse, the Intersection Observer API monitors the scrolling events, automatically loading information about more potential friends for a seamless experience. This data is fully loaded before the page loads, so rendering time can be very smooth.
[0424] 2.3 Implementation of interaction logic with potential friends
[0425] 1) To view the profile cards of potential friends: A click event needs to be bound to the avatar of each potential friend on the clustered collection component. After clicking, the uid of the component is passed to the server. After the server queries the corresponding user resource, the client can display the card.
[0426] 2) Batch Add Friends: The server needs to add a new interface for batch adding friends. When the client calls it, it passes an array of uids. After receiving it, the server iterates through the uids in the array and calls the service to add potential friends in turn. Each time it is called, it passes the personalized social business card template ID and information entered by the front end.
[0427] 2.4 Realizing the ability to create personalized social business cards
[0428] Optionally, the social profile of the first account consists of template information, system information, and user information. Optionally, the social profile of the first account is generated based on an artificial intelligence model.
[0429] Regarding template information: Social business cards are displayed in three styles: image assets, video assets, and multiple social asset sets. Therefore, social business card template information can include image asset displays, video displays, and multiple card displays. A classifier can be defined in advance during the training of the AI model to categorize user behavior information into these three types.
[0430] • System information: Information provided by the business side, including asset data and user data, etc.
[0431] • Regarding user information: This refers to the data actively entered by the user of the first account, which here refers to the relationship information provided by the component corresponding to the cluster set.
[0432] In designing the data model, it is necessary to consider the data storage of different templates. The field design for the personalized business card table is as follows:
[0433] ·id: The primary key of the personalized business card form.
[0434] •relation_message: User information, including relationship and activity information used by artificial intelligence models for analysis.
[0435] • card_type: Template information, including three categories: image asset display, multi-card display, and video display.
[0436] • system_message: System information, including asset data, user data, etc. Stored after JSON serialization.
[0437] In some embodiments, the swimlane diagram for sending social business cards of the first account in bulk to potential friends and quickly changing personalized business cards is shown below. The data analysis of the social business cards of the first account is based on an artificial intelligence model. Then the artificial intelligence model returns template information, and then the server assembles system information and user information.
[0438] Reference Figure 25 The process of sending social business cards of the primary account to potential friends in bulk is as follows:
[0439] Step 1: Users create or edit personalized social business cards and then send them to the client.
[0440] Optionally, users can customize their social profiles.
[0441] In some embodiments, the content of the social profile includes at least one of the following: the profile picture of the first account; the nickname of the first account; the interests of the first account; the background of the first account; and the tag information of the first account.
[0442] Step 2: The client submits its social calling card information to the server;
[0443] Optionally, in response to the first account's editing operation on the social business card, the client corresponding to the first account submits the social business card information to the server.
[0444] Step 3: The server sends the social contact information to the artificial intelligence model for analysis;
[0445] Optionally, an artificial intelligence model is deployed on the server. The artificial intelligence model analyzes the social business card of the first account and updates the social business card in response to the first account's trigger operation of changing the social business card control, including updating the content or style of the social business card.
[0446] Step 4: After analysis, the AI model returns the social contact card to the server;
[0447] Optionally, for potential friends within the same cluster, the AI model analyzes the cluster and generates business card content related to that cluster. Optionally, for potential friends within the same cluster, the AI model can also analyze each potential friend within that cluster and, based on the focus of each potential friend, generate business card content that emphasizes each potential friend.
[0448] Step 5: The server stores the social contact information in the database.
[0449] Optionally, the server stores the social contact cards generated by the AI model in a database.
[0450] Step 6: The database returns a confirmation message to the server confirming successful storage.
[0451] In response to the server's storage operation, the database returns a confirmation message to the server that the storage was successful, reminding the server that the social contact card has been successfully stored.
[0452] Step 7: The server returns the processing result to the client;
[0453] Optionally, the server returns the social business card generated by the AI model to the client for display, allowing users to view the content and style of the social business card on the client. Optionally, users can choose whether to change the displayed social business card according to their needs.
[0454] Step 8: Display a message indicating successful storage on the client.
[0455] Step 9: Users select to add potential friends in bulk;
[0456] Optionally, the user can choose to add all potential friends displayed around the cluster set in bulk.
[0457] Step 10: The client sends a request to the server to add potential friends in bulk;
[0458] Optionally, in response to the first account's triggering operation for the batch add control (i.e., the second add control mentioned above), the client sends a request to the server to add potential friends in batches.
[0459] Step 11: The server updates the request status for adding potential friends in batches based on the database;
[0460] Step 12: The database returns a confirmation message to the server confirming the successful update.
[0461] Step 13: The server will send the result back to the client;
[0462] This will then prompt you to send the social media profiles of the first account to potential friends in bulk.
[0463] In this embodiment, the clustering page for relationship circles adopts a tile-based loading mode, using paginated rendering to achieve an infinite canvas effect. The clustering page combines pre-requesting and lazy loading for dynamic on-demand loading, saving bandwidth while providing an excellent loading experience. Collision detection in the clustering page is optimized using hierarchical detection and spatial partitioning. By dividing the icons corresponding to potential friends' avatars into multiple levels, collision detection is performed only between adjacent levels. Simultaneously, spatial partitioning algorithms such as quadtrees are used to divide the space into multiple regions, performing collision detection only on objects within the same region.
[0464] Figure 26 A structural block diagram of a friend recommendation device according to an embodiment of this application is shown. This device has the functionality to implement the friend recommendation method example described above; the functionality can be implemented in hardware or by hardware executing corresponding software. This device can be the first client described above, or it can be set within the first client. Figure 26 As shown, the device may include a first display module 2610 and a first receiving module 2620.
[0465] The first display module 2610 is used to display potential friends who have potential social relationships with the first account;
[0466] The first receiving module 2620 is used to receive the trigger operation of the clustering function for the potential friends;
[0467] The first display module 2610 is configured to, in response to a trigger operation for the clustering function, display a cluster set for the potential friends, and display relevant information of the potential friends belonging to the cluster set around the cluster set.
[0468] In some embodiments, the first display module 2610 further includes a display submodule.
[0469] In an optional example, the clustering function includes an automatic clustering function; and a display submodule for displaying at least two cluster sets for the potential friends that belong to the same level or different levels in response to a trigger operation on the automatic clustering function.
[0470] In some embodiments, the display submodule further includes a display unit and a control unit.
[0471] In an optional example, a display unit is configured to display at least two cluster sets belonging to a first relationship layer for the potential friend in response to a trigger operation for the automatic clustering function, the at least two cluster sets including the first cluster set;
[0472] The display unit is configured to respond to an interactive operation on the first cluster set by displaying a second cluster set belonging to a second relationship layer, wherein the second cluster set is a subset of the first cluster set.
[0473] In an optional example, a display unit is configured to display a first cluster set and a second cluster set for the potential friends belonging to the first relationship circle in response to a trigger operation for the automatic clustering function;
[0474] A display unit is configured to display a third cluster set belonging to a second relational layer in response to an interactive operation on the second cluster set, the third cluster set being a subset of the second cluster set.
[0475] In an optional example, the first relationship circle is a relationship circle divided according to the first degree of closeness of the relationship between the potential friend and the first account, and the second relationship circle is a relationship circle divided according to the second degree of closeness of the relationship between the potential friend and the first account, wherein the granularity of the division of the second relationship circle is smaller than that of the first relationship circle.
[0476] In an optional example, the clustering function includes a custom clustering function and a display submodule for displaying the cluster set corresponding to the custom filtering conditions in response to a trigger operation on the custom clustering function.
[0477] In an optional example, a display unit is used to display an input window for the custom filtering conditions in response to a trigger operation for the custom clustering function;
[0478] The display unit is used to display the cluster set corresponding to the custom filter condition in response to the input operation for the custom filter condition.
[0479] In one optional example, the custom filter criteria include at least one of the following:
[0480] Custom filter criteria based on keywords;
[0481] Custom filter criteria based on numerical values;
[0482] Symbol-based custom filter criteria;
[0483] Custom filter criteria based on emoji elements.
[0484] In an optional example, the potential friends are displayed around the cluster set in the form of a first identifier, which includes at least one of the following:
[0485] The profile picture of the potential friend;
[0486] The nicknames of the potential friends;
[0487] The virtual avatar of the potential friend;
[0488] The score indicating the closeness of the relationship between the potential friend and the first account.
[0489] In an optional example, the display unit is configured to, in response to a rotation operation on the rotating wheel, switch between displaying profile card information corresponding to different potential friends and display a first add control for adding potential friends selected by the rotation.
[0490] The display unit is configured to, in response to a trigger operation on the first added control, display the social business card of the first account and send the social business card to selected potential friends.
[0491] In an optional example, a display unit is provided for displaying a second add control, which is used to add potential friends in bulk around the cluster set.
[0492] The display unit is configured to, in response to a trigger operation on the second added control, display the social business card of the first account and send the social business card in batches to the potential friends.
[0493] In an optional example, a display unit is provided to display the updated social business card in response to a change operation for the social business card.
[0494] Figure 27 A structural block diagram of a friend-adding device according to an embodiment of this application is shown. This device has the functionality to implement the above-described friend-adding method example; the functionality can be implemented in hardware or by hardware executing corresponding software. This device can be the server described above, or it can be located within a server. Figure 27 As shown, the device may include: a second display module 2710 and a second addition module 2720.
[0495] The second display module 2710 is used to display clustered sets of potential friends;
[0496] The second display module 2710 is used to display relevant information about potential friends belonging to the cluster around the cluster set;
[0497] The second adding module 2720 is used to add potential friends from the cluster set in response to an interactive operation on the cluster aggregation.
[0498] In some embodiments, the second adding module 2720 further includes a display submodule and an adding submodule.
[0499] In an optional example, the cluster set includes a rotating roulette wheel;
[0500] The display submodule is used to respond to the trigger operation of the rotating wheel to display the profile card information of potential friends under the cluster set and add controls;
[0501] Add a submodule to add potential friends in response to the triggering operation of the add control;
[0502] The addition control can be a first addition control or a second addition control. The first addition control is used to add potential friends that are rotated and selected, while the second addition control is used to add potential friends displayed around the cluster set in batches.
[0503] In an optional example, the cluster set is obtained based on a clustering function triggered by a clustering function, which may include an automatic clustering function or a custom clustering function.
[0504] It should be noted that the specific limitations of the one or more friend recommendation devices / friend addition devices provided above can be found in the limitations of the friend recommendation method / friend addition method above, and will not be repeated here. Each module of the above device can be implemented entirely or partially through software, hardware, or a combination thereof. Each module can be embedded in hardware or independent of the processor of the computer device, or stored in software in the memory of the computer device, so that the processor can call and execute the corresponding operations of each module.
[0505] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0506] This application also provides a computer device, which includes a processor and a memory. The memory stores at least one computer program, which is loaded and executed by the processor to implement the friend recommendation method or friend addition method provided in the above-described method embodiments.
[0507] Figure 28 This illustration shows a structural block diagram of a computer device 2800 provided in an exemplary embodiment of this application. The computer device 2800 may be a portable mobile terminal, such as a smartphone, tablet computer, MP3 player (Moving Picture Experts Group Audio Layer III), or MP4 player (Moving Picture Experts Group Audio Layer IV). The computer device 2800 may also be referred to as a user device, portable terminal, or other names. Typically, the computer device 2800 includes a processor 2801 and a memory 2802.
[0508] Processor 2801 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 2801 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), and PLA (Programmable Logic Array). Processor 2801 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 2801 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 2801 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0509] The memory 2802 may include one or more computer-readable storage media, which may be tangible and non-transitory. The memory 2802 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 2802 is used to store at least one instruction, which is executed by the processor 2801 to implement the friend recommendation method or friend addition method provided in the embodiments of this application.
[0510] In some embodiments, the computer device 2800 may optionally include a peripheral device interface 2803 and at least one peripheral device. The processor 2801, memory 2802, and peripheral device interface 2803 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 2803 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of the following: a radio frequency circuit 2804, a touch display screen 2805, a camera assembly 2806, an audio circuit 2807, and a power supply 2808.
[0511] Peripheral device interface 2803 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 2801 and memory 2802. In some embodiments, processor 2801, memory 2802 and peripheral device interface 2803 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 2801, memory 2802 and peripheral device interface 2803 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.
[0512] The radio frequency (RF) circuit 2804 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 2804 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 2804 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 2804 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The RF circuit 2804 can communicate with other terminals through at least one wireless communication protocol. This wireless communication protocol includes, but is not limited to: the World Wide Web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and / or Wi-Fi (Wireless Fidelity) networks. In some embodiments, the RF circuit 2804 may also include circuitry related to NFC (Near Field Communication), which is not limited in this application.
[0513] The touch display screen 2805 is used to display a UI (User Interface). This UI may include graphics, text, icons, videos, and any combination thereof. The touch display screen 2805 also has the ability to collect touch signals on or above its surface. These touch signals can be input as control signals to the processor 2801 for processing. The touch display screen 2805 is used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there may be one touch display screen 2805, located on the front panel of the computer device 2800; in other embodiments, there may be at least two touch display screens, respectively located on different surfaces of the computer device 2800 or in a folded design; in some embodiments, the touch display screen 2805 may be a flexible display screen, located on a curved or folded surface of the computer device 2800. Furthermore, the touch display screen 2805 may be configured as a non-rectangular, irregular shape, i.e., a non-rectangular screen. The touch display screen 2805 may be made of materials such as LCD (Liquid Crystal Display) or OLED (Organic Light-Emitting Diode).
[0514] The camera assembly 2806 is used to acquire images or videos. Optionally, the camera assembly 2806 includes a front-facing camera and a rear-facing camera. Typically, the front-facing camera is used for video calls or selfies, and the rear-facing camera is used for taking photos or videos. In some embodiments, there are at least two rear-facing cameras, which are any one of a main camera, a depth-sensing camera, and a wide-angle camera, to achieve background blurring by fusion of the main camera and the depth-sensing camera, and panoramic shooting and VR shooting by fusion of the main camera and the wide-angle camera. In some embodiments, the camera assembly 2806 may also include a flash. The flash can be a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash is a combination of a warm-light flash and a cool-light flash, which can be used for light compensation at different color temperatures.
[0515] Audio circuitry 2807 provides an audio interface between the user and computer device 2800. Audio circuitry 2807 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, converting the sound waves into electrical signals that are input to processor 2801 for processing, or input to radio frequency circuitry 2804 for voice communication. For stereo sound acquisition or noise reduction purposes, multiple microphones may be used, each located at a different location on the computer device 2800. The microphone may also be an array microphone or an omnidirectional microphone. The speaker is used to convert electrical signals from processor 2801 or radio frequency circuitry 2804 into sound waves. The speaker may be a conventional diaphragm speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can convert electrical signals not only into audible sound waves but also into inaudible sound waves for purposes such as distance measurement. In some embodiments, audio circuitry 2807 may also include a headphone jack.
[0516] Power supply 2808 is used to supply power to the various components in computer device 2800. Power supply 2808 can be AC power, DC power, a disposable battery, or a rechargeable battery. When power supply 2808 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged via a wired line, and a wireless rechargeable battery is a battery that is charged via a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0517] In some embodiments, the computer device 2800 further includes one or more sensors 2809. The one or more sensors 2809 include, but are not limited to, an accelerometer 2810, a gyroscope 2811, a pressure sensor 2812, an optical sensor 2813, and a proximity sensor 2814.
[0518] Accelerometer 2810 can detect the magnitude of acceleration on the three coordinate axes of a coordinate system established by computer device 2800. For example, accelerometer 2810 can be used to detect the components of gravitational acceleration on the three coordinate axes. Processor 2801 can control touch screen 2805 to display the user interface in landscape or portrait view based on the gravitational acceleration signal collected by accelerometer 2810. Accelerometer 2810 can also be used for games or to collect user motion data. Gyroscope 2811 can detect the orientation and rotation angle of computer device 2800. Gyroscope 2811 can work in conjunction with accelerometer 2810 to collect 3D movements of the user on computer device 2800. Based on the data collected by gyroscope 2811, processor 2801 can perform the following functions: motion sensing (e.g., changing the UI based on the user's tilt operation), image stabilization during shooting, game control, and inertial navigation.
[0519] The pressure sensor 2812 can be disposed on the side bezel of the computer device 2800 and / or on the lower layer of the touch display screen 2805. When the pressure sensor 2812 is disposed on the side bezel of the computer device 2800, it can detect the user's grip signal on the computer device 2800 and perform left / right hand recognition or quick operation based on the grip signal. When the pressure sensor 2812 is disposed on the lower layer of the touch display screen 2805, it can control operable controls on the UI interface based on the user's pressure operation on the touch display screen 2805. Operable controls include at least one of button controls, scroll bar controls, icon controls, and menu controls.
[0520] Optical sensor 2813 is used to collect ambient light intensity. In one embodiment, processor 2801 can control the display brightness of touch display screen 2805 based on the ambient light intensity collected by optical sensor 2813. Specifically, when the ambient light intensity is high, the display brightness of touch display screen 2805 is increased; when the ambient light intensity is low, the display brightness of touch display screen 2805 is decreased. In another embodiment, processor 2801 can also dynamically adjust the shooting parameters of camera assembly 2806 based on the ambient light intensity collected by optical sensor 2813.
[0521] The proximity sensor 2814, also known as a distance sensor, is typically located on the front of the computer device 2800. The proximity sensor 2814 is used to detect the distance between the user and the front of the computer device 2800. In one embodiment, when the proximity sensor 2814 detects that the distance between the user and the front of the computer device 2800 is gradually decreasing, the processor 2801 controls the touch display screen 2805 to switch from a screen-on state to a screen-off state; when the proximity sensor 2814 detects that the distance between the user and the front of the computer device 2800 is gradually increasing, the processor 2801 controls the touch display screen 2805 to switch from a screen-off state to a screen-on state.
[0522] Those skilled in the art will understand that the above structure does not constitute a limitation on the computer device 2800, and may include more or fewer components than shown, or combine certain components, or employ different component arrangements.
[0523] This application also provides a computer-readable storage medium storing at least one computer program, which is loaded and executed by a processor to implement the friend recommendation method or friend addition method provided in the above-described method embodiments.
[0524] This application also provides a computer program product, which includes at least one computer program stored in a computer-readable storage medium; the at least one computer program is read from and executed by a processor of a computer device from the computer-readable storage medium, causing the computer device to perform the friend recommendation method or friend addition method provided in the above method embodiments.
[0525] It should be understood that "multiple" as used herein refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. Furthermore, the step numbers described herein are merely illustrative of one possible execution order. In some other embodiments, the steps may not be executed in the order shown in the figures, such as two steps with different numbers being executed simultaneously, or two steps with different numbers being executed in the reverse order of the figures. This application does not limit this.
[0526] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0527] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent switching, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.< / object>
Claims
1. A friend recommendation method, characterized in that, The method is executed by the first client that logs in with the first account, and the method includes: Display potential friends who have a potential social relationship with the first account; Receive a trigger operation for the clustering function targeting the potential friends; In response to a trigger operation for the clustering function, a cluster set for the potential friends is displayed, and relevant information of the potential friends belonging to the cluster set is displayed around the cluster set.
2. The method according to claim 1, characterized in that, The clustering function includes an automatic clustering function; the step of displaying the cluster set for the potential friends in response to a trigger operation on the clustering function includes: In response to a trigger operation for the automatic clustering function, at least two cluster sets belonging to the same or different levels are displayed for the potential friends.
3. The method according to claim 2, characterized in that, The at least two cluster sets belong to the same level; In response to a trigger operation for the automatic clustering function, at least two cluster sets belonging to the same level for the potential friends are displayed, including: In response to a trigger operation for the automatic clustering function, at least two cluster sets belonging to the first relationship circle for the potential friend are displayed, wherein the at least two cluster sets include the first cluster set; In response to an interactive operation on the first cluster set, a second cluster set belonging to the second relationship layer is displayed, the second cluster set being a subset of the first cluster set.
4. The method according to claim 2, characterized in that, The at least two cluster sets belong to different levels; In response to a trigger operation for the automatic clustering function, at least two cluster sets belonging to different levels are displayed for the potential friends, including: In response to a trigger operation on the automatic clustering function, the first cluster set and the second cluster set belonging to the first relationship circle for the potential friends are displayed; In response to an interactive operation on the second cluster set, a third cluster set belonging to the second relational layer is displayed, the third cluster set being a subset of the second cluster set.
5. The method according to claim 3 or 4, characterized in that, The first relationship circle is a relationship circle divided according to the first degree of closeness of the relationship between the potential friend and the first account. The second relationship circle is a relationship circle divided according to the second degree of closeness of the relationship between the potential friend and the first account. The granularity of the division of the second relationship circle is smaller than that of the first relationship circle.
6. The method according to any one of claims 1 to 5, characterized in that, The clustering function includes a custom clustering function; the step of displaying the cluster set in response to a trigger operation on the clustering function includes: In response to the triggered operation of the custom clustering function, the cluster set corresponding to the custom filtering conditions is displayed.
7. The method according to claim 6, characterized in that, The step of displaying the cluster set corresponding to the custom filtering conditions in response to a trigger operation for the custom clustering function includes: In response to a trigger operation for the custom clustering function, an input window for the custom filtering conditions is displayed; In response to an input operation for the custom filter criteria, the cluster set corresponding to the custom filter criteria is displayed.
8. The method according to claim 6 or 7, characterized in that, The custom filter criteria include at least one of the following: Custom filter criteria based on keywords; Custom filter criteria based on numerical values; Symbol-based custom filter criteria; Custom filter criteria based on emoji elements.
9. The method according to any one of claims 1 to 6, characterized in that, The potential friends are displayed around the cluster set in the form of a first identifier, which includes at least one of the following: The profile picture of the potential friend; The nicknames of the potential friends; The virtual avatar of the potential friend; The score indicating the closeness of the relationship between the potential friend and the first account.
10. The method according to claim 9, characterized in that, The clustering elements of the cluster set include a rotating roulette wheel, and the method further includes: In response to the rotation operation of the rotating wheel, the information card information corresponding to different potential friends is switched and displayed, and a first add control is displayed, which is used to add the potential friend selected by the rotation. In response to a trigger operation on the first added control, the social business card of the first account is displayed, and the social business card is sent to selected potential friends.
11. The method according to claim 10, characterized in that, The method further includes: Display a second add control, which is used to add potential friends in batches around the cluster set; In response to a trigger operation on the second added control, the social business card of the first account is displayed, and the social business card is sent in batches to the potential friends.
12. The method according to claim 10 or 11, characterized in that, The method further includes: In response to the operation of changing the social business card, the updated social business card is displayed; The social business card includes at least one of the following: the profile picture of the first account; the nickname of the first account; the interests of the first account; the background of the first account; and the tag information of the first account.
13. A method for adding friends, characterized in that, The method is executed by the first client that logs in with the first account, and the method includes: Displays a clustered set of potential friends; The periphery of the cluster set displays relevant information about potential friends belonging to the cluster set; In response to an interactive operation on the cluster aggregation, add potential friends from the cluster set.
14. The method according to claim 13, characterized in that, The cluster set includes a rotating wheel; The step of adding potential friends under the cluster set in response to an interactive operation on the cluster aggregation includes: In response to a trigger operation on the rotating wheel, the profile card information of potential friends under the cluster set and the add control are displayed; In response to the triggering operation of the added control, the potential friend is added; The addition control can be a first addition control or a second addition control. The first addition control is used to add potential friends that are rotated and selected, while the second addition control is used to add potential friends displayed around the cluster set in batches.
15. The method according to claim 13 or 14, characterized in that, The cluster set is obtained based on the clustering function, which includes automatic clustering or custom clustering.
16. A friend recommendation device, characterized in that, The device includes: The first display module is used to display potential friends who have a potential social relationship with the first account; The first receiving module is used to receive the trigger operation of the clustering function for the potential friends; The first display module is configured to, in response to a trigger operation for the clustering function, display a cluster set for the potential friends, and display relevant information of the potential friends belonging to the cluster set around the cluster set.
17. A friend-adding device, characterized in that, The device includes: The second display module is used to display clusters of potential friends; The second display module is used to display relevant information about potential friends belonging to the cluster around the cluster set; The second adding module is used to add potential friends from the cluster set in response to interactive operations on the cluster aggregation.
18. A computer device, characterized in that, The computer device includes a processor and a memory, wherein the memory stores at least one computer program, and the at least one computer program is loaded and executed by the processor to implement the friend recommendation method as described in any one of claims 1 to 12, or to implement the friend addition method as described in any one of claims 13 to 15.
19. A computer storage medium, characterized in that, The computer-readable storage medium stores at least one computer program, which is loaded and executed by a processor to implement the friend recommendation method as described in any one of claims 1 to 12, or the friend addition method as described in any one of claims 13 to 15.
20. A computer program product, characterized in that, The computer program product includes a computer program stored in a computer-readable storage medium; the computer program is read from and executed by a processor of a computer device, causing the computer device to perform to implement the friend recommendation method as described in any one of claims 1 to 12, or to implement the friend addition method as described in any one of claims 13 to 15.