Community clustering method and device based on privacy protection

By desensitizing user speech information on the client and sending desensitizing information to the network side for community clustering analysis, the problems of low community clustering efficiency and insufficient privacy protection in the existing technology are solved, and efficient and secure community clustering analysis is achieved.

CN112182419BActive Publication Date: 2025-03-25ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202010953821.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-09-11
Publication Date
2025-03-25
Estimated Expiration
2040-09-11

AI Technical Summary

Technical Problem

The existing community clustering methods are inefficient and cannot fully protect user privacy, especially in community analysis, there is a risk of information fraud and privacy data leakage.

Method used

A community clustering method based on privacy protection is adopted to collect community information through the client, and the user speech information is processed by statistics and desensitization, and a set of desensitization information is generated, and it is sent to the network side for clustering analysis. This method performs one-way desensitization on the client to ensure that the user's privacy information is not transmitted or leaked.

Benefits of technology

It realizes efficient community clustering analysis, reduces manual investment, enhances the value of the platform to the community, and ensures the security and protection of user privacy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112182419B_ABST
    Figure CN112182419B_ABST
Patent Text Reader

Abstract

One or more embodiments of this specification disclose a community clustering method and device based on privacy protection to solve the problem that the existing community clustering is inefficient and cannot fully protect user privacy. The method includes: collecting community information of multiple target communities to be clustered. According to the community information, the user speech information of each target community within multiple specified unit time periods is counted to obtain a user speech information set corresponding to each target community and containing multiple user speech information. The user speech information in the user speech information set corresponding to each target community is desensitized to obtain a desensitized information set corresponding to each target community. The desensitized information set corresponding to each target community is sent to the network side. The network side is used to determine the distance between each target community based on the desensitized information set, and cluster each target community according to the distance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the fields of privacy security and data processing technology, and in particular to a privacy-preserving community clustering method and apparatus. Background Technology

[0002] With the rise of digital life, online group chats with various user relationships and themes are increasing, spreading across various applications and websites, and exhibiting high user activity. These communities range from chats between real-name or anonymous strangers about shared interests such as work, cars, sports, and entertainment, to chats among acquaintances based on social relationships such as friends, relatives, or colleagues. Effective community clustering management helps in providing personalized content operation and advertising strategies for each community. Furthermore, it enables risk control of similar chats when some group chats are reported, reducing the manual input in community analysis and efficiently enhancing the value of communities to the platform.

[0003] Traditional community clustering analysis methods mainly fall into two categories. One is based on community information, classifying topics according to information such as the theme, name, and description filled in during community creation. The advantage of this method is clear classification, and it allows for pre-setting of topic category enumeration tables, making processing convenient. The disadvantage is that community information relies on creators filling it in voluntarily, making it difficult to effectively guarantee its authenticity and accuracy, and leading to information falsification and interference with classification. The other method is based on community chat content, using LDA (Linear Discriminant Analysis) for topic classification through text information or group chat classification based on content multi-classification models. The advantage of this method is more accurate topic classification and timely and accurate handling of risky content. The disadvantages are high computational demands, high device performance requirements, and the risk of obtaining user privacy data in private community scenarios (such as group chats), making it unsuitable for analysis in scenarios where user chat content is anonymized. Summary of the Invention

[0004] On one hand, one or more embodiments of this specification provide a privacy-preserving community clustering method applied to a client, comprising: collecting community information of multiple target communities to be clustered, wherein the community information includes at least one of community identifier information, user identifier information of a first user speaking in the community, and the speaking time of the first user in the community. Based on the community information, statistically analyzing user speaking information of each target community within multiple specified time periods, obtaining a user speaking information set corresponding to each target community, containing multiple user speaking information. De-identifying the user speaking information in the user speaking information sets corresponding to each target community, obtaining a de-identified information set corresponding to each target community, wherein the de-identified information set includes de-identified information corresponding to each user speaking information. Sending the de-identified information sets corresponding to each target community to the network side. The network side is used to determine the distance between each target community based on the de-identified information sets, and to cluster each target community based on the distance.

[0005] On the other hand, one or more embodiments of this specification provide a privacy-preserving community clustering method applied to the network side, comprising: receiving a first de-identified information set corresponding to multiple target communities to be clustered, sent by a client, wherein the first de-identified information set includes first de-identified information corresponding to user speech information of the target communities within multiple specified time periods; calculating a first distance between each target community based on the first de-identified information set corresponding to each target community; and clustering each target community based on the first distance between each target community.

[0006] Furthermore, one or more embodiments of this specification provide a privacy-preserving community clustering device applied to a client, comprising: a collection module for collecting community information of multiple target communities to be clustered, wherein the community information includes at least one of community identifier information, user identifier information of a first user speaking in the community, and the speaking time of the first user in the community; a statistics module for collecting user speaking information of each target community within multiple specified time periods based on the community information, thereby obtaining a user speaking information set corresponding to each target community, containing multiple user speaking information; a desensitization module for desensitizing the user speaking information in the user speaking information set corresponding to each target community, thereby obtaining a desensitized information set corresponding to each target community, wherein the desensitized information set includes desensitized information corresponding to each user speaking information; and a sending module for sending the desensitized information set corresponding to each target community to the network side. The network side is used to determine the distance between each target community based on the desensitized information set, and to cluster each target community based on the distance.

[0007] Furthermore, one or more embodiments of this specification provide a privacy-preserving community clustering device applied on the network side, comprising: a receiving module, which receives a first de-identified information set corresponding to multiple target communities to be clustered, sent by a client, wherein the first de-identified information set includes first de-identified information corresponding to user speech information of the target communities within multiple specified time periods; a calculation module, which calculates a first distance between each target community based on the first de-identified information set corresponding to each target community; and a clustering module, which clusters each target community based on the first distance between each target community.

[0008] In another aspect, one or more embodiments of this specification provide a privacy-preserving community clustering device, including a processor and a memory electrically connected to the processor, the memory storing a computer program, and the processor being configured to call and execute the computer program from the memory to implement the privacy-preserving community clustering method of any of the above aspects.

[0009] In another aspect, embodiments of this application provide a storage medium for storing a computer program that can be executed by a processor to implement the privacy-preserving community clustering method described above. Attached Figure Description

[0010] To more clearly illustrate the technical solutions in one or more embodiments of this specification or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in one or more embodiments of this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0011] Figure 1 This is a schematic architecture diagram of a privacy-preserving community clustering system according to an embodiment of this specification;

[0012] Figure 2 This is a schematic flowchart of a privacy-preserving community clustering method according to an embodiment of this specification;

[0013] Figure 3 This is a schematic flowchart of a privacy-preserving community clustering method according to another embodiment of this specification;

[0014] Figure 4 This is a schematic flowchart of a privacy-preserving community clustering method according to another embodiment of this specification;

[0015] Figure 5This is a schematic block diagram of a privacy-preserving community clustering device according to an embodiment of this specification;

