A video recommendation system and method based on flow batch unified community discovery

CN117648490BActive Publication Date: 2026-10-27FUZHOU UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311681455.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-08
Publication Date
2026-10-27
Estimated Expiration
2043-12-08

AI Technical Summary

Technical Problem

但是这一任务并不容易,因为用户的兴趣非常多样化且不断变化,而且用户之间存在复杂而微妙的社交关系

Benefits of technology

[0048]与现有技术相比,本发明具有以下有益效果:本发明能够在流批统一的基础上,兼顾实时性和准确性,考虑社交因素的影响,更有针对性的提供准确实时的视频推荐。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117648490B_ABST
    Figure CN117648490B_ABST
Patent Text Reader

Abstract

The application provides a video recommendation system and method based on flow batch unified community discovery, the system comprises a graph data compression storage module, a model initialization module, a node preprocessing module, a community structure updating module and a video recommendation module; when the system performs video recommendation, community division is performed on the basis of flow batch unification, the influence of a social network is considered, and real-time performance and accuracy are balanced to improve the accuracy of video recommendation; on the basis of the influence of flow batch unified community on user video preferences, the influence of the social network is considered, and more accurate, real-time and efficient video recommendation is provided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of community discovery technology, and in particular to a video recommendation system and method based on unified community discovery in batch processing. Background Technology

[0002] With the ever-expanding volume of internet video content, users face a vast array of content choices in their daily lives. Traditional video recommendation systems analyze users' viewing history and preferences to provide suggestions, striving to guide users to video content they might be interested in. However, this task is not easy because users' interests are highly diverse and constantly changing, and complex and subtle social relationships exist among users. Traditional systems often struggle to fully capture these diverse interests and complex social relationships. Users may exhibit drastically different interests at different times and in different contexts, and these interests may be related to interactions with their friends, family, and colleagues. Furthermore, when users exhibit new viewing behaviors, a balance often needs to be struck between real-time performance and accuracy. Summary of the Invention

[0003] This invention proposes a video recommendation system and method based on the discovery of a unified community of streams and batches. It considers the influence of social networks on users' video preferences in addition to the influence of the unified community of streams and batches, and provides more accurate, real-time and efficient video recommendations.

[0004] The present invention adopts the following technical solution.

[0005] A video recommendation system based on unified stream-batch community discovery is disclosed. The system includes a graph data compression and storage module, a model initialization module, a node preprocessing module, a community structure update module, and a video recommendation module. When performing video recommendation, the system performs community division based on unified stream-batch discovery, considers the influence of social networks, and balances real-time performance and accuracy to improve the accuracy of video recommendations.

[0006] The graph data compression and storage module uses Bitmap Containers to store nodes and byte encoding rules to compactly store the data of the community's node neighbor set. These two components are merged into an adjacency list, optimizing the storage space and access efficiency of the graph data. This module includes two core parts, such as... Figure 1 As shown:

[0007] The first core part of the graph data compression and storage module is used to store the entire node set, using a bit sequence method;

[0008] In a bit sequence, the bit corresponding to each node is set to 1, and the position of this 1 in the bit sequence corresponds to the node's ID; for example, node 3 would have its third bit in the bit sequence set to 1. Compared to traditional integer or data structures for storing node sets, bitmap representation is generally more compact because it only requires one binary bit to represent the presence or absence of each node. This can significantly save memory space, especially when the number of nodes is very large.

[0009] The second core part of the graph data compression and storage module is used to store the neighbor set of each node, represented by a ByteArray;

[0010] Neighbor nodes are stored in bytes according to the order they are added to the set; if the binary representation of a neighbor node exceeds one byte, then two bytes are used, and so on. To correctly read the neighbor set of a node, this module creates a Length FlagArray for each Byte Array to store the number of bytes occupied by the binary representation of each neighbor node; 00, 01, 10, and 11 are used to represent 1 to 4 bytes respectively. When reading the neighbor set of a node, simply read the corresponding Length FlagArray first to know exactly how many bytes need to be read from the Byte Array to reconstruct the binary representation of each neighbor node. The specific operation is shown in Algorithm 1, where c represents Byte Array, l represents Length FlagArray, and 0xFF is a hexadecimal representation used for bitwise operations to convert x into bytes for storage.

[0011] The model initialization module is used to initialize the model from a large amount of input edge set data based on the first batch of data, and divide the edge flow according to the time window. In batch processing mode, the first time window contains the entire static dataset, and the state is directly output by initializing the data in the first window. In stream processing mode, the initial state of the data in the first window is generated first, and then output to the downstream operator.

