A method, device, medium and computer device for video recommendation
By identifying the set of related and unrelated videos for a target live stream on a live streaming platform, and calculating the association factor and weight, the problem of inaccurate video recommendations caused by the lack of historical video data is solved, thus achieving accurate video recommendations.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- WUHAN DOUYU NETWORK TECHNOLOGY CO LTD
- Filing Date
- 2021-07-12
- Publication Date
- 2026-07-03
Smart Images

Figure CN115599949B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of live streaming technology, and in particular to a method, apparatus, medium, and computer equipment for video recommendation. Background Technology
[0002] On live streaming platforms, video is another content format besides live streaming itself; videos and live streams are two different types of content presentation. Due to the unique nature of live streaming platforms, most users are there to watch the streamers broadcast, while videos serve to extend the viewing time. Therefore, video recommendations need to accurately capture users' interests to increase the time users spend on the live streaming platform.
[0003] Traditional methods for solving this problem involve mining user interests and preferences based on their video viewing behavior, and then recommending similar videos based on those preferences. However, many users on live streaming platforms may not have a long viewing history (e.g., a month), making it impossible to obtain sufficient historical video data. In such cases, it's impossible to mine user preferences, and therefore, the accuracy of video recommendations cannot be effectively guaranteed. Summary of the Invention
[0004] To address the problems existing in the prior art, embodiments of the present invention provide a method, apparatus, and medium computer device for video recommendation, which solves the technical problem in the prior art where the accuracy and precision of recommended videos cannot be guaranteed due to the lack of historical video data support when recommending videos to users on live streaming platforms.
[0005] A first aspect of the present invention provides a method for video recommendation, the method comprising:
[0006] Determine the associated and unassociated video sets of the target live stream; the target live stream is a historical live stream viewed by the user.
[0007] For any given video, determine the correlation factor between the video and the target live stream room;
[0008] The priority of the video is determined based on the correlation factors and the weight of the target live stream room;
[0009] Based on the priority, recommend corresponding videos to the user.
[0010] Optionally, determining the set of associated videos and the set of unassociated videos for the target live stream includes:
[0011] Based on the current time when the user is watching the target live stream, determine the video-related time period and the non-video-related time period;
[0012] Obtain the first video watched by the user within the video-related time period and the second video watched by the user within the non-video-related time period;
[0013] The associated video set is determined based on the first video, and the unassociated video set is determined based on the second video.
[0014] Optionally, determining the correlation factor between the video and the target live stream includes:
[0015] According to the formula Determine the correlation factor s(r,v) between the video and the target live stream; where,
[0016] r is the target live stream room, v is the video, and v r Let v be the attribute vector of the target live streaming room. t V is the attribute vector of the video. C For the associated video set, the V U For the set of unrelated videos, the |V C | represents the number of videos in the associated video set, and |V U | represents the number of videos in the unrelated video set, s1 represents any video in the related video set, s2 represents any video in the unrelated video set, and v represents... s1 The attribute vector corresponding to video s1, the v s2 For video s2, the attribute vector I(v∈V) is... C ) is an indicator function.
[0017] Optionally, the method also includes:
[0018] The target category, the target owner account, and the target content tags of the target object are obtained respectively; the target object includes: the target live broadcast room and the video.
[0019] The target partition category, the target owner account, and the target content tag are encoded to form a corresponding attribute sub-vector;
[0020] The corresponding attribute sub-vectors are concatenated to form the attribute vector of the video and the attribute vector of the target live streaming room, respectively.
[0021] Optionally, the step of encoding the target partition category, the target owner account, and the target content tag to form a corresponding attribute sub-vector includes:
[0022] Determine the first vector corresponding to the partition category, set the value corresponding to the target partition category to the first identifier value in the first vector, and set the value corresponding to the remaining partition categories to the second identifier value to form the attribute sub-vector corresponding to the target partition category;
[0023] Determine the second vector corresponding to the owner account, set the value corresponding to the target owner account to the first identifier value in the second vector, and set the value corresponding to the remaining owners to the second identifier value to form the attribute sub-vector corresponding to the target owner account;
[0024] A third vector corresponding to the content tag is determined. The value corresponding to the target content tag is set to the first identifier value in the third vector, and the values corresponding to the remaining content tags are set to the second identifier value, thus forming an attribute sub-vector corresponding to the target content tag.
[0025] Optionally, determining the video priority based on the correlation factor and the weight of the target live stream includes:
[0026] Based on formula Determine the priority score p(u,v) of the video;
[0027] The priority of the video is determined based on the priority score; wherein,
[0028] Where r is the target live stream room, v is the video, and R u The set of live streams watched by the user, where u is the user, w(u,r) is the weight of the target live stream, and s(r,v) is the correlation factor between the video and the target live stream.
[0029] A second invention provides a video recommendation device, the device comprising:
[0030] The first determining unit is used to determine the set of associated videos and the set of unassociated videos of the target live stream room; the target live stream room is a historical live stream room watched by the user.
[0031] The second determining unit is used to determine the correlation factor between any video and the target live streaming room.
[0032] The third determining unit is used to determine the priority of the video based on the correlation factor and the weight of the target live room;
[0033] The recommendation unit is used to recommend corresponding videos to the user based on the priority.
[0034] Optionally, the first determining unit is specifically used for:
[0035] Based on the current time when the user is watching the target live stream, determine the video-related time period and the non-video-related time period;
[0036] Obtain the first video watched by the user within the video-related time period and the second video watched by the user within the non-video-related time period;
[0037] The associated video set is determined based on the first video, and the unassociated video set is determined based on the second video.
[0038] A third aspect of the present invention provides a storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in any one of the first aspects.
[0039] A fourth aspect of the present invention provides a computer device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the method described in any one of the first aspects.
[0040] This invention provides a method, apparatus, medium, and computer device for video recommendation. The method includes: determining a set of associated videos and a set of unassociated videos for a target live stream; the target live stream being a user's historical live stream viewing history; for any video, determining a correlation factor between the video and the target live stream; determining the priority of the video based on the correlation factor and the weight of the target live stream; and recommending corresponding videos to the user based on the priority. Thus, even if a user does not have sufficient historical video data on the live streaming platform, the correlation factor between the video and the historical live stream can be determined by migrating the user's historical live stream viewing information to the video context, and then recommending videos to the user based on the weight of the historical live stream and the correlation factor. The correlation factor and weight can highlight the user's viewing interests, thereby ensuring the accuracy and precision of video recommendations. Attached Figure Description
[0041] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the invention. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:
[0042] Figure 1 This is a schematic diagram of the video recommendation method provided in an embodiment of the present invention;
[0043] Figure 2 This is a schematic diagram of the video recommendation device provided in an embodiment of the present invention;
[0044] Figure 3A schematic diagram of the computer device structure for video recommendation provided in an embodiment of the present invention;
[0045] Figure 4 This is a schematic diagram of a computer storage medium structure for video recommendations provided in an embodiment of the present invention. Detailed Implementation
[0046] To address the technical problem in existing technologies where the accuracy and precision of video recommendations on live streaming platforms cannot be guaranteed due to the lack of historical video data, this invention provides a method, apparatus, medium, and computer equipment for video recommendation.
[0047] To better understand the above technical solutions, the technical solutions of the embodiments of this specification will be described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the embodiments of this specification and the specific features in the embodiments are detailed descriptions of the technical solutions of the embodiments of this specification, rather than limitations on the technical solutions of this specification. Unless otherwise specified, the embodiments of this specification and the technical features in the embodiments can be combined with each other.
[0048] This embodiment provides a video recommendation method, such as... Figure 1 As shown, the method includes:
[0049] S110, determine the associated video set and the unassociated video set of the target live stream; the target live stream is a historical live stream watched by the user.
[0050] If a user doesn't regularly watch videos on a live streaming platform, there won't be enough historical video data available. Recommending videos based on historical data would compromise accuracy. Therefore, this embodiment combines live stream information with the video context to recommend videos to the user.
[0051] In this embodiment, the associated video set and the non-associated video set of the target live room are determined; the target live room is the historical live room watched by the user.
[0052] Specifically, determine the set of related and unrelated videos for the target live stream, including:
[0053] Based on the current time when the user is watching the target live stream, determine the video-related time period and the non-video-related time period; the current time may include the start time and the end time of watching.
[0054] Get the first video watched by the user within the video-related time period and the second video watched by the user within the non-video-related time period;
[0055] The first video determines the set of related videos, and the second video determines the set of unrelated videos.
[0056] For example, for any target live stream, obtain the start time and end time of the target live stream, determine the first preset time period before the start time, and the second preset time period after the end time; the first preset time period and the second preset time period are video-related time periods; the remaining time periods are non-video-related time periods.
[0057] If a user watches the first video within a first preset time period and a second preset time period, the first video within the first preset time period and the second preset time period are determined as a set of associated videos; the set of associated videos includes at least one first video.
[0058] The second video within the remaining time period is identified as a set of unrelated videos, which includes at least one second video.
[0059] The first and second preset time periods are 10 to 30 minutes.
[0060] It's worth noting that the associated video collection primarily stores the uploader's account, video ID, and content tags for the first video. The unassociated video collection primarily stores the uploader's account, video ID, and content tags for the second video.
[0061] In this step, by determining the set of associated and unassociated videos for the target live stream, the information of the live stream in the live streaming scene is essentially transferred to the video scene. This combines the video and the live stream, laying the foundation for subsequent recommendation algorithms and improving the accuracy of video recommendations.
[0062] S111, For any given video, determine the correlation factor between the video and the target live stream;
[0063] To ensure recommendation accuracy, this step requires determining the affiliation between any given video and the target live stream, i.e., determining the correlation factor between the video and the target live stream.
[0064] Before determining the correlation factors between the video and the target live stream, it is also necessary to determine the attribute vector of the target objects, which include the video and the target live stream. Specifically, determining the attribute vector of the target objects includes:
[0065] Retrieve the target category of the target object, the target owner account, and the target content tags;
[0066] Encode the target partition category, target owner account, and target content tags to form corresponding attribute sub-vectors;
[0067] The corresponding attribute sub-vectors are concatenated to form the attribute vectors of the video and the target live stream, respectively.
[0068] For example, if the target is a video, such as a baking video, then the target category for the video should be food, the target owner account should be the uploader's ID, and the target content tag should be baking.
[0069] If the target is a live stream room, and if the target live stream room is a game live stream room (League of Legends), then the category of the live stream room should be the game section, the target owner account should be the streamer ID, and the target content tag should be League of Legends.
[0070] Furthermore, based on the target partition category, target owner account, and target content tags, corresponding attribute sub-vectors are generated, including:
[0071] Determine the first vector corresponding to the partition category, set the value corresponding to the target partition category in the first vector to the first identifier value, and set the value corresponding to the remaining partition categories to the second identifier value, thus forming the attribute sub-vector corresponding to the target partition category;
[0072] Determine the second vector corresponding to the owner account, set the value corresponding to the target owner account to the first identifier value in the second vector, and set the value corresponding to the remaining owners to the second identifier value to form the attribute sub-vector corresponding to the target owner account;
[0073] Determine the third vector corresponding to the content tag. In the third vector, set the value corresponding to the target content tag to the first identifier value and set the value corresponding to the remaining content tags to the second identifier value to form the attribute sub-vector corresponding to the target content tag.
[0074] Taking a video as the target object as an example, suppose there are 5 categories: games, food, fitness, hair, and beauty. Then the first vector can be (a1, a2, ..., a5). If the target category is games, the value of a1 can be set to the first identifier value (the first identifier value is 1), and the remaining categories can be set to the second identifier value (the second identifier value is 0). The attribute sub-vector corresponding to the target category can be (1, 0, 0, 0, 0).
[0075] Assuming there are 10,000 owners on the live streaming platform, the second vector is (b1, b2, ..., bb). 10000 If the value corresponding to the target owner account is b1, then the value of b1 can be set to 1, and the values corresponding to the remaining owner accounts can be set to 0. The attribute vector corresponding to the target owner account is (1, 0...0, 0, 0).
[0076] Assuming there are 10 types of content tags, then the third vector is (c1, c2, ..., c...). 10 If the value corresponding to the target content tag is c2, then the value of c2 can be set to 1, and the values corresponding to the remaining content tags can be set to 0. The attribute sub-vector corresponding to the target content tag is (0, 1, 0, 0, 0, 0, 0, 0, 0).
[0077] Then, the three attribute sub-vectors are concatenated to form the attribute vector corresponding to the video. The attribute vector is then a 10015-dimensional vector, with the values at the 1st, 6th, and 10007th positions being 1, and the values at the remaining positions being 0.
[0078] The method for determining the attribute vector corresponding to the target live stream is exactly the same as the method for determining the attribute vector corresponding to the video mentioned above, so it will not be repeated here.
[0079] After determining the attribute vectors corresponding to the target live stream and the video, the association factor between the video and the target live stream is determined. This association factor includes:
[0080] According to the formula Determine the correlation factor s(r,v) between the video and the target live stream; where,
[0081] r represents the target live stream room, v represents the video, and v r Let v be the attribute vector of the target live stream room. t V is the attribute vector of the video. C For a set of related videos, V U For a collection of unrelated videos, |V C |V represents the number of videos in the associated video set. U | represents the number of videos in the non-associative video set, s1 represents any video in the associated video set, s2 represents any video in the non-associative video set, and v represents the number of videos in the non-associative video set. s1 v is the attribute vector corresponding to video s1. s2 Let I be the attribute vector corresponding to video s2, where I(v∈V) C ) is an indicator function used to indicate the value of I; when v belongs to V C When v belongs to V, the value of I is 1. U At that time, the value of I is 0.
[0082] The principle behind the above formula is that it consists of two parts, the first part (v r ,v tThe dot product (r) represents the attribute vectors of the target livestream room (r) and the video (v), indicating the correlation between the livestream room and the video in terms of attributes. Clearly, the more attributes the target livestream room and the video share, the larger the dot product and the higher the correlation score.
[0083] The second part is the correlation difference between the target live stream r and the video, which represents the behavioral distinguishability of the target live stream from the video. The greater the distinguishability, the more reasonable it is to associate the target live stream and the video v, and thus the higher the association score. The formula divides it into two cases. When the video v is behaviorally related to the target live stream, the first average dot product between the attribute vector of the target live stream r and the attribute vector of the associated video is calculated, as well as the second average dot product between the attribute vector of the target live stream r and the attribute vector of the non-associated video. The difference between the first and second average dot products represents the correlation difference between the target live stream and the video.
[0084] Here, an exponential function is used to describe the non-linear relationship; therefore, the greater the difference in correlation, the greater the improvement in the affiliation score. Adding 1 to this result ensures the success of the second part. The value is greater than 1; when the video is not behaviorally associated with the target live stream, the correlation difference will not be calculated, and the value of the second part is 1.
[0085] This step determines the correlation factor between the video and the target live stream to establish a linking score. Based on the historical live streams viewed by the user, the data from the live stream scenario is migrated to the video scenario. This avoids over-reliance on the user's historical video viewing data and ultimately ensures the accuracy of video recommendations.
[0086] S112, determine the priority of the video based on the correlation factor and the weight of the target live room;
[0087] Once the correlation factors are determined, the priority of the video is determined based on the correlation factors and the weight of the target live stream.
[0088] In this embodiment, the priority of a video is determined based on the correlation factor and the weight of the target live stream, including:
[0089] Based on formula Determine the priority score p(u,v) for the video.
[0090] The priority of a video is determined based on its priority score; among which,
[0091] r represents the target live stream room, v represents the video, and R u Let w(u,r) be the set of live streams watched by user u, w(u,r) be the weight of the target live stream, and s(r,v) be the correlation factor between the video and the target live stream.
[0092] Here, the weight of the target live room is the percentage of time user u spends watching the target live room r; specifically, it is the ratio between the time user u spends watching the target live room r and the total time user u spends watching all live rooms.
[0093] For example, suppose v r v v =2; the first average dot product of associated videos is 0.7, and the second average dot product of unassociated videos is 0.1, therefore:
[0094] s(r,v)=2*(1+e 0.7-0.1 ) = 5.644
[0095] Assume the user's historical target live streams are r1 and r2.
[0096] w(u,r1)=0.4
[0097] s(r1,v)=2.33
[0098] w(u,r2)=0.6
[0099] s(r2,v)=1.75
[0100] then:
[0101] p(u,v)=0.4*2.33+0.6*1.75=1.98
[0102] This determines the priority score for video r.
[0103] The principle behind the above formula is that the greater the percentage of time a user spends watching the target live stream, the higher their level of interest in it. Therefore, videos related to the target live stream will receive a higher priority score. The final priority score for a video to be recommended is the sum of the weighted scores of all target live streams and each video to be recommended.
[0104] This step determines the priority score of a video by using correlation factors and the weight of the target live stream, taking into full account user interests (the greater the time a user spends watching the target live stream, the greater their interest in it). Videos in the correlation video set will have higher priority scores because they have higher correlation scores with the target live stream, thus ensuring the accuracy of video recommendations.
[0105] S113, Recommend corresponding videos to the user based on the priority.
[0106] Once the priority of each video is determined, the corresponding video is recommended to the user based on the priority; during the recommendation process, videos with higher priority ratings will be recommended first.
[0107] In this step, videos with higher priority will be recommended first. Since higher priority videos are more closely related to the user's interests, they will better match the user's viewing intentions and ensure the accuracy of video recommendations.
[0108] The video recommendation method provided in this embodiment can determine the correlation factors between videos and historical live streams even if users do not have sufficient historical video data on the live streaming platform. This can be achieved by migrating the information of the historical live streams watched by the user to the video scene, and then recommending videos to users based on the weights of the historical live streams and the correlation factors. The correlation factors and weights can highlight the user's viewing interests, without over-reliance on historical video data, and can also ensure the accuracy and precision of video recommendations.
[0109] Based on the same inventive concept as the foregoing embodiments, this embodiment provides a video recommendation device, such as... Figure 2 As shown, the device includes:
[0110] The first determining unit 21 is used to determine the associated video set and the unassociated video set of the target live room; the target live room is a historical live room watched by the user.
[0111] The second determining unit 22 is used to determine the correlation factor between the video and the target live broadcast room for any given video;
[0112] The third determining unit 23 is used to determine the priority of the video based on the correlation factor and the weight of the target live room;
[0113] Recommendation unit 24 is used to recommend corresponding videos to the user based on the priority.
[0114] Specifically, if a user doesn't regularly watch videos on a live streaming platform, there won't be enough historical video data available. Recommending videos based on historical data would compromise accuracy. Therefore, this embodiment combines live stream information with the video context to recommend videos to the user.
[0115] In this embodiment, the first determining unit 21 determines the associated video set and the unassociated video set of the target live room; the target live room is the historical live room watched by the user.
[0116] Specifically, the first determining unit 21 determines the set of associated videos and the set of unassociated videos for the target live stream, including:
[0117] Based on the current time when the user is watching the target live stream, determine the video-related time period and the non-video-related time period; the current time may include the start time and the end time of watching.
[0118] Get the first video watched by the user within the video-related time period and the second video watched by the user within the non-video-related time period;
[0119] The first video determines the set of related videos, and the second video determines the set of unrelated videos.
[0120] For example, for any target live stream, obtain the start time and end time of the target live stream, determine the first preset time period before the start time, and the second preset time period after the end time; the first preset time period and the second preset time period are video-related time periods; the remaining time periods are non-video-related time periods.
[0121] If a user watches the first video within a first preset time period and a second preset time period, the first video within the first preset time period and the second preset time period are determined as a set of associated videos; the set of associated videos includes at least one first video.
[0122] The second video within the remaining time period is identified as a set of unrelated videos, which includes at least one second video.
[0123] The first and second preset time periods are 10 to 30 minutes.
[0124] It's worth noting that the associated video collection primarily stores the uploader's account, video ID, and content tags for the first video. The unassociated video collection primarily stores the uploader's account, video ID, and content tags for the second video.
[0125] By identifying the associated and unassociated video sets of the target live stream, the information of the live stream in the live streaming scene is essentially transferred to the video scene. This combines the video and the live stream, laying the foundation for subsequent recommendation algorithms and improving the accuracy of video recommendations.
[0126] To ensure recommendation accuracy, this step requires determining the affiliation between any given video and the target live stream, i.e., determining the correlation factor between the video and the target live stream.
[0127] Before determining the correlation factor between the video and the target live stream, the second determining unit 22 also needs to determine the attribute vector of the target object, which includes: the video and the target live stream; specifically, determining the attribute vector of the target object includes:
[0128] Retrieve the target category of the target object, the target owner account, and the target content tags;
[0129] Encode the target partition category, target owner account, and target content tags to form corresponding attribute sub-vectors;
[0130] The corresponding attribute sub-vectors are concatenated to form the attribute vectors of the video and the target live stream, respectively.
[0131] For example, if the target is a video, such as a baking video, then the target category for the video should be food, the target owner account should be the uploader's ID, and the target content tag should be baking.
[0132] If the target is a live stream room, and if the target live stream room is a game live stream room (League of Legends), then the category of the live stream room should be the game section, the target owner account should be the streamer ID, and the target content tag should be League of Legends.
[0133] Furthermore, the second determining unit 22 encodes the target partition category, target owner account, and target content tags to form corresponding attribute sub-vectors, including:
[0134] Determine the first vector corresponding to the partition category, set the value corresponding to the target partition category in the first vector to the first identifier value, and set the value corresponding to the remaining partition categories to the second identifier value, thus forming the attribute sub-vector corresponding to the target partition category;
[0135] Determine the second vector corresponding to the owner account, set the value corresponding to the target owner account to the first identifier value in the second vector, and set the value corresponding to the remaining owners to the second identifier value to form the attribute sub-vector corresponding to the target owner account;
[0136] Determine the third vector corresponding to the content tag. In the third vector, set the value corresponding to the target content tag to the first identifier value and set the value corresponding to the remaining content tags to the second identifier value to form the attribute sub-vector corresponding to the target content tag.
[0137] Taking a video as the target object as an example, suppose there are 5 categories: games, food, fitness, hair, and beauty. Then the first vector can be (a1, a2, ..., a5). If the target category is games, the value of a1 can be set to the first identifier value (the first identifier value is 1), and the remaining categories can be set to the second identifier value (the second identifier value is 0). The attribute sub-vector corresponding to the target category can be (1, 0, 0, 0, 0).
[0138] Assuming there are 10,000 owners on the live streaming platform, the second vector is (b1, b2, ..., bb). 10000 If the value corresponding to the target owner account is b1, then the value of b1 can be set to 1, and the values corresponding to the remaining owner accounts can be set to 0. The attribute vector corresponding to the target owner account is (1, 0...0, 0, 0).
[0139] Assuming there are 10 types of content tags, then the third vector is (c1, c2, ..., c...). 10 If the value corresponding to the target content tag is c2, then the value of c2 can be set to 1, and the values corresponding to the remaining content tags can be set to 0. The attribute sub-vector corresponding to the target content tag is (0, 1, 0, 0, 0, 0, 0, 0, 0).
[0140] Then, the three attribute sub-vectors are concatenated to form the attribute vector corresponding to the video. The attribute vector is then a 10015-dimensional vector, with the values at the 1st, 6th, and 10007th positions being 1, and the values at the remaining positions being 0.
[0141] The method for determining the attribute vector corresponding to the target live stream is exactly the same as the method for determining the attribute vector corresponding to the video mentioned above, so it will not be repeated here.
[0142] After determining the attribute vectors corresponding to the target live stream room and the video, the association factor between the video and the target live stream room is determined. Specifically, the second determining unit 22 determines the association factor between the video and the target live stream room, including:
[0143] According to the formula Determine the correlation factor s(r,v) between the video and the target live stream; where,
[0144] r represents the target live stream room, v represents the video, and v r Let v be the attribute vector of the target live stream room. t V is the attribute vector of the video. C For a set of related videos, V U For a collection of unrelated videos, |V C |V represents the number of videos in the associated video set. U | represents the number of videos in the non-associative video set, s1 represents any video in the associated video set, s2 represents any video in the non-associative video set, and v represents the number of videos in the non-associative video set. s1 v is the attribute vector corresponding to video s1. s2 Let I be the attribute vector corresponding to video s2, where I(v∈V) C ) is an indicator function used to indicate the value of I; when v belongs to V C When v belongs to V, the value of I is 1. U At that time, the value of I is 0.
[0145] The principle behind the above formula is that it consists of two parts, the first part (v r ,v tThe dot product (r) represents the attribute vectors of the target livestream room (r) and the video (v), indicating the correlation between the livestream room and the video in terms of attributes. Clearly, the more attributes the target livestream room and the video share, the larger the dot product and the higher the correlation score.
[0146] The second part is the correlation difference between the target live stream r and the video, which represents the behavioral distinguishability of the target live stream from the video. The greater the distinguishability, the more reasonable it is to associate the target live stream and the video v, and thus the higher the association score. The formula divides it into two cases. When the video v is behaviorally related to the target live stream, the first average dot product between the attribute vector of the target live stream r and the attribute vector of the associated video is calculated, as well as the second average dot product between the attribute vector of the target live stream r and the attribute vector of the non-associated video. The difference between the first and second average dot products represents the correlation difference between the target live stream and the video.
[0147] Here, an exponential function is used to describe the non-linear relationship; therefore, the greater the difference in correlation, the greater the improvement in the affiliation score. Adding 1 to this result ensures the success of the second part. The value is greater than 1; when the video is not behaviorally associated with the target live stream, the correlation difference will not be calculated, and the value of the second part is 1.
[0148] This embodiment determines the correlation factor between the video and the target live stream to establish the affiliation score between them. Based on the historical live streams viewed by the user, the data from the live stream scene is migrated to the video scene. This avoids excessive reliance on the historical video data viewed by the user and ultimately ensures the accuracy of video recommendations.
[0149] After the correlation factors are determined, the third determination unit 23 determines the priority of the video based on the correlation factors and the weight of the target live room.
[0150] In this embodiment, the third determining unit 23 determines the priority of the video based on the correlation factor and the weight of the target live broadcast room, including:
[0151] Based on formula Determine the priority score p(u,v) for the video.
[0152] The priority of a video is determined based on its priority score; among which,
[0153] r represents the target live stream room, v represents the video, and R u Let w(u,r) be the set of live streams watched by user u, w(u,r) be the weight of the target live stream, and s(r,v) be the correlation factor between the video and the target live stream.
[0154] Here, the weight of the target live room is the percentage of time user u spends watching the target live room r; specifically, it is the ratio between the time user u spends watching the target live room r and the total time user u spends watching all live rooms.
[0155] For example, suppose v r v v =2; the first average dot product of associated videos is 0.7, and the second average dot product of unassociated videos is 0.1, therefore:
[0156] s(r,v)=2*(1+e 0.7-0.1 ) = 5.644
[0157] Assume the user's historical target live streams are r1 and r2.
[0158] w(u,r1)=0.4
[0159] s(r1,v)=2.33
[0160] w(u,r2)=0.6
[0161] s(r2,v)=1.75
[0162] then:
[0163] p(u,v)=0.4*2.33+0.6*1.75=1.98
[0164] This determines the priority score for video r.
[0165] The principle behind the above formula is that the greater the percentage of time a user spends watching the target live stream, the higher their level of interest in it. Therefore, videos related to the target live stream will receive a higher priority score. The final priority score for a video to be recommended is the sum of the weighted scores of all target live streams and each video to be recommended.
[0166] This step determines the priority score of a video by using correlation factors and the weight of the target live stream, taking into full account user interests (the greater the time a user spends watching the target live stream, the greater their interest in it). Videos in the correlation video set will have higher priority scores because they have higher correlation scores with the target live stream, thus ensuring the accuracy of video recommendations.
[0167] Once the priority of each video is determined, the recommendation unit 24 recommends the corresponding video to the user based on the priority; during the recommendation process, videos with higher priority ratings will be recommended first.
[0168] In this embodiment, videos with higher priority will be recommended first. Since videos with higher priority are more closely related to the user's interests, they will better match the user's viewing intentions and ensure the accuracy of video recommendations.
[0169] The video recommendation device provided in this embodiment can determine the correlation factors between videos and historical live streams even if the user does not have enough historical video data on the live streaming platform. It can also recommend videos to the user based on the weights of historical live streams and correlation factors. The correlation factors and weights can highlight the user's viewing interests without over-relying on historical video data, and can also ensure the accuracy and precision of video recommendations.
[0170] Based on the same inventive concept as the foregoing embodiments, this embodiment provides a computer device 300, such as... Figure 3 As shown, the system includes a memory 310, a processor 320, and a computer program 311 stored in the memory 310 and executable on the processor 320. When the processor 320 executes the computer program 311, it performs the following steps:
[0171] Determine the associated and unassociated video sets of the target live stream; the target live stream is a historical live stream viewed by the user.
[0172] For any given video, determine the correlation factor between the video and the target live stream room;
[0173] The priority of the video is determined based on the correlation factors and the weight of the target live stream room;
[0174] Based on the priority, recommend corresponding videos to the user.
[0175] In specific implementation, when the processor 420 executes the computer program 411, it can implement any of the aforementioned embodiments.
[0176] Since the computer device described in this embodiment is used to implement a video recommendation method according to an embodiment of this application, those skilled in the art can understand the specific implementation method and various variations of the computer device in this embodiment based on the method described in Embodiment 1 of this application. Therefore, how the server implements the method in this embodiment will not be described in detail here. Any device used by those skilled in the art to implement the method in this embodiment falls within the scope of protection of this application.
[0177] Based on the same inventive concept, this embodiment provides a computer-readable storage medium 400, such as... Figure 4 As shown, a computer program 411 is stored thereon, which, when executed by a processor, performs the following steps:
[0178] Determine the associated and unassociated video sets of the target live stream; the target live stream is a historical live stream viewed by the user.
[0179] For any given video, determine the correlation factor between the video and the target live stream room;
[0180] The priority of the video is determined based on the correlation factors and the weight of the target live stream room;
[0181] Based on the priority, recommend corresponding videos to the user.
[0182] In practice, when the computer program 411 is executed by the processor, it can implement any of the aforementioned embodiments.
[0183] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied 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.
[0184] This application is described 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... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0185] 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.
[0186] 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.
[0187] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.
[0188] The above description is merely a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A method for video recommendation, characterized in that, The method includes: Determine the associated and unassociated video sets of the target live stream; the target live stream is a historical live stream viewed by the user. For any given video, determine the correlation factor between the video and the target live stream room; The priority of the video is determined based on the correlation factors and the weight of the target live stream room; Based on the priority, recommend corresponding videos to the user; The determination of the associated video set and the unassociated video set of the target live stream includes: Based on the current time when the user is watching the target live stream, determine the video-related time period and the non-video-related time period; Obtain the first video watched by the user within the video-related time period and the second video watched by the user within the non-video-related time period; The associated video set is determined based on the first video, and the unassociated video set is determined based on the second video; The step of determining the correlation factor between the video and the target live stream includes: According to the formula determining an association factor between the video and the target live room ; wherein, The r For the target live streaming room, the v For the video, the The attribute vector of the target live streaming room, the The attribute vector of the video, the For the associated video set, the For the set of unrelated videos, the The number of videos in the associated video set, the The number of videos in the unrelated video set, the s1 For any video in the associated video set, the s2 For any video in the set of unrelated videos, the For video s1 The corresponding attribute vector, the For video s2 The corresponding attribute vector, the This is an indicator function.
2. The method as described in claim 1, characterized in that, The method also includes: The target category, the target owner account, and the target content tags of the target object are obtained respectively; the target object includes: the target live broadcast room and the video. The target partition category, the target owner account, and the target content tag are encoded to form a corresponding attribute sub-vector; The corresponding attribute sub-vectors are concatenated to form the attribute vector of the video and the attribute vector of the target live streaming room, respectively.
3. The method as described in claim 2, characterized in that, The step of encoding the target partition category, the target owner account, and the target content tag to form a corresponding attribute sub-vector includes: Determine the first vector corresponding to the partition category, set the value corresponding to the target partition category to the first identifier value in the first vector, and set the value corresponding to the remaining partition categories to the second identifier value to form the attribute sub-vector corresponding to the target partition category; Determine the second vector corresponding to the owner account, set the value corresponding to the target owner account to the first identifier value in the second vector, and set the value corresponding to the remaining owners to the second identifier value to form the attribute sub-vector corresponding to the target owner account; A third vector corresponding to the content tag is determined. The value corresponding to the target content tag is set to the first identifier value in the third vector, and the values corresponding to the remaining content tags are set to the second identifier value, thus forming an attribute sub-vector corresponding to the target content tag.
4. The method as described in claim 1, characterized in that, Determining the priority of the video based on the correlation factor and the weight of the target live stream includes: Based on formula Determine the priority score of the video. ; The priority of the video is determined based on the priority score; wherein, The r For the target live streaming room, the v For the video, the The collection of live streams watched by the user, the u For the user, the The weight of the target live stream room, the This is the correlation factor between the video and the target live stream room.
5. A storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method described in any one of claims 1 to 4.
6. A computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the method according to any one of claims 1 to 4.