[0016] Figure 6 This is a schematic block diagram of a privacy-preserving community clustering device according to another embodiment of this specification;

[0017] Figure 7 This is a schematic block diagram of a privacy-preserving community clustering device according to an embodiment of this specification. Detailed Implementation

[0018] This specification provides one or more embodiments of a privacy-preserving community clustering method and apparatus to solve the problems of low efficiency and inability to adequately protect user privacy in existing community clustering methods.

[0019] To enable those skilled in the art to better understand the technical solutions in one or more embodiments of this specification, the technical solutions in one or more embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this specification, and not all embodiments. Based on one or more embodiments of this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the protection scope of one or more embodiments of this specification.

[0020] The privacy-preserving community clustering method provided in one or more embodiments of this specification can be applied to, for example... Figure 1 The example shown is a privacy-preserving community clustering system. Figure 1 As shown, the privacy-preserving community clustering system includes a client 10 and a network side 20. The client 10 collects community information, such as community identifiers, user information, and speaking times within the community. Based on this information, it calculates user speaking data (e.g., the number of times each user speaks) for each community, anonymizes this data, and sends the anonymized information to the network side 20. The network side 20 can be a server or community clustering device located on the network side. It calculates the distances between communities based on the anonymized information sent by the client 10, and then clusters the communities based on these distances. Therefore, although user speaking data is collected during community clustering through the interaction between the client 10 and the network side 20, the anonymization of this data on the client side prevents the transmission of user privacy information during the clustering process, thus ensuring the security of user privacy information. The following details the steps performed by the client and the network side during the community clustering process.

[0021] Figure 2 This is a schematic flowchart illustrating a privacy-preserving community clustering method according to an embodiment of this specification, such as... Figure 2 As shown, this method is applied to the client and includes the following steps:

[0022] S202, collect community information of multiple target communities to be clustered.

[0023] The community information may include community identification information (such as community name, community type, etc.), user identification information of the first user who speaks in the community (such as user account, user nickname, user identity, etc.), and the time when the first user speaks in the community.

[0024] For example, community information includes the community name, the nickname of the first user who speaks in the community, and the time the first user speaks in the community. The collected community information would look like this: Community 1; User A; 20200901 10:09.

[0025] S204. Based on community information, statistically analyze user speech information of each target community within multiple specified time periods to obtain user speech information sets corresponding to each target community, each set containing multiple user speech information.

[0026] The specified time periods can be consecutive or discontinuous. Optionally, to facilitate information collection, multiple consecutive time periods can be selected for collecting user speech information.

[0027] For example, if a unit of time is 1 hour, and multiple consecutive unit time periods constitute the first 10 hours of a day (i.e., 10 consecutive unit time periods), then user chat information from the first 10 hours of that day can be collected. Since the unit of time is 1 hour, each hour within the first 10 hours of that day will correspond to its own user chat information. In other words, the client will collect user chat information corresponding to 10 unit time periods (i.e., 1 hour), forming a user chat information set containing 10 user chat records. The order of the user chat records in the user chat information set can be arranged according to the chronological order of the unit time periods.

[0028] S206, De-identify the user message information in the user message information set corresponding to each target community to obtain the de-identified information set corresponding to each target community. The de-identified information set includes the de-identified information corresponding to each user message information.

[0029] In this step, noise information stored locally on the client is used to desensitize the user's speech information. This noise information is unknown to the network side. Therefore, the desensitization of the user's speech information is a one-way desensitization process performed locally on the client, which can ensure the security of the user's privacy information.

[0030] S208, send the de-identified information set corresponding to each target community to the network side.

[0031] The network side is used to determine the distance between each target community based on the de-identified information set; and to cluster each target community based on the distance.

[0032] The technical solution employing one or more embodiments of this specification involves collecting community information of target communities to be clustered on the client side, statistically analyzing user speech information of each target community within multiple specified time periods based on the community information, and then anonymizing the user speech information corresponding to each target community. The anonymized information set is then sent to the network side, enabling the network side to cluster each target community based on the anonymized information set. Since the anonymization process for user speech information corresponding to each target community is one-way on the client side (i.e., the anonymization method is unknown to the network side), the anonymized information set obtained by the network side does not contain the user speech information itself. Therefore, the network side does not need to use the user speech information itself (such as the speech content) as the basis for community clustering, thus preventing the transmission of user privacy information during the community clustering process and ensuring the security of user privacy information.

[0033] In one embodiment, when desensitizing user speech information in the user speech information set corresponding to each target community, the target noise information corresponding to each specified unit time period can be determined first based on the preset correspondence between each unit time period and noise information; then, the target noise information corresponding to each specified unit time period can be used to desensitize the user speech information in each user speech information set that corresponds to each specified unit time period, so as to obtain the desensitized information set corresponding to each target community.

[0034] The client pre-stores the correspondence between each time unit and noise information. Optionally, to enhance the security of user privacy information, different noise information can be set for each time unit. For example, assuming a time unit is 1 hour, then for a certain day's 24 hours (i.e., 24 time units), the first time unit corresponds to noise information A, the second time unit corresponds to noise information B, the third time unit corresponds to noise information C, and so on.

[0035] Assuming the specified time period is the first three hours of September 1, 2020 (inclusive), after analyzing user comments from the target community during these three time periods, a set of user comments corresponding to the target community, comprising three segments, can be obtained. This set of user comments includes the following information: user comments within the first hour, user comments within the second hour, and user comments within the third hour. For this user comment set, target noise information corresponding to the first three time periods of September 1, 2020, is obtained, including target noise information A for the first time period, target noise information B for the second time period, and target noise information C for the third time period. Based on the correspondence between each designated time period and the target noise information and user comments, the target noise information A can be used to desensitize the user comments in the first hour to obtain the desensitized information for the first hour; the target noise information B can be used to desensitize the user comments in the first hour to obtain the desensitized information for the second hour; the target noise information C can be used to desensitize the user comments in the third hour to obtain the desensitized information for the third hour; finally, the desensitized information set corresponding to the first 3 hours of the target community on September 1, 2020 is obtained.

[0036] In this embodiment, the user speech information corresponding to each specified time period is desensitized by using the target noise information corresponding to each specified time period. This ensures that the noise information used to desensitize the user speech information in each specified time period is different, thereby avoiding the situation where noise information is easily leaked when only the same noise information is used to desensitize multiple user speech information, and improving the security of information desensitization processing.

[0037] In one embodiment, user posting information includes the number of times a user posts. Therefore, the user posting information of the target community within multiple specified time periods, as calculated in S204, includes the number of times users in the target community posted within those specified time periods. For example, an example set of user posting information for the target community within multiple specified time periods is shown below:

[0038] Community 1: {10, 57, 76, 74, 33, 12, ...};

[0039] Community 2: {40, 43, 90, 23, 56, 0, ...}.