[0012] The node preprocessing module is used to initialize the community of newly arrived nodes in streaming data. During this process, the community ID is updated according to the node status. Specifically, the new node adopts the ID of the existing node to avoid isolated communities, while the ID of the existing node remains unchanged to ensure the connectivity and rationality of the community.

[0013] The community structure update module is used to recalculate the membership degree of nodes based on preprocessing, and iteratively update the node's own label according to the label of neighboring nodes until the minimum number of nodes in each community remains unchanged for two consecutive iterations or the maximum number of iterations is reached, so as to divide nodes with the same label into the same community.

[0014] The advertising recommendation module provides personalized video recommendation services to users belonging to the same community based on the community segmentation results obtained above.

[0015] A video recommendation method based on stream-batch unified community detection, employing a video recommendation system based on stream-batch unified community detection, includes the following steps;

[0016] Step S1: When defining video storage nodes, use Bitmap Container to store the nodes and use byte encoding rules to compactly store the data of the node neighbor set;

[0017] Step S2: Determine the size of the first time window according to the processing mode of community iteration, initialize the label of each node, calculate the membership degree of each node, and iteratively update the label of the node according to the label of the neighboring node until the minimum number of nodes in each community remains unchanged for two consecutive iterations or the maximum number of iterations is reached. At this time, nodes with the same label are divided into the same community to form the initial community.

[0018] Step S3: For the edges that arrive successively, update the community ID according to the node situation: new nodes use the IDs of existing nodes to avoid forming isolated communities, while the IDs of existing nodes remain unchanged;

[0019] Step S4: Recalculate the membership degree of the node and iteratively update the node's own label based on the labels of neighboring nodes until the minimum number of nodes in each community remains unchanged for two consecutive iterations or the maximum number of iterations is reached. Then, nodes with the same label are divided into the same community.

[0020] Step S5: Assuming that users belonging to the same community have more similar interests and viewing preferences, based on the community discovery results obtained in the above steps, push more targeted videos to user nodes in different communities to achieve more accurate video push.

[0021] Step S2 specifically involves:

[0022] Step S21: Determine whether the processing mode is batch processing or stream processing. For batch processing mode, the first window is set to be large enough to hold all the data; for stream processing mode, the first window is set to be small enough to hold a portion of the data, and initialization is performed at the end of the time window.

[0023] Step S22: Define S as the state of the model, where the storage content of each data item includes node id, node neighbor N(id), community number cID, and S(i) represents the state of the i-th node; initialize the state B of a BCM structure, increment the current total number of edges by one for each edge e(i,j) of the window; encode nodes i and j using Algorithm 1 and add them to their respective neighbor sets;

[0024] Step S23: Label each vertex x with a set of pairs (c,b), where c is a community identifier and b is a membership coefficient representing the strength of x’s membership in community c, such that the sum of all membership coefficients of x is 1; the function b(t,x) is calculated as shown in Formula 1.

[0025]

[0026] Where N(x) represents the set of neighbors of x, b t-1 (c, y) represents the information of the neighbors in round t-1 of iteration;

[0027] Step S24: Each node initializes its own label as (i, 1), where i is its own node ID and 1 is the community membership degree;

[0028] Step S25: Define a Map set k, where the key is the community ID of the neighbor node and the value is the number of times it is used to count the distribution of neighbors; add the community ID of each neighbor to it, and increment the corresponding value by one for each duplicate ID, and then sort them in descending order of value;

[0029] Step S26: Update the label information of each node according to Formula 1, and delete pairs with a community membership degree less than 1 / v, where v represents the maximum number of communities that any vertex can belong to; after deleting pairs from vertex labels, renormalize each remaining pair by multiplying its membership coefficient by a constant so that the sum is 1.

[0030] If the attribution coefficients of all pairs in the vertex label are less than the threshold, then only the pair with the largest attribution coefficient is retained and all other pairs are deleted; if multiple pairs have the same largest attribution coefficient, then if the coefficients are below the threshold, one of them is randomly selected and retained.

[0031] Step S27: Stop when the maximum number of iterations is reached or the minimum number of nodes in each community no longer changes, i.e., m t =m t-1 Calculate the following formula; otherwise, repeat step S26; finally, obtain the community division result {C1, C2, ... C}. m}, which is the initial community; where C i ≠C ji≠j and

[0032]

[0033]

[0034] Step S3 specifically involves:

[0035] Step S31: Based on the initial community, handle each subsequent edge e(i, j) in different cases; the cases are as follows:

[0036] Scenario 1: Nodes i and j are both new nodes. To avoid creating an isolated community, the community ID is updated to the ID of node i; cID i =i,cID j =i;

[0037] Scenario 2: If either node i or j is a new node, update the community ID of the new node to the community ID of an existing node; if j is a new node, then update the cID. j = S(i).cID, where cID is the new node. i =S(j).cID;

[0038] Scenario 3: Neither nodes i nor j are new nodes, so the community ID is not updated.

[0039] Step S32: Update the current total number of edges, then encode nodes i and j using the Algorithm 1 function and add them to their respective neighbor sets;

[0040] Step S33: Update the corresponding node in S with the previously obtained node community ID, S(i).cID = cID i S(j).cID = cID j .

[0041] Step S4 specifically involves:

[0042] Step S41: Recalculate the node's affiliation coefficient with neighboring node communities as in step S26, and update the node label. This process continues until the maximum number of iterations or m is reached. t =m t-1 Stop at this time;

[0043] Step S42: Group nodes with the same community tag into a group, ultimately obtaining the community partition {C1, C2, ... C}. n}

[0044] Step S5 specifically involves:

[0045] Step S51: Based on the community discovery results above {C1, C2, ... C n Collect videos previously watched by each user in the same community and form a video collection M;

[0046] Step S52: Count the viewing frequency of each video in the video set M, and sort the videos from high to low frequency to obtain an ordered set T;

[0047] Step S53: Recommend the top k videos in the ordered set T to users in the same community. The parameter k can be adjusted according to the actual situation to achieve better delivery results.

[0048] Compared with the prior art, the present invention has the following beneficial effects: the present invention can provide more targeted, accurate and real-time video recommendations while taking into account the influence of social factors, based on the unified batch and stream processing. Attached Figure Description

[0049] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments:

[0050] Appendix Figure 1 This is a schematic diagram of the image data compression and storage module;

[0051] Appendix Figure 2 This is a flowchart illustrating an embodiment of the present invention;

[0052] Appendix Figure 3 This is a diagram illustrating the pseudocode implementation of Algorithm l. Detailed Implementation

[0053] As shown in the figure, a video recommendation system based on unified stream-batch community discovery is described. The system includes a graph data compression and storage module, a model initialization module, a node preprocessing module, a community structure update module, and a video recommendation module. When performing video recommendations, the system performs community division based on unified stream-batch discovery, considers the influence of social networks, and balances real-time performance and accuracy to improve the accuracy of video recommendations.

[0054] The graph data compression and storage module uses Bitmap Containers to store nodes and byte encoding rules to compactly store the data of the community's node neighbor set. These two components are merged into an adjacency list, optimizing the storage space and access efficiency of the graph data. This module includes two core parts, such as... Figure 1 As shown:

[0055] The first core part of the graph data compression and storage module is used to store the entire node set, using a bit sequence method;

[0056] In a bit sequence, the bit corresponding to each node is set to 1, and the position of this 1 in the bit sequence corresponds to the node's ID; for example, node 3 would have its third bit in the bit sequence set to 1. Compared to traditional integer or data structures for storing node sets, bitmap representation is generally more compact because it only requires one binary bit to represent the presence or absence of each node. This can significantly save memory space, especially when the number of nodes is very large.

[0057] The second core part of the graph data compression and storage module is used to store the neighbor set of each node, represented by a ByteArray;

[0058] Neighbor nodes are stored in bytes according to the order they are added to the set; if the binary representation of a neighbor node exceeds one byte, then two bytes are used, and so on. To correctly read the neighbor set of a node, this module creates a Length FlagArray for each Byte Array to store the number of bytes occupied by the binary representation of each neighbor node; 00, 01, 10, and 11 are used to represent 1 to 4 bytes respectively. When reading the neighbor set of a node, simply read the corresponding Length FlagArray first to know exactly how many bytes need to be read from the Byte Array to reconstruct the binary representation of each neighbor node. The specific operation is shown in Algorithm 1, where c represents Byte Array, l represents Length FlagArray, and 0xFF is a hexadecimal representation used for bitwise operations to convert x into bytes for storage.

[0059] The model initialization module is used to initialize the model from a large amount of input edge set data based on the first batch of data, and divide the edge flow according to the time window. In batch processing mode, the first time window contains the entire static dataset, and the state is directly output by initializing the data in the first window. In stream processing mode, the initial state of the data in the first window is generated first, and then output to the downstream operator.

[0060] The node preprocessing module is used to initialize the community of newly arrived nodes in streaming data. During this process, the community ID is updated according to the node status. Specifically, the new node adopts the ID of the existing node to avoid isolated communities, while the ID of the existing node remains unchanged to ensure the connectivity and rationality of the community.

[0061] The community structure update module is used to recalculate the membership degree of nodes based on preprocessing, and iteratively update the node's own label according to the label of neighboring nodes until the minimum number of nodes in each community remains unchanged for two consecutive iterations or the maximum number of iterations is reached, so as to divide nodes with the same label into the same community.

[0062] The advertising recommendation module provides personalized video recommendation services to users belonging to the same community based on the community segmentation results obtained above.

[0063] A video recommendation method based on stream-batch unified community detection, employing a video recommendation system based on stream-batch unified community detection, includes the following steps;

[0064] Step S1: When defining video storage nodes, use Bitmap Container to store the nodes and use byte encoding rules to compactly store the data of the node neighbor set;

[0065] Step S2: Determine the size of the first time window according to the processing mode of community iteration, initialize the label of each node, calculate the membership degree of each node, and iteratively update the label of the node according to the label of the neighboring node until the minimum number of nodes in each community remains unchanged for two consecutive iterations or the maximum number of iterations is reached. At this time, nodes with the same label are divided into the same community to form the initial community.

[0066] Step S3: For the edges that arrive successively, update the community ID according to the node situation: new nodes use the IDs of existing nodes to avoid forming isolated communities, while the IDs of existing nodes remain unchanged;

[0067] Step S4: Recalculate the membership degree of the node and iteratively update the node's own label based on the labels of neighboring nodes until the minimum number of nodes in each community remains unchanged for two consecutive iterations or the maximum number of iterations is reached. Then, nodes with the same label are divided into the same community.

[0068] Step S5: Assuming that users belonging to the same community have more similar interests and viewing preferences, based on the community discovery results obtained in the above steps, push more targeted videos to user nodes in different communities to achieve more accurate video push.

[0069] Step S2 specifically involves:

[0070] Step S21: Determine whether the processing mode is batch processing or stream processing. For batch processing mode, the first window is set to be large enough to hold all the data; for stream processing mode, the first window is set to be small enough to hold a portion of the data, and initialization is performed at the end of the time window.

[0071] Step S22: Define S as the state of the model, where the storage content of each data item includes node id, node neighbor N(id), community number cID, and S(i) represents the state of the i-th node; initialize the state B of a BCM structure, increment the current total number of edges by one for each edge e(i,j) of the window; encode nodes i and j using Algorithm 1 and add them to their respective neighbor sets;

[0072] Step S23: Label each vertex x with a set of pairs (c,b), where c is a community identifier and b is a membership coefficient representing the strength of x’s membership in community c, such that the sum of all membership coefficients of x is 1; the function b(t,x) is calculated as shown in Formula 1.

[0073]

[0074] Where N(x) represents the set of neighbors of x, b t-1 (c, y) represents the information of the neighbors in round t-1 of iteration;

[0075] Step S24: Each node initializes its own label as (i, 1), where i is its own node ID and 1 is the community membership degree;

[0076] Step S25: Define a Map set k, where the key is the community ID of the neighbor node and the value is the number of times it is used to count the distribution of neighbors; add the community ID of each neighbor to it, and increment the corresponding value by one for each duplicate ID, and then sort them in descending order of value;

[0077] Step S26: Update the label information of each node according to Formula 1, and delete pairs with a community membership degree less than 1 / v, where v represents the maximum number of communities that any vertex can belong to; after deleting pairs from vertex labels, renormalize each remaining pair by multiplying its membership coefficient by a constant so that the sum is 1.

[0078] If the attribution coefficients of all pairs in the vertex label are less than the threshold, then only the pair with the largest attribution coefficient is retained and all other pairs are deleted; if multiple pairs have the same largest attribution coefficient, then if the coefficients are below the threshold, one of them is randomly selected and retained.

[0079] Step S27: Stop when the maximum number of iterations is reached or the minimum number of nodes in each community no longer changes, i.e., m t =m t-1 Calculate the following formula; otherwise, repeat step S26; finally, obtain the community division result {C1, C2, ... C}. m}, which is the initial community; where C i ≠C ji≠j and