[0040] In this embodiment, the noise information includes an offset. When desensitizing user speech information corresponding to each specified time period using the target noise information corresponding to each specified time period, the following method can be used:

[0041] First, based on the specified time period corresponding to each user's speaking count and the target offset corresponding to each specified time period, the mapping relationship between each user's speaking count and each target offset is determined. This mapping relationship is the same as the mapping relationship between each user's speaking information and each noise information in the above embodiment.

[0042] Assuming the specified time period is the first 3 hours of September 1, 2020 (inclusive), the number of user posts in the target community during the first 3 time periods of September 1, 2020 is as follows: {10, 57, 76}, and the target offsets corresponding to the first 3 time periods of September 1, 2020 are 100, 200, and 300, respectively. Based on the number of user posts and the target offsets for each specified time period, it can be determined that: within the first 3 hours of September 1, 2020, the target offset corresponding to the number of user posts "10" in the first time period is "100", the target offset corresponding to the number of user posts "57" in the second time period is "200", and the target offset corresponding to the number of user posts "76" in the third time period is "300".

[0043] Secondly, according to the mapping relationship, the number of times each user speaks is offset according to the corresponding target offset to obtain the de-identified information corresponding to the number of times each user speaks. The offset processing can include increasing or decreasing. If the offset processing method is to increase the offset, then the number of times each user speaks can be increased accordingly according to its corresponding target offset; if the offset processing method is to decrease the offset, then the number of times each user speaks can be decreased accordingly according to its corresponding target offset.

[0044] Using the example above, within the first three hours of September 1, 2020, the target offset corresponding to the number of user messages "10" in the first time slot is "100", the target offset corresponding to the number of user messages "57" in the second time slot is "200", and the target offset corresponding to the number of user messages "76" in the third time slot is "300". If the offset processing method is to increase the offset, then after increasing the number of user messages according to their corresponding target offset, the following de-identified information can be obtained: the number of user messages in the first time slot corresponds to de-identified information "110", the number of user messages in the second time slot corresponds to de-identified information "257", and the number of user messages in the third time slot corresponds to de-identified information "376".

[0045] Next, based on the anonymized information corresponding to the number of times each user speaks, determine the anonymized information set corresponding to each target community.

[0046] Using the example above, we can determine that the anonymized information set of the target community in the first 3 hours of September 1, 2020 is: {110, 257, 376}.

[0047] In this embodiment, the number of user messages in the target community within multiple specified time periods is collected, and each user's message count is offset according to its corresponding offset. Since the number of user messages has no business significance, although the technical solution of this embodiment collects user message information, it does not collect user chat content or other data involving user privacy. Instead, it serializes the number of user messages within the community in the time dimension. This not only makes the community clustering process more closely match the user behavior within the community (i.e., the serialization of user message counts), but also makes the community clustering results more accurate. Furthermore, since the offset processing is only performed on the client side and cannot be decrypted on the network side, it also ensures that the de-identified information after offset processing (i.e., de-identification processing) is not leaked, thereby ensuring the security of user privacy information during the community clustering process.

[0048] In one embodiment, before collecting community information of multiple target communities to be clustered, the offset corresponding to each unit time period can be calculated in advance based on the time information corresponding to each unit time period; then, each unit time period and its corresponding offset are stored locally on the client.

[0049] In this embodiment, since time information is constantly changing and not repeatable, the offset corresponding to each unit time period is calculated based on the time information corresponding to each unit time period, so that the offset corresponding to each unit time period is different, thereby making the desensitization process more effective and less likely to be reverse-processed.

[0050] Due to the variability of time information, the offset corresponding to each time period also changes with the time information. When a change in time information is detected, the offset corresponding to each time period can be recalculated based on the changed time information, and the offset corresponding to each time period stored locally on the client can be updated.

[0051] In this embodiment, the offset corresponding to each unit time period can be calculated as a function with time information as a variable, based on the time information corresponding to each unit time period.

[0052] For example, the offset for each time unit is calculated as follows: Offset X = (Year + Month + Date + Time) / N. Here, the date represents the current date, the time represents the current hour, and N represents the number of terms in the numerator. In the above expression, since the number of terms in the numerator is 4, N = 4. Assuming a time unit is 1 hour, and the current time is "September 1, 2020, 10:00 AM," the offset for the time unit containing 10:00 AM on September 1, 2020, can be calculated as follows: (2020 + 9 + 1 + 10) / 4 = 510. That is, the offset for the time unit containing 10:00 AM on September 1, 2020, is 510. Because the offset for each time unit is different when using 1 hour as the unit, and the offset for each time unit is updated every hour, this real-time updated offset is difficult for malicious individuals to detect, thus strengthening the effectiveness of information anonymization and improving the security of user privacy information.

[0053] In one embodiment, the offset corresponding to each time unit can be performed by a third-party device. That is, the third-party device calculates the offset for each time unit in real time based on time information, sends the calculated correspondence between each time unit and the offset to the client, and stores it locally on the client. This method saves the client from computational burden, thus avoiding situations where excessive computation affects the client's response speed. It should be noted that regardless of whether the offset calculation is performed on the client or the third-party device, it is unknown to the network side, ensuring the security of user privacy information.

[0054] Figure 3 This is a schematic flowchart illustrating a privacy-preserving community clustering method according to another embodiment of this specification, such as... Figure 3 As shown, this method is applied to the network side and includes the following steps:

[0055] S302, receive a first de-identified information set corresponding to multiple target communities to be clustered sent by the client. The first de-identified information set includes the first de-identified information corresponding to the user speech information of the target community in multiple unit time periods.

[0056] The method for obtaining the first de-identified information set sent by the client has been described in detail in the above embodiments (i.e., S202 to S206), and will not be repeated here.

[0057] S304, Calculate the first distance between each target community based on the first de-identified information set corresponding to each target community.

[0058] S306 clusters the target communities based on the first distance between them.

[0059] The technical solutions adopted in one or more embodiments of this specification calculate the distance between target communities based on the anonymized information set corresponding to each target community. Since the anonymized information set includes anonymized information corresponding to user statements within multiple time units of the target community, although the network side performs community clustering based on user statements to ensure accuracy, the user statements have already been anonymized on the client side. Therefore, the transmission process of the user statements themselves is not involved, preventing the transmission of user privacy information during community clustering and ensuring the security of user privacy information.

[0060] In one embodiment, after the network side receives the first de-identified information set corresponding to multiple target communities to be clustered sent by the client, it can also perform dimensionality reduction processing on the first de-identified information set. Alternatively, when the dimensionality of the first de-identified information set is high (i.e., it contains a large number of first de-identified information items), dimensionality reduction processing can be performed on the first de-identified information set.

[0061] Specifically, if the first number of de-identified pieces of information contained in the first de-identified information set is greater than a preset threshold, then the first de-identified information set is subjected to dimensionality reduction processing to obtain a second de-identified information set, which includes a second number of second de-identified pieces of information. The second number is less than or equal to the preset threshold. Based on this, after completing the dimensionality reduction processing of the first de-identified information set, the first distance between each target community can be calculated based on the dimensionality-reduced second de-identified information set.

[0062] In this embodiment, by performing dimensionality reduction processing on the first desensitized information set corresponding to the target community, the complexity of distance calculation can be significantly reduced when calculating the distance between each target community, thereby improving the algorithm performance and clustering efficiency of community clustering and reducing the computational workload on the network side.

[0063] In one embodiment, algorithms such as PAA (Piecewise Aggregate Approximation), PCA (Principal Component Analysis), and SVD (Singular Value Decomposition) can be used to reduce the dimensionality of the first de-identified information set. The following example uses PAA to illustrate how to reduce the dimensionality of the first de-identified information set:

[0064] First, calculate the quotient of the first quantity and the preset threshold, and determine the dimensionality reduction ratio for the first desensitized information set based on the quotient.

[0065] Secondly, according to the dimensionality reduction ratio, each piece of the first de-identified information in the first de-identified information set is segmented to obtain the segmented de-identified information subset.

[0066] Assuming the preset threshold is N, if the quotient of the first quantity and the preset threshold is an integer (i.e. there is no remainder), then after dividing each first desensitized information according to the dimensionality reduction ratio, N desensitized information subsets can be obtained, and the number of first desensitized information included in each desensitized information subset is equal to the above quotient.

[0067] If the quotient of the first quantity and the preset threshold is not an integer (i.e., there is a remainder), then after dividing each of the first de-identified information according to the dimensionality reduction ratio, the number of first de-identified information included in the first N-1 de-identified information subsets is equal to the integer part of the above quotient. Alternatively, the number of first de-identified information included in the first N-1 de-identified information subsets is equal to the integer part of the above quotient plus 1.

[0068] Next, based on the first de-identified information contained in each de-identified information subset, the average information corresponding to each de-identified information subset is determined. Specifically, if the user speech information corresponding to the de-identified information is the number of times a user speaks, the average information corresponding to the de-identified information subset can be obtained by calculating the average value of the first de-identified information contained in that subset.

[0069] Finally, the average information corresponding to each de-identified information subset is combined to obtain the second de-identified information set.

[0070] Taking the number of user comments corresponding to the anonymized information as an example, the first set of anonymized information is {10, 57, 76, 74, 33, 12, 40, 43, 90, 23, ...}, which includes 100 pieces of first anonymized information, i.e., the first quantity is 100. Assuming the preset threshold is 20, the quotient of the first quantity and the preset threshold is 100 / 20 = 5. The quotient of 5 is the dimensionality reduction ratio for the first set of anonymized information. According to this dimensionality reduction ratio, each piece of first anonymized information in the first set of anonymized information is segmented. The number of pieces of first anonymized information contained in the segmented subsets of anonymized information is equal to the dimensionality reduction ratio. After segmentation, 20 subsets of anonymized information are obtained: {10, 57, 76, 74, 33}, {12, 40, 43, 90, 23}, ... The average value of the de-identified information subset {10, 57, 76, 74, 33} is (10+57+76+74+33) / 5 = 50, the average value of the de-identified information subset {12, 40, 43, 90, 23} is (12+40+43+90+23) / 5 = 41.6, and so on. Then, by combining the average values ​​of each de-identified information subset, a second de-identified information set {50, 41.6, ...} is obtained. The second de-identified information set obtained through dimensionality reduction contains only 20 elements, significantly reducing the subsequent computational load.

[0071] In the example above, assuming the preset threshold is 15, meaning the integer part of the quotient of the first quantity and the preset threshold is 6 and the remainder is 10, after segmenting each piece of the first de-identified information in the first de-identified information set according to a dimensionality reduction ratio of 6, 15 subsets of de-identified information can be obtained. The first 14 subsets each contain 6 pieces of the first de-identified information, and the last remaining subset contains 16 pieces of the first de-identified information. Alternatively, the first 14 subsets each contain 7 pieces of the first de-identified information, and the last remaining subset contains 2 pieces of the first de-identified information.

[0072] In this embodiment, the first de-identified information set is dimensionality reduced using the more efficient PAA algorithm, resulting in a dimensionality reduction method with low complexity and high practicality. This reduces the computational load on the network side for dimensionality reduction and improves the overall efficiency of community clustering.

[0073] In one embodiment, after receiving the first de-identified information set corresponding to multiple target communities to be clustered from the client, the network side can sample multiple target communities to be clustered using a preset sampling method based on a sampling rate set according to the loss function in order to improve computing performance, since the number of communities is large (may reach millions, tens of millions or even hundreds of millions).

[0074] Optionally, a Monte Carlo sampling method can be used to sample multiple target communities. First, a third set of target communities is selected from the multiple target communities as the first communities to be clustered. This third set should be greater than or equal to the number of clusters to be clustered. That is, the selected third set of target communities ensures that each cluster contains at least one community. Then, based on the first anonymized information set corresponding to each first community, a first distance is calculated between each first community; and based on the first distance between each first community, each first community is clustered.

[0075] In this embodiment, after selecting the first community to be clustered, if the number of first de-identified information items in the first de-identified information set corresponding to the first community is greater than a preset threshold, then dimensionality reduction processing can be performed on each first de-identified information set to obtain a second de-identified information set corresponding to each first community; then, for each second de-identified information set corresponding to each first community, a first distance between each first community is calculated, and clustering is performed on each first community based on the first distance. The dimensionality reduction process has been described in detail in the above embodiments, and therefore will not be repeated here.

[0076] In this embodiment, after clustering each first community, for the second communities other than the first communities among the multiple target communities, further clustering can be performed on each second community. Optionally, for each second community, a third distance between the second community and each first community is calculated. Then, the minimum distance value is determined from multiple third distances, and the second community is clustered into the cluster group containing the first community corresponding to the minimum distance value. That is, for second communities not included in the sampling, the second community is clustered into the cluster group containing the closest first community according to the distance between the communities. This proximity-based clustering method not only makes the clustering results accurate but also reduces the computational workload on the network side.

[0077] In one embodiment, user posting information includes the number of times a user posts, and the first de-identified information is obtained by offsetting the number of user posts according to a corresponding offset. The offsetting process for the number of user posts has been described in detail in the above embodiments and will not be repeated here. Based on this, for the multiple first communities obtained by sampling, the first distance between each first community can be calculated according to the following steps A1-A3:

[0078] Step A1: Calculate the second distance between every two first communities based on the multiple first de-identified information corresponding to each first community.

[0079] Among them, the multiple first de-identified information corresponding to the first community refers to the first de-identified information contained in the set of first de-identified information corresponding to the first community. In this embodiment, since the user's posting information is the number of times the user posts, the first de-identified information obtained after offsetting the number of times the user posts according to the corresponding offset is also in numerical form.