[0080]

[0081]

[0082] Step S3 specifically involves:

[0083] Step S31: Based on the initial community, handle each subsequent edge e(i, j) in different cases; the cases are as follows:

[0084] Scenario 1: Nodes i and j are both new nodes. To avoid creating an isolated community, the community ID is updated to the ID of node i; cID i =i,cID j =i;

[0085] Scenario 2: If either node i or j is a new node, update the community ID of the new node to the community ID of an existing node; if j is a new node, then update the cID. j = S(i).cID, where cID is the new node. i =S(j).cID;

[0086] Scenario 3: Neither nodes i nor j are new nodes, so the community ID is not updated.

[0087] Step S32: Update the current total number of edges, then encode nodes i and j using the Algorithm 1 function and add them to their respective neighbor sets;

[0088] Step S33: Update the corresponding node in S with the previously obtained node community ID, S(i).cID = cID i S(j).cID = cID j .

[0089] Step S4 specifically involves:

[0090] Step S41: Recalculate the node's affiliation coefficient with neighboring node communities as in step S26, and update the node label. This process continues until the maximum number of iterations or m is reached. t =m t-1 Stop at this time;

[0091] Step S42: Group nodes with the same community tag into a group, ultimately obtaining the community partition {C1, C2, ... C}. n}

[0092] Step S5 specifically involves:

[0093] Step S51: Based on the community discovery results above {C1, C2, ... C n Collect videos previously watched by each user in the same community and form a video collection M;

[0094] Step S52: Count the viewing frequency of each video in the video set M, and sort the videos from high to low frequency to obtain an ordered set T;

[0095] Step S53: Recommend the top k videos in the ordered set T to users in the same community. The parameter k can be adjusted according to the actual situation to achieve better delivery results.

Claims

1. A video recommendation system based on unified community discovery in batch processing, characterized in that: The system includes a graph data compression and storage module, a model initialization module, a node preprocessing module, a community structure update module, and a video recommendation module; The graph data compression and storage module uses a Bitmap Container to store nodes and employs byte encoding rules to compactly store the data of the community's node neighbor set, merging the components into an adjacency list. The module comprises two core parts: the first core part stores all node sets using a Bit Sequence method; in the Bit Sequence, the bit corresponding to each node is set to 1, and the position of 1 in the Bit Sequence corresponds to the node's ID; the second core part stores the neighbor set of each node, represented using a Byte Array; neighbor nodes are stored in bytes according to the order they were added to the set; if the binary representation of a neighbor node exceeds one byte, then two bytes are used, and so on; to correctly read the node's neighbor set, the graph data compression and storage module creates a Length FlagArray for each Byte Array to store the number of bytes occupied by the binary representation of each neighbor node; 00, 01, 10, and 11 are used to represent 1 to 4 bytes respectively; when reading the node's neighbor set, the corresponding Length FlagArray is read to determine how many bytes need to be read from the Byte Array to reconstruct the binary representation of each neighbor node. The model initialization module is used to initialize the model from a large amount of input edge set data based on the first batch of data, and divide the edge flow according to the time window. In batch processing mode, the first time window contains the entire static dataset, and the state is directly output by initializing the data in the first window. In stream processing mode, the initial state of the data in the first window is generated first, and then output to the downstream operator. The node preprocessing module is used to initialize the community of newly arrived nodes in streaming data and update the community ID according to the node situation. Specifically, the new node adopts the ID of an existing node, while the ID of an existing node remains unchanged. The community structure update module is used to recalculate the membership degree of nodes based on preprocessing, and iteratively update the node's own label according to the label of neighboring nodes until the minimum number of nodes in each community remains unchanged for two consecutive iterations or the maximum number of iterations is reached, so as to divide nodes with the same label into the same community. The video recommendation module provides personalized video recommendation services to users belonging to the same community based on the community division results.

2. A video recommendation method based on unified community discovery in batch processing, characterized in that: The video recommendation system based on unified community discovery in stream-batch processing, as described in claim 1, is employed. Includes the following steps; Step S1: When defining video storage nodes, use Bitmap Container to store the nodes and use byte encoding rules to compactly store the data of the node neighbor set; Step S2: Determine the size of the first time window according to the processing mode of community iteration, initialize the label of each node, calculate the membership degree of each node, and iteratively update the label of the node according to the label of the neighboring node until the minimum number of nodes in each community remains unchanged for two consecutive iterations or the maximum number of iterations is reached. At this time, nodes with the same label are divided into the same community to form the initial community. Step S3: For the edges that arrive successively, update the community ID according to the node situation: new nodes use the IDs of existing nodes to avoid forming isolated communities, while the IDs of existing nodes remain unchanged; Step S4: Recalculate the membership degree of the node and iteratively update the node's own label according to the labels of neighboring nodes until the minimum number of nodes in each community remains unchanged for two consecutive iterations or the maximum number of iterations is reached. Then, nodes with the same label are divided into the same community. Step S5: Assuming that users belonging to the same community have more similar interests and viewing preferences, based on the community discovery results obtained in the above steps, push more targeted videos to user nodes in different communities to achieve more accurate video push.

3. The video recommendation method based on unified community discovery in batch processing according to claim 2, characterized in that: Step S2 specifically involves: Step S21: Determine whether the processing mode is batch processing or stream processing. For batch processing mode, the first window is set to hold all data; for stream processing mode, the first window is set to hold a portion of the data, and initialization is performed at the end of the time window. Step S22: Define S as the state of the model, where the storage content of each data item includes node id, node neighbor N(id), community number cID, and S(i) represents the state of the i-th node; Initialize a state B of a BCM structure. For each edge e(i,j) of the window, increment the current total number of edges by one. Encode nodes i and j using Algorithm 1 and add them to their respective neighbor sets. Step S23: Label each vertex x with a pair (c, b), where c is a community identifier and b is a membership coefficient representing the strength of x's membership in community c, such that the sum of all membership coefficients of x is 1; the function b(t, x) is calculated as shown in Formula 1: (1) Where N(x) represents the set of neighbors of x. It contains information about the neighbors in round t-1 iterations; Step S24: Each node initializes its own label as (i,1), where i is its own node ID and 1 is its community membership degree; Step S25: Define a Map set k, where the key is the community ID of the neighbor node and the value is the number of times it is used to count the distribution of neighbors; add the community ID of each neighbor to it, and increment the corresponding value by one for each duplicate ID, and then sort them in descending order of value; Step S26: Update the label information of each node according to formula (1), delete pairs with community membership less than 1 / v, where v represents the maximum number of communities that any vertex can belong to; after deleting pairs from vertex labels, renormalize the remaining pairs by multiplying the membership coefficient of each remaining pair by a constant so that the sum of all membership coefficients of x is 1. If the attribution coefficients of all pairs in the vertex label are less than the threshold, then only the pair with the largest attribution coefficient is retained and all other pairs are deleted; if multiple pairs have the same largest attribution coefficient, then if the coefficients are below the threshold, one of them is randomly selected and retained. Step S27: Stop when the maximum number of iterations is reached or the minimum number of nodes in each community no longer changes; otherwise, repeat step S26; finally, the community division result is obtained. That is, the initial community.

4. The video recommendation method based on unified community discovery in batch processing according to claim 3, characterized in that: Step S3 specifically involves: Step S31: Based on the initial community, handle each subsequent edge e(i,j) in different cases: Scenario 1: Nodes i and j are both new nodes. To avoid the eventual emergence of an isolated community, the community ID is updated to the ID of node i. , ; Case 2: If either node i or j is a new node, then update the community ID of the new node to the community ID of the existing node. If j is a new node, then If i is a new node, then ; Scenario 3: Nodes i and j are not new nodes, so the community ID is not updated; Step S32: Update the current total number of edges, then encode nodes i and j using the Algorithm 1 function and add them to their respective neighbor sets; Step S33: Update the node community ID obtained earlier to the corresponding node in S, represented as: , .

5. The video recommendation method based on unified community discovery in batch processing according to claim 4, characterized in that: Step S4 specifically involves: Step S41: Recalculate the node's affiliation coefficient with neighboring node communities as in step S26, and update the node label. This process continues until the maximum number of iterations is reached. Stop at this time; Step S42: Group nodes with the same community tag together to obtain the final community division. .

6. The video recommendation method based on unified community discovery in batch processing according to claim 5, characterized in that: Step S5 specifically involves: Step S51: Based on the above community division Collect videos that each user in the same community has previously watched and create a video collection. ; Step S52: Statistical analysis of the video set The viewing frequency of each video is recorded, and the videos are sorted from highest to lowest frequency to obtain an ordered set. ; Step S53: Order the set The front of the middle The video was recommended to users in the same community, among whom... Adjust the parameters according to the actual situation to achieve better delivery results.

Citation Information

Patent Citations

  • Evaluating system and method for community influence in social network

    CN103678669A

  • Community structure division method based on social network node double-label propagation algorithm

    CN110956553A