[0080] The second distance between every two first communities can be calculated using the following formula (1):

[0081]

[0082] Where D(A,B) represents the second distance between the first community A and the first community B. Ai represents each piece of first de-identified information in the first community A, Bi represents each piece of first de-identified information in the first community B, and n is the number of pieces of first de-identified information contained in each first community.

[0083] In this embodiment, the high-dimensional distance between communities is calculated using the above formula (1). The advantages are low computational complexity, high performance, and strong noise resistance, which ensures that the order of each piece of first desensitized information in the first desensitized information set is not disrupted. Of course, in addition to the above formula (1), the second distance between each two first communities can also be calculated using other distance calculation methods, and this embodiment does not limit this.

[0084] Step A2: Determine the K distance corresponding to each first community based on the second distance between each pair of first communities.

[0085] The value of K is negatively correlated with the number of clusters to be clustered. If the number of clusters is large, a smaller value for K can be chosen to reduce the computational load in the distance calculation process. If the number of clusters is small, a larger value for K can be chosen to improve the accuracy of the distance calculation results.

[0086] Step A3: For any first community, cluster communities whose distance to the first community is less than or equal to the K distance corresponding to the first community into the same cluster group as the first community.

[0087] In this embodiment, a multi-density DBScan (Density-Based Spatial Clustering of Applications with Noise) clustering method is employed. The KNN (K Nearest Neighbor) method is used to calculate the KNN distance (K-distance) of each point. Then, based on the K-distance, DBScan clustering is applied to cluster each first community. Assuming K is 3, the density steps can be obtained by differentiating the 3-NN distance distribution curve. If the density has four steps, DBScan clustering is performed sequentially according to the distance from smallest to largest until all first communities are clustered.

[0088] In this embodiment, the first communities are clustered using the multi-density DBScan clustering method. Since the DBScan clustering method defines a cluster as the largest set of density-connected points, it can divide regions with sufficiently high density into clusters and can discover clusters of arbitrary shapes in a noisy spatial database. Therefore, this clustering method can make the clustering results of each first community highly accurate, and the clustering method is simple and fast.

[0089] In one embodiment, after the network side has completed clustering each target community, the clustering results can be displayed to users in a visual way, such as to analysts, thereby assisting analysts in conducting subsequent business information analysis based on the communities in each cluster group, and providing assistance for targeted business analysis of each community.

[0090] Figure 4 This is a schematic flowchart illustrating a privacy-preserving community clustering method according to another embodiment of this specification, such as... Figure 4 As shown, this method can be applied to, for example... Figure 1 The privacy-preserving community clustering system shown includes the following steps:

[0091] S401: The client collects community information from multiple target communities to be clustered.

[0092] The community information may include the community name, the nickname of the first user to speak in the community, and the time the first user spoke in the community. An example of the collected community information is as follows: Community 1; User A; 20200901 10:09.

[0093] S402, the client, based on community information, counts the number of times users speak in each target community within multiple specified time periods, and obtains a set of user speech counts for each target community, which contains multiple user speech counts.

[0094] S403, the client determines the target offset corresponding to each user's speaking count based on the preset correspondence between each unit time period and the offset, and the correspondence between each unit time period and the number of times a user speaks.

[0095] The offset corresponding to each time unit is constantly updated. The specific update method has been described in detail in the above embodiments and will not be repeated here.

[0096] S404, the client performs offset processing on the number of times each user speaks according to their respective target offset, and obtains the de-identified information corresponding to the number of times each user speaks, and then obtains the first de-identified information set corresponding to each target community.

[0097] The offset processing may include increasing or decreasing. The detailed offset processing procedure has been described in detail in the above embodiments and will not be repeated here.

[0098] S405, the client sends the first de-identified information set corresponding to each target community to the network side, and each first de-identified information set has its own community identification information.

[0099] S406, the network side selects a specified number of first communities from each target community, and performs dimensionality reduction processing on the first de-identified information set corresponding to each first community for the specified number of first communities to obtain the second de-identified information set corresponding to each first community.

[0100] The specific process of dimensionality reduction has been described in detail in the above embodiments and will not be repeated here.

[0101] S407, the network side calculates the distance between each first community based on the second de-identified information set corresponding to each first community, and clusters each first community according to the DBScan clustering method.

[0102] The distance calculation method between each first community and the DBScan clustering method have been described in detail in the above embodiments, and will not be repeated here.

[0103] S408, For any second community other than the first community in each target community, the network side calculates the distance between the second community and each first community, and determines the minimum distance value among the multiple distances.

[0104] S409, the network side clusters each second community into the cluster group containing the first community with the smallest distance value, thus obtaining the clustering results of all target communities.

[0105] S410, the network side sends the clustering results of the target community to the client so that the client can display the clustering results in a visual way.

[0106] As can be seen, the technical solution of this embodiment collects community information of the target communities to be clustered through the client, counts the number of user posts in each target community within multiple specified time periods based on the community information, and anonymizes the user post counts for each target community. The anonymized information set is then sent to the network side. While the network side performs community clustering based on the number of user posts to ensure accuracy, the anonymization of user post counts on the client side avoids the transmission of user post counts and other user post information (such as the content of user posts). This prevents the transmission of user privacy information during community clustering, avoiding leakage of user privacy information and ensuring the security of user privacy information.

[0107] In summary, specific embodiments of this subject matter have been described. Other embodiments are within the scope of the appended claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing can be advantageous.

[0108] The above are one or more embodiments of the privacy-preserving community clustering method provided in this specification. Based on the same idea, one or more embodiments of this specification also provide a privacy-preserving community clustering device.

[0109] Figure 5 This is a schematic block diagram of a privacy-preserving community clustering device according to an embodiment of this specification. Figure 5 As shown, the privacy-preserving community clustering device is applied to the client, including:

[0110] The data acquisition module 510 collects community information of multiple target communities to be clustered; the community information includes at least one of the following: community identifier information, user identifier information of the first user who speaks in the community, and the speaking time of the first user in the community.

[0111] The statistics module 520, based on the community information, counts the user speech information of each target community within multiple specified time periods, and obtains a set of user speech information corresponding to each target community, which contains multiple sets of user speech information.

[0112] The desensitization module 530 performs desensitization processing on the user speech information in the user speech information set corresponding to each target community to obtain a desensitized information set corresponding to each target community; the desensitized information set includes the desensitized information corresponding to each user speech information.

[0113] The sending module 540 sends the de-identified information set corresponding to each of the target communities to the network side; the network side is used to determine the distance between each of the target communities based on the de-identified information set; and to cluster each of the target communities based on the distance.

[0114] In one embodiment, the desensitization module 530 includes:

[0115] The first determining unit determines the target noise information corresponding to each specified unit time period according to the preset correspondence between each unit time period and the noise information;

[0116] The desensitization unit uses the target noise information corresponding to each specified time period to desensitize the user speech information in each user speech information set that corresponds to each specified time period, thereby obtaining the desensitized information set corresponding to each target community.

[0117] In one embodiment, the user speech information includes the number of times the user spoke; the noise information includes an offset.

[0118] The desensitization unit determines the mapping relationship between the number of times each user spoke and the target offset based on the specified time period corresponding to the number of times each user spoke and the target offset corresponding to the specified time period. According to the mapping relationship, it performs offset processing on the number of times each user spoke according to the corresponding target offset to obtain the desensitized information corresponding to each number of times each user spoke. The offset processing includes increasing or decreasing the offset. Based on the desensitized information corresponding to each number of times each user spoke, it determines the desensitized information set corresponding to each target community.

[0119] In one embodiment, the apparatus further includes:

[0120] The offset calculation module calculates the offset corresponding to each unit time period based on the time information corresponding to each unit time period before collecting community information of multiple target communities to be clustered.

[0121] The storage module stores each unit time period and its corresponding offset locally on the client.

[0122] The update module, when detecting a change in the time information, recalculates the offset corresponding to each unit time period based on the changed time information, and updates the offset corresponding to each unit time period stored locally on the client.

[0123] The apparatus employing one or more embodiments of this specification collects community information of target communities to be clustered on the client side, statistically analyzes user speech information of each target community within multiple specified time periods based on the community information, and de-identifies the user speech information corresponding to each target community. The de-identified information set is then sent to the network side, enabling the network side to cluster each target community based on the de-identified information set. Since the de-identification processing of user speech information corresponding to each target community is one-way on the client side (i.e., the de-identification method is unknown to the network side), the de-identified information set obtained by the network side does not contain the user speech information itself. Therefore, the network side does not need to use the user speech information itself (such as the speech content) as the basis for community clustering, thus preventing the transmission of user privacy information during the community clustering process and avoiding the leakage of user privacy information, ensuring the security of user privacy information.

[0124] Those skilled in the art will understand that the above-described privacy-preserving community clustering device can be used to implement the privacy-preserving community clustering method executed by the client as described above. The detailed description should be similar to that in the method section above, and will not be repeated here to avoid being cumbersome.

[0125] Figure 6 This is a schematic block diagram of a privacy-preserving community clustering device according to another embodiment of this specification. Figure 6 As shown, the privacy-preserving community clustering device is applied to the network side, including:

[0126] The receiving module 610 receives a first de-identified information set corresponding to multiple target communities to be clustered, sent by the client; the first de-identified information set includes first de-identified information corresponding to user speech information of the target communities within multiple specified time periods;

[0127] The calculation module 620 calculates the first distance between each target community based on the first de-identified information set corresponding to each target community.

[0128] Clustering module 630 clusters each target community based on a first distance between them.

[0129] In one embodiment, the apparatus further includes:

[0130] The dimensionality reduction module, after receiving the first de-identified information set corresponding to multiple target communities to be clustered sent by the client, if the first number of the first de-identified information set contained in the first de-identified information set is greater than a preset threshold, then performs dimensionality reduction processing on the first de-identified information set to obtain a second de-identified information set; the second de-identified information set includes a second number of second de-identified information sets; the second number is less than or equal to the preset threshold.

[0131] The computing module 620 includes:

[0132] The first calculation unit calculates the first distance between each target community based on the second de-identified information set corresponding to each target community.

[0133] In one embodiment, the dimensionality reduction module includes:

[0134] The fourth calculation unit calculates the quotient of the first quantity and the preset threshold, and determines the dimensionality reduction ratio for dimensionality reduction processing of the first desensitized information set based on the quotient.

[0135] The segmentation unit segments each piece of the first desensitized information in the first desensitized information set according to the dimensionality reduction ratio to obtain a segmented subset of desensitized information.

[0136] The second determining unit determines the average information corresponding to each of the first desensitized information contained in each of the desensitized information subsets;

[0137] The combination unit combines the average information corresponding to each of the desensitized information subsets to obtain the second desensitized information set.

[0138] In one embodiment, the apparatus further includes:

[0139] The filtering module, after receiving the first de-identified information set corresponding to multiple target communities to be clustered sent by the client, filters out a third number of target communities from the multiple target communities according to a preset sampling method, as the first community to be clustered; the third number is greater than or equal to the number of cluster groups to be clustered;

[0140] The computing module 620 includes:

[0141] The second calculation unit calculates the first distance between each of the first communities based on the first de-identified information set corresponding to each of the first communities.

[0142] The clustering module includes:

[0143] The first clustering unit clusters each of the first communities based on the first distance between each of the first communities.

[0144] In one embodiment, the user speech information includes the number of times the user has spoken; the first de-identified information is obtained by offsetting the number of times the user has spoken according to a corresponding offset; the offset processing includes increasing or decreasing;

[0145] The second calculation unit calculates a second distance between every two first communities based on the multiple first de-identified information corresponding to each first community; determines a K distance corresponding to each first community based on the second distance between every two first communities; the value of K is negatively correlated with the number of cluster groups; for any first community, communities whose distance to the first community is less than or equal to the K distance corresponding to the first community are clustered with the first community into the same cluster group.

[0146] In one embodiment, the clustering module 630 further includes:

[0147] The third calculation unit, after clustering each of the first communities based on the first distance between each of the first communities, calculates the third distance between the second community and each of the first communities in the target community, excluding the first community.

[0148] The second clustering unit determines the minimum distance value in the third distance and clusters the second community into the cluster group where the first community corresponding to the minimum distance value is located.

[0149] The apparatus employing one or more embodiments of this specification calculates the distance between target communities based on the anonymized information set corresponding to each target community. Since the anonymized information set includes anonymized information corresponding to user statements within multiple time units of the target community, although the network side performs community clustering based on user statements to ensure accuracy, the user statements have already been anonymized on the client side. Therefore, the transmission process of the user statements themselves is not involved, preventing the transmission of user privacy information during community clustering and ensuring the security of user privacy information.

[0150] Those skilled in the art will understand that the above-described privacy-preserving community clustering device can be used to implement the privacy-preserving community clustering method executed by the network side as described above. The detailed description should be similar to that in the method section above, and will not be repeated here to avoid being cumbersome.

[0151] Following the same line of thought, one or more embodiments of this specification also provide a privacy-preserving community clustering device, such as... Figure 7As shown. Privacy-preserving community clustering devices can vary considerably due to differences in configuration or performance. They may include one or more processors 701 and memory 702, with memory 702 storing one or more application programs or data. Memory 702 can be temporary or persistent storage. The application programs stored in memory 702 may include one or more modules (not shown), each module including a series of computer-executable instructions for the privacy-preserving community clustering device. Furthermore, processor 701 may be configured to communicate with memory 702, executing the series of computer-executable instructions in memory 702 on the privacy-preserving community clustering device. The privacy-preserving community clustering device may also include one or more power supplies 703, one or more wired or wireless network interfaces 704, one or more input / output interfaces 705, and one or more keyboards 706.

[0152] Specifically, in this embodiment, the privacy-preserving community clustering device includes a memory and one or more programs, wherein one or more programs are stored in the memory, and one or more programs may include one or more modules, and each module may include a series of computer-executable instructions for the privacy-preserving community clustering device, and is configured to be executed by one or more processors. The one or more programs include computer-executable instructions for performing the following:

[0153] Collect community information from multiple target communities to be clustered; the community information includes at least one of the following: community identifier information, user identifier information of the first user who speaks in the community, and the speaking time of the first user in the community;

[0154] Based on the community information, the user speech information of each target community is statistically analyzed within multiple specified time periods to obtain a set of user speech information corresponding to each target community, which contains multiple sets of user speech information.

[0155] The user message information in the user message information set corresponding to each target community is anonymized to obtain an anonymized information set corresponding to each target community; the anonymized information set includes the anonymized information corresponding to each user message information.

[0156] The network side sends the de-identified information set corresponding to each of the target communities to the network side; the network side is used to determine the distance between each of the target communities based on the de-identified information set; and to cluster each of the target communities based on the distance.

[0157] In another specific embodiment, the privacy-preserving community clustering device includes a memory and one or more programs, wherein the one or more programs are stored in the memory, and the one or more programs may include one or more modules, and each module may include a series of computer-executable instructions for the privacy-preserving community clustering device, and is configured to be executed by one or more processors. The one or more programs include computer-executable instructions for performing the following:

[0158] The system receives a first de-identified information set corresponding to multiple target communities to be clustered, sent by the client. The first de-identified information set includes first de-identified information corresponding to user speech information of the target communities within multiple specified time periods.

[0159] Based on the first desensitized information set corresponding to each of the target communities, calculate the first distance between each of the target communities;

[0160] Cluster the target communities based on the first distance between them.

[0161] One or more embodiments of this specification also propose a storage medium that stores one or more computer programs, the one or more computer programs including instructions that, when executed by an electronic device including multiple applications, enable the electronic device to perform the various processes of the above-described privacy-preserving community clustering method embodiments and achieve the same technical effect. To avoid repetition, these will not be described again here.

[0162] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.

[0163] For ease of description, the above apparatus is described by dividing it into various functional units. Of course, when implementing one or more embodiments of this specification, the functions of each unit can be implemented in one or more software and / or hardware.

[0164] Those skilled in the art will understand that one or more embodiments of this specification can be provided as a method, system, or computer program product. Therefore, one or more embodiments of this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0165] This specification describes one or more embodiments with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0166] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0167] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0168] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0169] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0170] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0171] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0172] One or more embodiments of this specification can be described in the general context of computer-executable instructions, such as program modules, that are executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0173] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.

[0174] The above description is merely one or more embodiments of this specification and is not intended to limit this specification. Various modifications and variations can be made to the one or more embodiments of this specification by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of one or more embodiments of this specification should be included within the scope of the claims of one or more embodiments of this specification.

Claims

1. A community clustering method based on privacy protection, applied to the client, including: Collecting community information of multiple target communities to be clustered; The community information includes at least one of community identification information, user identification information of a first user who speaks in the community, and a speaking time of the first user in the community; According to the community information, statistics are collected on user speech information of each target community within a plurality of designated unit time periods to obtain a user speech information set corresponding to each target community and including a plurality of user speech information, wherein the user speech information includes the number of times the user spoke; Desensitizing the user speech information in the user speech information set corresponding to each of the target communities to obtain desensitized information sets corresponding to each of the target communities; The desensitized information set includes desensitized information corresponding to each user's speech information; Sending the desensitized information sets corresponding to the target communities to the network side; The network side is used to determine the distance between each of the target communities according to the desensitized information set; and cluster each of the target communities according to the distance.

2. According to the method of claim 1, the desensitizing the user speech information in the user speech information set corresponding to each of the target communities to obtain the desensitized information set corresponding to each of the target communities comprises: Determine the target noise information corresponding to each of the designated unit time periods according to the preset correspondence between each unit time period and the noise information; The target noise information corresponding to each of the designated unit time periods is used to desensitize the user speech information in each of the user speech information sets and corresponding to each of the designated unit time periods, so as to obtain desensitized information sets corresponding to each of the target communities.

3. The method according to claim 2, wherein the noise information comprises an offset; The method of using the target noise information corresponding to each of the designated unit time periods to desensitize the user speech information in each of the user speech information sets and corresponding to each of the designated unit time periods to obtain desensitized information sets corresponding to each of the target communities includes: Determine a mapping relationship between the number of times each user speaks and the target offsets according to the designated unit time period corresponding to the number of times each user speaks and the target offsets corresponding to the designated unit time period; According to the mapping relationship, the number of times each user speaks is offset according to the corresponding target offset to obtain the desensitized information corresponding to the number of times each user speaks; the offset processing includes increasing or decreasing; According to the desensitized information corresponding to the number of speeches of each user, the desensitized information sets corresponding to each target community are determined.

4. The method according to claim 3, before collecting community information of multiple target communities to be clustered, further comprising: Calculate the offset corresponding to each unit time period according to the time information corresponding to each unit time period; The offset corresponding to each unit time period is stored locally on the client; When a change in the time information is monitored, the offset corresponding to each of the unit time periods is recalculated according to the changed time information, and the offset corresponding to each of the unit time periods locally stored in the client is updated.

5. A community clustering method based on privacy protection, applied on the network side, comprising: Receiving a first desensitized information set corresponding to a plurality of target communities to be clustered sent by a client; The first desensitized information set includes first desensitized information corresponding to user speech information of the target community within multiple specified unit time periods, and the user speech information includes the number of user speeches; Calculating a first distance between each of the target communities according to the first desensitized information sets respectively corresponding to each of the target communities; The target communities are clustered according to the first distances between the target communities.

6. The method according to claim 5, after receiving the first desensitized information set corresponding to the plurality of target communities to be clustered sent by the client, further comprising: If the first amount of the first desensitized information included in the first desensitized information set is greater than a preset threshold, performing dimensionality reduction processing on the first desensitized information set to obtain a second desensitized information set; The second desensitized information set includes a second number of second desensitized information; The second number is less than or equal to the preset threshold; The calculating the first distance between the target communities according to the first desensitized information sets respectively corresponding to the target communities includes: The first distance between the target communities is calculated according to the second desensitized information sets respectively corresponding to the target communities.

7. According to the method of claim 6, the step of performing dimensionality reduction processing on the first desensitized information set to obtain a second desensitized information set comprises: Calculating a quotient of the first number and the preset threshold, and determining a dimensionality reduction ratio for performing dimensionality reduction processing on the first desensitized information set according to the quotient; According to the dimensionality reduction ratio, each of the first desensitized information in the first desensitized information set is segmented to obtain a segmented desensitized information subset; Determine, according to each of the first desensitized information contained in each of the desensitized information subsets, average information corresponding to each of the desensitized information subsets; The average information corresponding to each of the desensitized information subsets is combined to obtain the second desensitized information set.

8. The method according to claim 5, after receiving the first desensitized information set corresponding to the plurality of target communities to be clustered sent by the client, further comprising: According to a preset sampling method, a third number of the target communities are selected from the plurality of the target communities as the first communities to be clustered; The third number is greater than or equal to the number of cluster groups to be clustered; calculating the first distance between the target communities according to the first desensitized information sets respectively corresponding to the target communities; Clustering the target communities according to the first distances between the target communities includes: Calculating the first distance between the first communities according to the first desensitized information sets respectively corresponding to the first communities; And, clustering the first communities according to the first distances between the first communities.

9. According to the method of claim 8, the first desensitized information is obtained by performing an offset process on the number of times the user spoke according to a corresponding offset; the offset process includes increasing or decreasing; The calculating the first distance between the first communities according to the first desensitized information sets respectively corresponding to the first communities includes: Calculating a second distance between every two of the first communities according to the plurality of first desensitized information corresponding to the first communities; Determine, according to the second distance between every two of the first communities, a K distance corresponding to each of the first communities; the value of K is negatively correlated with the number of the cluster groups; For any of the first communities, a community whose distance to the first community is less than or equal to the K distance corresponding to the first community is clustered into the same cluster group as the first community.

10. The method according to claim 8, after clustering the first communities according to the first distances between the first communities, further comprising: For a second community group other than the first community group in the target community, calculating a third distance between the second community group and each of the first communities; Determine a minimum distance value among the third distances, and cluster the second community into a cluster group where the first community corresponding to the minimum distance value is located.

11. A community clustering device based on privacy protection, applied to a client, comprising: A collection module collects community information of multiple target communities to be clustered; The community information includes at least one of community identification information, user identification information of a first user who speaks in the community, and a speaking time of the first user in the community; A statistics module, based on the community information, counts the user speech information of each target community within a plurality of specified unit time periods, and obtains a user speech information set corresponding to each target community and including a plurality of user speech information, wherein the user speech information includes the number of user speeches; A desensitization module performs desensitization processing on the user speech information in the user speech information set corresponding to each target community, so as to obtain a desensitized information set corresponding to each target community; The desensitized information set includes desensitized information corresponding to each user's speech information; A sending module, sending the desensitized information sets corresponding to each of the target communities to the network side; The network side is used to determine the distance between each of the target communities according to the desensitized information set; and cluster each of the target communities according to the distance.

12. The device according to claim 11, wherein the desensitization module comprises: A first determining unit, which determines the target noise information corresponding to each of the designated unit time periods according to a preset correspondence relationship between each unit time period and the noise information; The desensitizing unit uses the target noise information corresponding to each of the designated unit time periods to desensitize the user speech information in each of the user speech information sets corresponding to each of the designated unit time periods, so as to obtain desensitized information sets corresponding to each of the target communities.

13. The apparatus according to claim 12, wherein the noise information comprises an offset; The desensitizing unit determines the mapping relationship between the number of speeches of each user and the target offset according to the designated unit time period corresponding to the number of speeches of each user and the target offset corresponding to each designated unit time period; according to the mapping relationship, performs offset processing on the number of speeches of each user according to the corresponding target offset to obtain the desensitized information corresponding to the number of speeches of each user; the offset processing includes increasing or decreasing; and according to the desensitized information corresponding to the number of speeches of each user, determines the desensitized information sets corresponding to each target community.

14. A community clustering device based on privacy protection, applied to the network side, comprising: A receiving module receives a first desensitized information set corresponding to a plurality of target communities to be clustered sent by a client; The first desensitized information set includes first desensitized information corresponding to user speech information of the target community within multiple specified unit time periods, and the user speech information includes the number of user speeches; A calculation module, calculating a first distance between each of the target communities according to the first desensitized information sets respectively corresponding to each of the target communities; The clustering module clusters the target communities according to the first distances between the target communities.

15. The apparatus according to claim 14, further comprising: A dimension reduction module, after receiving a first desensitized information set corresponding to a plurality of target communities to be clustered sent by a client, if a first amount of the first desensitized information included in the first desensitized information set is greater than a preset threshold, performs dimension reduction processing on the first desensitized information set to obtain a second desensitized information set; The second desensitized information set includes a second number of second desensitized information; The second number is less than or equal to the preset threshold; The calculation module comprises: The first calculation unit calculates the first distance between each of the target communities according to the second desensitized information sets respectively corresponding to each of the target communities.

16. The apparatus according to claim 14, further comprising: A screening module, after receiving the first desensitized information set corresponding to the plurality of target communities to be clustered sent by the client, screens out a third number of the target communities from the plurality of target communities according to a preset sampling method as the first community to be clustered; The third number is greater than or equal to the number of cluster groups to be clustered; The calculation module comprises: A second calculation unit, calculating the first distance between each of the first communities according to the first desensitized information sets respectively corresponding to each of the first communities; The clustering module comprises: The first clustering unit clusters the first communities according to the first distances between the first communities.

17. The device according to claim 16, wherein the first desensitized information is obtained by performing an offset process on the number of times the user spoke according to a corresponding offset; the offset process includes increasing or decreasing; The second calculation unit calculates a second distance between every two of the first communities according to the plurality of first desensitized information corresponding to the first communities; According to the second distance between every two of the first communities, the K distance corresponding to each of the first communities is determined; the value of K is negatively correlated with the number of the clustering groups; for any of the first communities, a community whose distance with the first community is less than or equal to the K distance corresponding to the first community is clustered into the same clustering group as the first community.

18. The apparatus according to claim 16, wherein the clustering module further comprises: a third calculating unit, which, after clustering the first communities according to the first distances between the first communities, calculates, for a second community other than the first community in the target community, a third distance between the second community and each of the first communities; The second clustering unit determines a minimum distance value among the third distances, and clusters the second community into a cluster group where the first community corresponding to the minimum distance value is located.

19. A community clustering device based on privacy protection, comprising a processor and a memory electrically connected to the processor, the memory storing a computer program, and the processor being used to call and execute the computer program from the memory to implement the community clustering method based on privacy protection as described in any one of claims 1 to 4, or to implement the community clustering method based on privacy protection as described in any one of claims 5 to 10.

20. A storage medium for storing a computer program, wherein the computer program can be executed by a processor to implement the community clustering method based on privacy protection as described in any one of claims 1 to 4, or to implement the community clustering method based on privacy protection as described in any one of claims 5 to 10.

Citation Information

Patent Citations

  • Automatic classification method and device for user communities

    CN106202391A

  • Object information acquisition method and device and electronic equipment

    CN110727761A

  • Content recommendation method and computer readable storage medium

    CN111552883A